diff --git a/backend/gen/go/protos/mgmt/v1alpha1/anonymization.pb.go b/backend/gen/go/protos/mgmt/v1alpha1/anonymization.pb.go index 399b9e22e4..5c377ea156 100644 --- a/backend/gen/go/protos/mgmt/v1alpha1/anonymization.pb.go +++ b/backend/gen/go/protos/mgmt/v1alpha1/anonymization.pb.go @@ -219,11 +219,11 @@ type DefaultTransformersConfig struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Boolean + // Any identified boolean value will be transformed using this configuration if no mapping is found. Boolean *TransformerConfig `protobuf:"bytes,2,opt,name=boolean,proto3" json:"boolean,omitempty"` - // Number + // Any identified number value will be transformed using this configuration if no mapping is found. N *TransformerConfig `protobuf:"bytes,3,opt,name=n,proto3" json:"n,omitempty"` - // String + // Any identified string value will be transformed using this configuration if no mapping is found. S *TransformerConfig `protobuf:"bytes,4,opt,name=s,proto3" json:"s,omitempty"` } diff --git a/backend/gen/go/protos/mgmt/v1alpha1/api_key.pb.go b/backend/gen/go/protos/mgmt/v1alpha1/api_key.pb.go index e7f0cc0b9b..eec1770174 100644 --- a/backend/gen/go/protos/mgmt/v1alpha1/api_key.pb.go +++ b/backend/gen/go/protos/mgmt/v1alpha1/api_key.pb.go @@ -27,8 +27,10 @@ type CreateAccountApiKeyRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The unique identifier of the account to create the API key for. AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + // The friendly name of the API key + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // Validate between now and one year: now < x < 365 days ExpiresAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"` } @@ -89,6 +91,7 @@ type CreateAccountApiKeyResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The created API key ApiKey *AccountApiKey `protobuf:"bytes,1,opt,name=api_key,json=apiKey,proto3" json:"api_key,omitempty"` } @@ -134,17 +137,24 @@ type AccountApiKey struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The unique identifier of the API key Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // The friendly name of the API Key - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - AccountId string `protobuf:"bytes,3,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` - CreatedById string `protobuf:"bytes,4,opt,name=created_by_id,json=createdById,proto3" json:"created_by_id,omitempty"` - CreatedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` - UpdatedById string `protobuf:"bytes,6,opt,name=updated_by_id,json=updatedById,proto3" json:"updated_by_id,omitempty"` - UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + // The unique identifier of the account that the API key belongs to + AccountId string `protobuf:"bytes,3,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + // The unique identifier of the user that created the API key + CreatedById string `protobuf:"bytes,4,opt,name=created_by_id,json=createdById,proto3" json:"created_by_id,omitempty"` + // The timestamp of when the API key was created + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + // The unique identifier of the user that last updated the API key + UpdatedById string `protobuf:"bytes,6,opt,name=updated_by_id,json=updatedById,proto3" json:"updated_by_id,omitempty"` + // The timestamp of when the API key was last updated + UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` // key_value is only returned on initial creation or when it is regenerated KeyValue *string `protobuf:"bytes,8,opt,name=key_value,json=keyValue,proto3,oneof" json:"key_value,omitempty"` - UserId string `protobuf:"bytes,9,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + // The unique identifier of the user that the API key belongs to (Each API Key is associated with its own user record to identify what the API key does in the system) + UserId string `protobuf:"bytes,9,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` // The timestamp of what the API key expires and will not longer be usable. ExpiresAt *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"` } @@ -254,6 +264,7 @@ type GetAccountApiKeysRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The unique identifier of the account to get the API keys for. AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` } @@ -299,6 +310,7 @@ type GetAccountApiKeysResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The list of API keys for the account. ApiKeys []*AccountApiKey `protobuf:"bytes,1,rep,name=api_keys,json=apiKeys,proto3" json:"api_keys,omitempty"` } @@ -344,6 +356,7 @@ type GetAccountApiKeyRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The unique identifier of the API key to get. Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` } @@ -389,6 +402,7 @@ type GetAccountApiKeyResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The API key that was retrieved. ApiKey *AccountApiKey `protobuf:"bytes,1,opt,name=api_key,json=apiKey,proto3" json:"api_key,omitempty"` } @@ -434,6 +448,7 @@ type RegenerateAccountApiKeyRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The unique identifier of the API key to regenerate. Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // Validate between now and one year: now < x < 365 days ExpiresAt *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"` @@ -488,6 +503,7 @@ type RegenerateAccountApiKeyResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The regenerated API key ApiKey *AccountApiKey `protobuf:"bytes,1,opt,name=api_key,json=apiKey,proto3" json:"api_key,omitempty"` } @@ -533,6 +549,7 @@ type DeleteAccountApiKeyRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The unique identifier of the API key to delete. Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` } @@ -699,56 +716,57 @@ var file_mgmt_v1alpha1_api_key_proto_rawDesc = []byte{ 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x02, 0x69, 0x64, 0x22, 0x1d, 0x0a, 0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, - 0x70, 0x69, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xbc, 0x04, + 0x70, 0x69, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xc2, 0x04, 0x0a, 0x0d, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, - 0x68, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x70, 0x69, + 0x6b, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x27, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x65, 0x0a, 0x10, 0x47, 0x65, 0x74, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x12, 0x26, 0x2e, - 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, - 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x6e, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x12, 0x29, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x7a, 0x0a, 0x17, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x12, 0x2d, 0x2e, 0x6d, 0x67, - 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x70, 0x69, - 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x6d, 0x67, 0x6d, - 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x65, 0x6e, - 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x70, 0x69, 0x4b, - 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6e, 0x0a, 0x13, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x70, 0x69, - 0x4b, 0x65, 0x79, 0x12, 0x29, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, - 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x70, 0x69, 0x4b, - 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0xc7, 0x01, 0x0a, - 0x11, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x31, 0x42, 0x0b, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, - 0x01, 0x5a, 0x50, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6e, 0x75, - 0x63, 0x6c, 0x65, 0x75, 0x73, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x6e, 0x65, 0x6f, 0x73, 0x79, - 0x6e, 0x63, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x67, - 0x6f, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x6d, 0x67, 0x6d, 0x74, 0x2f, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x3b, 0x6d, 0x67, 0x6d, 0x74, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x4d, 0x58, 0x58, 0xaa, 0x02, 0x0d, 0x4d, 0x67, 0x6d, 0x74, - 0x2e, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xca, 0x02, 0x0d, 0x4d, 0x67, 0x6d, 0x74, - 0x5c, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xe2, 0x02, 0x19, 0x4d, 0x67, 0x6d, 0x74, - 0x5c, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0e, 0x4d, 0x67, 0x6d, 0x74, 0x3a, 0x3a, 0x56, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x68, 0x0a, 0x10, + 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, + 0x12, 0x26, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, + 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x70, 0x69, 0x4b, 0x65, + 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x6e, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x12, 0x29, 0x2e, + 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x70, 0x69, 0x4b, 0x65, + 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7a, 0x0a, 0x17, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x65, + 0x72, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x70, 0x69, 0x4b, 0x65, + 0x79, 0x12, 0x2d, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x31, 0x2e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2e, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, + 0x2e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x6e, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x12, 0x29, 0x2e, 0x6d, 0x67, 0x6d, 0x74, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x42, 0xc7, 0x01, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x42, 0x0b, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x50, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x6e, 0x75, 0x63, 0x6c, 0x65, 0x75, 0x73, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2f, 0x6e, 0x65, 0x6f, 0x73, 0x79, 0x6e, 0x63, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, + 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x67, 0x6f, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x6d, + 0x67, 0x6d, 0x74, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x3b, 0x6d, 0x67, 0x6d, + 0x74, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x4d, 0x58, 0x58, 0xaa, + 0x02, 0x0d, 0x4d, 0x67, 0x6d, 0x74, 0x2e, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xca, + 0x02, 0x0d, 0x4d, 0x67, 0x6d, 0x74, 0x5c, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xe2, + 0x02, 0x19, 0x4d, 0x67, 0x6d, 0x74, 0x5c, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x5c, + 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0e, 0x4d, 0x67, + 0x6d, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/backend/gen/go/protos/mgmt/v1alpha1/auth.pb.go b/backend/gen/go/protos/mgmt/v1alpha1/auth.pb.go index a4f6454dab..997b307b89 100644 --- a/backend/gen/go/protos/mgmt/v1alpha1/auth.pb.go +++ b/backend/gen/go/protos/mgmt/v1alpha1/auth.pb.go @@ -633,7 +633,7 @@ var file_mgmt_v1alpha1_auth_proto_rawDesc = []byte{ 0x65, 0x6e, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x13, 0x0a, 0x11, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x14, 0x0a, 0x12, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xc8, 0x03, 0x0a, 0x0b, 0x41, + 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xce, 0x03, 0x0a, 0x0b, 0x41, 0x75, 0x74, 0x68, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x4d, 0x0a, 0x08, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x43, 0x6c, 0x69, 0x12, 0x1e, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x43, 0x6c, 0x69, 0x52, @@ -650,32 +650,32 @@ var file_mgmt_v1alpha1_auth_proto_rawDesc = []byte{ 0x63, 0x6b, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x62, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, + 0x65, 0x22, 0x00, 0x12, 0x65, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x25, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x55, 0x72, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x55, 0x72, 0x6c, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5c, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x41, 0x75, - 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x23, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x68, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, - 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, - 0x74, 0x41, 0x75, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0xc5, 0x01, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x67, - 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x42, 0x09, 0x41, 0x75, 0x74, - 0x68, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x50, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6e, 0x75, 0x63, 0x6c, 0x65, 0x75, 0x73, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2f, 0x6e, 0x65, 0x6f, 0x73, 0x79, 0x6e, 0x63, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, - 0x64, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x67, 0x6f, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, - 0x6d, 0x67, 0x6d, 0x74, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x3b, 0x6d, 0x67, - 0x6d, 0x74, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x4d, 0x58, 0x58, - 0xaa, 0x02, 0x0d, 0x4d, 0x67, 0x6d, 0x74, 0x2e, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, - 0xca, 0x02, 0x0d, 0x4d, 0x67, 0x6d, 0x74, 0x5c, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, - 0xe2, 0x02, 0x19, 0x4d, 0x67, 0x6d, 0x74, 0x5c, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, - 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0e, 0x4d, - 0x67, 0x6d, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x5f, 0x0a, 0x0d, 0x47, 0x65, + 0x74, 0x41, 0x75, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x23, 0x2e, 0x6d, 0x67, + 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, + 0x75, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x24, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, + 0x2e, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x42, 0xc5, 0x01, 0x0a, 0x11, + 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x31, 0x42, 0x09, 0x41, 0x75, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x50, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6e, 0x75, 0x63, 0x6c, 0x65, + 0x75, 0x73, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x6e, 0x65, 0x6f, 0x73, 0x79, 0x6e, 0x63, 0x2f, + 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x67, 0x6f, 0x2f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x6d, 0x67, 0x6d, 0x74, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x31, 0x3b, 0x6d, 0x67, 0x6d, 0x74, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, + 0xa2, 0x02, 0x03, 0x4d, 0x58, 0x58, 0xaa, 0x02, 0x0d, 0x4d, 0x67, 0x6d, 0x74, 0x2e, 0x56, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xca, 0x02, 0x0d, 0x4d, 0x67, 0x6d, 0x74, 0x5c, 0x56, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xe2, 0x02, 0x19, 0x4d, 0x67, 0x6d, 0x74, 0x5c, 0x56, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0xea, 0x02, 0x0e, 0x4d, 0x67, 0x6d, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/backend/gen/go/protos/mgmt/v1alpha1/connection.pb.go b/backend/gen/go/protos/mgmt/v1alpha1/connection.pb.go index 06ff35c37a..c003ae79c7 100644 --- a/backend/gen/go/protos/mgmt/v1alpha1/connection.pb.go +++ b/backend/gen/go/protos/mgmt/v1alpha1/connection.pb.go @@ -27,6 +27,7 @@ type GetConnectionsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The unique identifier of the account to get connections for AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` } @@ -72,6 +73,7 @@ type GetConnectionsResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The connections Connections []*Connection `protobuf:"bytes,1,rep,name=connections,proto3" json:"connections,omitempty"` } @@ -117,6 +119,7 @@ type GetConnectionRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The unique identifier of the connection to get Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` } @@ -162,6 +165,7 @@ type GetConnectionResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The connection Connection *Connection `protobuf:"bytes,1,opt,name=connection,proto3" json:"connection,omitempty"` } @@ -207,9 +211,11 @@ type CreateConnectionRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The unique identifier of the account to create the connection for AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` // The friendly name of the connection - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + // The connection configuration to use for the connection ConnectionConfig *ConnectionConfig `protobuf:"bytes,3,opt,name=connection_config,json=connectionConfig,proto3" json:"connection_config,omitempty"` } @@ -269,6 +275,7 @@ type CreateConnectionResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The created connection Connection *Connection `protobuf:"bytes,1,opt,name=connection,proto3" json:"connection,omitempty"` } @@ -314,8 +321,11 @@ type UpdateConnectionRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + // The unique identifier of the connection to update + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // The friendly name of the connection + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + // The connection configuration to use for the connection ConnectionConfig *ConnectionConfig `protobuf:"bytes,3,opt,name=connection_config,json=connectionConfig,proto3" json:"connection_config,omitempty"` } @@ -375,6 +385,7 @@ type UpdateConnectionResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The updated connection Connection *Connection `protobuf:"bytes,1,opt,name=connection,proto3" json:"connection,omitempty"` } @@ -420,6 +431,7 @@ type DeleteConnectionRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The unique identifier of the connection to delete Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` } @@ -501,6 +513,7 @@ type CheckConnectionConfigRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The connection configuration to validate ConnectionConfig *ConnectionConfig `protobuf:"bytes,1,opt,name=connection_config,json=connectionConfig,proto3" json:"connection_config,omitempty"` } @@ -1095,8 +1108,9 @@ type MssqlConnectionConfig struct { // // *MssqlConnectionConfig_Url // *MssqlConnectionConfig_UrlFromEnv - ConnectionConfig isMssqlConnectionConfig_ConnectionConfig `protobuf_oneof:"connection_config"` - ConnectionOptions *SqlConnectionOptions `protobuf:"bytes,2,opt,name=connection_options,json=connectionOptions,proto3" json:"connection_options,omitempty"` + ConnectionConfig isMssqlConnectionConfig_ConnectionConfig `protobuf_oneof:"connection_config"` + // Provide connection options that can be used to further fine-tune the connection + ConnectionOptions *SqlConnectionOptions `protobuf:"bytes,2,opt,name=connection_options,json=connectionOptions,proto3" json:"connection_options,omitempty"` // Provide tunnel configuration that can be used to access a postgres connection that is not publicly accessible to the internet Tunnel *SSHTunnel `protobuf:"bytes,3,opt,name=tunnel,proto3" json:"tunnel,omitempty"` // Provide client-side TLS Certificates @@ -1355,7 +1369,7 @@ type OpenAiConnectionConfig struct { // OpenAI Api Key ApiKey string `protobuf:"bytes,1,opt,name=api_key,json=apiKey,proto3" json:"api_key,omitempty"` - // OpenAI URL + // OpenAI URL (if using a custom endpoint) ApiUrl string `protobuf:"bytes,2,opt,name=api_url,json=apiUrl,proto3" json:"api_url,omitempty"` } @@ -1464,7 +1478,8 @@ type PostgresConnectionConfig struct { // *PostgresConnectionConfig_UrlFromEnv ConnectionConfig isPostgresConnectionConfig_ConnectionConfig `protobuf_oneof:"connection_config"` // Provide tunnel configuration that can be used to access a postgres connection that is not publicly accessible to the internet - Tunnel *SSHTunnel `protobuf:"bytes,3,opt,name=tunnel,proto3" json:"tunnel,omitempty"` + Tunnel *SSHTunnel `protobuf:"bytes,3,opt,name=tunnel,proto3" json:"tunnel,omitempty"` + // Provide connection options that can be used to further fine-tune the connection ConnectionOptions *SqlConnectionOptions `protobuf:"bytes,4,opt,name=connection_options,json=connectionOptions,proto3" json:"connection_options,omitempty"` // Provide client-side TLS Certificates ClientTls *ClientTlsConfig `protobuf:"bytes,5,opt,name=client_tls,json=clientTls,proto3" json:"client_tls,omitempty"` @@ -1554,10 +1569,12 @@ type isPostgresConnectionConfig_ConnectionConfig interface { } type PostgresConnectionConfig_Url struct { + // A raw string url that will be used to construct the connection. Must be URI format. Url string `protobuf:"bytes,1,opt,name=url,proto3,oneof"` } type PostgresConnectionConfig_Connection struct { + // A structured representation of the connection that will be used to construct the url Connection *PostgresConnection `protobuf:"bytes,2,opt,name=connection,proto3,oneof"` } @@ -1885,10 +1902,12 @@ type isSSHAuthentication_AuthConfig interface { } type SSHAuthentication_Passphrase struct { + // Password authentication Passphrase *SSHPassphrase `protobuf:"bytes,1,opt,name=passphrase,proto3,oneof"` } type SSHAuthentication_PrivateKey struct { + // Private key authentication PrivateKey *SSHPrivateKey `protobuf:"bytes,2,opt,name=private_key,json=privateKey,proto3,oneof"` } @@ -2004,11 +2023,17 @@ type PostgresConnection struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Host string `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"` - Port int32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"` - Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` - User string `protobuf:"bytes,4,opt,name=user,proto3" json:"user,omitempty"` - Pass string `protobuf:"bytes,5,opt,name=pass,proto3" json:"pass,omitempty"` + // The host to use for the connection + Host string `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"` + // The port to use for the connection + Port int32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"` + // The name of the database to use for the connection + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + // The user to use for the connection + User string `protobuf:"bytes,4,opt,name=user,proto3" json:"user,omitempty"` + // The password to use for the connection + Pass string `protobuf:"bytes,5,opt,name=pass,proto3" json:"pass,omitempty"` + // The SSL mode to use for the connection SslMode *string `protobuf:"bytes,6,opt,name=ssl_mode,json=sslMode,proto3,oneof" json:"ssl_mode,omitempty"` } @@ -2089,12 +2114,18 @@ type MysqlConnection struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - User string `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"` - Pass string `protobuf:"bytes,2,opt,name=pass,proto3" json:"pass,omitempty"` + // The user to use for the connection + User string `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"` + // The password to use for the connection + Pass string `protobuf:"bytes,2,opt,name=pass,proto3" json:"pass,omitempty"` + // The protocol to use for the connection Protocol string `protobuf:"bytes,3,opt,name=protocol,proto3" json:"protocol,omitempty"` - Host string `protobuf:"bytes,4,opt,name=host,proto3" json:"host,omitempty"` - Port int32 `protobuf:"varint,5,opt,name=port,proto3" json:"port,omitempty"` - Name string `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"` + // The host to use for the connection + Host string `protobuf:"bytes,4,opt,name=host,proto3" json:"host,omitempty"` + // The port to use for the connection + Port int32 `protobuf:"varint,5,opt,name=port,proto3" json:"port,omitempty"` + // The name of the database to use for the connection + Name string `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"` } func (x *MysqlConnection) Reset() { @@ -2183,7 +2214,8 @@ type MysqlConnectionConfig struct { // *MysqlConnectionConfig_UrlFromEnv ConnectionConfig isMysqlConnectionConfig_ConnectionConfig `protobuf_oneof:"connection_config"` // Provide tunnel configuration that can be used to access a postgres connection that is not publicly accessible to the internet - Tunnel *SSHTunnel `protobuf:"bytes,3,opt,name=tunnel,proto3" json:"tunnel,omitempty"` + Tunnel *SSHTunnel `protobuf:"bytes,3,opt,name=tunnel,proto3" json:"tunnel,omitempty"` + // Provide connection options that can be used to further fine-tune the connection ConnectionOptions *SqlConnectionOptions `protobuf:"bytes,4,opt,name=connection_options,json=connectionOptions,proto3" json:"connection_options,omitempty"` // Provide client-side TLS Certificates ClientTls *ClientTlsConfig `protobuf:"bytes,5,opt,name=client_tls,json=clientTls,proto3" json:"client_tls,omitempty"` @@ -2273,10 +2305,12 @@ type isMysqlConnectionConfig_ConnectionConfig interface { } type MysqlConnectionConfig_Url struct { + // A raw string url that will be used to construct the connection. DSN format. URI format also supported but more limited. Url string `protobuf:"bytes,1,opt,name=url,proto3,oneof"` } type MysqlConnectionConfig_Connection struct { + // A structured representation of the connection that will be used to construct the url Connection *MysqlConnection `protobuf:"bytes,2,opt,name=connection,proto3,oneof"` } @@ -2298,11 +2332,16 @@ type AwsS3ConnectionConfig struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - PathPrefix *string `protobuf:"bytes,2,opt,name=path_prefix,json=pathPrefix,proto3,oneof" json:"path_prefix,omitempty"` + // The bucket path prefix that will be appended to each file + PathPrefix *string `protobuf:"bytes,2,opt,name=path_prefix,json=pathPrefix,proto3,oneof" json:"path_prefix,omitempty"` + // The credentials to use for the S3 bucket Credentials *AwsS3Credentials `protobuf:"bytes,3,opt,name=credentials,proto3,oneof" json:"credentials,omitempty"` - Region *string `protobuf:"bytes,4,opt,name=region,proto3,oneof" json:"region,omitempty"` - Endpoint *string `protobuf:"bytes,5,opt,name=endpoint,proto3,oneof" json:"endpoint,omitempty"` - Bucket string `protobuf:"bytes,6,opt,name=bucket,proto3" json:"bucket,omitempty"` + // The region of the S3 bucket + Region *string `protobuf:"bytes,4,opt,name=region,proto3,oneof" json:"region,omitempty"` + // The endpoint of the S3 bucket (if using a custom endpoint like region specific endpoints or S3-compatible APIs) + Endpoint *string `protobuf:"bytes,5,opt,name=endpoint,proto3,oneof" json:"endpoint,omitempty"` + // The name of the S3 bucket + Bucket string `protobuf:"bytes,6,opt,name=bucket,proto3" json:"bucket,omitempty"` } func (x *AwsS3ConnectionConfig) Reset() { @@ -2377,13 +2416,20 @@ type AwsS3Credentials struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Profile *string `protobuf:"bytes,1,opt,name=profile,proto3,oneof" json:"profile,omitempty"` - AccessKeyId *string `protobuf:"bytes,2,opt,name=access_key_id,json=accessKeyId,proto3,oneof" json:"access_key_id,omitempty"` + // The profile to use for the S3 credentials + Profile *string `protobuf:"bytes,1,opt,name=profile,proto3,oneof" json:"profile,omitempty"` + // The access key id to use for the S3 credentials + AccessKeyId *string `protobuf:"bytes,2,opt,name=access_key_id,json=accessKeyId,proto3,oneof" json:"access_key_id,omitempty"` + // The secret access key to use for the S3 credentials SecretAccessKey *string `protobuf:"bytes,3,opt,name=secret_access_key,json=secretAccessKey,proto3,oneof" json:"secret_access_key,omitempty"` - SessionToken *string `protobuf:"bytes,4,opt,name=session_token,json=sessionToken,proto3,oneof" json:"session_token,omitempty"` - FromEc2Role *bool `protobuf:"varint,5,opt,name=from_ec2_role,json=fromEc2Role,proto3,oneof" json:"from_ec2_role,omitempty"` - RoleArn *string `protobuf:"bytes,6,opt,name=role_arn,json=roleArn,proto3,oneof" json:"role_arn,omitempty"` - RoleExternalId *string `protobuf:"bytes,7,opt,name=role_external_id,json=roleExternalId,proto3,oneof" json:"role_external_id,omitempty"` + // The session token to use for the S3 credentials + SessionToken *string `protobuf:"bytes,4,opt,name=session_token,json=sessionToken,proto3,oneof" json:"session_token,omitempty"` + // Whether or not the credentials are from an EC2 role + FromEc2Role *bool `protobuf:"varint,5,opt,name=from_ec2_role,json=fromEc2Role,proto3,oneof" json:"from_ec2_role,omitempty"` + // The ARN of the role to use for the S3 credentials + RoleArn *string `protobuf:"bytes,6,opt,name=role_arn,json=roleArn,proto3,oneof" json:"role_arn,omitempty"` + // The role's external ID to use for the S3 credentials + RoleExternalId *string `protobuf:"bytes,7,opt,name=role_external_id,json=roleExternalId,proto3,oneof" json:"role_external_id,omitempty"` } func (x *AwsS3Credentials) Reset() { @@ -2535,7 +2581,9 @@ type IsConnectionNameAvailableRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + // The unique identifier of the account to check the connection name for + AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + // The connection name to check for availability ConnectionName string `protobuf:"bytes,2,opt,name=connection_name,json=connectionName,proto3" json:"connection_name,omitempty"` } @@ -2588,6 +2636,7 @@ type IsConnectionNameAvailableResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // Whether or not the connection name is available IsAvailable bool `protobuf:"varint,1,opt,name=is_available,json=isAvailable,proto3" json:"is_available,omitempty"` } @@ -3197,82 +3246,82 @@ var file_mgmt_v1alpha1_connection_proto_rawDesc = []byte{ 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x65, 0x72, 0x6f, 0x72, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x65, 0x72, 0x6f, 0x72, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x32, 0xe1, 0x07, 0x0a, 0x11, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x5f, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, + 0x32, 0xe7, 0x07, 0x0a, 0x11, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x62, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x24, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5c, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x43, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, - 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, - 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x65, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x2e, 0x6d, 0x67, 0x6d, 0x74, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x27, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x65, 0x0a, 0x10, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x26, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, - 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x65, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x27, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x80, 0x01, 0x0a, 0x19, 0x49, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x5f, 0x0a, 0x0d, 0x47, 0x65, + 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x2e, 0x6d, 0x67, + 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x24, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, + 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x65, 0x0a, 0x10, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x26, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x65, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, + 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x65, 0x0a, 0x10, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x2e, + 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x80, 0x01, 0x0a, 0x19, 0x49, 0x73, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x2f, + 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x49, 0x73, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x41, - 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x2f, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x49, 0x73, 0x43, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, - 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x6d, 0x67, 0x6d, 0x74, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x49, 0x73, 0x43, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, - 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x74, 0x0a, - 0x15, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2b, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x80, 0x01, 0x0a, 0x19, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x79, 0x49, - 0x64, 0x12, 0x2f, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5c, 0x0a, 0x0d, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, - 0x71, 0x6c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x23, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x71, 0x6c, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6d, + 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x30, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, + 0x49, 0x73, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, + 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x74, 0x0a, 0x15, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2b, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x68, 0x65, - 0x63, 0x6b, 0x53, 0x71, 0x6c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x42, 0xcb, 0x01, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x67, 0x6d, - 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x42, 0x0f, 0x43, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x50, 0x67, - 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6e, 0x75, 0x63, 0x6c, 0x65, 0x75, - 0x73, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x6e, 0x65, 0x6f, 0x73, 0x79, 0x6e, 0x63, 0x2f, 0x62, - 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x67, 0x6f, 0x2f, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x6d, 0x67, 0x6d, 0x74, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x31, 0x3b, 0x6d, 0x67, 0x6d, 0x74, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xa2, - 0x02, 0x03, 0x4d, 0x58, 0x58, 0xaa, 0x02, 0x0d, 0x4d, 0x67, 0x6d, 0x74, 0x2e, 0x56, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x31, 0xca, 0x02, 0x0d, 0x4d, 0x67, 0x6d, 0x74, 0x5c, 0x56, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x31, 0xe2, 0x02, 0x19, 0x4d, 0x67, 0x6d, 0x74, 0x5c, 0x56, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0xea, 0x02, 0x0e, 0x4d, 0x67, 0x6d, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x6d, 0x67, 0x6d, 0x74, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x43, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x80, 0x01, 0x0a, 0x19, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x42, 0x79, 0x49, 0x64, 0x12, 0x2f, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x79, 0x49, + 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x79, + 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5c, 0x0a, 0x0d, + 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x71, 0x6c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x23, 0x2e, + 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x53, 0x71, 0x6c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x71, 0x6c, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0xcb, 0x01, 0x0a, 0x11, 0x63, + 0x6f, 0x6d, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, + 0x42, 0x0f, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x50, 0x01, 0x5a, 0x50, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x6e, 0x75, 0x63, 0x6c, 0x65, 0x75, 0x73, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x6e, 0x65, 0x6f, + 0x73, 0x79, 0x6e, 0x63, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2f, 0x67, 0x65, 0x6e, + 0x2f, 0x67, 0x6f, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x6d, 0x67, 0x6d, 0x74, 0x2f, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x3b, 0x6d, 0x67, 0x6d, 0x74, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x4d, 0x58, 0x58, 0xaa, 0x02, 0x0d, 0x4d, 0x67, + 0x6d, 0x74, 0x2e, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xca, 0x02, 0x0d, 0x4d, 0x67, + 0x6d, 0x74, 0x5c, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xe2, 0x02, 0x19, 0x4d, 0x67, + 0x6d, 0x74, 0x5c, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0e, 0x4d, 0x67, 0x6d, 0x74, 0x3a, 0x3a, + 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/backend/gen/go/protos/mgmt/v1alpha1/connection_data.pb.go b/backend/gen/go/protos/mgmt/v1alpha1/connection_data.pb.go index a413b5d1c0..81af6ccaae 100644 --- a/backend/gen/go/protos/mgmt/v1alpha1/connection_data.pb.go +++ b/backend/gen/go/protos/mgmt/v1alpha1/connection_data.pb.go @@ -198,10 +198,12 @@ type isAwsS3StreamConfig_Id interface { } type AwsS3StreamConfig_JobId struct { + // The unique identifier of the job to get the data stream for. JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3,oneof"` } type AwsS3StreamConfig_JobRunId struct { + // The unique identifier of the job run to get the data stream for. JobRunId string `protobuf:"bytes,2,opt,name=job_run_id,json=jobRunId,proto3,oneof"` } @@ -277,10 +279,12 @@ type isGcpCloudStorageStreamConfig_Id interface { } type GcpCloudStorageStreamConfig_JobId struct { + // The unique identifier of the job to get the data stream for. JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3,oneof"` } type GcpCloudStorageStreamConfig_JobRunId struct { + // The unique identifier of the job run to get the data stream for. JobRunId string `protobuf:"bytes,2,opt,name=job_run_id,json=jobRunId,proto3,oneof"` } @@ -414,10 +418,14 @@ type GetConnectionDataStreamRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ConnectionId string `protobuf:"bytes,1,opt,name=connection_id,json=connectionId,proto3" json:"connection_id,omitempty"` + // The unique identifier of the connection to get the data stream for. + ConnectionId string `protobuf:"bytes,1,opt,name=connection_id,json=connectionId,proto3" json:"connection_id,omitempty"` + // The stream configuration to use for the data stream. StreamConfig *ConnectionStreamConfig `protobuf:"bytes,2,opt,name=stream_config,json=streamConfig,proto3" json:"stream_config,omitempty"` - Schema string `protobuf:"bytes,3,opt,name=schema,proto3" json:"schema,omitempty"` - Table string `protobuf:"bytes,4,opt,name=table,proto3" json:"table,omitempty"` + // The schema of the table to get the data stream for. + Schema string `protobuf:"bytes,3,opt,name=schema,proto3" json:"schema,omitempty"` + // The table to get the data stream for. + Table string `protobuf:"bytes,4,opt,name=table,proto3" json:"table,omitempty"` } func (x *GetConnectionDataStreamRequest) Reset() { @@ -701,10 +709,12 @@ type isAwsS3SchemaConfig_Id interface { } type AwsS3SchemaConfig_JobId struct { + // The unique identifier of the job to get the schema for. JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3,oneof"` } type AwsS3SchemaConfig_JobRunId struct { + // The unique identifier of the job run to get the schema for. JobRunId string `protobuf:"bytes,2,opt,name=job_run_id,json=jobRunId,proto3,oneof"` } @@ -852,10 +862,12 @@ type isGcpCloudStorageSchemaConfig_Id interface { } type GcpCloudStorageSchemaConfig_JobId struct { + // The unique identifier of the job to get the schema for. JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3,oneof"` } type GcpCloudStorageSchemaConfig_JobRunId struct { + // The unique identifier of the job run to get the schema for. JobRunId string `protobuf:"bytes,2,opt,name=job_run_id,json=jobRunId,proto3,oneof"` } @@ -1127,7 +1139,9 @@ type GetConnectionSchemaRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ConnectionId string `protobuf:"bytes,1,opt,name=connection_id,json=connectionId,proto3" json:"connection_id,omitempty"` + // The unique identifier of the connection to get the schema for. + ConnectionId string `protobuf:"bytes,1,opt,name=connection_id,json=connectionId,proto3" json:"connection_id,omitempty"` + // The schema configuration to use for the schema map. SchemaConfig *ConnectionSchemaConfig `protobuf:"bytes,2,opt,name=schema_config,json=schemaConfig,proto3" json:"schema_config,omitempty"` } @@ -1180,6 +1194,7 @@ type GetConnectionSchemaResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The list of database columns Schemas []*DatabaseColumn `protobuf:"bytes,1,rep,name=schemas,proto3" json:"schemas,omitempty"` } @@ -1225,7 +1240,9 @@ type GetConnectionSchemaMapRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ConnectionId string `protobuf:"bytes,1,opt,name=connection_id,json=connectionId,proto3" json:"connection_id,omitempty"` + // The unique identifier of the connection to get the schema map for. + ConnectionId string `protobuf:"bytes,1,opt,name=connection_id,json=connectionId,proto3" json:"connection_id,omitempty"` + // The schema configuration to use for the schema map. SchemaConfig *ConnectionSchemaConfig `protobuf:"bytes,2,opt,name=schema_config,json=schemaConfig,proto3" json:"schema_config,omitempty"` } @@ -1425,7 +1442,9 @@ type ForeignKey struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Table string `protobuf:"bytes,1,opt,name=table,proto3" json:"table,omitempty"` + // The table that the foreign key is associated with + Table string `protobuf:"bytes,1,opt,name=table,proto3" json:"table,omitempty"` + // The columns that are part of the foreign key Columns []string `protobuf:"bytes,3,rep,name=columns,proto3" json:"columns,omitempty"` } @@ -1478,9 +1497,12 @@ type ForeignConstraint struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ForeignKey *ForeignKey `protobuf:"bytes,3,opt,name=foreign_key,json=foreignKey,proto3" json:"foreign_key,omitempty"` - Columns []string `protobuf:"bytes,4,rep,name=columns,proto3" json:"columns,omitempty"` - NotNullable []bool `protobuf:"varint,5,rep,packed,name=not_nullable,json=notNullable,proto3" json:"not_nullable,omitempty"` + // The foreign key that is associated with the constraint + ForeignKey *ForeignKey `protobuf:"bytes,3,opt,name=foreign_key,json=foreignKey,proto3" json:"foreign_key,omitempty"` + // The columns that are part of the constraint + Columns []string `protobuf:"bytes,4,rep,name=columns,proto3" json:"columns,omitempty"` + // The not nullable flag for each column + NotNullable []bool `protobuf:"varint,5,rep,packed,name=not_nullable,json=notNullable,proto3" json:"not_nullable,omitempty"` } func (x *ForeignConstraint) Reset() { @@ -1539,6 +1561,7 @@ type ForeignConstraintTables struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // A list of foreign key constraints Constraints []*ForeignConstraint `protobuf:"bytes,1,rep,name=constraints,proto3" json:"constraints,omitempty"` } @@ -1584,9 +1607,12 @@ type InitStatementOptions struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - InitSchema bool `protobuf:"varint,1,opt,name=init_schema,json=initSchema,proto3" json:"init_schema,omitempty"` + // Whether or not to generate schema init statements. + InitSchema bool `protobuf:"varint,1,opt,name=init_schema,json=initSchema,proto3" json:"init_schema,omitempty"` + // Whether or not to generate truncation statements TruncateBeforeInsert bool `protobuf:"varint,2,opt,name=truncate_before_insert,json=truncateBeforeInsert,proto3" json:"truncate_before_insert,omitempty"` - TruncateCascade bool `protobuf:"varint,3,opt,name=truncate_cascade,json=truncateCascade,proto3" json:"truncate_cascade,omitempty"` + // Whether or not to generate truncate cascade statements. + TruncateCascade bool `protobuf:"varint,3,opt,name=truncate_cascade,json=truncateCascade,proto3" json:"truncate_cascade,omitempty"` } func (x *InitStatementOptions) Reset() { @@ -1645,8 +1671,10 @@ type GetConnectionInitStatementsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ConnectionId string `protobuf:"bytes,1,opt,name=connection_id,json=connectionId,proto3" json:"connection_id,omitempty"` - Options *InitStatementOptions `protobuf:"bytes,2,opt,name=options,proto3" json:"options,omitempty"` + // The unique identifier of the connection to get the init statements for. + ConnectionId string `protobuf:"bytes,1,opt,name=connection_id,json=connectionId,proto3" json:"connection_id,omitempty"` + // The options to use for the init statements. + Options *InitStatementOptions `protobuf:"bytes,2,opt,name=options,proto3" json:"options,omitempty"` } func (x *GetConnectionInitStatementsRequest) Reset() { @@ -1698,7 +1726,9 @@ type SchemaInitStatements struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Label string `protobuf:"bytes,1,opt,name=label,proto3" json:"label,omitempty"` + // A friendly label associated with the generated schema init statement(s) + Label string `protobuf:"bytes,1,opt,name=label,proto3" json:"label,omitempty"` + // A list of SQL statements that may be used to initialize a database from scratch. Statements []string `protobuf:"bytes,2,rep,name=statements,proto3" json:"statements,omitempty"` } @@ -1752,11 +1782,12 @@ type GetConnectionInitStatementsResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // the key here is . and value is the table init statement. + // The key here is .
and value is the table init statement. TableInitStatements map[string]string `protobuf:"bytes,1,rep,name=table_init_statements,json=tableInitStatements,proto3" json:"table_init_statements,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - // the key here is .
and value is the table truncate statement. - TableTruncateStatements map[string]string `protobuf:"bytes,2,rep,name=table_truncate_statements,json=tableTruncateStatements,proto3" json:"table_truncate_statements,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - SchemaInitStatements []*SchemaInitStatements `protobuf:"bytes,3,rep,name=schema_init_statements,json=schemaInitStatements,proto3" json:"schema_init_statements,omitempty"` + // The key here is .
and value is the table truncate statement. + TableTruncateStatements map[string]string `protobuf:"bytes,2,rep,name=table_truncate_statements,json=tableTruncateStatements,proto3" json:"table_truncate_statements,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // A list of schema initialization statements + SchemaInitStatements []*SchemaInitStatements `protobuf:"bytes,3,rep,name=schema_init_statements,json=schemaInitStatements,proto3" json:"schema_init_statements,omitempty"` } func (x *GetConnectionInitStatementsResponse) Reset() { @@ -1815,6 +1846,7 @@ type PrimaryConstraint struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The columns that are part of the primary constraint Columns []string `protobuf:"bytes,1,rep,name=columns,proto3" json:"columns,omitempty"` } @@ -1860,6 +1892,7 @@ type UniqueConstraint struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The columns that are part of the unique constraint Columns []string `protobuf:"bytes,1,rep,name=columns,proto3" json:"columns,omitempty"` } @@ -1905,12 +1938,18 @@ type GetAiGeneratedDataRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - AiConnectionId string `protobuf:"bytes,1,opt,name=ai_connection_id,json=aiConnectionId,proto3" json:"ai_connection_id,omitempty"` - Count int64 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"` - ModelName string `protobuf:"bytes,3,opt,name=model_name,json=modelName,proto3" json:"model_name,omitempty"` - UserPrompt *string `protobuf:"bytes,4,opt,name=user_prompt,json=userPrompt,proto3,oneof" json:"user_prompt,omitempty"` - DataConnectionId string `protobuf:"bytes,5,opt,name=data_connection_id,json=dataConnectionId,proto3" json:"data_connection_id,omitempty"` - Table *DatabaseTable `protobuf:"bytes,6,opt,name=table,proto3" json:"table,omitempty"` + // The unique identifier of a connection, specifically one that is configured for LLM use. + AiConnectionId string `protobuf:"bytes,1,opt,name=ai_connection_id,json=aiConnectionId,proto3" json:"ai_connection_id,omitempty"` + // The number of records to generate + Count int64 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"` + // The LLM model name to use that works with the configured connection id. + ModelName string `protobuf:"bytes,3,opt,name=model_name,json=modelName,proto3" json:"model_name,omitempty"` + // The prompt that will be used to further refine the data generation. This is appended to the prompt that Neosync generates that includes schema information. + UserPrompt *string `protobuf:"bytes,4,opt,name=user_prompt,json=userPrompt,proto3,oneof" json:"user_prompt,omitempty"` + // The unique identifier of a connection that the AI generated data would be inserted into. This is used to generate and send schema information to the LLM to help shape the generated data. + DataConnectionId string `protobuf:"bytes,5,opt,name=data_connection_id,json=dataConnectionId,proto3" json:"data_connection_id,omitempty"` + // The table to generate data for. + Table *DatabaseTable `protobuf:"bytes,6,opt,name=table,proto3" json:"table,omitempty"` } func (x *GetAiGeneratedDataRequest) Reset() { @@ -1990,8 +2029,10 @@ type DatabaseTable struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The schema of the table Schema string `protobuf:"bytes,1,opt,name=schema,proto3" json:"schema,omitempty"` - Table string `protobuf:"bytes,2,opt,name=table,proto3" json:"table,omitempty"` + // The table name + Table string `protobuf:"bytes,2,opt,name=table,proto3" json:"table,omitempty"` } func (x *DatabaseTable) Reset() { @@ -2089,6 +2130,7 @@ type GetConnectionTableConstraintsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The unique identifier of the connection to get the constraints for. ConnectionId string `protobuf:"bytes,1,opt,name=connection_id,json=connectionId,proto3" json:"connection_id,omitempty"` } @@ -2134,6 +2176,7 @@ type UniqueConstraints struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The unique constraints found for the table Constraints []*UniqueConstraint `protobuf:"bytes,1,rep,name=constraints,proto3" json:"constraints,omitempty"` } @@ -2243,10 +2286,14 @@ type GetTableRowCountRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ConnectionId string `protobuf:"bytes,1,opt,name=connection_id,json=connectionId,proto3" json:"connection_id,omitempty"` - Schema string `protobuf:"bytes,2,opt,name=schema,proto3" json:"schema,omitempty"` - Table string `protobuf:"bytes,3,opt,name=table,proto3" json:"table,omitempty"` - WhereClause *string `protobuf:"bytes,4,opt,name=where_clause,json=whereClause,proto3,oneof" json:"where_clause,omitempty"` + // The unique identifier of the connection to get the row count for. + ConnectionId string `protobuf:"bytes,1,opt,name=connection_id,json=connectionId,proto3" json:"connection_id,omitempty"` + // The schema of the table to get the row count for. + Schema string `protobuf:"bytes,2,opt,name=schema,proto3" json:"schema,omitempty"` + // The table to get the row count for. + Table string `protobuf:"bytes,3,opt,name=table,proto3" json:"table,omitempty"` + // The optional where clause to filter the rows by. + WhereClause *string `protobuf:"bytes,4,opt,name=where_clause,json=whereClause,proto3,oneof" json:"where_clause,omitempty"` } func (x *GetTableRowCountRequest) Reset() { @@ -2312,6 +2359,7 @@ type GetTableRowCountResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The count of the rows in the table Count int64 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"` } @@ -2732,96 +2780,98 @@ var file_mgmt_v1alpha1_connection_data_proto_rawDesc = []byte{ 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, - 0x22, 0xa5, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x6f, 0x77, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, + 0x22, 0xc1, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x6f, 0x77, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x61, 0x62, - 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, - 0x26, 0x0a, 0x0c, 0x77, 0x68, 0x65, 0x72, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x77, 0x68, 0x65, 0x72, 0x65, 0x43, 0x6c, - 0x61, 0x75, 0x73, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x77, 0x68, 0x65, 0x72, - 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x22, 0x30, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x54, - 0x61, 0x62, 0x6c, 0x65, 0x52, 0x6f, 0x77, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x32, 0xe6, 0x07, 0x0a, 0x15, 0x43, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x12, 0x7c, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, - 0x2d, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, - 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, - 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, - 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, - 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, - 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x30, 0x01, 0x12, 0x6e, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x29, 0x2e, 0x6d, 0x67, 0x6d, 0x74, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x77, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x61, 0x70, 0x12, 0x2c, 0x2e, 0x6d, - 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, - 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, - 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x6d, 0x67, 0x6d, + 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x0c, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x06, 0x73, + 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, + 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x1d, 0x0a, 0x05, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, + 0x72, 0x02, 0x10, 0x01, 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x77, + 0x68, 0x65, 0x72, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x0b, 0x77, 0x68, 0x65, 0x72, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, + 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x77, 0x68, 0x65, 0x72, 0x65, 0x5f, 0x63, 0x6c, + 0x61, 0x75, 0x73, 0x65, 0x22, 0x30, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, + 0x52, 0x6f, 0x77, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x32, 0xe9, 0x07, 0x0a, 0x15, 0x43, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x12, 0x7c, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x2d, 0x2e, 0x6d, 0x67, + 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x61, - 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7a, 0x0a, 0x17, 0x47, - 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, - 0x6d, 0x61, 0x4d, 0x61, 0x70, 0x73, 0x12, 0x2d, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x61, 0x70, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x6e, + 0x0a, 0x13, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x29, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x61, 0x70, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8c, 0x01, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x43, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, - 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x33, 0x2e, 0x6d, 0x67, 0x6d, 0x74, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x73, - 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, - 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, - 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, - 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x86, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x43, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x31, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, + 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2a, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, + 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x77, + 0x0a, 0x16, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x61, 0x70, 0x12, 0x2c, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x61, 0x70, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7a, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x43, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x61, + 0x70, 0x73, 0x12, 0x2d, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x61, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2e, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x61, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x8c, 0x01, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, + 0x61, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x33, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, + 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x6d, 0x67, 0x6d, + 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, + 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x86, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x6d, 0x67, 0x6d, 0x74, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x6b, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x41, 0x69, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, - 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x28, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x69, 0x47, 0x65, 0x6e, 0x65, 0x72, - 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x29, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, - 0x47, 0x65, 0x74, 0x41, 0x69, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, - 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x65, 0x0a, 0x10, - 0x47, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x6f, 0x77, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x12, 0x26, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, - 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x6f, 0x77, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, - 0x65, 0x52, 0x6f, 0x77, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x42, 0xcf, 0x01, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x67, 0x6d, 0x74, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x42, 0x13, 0x43, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, - 0x5a, 0x50, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6e, 0x75, 0x63, - 0x6c, 0x65, 0x75, 0x73, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x6e, 0x65, 0x6f, 0x73, 0x79, 0x6e, - 0x63, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x67, 0x6f, - 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x6d, 0x67, 0x6d, 0x74, 0x2f, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x31, 0x3b, 0x6d, 0x67, 0x6d, 0x74, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x31, 0xa2, 0x02, 0x03, 0x4d, 0x58, 0x58, 0xaa, 0x02, 0x0d, 0x4d, 0x67, 0x6d, 0x74, 0x2e, - 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xca, 0x02, 0x0d, 0x4d, 0x67, 0x6d, 0x74, 0x5c, - 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xe2, 0x02, 0x19, 0x4d, 0x67, 0x6d, 0x74, 0x5c, - 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0e, 0x4d, 0x67, 0x6d, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x74, 0x73, 0x12, 0x31, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x49, 0x6e, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6b, 0x0a, 0x12, 0x47, + 0x65, 0x74, 0x41, 0x69, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, + 0x61, 0x12, 0x28, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x69, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, + 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x6d, 0x67, + 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, + 0x69, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x68, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x54, + 0x61, 0x62, 0x6c, 0x65, 0x52, 0x6f, 0x77, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x26, 0x2e, 0x6d, + 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x6f, 0x77, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x6f, 0x77, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, + 0x02, 0x01, 0x42, 0xcf, 0x01, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x42, 0x13, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, + 0x50, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6e, 0x75, 0x63, 0x6c, + 0x65, 0x75, 0x73, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x6e, 0x65, 0x6f, 0x73, 0x79, 0x6e, 0x63, + 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x67, 0x6f, 0x2f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x6d, 0x67, 0x6d, 0x74, 0x2f, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x31, 0x3b, 0x6d, 0x67, 0x6d, 0x74, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x31, 0xa2, 0x02, 0x03, 0x4d, 0x58, 0x58, 0xaa, 0x02, 0x0d, 0x4d, 0x67, 0x6d, 0x74, 0x2e, 0x56, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xca, 0x02, 0x0d, 0x4d, 0x67, 0x6d, 0x74, 0x5c, 0x56, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xe2, 0x02, 0x19, 0x4d, 0x67, 0x6d, 0x74, 0x5c, 0x56, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0xea, 0x02, 0x0e, 0x4d, 0x67, 0x6d, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/backend/gen/go/protos/mgmt/v1alpha1/job.pb.go b/backend/gen/go/protos/mgmt/v1alpha1/job.pb.go index b0d2a82d1e..7c2770e11a 100644 --- a/backend/gen/go/protos/mgmt/v1alpha1/job.pb.go +++ b/backend/gen/go/protos/mgmt/v1alpha1/job.pb.go @@ -434,6 +434,7 @@ type GetJobsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The unique identifier of the account to get jobs for AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` } @@ -479,6 +480,7 @@ type GetJobsResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The list of jobs Jobs []*Job `protobuf:"bytes,1,rep,name=jobs,proto3" json:"jobs,omitempty"` } @@ -524,6 +526,7 @@ type JobSource struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The source options to use for the job Options *JobSourceOptions `protobuf:"bytes,1,opt,name=options,proto3" json:"options,omitempty"` } @@ -732,8 +735,10 @@ type CreateJobDestination struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ConnectionId string `protobuf:"bytes,1,opt,name=connection_id,json=connectionId,proto3" json:"connection_id,omitempty"` - Options *JobDestinationOptions `protobuf:"bytes,2,opt,name=options,proto3" json:"options,omitempty"` + // The connection id to use for the job destination + ConnectionId string `protobuf:"bytes,1,opt,name=connection_id,json=connectionId,proto3" json:"connection_id,omitempty"` + // The destination options to use for the job destination + Options *JobDestinationOptions `protobuf:"bytes,2,opt,name=options,proto3" json:"options,omitempty"` } func (x *CreateJobDestination) Reset() { @@ -785,9 +790,12 @@ type JobDestination struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ConnectionId string `protobuf:"bytes,1,opt,name=connection_id,json=connectionId,proto3" json:"connection_id,omitempty"` - Options *JobDestinationOptions `protobuf:"bytes,2,opt,name=options,proto3" json:"options,omitempty"` - Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"` + // The connection id to use for the job destination + ConnectionId string `protobuf:"bytes,1,opt,name=connection_id,json=connectionId,proto3" json:"connection_id,omitempty"` + // The destination options to use for the job destination + Options *JobDestinationOptions `protobuf:"bytes,2,opt,name=options,proto3" json:"options,omitempty"` + // The unique identifier of the job destination + Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"` } func (x *JobDestination) Reset() { @@ -992,7 +1000,7 @@ type AiGenerateSourceTableOption struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The table that will be used to. 1. The schema of the table will be injected into the prompt, of which the resulting data will then be inserted. + // The table that will be used to generate data for Table string `protobuf:"bytes,1,opt,name=table,proto3" json:"table,omitempty"` // The total number of records to be generated. RowCount int64 `protobuf:"varint,2,opt,name=row_count,json=rowCount,proto3" json:"row_count,omitempty"` @@ -1047,8 +1055,10 @@ type GenerateSourceOptions struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Schemas []*GenerateSourceSchemaOption `protobuf:"bytes,1,rep,name=schemas,proto3" json:"schemas,omitempty"` - FkSourceConnectionId *string `protobuf:"bytes,3,opt,name=fk_source_connection_id,json=fkSourceConnectionId,proto3,oneof" json:"fk_source_connection_id,omitempty"` + // The list of schemas (and their tables) along with any configuration options that will be used to generate data for. + Schemas []*GenerateSourceSchemaOption `protobuf:"bytes,1,rep,name=schemas,proto3" json:"schemas,omitempty"` + // An optional connection id that will be used as the basis for the shape of data to be generated. + FkSourceConnectionId *string `protobuf:"bytes,3,opt,name=fk_source_connection_id,json=fkSourceConnectionId,proto3,oneof" json:"fk_source_connection_id,omitempty"` } func (x *GenerateSourceOptions) Reset() { @@ -1100,7 +1110,9 @@ type GenerateSourceSchemaOption struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Schema string `protobuf:"bytes,1,opt,name=schema,proto3" json:"schema,omitempty"` + // The database schema + Schema string `protobuf:"bytes,1,opt,name=schema,proto3" json:"schema,omitempty"` + // The list of tables (and their configuration) that reside within the schema to receive generated data Tables []*GenerateSourceTableOption `protobuf:"bytes,2,rep,name=tables,proto3" json:"tables,omitempty"` } @@ -1153,8 +1165,10 @@ type GenerateSourceTableOption struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Table string `protobuf:"bytes,1,opt,name=table,proto3" json:"table,omitempty"` - RowCount int64 `protobuf:"varint,2,opt,name=row_count,json=rowCount,proto3" json:"row_count,omitempty"` + // The table that will be used to generate data for. + Table string `protobuf:"bytes,1,opt,name=table,proto3" json:"table,omitempty"` + // The total number of records to be generated. + RowCount int64 `protobuf:"varint,2,opt,name=row_count,json=rowCount,proto3" json:"row_count,omitempty"` } func (x *GenerateSourceTableOption) Reset() { @@ -1459,9 +1473,12 @@ type PostgresSourceConnectionOptions struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Schemas []*PostgresSourceSchemaOption `protobuf:"bytes,2,rep,name=schemas,proto3" json:"schemas,omitempty"` - ConnectionId string `protobuf:"bytes,3,opt,name=connection_id,json=connectionId,proto3" json:"connection_id,omitempty"` - SubsetByForeignKeyConstraints bool `protobuf:"varint,4,opt,name=subset_by_foreign_key_constraints,json=subsetByForeignKeyConstraints,proto3" json:"subset_by_foreign_key_constraints,omitempty"` + // The list of schemas (and their tables) along with any configuration options that will be used. + Schemas []*PostgresSourceSchemaOption `protobuf:"bytes,2,rep,name=schemas,proto3" json:"schemas,omitempty"` + // The unique connection id to a postgres connection configuration + ConnectionId string `protobuf:"bytes,3,opt,name=connection_id,json=connectionId,proto3" json:"connection_id,omitempty"` + // Whether to subset the table by foreign key constraints + SubsetByForeignKeyConstraints bool `protobuf:"varint,4,opt,name=subset_by_foreign_key_constraints,json=subsetByForeignKeyConstraints,proto3" json:"subset_by_foreign_key_constraints,omitempty"` // Provide a strategy of what to do in the event Neosync encounters an unmapped column for the job's mapped tables. NewColumnAdditionStrategy *PostgresSourceConnectionOptions_NewColumnAdditionStrategy `protobuf:"bytes,5,opt,name=new_column_addition_strategy,json=newColumnAdditionStrategy,proto3" json:"new_column_addition_strategy,omitempty"` // Provide a strategy of what to do in the event Neosync encounters a column that is removed from the source table. @@ -1538,7 +1555,9 @@ type PostgresSourceSchemaOption struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Schema string `protobuf:"bytes,1,opt,name=schema,proto3" json:"schema,omitempty"` + // The database schema + Schema string `protobuf:"bytes,1,opt,name=schema,proto3" json:"schema,omitempty"` + // The list of tables (and their configuration) that reside within the schema Tables []*PostgresSourceTableOption `protobuf:"bytes,2,rep,name=tables,proto3" json:"tables,omitempty"` } @@ -1591,7 +1610,10 @@ type PostgresSourceTableOption struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Table string `protobuf:"bytes,1,opt,name=table,proto3" json:"table,omitempty"` + // The table that will be used subset the data for. + Table string `protobuf:"bytes,1,opt,name=table,proto3" json:"table,omitempty"` + // This is not a parameterized query and must be valid. Intended to be everything after the WHERE keyword. + // Is used to subset the table. WhereClause *string `protobuf:"bytes,2,opt,name=where_clause,json=whereClause,proto3,oneof" json:"where_clause,omitempty"` } @@ -1644,10 +1666,14 @@ type MysqlSourceConnectionOptions struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - HaltOnNewColumnAddition bool `protobuf:"varint,1,opt,name=halt_on_new_column_addition,json=haltOnNewColumnAddition,proto3" json:"halt_on_new_column_addition,omitempty"` - Schemas []*MysqlSourceSchemaOption `protobuf:"bytes,2,rep,name=schemas,proto3" json:"schemas,omitempty"` - ConnectionId string `protobuf:"bytes,3,opt,name=connection_id,json=connectionId,proto3" json:"connection_id,omitempty"` - SubsetByForeignKeyConstraints bool `protobuf:"varint,4,opt,name=subset_by_foreign_key_constraints,json=subsetByForeignKeyConstraints,proto3" json:"subset_by_foreign_key_constraints,omitempty"` + // Whether to halt the job if a new column is added + HaltOnNewColumnAddition bool `protobuf:"varint,1,opt,name=halt_on_new_column_addition,json=haltOnNewColumnAddition,proto3" json:"halt_on_new_column_addition,omitempty"` + // The list of schemas (and their tables) along with any configuration options that will be used. + Schemas []*MysqlSourceSchemaOption `protobuf:"bytes,2,rep,name=schemas,proto3" json:"schemas,omitempty"` + // The unique connection id to a mysql connection configuration + ConnectionId string `protobuf:"bytes,3,opt,name=connection_id,json=connectionId,proto3" json:"connection_id,omitempty"` + // Whether to subset the table by foreign key constraints + SubsetByForeignKeyConstraints bool `protobuf:"varint,4,opt,name=subset_by_foreign_key_constraints,json=subsetByForeignKeyConstraints,proto3" json:"subset_by_foreign_key_constraints,omitempty"` // Provide a strategy of what to do in the event Neosync encounters a column that is removed from the source table. ColumnRemovalStrategy *MysqlSourceConnectionOptions_ColumnRemovalStrategy `protobuf:"bytes,5,opt,name=column_removal_strategy,json=columnRemovalStrategy,proto3" json:"column_removal_strategy,omitempty"` } @@ -1722,7 +1748,9 @@ type MysqlSourceSchemaOption struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Schema string `protobuf:"bytes,1,opt,name=schema,proto3" json:"schema,omitempty"` + // The database schema + Schema string `protobuf:"bytes,1,opt,name=schema,proto3" json:"schema,omitempty"` + // The list of tables (and their configuration) that reside within the schema Tables []*MysqlSourceTableOption `protobuf:"bytes,2,rep,name=tables,proto3" json:"tables,omitempty"` } @@ -1775,7 +1803,10 @@ type MysqlSourceTableOption struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Table string `protobuf:"bytes,1,opt,name=table,proto3" json:"table,omitempty"` + // The table that will be used to subset the data for. + Table string `protobuf:"bytes,1,opt,name=table,proto3" json:"table,omitempty"` + // This is not a parameterized query and must be valid. Intended to be everything after the WHERE keyword. + // Is used to subset the table. WhereClause *string `protobuf:"bytes,2,opt,name=where_clause,json=whereClause,proto3,oneof" json:"where_clause,omitempty"` } @@ -1828,10 +1859,14 @@ type MssqlSourceConnectionOptions struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - HaltOnNewColumnAddition bool `protobuf:"varint,1,opt,name=halt_on_new_column_addition,json=haltOnNewColumnAddition,proto3" json:"halt_on_new_column_addition,omitempty"` - Schemas []*MssqlSourceSchemaOption `protobuf:"bytes,2,rep,name=schemas,proto3" json:"schemas,omitempty"` - ConnectionId string `protobuf:"bytes,3,opt,name=connection_id,json=connectionId,proto3" json:"connection_id,omitempty"` - SubsetByForeignKeyConstraints bool `protobuf:"varint,4,opt,name=subset_by_foreign_key_constraints,json=subsetByForeignKeyConstraints,proto3" json:"subset_by_foreign_key_constraints,omitempty"` + // Whether to halt the job if a new column is added + HaltOnNewColumnAddition bool `protobuf:"varint,1,opt,name=halt_on_new_column_addition,json=haltOnNewColumnAddition,proto3" json:"halt_on_new_column_addition,omitempty"` + // The list of schemas (and their tables) along with any configuration options that will be used. + Schemas []*MssqlSourceSchemaOption `protobuf:"bytes,2,rep,name=schemas,proto3" json:"schemas,omitempty"` + // The unique connection id to a mssql connection configuration + ConnectionId string `protobuf:"bytes,3,opt,name=connection_id,json=connectionId,proto3" json:"connection_id,omitempty"` + // Whether to subset the table by foreign key constraints + SubsetByForeignKeyConstraints bool `protobuf:"varint,4,opt,name=subset_by_foreign_key_constraints,json=subsetByForeignKeyConstraints,proto3" json:"subset_by_foreign_key_constraints,omitempty"` // Provide a strategy of what to do in the event Neosync encounters a column that is removed from the source table. ColumnRemovalStrategy *MssqlSourceConnectionOptions_ColumnRemovalStrategy `protobuf:"bytes,5,opt,name=column_removal_strategy,json=columnRemovalStrategy,proto3" json:"column_removal_strategy,omitempty"` } @@ -1906,7 +1941,9 @@ type MssqlSourceSchemaOption struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Schema string `protobuf:"bytes,1,opt,name=schema,proto3" json:"schema,omitempty"` + // The database schema + Schema string `protobuf:"bytes,1,opt,name=schema,proto3" json:"schema,omitempty"` + // The list of tables (and their configuration) that reside within the schema Tables []*MssqlSourceTableOption `protobuf:"bytes,2,rep,name=tables,proto3" json:"tables,omitempty"` } @@ -1959,7 +1996,10 @@ type MssqlSourceTableOption struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Table string `protobuf:"bytes,1,opt,name=table,proto3" json:"table,omitempty"` + // The table that will be used to subset the data for. + Table string `protobuf:"bytes,1,opt,name=table,proto3" json:"table,omitempty"` + // This is not a parameterized query and must be valid. Intended to be everything after the WHERE keyword. + // Is used to subset the table. WhereClause *string `protobuf:"bytes,2,opt,name=where_clause,json=whereClause,proto3,oneof" json:"where_clause,omitempty"` } @@ -2012,6 +2052,7 @@ type AwsS3SourceConnectionOptions struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The unique connection id to a aws s3 connection configuration ConnectionId string `protobuf:"bytes,1,opt,name=connection_id,json=connectionId,proto3" json:"connection_id,omitempty"` } @@ -2385,10 +2426,13 @@ type PostgresDestinationConnectionOptions struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - TruncateTable *PostgresTruncateTableConfig `protobuf:"bytes,1,opt,name=truncate_table,json=truncateTable,proto3" json:"truncate_table,omitempty"` - InitTableSchema bool `protobuf:"varint,2,opt,name=init_table_schema,json=initTableSchema,proto3" json:"init_table_schema,omitempty"` - OnConflict *PostgresOnConflictConfig `protobuf:"bytes,3,opt,name=on_conflict,json=onConflict,proto3" json:"on_conflict,omitempty"` - // Insert all valid records, skipping any that violate foreign key constraints. + // Whether to truncate the table before inserting data + TruncateTable *PostgresTruncateTableConfig `protobuf:"bytes,1,opt,name=truncate_table,json=truncateTable,proto3" json:"truncate_table,omitempty"` + // Whether to initialize the table schema before inserting data + InitTableSchema bool `protobuf:"varint,2,opt,name=init_table_schema,json=initTableSchema,proto3" json:"init_table_schema,omitempty"` + // The configuration for handling conflicts when inserting data + OnConflict *PostgresOnConflictConfig `protobuf:"bytes,3,opt,name=on_conflict,json=onConflict,proto3" json:"on_conflict,omitempty"` + // Whether to skip records that violate foreign key constraints SkipForeignKeyViolations bool `protobuf:"varint,4,opt,name=skip_foreign_key_violations,json=skipForeignKeyViolations,proto3" json:"skip_foreign_key_violations,omitempty"` // Configure batching options to handle how much data is sent to your database at once. Batch *BatchConfig `protobuf:"bytes,5,opt,name=batch,proto3" json:"batch,omitempty"` @@ -2563,8 +2607,10 @@ type PostgresTruncateTableConfig struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // Whether to truncate the table before inserting data TruncateBeforeInsert bool `protobuf:"varint,1,opt,name=truncate_before_insert,json=truncateBeforeInsert,proto3" json:"truncate_before_insert,omitempty"` - Cascade bool `protobuf:"varint,2,opt,name=cascade,proto3" json:"cascade,omitempty"` + // Whether to cascade the truncate to child tables + Cascade bool `protobuf:"varint,2,opt,name=cascade,proto3" json:"cascade,omitempty"` } func (x *PostgresTruncateTableConfig) Reset() { @@ -2616,9 +2662,12 @@ type MysqlDestinationConnectionOptions struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - TruncateTable *MysqlTruncateTableConfig `protobuf:"bytes,1,opt,name=truncate_table,json=truncateTable,proto3" json:"truncate_table,omitempty"` - InitTableSchema bool `protobuf:"varint,2,opt,name=init_table_schema,json=initTableSchema,proto3" json:"init_table_schema,omitempty"` - OnConflict *MysqlOnConflictConfig `protobuf:"bytes,3,opt,name=on_conflict,json=onConflict,proto3" json:"on_conflict,omitempty"` + // Whether to truncate the table before inserting data + TruncateTable *MysqlTruncateTableConfig `protobuf:"bytes,1,opt,name=truncate_table,json=truncateTable,proto3" json:"truncate_table,omitempty"` + // Whether to initialize the table schema before inserting data + InitTableSchema bool `protobuf:"varint,2,opt,name=init_table_schema,json=initTableSchema,proto3" json:"init_table_schema,omitempty"` + // The configuration for handling conflicts when inserting data + OnConflict *MysqlOnConflictConfig `protobuf:"bytes,3,opt,name=on_conflict,json=onConflict,proto3" json:"on_conflict,omitempty"` // Insert all valid records, skipping any that violate foreign key constraints. SkipForeignKeyViolations bool `protobuf:"varint,4,opt,name=skip_foreign_key_violations,json=skipForeignKeyViolations,proto3" json:"skip_foreign_key_violations,omitempty"` // Configure batching options to handle how much data is sent to your database at once. @@ -2704,6 +2753,7 @@ type MysqlTruncateTableConfig struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // Whether to truncate the table before inserting data TruncateBeforeInsert bool `protobuf:"varint,1,opt,name=truncate_before_insert,json=truncateBeforeInsert,proto3" json:"truncate_before_insert,omitempty"` } @@ -2839,10 +2889,11 @@ type MssqlDestinationConnectionOptions struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // Whether to truncate the table before inserting data TruncateTable *MssqlTruncateTableConfig `protobuf:"bytes,1,opt,name=truncate_table,json=truncateTable,proto3" json:"truncate_table,omitempty"` - // Currently not supported and a placeholder for future implementation + // Whether to initialize the table schema before inserting data InitTableSchema bool `protobuf:"varint,2,opt,name=init_table_schema,json=initTableSchema,proto3" json:"init_table_schema,omitempty"` - // Currently not supported and a placeholder for future implementation + // The configuration for handling conflicts when inserting data OnConflict *MssqlOnConflictConfig `protobuf:"bytes,3,opt,name=on_conflict,json=onConflict,proto3" json:"on_conflict,omitempty"` // Insert all valid records, skipping any that violate foreign key constraints. SkipForeignKeyViolations bool `protobuf:"varint,4,opt,name=skip_foreign_key_violations,json=skipForeignKeyViolations,proto3" json:"skip_foreign_key_violations,omitempty"` @@ -2929,6 +2980,7 @@ type MssqlTruncateTableConfig struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // Whether to truncate the table before inserting data TruncateBeforeInsert bool `protobuf:"varint,1,opt,name=truncate_before_insert,json=truncateBeforeInsert,proto3" json:"truncate_before_insert,omitempty"` } @@ -2974,6 +3026,7 @@ type MssqlOnConflictConfig struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // Whether to do nothing when a conflict occurs DoNothing bool `protobuf:"varint,1,opt,name=do_nothing,json=doNothing,proto3" json:"do_nothing,omitempty"` } @@ -3153,9 +3206,12 @@ type CreateJobRequest struct { // The unique, friendly name of the job. This is unique per account JobName string `protobuf:"bytes,2,opt,name=job_name,json=jobName,proto3" json:"job_name,omitempty"` // Optionally provide a cron schedule. Goes into effect if the job status is set to enabled - CronSchedule *string `protobuf:"bytes,3,opt,name=cron_schedule,json=cronSchedule,proto3,oneof" json:"cron_schedule,omitempty"` - Mappings []*JobMapping `protobuf:"bytes,4,rep,name=mappings,proto3" json:"mappings,omitempty"` - Source *JobSource `protobuf:"bytes,5,opt,name=source,proto3" json:"source,omitempty"` + CronSchedule *string `protobuf:"bytes,3,opt,name=cron_schedule,json=cronSchedule,proto3,oneof" json:"cron_schedule,omitempty"` + // The list of mappings that will be used to transform the data + Mappings []*JobMapping `protobuf:"bytes,4,rep,name=mappings,proto3" json:"mappings,omitempty"` + // The source connection configuration + Source *JobSource `protobuf:"bytes,5,opt,name=source,proto3" json:"source,omitempty"` + // The list of destinations that will be used to store the data Destinations []*CreateJobDestination `protobuf:"bytes,6,rep,name=destinations,proto3" json:"destinations,omitempty"` // Initially trigger a run of this job regardless of its status or cron schedule InitiateJobRun bool `protobuf:"varint,7,opt,name=initiate_job_run,json=initiateJobRun,proto3" json:"initiate_job_run,omitempty"` @@ -3164,7 +3220,8 @@ type CreateJobRequest struct { // Specify timeout and retry options for data synchronization activities // Data sync activities are any piece of work that involves actually synchronizing data from a source to a destination // For the data sync and generate jobs, this will be applied per table - SyncOptions *ActivityOptions `protobuf:"bytes,9,opt,name=sync_options,json=syncOptions,proto3" json:"sync_options,omitempty"` + SyncOptions *ActivityOptions `protobuf:"bytes,9,opt,name=sync_options,json=syncOptions,proto3" json:"sync_options,omitempty"` + // The list of virtual foreign keys that will be used to further constrain the data ontop of the database defined constraints VirtualForeignKeys []*VirtualForeignConstraint `protobuf:"bytes,10,rep,name=virtual_foreign_keys,json=virtualForeignKeys,proto3" json:"virtual_foreign_keys,omitempty"` } @@ -3440,6 +3497,7 @@ type CreateJobResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The job that was created Job *Job `protobuf:"bytes,1,opt,name=job,proto3" json:"job,omitempty"` } @@ -3485,6 +3543,7 @@ type JobMappingTransformer struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The transformer configuration Config *TransformerConfig `protobuf:"bytes,3,opt,name=config,proto3" json:"config,omitempty"` } @@ -3530,9 +3589,13 @@ type JobMapping struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Schema string `protobuf:"bytes,1,opt,name=schema,proto3" json:"schema,omitempty"` - Table string `protobuf:"bytes,2,opt,name=table,proto3" json:"table,omitempty"` - Column string `protobuf:"bytes,3,opt,name=column,proto3" json:"column,omitempty"` + // The database schema + Schema string `protobuf:"bytes,1,opt,name=schema,proto3" json:"schema,omitempty"` + // The database table. + Table string `protobuf:"bytes,2,opt,name=table,proto3" json:"table,omitempty"` + // The column in the configured schema.table + Column string `protobuf:"bytes,3,opt,name=column,proto3" json:"column,omitempty"` + // The transformer configuration that will be applied to each cell in the column Transformer *JobMappingTransformer `protobuf:"bytes,5,opt,name=transformer,proto3" json:"transformer,omitempty"` } @@ -3599,6 +3662,7 @@ type GetJobRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The unique identifier of the job Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` } @@ -3644,6 +3708,7 @@ type GetJobResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The job that was retrieved Job *Job `protobuf:"bytes,1,opt,name=job,proto3" json:"job,omitempty"` } @@ -3689,7 +3754,9 @@ type UpdateJobScheduleRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // The unique identifier of the job + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // The new cron schedule CronSchedule *string `protobuf:"bytes,2,opt,name=cron_schedule,json=cronSchedule,proto3,oneof" json:"cron_schedule,omitempty"` } @@ -3742,6 +3809,7 @@ type UpdateJobScheduleResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The job that was updated Job *Job `protobuf:"bytes,1,opt,name=job,proto3" json:"job,omitempty"` } @@ -3787,9 +3855,12 @@ type PauseJobRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Pause bool `protobuf:"varint,2,opt,name=pause,proto3" json:"pause,omitempty"` - Note *string `protobuf:"bytes,3,opt,name=note,proto3,oneof" json:"note,omitempty"` + // The unique identifier of the job + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // Whether to pause or unpause the job + Pause bool `protobuf:"varint,2,opt,name=pause,proto3" json:"pause,omitempty"` + // An optional note to be associated with the pause + Note *string `protobuf:"bytes,3,opt,name=note,proto3,oneof" json:"note,omitempty"` } func (x *PauseJobRequest) Reset() { @@ -3848,6 +3919,7 @@ type PauseJobResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The job that was updated Job *Job `protobuf:"bytes,1,opt,name=job,proto3" json:"job,omitempty"` } @@ -3893,9 +3965,13 @@ type UpdateJobSourceConnectionRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Source *JobSource `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` - Mappings []*JobMapping `protobuf:"bytes,3,rep,name=mappings,proto3" json:"mappings,omitempty"` + // The unique identifier of the job + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // The new source connection configuration + Source *JobSource `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` + // The new list of mappings that will be used to transform the data + Mappings []*JobMapping `protobuf:"bytes,3,rep,name=mappings,proto3" json:"mappings,omitempty"` + // The new list of virtual foreign keys that will be used to further constrain the data ontop of the database defined constraints VirtualForeignKeys []*VirtualForeignConstraint `protobuf:"bytes,4,rep,name=virtual_foreign_keys,json=virtualForeignKeys,proto3" json:"virtual_foreign_keys,omitempty"` } @@ -4007,6 +4083,7 @@ type PostgresSourceSchemaSubset struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The list of schemas (and their tables) along with any configuration options that will be used. PostgresSchemas []*PostgresSourceSchemaOption `protobuf:"bytes,1,rep,name=postgres_schemas,json=postgresSchemas,proto3" json:"postgres_schemas,omitempty"` } @@ -4052,6 +4129,7 @@ type MysqlSourceSchemaSubset struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The list of schemas (and their tables) along with any configuration options that will be used. MysqlSchemas []*MysqlSourceSchemaOption `protobuf:"bytes,1,rep,name=mysql_schemas,json=mysqlSchemas,proto3" json:"mysql_schemas,omitempty"` } @@ -4097,6 +4175,7 @@ type DynamoDBSourceSchemaSubset struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The list of tables (and their configuration) that reside within the schema Tables []*DynamoDBSourceTableOption `protobuf:"bytes,1,rep,name=tables,proto3" json:"tables,omitempty"` } @@ -4142,6 +4221,7 @@ type MssqlSourceSchemaSubset struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The list of schemas (and their tables) along with any configuration options that will be used. MssqlSchemas []*MssqlSourceSchemaOption `protobuf:"bytes,1,rep,name=mssql_schemas,json=mssqlSchemas,proto3" json:"mssql_schemas,omitempty"` } @@ -4266,18 +4346,22 @@ type isJobSourceSqlSubetSchemas_Schemas interface { } type JobSourceSqlSubetSchemas_PostgresSubset struct { + // The list of schemas (and their tables) along with any configuration options that will be used. PostgresSubset *PostgresSourceSchemaSubset `protobuf:"bytes,2,opt,name=postgres_subset,json=postgresSubset,proto3,oneof"` } type JobSourceSqlSubetSchemas_MysqlSubset struct { + // The list of schemas (and their tables) along with any configuration options that will be used. MysqlSubset *MysqlSourceSchemaSubset `protobuf:"bytes,3,opt,name=mysql_subset,json=mysqlSubset,proto3,oneof"` } type JobSourceSqlSubetSchemas_DynamodbSubset struct { + // The list of tables (and their configuration) that reside within the schema DynamodbSubset *DynamoDBSourceSchemaSubset `protobuf:"bytes,4,opt,name=dynamodb_subset,json=dynamodbSubset,proto3,oneof"` } type JobSourceSqlSubetSchemas_MssqlSubset struct { + // The list of schemas (and their tables) along with any configuration options that will be used. MssqlSubset *MssqlSourceSchemaSubset `protobuf:"bytes,5,opt,name=mssql_subset,json=mssqlSubset,proto3,oneof"` } @@ -4358,6 +4442,7 @@ type SetJobSourceSqlConnectionSubsetsResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The job that was updated Job *Job `protobuf:"bytes,1,opt,name=job,proto3" json:"job,omitempty"` } @@ -4403,10 +4488,14 @@ type UpdateJobDestinationConnectionRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"` - ConnectionId string `protobuf:"bytes,2,opt,name=connection_id,json=connectionId,proto3" json:"connection_id,omitempty"` - Options *JobDestinationOptions `protobuf:"bytes,3,opt,name=options,proto3" json:"options,omitempty"` - DestinationId string `protobuf:"bytes,4,opt,name=destination_id,json=destinationId,proto3" json:"destination_id,omitempty"` + // The unique identifier of the job + JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"` + // The unique identifier of the connection + ConnectionId string `protobuf:"bytes,2,opt,name=connection_id,json=connectionId,proto3" json:"connection_id,omitempty"` + // The destination connection options + Options *JobDestinationOptions `protobuf:"bytes,3,opt,name=options,proto3" json:"options,omitempty"` + // The unique identifier of the destination + DestinationId string `protobuf:"bytes,4,opt,name=destination_id,json=destinationId,proto3" json:"destination_id,omitempty"` } func (x *UpdateJobDestinationConnectionRequest) Reset() { @@ -4472,6 +4561,7 @@ type UpdateJobDestinationConnectionResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The job that was updated Job *Job `protobuf:"bytes,1,opt,name=job,proto3" json:"job,omitempty"` } @@ -4517,6 +4607,7 @@ type DeleteJobDestinationConnectionRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The unique identifier of the destination to delete DestinationId string `protobuf:"bytes,1,opt,name=destination_id,json=destinationId,proto3" json:"destination_id,omitempty"` } @@ -4598,7 +4689,9 @@ type CreateJobDestinationConnectionsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"` + // The unique identifier of the job + JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"` + // The list of destinations to create and associate with the job Destinations []*CreateJobDestination `protobuf:"bytes,2,rep,name=destinations,proto3" json:"destinations,omitempty"` } @@ -4651,6 +4744,7 @@ type CreateJobDestinationConnectionsResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The job that was updated Job *Job `protobuf:"bytes,1,opt,name=job,proto3" json:"job,omitempty"` } @@ -4696,6 +4790,7 @@ type DeleteJobRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The unique identifier of the job to delete Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` } @@ -4777,7 +4872,9 @@ type IsJobNameAvailableRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // The name to check for availability + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // The unique identifier of the account to check for availability AccountId string `protobuf:"bytes,2,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` } @@ -4830,6 +4927,7 @@ type IsJobNameAvailableResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // Whether the name is available IsAvailable bool `protobuf:"varint,1,opt,name=is_available,json=isAvailable,proto3" json:"is_available,omitempty"` } @@ -4938,10 +5036,12 @@ type isGetJobRunsRequest_Id interface { } type GetJobRunsRequest_JobId struct { + // Retireve runs for a specific job JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3,oneof"` } type GetJobRunsRequest_AccountId struct { + // Retrieve runs for all jobs in an account AccountId string `protobuf:"bytes,2,opt,name=account_id,json=accountId,proto3,oneof"` } @@ -4954,6 +5054,7 @@ type GetJobRunsResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The list of job runs JobRuns []*JobRun `protobuf:"bytes,1,rep,name=job_runs,json=jobRuns,proto3" json:"job_runs,omitempty"` } @@ -4999,7 +5100,9 @@ type GetJobRunRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - JobRunId string `protobuf:"bytes,1,opt,name=job_run_id,json=jobRunId,proto3" json:"job_run_id,omitempty"` + // The unique identifier of the job run + JobRunId string `protobuf:"bytes,1,opt,name=job_run_id,json=jobRunId,proto3" json:"job_run_id,omitempty"` + // The unique identifier of the account AccountId string `protobuf:"bytes,2,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` } @@ -5052,6 +5155,7 @@ type GetJobRunResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The job run that was retrieved JobRun *JobRun `protobuf:"bytes,1,opt,name=job_run,json=jobRun,proto3" json:"job_run,omitempty"` } @@ -5097,6 +5201,7 @@ type CreateJobRunRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The unique identifier of the job JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"` } @@ -5178,7 +5283,9 @@ type CancelJobRunRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - JobRunId string `protobuf:"bytes,1,opt,name=job_run_id,json=jobRunId,proto3" json:"job_run_id,omitempty"` + // The unique identifier of the job run + JobRunId string `protobuf:"bytes,1,opt,name=job_run_id,json=jobRunId,proto3" json:"job_run_id,omitempty"` + // The unique identifier of the account AccountId string `protobuf:"bytes,2,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` } @@ -5274,11 +5381,15 @@ type Job struct { UpdatedByUserId string `protobuf:"bytes,4,opt,name=updated_by_user_id,json=updatedByUserId,proto3" json:"updated_by_user_id,omitempty"` UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` // The unique, friendly name of the job - Name string `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"` - Source *JobSource `protobuf:"bytes,7,opt,name=source,proto3" json:"source,omitempty"` + Name string `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"` + // The source connection configuration + Source *JobSource `protobuf:"bytes,7,opt,name=source,proto3" json:"source,omitempty"` + // The list of destinations that will be used to store the data Destinations []*JobDestination `protobuf:"bytes,8,rep,name=destinations,proto3" json:"destinations,omitempty"` - Mappings []*JobMapping `protobuf:"bytes,9,rep,name=mappings,proto3" json:"mappings,omitempty"` - CronSchedule *string `protobuf:"bytes,10,opt,name=cron_schedule,json=cronSchedule,proto3,oneof" json:"cron_schedule,omitempty"` + // The list of mappings that will be used to transform the data + Mappings []*JobMapping `protobuf:"bytes,9,rep,name=mappings,proto3" json:"mappings,omitempty"` + // The cron schedule that will be used to trigger the job + CronSchedule *string `protobuf:"bytes,10,opt,name=cron_schedule,json=cronSchedule,proto3,oneof" json:"cron_schedule,omitempty"` // The account identifier that a job is associated with AccountId string `protobuf:"bytes,11,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` // Specify timeout and retry options for data synchronization activities @@ -5424,8 +5535,10 @@ type JobRecentRun struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The start time of the job run StartTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` - JobRunId string `protobuf:"bytes,2,opt,name=job_run_id,json=jobRunId,proto3" json:"job_run_id,omitempty"` + // The unique identifier of the job run + JobRunId string `protobuf:"bytes,2,opt,name=job_run_id,json=jobRunId,proto3" json:"job_run_id,omitempty"` } func (x *JobRecentRun) Reset() { @@ -5477,6 +5590,7 @@ type GetJobRecentRunsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The unique identifier of the job JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"` } @@ -5522,6 +5636,7 @@ type GetJobRecentRunsResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The list of recent job runs RecentRuns []*JobRecentRun `protobuf:"bytes,1,rep,name=recent_runs,json=recentRuns,proto3" json:"recent_runs,omitempty"` } @@ -5567,6 +5682,7 @@ type JobNextRuns struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The list of next run times NextRunTimes []*timestamppb.Timestamp `protobuf:"bytes,1,rep,name=next_run_times,json=nextRunTimes,proto3" json:"next_run_times,omitempty"` } @@ -5612,6 +5728,7 @@ type GetJobNextRunsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The unique identifier of the job JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"` } @@ -5657,6 +5774,7 @@ type GetJobNextRunsResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The list of next run times NextRuns *JobNextRuns `protobuf:"bytes,1,opt,name=next_runs,json=nextRuns,proto3" json:"next_runs,omitempty"` } @@ -5702,6 +5820,7 @@ type GetJobStatusRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The unique identifier of the job JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"` } @@ -5747,6 +5866,7 @@ type GetJobStatusResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The status of the job Status JobStatus `protobuf:"varint,1,opt,name=status,proto3,enum=mgmt.v1alpha1.JobStatus" json:"status,omitempty"` } @@ -5792,7 +5912,9 @@ type JobStatusRecord struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"` + // The unique identifier of the job + JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"` + // The status of the job Status JobStatus `protobuf:"varint,2,opt,name=status,proto3,enum=mgmt.v1alpha1.JobStatus" json:"status,omitempty"` } @@ -5845,6 +5967,7 @@ type GetJobStatusesRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The unique identifier of the account AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` } @@ -5890,6 +6013,7 @@ type GetJobStatusesResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The list of job statuses Statuses []*JobStatusRecord `protobuf:"bytes,1,rep,name=statuses,proto3" json:"statuses,omitempty"` } @@ -5935,6 +6059,7 @@ type ActivityFailure struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The message of the failure Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` } @@ -5980,9 +6105,12 @@ type PendingActivity struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Status ActivityStatus `protobuf:"varint,1,opt,name=status,proto3,enum=mgmt.v1alpha1.ActivityStatus" json:"status,omitempty"` - ActivityName string `protobuf:"bytes,2,opt,name=activity_name,json=activityName,proto3" json:"activity_name,omitempty"` - LastFailure *ActivityFailure `protobuf:"bytes,3,opt,name=last_failure,json=lastFailure,proto3,oneof" json:"last_failure,omitempty"` + // The status of the activity + Status ActivityStatus `protobuf:"varint,1,opt,name=status,proto3,enum=mgmt.v1alpha1.ActivityStatus" json:"status,omitempty"` + // The name of the activity + ActivityName string `protobuf:"bytes,2,opt,name=activity_name,json=activityName,proto3" json:"activity_name,omitempty"` + // The last failure of the activity + LastFailure *ActivityFailure `protobuf:"bytes,3,opt,name=last_failure,json=lastFailure,proto3,oneof" json:"last_failure,omitempty"` } func (x *PendingActivity) Reset() { @@ -6141,7 +6269,9 @@ type JobRunEventTaskError struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` + // The message of the error + Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` + // The retry state of the error RetryState string `protobuf:"bytes,2,opt,name=retry_state,json=retryState,proto3" json:"retry_state,omitempty"` } @@ -6194,10 +6324,14 @@ type JobRunEventTask struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` - Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"` + // The unique identifier of the task + Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + // The type of the task + Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"` + // The time of the event EventTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=event_time,json=eventTime,proto3" json:"event_time,omitempty"` - Error *JobRunEventTaskError `protobuf:"bytes,4,opt,name=error,proto3" json:"error,omitempty"` + // The error of the task + Error *JobRunEventTaskError `protobuf:"bytes,4,opt,name=error,proto3" json:"error,omitempty"` } func (x *JobRunEventTask) Reset() { @@ -6263,8 +6397,10 @@ type JobRunSyncMetadata struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The schema of the table Schema string `protobuf:"bytes,1,opt,name=schema,proto3" json:"schema,omitempty"` - Table string `protobuf:"bytes,2,opt,name=table,proto3" json:"table,omitempty"` + // The table of the sync + Table string `protobuf:"bytes,2,opt,name=table,proto3" json:"table,omitempty"` } func (x *JobRunSyncMetadata) Reset() { @@ -6371,6 +6507,7 @@ type isJobRunEventMetadata_Metadata interface { } type JobRunEventMetadata_SyncMetadata struct { + // The metadata of the sync SyncMetadata *JobRunSyncMetadata `protobuf:"bytes,1,opt,name=sync_metadata,json=syncMetadata,proto3,oneof"` } @@ -6381,12 +6518,18 @@ type JobRunEvent struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` - Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"` + // The unique identifier of the event + Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + // The type of the event + Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"` + // The start time of the event StartTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` + // The close time of the event CloseTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=close_time,json=closeTime,proto3" json:"close_time,omitempty"` - Metadata *JobRunEventMetadata `protobuf:"bytes,5,opt,name=metadata,proto3" json:"metadata,omitempty"` - Tasks []*JobRunEventTask `protobuf:"bytes,6,rep,name=tasks,proto3" json:"tasks,omitempty"` + // The metadata of the event + Metadata *JobRunEventMetadata `protobuf:"bytes,5,opt,name=metadata,proto3" json:"metadata,omitempty"` + // The list of tasks associated with the event + Tasks []*JobRunEventTask `protobuf:"bytes,6,rep,name=tasks,proto3" json:"tasks,omitempty"` } func (x *JobRunEvent) Reset() { @@ -6466,7 +6609,9 @@ type GetJobRunEventsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - JobRunId string `protobuf:"bytes,1,opt,name=job_run_id,json=jobRunId,proto3" json:"job_run_id,omitempty"` + // The unique identifier of the job run + JobRunId string `protobuf:"bytes,1,opt,name=job_run_id,json=jobRunId,proto3" json:"job_run_id,omitempty"` + // The unique identifier of the account AccountId string `protobuf:"bytes,2,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` } @@ -6519,8 +6664,10 @@ type GetJobRunEventsResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Events []*JobRunEvent `protobuf:"bytes,1,rep,name=events,proto3" json:"events,omitempty"` - IsRunComplete bool `protobuf:"varint,2,opt,name=is_run_complete,json=isRunComplete,proto3" json:"is_run_complete,omitempty"` + // The list of events + Events []*JobRunEvent `protobuf:"bytes,1,rep,name=events,proto3" json:"events,omitempty"` + // Whether the run is complete + IsRunComplete bool `protobuf:"varint,2,opt,name=is_run_complete,json=isRunComplete,proto3" json:"is_run_complete,omitempty"` } func (x *GetJobRunEventsResponse) Reset() { @@ -6572,7 +6719,9 @@ type DeleteJobRunRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - JobRunId string `protobuf:"bytes,1,opt,name=job_run_id,json=jobRunId,proto3" json:"job_run_id,omitempty"` + // The unique identifier of the job run + JobRunId string `protobuf:"bytes,1,opt,name=job_run_id,json=jobRunId,proto3" json:"job_run_id,omitempty"` + // The unique identifier of the account AccountId string `protobuf:"bytes,2,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` } @@ -6661,7 +6810,9 @@ type TerminateJobRunRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - JobRunId string `protobuf:"bytes,1,opt,name=job_run_id,json=jobRunId,proto3" json:"job_run_id,omitempty"` + // The unique identifier of the job run + JobRunId string `protobuf:"bytes,1,opt,name=job_run_id,json=jobRunId,proto3" json:"job_run_id,omitempty"` + // The unique identifier of the account AccountId string `protobuf:"bytes,2,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` } @@ -6750,7 +6901,9 @@ type GetJobRunLogsStreamRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - JobRunId string `protobuf:"bytes,1,opt,name=job_run_id,json=jobRunId,proto3" json:"job_run_id,omitempty"` + // The unique identifier of the job run + JobRunId string `protobuf:"bytes,1,opt,name=job_run_id,json=jobRunId,proto3" json:"job_run_id,omitempty"` + // The unique identifier of the account AccountId string `protobuf:"bytes,2,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` // The time window in which to retrieve the logs Window LogWindow `protobuf:"varint,3,opt,name=window,proto3,enum=mgmt.v1alpha1.LogWindow" json:"window,omitempty"` @@ -6839,7 +6992,9 @@ type GetJobRunLogsStreamResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - LogLine string `protobuf:"bytes,1,opt,name=log_line,json=logLine,proto3" json:"log_line,omitempty"` + // The log line + LogLine string `protobuf:"bytes,1,opt,name=log_line,json=logLine,proto3" json:"log_line,omitempty"` + // The timestamp of the log line Timestamp *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=timestamp,proto3,oneof" json:"timestamp,omitempty"` } @@ -6947,6 +7102,7 @@ type SetJobWorkflowOptionsResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The updated job Job *Job `protobuf:"bytes,1,opt,name=job,proto3" json:"job,omitempty"` } @@ -7047,6 +7203,7 @@ type SetJobSyncOptionsResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The updated job Job *Job `protobuf:"bytes,1,opt,name=job,proto3" json:"job,omitempty"` } @@ -7092,10 +7249,13 @@ type ValidateJobMappingsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The unique account identifier that this job will be associated with - AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` - Mappings []*JobMapping `protobuf:"bytes,2,rep,name=mappings,proto3" json:"mappings,omitempty"` - ConnectionId string `protobuf:"bytes,3,opt,name=connection_id,json=connectionId,proto3" json:"connection_id,omitempty"` + // The unique identifier of the account + AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + // The list of mappings to validate + Mappings []*JobMapping `protobuf:"bytes,2,rep,name=mappings,proto3" json:"mappings,omitempty"` + // The unique identifier of the connection + ConnectionId string `protobuf:"bytes,3,opt,name=connection_id,json=connectionId,proto3" json:"connection_id,omitempty"` + // The list of virtual foreign keys VirtualForeignKeys []*VirtualForeignConstraint `protobuf:"bytes,4,rep,name=virtual_foreign_keys,json=virtualForeignKeys,proto3" json:"virtual_foreign_keys,omitempty"` } @@ -7162,9 +7322,13 @@ type ColumnError struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Schema string `protobuf:"bytes,1,opt,name=schema,proto3" json:"schema,omitempty"` - Table string `protobuf:"bytes,2,opt,name=table,proto3" json:"table,omitempty"` - Column string `protobuf:"bytes,3,opt,name=column,proto3" json:"column,omitempty"` + // The schema of the table + Schema string `protobuf:"bytes,1,opt,name=schema,proto3" json:"schema,omitempty"` + // The table of the column + Table string `protobuf:"bytes,2,opt,name=table,proto3" json:"table,omitempty"` + // The column of the error + Column string `protobuf:"bytes,3,opt,name=column,proto3" json:"column,omitempty"` + // The list of errors Errors []string `protobuf:"bytes,4,rep,name=errors,proto3" json:"errors,omitempty"` } @@ -7231,6 +7395,7 @@ type DatabaseError struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The list of errors Errors []string `protobuf:"bytes,1,rep,name=errors,proto3" json:"errors,omitempty"` } @@ -7276,7 +7441,9 @@ type ValidateJobMappingsResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ColumnErrors []*ColumnError `protobuf:"bytes,1,rep,name=column_errors,json=columnErrors,proto3" json:"column_errors,omitempty"` + // The list of column errors + ColumnErrors []*ColumnError `protobuf:"bytes,1,rep,name=column_errors,json=columnErrors,proto3" json:"column_errors,omitempty"` + // The database error DatabaseErrors *DatabaseError `protobuf:"bytes,2,opt,name=database_errors,json=databaseErrors,proto3" json:"database_errors,omitempty"` } @@ -7329,8 +7496,11 @@ type VirtualForeignKey struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Schema string `protobuf:"bytes,1,opt,name=schema,proto3" json:"schema,omitempty"` - Table string `protobuf:"bytes,2,opt,name=table,proto3" json:"table,omitempty"` + // The schema of the table + Schema string `protobuf:"bytes,1,opt,name=schema,proto3" json:"schema,omitempty"` + // The table of the virtual foreign key + Table string `protobuf:"bytes,2,opt,name=table,proto3" json:"table,omitempty"` + // The list of columns Columns []string `protobuf:"bytes,3,rep,name=columns,proto3" json:"columns,omitempty"` } @@ -7390,9 +7560,13 @@ type VirtualForeignConstraint struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Schema string `protobuf:"bytes,1,opt,name=schema,proto3" json:"schema,omitempty"` - Table string `protobuf:"bytes,2,opt,name=table,proto3" json:"table,omitempty"` - Columns []string `protobuf:"bytes,3,rep,name=columns,proto3" json:"columns,omitempty"` + // The schema of the table + Schema string `protobuf:"bytes,1,opt,name=schema,proto3" json:"schema,omitempty"` + // The table of the virtual foreign key + Table string `protobuf:"bytes,2,opt,name=table,proto3" json:"table,omitempty"` + // The list of columns + Columns []string `protobuf:"bytes,3,rep,name=columns,proto3" json:"columns,omitempty"` + // The foreign key ForeignKey *VirtualForeignKey `protobuf:"bytes,4,opt,name=foreign_key,json=foreignKey,proto3" json:"foreign_key,omitempty"` } @@ -7523,6 +7697,7 @@ type GetRunContextRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The run context key Id *RunContextKey `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` } @@ -7568,6 +7743,7 @@ type GetRunContextResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The returned value in bytes. The format is determined by the key when it is set. Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` } @@ -7613,6 +7789,7 @@ type SetRunContextRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The run context key Id *RunContextKey `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // An opaque value that is to be determined by the key Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` @@ -7703,6 +7880,7 @@ type SetRunContextsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The run context key Id *RunContextKey `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // An opaque value that is to be determined by the key Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` @@ -9117,6 +9295,7 @@ type PostgresSourceConnectionOptions_ColumnRemovalStrategy_HaltJob_ struct { } type PostgresSourceConnectionOptions_ColumnRemovalStrategy_ContinueJob_ struct { + // continue job if a column is removed ContinueJob *PostgresSourceConnectionOptions_ColumnRemovalStrategy_ContinueJob `protobuf:"bytes,2,opt,name=continue_job,json=continueJob,proto3,oneof"` } @@ -9347,6 +9526,7 @@ type MysqlSourceConnectionOptions_ColumnRemovalStrategy_HaltJob_ struct { } type MysqlSourceConnectionOptions_ColumnRemovalStrategy_ContinueJob_ struct { + // continue job if a column is removed ContinueJob *MysqlSourceConnectionOptions_ColumnRemovalStrategy_ContinueJob `protobuf:"bytes,2,opt,name=continue_job,json=continueJob,proto3,oneof"` } @@ -9503,6 +9683,7 @@ type MssqlSourceConnectionOptions_ColumnRemovalStrategy_HaltJob_ struct { } type MssqlSourceConnectionOptions_ColumnRemovalStrategy_ContinueJob_ struct { + // continue job if a column is removed ContinueJob *MssqlSourceConnectionOptions_ColumnRemovalStrategy_ContinueJob `protobuf:"bytes,2,opt,name=continue_job,json=continueJob,proto3,oneof"` } @@ -9954,71 +10135,72 @@ var file_mgmt_v1alpha1_job_proto_rawDesc = []byte{ 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x22, 0x85, 0x01, 0x0a, 0x0e, 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x3e, 0x0a, 0x07, 0x6f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6d, 0x67, 0x6d, - 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x44, 0x65, - 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0xb6, 0x03, 0x0a, 0x17, 0x41, 0x69, - 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x32, 0x0a, 0x10, 0x61, 0x69, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x0e, 0x61, 0x69, 0x43, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x4f, 0x0a, 0x07, 0x73, 0x63, 0x68, - 0x65, 0x6d, 0x61, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6d, 0x67, 0x6d, - 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x41, 0x69, 0x47, 0x65, 0x6e, - 0x65, 0x72, 0x61, 0x74, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xba, 0x48, 0x05, 0x92, 0x01, 0x02, 0x08, - 0x01, 0x52, 0x07, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x12, 0x44, 0x0a, 0x17, 0x66, 0x6b, - 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, - 0x72, 0x03, 0xb0, 0x01, 0x01, 0x48, 0x00, 0x52, 0x14, 0x66, 0x6b, 0x53, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x88, 0x01, 0x01, - 0x12, 0x26, 0x0a, 0x0a, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x09, 0x6d, - 0x6f, 0x64, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, - 0x5f, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, - 0x0a, 0x75, 0x73, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x88, 0x01, 0x01, 0x12, 0x3e, - 0x0a, 0x13, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x62, 0x61, 0x74, 0x63, 0x68, - 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x42, 0x09, 0xba, 0x48, 0x06, - 0x22, 0x04, 0x18, 0x64, 0x28, 0x01, 0x48, 0x02, 0x52, 0x11, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, - 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x53, 0x69, 0x7a, 0x65, 0x88, 0x01, 0x01, 0x42, 0x1a, - 0x0a, 0x18, 0x5f, 0x66, 0x6b, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x75, - 0x73, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x67, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x69, - 0x7a, 0x65, 0x22, 0x8d, 0x01, 0x0a, 0x1c, 0x41, 0x69, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, - 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x73, 0x63, - 0x68, 0x65, 0x6d, 0x61, 0x12, 0x4c, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x73, 0x22, 0x8f, 0x01, 0x0a, 0x0e, 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, + 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x49, 0x64, 0x12, 0x3e, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x02, 0x69, 0x64, 0x22, 0xb6, 0x03, 0x0a, 0x17, 0x41, 0x69, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x32, 0x0a, 0x10, 0x61, 0x69, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, + 0xb0, 0x01, 0x01, 0x52, 0x0e, 0x61, 0x69, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x49, 0x64, 0x12, 0x4f, 0x0a, 0x07, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x41, 0x69, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x53, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x42, 0x08, 0xba, 0x48, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, - 0x65, 0x73, 0x22, 0x65, 0x0a, 0x1b, 0x41, 0x69, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, - 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x1d, 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, - 0x12, 0x27, 0x0a, 0x09, 0x72, 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x03, 0x42, 0x0a, 0xba, 0x48, 0x07, 0x22, 0x05, 0x18, 0xe8, 0x07, 0x28, 0x01, 0x52, - 0x08, 0x72, 0x6f, 0x77, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xc8, 0x01, 0x0a, 0x15, 0x47, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x12, 0x4d, 0x0a, 0x07, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x53, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, - 0x08, 0xba, 0x48, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x07, 0x73, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x73, 0x12, 0x44, 0x0a, 0x17, 0x66, 0x6b, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, - 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x48, 0x00, 0x52, - 0x14, 0x66, 0x6b, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x66, 0x6b, 0x5f, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x42, 0x08, 0xba, 0x48, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x07, 0x73, 0x63, 0x68, + 0x65, 0x6d, 0x61, 0x73, 0x12, 0x44, 0x0a, 0x17, 0x66, 0x6b, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x48, + 0x00, 0x52, 0x14, 0x66, 0x6b, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x6d, 0x6f, + 0x64, 0x65, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, + 0xba, 0x48, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x09, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x6d, 0x70, + 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x50, + 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x88, 0x01, 0x01, 0x12, 0x3e, 0x0a, 0x13, 0x67, 0x65, 0x6e, 0x65, + 0x72, 0x61, 0x74, 0x65, 0x5f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x03, 0x42, 0x09, 0xba, 0x48, 0x06, 0x22, 0x04, 0x18, 0x64, 0x28, 0x01, + 0x48, 0x02, 0x52, 0x11, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, + 0x68, 0x53, 0x69, 0x7a, 0x65, 0x88, 0x01, 0x01, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x66, 0x6b, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x69, 0x64, 0x22, 0x89, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x6e, 0x5f, 0x69, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x70, 0x72, + 0x6f, 0x6d, 0x70, 0x74, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x65, 0x5f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x8d, 0x01, 0x0a, + 0x1c, 0x41, 0x69, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, + 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, + 0x48, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x4c, + 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, + 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x41, + 0x69, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, + 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xba, 0x48, 0x05, 0x92, + 0x01, 0x02, 0x08, 0x01, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x22, 0x65, 0x0a, 0x1b, + 0x41, 0x69, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x05, 0x74, + 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, + 0x02, 0x10, 0x01, 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x27, 0x0a, 0x09, 0x72, 0x6f, + 0x77, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x0a, 0xba, + 0x48, 0x07, 0x22, 0x05, 0x18, 0xe8, 0x07, 0x28, 0x01, 0x52, 0x08, 0x72, 0x6f, 0x77, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x22, 0xce, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, + 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4d, 0x0a, + 0x07, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, + 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x63, 0x68, + 0x65, 0x6d, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xba, 0x48, 0x05, 0x92, 0x01, + 0x02, 0x08, 0x01, 0x52, 0x07, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x12, 0x44, 0x0a, 0x17, + 0x66, 0x6b, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, + 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x48, 0x00, 0x52, 0x14, 0x66, 0x6b, 0x53, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x88, + 0x01, 0x01, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x66, 0x6b, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x4a, 0x04, + 0x08, 0x02, 0x10, 0x03, 0x22, 0x89, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x73, 0x63, @@ -10057,7 +10239,7 @@ var file_mgmt_v1alpha1_job_proto_rawDesc = []byte{ 0x34, 0x0a, 0x16, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x61, 0x64, 0x22, 0x83, 0x02, 0x0a, 0x25, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x6f, + 0x74, 0x52, 0x65, 0x61, 0x64, 0x22, 0x8f, 0x02, 0x0a, 0x25, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x6f, 0x44, 0x42, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x6e, 0x6d, 0x61, 0x70, 0x70, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x32, 0x0a, 0x01, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6d, 0x67, 0x6d, @@ -10073,19 +10255,165 @@ var file_mgmt_v1alpha1_job_proto_rawDesc = []byte{ 0x72, 0x6d, 0x65, 0x72, 0x52, 0x01, 0x6e, 0x12, 0x32, 0x0a, 0x01, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x54, 0x72, 0x61, - 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x52, 0x01, 0x73, 0x22, 0x73, 0x0a, 0x19, 0x44, - 0x79, 0x6e, 0x61, 0x6d, 0x6f, 0x44, 0x42, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x61, 0x62, - 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, 0x10, 0x01, - 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x77, 0x68, 0x65, 0x72, 0x65, - 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x0b, 0x77, 0x68, 0x65, 0x72, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x88, 0x01, 0x01, 0x42, - 0x0f, 0x0a, 0x0d, 0x5f, 0x77, 0x68, 0x65, 0x72, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, - 0x22, 0xaf, 0x08, 0x0a, 0x1f, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x53, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x43, 0x0a, 0x07, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, + 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x52, 0x01, 0x73, 0x4a, 0x04, 0x08, 0x03, 0x10, + 0x04, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x22, 0x73, 0x0a, 0x19, 0x44, 0x79, 0x6e, 0x61, 0x6d, + 0x6f, 0x44, 0x42, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x05, 0x74, 0x61, + 0x62, 0x6c, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x77, 0x68, 0x65, 0x72, 0x65, 0x5f, 0x63, 0x6c, 0x61, + 0x75, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x77, 0x68, 0x65, + 0x72, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, + 0x77, 0x68, 0x65, 0x72, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x22, 0xaf, 0x08, 0x0a, + 0x1f, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x43, 0x0a, 0x07, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x29, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x73, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x73, 0x12, 0x2d, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, + 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x48, 0x0a, 0x21, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x5f, 0x62, + 0x79, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x1d, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x42, 0x79, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, + 0x4b, 0x65, 0x79, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x89, + 0x01, 0x0a, 0x1c, 0x6e, 0x65, 0x77, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x61, 0x64, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x53, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4e, 0x65, 0x77, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x41, + 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, + 0x19, 0x6e, 0x65, 0x77, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x7c, 0x0a, 0x17, 0x63, 0x6f, + 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x72, + 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x6d, 0x67, + 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, + 0x67, 0x72, 0x65, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x43, 0x6f, 0x6c, 0x75, + 0x6d, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, + 0x79, 0x52, 0x15, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, + 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x1a, 0x9b, 0x02, 0x0a, 0x19, 0x4e, 0x65, 0x77, + 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, + 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x6d, 0x0a, 0x08, 0x68, 0x61, 0x6c, 0x74, 0x5f, 0x6a, + 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x50, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, + 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4e, 0x65, 0x77, 0x43, 0x6f, 0x6c, 0x75, + 0x6d, 0x6e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, + 0x67, 0x79, 0x2e, 0x48, 0x61, 0x6c, 0x74, 0x4a, 0x6f, 0x62, 0x48, 0x00, 0x52, 0x07, 0x68, 0x61, + 0x6c, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x6d, 0x0a, 0x08, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x6d, 0x61, + 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x50, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, + 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4e, 0x65, 0x77, 0x43, 0x6f, 0x6c, 0x75, 0x6d, + 0x6e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, + 0x79, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x4d, 0x61, 0x70, 0x48, 0x00, 0x52, 0x07, 0x61, 0x75, 0x74, + 0x6f, 0x4d, 0x61, 0x70, 0x1a, 0x09, 0x0a, 0x07, 0x48, 0x61, 0x6c, 0x74, 0x4a, 0x6f, 0x62, 0x1a, + 0x09, 0x0a, 0x07, 0x41, 0x75, 0x74, 0x6f, 0x4d, 0x61, 0x70, 0x42, 0x0a, 0x0a, 0x08, 0x73, 0x74, + 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x1a, 0x9f, 0x02, 0x0a, 0x15, 0x43, 0x6f, 0x6c, 0x75, 0x6d, + 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, + 0x12, 0x69, 0x0a, 0x08, 0x68, 0x61, 0x6c, 0x74, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x4c, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, + 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x2e, 0x48, 0x61, 0x6c, 0x74, 0x4a, 0x6f, 0x62, + 0x48, 0x00, 0x52, 0x07, 0x68, 0x61, 0x6c, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x75, 0x0a, 0x0c, 0x63, + 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x50, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x53, + 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, + 0x4a, 0x6f, 0x62, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x4a, + 0x6f, 0x62, 0x1a, 0x09, 0x0a, 0x07, 0x48, 0x61, 0x6c, 0x74, 0x4a, 0x6f, 0x62, 0x1a, 0x0d, 0x0a, + 0x0b, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x4a, 0x6f, 0x62, 0x42, 0x0a, 0x0a, 0x08, + 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x22, 0x89, + 0x01, 0x0a, 0x1a, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, + 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, + 0x48, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x4a, + 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, + 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, + 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x61, 0x62, + 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xba, 0x48, 0x05, 0x92, 0x01, 0x02, + 0x08, 0x01, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x22, 0x73, 0x0a, 0x19, 0x50, 0x6f, + 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x61, 0x62, 0x6c, + 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, + 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x77, 0x68, 0x65, 0x72, 0x65, 0x5f, + 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, + 0x77, 0x68, 0x65, 0x72, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0f, + 0x0a, 0x0d, 0x5f, 0x77, 0x68, 0x65, 0x72, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x22, + 0xae, 0x05, 0x0a, 0x1c, 0x4d, 0x79, 0x73, 0x71, 0x6c, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x3c, 0x0a, 0x1b, 0x68, 0x61, 0x6c, 0x74, 0x5f, 0x6f, 0x6e, 0x5f, 0x6e, 0x65, 0x77, 0x5f, + 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x68, 0x61, 0x6c, 0x74, 0x4f, 0x6e, 0x4e, 0x65, 0x77, + 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, + 0x0a, 0x07, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x26, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, + 0x4d, 0x79, 0x73, 0x71, 0x6c, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, + 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, + 0x12, 0x2d, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, + 0x01, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, + 0x48, 0x0a, 0x21, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x5f, 0x62, 0x79, 0x5f, 0x66, 0x6f, 0x72, + 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, + 0x69, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1d, 0x73, 0x75, 0x62, 0x73, + 0x65, 0x74, 0x42, 0x79, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4b, 0x65, 0x79, 0x43, 0x6f, + 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x79, 0x0a, 0x17, 0x63, 0x6f, 0x6c, + 0x75, 0x6d, 0x6e, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x72, 0x61, + 0x74, 0x65, 0x67, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x6d, 0x67, 0x6d, + 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x79, 0x73, 0x71, 0x6c, + 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x65, + 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x15, 0x63, + 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x72, 0x61, + 0x74, 0x65, 0x67, 0x79, 0x1a, 0x99, 0x02, 0x0a, 0x15, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, + 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x66, + 0x0a, 0x08, 0x68, 0x61, 0x6c, 0x74, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x49, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, + 0x2e, 0x4d, 0x79, 0x73, 0x71, 0x6c, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x43, 0x6f, + 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x72, 0x61, 0x74, + 0x65, 0x67, 0x79, 0x2e, 0x48, 0x61, 0x6c, 0x74, 0x4a, 0x6f, 0x62, 0x48, 0x00, 0x52, 0x07, 0x68, + 0x61, 0x6c, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x72, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, + 0x75, 0x65, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4d, 0x2e, 0x6d, + 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x79, 0x73, + 0x71, 0x6c, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x2e, + 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x4a, 0x6f, 0x62, 0x48, 0x00, 0x52, 0x0b, 0x63, + 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x4a, 0x6f, 0x62, 0x1a, 0x09, 0x0a, 0x07, 0x48, 0x61, + 0x6c, 0x74, 0x4a, 0x6f, 0x62, 0x1a, 0x0d, 0x0a, 0x0b, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, + 0x65, 0x4a, 0x6f, 0x62, 0x42, 0x0a, 0x0a, 0x08, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, + 0x22, 0x83, 0x01, 0x0a, 0x17, 0x4d, 0x79, 0x73, 0x71, 0x6c, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x06, + 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, + 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x47, 0x0a, + 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, + 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x79, + 0x73, 0x71, 0x6c, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xba, 0x48, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x06, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x22, 0x70, 0x0a, 0x16, 0x4d, 0x79, 0x73, 0x71, 0x6c, 0x53, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x1d, 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, + 0x26, 0x0a, 0x0c, 0x77, 0x68, 0x65, 0x72, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x77, 0x68, 0x65, 0x72, 0x65, 0x43, 0x6c, + 0x61, 0x75, 0x73, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x77, 0x68, 0x65, 0x72, + 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x22, 0xae, 0x05, 0x0a, 0x1c, 0x4d, 0x73, 0x73, + 0x71, 0x6c, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3c, 0x0a, 0x1b, 0x68, 0x61, 0x6c, + 0x74, 0x5f, 0x6f, 0x6e, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, + 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, + 0x68, 0x61, 0x6c, 0x74, 0x4f, 0x6e, 0x4e, 0x65, 0x77, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x41, + 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x07, 0x73, 0x63, 0x68, 0x65, 0x6d, + 0x61, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x73, 0x71, 0x6c, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x12, 0x2d, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, @@ -10095,1543 +10423,1415 @@ var file_mgmt_v1alpha1_job_proto_rawDesc = []byte{ 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1d, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x42, 0x79, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4b, 0x65, 0x79, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, - 0x74, 0x73, 0x12, 0x89, 0x01, 0x0a, 0x1c, 0x6e, 0x65, 0x77, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, - 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, - 0x65, 0x67, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x6d, 0x67, 0x6d, 0x74, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, - 0x65, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4e, 0x65, 0x77, 0x43, 0x6f, 0x6c, - 0x75, 0x6d, 0x6e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x72, 0x61, 0x74, - 0x65, 0x67, 0x79, 0x52, 0x19, 0x6e, 0x65, 0x77, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x41, 0x64, - 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x7c, - 0x0a, 0x17, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, - 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x44, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, - 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, - 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x72, - 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x15, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x1a, 0x9b, 0x02, 0x0a, - 0x19, 0x4e, 0x65, 0x77, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x6d, 0x0a, 0x08, 0x68, 0x61, - 0x6c, 0x74, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x50, 0x2e, 0x6d, - 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x73, - 0x74, 0x67, 0x72, 0x65, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4e, 0x65, 0x77, - 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, - 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x2e, 0x48, 0x61, 0x6c, 0x74, 0x4a, 0x6f, 0x62, 0x48, 0x00, - 0x52, 0x07, 0x68, 0x61, 0x6c, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x6d, 0x0a, 0x08, 0x61, 0x75, 0x74, - 0x6f, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x50, 0x2e, 0x6d, 0x67, - 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, - 0x67, 0x72, 0x65, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4e, 0x65, 0x77, 0x43, - 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x72, - 0x61, 0x74, 0x65, 0x67, 0x79, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x4d, 0x61, 0x70, 0x48, 0x00, 0x52, - 0x07, 0x61, 0x75, 0x74, 0x6f, 0x4d, 0x61, 0x70, 0x1a, 0x09, 0x0a, 0x07, 0x48, 0x61, 0x6c, 0x74, - 0x4a, 0x6f, 0x62, 0x1a, 0x09, 0x0a, 0x07, 0x41, 0x75, 0x74, 0x6f, 0x4d, 0x61, 0x70, 0x42, 0x0a, - 0x0a, 0x08, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x1a, 0x9f, 0x02, 0x0a, 0x15, 0x43, - 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x72, 0x61, - 0x74, 0x65, 0x67, 0x79, 0x12, 0x69, 0x0a, 0x08, 0x68, 0x61, 0x6c, 0x74, 0x5f, 0x6a, 0x6f, 0x62, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4c, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x53, + 0x74, 0x73, 0x12, 0x79, 0x0a, 0x17, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x72, 0x65, 0x6d, + 0x6f, 0x76, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x73, 0x71, 0x6c, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x53, 0x74, + 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x15, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x65, + 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x1a, 0x99, 0x02, + 0x0a, 0x15, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x53, + 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x66, 0x0a, 0x08, 0x68, 0x61, 0x6c, 0x74, 0x5f, + 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x6d, 0x67, 0x6d, 0x74, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x73, 0x71, 0x6c, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x2e, 0x48, 0x61, 0x6c, 0x74, 0x4a, 0x6f, 0x62, 0x48, 0x00, 0x52, 0x07, 0x68, 0x61, 0x6c, 0x74, 0x4a, 0x6f, 0x62, 0x12, - 0x75, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x5f, 0x6a, 0x6f, 0x62, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x50, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x53, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x65, 0x6d, 0x6f, - 0x76, 0x61, 0x6c, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x2e, 0x43, 0x6f, 0x6e, 0x74, - 0x69, 0x6e, 0x75, 0x65, 0x4a, 0x6f, 0x62, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x69, - 0x6e, 0x75, 0x65, 0x4a, 0x6f, 0x62, 0x1a, 0x09, 0x0a, 0x07, 0x48, 0x61, 0x6c, 0x74, 0x4a, 0x6f, - 0x62, 0x1a, 0x0d, 0x0a, 0x0b, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x4a, 0x6f, 0x62, - 0x42, 0x0a, 0x0a, 0x08, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x4a, 0x04, 0x08, 0x01, - 0x10, 0x02, 0x22, 0x76, 0x0a, 0x1a, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x53, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x40, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, - 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, - 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x22, 0x6a, 0x0a, 0x19, 0x50, 0x6f, - 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x61, 0x62, 0x6c, - 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x26, 0x0a, - 0x0c, 0x77, 0x68, 0x65, 0x72, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x77, 0x68, 0x65, 0x72, 0x65, 0x43, 0x6c, 0x61, 0x75, - 0x73, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x77, 0x68, 0x65, 0x72, 0x65, 0x5f, - 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x22, 0xae, 0x05, 0x0a, 0x1c, 0x4d, 0x79, 0x73, 0x71, 0x6c, - 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3c, 0x0a, 0x1b, 0x68, 0x61, 0x6c, 0x74, 0x5f, - 0x6f, 0x6e, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x61, 0x64, - 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x68, 0x61, - 0x6c, 0x74, 0x4f, 0x6e, 0x4e, 0x65, 0x77, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x41, 0x64, 0x64, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x07, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x79, 0x73, 0x71, 0x6c, 0x53, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, - 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x12, 0x2d, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, - 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x48, 0x0a, 0x21, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, - 0x5f, 0x62, 0x79, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x5f, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x1d, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x42, 0x79, 0x46, 0x6f, 0x72, 0x65, 0x69, - 0x67, 0x6e, 0x4b, 0x65, 0x79, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, - 0x12, 0x79, 0x0a, 0x17, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, - 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x41, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x31, 0x2e, 0x4d, 0x79, 0x73, 0x71, 0x6c, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x43, - 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x72, 0x61, - 0x74, 0x65, 0x67, 0x79, 0x52, 0x15, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x65, 0x6d, 0x6f, - 0x76, 0x61, 0x6c, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x1a, 0x99, 0x02, 0x0a, 0x15, - 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x72, - 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x66, 0x0a, 0x08, 0x68, 0x61, 0x6c, 0x74, 0x5f, 0x6a, 0x6f, - 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x79, 0x73, 0x71, 0x6c, 0x53, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x76, - 0x61, 0x6c, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x2e, 0x48, 0x61, 0x6c, 0x74, 0x4a, - 0x6f, 0x62, 0x48, 0x00, 0x52, 0x07, 0x68, 0x61, 0x6c, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x72, 0x0a, - 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x4d, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x79, 0x73, 0x71, 0x6c, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x53, 0x74, - 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x4a, - 0x6f, 0x62, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x4a, 0x6f, - 0x62, 0x1a, 0x09, 0x0a, 0x07, 0x48, 0x61, 0x6c, 0x74, 0x4a, 0x6f, 0x62, 0x1a, 0x0d, 0x0a, 0x0b, - 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x4a, 0x6f, 0x62, 0x42, 0x0a, 0x0a, 0x08, 0x73, - 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x22, 0x70, 0x0a, 0x17, 0x4d, 0x79, 0x73, 0x71, 0x6c, - 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x3d, 0x0a, 0x06, 0x74, 0x61, - 0x62, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6d, 0x67, 0x6d, - 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x79, 0x73, 0x71, 0x6c, - 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x22, 0x67, 0x0a, 0x16, 0x4d, 0x79, 0x73, - 0x71, 0x6c, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x77, 0x68, 0x65, - 0x72, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x0b, 0x77, 0x68, 0x65, 0x72, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x88, 0x01, - 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x77, 0x68, 0x65, 0x72, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, - 0x73, 0x65, 0x22, 0xae, 0x05, 0x0a, 0x1c, 0x4d, 0x73, 0x73, 0x71, 0x6c, 0x53, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x12, 0x3c, 0x0a, 0x1b, 0x68, 0x61, 0x6c, 0x74, 0x5f, 0x6f, 0x6e, 0x5f, 0x6e, - 0x65, 0x77, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x68, 0x61, 0x6c, 0x74, 0x4f, 0x6e, - 0x4e, 0x65, 0x77, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x40, 0x0a, 0x07, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x73, 0x71, 0x6c, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x63, - 0x68, 0x65, 0x6d, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x73, 0x63, 0x68, 0x65, - 0x6d, 0x61, 0x73, 0x12, 0x2d, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, - 0x03, 0xb0, 0x01, 0x01, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x64, 0x12, 0x48, 0x0a, 0x21, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x5f, 0x62, 0x79, 0x5f, - 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1d, 0x73, - 0x75, 0x62, 0x73, 0x65, 0x74, 0x42, 0x79, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4b, 0x65, - 0x79, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x79, 0x0a, 0x17, - 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x5f, 0x73, - 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, - 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x73, - 0x73, 0x71, 0x6c, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, - 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, - 0x52, 0x15, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x53, - 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x1a, 0x99, 0x02, 0x0a, 0x15, 0x43, 0x6f, 0x6c, 0x75, - 0x6d, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, - 0x79, 0x12, 0x66, 0x0a, 0x08, 0x68, 0x61, 0x6c, 0x74, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x73, 0x71, 0x6c, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x53, 0x74, - 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x2e, 0x48, 0x61, 0x6c, 0x74, 0x4a, 0x6f, 0x62, 0x48, 0x00, - 0x52, 0x07, 0x68, 0x61, 0x6c, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x72, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, - 0x74, 0x69, 0x6e, 0x75, 0x65, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x4d, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, - 0x4d, 0x73, 0x73, 0x71, 0x6c, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x43, 0x6f, 0x6c, - 0x75, 0x6d, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, - 0x67, 0x79, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x4a, 0x6f, 0x62, 0x48, 0x00, - 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x4a, 0x6f, 0x62, 0x1a, 0x09, 0x0a, - 0x07, 0x48, 0x61, 0x6c, 0x74, 0x4a, 0x6f, 0x62, 0x1a, 0x0d, 0x0a, 0x0b, 0x43, 0x6f, 0x6e, 0x74, - 0x69, 0x6e, 0x75, 0x65, 0x4a, 0x6f, 0x62, 0x42, 0x0a, 0x0a, 0x08, 0x73, 0x74, 0x72, 0x61, 0x74, - 0x65, 0x67, 0x79, 0x22, 0x70, 0x0a, 0x17, 0x4d, 0x73, 0x73, 0x71, 0x6c, 0x53, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, - 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x3d, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, + 0x72, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x5f, 0x6a, 0x6f, 0x62, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4d, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x73, 0x71, 0x6c, 0x53, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, + 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, + 0x65, 0x4a, 0x6f, 0x62, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, + 0x4a, 0x6f, 0x62, 0x1a, 0x09, 0x0a, 0x07, 0x48, 0x61, 0x6c, 0x74, 0x4a, 0x6f, 0x62, 0x1a, 0x0d, + 0x0a, 0x0b, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x4a, 0x6f, 0x62, 0x42, 0x0a, 0x0a, + 0x08, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x22, 0x83, 0x01, 0x0a, 0x17, 0x4d, 0x73, + 0x73, 0x71, 0x6c, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, + 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x47, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x73, 0x71, 0x6c, 0x53, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x74, - 0x61, 0x62, 0x6c, 0x65, 0x73, 0x22, 0x67, 0x0a, 0x16, 0x4d, 0x73, 0x73, 0x71, 0x6c, 0x53, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x14, 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x77, 0x68, 0x65, 0x72, 0x65, 0x5f, 0x63, - 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x77, - 0x68, 0x65, 0x72, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, - 0x0d, 0x5f, 0x77, 0x68, 0x65, 0x72, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x22, 0x4d, - 0x0a, 0x1c, 0x41, 0x77, 0x73, 0x53, 0x33, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2d, - 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, - 0x0c, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xcf, 0x05, - 0x0a, 0x15, 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x60, 0x0a, 0x10, 0x70, 0x6f, 0x73, 0x74, 0x67, - 0x72, 0x65, 0x73, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x33, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0f, 0x70, 0x6f, 0x73, 0x74, 0x67, 0x72, - 0x65, 0x73, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x58, 0x0a, 0x0e, 0x61, 0x77, 0x73, - 0x5f, 0x73, 0x33, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x30, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x31, 0x2e, 0x41, 0x77, 0x73, 0x53, 0x33, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x77, 0x73, 0x53, 0x33, 0x4f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x12, 0x57, 0x0a, 0x0d, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x5f, 0x6f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6d, 0x67, 0x6d, - 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x79, 0x73, 0x71, 0x6c, - 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0c, - 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5d, 0x0a, 0x0f, - 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x64, 0x62, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x6e, 0x67, 0x6f, 0x44, 0x42, 0x44, 0x65, 0x73, - 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0e, 0x6d, 0x6f, 0x6e, - 0x67, 0x6f, 0x64, 0x62, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x76, 0x0a, 0x18, 0x67, - 0x63, 0x70, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, - 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, - 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x63, - 0x70, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x44, 0x65, 0x73, + 0x63, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xba, + 0x48, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x22, + 0x70, 0x0a, 0x16, 0x4d, 0x73, 0x73, 0x71, 0x6c, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x61, + 0x62, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x05, 0x74, 0x61, 0x62, + 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, 0x10, + 0x01, 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x77, 0x68, 0x65, 0x72, + 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x0b, 0x77, 0x68, 0x65, 0x72, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x88, 0x01, 0x01, + 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x77, 0x68, 0x65, 0x72, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, + 0x65, 0x22, 0x4d, 0x0a, 0x1c, 0x41, 0x77, 0x73, 0x53, 0x33, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x2d, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, + 0x01, 0x01, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x22, 0xcf, 0x05, 0x0a, 0x15, 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x60, 0x0a, 0x10, 0x70, 0x6f, + 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x16, 0x67, 0x63, 0x70, - 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x12, 0x60, 0x0a, 0x10, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x6f, 0x64, 0x62, 0x5f, - 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, - 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x44, 0x79, - 0x6e, 0x61, 0x6d, 0x6f, 0x44, 0x42, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x6f, 0x64, 0x62, 0x4f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x57, 0x0a, 0x0d, 0x6d, 0x73, 0x73, 0x71, 0x6c, 0x5f, 0x6f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6d, - 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x73, - 0x71, 0x6c, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, - 0x52, 0x0c, 0x6d, 0x73, 0x73, 0x71, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x0f, - 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x05, 0xba, 0x48, 0x02, 0x08, 0x01, 0x22, - 0x25, 0x0a, 0x23, 0x4d, 0x6f, 0x6e, 0x67, 0x6f, 0x44, 0x42, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, + 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0f, 0x70, 0x6f, 0x73, + 0x74, 0x67, 0x72, 0x65, 0x73, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x58, 0x0a, 0x0e, + 0x61, 0x77, 0x73, 0x5f, 0x73, 0x33, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x31, 0x2e, 0x41, 0x77, 0x73, 0x53, 0x33, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x2d, 0x0a, 0x2b, 0x47, 0x63, 0x70, 0x43, 0x6c, 0x6f, - 0x75, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x77, 0x73, 0x53, 0x33, 0x4f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x57, 0x0a, 0x0d, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x5f, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, + 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x79, + 0x73, 0x71, 0x6c, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, + 0x00, 0x52, 0x0c, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x5d, 0x0a, 0x0f, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x64, 0x62, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x6e, 0x67, 0x6f, 0x44, 0x42, + 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0e, + 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x64, 0x62, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x76, + 0x0a, 0x18, 0x67, 0x63, 0x70, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x3a, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, + 0x2e, 0x47, 0x63, 0x70, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, + 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x16, + 0x67, 0x63, 0x70, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x60, 0x0a, 0x10, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x6f, + 0x64, 0x62, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x33, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, + 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x6f, 0x44, 0x42, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x7d, 0x0a, 0x24, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x6f, 0x44, - 0x42, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x55, 0x0a, - 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x6f, 0x44, 0x42, 0x44, 0x65, - 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x61, - 0x70, 0x70, 0x69, 0x6e, 0x67, 0x52, 0x0d, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x70, 0x70, - 0x69, 0x6e, 0x67, 0x73, 0x22, 0x71, 0x0a, 0x1f, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x6f, 0x44, 0x42, - 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, - 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x64, 0x65, - 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x22, 0xa4, 0x03, 0x0a, 0x24, 0x50, 0x6f, 0x73, 0x74, - 0x67, 0x72, 0x65, 0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x6f, 0x64, + 0x62, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x57, 0x0a, 0x0d, 0x6d, 0x73, 0x73, 0x71, + 0x6c, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x30, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, + 0x4d, 0x73, 0x73, 0x71, 0x6c, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x48, 0x00, 0x52, 0x0c, 0x6d, 0x73, 0x73, 0x71, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x42, 0x0f, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x05, 0xba, 0x48, 0x02, + 0x08, 0x01, 0x22, 0x25, 0x0a, 0x23, 0x4d, 0x6f, 0x6e, 0x67, 0x6f, 0x44, 0x42, 0x44, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x2d, 0x0a, 0x2b, 0x47, 0x63, 0x70, + 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x44, 0x65, 0x73, 0x74, + 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x7d, 0x0a, 0x24, 0x44, 0x79, 0x6e, 0x61, + 0x6d, 0x6f, 0x44, 0x42, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x12, 0x51, 0x0a, 0x0e, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x61, 0x62, - 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, - 0x73, 0x54, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x54, 0x61, - 0x62, 0x6c, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x6e, 0x69, 0x74, 0x5f, 0x74, 0x61, 0x62, 0x6c, - 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, - 0x69, 0x6e, 0x69, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, - 0x48, 0x0a, 0x0b, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x4f, 0x6e, 0x43, - 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0a, 0x6f, - 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x1b, 0x73, 0x6b, 0x69, - 0x70, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x69, - 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, - 0x73, 0x6b, 0x69, 0x70, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4b, 0x65, 0x79, 0x56, 0x69, - 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x30, 0x0a, 0x05, 0x62, 0x61, 0x74, 0x63, - 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x52, 0x05, 0x62, 0x61, 0x74, 0x63, 0x68, 0x12, 0x30, 0x0a, 0x0d, 0x6d, 0x61, - 0x78, 0x5f, 0x69, 0x6e, 0x5f, 0x66, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x0d, 0x42, 0x07, 0xba, 0x48, 0x04, 0x2a, 0x02, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x6d, 0x61, - 0x78, 0x49, 0x6e, 0x46, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, - 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x6e, 0x5f, 0x66, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x22, 0xc4, - 0x02, 0x0a, 0x18, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, - 0x66, 0x6c, 0x69, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x64, - 0x6f, 0x5f, 0x6e, 0x6f, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x09, 0x64, 0x6f, 0x4e, 0x6f, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x12, 0x5f, 0x0a, 0x07, 0x6e, 0x6f, - 0x74, 0x68, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x6d, 0x67, - 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, - 0x67, 0x72, 0x65, 0x73, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x4f, 0x6e, 0x43, - 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x44, 0x6f, 0x4e, 0x6f, 0x74, 0x68, 0x69, 0x6e, 0x67, - 0x48, 0x00, 0x52, 0x07, 0x6e, 0x6f, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x12, 0x5a, 0x0a, 0x06, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x6d, 0x67, + 0x12, 0x55, 0x0a, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, + 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x6f, 0x44, + 0x42, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, + 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x52, 0x0d, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4d, + 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x71, 0x0a, 0x1f, 0x44, 0x79, 0x6e, 0x61, 0x6d, + 0x6f, 0x44, 0x42, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, + 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x2b, 0x0a, + 0x11, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x62, + 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x22, 0xa4, 0x03, 0x0a, 0x24, 0x50, + 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x51, 0x0a, 0x0e, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x5f, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, - 0x67, 0x72, 0x65, 0x73, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x4f, 0x6e, 0x43, - 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, - 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x1a, 0x1d, 0x0a, 0x1b, 0x50, 0x6f, 0x73, 0x74, 0x67, - 0x72, 0x65, 0x73, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x44, 0x6f, 0x4e, - 0x6f, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x1a, 0x1a, 0x0a, 0x18, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, - 0x65, 0x73, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x42, 0x11, 0x0a, 0x08, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x05, - 0xba, 0x48, 0x02, 0x08, 0x00, 0x22, 0x6d, 0x0a, 0x1b, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, - 0x73, 0x54, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x12, 0x34, 0x0a, 0x16, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, - 0x5f, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x42, 0x65, - 0x66, 0x6f, 0x72, 0x65, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x61, - 0x73, 0x63, 0x61, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x63, 0x61, 0x73, - 0x63, 0x61, 0x64, 0x65, 0x22, 0x9b, 0x03, 0x0a, 0x21, 0x4d, 0x79, 0x73, 0x71, 0x6c, 0x44, 0x65, - 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4e, 0x0a, 0x0e, 0x74, 0x72, - 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x31, 0x2e, 0x4d, 0x79, 0x73, 0x71, 0x6c, 0x54, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, - 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x74, 0x72, 0x75, - 0x6e, 0x63, 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x6e, - 0x69, 0x74, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x6e, 0x69, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, - 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x45, 0x0a, 0x0b, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, - 0x66, 0x6c, 0x69, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6d, 0x67, - 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x79, 0x73, 0x71, - 0x6c, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x52, 0x0a, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x12, 0x3d, 0x0a, - 0x1b, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x6b, 0x65, - 0x79, 0x5f, 0x76, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x18, 0x73, 0x6b, 0x69, 0x70, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4b, - 0x65, 0x79, 0x56, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x30, 0x0a, 0x05, - 0x62, 0x61, 0x74, 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6d, 0x67, - 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, - 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x05, 0x62, 0x61, 0x74, 0x63, 0x68, 0x12, 0x30, - 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x6e, 0x5f, 0x66, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, 0xba, 0x48, 0x04, 0x2a, 0x02, 0x28, 0x01, 0x48, 0x00, - 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x49, 0x6e, 0x46, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x88, 0x01, 0x01, - 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x6e, 0x5f, 0x66, 0x6c, 0x69, 0x67, - 0x68, 0x74, 0x22, 0x50, 0x0a, 0x18, 0x4d, 0x79, 0x73, 0x71, 0x6c, 0x54, 0x72, 0x75, 0x6e, 0x63, - 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x34, - 0x0a, 0x16, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x62, 0x65, 0x66, 0x6f, 0x72, - 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, - 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x49, 0x6e, - 0x73, 0x65, 0x72, 0x74, 0x22, 0xaf, 0x02, 0x0a, 0x15, 0x4d, 0x79, 0x73, 0x71, 0x6c, 0x4f, 0x6e, + 0x67, 0x72, 0x65, 0x73, 0x54, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, + 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, + 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x6e, 0x69, 0x74, 0x5f, 0x74, + 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0f, 0x69, 0x6e, 0x69, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x63, 0x68, 0x65, + 0x6d, 0x61, 0x12, 0x48, 0x0a, 0x0b, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, + 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x52, 0x0a, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x1b, + 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x6b, 0x65, 0x79, + 0x5f, 0x76, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x18, 0x73, 0x6b, 0x69, 0x70, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4b, 0x65, + 0x79, 0x56, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x30, 0x0a, 0x05, 0x62, + 0x61, 0x74, 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6d, 0x67, 0x6d, + 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x05, 0x62, 0x61, 0x74, 0x63, 0x68, 0x12, 0x30, 0x0a, + 0x0d, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x6e, 0x5f, 0x66, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, 0xba, 0x48, 0x04, 0x2a, 0x02, 0x28, 0x01, 0x48, 0x00, 0x52, + 0x0b, 0x6d, 0x61, 0x78, 0x49, 0x6e, 0x46, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x88, 0x01, 0x01, 0x42, + 0x10, 0x0a, 0x0e, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x6e, 0x5f, 0x66, 0x6c, 0x69, 0x67, 0x68, + 0x74, 0x22, 0xc4, 0x02, 0x0a, 0x18, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x6f, 0x5f, 0x6e, 0x6f, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x09, 0x64, 0x6f, 0x4e, 0x6f, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x12, 0x59, 0x0a, - 0x07, 0x6e, 0x6f, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, + 0x28, 0x08, 0x52, 0x09, 0x64, 0x6f, 0x4e, 0x6f, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x12, 0x5f, 0x0a, + 0x07, 0x6e, 0x6f, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, + 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, + 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, + 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, + 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x44, 0x6f, 0x4e, 0x6f, 0x74, 0x68, + 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, 0x6e, 0x6f, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x12, 0x5a, + 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, + 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, + 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, + 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, + 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x48, 0x00, 0x52, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x1a, 0x1d, 0x0a, 0x1b, 0x50, 0x6f, + 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, + 0x44, 0x6f, 0x4e, 0x6f, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x1a, 0x1a, 0x0a, 0x18, 0x50, 0x6f, 0x73, + 0x74, 0x67, 0x72, 0x65, 0x73, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x11, 0x0a, 0x08, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, + 0x79, 0x12, 0x05, 0xba, 0x48, 0x02, 0x08, 0x00, 0x22, 0x6d, 0x0a, 0x1b, 0x50, 0x6f, 0x73, 0x74, + 0x67, 0x72, 0x65, 0x73, 0x54, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, + 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x34, 0x0a, 0x16, 0x74, 0x72, 0x75, 0x6e, 0x63, + 0x61, 0x74, 0x65, 0x5f, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x65, 0x72, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, + 0x65, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x18, 0x0a, + 0x07, 0x63, 0x61, 0x73, 0x63, 0x61, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, + 0x63, 0x61, 0x73, 0x63, 0x61, 0x64, 0x65, 0x22, 0x9b, 0x03, 0x0a, 0x21, 0x4d, 0x79, 0x73, 0x71, + 0x6c, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4e, 0x0a, + 0x0e, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x79, 0x73, 0x71, 0x6c, 0x54, 0x72, 0x75, 0x6e, 0x63, + 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, + 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x2a, 0x0a, + 0x11, 0x69, 0x6e, 0x69, 0x74, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, + 0x6d, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x6e, 0x69, 0x74, 0x54, 0x61, + 0x62, 0x6c, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x45, 0x0a, 0x0b, 0x6f, 0x6e, 0x5f, + 0x63, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x79, 0x73, 0x71, 0x6c, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4d, 0x79, 0x73, 0x71, 0x6c, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, - 0x6c, 0x69, 0x63, 0x74, 0x44, 0x6f, 0x4e, 0x6f, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, - 0x07, 0x6e, 0x6f, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x12, 0x54, 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x79, 0x73, 0x71, 0x6c, 0x4f, 0x6e, - 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4d, - 0x79, 0x73, 0x71, 0x6c, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x1a, 0x1a, - 0x0a, 0x18, 0x4d, 0x79, 0x73, 0x71, 0x6c, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, - 0x74, 0x44, 0x6f, 0x4e, 0x6f, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x1a, 0x17, 0x0a, 0x15, 0x4d, 0x79, - 0x73, 0x71, 0x6c, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x42, 0x11, 0x0a, 0x08, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, - 0x05, 0xba, 0x48, 0x02, 0x08, 0x00, 0x22, 0x9b, 0x03, 0x0a, 0x21, 0x4d, 0x73, 0x73, 0x71, 0x6c, - 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4e, 0x0a, 0x0e, - 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x73, 0x71, 0x6c, 0x54, 0x72, 0x75, 0x6e, 0x63, 0x61, - 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x74, - 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x2a, 0x0a, 0x11, - 0x69, 0x6e, 0x69, 0x74, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x6e, 0x69, 0x74, 0x54, 0x61, 0x62, - 0x6c, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x45, 0x0a, 0x0b, 0x6f, 0x6e, 0x5f, 0x63, - 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, - 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x73, - 0x73, 0x71, 0x6c, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x52, 0x0a, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x12, - 0x3d, 0x0a, 0x1b, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, - 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x73, 0x6b, 0x69, 0x70, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, - 0x6e, 0x4b, 0x65, 0x79, 0x56, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x30, - 0x0a, 0x05, 0x62, 0x61, 0x74, 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x42, 0x61, - 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x05, 0x62, 0x61, 0x74, 0x63, 0x68, - 0x12, 0x30, 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x6e, 0x5f, 0x66, 0x6c, 0x69, 0x67, 0x68, - 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, 0xba, 0x48, 0x04, 0x2a, 0x02, 0x28, 0x01, - 0x48, 0x00, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x49, 0x6e, 0x46, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x88, - 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x6e, 0x5f, 0x66, 0x6c, - 0x69, 0x67, 0x68, 0x74, 0x22, 0x50, 0x0a, 0x18, 0x4d, 0x73, 0x73, 0x71, 0x6c, 0x54, 0x72, 0x75, + 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0a, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, + 0x12, 0x3d, 0x0a, 0x1b, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, + 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x73, 0x6b, 0x69, 0x70, 0x46, 0x6f, 0x72, 0x65, 0x69, + 0x67, 0x6e, 0x4b, 0x65, 0x79, 0x56, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x30, 0x0a, 0x05, 0x62, 0x61, 0x74, 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x42, + 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x05, 0x62, 0x61, 0x74, 0x63, + 0x68, 0x12, 0x30, 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x6e, 0x5f, 0x66, 0x6c, 0x69, 0x67, + 0x68, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, 0xba, 0x48, 0x04, 0x2a, 0x02, 0x28, + 0x01, 0x48, 0x00, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x49, 0x6e, 0x46, 0x6c, 0x69, 0x67, 0x68, 0x74, + 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x6e, 0x5f, 0x66, + 0x6c, 0x69, 0x67, 0x68, 0x74, 0x22, 0x50, 0x0a, 0x18, 0x4d, 0x79, 0x73, 0x71, 0x6c, 0x54, 0x72, + 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x34, 0x0a, 0x16, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x62, 0x65, + 0x66, 0x6f, 0x72, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x14, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x42, 0x65, 0x66, 0x6f, 0x72, + 0x65, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x22, 0xaf, 0x02, 0x0a, 0x15, 0x4d, 0x79, 0x73, 0x71, + 0x6c, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x6f, 0x5f, 0x6e, 0x6f, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x64, 0x6f, 0x4e, 0x6f, 0x74, 0x68, 0x69, 0x6e, 0x67, + 0x12, 0x59, 0x0a, 0x07, 0x6e, 0x6f, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x3d, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x31, 0x2e, 0x4d, 0x79, 0x73, 0x71, 0x6c, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, + 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4d, 0x79, 0x73, 0x71, 0x6c, 0x4f, 0x6e, 0x43, + 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x44, 0x6f, 0x4e, 0x6f, 0x74, 0x68, 0x69, 0x6e, 0x67, + 0x48, 0x00, 0x52, 0x07, 0x6e, 0x6f, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x12, 0x54, 0x0a, 0x06, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6d, 0x67, + 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x79, 0x73, 0x71, + 0x6c, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2e, 0x4d, 0x79, 0x73, 0x71, 0x6c, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, + 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x1a, 0x1a, 0x0a, 0x18, 0x4d, 0x79, 0x73, 0x71, 0x6c, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, + 0x6c, 0x69, 0x63, 0x74, 0x44, 0x6f, 0x4e, 0x6f, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x1a, 0x17, 0x0a, + 0x15, 0x4d, 0x79, 0x73, 0x71, 0x6c, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x11, 0x0a, 0x08, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, + 0x67, 0x79, 0x12, 0x05, 0xba, 0x48, 0x02, 0x08, 0x00, 0x22, 0x9b, 0x03, 0x0a, 0x21, 0x4d, 0x73, + 0x73, 0x71, 0x6c, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x4e, 0x0a, 0x0e, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x73, 0x71, 0x6c, 0x54, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x12, 0x34, 0x0a, 0x16, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x62, 0x65, 0x66, - 0x6f, 0x72, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x14, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, - 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x22, 0x36, 0x0a, 0x15, 0x4d, 0x73, 0x73, 0x71, 0x6c, 0x4f, - 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, - 0x1d, 0x0a, 0x0a, 0x64, 0x6f, 0x5f, 0x6e, 0x6f, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x09, 0x64, 0x6f, 0x4e, 0x6f, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x22, 0xb9, - 0x04, 0x0a, 0x21, 0x41, 0x77, 0x73, 0x53, 0x33, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x62, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, - 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3d, 0x2e, 0x6d, 0x67, - 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x41, 0x77, 0x73, 0x53, - 0x33, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x53, 0x74, - 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x0c, 0x73, 0x74, 0x6f, 0x72, - 0x61, 0x67, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x30, 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x5f, - 0x69, 0x6e, 0x5f, 0x66, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, - 0x07, 0xba, 0x48, 0x04, 0x2a, 0x02, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x49, - 0x6e, 0x46, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x74, 0x69, - 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x07, 0x74, - 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x05, 0x62, 0x61, 0x74, - 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x52, 0x05, 0x62, 0x61, 0x74, 0x63, 0x68, 0x22, 0x8e, 0x02, 0x0a, 0x0c, - 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x1d, 0x0a, 0x19, - 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x55, 0x4e, - 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x53, + 0x52, 0x0d, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, + 0x2a, 0x0a, 0x11, 0x69, 0x6e, 0x69, 0x74, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x6e, 0x69, 0x74, + 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x45, 0x0a, 0x0b, 0x6f, + 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x24, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, + 0x2e, 0x4d, 0x73, 0x73, 0x71, 0x6c, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0a, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, + 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x1b, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, + 0x67, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x73, 0x6b, 0x69, 0x70, 0x46, 0x6f, 0x72, + 0x65, 0x69, 0x67, 0x6e, 0x4b, 0x65, 0x79, 0x56, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x30, 0x0a, 0x05, 0x62, 0x61, 0x74, 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, + 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x05, 0x62, 0x61, + 0x74, 0x63, 0x68, 0x12, 0x30, 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x6e, 0x5f, 0x66, 0x6c, + 0x69, 0x67, 0x68, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, 0xba, 0x48, 0x04, 0x2a, + 0x02, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x49, 0x6e, 0x46, 0x6c, 0x69, 0x67, + 0x68, 0x74, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x6e, + 0x5f, 0x66, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x22, 0x50, 0x0a, 0x18, 0x4d, 0x73, 0x73, 0x71, 0x6c, + 0x54, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x34, 0x0a, 0x16, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x5f, + 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x14, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x42, 0x65, 0x66, + 0x6f, 0x72, 0x65, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x22, 0x36, 0x0a, 0x15, 0x4d, 0x73, 0x73, + 0x71, 0x6c, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x6f, 0x5f, 0x6e, 0x6f, 0x74, 0x68, 0x69, 0x6e, 0x67, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x64, 0x6f, 0x4e, 0x6f, 0x74, 0x68, 0x69, 0x6e, + 0x67, 0x22, 0xb9, 0x04, 0x0a, 0x21, 0x41, 0x77, 0x73, 0x53, 0x33, 0x44, 0x65, 0x73, 0x74, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x62, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3d, + 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x41, + 0x77, 0x73, 0x53, 0x33, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x0c, 0x73, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x30, 0x0a, 0x0d, 0x6d, + 0x61, 0x78, 0x5f, 0x69, 0x6e, 0x5f, 0x66, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0d, 0x42, 0x07, 0xba, 0x48, 0x04, 0x2a, 0x02, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x6d, + 0x61, 0x78, 0x49, 0x6e, 0x46, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, + 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, + 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x05, + 0x62, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6d, 0x67, + 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, + 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x05, 0x62, 0x61, 0x74, 0x63, 0x68, 0x22, 0x8e, + 0x02, 0x0a, 0x0c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, + 0x1d, 0x0a, 0x19, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, + 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1a, + 0x0a, 0x16, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, + 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x10, 0x01, 0x12, 0x24, 0x0a, 0x20, 0x53, 0x54, + 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x52, 0x45, 0x44, 0x55, + 0x43, 0x45, 0x44, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x4e, 0x44, 0x41, 0x4e, 0x43, 0x59, 0x10, 0x02, + 0x12, 0x19, 0x0a, 0x15, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x43, 0x4c, 0x41, 0x53, + 0x53, 0x5f, 0x47, 0x4c, 0x41, 0x43, 0x49, 0x45, 0x52, 0x10, 0x03, 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x53, 0x54, 0x41, - 0x4e, 0x44, 0x41, 0x52, 0x44, 0x10, 0x01, 0x12, 0x24, 0x0a, 0x20, 0x53, 0x54, 0x4f, 0x52, 0x41, - 0x47, 0x45, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x44, - 0x5f, 0x52, 0x45, 0x44, 0x55, 0x4e, 0x44, 0x41, 0x4e, 0x43, 0x59, 0x10, 0x02, 0x12, 0x19, 0x0a, - 0x15, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x47, - 0x4c, 0x41, 0x43, 0x49, 0x45, 0x52, 0x10, 0x03, 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x54, 0x4f, 0x52, - 0x41, 0x47, 0x45, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, - 0x52, 0x44, 0x5f, 0x49, 0x41, 0x10, 0x04, 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x54, 0x4f, 0x52, 0x41, - 0x47, 0x45, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x4f, 0x4e, 0x45, 0x5a, 0x4f, 0x4e, 0x45, - 0x5f, 0x49, 0x41, 0x10, 0x05, 0x12, 0x25, 0x0a, 0x21, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, - 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x4c, 0x4c, 0x49, 0x47, 0x45, - 0x4e, 0x54, 0x5f, 0x54, 0x49, 0x45, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x06, 0x12, 0x1e, 0x0a, 0x1a, - 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x44, 0x45, - 0x45, 0x50, 0x5f, 0x41, 0x52, 0x43, 0x48, 0x49, 0x56, 0x45, 0x10, 0x07, 0x42, 0x10, 0x0a, 0x0e, - 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x6e, 0x5f, 0x66, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x42, 0x0a, - 0x0a, 0x08, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x22, 0x5a, 0x0a, 0x0b, 0x42, 0x61, - 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x19, 0x0a, 0x05, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x06, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x88, 0x01, - 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x5f, - 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x22, 0xf2, 0x04, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0a, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x08, 0x6a, 0x6f, 0x62, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x19, 0xba, 0x48, 0x16, 0x72, 0x14, 0x32, 0x12, 0x5e, - 0x5b, 0x61, 0x2d, 0x7a, 0x30, 0x2d, 0x39, 0x2d, 0x5d, 0x7b, 0x33, 0x2c, 0x31, 0x30, 0x30, 0x7d, - 0x24, 0x52, 0x07, 0x6a, 0x6f, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0d, 0x63, 0x72, - 0x6f, 0x6e, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x0c, 0x63, 0x72, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, - 0x65, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x08, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, - 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, - 0x67, 0x52, 0x08, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x30, 0x0a, 0x06, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6d, 0x67, - 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x53, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x47, 0x0a, - 0x0c, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x73, - 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, - 0x74, 0x65, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0e, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, - 0x12, 0x49, 0x0a, 0x10, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x6f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x67, 0x6d, - 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, - 0x6c, 0x6f, 0x77, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0f, 0x77, 0x6f, 0x72, 0x6b, - 0x66, 0x6c, 0x6f, 0x77, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x41, 0x0a, 0x0c, 0x73, - 0x79, 0x6e, 0x63, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x31, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x52, 0x0b, 0x73, 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x59, - 0x0a, 0x14, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, - 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, - 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x56, 0x69, 0x72, - 0x74, 0x75, 0x61, 0x6c, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x73, 0x74, - 0x72, 0x61, 0x69, 0x6e, 0x74, 0x52, 0x12, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x46, 0x6f, - 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x63, 0x72, - 0x6f, 0x6e, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x22, 0x47, 0x0a, 0x0f, 0x57, - 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x24, - 0x0a, 0x0b, 0x72, 0x75, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x0a, 0x72, 0x75, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, - 0x74, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x6f, 0x75, 0x74, 0x22, 0x95, 0x02, 0x0a, 0x0f, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, - 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x47, 0x0a, 0x19, 0x73, 0x63, 0x68, 0x65, - 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x07, 0xba, 0x48, 0x04, - 0x22, 0x02, 0x28, 0x01, 0x48, 0x00, 0x52, 0x16, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, + 0x4e, 0x44, 0x41, 0x52, 0x44, 0x5f, 0x49, 0x41, 0x10, 0x04, 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x54, + 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x4f, 0x4e, 0x45, 0x5a, + 0x4f, 0x4e, 0x45, 0x5f, 0x49, 0x41, 0x10, 0x05, 0x12, 0x25, 0x0a, 0x21, 0x53, 0x54, 0x4f, 0x52, + 0x41, 0x47, 0x45, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x4c, 0x4c, + 0x49, 0x47, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x49, 0x45, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x06, 0x12, + 0x1e, 0x0a, 0x1a, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, + 0x5f, 0x44, 0x45, 0x45, 0x50, 0x5f, 0x41, 0x52, 0x43, 0x48, 0x49, 0x56, 0x45, 0x10, 0x07, 0x42, + 0x10, 0x0a, 0x0e, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x6e, 0x5f, 0x66, 0x6c, 0x69, 0x67, 0x68, + 0x74, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x22, 0x5a, 0x0a, + 0x0b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x19, 0x0a, 0x05, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x05, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x65, 0x72, 0x69, 0x6f, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x06, 0x70, 0x65, 0x72, 0x69, 0x6f, + 0x64, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x09, + 0x0a, 0x07, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x22, 0xf2, 0x04, 0x0a, 0x10, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, + 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x09, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x08, 0x6a, 0x6f, 0x62, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x19, 0xba, 0x48, 0x16, 0x72, 0x14, + 0x32, 0x12, 0x5e, 0x5b, 0x61, 0x2d, 0x7a, 0x30, 0x2d, 0x39, 0x2d, 0x5d, 0x7b, 0x33, 0x2c, 0x31, + 0x30, 0x30, 0x7d, 0x24, 0x52, 0x07, 0x6a, 0x6f, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, + 0x0d, 0x63, 0x72, 0x6f, 0x6e, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x63, 0x72, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, + 0x64, 0x75, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x08, 0x6d, 0x61, 0x70, 0x70, 0x69, + 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6d, 0x67, 0x6d, 0x74, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x4d, 0x61, 0x70, + 0x70, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x30, + 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, + 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, + 0x6f, 0x62, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x12, 0x47, 0x0a, 0x0c, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, + 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x64, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x69, 0x6e, 0x69, + 0x74, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, + 0x52, 0x75, 0x6e, 0x12, 0x49, 0x0a, 0x10, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5f, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, + 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x57, 0x6f, + 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0f, 0x77, + 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x41, + 0x0a, 0x0c, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x31, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b, 0x73, 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x59, 0x0a, 0x14, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x66, 0x6f, 0x72, + 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x27, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, + 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x43, 0x6f, + 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x52, 0x12, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, + 0x6c, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x42, 0x10, 0x0a, 0x0e, + 0x5f, 0x63, 0x72, 0x6f, 0x6e, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x22, 0x71, + 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x24, 0x0a, 0x0b, 0x72, 0x75, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x0a, 0x72, 0x75, 0x6e, 0x54, 0x69, 0x6d, + 0x65, 0x6f, 0x75, 0x74, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x72, 0x75, 0x6e, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x4a, 0x04, 0x08, + 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x4a, + 0x04, 0x08, 0x05, 0x10, 0x06, 0x4a, 0x04, 0x08, 0x06, 0x10, 0x07, 0x4a, 0x04, 0x08, 0x07, 0x10, + 0x08, 0x22, 0x95, 0x02, 0x0a, 0x0f, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x47, 0x0a, 0x19, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, + 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, + 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x07, 0xba, 0x48, 0x04, 0x22, 0x02, 0x28, + 0x01, 0x48, 0x00, 0x52, 0x16, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x54, 0x6f, 0x43, + 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x88, 0x01, 0x01, 0x12, 0x41, + 0x0a, 0x16, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x6f, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x07, + 0xba, 0x48, 0x04, 0x22, 0x02, 0x28, 0x01, 0x48, 0x01, 0x52, 0x13, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x6f, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x88, 0x01, - 0x01, 0x12, 0x41, 0x0a, 0x16, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x6f, 0x5f, 0x63, 0x6c, - 0x6f, 0x73, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x03, 0x42, 0x07, 0xba, 0x48, 0x04, 0x22, 0x02, 0x28, 0x01, 0x48, 0x01, 0x52, 0x13, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x54, 0x6f, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, - 0x74, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x0c, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x70, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6d, 0x67, 0x6d, - 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0b, 0x72, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, - 0x5f, 0x74, 0x6f, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, - 0x74, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x6f, 0x5f, 0x63, - 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x22, 0x5b, 0x0a, 0x0b, - 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x37, 0x0a, 0x10, 0x6d, - 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x07, 0xba, 0x48, 0x04, 0x1a, 0x02, 0x28, 0x00, 0x48, 0x00, - 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, - 0x73, 0x88, 0x01, 0x01, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, - 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x22, 0x39, 0x0a, 0x11, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, - 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x67, - 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x52, - 0x03, 0x6a, 0x6f, 0x62, 0x22, 0x57, 0x0a, 0x15, 0x4a, 0x6f, 0x62, 0x4d, 0x61, 0x70, 0x70, 0x69, - 0x6e, 0x67, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x12, 0x38, 0x0a, - 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, - 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, - 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x22, 0x9a, 0x01, - 0x0a, 0x0a, 0x4a, 0x6f, 0x62, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, - 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, - 0x68, 0x65, 0x6d, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, - 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x75, - 0x6d, 0x6e, 0x12, 0x46, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, - 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x4d, 0x61, 0x70, 0x70, 0x69, - 0x6e, 0x67, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x52, 0x0b, 0x74, - 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x22, 0x29, 0x0a, 0x0d, 0x47, 0x65, - 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, - 0x01, 0x52, 0x02, 0x69, 0x64, 0x22, 0x36, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x22, 0x70, 0x0a, - 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, - 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, - 0x02, 0x69, 0x64, 0x12, 0x28, 0x0a, 0x0d, 0x63, 0x72, 0x6f, 0x6e, 0x5f, 0x73, 0x63, 0x68, 0x65, - 0x64, 0x75, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x63, 0x72, - 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, - 0x0e, 0x5f, 0x63, 0x72, 0x6f, 0x6e, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x22, - 0x41, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x53, 0x63, 0x68, 0x65, - 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x03, - 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x67, 0x6d, 0x74, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, - 0x6f, 0x62, 0x22, 0x63, 0x0a, 0x0f, 0x50, 0x61, 0x75, 0x73, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x02, 0x69, 0x64, 0x12, - 0x14, 0x0a, 0x05, 0x70, 0x61, 0x75, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, - 0x70, 0x61, 0x75, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x6f, 0x74, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x6f, 0x74, 0x65, 0x88, 0x01, 0x01, 0x42, 0x07, - 0x0a, 0x05, 0x5f, 0x6e, 0x6f, 0x74, 0x65, 0x22, 0x38, 0x0a, 0x10, 0x50, 0x61, 0x75, 0x73, 0x65, + 0x01, 0x12, 0x3d, 0x0a, 0x0c, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x52, 0x0b, 0x72, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x74, 0x6f, + 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x42, 0x19, + 0x0a, 0x17, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x6f, 0x5f, 0x63, 0x6c, 0x6f, 0x73, + 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x22, 0x5b, 0x0a, 0x0b, 0x52, 0x65, 0x74, + 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x37, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x69, + 0x6d, 0x75, 0x6d, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x42, 0x07, 0xba, 0x48, 0x04, 0x1a, 0x02, 0x28, 0x00, 0x48, 0x00, 0x52, 0x0f, 0x6d, + 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x88, 0x01, + 0x01, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x61, 0x74, + 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x22, 0x39, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, - 0x62, 0x22, 0x80, 0x02, 0x0a, 0x20, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x53, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x02, 0x69, 0x64, - 0x12, 0x30, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x18, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, - 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x03, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x52, - 0x08, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x59, 0x0a, 0x14, 0x76, 0x69, 0x72, - 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x6b, 0x65, 0x79, - 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x46, - 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, - 0x52, 0x12, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, - 0x4b, 0x65, 0x79, 0x73, 0x22, 0x49, 0x0a, 0x21, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, - 0x62, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x03, 0x6a, 0x6f, 0x62, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x22, - 0x72, 0x0a, 0x1a, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x12, 0x54, 0x0a, - 0x10, 0x70, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, - 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x0f, 0x70, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x53, 0x63, 0x68, 0x65, - 0x6d, 0x61, 0x73, 0x22, 0x66, 0x0a, 0x17, 0x4d, 0x79, 0x73, 0x71, 0x6c, 0x53, 0x6f, 0x75, 0x72, + 0x62, 0x22, 0x57, 0x0a, 0x15, 0x4a, 0x6f, 0x62, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x54, + 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x12, 0x38, 0x0a, 0x06, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6d, 0x67, 0x6d, + 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x22, 0xb5, 0x01, 0x0a, 0x0a, 0x4a, + 0x6f, 0x62, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x1f, 0x0a, 0x06, 0x73, 0x63, 0x68, + 0x65, 0x6d, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, + 0x10, 0x01, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x1d, 0x0a, 0x05, 0x74, 0x61, + 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, + 0x10, 0x01, 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1f, 0x0a, 0x06, 0x63, 0x6f, 0x6c, + 0x75, 0x6d, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, + 0x10, 0x01, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x46, 0x0a, 0x0b, 0x74, 0x72, + 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x24, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, + 0x4a, 0x6f, 0x62, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, + 0x65, 0x72, 0x22, 0x29, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x02, 0x69, 0x64, 0x22, 0x36, 0x0a, + 0x0e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x24, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, + 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, + 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x22, 0x70, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, + 0x6f, 0x62, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x18, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, + 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x02, 0x69, 0x64, 0x12, 0x28, 0x0a, 0x0d, 0x63, + 0x72, 0x6f, 0x6e, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x63, 0x72, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, + 0x6c, 0x65, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x63, 0x72, 0x6f, 0x6e, 0x5f, 0x73, + 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x22, 0x41, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x4a, 0x6f, 0x62, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x22, 0x63, 0x0a, 0x0f, 0x50, 0x61, + 0x75, 0x73, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, + 0xb0, 0x01, 0x01, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x75, 0x73, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x70, 0x61, 0x75, 0x73, 0x65, 0x12, 0x17, 0x0a, + 0x04, 0x6e, 0x6f, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6e, + 0x6f, 0x74, 0x65, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x6f, 0x74, 0x65, 0x22, + 0x38, 0x0a, 0x10, 0x50, 0x61, 0x75, 0x73, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x12, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, + 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x22, 0x80, 0x02, 0x0a, 0x20, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, + 0x03, 0xb0, 0x01, 0x01, 0x52, 0x02, 0x69, 0x64, 0x12, 0x30, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x6d, 0x61, + 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6d, + 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, + 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, + 0x73, 0x12, 0x59, 0x0a, 0x14, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x66, 0x6f, 0x72, + 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x27, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, + 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x43, 0x6f, + 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x52, 0x12, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, + 0x6c, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x22, 0x49, 0x0a, 0x21, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x24, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, + 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, + 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x22, 0x72, 0x0a, 0x1a, 0x50, 0x6f, 0x73, 0x74, 0x67, + 0x72, 0x65, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, + 0x75, 0x62, 0x73, 0x65, 0x74, 0x12, 0x54, 0x0a, 0x10, 0x70, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, + 0x73, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x29, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, + 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x70, 0x6f, 0x73, 0x74, + 0x67, 0x72, 0x65, 0x73, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x22, 0x66, 0x0a, 0x17, 0x4d, + 0x79, 0x73, 0x71, 0x6c, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x12, 0x4b, 0x0a, 0x0d, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x5f, + 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, + 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x79, + 0x73, 0x71, 0x6c, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x53, 0x63, 0x68, 0x65, + 0x6d, 0x61, 0x73, 0x22, 0x5e, 0x0a, 0x1a, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x6f, 0x44, 0x42, 0x53, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x75, 0x62, 0x73, 0x65, + 0x74, 0x12, 0x40, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x28, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x31, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x6f, 0x44, 0x42, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x74, 0x61, 0x62, + 0x6c, 0x65, 0x73, 0x22, 0x66, 0x0a, 0x17, 0x4d, 0x73, 0x73, 0x71, 0x6c, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x12, 0x4b, - 0x0a, 0x0d, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x18, + 0x0a, 0x0d, 0x6d, 0x73, 0x73, 0x71, 0x6c, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x79, 0x73, 0x71, 0x6c, 0x53, 0x6f, 0x75, 0x72, 0x63, + 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x73, 0x71, 0x6c, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x6d, - 0x79, 0x73, 0x71, 0x6c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x22, 0x5e, 0x0a, 0x1a, 0x44, - 0x79, 0x6e, 0x61, 0x6d, 0x6f, 0x44, 0x42, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x63, 0x68, - 0x65, 0x6d, 0x61, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x12, 0x40, 0x0a, 0x06, 0x74, 0x61, 0x62, - 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6d, 0x67, 0x6d, 0x74, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x6f, - 0x44, 0x42, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x22, 0x66, 0x0a, 0x17, 0x4d, - 0x73, 0x73, 0x71, 0x6c, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, - 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x12, 0x4b, 0x0a, 0x0d, 0x6d, 0x73, 0x73, 0x71, 0x6c, 0x5f, - 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, - 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x73, - 0x73, 0x71, 0x6c, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x6d, 0x73, 0x73, 0x71, 0x6c, 0x53, 0x63, 0x68, 0x65, - 0x6d, 0x61, 0x73, 0x22, 0xf2, 0x02, 0x0a, 0x18, 0x4a, 0x6f, 0x62, 0x53, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x53, 0x71, 0x6c, 0x53, 0x75, 0x62, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, - 0x12, 0x54, 0x0a, 0x0f, 0x70, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x5f, 0x73, 0x75, 0x62, - 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6d, 0x67, 0x6d, 0x74, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, - 0x65, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x75, - 0x62, 0x73, 0x65, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x70, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, - 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x12, 0x4b, 0x0a, 0x0c, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x5f, - 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6d, - 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x79, 0x73, - 0x71, 0x6c, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x75, - 0x62, 0x73, 0x65, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x53, 0x75, 0x62, - 0x73, 0x65, 0x74, 0x12, 0x54, 0x0a, 0x0f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x6f, 0x64, 0x62, 0x5f, - 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6d, - 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x44, 0x79, 0x6e, - 0x61, 0x6d, 0x6f, 0x44, 0x42, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x79, 0x6e, 0x61, 0x6d, - 0x6f, 0x64, 0x62, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x12, 0x4b, 0x0a, 0x0c, 0x6d, 0x73, 0x73, - 0x71, 0x6c, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x26, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, - 0x4d, 0x73, 0x73, 0x71, 0x6c, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x6d, 0x73, 0x73, 0x71, 0x6c, - 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x42, 0x10, 0x0a, 0x07, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, - 0x73, 0x12, 0x05, 0xba, 0x48, 0x02, 0x08, 0x01, 0x22, 0xd0, 0x01, 0x0a, 0x27, 0x53, 0x65, 0x74, - 0x4a, 0x6f, 0x62, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x71, 0x6c, 0x43, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x02, 0x69, 0x64, 0x12, 0x41, - 0x0a, 0x07, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x27, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, + 0x73, 0x73, 0x71, 0x6c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x22, 0xf8, 0x02, 0x0a, 0x18, 0x4a, 0x6f, 0x62, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x71, 0x6c, 0x53, 0x75, 0x62, 0x65, - 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52, 0x07, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, - 0x73, 0x12, 0x48, 0x0a, 0x21, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x5f, 0x62, 0x79, 0x5f, 0x66, - 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1d, 0x73, 0x75, - 0x62, 0x73, 0x65, 0x74, 0x42, 0x79, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4b, 0x65, 0x79, - 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x22, 0x50, 0x0a, 0x28, 0x53, - 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x71, 0x6c, 0x43, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x22, 0xde, 0x01, - 0x0a, 0x25, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x73, 0x74, 0x69, - 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x12, 0x54, 0x0a, 0x0f, 0x70, 0x6f, 0x73, 0x74, + 0x67, 0x72, 0x65, 0x73, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x29, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x48, 0x00, 0x52, 0x0e, + 0x70, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x12, 0x4b, + 0x0a, 0x0c, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x79, 0x73, 0x71, 0x6c, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x48, 0x00, 0x52, 0x0b, + 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x12, 0x54, 0x0a, 0x0f, 0x64, + 0x79, 0x6e, 0x61, 0x6d, 0x6f, 0x64, 0x62, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x31, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x6f, 0x44, 0x42, 0x53, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x48, + 0x00, 0x52, 0x0e, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x6f, 0x64, 0x62, 0x53, 0x75, 0x62, 0x73, 0x65, + 0x74, 0x12, 0x4b, 0x0a, 0x0c, 0x6d, 0x73, 0x73, 0x71, 0x6c, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x65, + 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x73, 0x71, 0x6c, 0x53, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x48, + 0x00, 0x52, 0x0b, 0x6d, 0x73, 0x73, 0x71, 0x6c, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x42, 0x10, + 0x0a, 0x07, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x12, 0x05, 0xba, 0x48, 0x02, 0x08, 0x01, + 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x22, 0xd0, 0x01, 0x0a, 0x27, 0x53, 0x65, 0x74, 0x4a, 0x6f, + 0x62, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x71, 0x6c, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x18, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, + 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x02, 0x69, 0x64, 0x12, 0x41, 0x0a, 0x07, + 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, + 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, + 0x62, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x71, 0x6c, 0x53, 0x75, 0x62, 0x65, 0x74, 0x53, + 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52, 0x07, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x12, + 0x48, 0x0a, 0x21, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x5f, 0x62, 0x79, 0x5f, 0x66, 0x6f, 0x72, + 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, + 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1d, 0x73, 0x75, 0x62, 0x73, + 0x65, 0x74, 0x42, 0x79, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4b, 0x65, 0x79, 0x43, 0x6f, + 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x22, 0x50, 0x0a, 0x28, 0x53, 0x65, 0x74, + 0x4a, 0x6f, 0x62, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x71, 0x6c, 0x43, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x22, 0xde, 0x01, 0x0a, 0x25, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, + 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, + 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x3e, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, + 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x4e, 0x0a, 0x26, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x22, 0x58, 0x0a, 0x25, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x0e, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, + 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x0d, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x28, 0x0a, 0x26, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x92, 0x01, 0x0a, 0x26, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x44, 0x65, + 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x6a, + 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, + 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x47, 0x0a, 0x0c, + 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x73, 0x74, + 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x4f, 0x0a, 0x27, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, + 0x6f, 0x62, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x24, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, + 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, + 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x22, 0x2c, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, + 0x52, 0x02, 0x69, 0x64, 0x22, 0x13, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x6f, + 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x73, 0x0a, 0x19, 0x49, 0x73, 0x4a, + 0x6f, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x19, 0xba, 0x48, 0x16, 0x72, 0x14, 0x32, 0x12, 0x5e, 0x5b, 0x61, + 0x2d, 0x7a, 0x30, 0x2d, 0x39, 0x2d, 0x5d, 0x7b, 0x33, 0x2c, 0x31, 0x30, 0x30, 0x7d, 0x24, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, + 0xb0, 0x01, 0x01, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x3f, + 0x0a, 0x1a, 0x49, 0x73, 0x4a, 0x6f, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x41, 0x76, 0x61, 0x69, 0x6c, + 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, + 0x69, 0x73, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x22, + 0x67, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x48, 0x00, + 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, + 0x72, 0x03, 0xb0, 0x01, 0x01, 0x48, 0x00, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x49, 0x64, 0x42, 0x04, 0x0a, 0x02, 0x69, 0x64, 0x22, 0x46, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4a, + 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, + 0x0a, 0x08, 0x6a, 0x6f, 0x62, 0x5f, 0x72, 0x75, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x15, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, + 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x52, 0x07, 0x6a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x73, + 0x22, 0x59, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x0a, 0x6a, 0x6f, 0x62, 0x5f, 0x72, 0x75, 0x6e, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6a, 0x6f, 0x62, 0x52, 0x75, 0x6e, + 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, + 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x43, 0x0a, 0x11, 0x47, + 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x2e, 0x0a, 0x07, 0x6a, 0x6f, 0x62, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x15, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x52, 0x06, 0x6a, 0x6f, 0x62, 0x52, 0x75, 0x6e, + 0x22, 0x36, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, - 0x01, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x3e, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x73, 0x74, - 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, - 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x65, 0x73, 0x74, 0x69, - 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0d, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x4e, - 0x0a, 0x26, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x73, 0x74, 0x69, - 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x22, 0x58, - 0x0a, 0x25, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x73, 0x74, 0x69, - 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x0e, 0x64, 0x65, 0x73, 0x74, 0x69, - 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x0d, 0x64, 0x65, 0x73, 0x74, 0x69, - 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x28, 0x0a, 0x26, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x92, 0x01, 0x0a, 0x26, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, - 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, - 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, - 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x47, - 0x0a, 0x0c, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x44, 0x65, + 0x01, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0x16, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x5c, 0x0a, 0x13, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x0a, 0x6a, 0x6f, 0x62, 0x5f, 0x72, + 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6a, 0x6f, 0x62, + 0x52, 0x75, 0x6e, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, + 0xb0, 0x01, 0x01, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x16, + 0x0a, 0x14, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xe9, 0x05, 0x0a, 0x03, 0x4a, 0x6f, 0x62, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2b, + 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, + 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 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, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x2b, 0x0a, 0x12, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, + 0x72, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, + 0x74, 0x18, 0x05, 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, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x06, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x12, 0x41, 0x0a, 0x0c, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6d, 0x67, 0x6d, + 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x64, 0x65, 0x73, 0x74, 0x69, - 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x4f, 0x0a, 0x27, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x24, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x12, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, - 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x22, 0x2c, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, - 0x01, 0x01, 0x52, 0x02, 0x69, 0x64, 0x22, 0x13, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x73, 0x0a, 0x19, 0x49, - 0x73, 0x4a, 0x6f, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x19, 0xba, 0x48, 0x16, 0x72, 0x14, 0x32, 0x12, 0x5e, - 0x5b, 0x61, 0x2d, 0x7a, 0x30, 0x2d, 0x39, 0x2d, 0x5d, 0x7b, 0x33, 0x2c, 0x31, 0x30, 0x30, 0x7d, - 0x24, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, - 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, - 0x22, 0x3f, 0x0a, 0x1a, 0x49, 0x73, 0x4a, 0x6f, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x41, 0x76, 0x61, - 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, - 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, - 0x65, 0x22, 0x67, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x35, 0x0a, 0x08, 0x6d, 0x61, 0x70, 0x70, 0x69, + 0x6e, 0x67, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6d, 0x67, 0x6d, 0x74, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x4d, 0x61, 0x70, + 0x70, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x28, + 0x0a, 0x0d, 0x63, 0x72, 0x6f, 0x6e, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x63, 0x72, 0x6f, 0x6e, 0x53, 0x63, 0x68, + 0x65, 0x64, 0x75, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x41, 0x0a, 0x0c, 0x73, 0x79, 0x6e, 0x63, 0x5f, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, + 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x41, 0x63, + 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b, 0x73, + 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x49, 0x0a, 0x10, 0x77, 0x6f, + 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0d, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x59, 0x0a, 0x14, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, + 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x0e, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x31, 0x2e, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x46, 0x6f, 0x72, 0x65, 0x69, + 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x52, 0x12, 0x76, 0x69, + 0x72, 0x74, 0x75, 0x61, 0x6c, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4b, 0x65, 0x79, 0x73, + 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x63, 0x72, 0x6f, 0x6e, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, + 0x6c, 0x65, 0x22, 0x67, 0x0a, 0x0c, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x52, + 0x75, 0x6e, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x01, 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, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x0a, + 0x0a, 0x6a, 0x6f, 0x62, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x6a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x49, 0x64, 0x22, 0x3a, 0x0a, 0x17, 0x47, + 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x75, 0x6e, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, - 0x48, 0x00, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x0a, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, - 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x48, 0x00, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x49, 0x64, 0x42, 0x04, 0x0a, 0x02, 0x69, 0x64, 0x22, 0x46, 0x0a, 0x12, 0x47, 0x65, - 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x30, 0x0a, 0x08, 0x6a, 0x6f, 0x62, 0x5f, 0x72, 0x75, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x52, 0x07, 0x6a, 0x6f, 0x62, 0x52, 0x75, - 0x6e, 0x73, 0x22, 0x59, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x0a, 0x6a, 0x6f, 0x62, 0x5f, 0x72, 0x75, - 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6a, 0x6f, 0x62, 0x52, - 0x75, 0x6e, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, - 0x01, 0x01, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x43, 0x0a, - 0x11, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x07, 0x6a, 0x6f, 0x62, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x52, 0x06, 0x6a, 0x6f, 0x62, 0x52, - 0x75, 0x6e, 0x22, 0x36, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, - 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x6a, 0x6f, 0x62, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, - 0xb0, 0x01, 0x01, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0x16, 0x0a, 0x14, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x5c, 0x0a, 0x13, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4a, 0x6f, 0x62, 0x52, - 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x0a, 0x6a, 0x6f, 0x62, - 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6a, - 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, - 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, - 0x22, 0x16, 0x0a, 0x14, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xe9, 0x05, 0x0a, 0x03, 0x4a, 0x6f, 0x62, + 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0x58, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x4a, 0x6f, + 0x62, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x0b, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x75, + 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x63, 0x65, + 0x6e, 0x74, 0x52, 0x75, 0x6e, 0x52, 0x0a, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x75, 0x6e, + 0x73, 0x22, 0x4f, 0x0a, 0x0b, 0x4a, 0x6f, 0x62, 0x4e, 0x65, 0x78, 0x74, 0x52, 0x75, 0x6e, 0x73, + 0x12, 0x40, 0x0a, 0x0e, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 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, 0x0c, 0x6e, 0x65, 0x78, 0x74, 0x52, 0x75, 0x6e, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x22, 0x38, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x4e, 0x65, 0x78, 0x74, + 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x6a, + 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, + 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0x51, 0x0a, 0x16, + 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x4e, 0x65, 0x78, 0x74, 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x09, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x72, + 0x75, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6d, 0x67, 0x6d, 0x74, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x4e, 0x65, 0x78, + 0x74, 0x52, 0x75, 0x6e, 0x73, 0x52, 0x08, 0x6e, 0x65, 0x78, 0x74, 0x52, 0x75, 0x6e, 0x73, 0x22, + 0x36, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, + 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0x48, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4a, 0x6f, + 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x30, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x18, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, + 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x22, 0x64, 0x0a, 0x0f, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, + 0x63, 0x6f, 0x72, 0x64, 0x12, 0x1f, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x05, + 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x40, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4a, 0x6f, + 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x27, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x09, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x54, 0x0a, 0x16, 0x47, 0x65, 0x74, + 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x22, + 0x2b, 0x0a, 0x0f, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x46, 0x61, 0x69, 0x6c, 0x75, + 0x72, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xc6, 0x01, 0x0a, + 0x0f, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, + 0x12, 0x35, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x1d, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, + 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x63, 0x74, 0x69, 0x76, + 0x69, 0x74, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x46, 0x0a, 0x0c, + 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x31, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x46, 0x61, 0x69, 0x6c, 0x75, + 0x72, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, + 0x65, 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x66, 0x61, + 0x69, 0x6c, 0x75, 0x72, 0x65, 0x22, 0xdd, 0x02, 0x0a, 0x06, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, - 0x12, 0x2b, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, - 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x39, 0x0a, - 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x33, 0x0a, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x6d, 0x67, + 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x52, + 0x75, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 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, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x42, 0x0a, 0x0c, 0x63, + 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, 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, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x2b, 0x0a, 0x12, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x55, - 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, - 0x5f, 0x61, 0x74, 0x18, 0x05, 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, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x06, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x41, 0x0a, 0x0c, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6d, - 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, - 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x64, 0x65, 0x73, - 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x35, 0x0a, 0x08, 0x6d, 0x61, 0x70, - 0x70, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6d, 0x67, - 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x4d, - 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, - 0x12, 0x28, 0x0a, 0x0d, 0x63, 0x72, 0x6f, 0x6e, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, - 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x63, 0x72, 0x6f, 0x6e, 0x53, - 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x41, 0x0a, 0x0c, 0x73, 0x79, 0x6e, - 0x63, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1e, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, - 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, - 0x0b, 0x73, 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x49, 0x0a, 0x10, - 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, - 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x59, 0x0a, 0x14, 0x76, 0x69, 0x72, 0x74, 0x75, - 0x61, 0x6c, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, - 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x46, 0x6f, 0x72, - 0x65, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x52, 0x12, - 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4b, 0x65, - 0x79, 0x73, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x63, 0x72, 0x6f, 0x6e, 0x5f, 0x73, 0x63, 0x68, 0x65, - 0x64, 0x75, 0x6c, 0x65, 0x22, 0x67, 0x0a, 0x0c, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x63, 0x65, 0x6e, - 0x74, 0x52, 0x75, 0x6e, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x18, 0x01, 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, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, - 0x1c, 0x0a, 0x0a, 0x6a, 0x6f, 0x62, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x6a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x49, 0x64, 0x22, 0x3a, 0x0a, - 0x17, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x75, 0x6e, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, - 0x01, 0x01, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0x58, 0x0a, 0x18, 0x47, 0x65, 0x74, - 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x0b, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x5f, - 0x72, 0x75, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6d, 0x67, 0x6d, - 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x65, - 0x63, 0x65, 0x6e, 0x74, 0x52, 0x75, 0x6e, 0x52, 0x0a, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x52, - 0x75, 0x6e, 0x73, 0x22, 0x4f, 0x0a, 0x0b, 0x4a, 0x6f, 0x62, 0x4e, 0x65, 0x78, 0x74, 0x52, 0x75, - 0x6e, 0x73, 0x12, 0x40, 0x0a, 0x0e, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 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, 0x0c, 0x6e, 0x65, 0x78, 0x74, 0x52, 0x75, 0x6e, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x22, 0x2e, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x4e, 0x65, - 0x78, 0x74, 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, - 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, - 0x6f, 0x62, 0x49, 0x64, 0x22, 0x51, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x4e, 0x65, - 0x78, 0x74, 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, - 0x0a, 0x09, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x72, 0x75, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1a, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x4e, 0x65, 0x78, 0x74, 0x52, 0x75, 0x6e, 0x73, 0x52, 0x08, 0x6e, - 0x65, 0x78, 0x74, 0x52, 0x75, 0x6e, 0x73, 0x22, 0x2c, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4a, 0x6f, - 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x15, - 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0x48, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, - 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, - 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, - 0x5a, 0x0a, 0x0f, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x63, 0x6f, - 0x72, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6d, 0x67, 0x6d, 0x74, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x40, 0x0a, 0x15, 0x47, - 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, - 0x01, 0x01, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x54, 0x0a, - 0x16, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x67, 0x6d, 0x74, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x65, 0x73, 0x22, 0x2b, 0x0a, 0x0f, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x46, - 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x22, 0xc6, 0x01, 0x0a, 0x0f, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x74, 0x69, - 0x76, 0x69, 0x74, 0x79, 0x12, 0x35, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x31, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x61, - 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x46, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x46, - 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x46, 0x61, - 0x69, 0x6c, 0x75, 0x72, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6c, 0x61, 0x73, - 0x74, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x22, 0xd7, 0x02, 0x0a, 0x06, 0x4a, 0x6f, - 0x62, 0x52, 0x75, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x02, 0x69, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x33, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x1b, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, - 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x5f, - 0x61, 0x74, 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, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, - 0x42, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, - 0x07, 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, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, - 0x88, 0x01, 0x01, 0x12, 0x4d, 0x0a, 0x12, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x61, - 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1e, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, - 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, - 0x11, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x69, - 0x65, 0x73, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, - 0x5f, 0x61, 0x74, 0x22, 0x51, 0x0a, 0x14, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x74, 0x72, - 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, 0xab, 0x01, 0x0a, 0x0f, 0x4a, 0x6f, 0x62, 0x52, 0x75, - 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x39, - 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 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, - 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x05, 0x65, 0x72, 0x72, - 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, - 0x72, 0x72, 0x6f, 0x72, 0x22, 0x42, 0x0a, 0x12, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x53, 0x79, - 0x6e, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, - 0x68, 0x65, 0x6d, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, - 0x6d, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x72, 0x0a, 0x13, 0x4a, 0x6f, 0x62, 0x52, - 0x75, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, - 0x48, 0x0a, 0x0d, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x53, 0x79, 0x6e, - 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x79, 0x6e, - 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x11, 0x0a, 0x08, 0x6d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x05, 0xba, 0x48, 0x02, 0x08, 0x01, 0x22, 0x9d, 0x02, 0x0a, - 0x0b, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, + 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, 0x00, 0x52, + 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x88, 0x01, 0x01, 0x12, + 0x4d, 0x0a, 0x12, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, + 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x67, + 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x65, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x11, 0x70, 0x65, 0x6e, + 0x64, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x69, 0x65, 0x73, 0x42, 0x0f, + 0x0a, 0x0d, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x4a, + 0x04, 0x08, 0x05, 0x10, 0x06, 0x22, 0x51, 0x0a, 0x14, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x18, 0x0a, + 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x74, 0x72, 0x79, + 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, + 0x74, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, 0xab, 0x01, 0x0a, 0x0f, 0x4a, 0x6f, 0x62, + 0x52, 0x75, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, - 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, + 0x12, 0x39, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 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, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x0a, 0x63, - 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 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, 0x63, 0x6c, 0x6f, - 0x73, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x34, 0x0a, 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x18, - 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x22, 0x5f, 0x0a, 0x16, - 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, + 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x05, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6d, 0x67, 0x6d, + 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x75, + 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, + 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x42, 0x0a, 0x12, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, + 0x53, 0x79, 0x6e, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, + 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x72, 0x0a, 0x13, 0x4a, 0x6f, + 0x62, 0x52, 0x75, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x12, 0x48, 0x0a, 0x0d, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x53, + 0x79, 0x6e, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x0c, 0x73, + 0x79, 0x6e, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x11, 0x0a, 0x08, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x05, 0xba, 0x48, 0x02, 0x08, 0x01, 0x22, 0x9d, + 0x02, 0x0a, 0x0b, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, + 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x03, 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, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x39, 0x0a, + 0x0a, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 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, 0x63, + 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6d, 0x67, 0x6d, + 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x75, + 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x34, 0x0a, 0x05, 0x74, 0x61, 0x73, 0x6b, + 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x22, 0x5f, + 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x0a, 0x6a, 0x6f, 0x62, 0x5f, + 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6a, 0x6f, + 0x62, 0x52, 0x75, 0x6e, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, + 0x03, 0xb0, 0x01, 0x01, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, + 0x75, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x06, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6d, 0x67, 0x6d, + 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x75, + 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x26, + 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x52, 0x75, 0x6e, 0x43, 0x6f, + 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x22, 0x5c, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, + 0x0a, 0x6a, 0x6f, 0x62, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x6a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0a, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x49, 0x64, 0x22, 0x16, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x6f, + 0x62, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5f, 0x0a, 0x16, + 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x0a, 0x6a, 0x6f, 0x62, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, - 0x01, 0x01, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x75, 0x0a, - 0x17, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, - 0x69, 0x73, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x52, 0x75, 0x6e, 0x43, 0x6f, 0x6d, 0x70, - 0x6c, 0x65, 0x74, 0x65, 0x22, 0x5c, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x6f, - 0x62, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x0a, 0x6a, - 0x6f, 0x62, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x6a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0a, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, - 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x49, 0x64, 0x22, 0x16, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, - 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5f, 0x0a, 0x16, 0x54, 0x65, - 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x0a, 0x6a, 0x6f, 0x62, 0x5f, 0x72, 0x75, 0x6e, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6a, 0x6f, 0x62, 0x52, 0x75, 0x6e, - 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, - 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x19, 0x0a, 0x17, 0x54, - 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb2, 0x02, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x4a, 0x6f, - 0x62, 0x52, 0x75, 0x6e, 0x4c, 0x6f, 0x67, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x0a, 0x6a, 0x6f, 0x62, 0x5f, 0x72, 0x75, 0x6e, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6a, 0x6f, 0x62, 0x52, 0x75, - 0x6e, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, - 0x01, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x06, - 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6d, - 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x6f, 0x67, - 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x52, 0x06, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x12, 0x1f, - 0x0a, 0x0b, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x5f, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0a, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x54, 0x61, 0x69, 0x6c, 0x12, - 0x30, 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x73, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x42, 0x07, 0xba, 0x48, 0x04, 0x22, 0x02, 0x28, 0x01, 0x48, - 0x00, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x4c, 0x6f, 0x67, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x88, 0x01, - 0x01, 0x12, 0x36, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x18, - 0x06, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x09, - 0x6c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6d, 0x61, - 0x78, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x22, 0x85, 0x01, 0x0a, 0x1b, - 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x4c, 0x6f, 0x67, 0x73, 0x53, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6c, - 0x6f, 0x67, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, - 0x6f, 0x67, 0x4c, 0x69, 0x6e, 0x65, 0x12, 0x3d, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 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, 0x48, 0x00, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x88, 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x22, 0x83, 0x01, 0x0a, 0x1c, 0x53, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x57, 0x6f, - 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x02, 0x69, 0x64, 0x12, 0x49, - 0x0a, 0x10, 0x77, 0x6f, 0x72, 0x66, 0x6b, 0x6c, 0x6f, 0x77, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, - 0x77, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0f, 0x77, 0x6f, 0x72, 0x66, 0x6b, 0x6c, - 0x6f, 0x77, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x45, 0x0a, 0x1d, 0x53, 0x65, 0x74, - 0x4a, 0x6f, 0x62, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x03, 0x6a, 0x6f, - 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, - 0x22, 0x77, 0x0a, 0x18, 0x53, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x79, 0x6e, 0x63, 0x4f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, - 0x01, 0x01, 0x52, 0x02, 0x69, 0x64, 0x12, 0x41, 0x0a, 0x0c, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x6f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, - 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x41, 0x63, 0x74, - 0x69, 0x76, 0x69, 0x74, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b, 0x73, 0x79, - 0x6e, 0x63, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x41, 0x0a, 0x19, 0x53, 0x65, 0x74, - 0x4a, 0x6f, 0x62, 0x53, 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x22, 0xfc, 0x01, 0x0a, - 0x1a, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x4d, 0x61, 0x70, 0x70, - 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0a, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x49, 0x64, 0x12, 0x35, 0x0a, 0x08, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, - 0x67, 0x52, 0x08, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x63, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, - 0x12, 0x59, 0x0a, 0x14, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x66, 0x6f, 0x72, 0x65, - 0x69, 0x67, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, - 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x56, - 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x6e, - 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x52, 0x12, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, - 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x22, 0x6b, 0x0a, 0x0b, 0x43, - 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, + 0x01, 0x01, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x19, 0x0a, + 0x17, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb2, 0x02, 0x0a, 0x1a, 0x47, 0x65, 0x74, + 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x4c, 0x6f, 0x67, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x0a, 0x6a, 0x6f, 0x62, 0x5f, 0x72, + 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6a, 0x6f, 0x62, + 0x52, 0x75, 0x6e, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, + 0xb0, 0x01, 0x01, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x30, + 0x0a, 0x06, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, + 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, + 0x6f, 0x67, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x52, 0x06, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, + 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x5f, 0x74, 0x61, 0x69, 0x6c, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x54, 0x61, 0x69, + 0x6c, 0x12, 0x30, 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x6c, 0x69, 0x6e, + 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x42, 0x07, 0xba, 0x48, 0x04, 0x22, 0x02, 0x28, + 0x01, 0x48, 0x00, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x4c, 0x6f, 0x67, 0x4c, 0x69, 0x6e, 0x65, 0x73, + 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, + 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, + 0x52, 0x09, 0x6c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x42, 0x10, 0x0a, 0x0e, 0x5f, + 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x22, 0x85, 0x01, + 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x4c, 0x6f, 0x67, 0x73, 0x53, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, + 0x08, 0x6c, 0x6f, 0x67, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x6c, 0x6f, 0x67, 0x4c, 0x69, 0x6e, 0x65, 0x12, 0x3d, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 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, 0x48, 0x00, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x83, 0x01, 0x0a, 0x1c, 0x53, 0x65, 0x74, 0x4a, 0x6f, 0x62, + 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x02, 0x69, 0x64, + 0x12, 0x49, 0x0a, 0x10, 0x77, 0x6f, 0x72, 0x66, 0x6b, 0x6c, 0x6f, 0x77, 0x5f, 0x6f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x67, 0x6d, + 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, + 0x6c, 0x6f, 0x77, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0f, 0x77, 0x6f, 0x72, 0x66, + 0x6b, 0x6c, 0x6f, 0x77, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x45, 0x0a, 0x1d, 0x53, + 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x03, + 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x67, 0x6d, 0x74, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, + 0x6f, 0x62, 0x22, 0x77, 0x0a, 0x18, 0x53, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x79, 0x6e, 0x63, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, + 0x03, 0xb0, 0x01, 0x01, 0x52, 0x02, 0x69, 0x64, 0x12, 0x41, 0x0a, 0x0c, 0x73, 0x79, 0x6e, 0x63, + 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, + 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x41, + 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b, + 0x73, 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x41, 0x0a, 0x19, 0x53, + 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x22, 0x86, + 0x02, 0x0a, 0x1a, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x4d, 0x61, + 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, + 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x09, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x35, 0x0a, 0x08, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, + 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x4d, 0x61, 0x70, 0x70, + 0x69, 0x6e, 0x67, 0x52, 0x08, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x2d, 0x0a, + 0x0d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x0c, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x59, 0x0a, 0x14, + 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, + 0x6b, 0x65, 0x79, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x67, 0x6d, + 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x56, 0x69, 0x72, 0x74, 0x75, + 0x61, 0x6c, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, + 0x69, 0x6e, 0x74, 0x52, 0x12, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x46, 0x6f, 0x72, 0x65, + 0x69, 0x67, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x22, 0x6b, 0x0a, 0x0b, 0x43, 0x6f, 0x6c, 0x75, 0x6d, + 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x14, + 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, + 0x61, 0x62, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x16, 0x0a, 0x06, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x73, 0x22, 0x27, 0x0a, 0x0d, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, + 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x22, 0xa5, 0x01, + 0x0a, 0x1b, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x4d, 0x61, 0x70, + 0x70, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, + 0x0d, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, + 0x52, 0x0c, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x45, + 0x0a, 0x0f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, + 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x45, + 0x72, 0x72, 0x6f, 0x72, 0x73, 0x22, 0x5b, 0x0a, 0x11, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, + 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6c, 0x75, - 0x6d, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, - 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x22, 0x27, 0x0a, 0x0d, 0x44, 0x61, 0x74, 0x61, - 0x62, 0x61, 0x73, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, - 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x73, 0x22, 0xa5, 0x01, 0x0a, 0x1b, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, - 0x62, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x45, - 0x72, 0x72, 0x6f, 0x72, 0x52, 0x0c, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x45, 0x72, 0x72, 0x6f, - 0x72, 0x73, 0x12, 0x45, 0x0a, 0x0f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x65, - 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x67, - 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, - 0x62, 0x61, 0x73, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x62, - 0x61, 0x73, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x22, 0x5b, 0x0a, 0x11, 0x56, 0x69, 0x72, - 0x74, 0x75, 0x61, 0x6c, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x16, - 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, - 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x63, - 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x22, 0xa5, 0x01, 0x0a, 0x18, 0x56, 0x69, 0x72, 0x74, 0x75, - 0x61, 0x6c, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, - 0x69, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x74, - 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, - 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x41, 0x0a, 0x0b, 0x66, - 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x20, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, - 0x2e, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4b, - 0x65, 0x79, 0x52, 0x0a, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4b, 0x65, 0x79, 0x22, 0x88, - 0x01, 0x0a, 0x0d, 0x52, 0x75, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x4b, 0x65, 0x79, - 0x12, 0x25, 0x0a, 0x0a, 0x6a, 0x6f, 0x62, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x08, 0x6a, - 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x0b, 0x65, 0x78, 0x74, 0x65, 0x72, - 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, - 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, - 0x64, 0x12, 0x26, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x09, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x44, 0x0a, 0x14, 0x47, 0x65, 0x74, - 0x52, 0x75, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x2c, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, - 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x52, 0x75, - 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x02, 0x69, 0x64, 0x22, - 0x2d, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x5a, - 0x0a, 0x14, 0x53, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x31, 0x2e, 0x52, 0x75, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x4b, 0x65, 0x79, - 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x17, 0x0a, 0x15, 0x53, 0x65, - 0x74, 0x52, 0x75, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x5b, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x43, 0x6f, 0x6e, - 0x74, 0x65, 0x78, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x52, 0x75, 0x6e, 0x43, 0x6f, 0x6e, 0x74, - 0x65, 0x78, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x22, 0x18, 0x0a, 0x16, 0x53, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, - 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xad, 0x03, 0x0a, 0x07, 0x4a, - 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x15, 0x0a, 0x06, - 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, - 0x62, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2b, 0x0a, 0x12, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, - 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, 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, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, - 0x74, 0x12, 0x2b, 0x0a, 0x12, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, - 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x39, - 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x09, 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, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, - 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, 0xba, 0x48, 0x06, 0x2a, 0x04, 0x18, 0x64, 0x28, 0x00, - 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0xdd, 0x01, 0x0a, 0x0a, 0x4e, - 0x65, 0x77, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x12, 0x2d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x19, 0xba, 0x48, 0x16, 0x72, 0x14, 0x32, 0x12, - 0x5e, 0x5b, 0x61, 0x2d, 0x7a, 0x30, 0x2d, 0x39, 0x2d, 0x5d, 0x7b, 0x33, 0x2c, 0x31, 0x30, 0x30, - 0x7d, 0x24, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, - 0x48, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, 0xba, 0x48, 0x06, 0x2a, 0x04, 0x18, 0x64, 0x28, 0x00, - 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0xa5, 0x03, 0x0a, 0x0d, 0x4a, - 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3b, 0x0a, 0x03, - 0x73, 0x71, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x67, 0x6d, 0x74, + 0x09, 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6c, 0x75, + 0x6d, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, + 0x6e, 0x73, 0x22, 0xa5, 0x01, 0x0a, 0x18, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x46, 0x6f, + 0x72, 0x65, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x12, + 0x16, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x18, 0x0a, + 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, + 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x41, 0x0a, 0x0b, 0x66, 0x6f, 0x72, 0x65, 0x69, + 0x67, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6d, + 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x56, 0x69, 0x72, + 0x74, 0x75, 0x61, 0x6c, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4b, 0x65, 0x79, 0x52, 0x0a, + 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4b, 0x65, 0x79, 0x22, 0x88, 0x01, 0x0a, 0x0d, 0x52, + 0x75, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x25, 0x0a, 0x0a, + 0x6a, 0x6f, 0x62, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x08, 0x6a, 0x6f, 0x62, 0x52, 0x75, + 0x6e, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x0b, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, 0x10, + 0x01, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x26, 0x0a, + 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x44, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x67, 0x6d, 0x74, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x52, 0x75, 0x6e, 0x43, 0x6f, 0x6e, + 0x74, 0x65, 0x78, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x02, 0x69, 0x64, 0x22, 0x2d, 0x0a, 0x15, 0x47, + 0x65, 0x74, 0x52, 0x75, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x5a, 0x0a, 0x14, 0x53, 0x65, + 0x74, 0x52, 0x75, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x52, + 0x75, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x02, 0x69, 0x64, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x17, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x52, 0x75, 0x6e, + 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x5b, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x31, 0x2e, 0x52, 0x75, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x4b, + 0x65, 0x79, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x18, 0x0a, 0x16, + 0x53, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xad, 0x03, 0x0a, 0x07, 0x4a, 0x6f, 0x62, 0x48, 0x6f, + 0x6f, 0x6b, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, + 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, + 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, + 0x34, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, + 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2b, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, + 0x49, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, + 0x18, 0x07, 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, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x2b, 0x0a, + 0x12, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, + 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x09, 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, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, + 0x25, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x0d, 0x42, 0x09, 0xba, 0x48, 0x06, 0x2a, 0x04, 0x18, 0x64, 0x28, 0x00, 0x52, 0x08, 0x70, 0x72, + 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0xdd, 0x01, 0x0a, 0x0a, 0x4e, 0x65, 0x77, 0x4a, 0x6f, + 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x12, 0x2d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x19, 0xba, 0x48, 0x16, 0x72, 0x14, 0x32, 0x12, 0x5e, 0x5b, 0x61, 0x2d, + 0x7a, 0x30, 0x2d, 0x39, 0x2d, 0x5d, 0x7b, 0x33, 0x2c, 0x31, 0x30, 0x30, 0x7d, 0x24, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, + 0x10, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x34, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, + 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, + 0x25, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0d, 0x42, 0x09, 0xba, 0x48, 0x06, 0x2a, 0x04, 0x18, 0x64, 0x28, 0x00, 0x52, 0x08, 0x70, 0x72, + 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0xbd, 0x03, 0x0a, 0x0d, 0x4a, 0x6f, 0x62, 0x48, 0x6f, + 0x6f, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3b, 0x0a, 0x03, 0x73, 0x71, 0x6c, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x71, 0x6c, 0x48, 0x6f, 0x6f, 0x6b, 0x48, 0x00, + 0x52, 0x03, 0x73, 0x71, 0x6c, 0x1a, 0xc5, 0x02, 0x0a, 0x0a, 0x4a, 0x6f, 0x62, 0x53, 0x71, 0x6c, + 0x48, 0x6f, 0x6f, 0x6b, 0x12, 0x1d, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x05, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x12, 0x2d, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, + 0x03, 0xb0, 0x01, 0x01, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x49, 0x64, 0x12, 0x46, 0x0a, 0x06, 0x74, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x71, 0x6c, 0x48, 0x6f, 0x6f, 0x6b, 0x2e, 0x54, 0x69, 0x6d, 0x69, + 0x6e, 0x67, 0x52, 0x06, 0x74, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x1a, 0xa0, 0x01, 0x0a, 0x06, 0x54, + 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x12, 0x40, 0x0a, 0x08, 0x70, 0x72, 0x65, 0x5f, 0x73, 0x79, 0x6e, + 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x54, + 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x48, 0x00, 0x52, 0x07, + 0x70, 0x72, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x12, 0x43, 0x0a, 0x09, 0x70, 0x6f, 0x73, 0x74, 0x5f, + 0x73, 0x79, 0x6e, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6d, 0x67, 0x6d, + 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x48, 0x6f, + 0x6f, 0x6b, 0x54, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x73, 0x74, 0x53, 0x79, 0x6e, 0x63, + 0x48, 0x00, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x42, 0x0f, 0x0a, 0x06, + 0x74, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x12, 0x05, 0xba, 0x48, 0x02, 0x08, 0x01, 0x42, 0x0f, 0x0a, + 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x05, 0xba, 0x48, 0x02, 0x08, 0x01, 0x4a, 0x04, + 0x08, 0x01, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, + 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x22, 0x16, 0x0a, 0x14, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, + 0x6b, 0x54, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x22, 0x17, + 0x0a, 0x15, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x54, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x50, + 0x6f, 0x73, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x22, 0x35, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4a, 0x6f, + 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, + 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, + 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0x43, + 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x05, 0x68, 0x6f, 0x6f, 0x6b, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x05, 0x68, 0x6f, + 0x6f, 0x6b, 0x73, 0x22, 0x2d, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, + 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x02, + 0x69, 0x64, 0x22, 0x40, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x04, 0x68, 0x6f, 0x6f, 0x6b, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x04, + 0x68, 0x6f, 0x6f, 0x6b, 0x22, 0x5c, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, + 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, + 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, + 0x62, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x04, 0x68, 0x6f, 0x6f, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x19, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x31, 0x2e, 0x4e, 0x65, 0x77, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x04, 0x68, 0x6f, + 0x6f, 0x6b, 0x22, 0x43, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x48, + 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x04, 0x68, + 0x6f, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, - 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x71, 0x6c, 0x48, 0x6f, - 0x6f, 0x6b, 0x48, 0x00, 0x52, 0x03, 0x73, 0x71, 0x6c, 0x1a, 0xc5, 0x02, 0x0a, 0x0a, 0x4a, 0x6f, - 0x62, 0x53, 0x71, 0x6c, 0x48, 0x6f, 0x6f, 0x6b, 0x12, 0x1d, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, 0x10, 0x01, - 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x2d, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, - 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x46, 0x0a, 0x06, 0x74, 0x69, 0x6d, 0x69, 0x6e, 0x67, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x71, 0x6c, 0x48, 0x6f, 0x6f, 0x6b, 0x2e, - 0x54, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x74, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x1a, 0xa0, - 0x01, 0x0a, 0x06, 0x54, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x12, 0x40, 0x0a, 0x08, 0x70, 0x72, 0x65, - 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6d, 0x67, - 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x48, - 0x6f, 0x6f, 0x6b, 0x54, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x53, 0x79, 0x6e, 0x63, - 0x48, 0x00, 0x52, 0x07, 0x70, 0x72, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x12, 0x43, 0x0a, 0x09, 0x70, - 0x6f, 0x73, 0x74, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, + 0x6b, 0x52, 0x04, 0x68, 0x6f, 0x6f, 0x6b, 0x22, 0x30, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x18, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, + 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x02, 0x69, 0x64, 0x22, 0x17, 0x0a, 0x15, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x4a, 0x0a, 0x1d, 0x49, 0x73, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x4e, + 0x61, 0x6d, 0x65, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x43, + 0x0a, 0x1e, 0x49, 0x73, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x41, + 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, + 0x62, 0x6c, 0x65, 0x22, 0x81, 0x02, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, + 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, + 0x01, 0x01, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x19, 0xba, 0x48, 0x16, 0x72, 0x14, 0x32, 0x12, 0x5e, 0x5b, 0x61, + 0x2d, 0x7a, 0x30, 0x2d, 0x39, 0x2d, 0x5d, 0x7b, 0x33, 0x2c, 0x31, 0x30, 0x30, 0x7d, 0x24, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, + 0x02, 0x10, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x34, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, + 0x2e, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, + 0x12, 0x25, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0d, 0x42, 0x09, 0xba, 0x48, 0x06, 0x2a, 0x04, 0x18, 0x64, 0x28, 0x00, 0x52, 0x08, 0x70, + 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x43, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x2a, 0x0a, 0x04, 0x68, 0x6f, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, - 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x54, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x73, 0x74, - 0x53, 0x79, 0x6e, 0x63, 0x48, 0x00, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x74, 0x53, 0x79, 0x6e, 0x63, - 0x42, 0x0f, 0x0a, 0x06, 0x74, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x12, 0x05, 0xba, 0x48, 0x02, 0x08, - 0x01, 0x42, 0x0f, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x05, 0xba, 0x48, 0x02, - 0x08, 0x01, 0x22, 0x16, 0x0a, 0x14, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x54, 0x69, 0x6d, - 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x22, 0x17, 0x0a, 0x15, 0x4a, 0x6f, - 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x54, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x73, 0x74, 0x53, - 0x79, 0x6e, 0x63, 0x22, 0x35, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, - 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x6a, 0x6f, 0x62, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, - 0xb0, 0x01, 0x01, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0x43, 0x0a, 0x13, 0x47, 0x65, - 0x74, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x2c, 0x0a, 0x05, 0x68, 0x6f, 0x6f, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x16, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, - 0x2e, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x05, 0x68, 0x6f, 0x6f, 0x6b, 0x73, 0x22, - 0x2d, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x02, 0x69, 0x64, 0x22, 0x40, - 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x04, 0x68, 0x6f, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x04, 0x68, 0x6f, 0x6f, 0x6b, - 0x22, 0x5c, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, - 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, - 0x2d, 0x0a, 0x04, 0x68, 0x6f, 0x6f, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, - 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4e, 0x65, - 0x77, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x04, 0x68, 0x6f, 0x6f, 0x6b, 0x22, 0x43, - 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x04, 0x68, 0x6f, 0x6f, 0x6b, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x04, 0x68, - 0x6f, 0x6f, 0x6b, 0x22, 0x30, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x6f, 0x62, - 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, - 0x01, 0x52, 0x02, 0x69, 0x64, 0x22, 0x17, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4a, - 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4a, - 0x0a, 0x1d, 0x49, 0x73, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x41, - 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x43, 0x0a, 0x1e, 0x49, 0x73, - 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x41, 0x76, 0x61, 0x69, 0x6c, - 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, - 0x69, 0x73, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x22, - 0x81, 0x02, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, - 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, + 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x04, 0x68, 0x6f, 0x6f, 0x6b, 0x22, 0x4e, 0x0a, 0x18, + 0x53, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x02, - 0x69, 0x64, 0x12, 0x2d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x19, 0xba, 0x48, 0x16, 0x72, 0x14, 0x32, 0x12, 0x5e, 0x5b, 0x61, 0x2d, 0x7a, 0x30, 0x2d, - 0x39, 0x2d, 0x5d, 0x7b, 0x33, 0x2c, 0x31, 0x30, 0x30, 0x7d, 0x24, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, - 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x06, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, - 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, - 0x48, 0x6f, 0x6f, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x08, - 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, - 0xba, 0x48, 0x06, 0x2a, 0x04, 0x18, 0x64, 0x28, 0x00, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, - 0x69, 0x74, 0x79, 0x22, 0x43, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, - 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x04, - 0x68, 0x6f, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x67, 0x6d, + 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x47, 0x0a, 0x19, + 0x53, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x04, 0x68, 0x6f, 0x6f, + 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x52, + 0x04, 0x68, 0x6f, 0x6f, 0x6b, 0x22, 0xde, 0x01, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x42, 0x79, 0x54, 0x69, 0x6d, + 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x6a, 0x6f, + 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, + 0x03, 0xb0, 0x01, 0x01, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x4e, 0x0a, 0x06, 0x74, + 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x36, 0x2e, 0x6d, 0x67, + 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x42, 0x79, 0x54, + 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x69, 0x6d, + 0x69, 0x6e, 0x67, 0x52, 0x06, 0x74, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x22, 0x49, 0x0a, 0x06, 0x54, + 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x12, 0x54, 0x49, 0x4d, 0x49, 0x4e, 0x47, 0x5f, + 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, + 0x0e, 0x54, 0x49, 0x4d, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x52, 0x45, 0x53, 0x59, 0x4e, 0x43, 0x10, + 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x54, 0x49, 0x4d, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x4f, 0x53, 0x54, + 0x53, 0x59, 0x4e, 0x43, 0x10, 0x02, 0x22, 0x51, 0x0a, 0x21, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x42, 0x79, 0x54, 0x69, 0x6d, + 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x05, 0x68, + 0x6f, 0x6f, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x48, 0x6f, - 0x6f, 0x6b, 0x52, 0x04, 0x68, 0x6f, 0x6f, 0x6b, 0x22, 0x4e, 0x0a, 0x18, 0x53, 0x65, 0x74, 0x4a, - 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, - 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x47, 0x0a, 0x19, 0x53, 0x65, 0x74, 0x4a, - 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x04, 0x68, 0x6f, 0x6f, 0x6b, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x04, 0x68, 0x6f, 0x6f, - 0x6b, 0x22, 0xde, 0x01, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4a, - 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x42, 0x79, 0x54, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, - 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x4e, 0x0a, 0x06, 0x74, 0x69, 0x6d, 0x69, 0x6e, - 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x36, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x42, 0x79, 0x54, 0x69, 0x6d, 0x69, 0x6e, - 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x52, - 0x06, 0x74, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x22, 0x49, 0x0a, 0x06, 0x54, 0x69, 0x6d, 0x69, 0x6e, - 0x67, 0x12, 0x16, 0x0a, 0x12, 0x54, 0x49, 0x4d, 0x49, 0x4e, 0x47, 0x5f, 0x55, 0x4e, 0x53, 0x50, - 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x54, 0x49, 0x4d, - 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x52, 0x45, 0x53, 0x59, 0x4e, 0x43, 0x10, 0x01, 0x12, 0x13, 0x0a, - 0x0f, 0x54, 0x49, 0x4d, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x4f, 0x53, 0x54, 0x53, 0x59, 0x4e, 0x43, - 0x10, 0x02, 0x22, 0x51, 0x0a, 0x21, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4a, - 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x42, 0x79, 0x54, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x05, 0x68, 0x6f, 0x6f, 0x6b, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x05, - 0x68, 0x6f, 0x6f, 0x6b, 0x73, 0x2a, 0x6f, 0x0a, 0x09, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x16, 0x4a, 0x4f, 0x42, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, - 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x16, - 0x0a, 0x12, 0x4a, 0x4f, 0x42, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x45, 0x4e, 0x41, - 0x42, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x4a, 0x4f, 0x42, 0x5f, 0x53, 0x54, - 0x41, 0x54, 0x55, 0x53, 0x5f, 0x50, 0x41, 0x55, 0x53, 0x45, 0x44, 0x10, 0x03, 0x12, 0x17, 0x0a, - 0x13, 0x4a, 0x4f, 0x42, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x44, 0x49, 0x53, 0x41, - 0x42, 0x4c, 0x45, 0x44, 0x10, 0x04, 0x2a, 0xa7, 0x01, 0x0a, 0x0e, 0x41, 0x63, 0x74, 0x69, 0x76, - 0x69, 0x74, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x43, 0x54, - 0x49, 0x56, 0x49, 0x54, 0x59, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1d, 0x0a, 0x19, 0x41, 0x43, - 0x54, 0x49, 0x56, 0x49, 0x54, 0x59, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x53, 0x43, - 0x48, 0x45, 0x44, 0x55, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x41, 0x43, 0x54, - 0x49, 0x56, 0x49, 0x54, 0x59, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x53, 0x54, 0x41, - 0x52, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x41, 0x43, 0x54, 0x49, 0x56, 0x49, - 0x54, 0x59, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, - 0x45, 0x44, 0x10, 0x03, 0x12, 0x1a, 0x0a, 0x16, 0x41, 0x43, 0x54, 0x49, 0x56, 0x49, 0x54, 0x59, - 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x04, - 0x2a, 0x92, 0x02, 0x0a, 0x0c, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x1e, 0x0a, 0x1a, 0x4a, 0x4f, 0x42, 0x5f, 0x52, 0x55, 0x4e, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x4a, 0x4f, 0x42, 0x5f, 0x52, 0x55, 0x4e, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x55, 0x53, 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x1a, 0x0a, - 0x16, 0x4a, 0x4f, 0x42, 0x5f, 0x52, 0x55, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, - 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x4a, 0x4f, 0x42, - 0x5f, 0x52, 0x55, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x43, 0x4f, 0x4d, 0x50, - 0x4c, 0x45, 0x54, 0x45, 0x10, 0x03, 0x12, 0x18, 0x0a, 0x14, 0x4a, 0x4f, 0x42, 0x5f, 0x52, 0x55, - 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, - 0x12, 0x1b, 0x0a, 0x17, 0x4a, 0x4f, 0x42, 0x5f, 0x52, 0x55, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, - 0x55, 0x53, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x12, 0x1d, 0x0a, - 0x19, 0x4a, 0x4f, 0x42, 0x5f, 0x52, 0x55, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, - 0x54, 0x45, 0x52, 0x4d, 0x49, 0x4e, 0x41, 0x54, 0x45, 0x44, 0x10, 0x06, 0x12, 0x19, 0x0a, 0x15, - 0x4a, 0x4f, 0x42, 0x5f, 0x52, 0x55, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x46, - 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x07, 0x12, 0x1c, 0x0a, 0x18, 0x4a, 0x4f, 0x42, 0x5f, 0x52, - 0x55, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x44, 0x5f, - 0x4f, 0x55, 0x54, 0x10, 0x08, 0x2a, 0x7c, 0x0a, 0x09, 0x4c, 0x6f, 0x67, 0x57, 0x69, 0x6e, 0x64, - 0x6f, 0x77, 0x12, 0x22, 0x0a, 0x1e, 0x4c, 0x4f, 0x47, 0x5f, 0x57, 0x49, 0x4e, 0x44, 0x4f, 0x57, - 0x5f, 0x4e, 0x4f, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, - 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x4c, 0x4f, 0x47, 0x5f, 0x57, 0x49, - 0x4e, 0x44, 0x4f, 0x57, 0x5f, 0x46, 0x49, 0x46, 0x54, 0x45, 0x45, 0x4e, 0x5f, 0x4d, 0x49, 0x4e, - 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x4c, 0x4f, 0x47, 0x5f, 0x57, 0x49, 0x4e, 0x44, 0x4f, 0x57, - 0x5f, 0x4f, 0x4e, 0x45, 0x5f, 0x48, 0x4f, 0x55, 0x52, 0x10, 0x02, 0x12, 0x16, 0x0a, 0x12, 0x4c, - 0x4f, 0x47, 0x5f, 0x57, 0x49, 0x4e, 0x44, 0x4f, 0x57, 0x5f, 0x4f, 0x4e, 0x45, 0x5f, 0x44, 0x41, - 0x59, 0x10, 0x03, 0x2a, 0x77, 0x0a, 0x08, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, - 0x19, 0x0a, 0x15, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x4f, - 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, 0x10, 0x01, 0x12, - 0x12, 0x0a, 0x0e, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x49, 0x4e, 0x46, - 0x4f, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, - 0x5f, 0x57, 0x41, 0x52, 0x4e, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, - 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x32, 0xd1, 0x1e, 0x0a, - 0x0a, 0x4a, 0x6f, 0x62, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x4a, 0x0a, 0x07, 0x47, - 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x1d, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x06, 0x47, 0x65, 0x74, 0x4a, 0x6f, - 0x62, 0x12, 0x1c, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x1d, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, - 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x50, 0x0a, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x12, 0x1f, 0x2e, - 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, - 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x50, 0x0a, 0x09, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x12, - 0x1f, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x20, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, - 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x6b, 0x0a, 0x12, 0x49, 0x73, 0x4a, 0x6f, 0x62, 0x4e, 0x61, 0x6d, - 0x65, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x28, 0x2e, 0x6d, 0x67, 0x6d, - 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x49, 0x73, 0x4a, 0x6f, 0x62, - 0x4e, 0x61, 0x6d, 0x65, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x6f, 0x6b, 0x52, 0x05, 0x68, 0x6f, 0x6f, 0x6b, 0x73, 0x2a, 0x6f, 0x0a, 0x09, 0x4a, 0x6f, 0x62, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x16, 0x4a, 0x4f, 0x42, 0x5f, 0x53, 0x54, + 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x4a, 0x4f, 0x42, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, + 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x4a, 0x4f, + 0x42, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x50, 0x41, 0x55, 0x53, 0x45, 0x44, 0x10, + 0x03, 0x12, 0x17, 0x0a, 0x13, 0x4a, 0x4f, 0x42, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, + 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x04, 0x2a, 0xa7, 0x01, 0x0a, 0x0e, 0x41, + 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1f, 0x0a, + 0x1b, 0x41, 0x43, 0x54, 0x49, 0x56, 0x49, 0x54, 0x59, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, + 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1d, + 0x0a, 0x19, 0x41, 0x43, 0x54, 0x49, 0x56, 0x49, 0x54, 0x59, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, + 0x53, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x44, 0x55, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x1b, 0x0a, + 0x17, 0x41, 0x43, 0x54, 0x49, 0x56, 0x49, 0x54, 0x59, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, + 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x41, 0x43, + 0x54, 0x49, 0x56, 0x49, 0x54, 0x59, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x43, 0x41, + 0x4e, 0x43, 0x45, 0x4c, 0x45, 0x44, 0x10, 0x03, 0x12, 0x1a, 0x0a, 0x16, 0x41, 0x43, 0x54, 0x49, + 0x56, 0x49, 0x54, 0x59, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x46, 0x41, 0x49, 0x4c, + 0x45, 0x44, 0x10, 0x04, 0x2a, 0x92, 0x02, 0x0a, 0x0c, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x1a, 0x4a, 0x4f, 0x42, 0x5f, 0x52, 0x55, 0x4e, + 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, + 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x4a, 0x4f, 0x42, 0x5f, 0x52, 0x55, 0x4e, + 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, + 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x4a, 0x4f, 0x42, 0x5f, 0x52, 0x55, 0x4e, 0x5f, 0x53, 0x54, 0x41, + 0x54, 0x55, 0x53, 0x5f, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x1b, 0x0a, + 0x17, 0x4a, 0x4f, 0x42, 0x5f, 0x52, 0x55, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, + 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x03, 0x12, 0x18, 0x0a, 0x14, 0x4a, 0x4f, + 0x42, 0x5f, 0x52, 0x55, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x45, 0x52, 0x52, + 0x4f, 0x52, 0x10, 0x04, 0x12, 0x1b, 0x0a, 0x17, 0x4a, 0x4f, 0x42, 0x5f, 0x52, 0x55, 0x4e, 0x5f, + 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x45, 0x44, 0x10, + 0x05, 0x12, 0x1d, 0x0a, 0x19, 0x4a, 0x4f, 0x42, 0x5f, 0x52, 0x55, 0x4e, 0x5f, 0x53, 0x54, 0x41, + 0x54, 0x55, 0x53, 0x5f, 0x54, 0x45, 0x52, 0x4d, 0x49, 0x4e, 0x41, 0x54, 0x45, 0x44, 0x10, 0x06, + 0x12, 0x19, 0x0a, 0x15, 0x4a, 0x4f, 0x42, 0x5f, 0x52, 0x55, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, + 0x55, 0x53, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x07, 0x12, 0x1c, 0x0a, 0x18, 0x4a, + 0x4f, 0x42, 0x5f, 0x52, 0x55, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x54, 0x49, + 0x4d, 0x45, 0x44, 0x5f, 0x4f, 0x55, 0x54, 0x10, 0x08, 0x2a, 0x7c, 0x0a, 0x09, 0x4c, 0x6f, 0x67, + 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x12, 0x22, 0x0a, 0x1e, 0x4c, 0x4f, 0x47, 0x5f, 0x57, 0x49, + 0x4e, 0x44, 0x4f, 0x57, 0x5f, 0x4e, 0x4f, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x4c, 0x4f, + 0x47, 0x5f, 0x57, 0x49, 0x4e, 0x44, 0x4f, 0x57, 0x5f, 0x46, 0x49, 0x46, 0x54, 0x45, 0x45, 0x4e, + 0x5f, 0x4d, 0x49, 0x4e, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x4c, 0x4f, 0x47, 0x5f, 0x57, 0x49, + 0x4e, 0x44, 0x4f, 0x57, 0x5f, 0x4f, 0x4e, 0x45, 0x5f, 0x48, 0x4f, 0x55, 0x52, 0x10, 0x02, 0x12, + 0x16, 0x0a, 0x12, 0x4c, 0x4f, 0x47, 0x5f, 0x57, 0x49, 0x4e, 0x44, 0x4f, 0x57, 0x5f, 0x4f, 0x4e, + 0x45, 0x5f, 0x44, 0x41, 0x59, 0x10, 0x03, 0x2a, 0x77, 0x0a, 0x08, 0x4c, 0x6f, 0x67, 0x4c, 0x65, + 0x76, 0x65, 0x6c, 0x12, 0x19, 0x0a, 0x15, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, + 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, + 0x0a, 0x0f, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x44, 0x45, 0x42, 0x55, + 0x47, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, + 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, + 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x57, 0x41, 0x52, 0x4e, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x4c, + 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, + 0x32, 0xf8, 0x1e, 0x0a, 0x0a, 0x4a, 0x6f, 0x62, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, + 0x4d, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x1d, 0x2e, 0x6d, 0x67, 0x6d, + 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, + 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6d, 0x67, 0x6d, 0x74, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x4a, + 0x0a, 0x06, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x1c, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x50, 0x0a, 0x09, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x12, 0x1f, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, + 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, + 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x50, 0x0a, 0x09, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x12, 0x1f, 0x2e, 0x6d, 0x67, 0x6d, 0x74, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x67, 0x6d, + 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6e, + 0x0a, 0x12, 0x49, 0x73, 0x4a, 0x6f, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x41, 0x76, 0x61, 0x69, 0x6c, + 0x61, 0x62, 0x6c, 0x65, 0x12, 0x28, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x49, 0x73, 0x4a, 0x6f, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x41, 0x76, - 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x68, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x53, 0x63, - 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x27, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, + 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, + 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x49, + 0x73, 0x4a, 0x6f, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x68, + 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x53, 0x63, 0x68, 0x65, 0x64, + 0x75, 0x6c, 0x65, 0x12, 0x27, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x53, 0x63, 0x68, + 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x6d, + 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x80, 0x01, 0x0a, 0x19, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, - 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x28, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x80, 0x01, 0x0a, 0x19, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x2e, 0x6d, 0x67, 0x6d, 0x74, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x4a, 0x6f, 0x62, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x6d, 0x67, 0x6d, - 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x4a, 0x6f, 0x62, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x95, - 0x01, 0x0a, 0x20, 0x53, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, - 0x71, 0x6c, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x62, 0x73, - 0x65, 0x74, 0x73, 0x12, 0x36, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x53, 0x71, 0x6c, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x62, - 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x6d, 0x67, - 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4a, - 0x6f, 0x62, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x71, 0x6c, 0x43, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8f, 0x01, 0x0a, 0x1e, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x2e, 0x6d, 0x67, 0x6d, 0x74, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, + 0x62, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x95, 0x01, 0x0a, 0x20, + 0x53, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x71, 0x6c, 0x43, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x73, + 0x12, 0x36, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, + 0x2e, 0x53, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x71, 0x6c, + 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x71, 0x6c, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x8f, 0x01, 0x0a, 0x1e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, + 0x62, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, + 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x6d, + 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8f, 0x01, 0x0a, 0x1e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x35, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8f, 0x01, 0x0a, 0x1e, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x2e, 0x6d, 0x67, - 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4a, + 0x6f, 0x62, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, + 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x92, 0x01, 0x0a, 0x1f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x35, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x73, 0x74, 0x69, - 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x92, 0x01, 0x0a, 0x1f, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x35, - 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x44, - 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x4d, 0x0a, 0x08, 0x50, 0x61, 0x75, 0x73, 0x65, 0x4a, 0x6f, 0x62, 0x12, 0x1e, 0x2e, 0x6d, 0x67, - 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x75, 0x73, - 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x6d, 0x67, - 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x75, 0x73, - 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x65, - 0x0a, 0x10, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x75, - 0x6e, 0x73, 0x12, 0x26, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x52, - 0x75, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x6d, 0x67, 0x6d, - 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, - 0x62, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5f, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x4e, + 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x35, 0x2e, 0x6d, 0x67, + 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x73, 0x74, + 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4d, 0x0a, 0x08, + 0x50, 0x61, 0x75, 0x73, 0x65, 0x4a, 0x6f, 0x62, 0x12, 0x1e, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x75, 0x73, 0x65, 0x4a, 0x6f, + 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x75, 0x73, 0x65, 0x4a, 0x6f, + 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x68, 0x0a, 0x10, 0x47, + 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x75, 0x6e, 0x73, 0x12, + 0x26, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, + 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x75, 0x6e, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, + 0x63, 0x65, 0x6e, 0x74, 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x62, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x4e, 0x65, 0x78, 0x74, 0x52, 0x75, 0x6e, 0x73, 0x12, 0x24, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x4e, 0x65, 0x78, 0x74, 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x4e, 0x65, 0x78, 0x74, 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x59, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x22, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x6d, 0x67, 0x6d, - 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, - 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x5f, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x65, 0x73, 0x12, 0x24, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x6d, 0x67, 0x6d, 0x74, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x5c, 0x0a, 0x0c, 0x47, 0x65, 0x74, + 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x22, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x53, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x73, - 0x12, 0x20, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, - 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x62, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4a, 0x6f, - 0x62, 0x52, 0x75, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x25, 0x2e, 0x6d, 0x67, 0x6d, - 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, - 0x62, 0x52, 0x75, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x26, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x50, 0x0a, 0x09, 0x47, - 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x12, 0x1f, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, - 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x67, 0x6d, 0x74, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, + 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, + 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x62, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4a, 0x6f, + 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x24, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, - 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x59, 0x0a, - 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x12, 0x22, 0x2e, - 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x23, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x59, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x12, 0x22, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, - 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x6d, - 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x59, 0x0a, 0x0c, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4a, 0x6f, 0x62, - 0x52, 0x75, 0x6e, 0x12, 0x22, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x31, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4a, 0x6f, - 0x62, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x62, - 0x0a, 0x0f, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x75, - 0x6e, 0x12, 0x25, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x31, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x75, - 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, - 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x70, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x4c, - 0x6f, 0x67, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x29, 0x2e, 0x6d, 0x67, 0x6d, 0x74, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x25, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, + 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x56, 0x0a, 0x0a, 0x47, + 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x73, 0x12, 0x20, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, - 0x52, 0x75, 0x6e, 0x4c, 0x6f, 0x67, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x4c, 0x6f, - 0x67, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x30, 0x01, 0x12, 0x74, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x57, 0x6f, - 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2b, 0x2e, - 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x65, - 0x74, 0x4a, 0x6f, 0x62, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x6d, 0x67, 0x6d, - 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4a, 0x6f, - 0x62, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x68, 0x0a, 0x11, 0x53, 0x65, - 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x27, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, - 0x53, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, - 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x6e, 0x0a, 0x13, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, - 0x4a, 0x6f, 0x62, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x29, 0x2e, 0x6d, 0x67, - 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x52, + 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6d, 0x67, + 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4a, + 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, + 0x90, 0x02, 0x01, 0x12, 0x65, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x25, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, + 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, + 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x53, 0x0a, 0x09, 0x47, 0x65, + 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x12, 0x1f, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x75, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, + 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, + 0x59, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x12, + 0x22, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x59, 0x0a, 0x0c, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x12, 0x22, 0x2e, 0x6d, 0x67, 0x6d, + 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, + 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x59, 0x0a, 0x0c, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4a, + 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x12, 0x22, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4a, 0x6f, 0x62, 0x52, + 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x6d, 0x67, 0x6d, 0x74, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, + 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x62, 0x0a, 0x0f, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, + 0x52, 0x75, 0x6e, 0x12, 0x25, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, + 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x6d, 0x67, 0x6d, + 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, + 0x6e, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x70, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x75, + 0x6e, 0x4c, 0x6f, 0x67, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x29, 0x2e, 0x6d, 0x67, + 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4a, + 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x4c, 0x6f, 0x67, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4a, - 0x6f, 0x62, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x5c, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x43, 0x6f, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x75, 0x6e, + 0x4c, 0x6f, 0x67, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x74, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x4a, 0x6f, 0x62, + 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x2b, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, + 0x53, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x6d, + 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x74, + 0x4a, 0x6f, 0x62, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x68, 0x0a, 0x11, + 0x53, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x27, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x6d, 0x67, 0x6d, + 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4a, 0x6f, + 0x62, 0x53, 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6e, 0x0a, 0x13, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x29, 0x2e, + 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x56, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x65, 0x4a, 0x6f, 0x62, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5c, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, + 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x23, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x43, 0x6f, + 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6d, + 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x52, 0x75, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x5c, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x23, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x43, 0x6f, 0x6e, 0x74, + 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6d, 0x67, 0x6d, - 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75, + 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x5c, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x43, 0x6f, 0x6e, 0x74, - 0x65, 0x78, 0x74, 0x12, 0x23, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x43, - 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x61, 0x0a, 0x0e, 0x53, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, - 0x74, 0x73, 0x12, 0x24, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x43, - 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x28, 0x01, 0x12, 0x56, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, - 0x6b, 0x73, 0x12, 0x21, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x53, 0x0a, 0x0a, 0x47, - 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x12, 0x20, 0x2e, 0x6d, 0x67, 0x6d, 0x74, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, - 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6d, 0x67, - 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4a, - 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x5c, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, - 0x6b, 0x12, 0x23, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, - 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5c, - 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x12, - 0x23, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x48, 0x6f, - 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x77, 0x0a, 0x16, - 0x49, 0x73, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x41, 0x76, 0x61, - 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x2c, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x49, 0x73, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, - 0x4e, 0x61, 0x6d, 0x65, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x31, 0x2e, 0x49, 0x73, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x4e, 0x61, - 0x6d, 0x65, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5c, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, - 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x12, 0x23, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, - 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6d, 0x67, - 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x68, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, - 0x6b, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x27, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x48, - 0x6f, 0x6f, 0x6b, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x28, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x45, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x80, 0x01, - 0x0a, 0x19, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4a, 0x6f, 0x62, 0x48, 0x6f, - 0x6f, 0x6b, 0x73, 0x42, 0x79, 0x54, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x12, 0x2f, 0x2e, 0x6d, 0x67, - 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x42, 0x79, 0x54, - 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x6d, - 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, - 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x42, 0x79, - 0x54, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x42, 0xc4, 0x01, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x42, 0x08, 0x4a, 0x6f, 0x62, 0x50, 0x72, 0x6f, 0x74, 0x6f, - 0x50, 0x01, 0x5a, 0x50, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6e, - 0x75, 0x63, 0x6c, 0x65, 0x75, 0x73, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x6e, 0x65, 0x6f, 0x73, - 0x79, 0x6e, 0x63, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2f, 0x67, 0x65, 0x6e, 0x2f, - 0x67, 0x6f, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x6d, 0x67, 0x6d, 0x74, 0x2f, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x3b, 0x6d, 0x67, 0x6d, 0x74, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x4d, 0x58, 0x58, 0xaa, 0x02, 0x0d, 0x4d, 0x67, 0x6d, - 0x74, 0x2e, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xca, 0x02, 0x0d, 0x4d, 0x67, 0x6d, - 0x74, 0x5c, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xe2, 0x02, 0x19, 0x4d, 0x67, 0x6d, - 0x74, 0x5c, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0e, 0x4d, 0x67, 0x6d, 0x74, 0x3a, 0x3a, 0x56, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x22, 0x00, 0x12, 0x61, 0x0a, 0x0e, 0x53, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x43, 0x6f, 0x6e, 0x74, + 0x65, 0x78, 0x74, 0x73, 0x12, 0x24, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, + 0x78, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x6d, 0x67, 0x6d, + 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x52, 0x75, + 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x28, 0x01, 0x12, 0x59, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x48, + 0x6f, 0x6f, 0x6b, 0x73, 0x12, 0x21, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x48, 0x6f, + 0x6f, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, + 0x12, 0x56, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x12, 0x20, + 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, + 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x21, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, + 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x5c, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x12, 0x23, 0x2e, 0x6d, 0x67, 0x6d, 0x74, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, + 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5c, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x12, 0x23, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x6f, + 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6d, + 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x77, 0x0a, 0x16, 0x49, 0x73, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, + 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x2c, + 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x49, + 0x73, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x41, 0x76, 0x61, 0x69, + 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x6d, + 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x49, 0x73, 0x4a, + 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, + 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5c, 0x0a, + 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x12, 0x23, + 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, + 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x68, 0x0a, 0x11, 0x53, + 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, + 0x12, 0x27, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, + 0x2e, 0x53, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x45, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x6d, 0x67, 0x6d, 0x74, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4a, 0x6f, 0x62, + 0x48, 0x6f, 0x6f, 0x6b, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x83, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x4a, 0x6f, 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x42, 0x79, 0x54, 0x69, 0x6d, + 0x69, 0x6e, 0x67, 0x12, 0x2f, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4a, 0x6f, 0x62, + 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x42, 0x79, 0x54, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4a, 0x6f, + 0x62, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x42, 0x79, 0x54, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x42, 0xc4, 0x01, 0x0a, 0x11, + 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x31, 0x42, 0x08, 0x4a, 0x6f, 0x62, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x50, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6e, 0x75, 0x63, 0x6c, 0x65, 0x75, + 0x73, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x6e, 0x65, 0x6f, 0x73, 0x79, 0x6e, 0x63, 0x2f, 0x62, + 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x67, 0x6f, 0x2f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x6d, 0x67, 0x6d, 0x74, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x31, 0x3b, 0x6d, 0x67, 0x6d, 0x74, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xa2, + 0x02, 0x03, 0x4d, 0x58, 0x58, 0xaa, 0x02, 0x0d, 0x4d, 0x67, 0x6d, 0x74, 0x2e, 0x56, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x31, 0xca, 0x02, 0x0d, 0x4d, 0x67, 0x6d, 0x74, 0x5c, 0x56, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x31, 0xe2, 0x02, 0x19, 0x4d, 0x67, 0x6d, 0x74, 0x5c, 0x56, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0xea, 0x02, 0x0e, 0x4d, 0x67, 0x6d, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/backend/gen/go/protos/mgmt/v1alpha1/metrics.pb.go b/backend/gen/go/protos/mgmt/v1alpha1/metrics.pb.go index b1109c5586..e6a7063e7e 100644 --- a/backend/gen/go/protos/mgmt/v1alpha1/metrics.pb.go +++ b/backend/gen/go/protos/mgmt/v1alpha1/metrics.pb.go @@ -278,6 +278,7 @@ type GetDailyMetricCountResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The list of results for the given metric and date range Results []*DayResult `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"` } @@ -323,7 +324,9 @@ type DayResult struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Date *Date `protobuf:"bytes,1,opt,name=date,proto3" json:"date,omitempty"` + // The date of the result + Date *Date `protobuf:"bytes,1,opt,name=date,proto3" json:"date,omitempty"` + // The count of the metric for the given date Count uint64 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"` } @@ -609,34 +612,35 @@ var file_mgmt_v1alpha1_metrics_proto_rawDesc = []byte{ 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x25, 0x0a, 0x21, 0x52, 0x41, 0x4e, 0x47, 0x45, 0x44, 0x5f, 0x4d, 0x45, 0x54, 0x52, 0x49, 0x43, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x49, 0x4e, 0x50, 0x55, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x45, 0x49, 0x56, - 0x45, 0x44, 0x10, 0x01, 0x32, 0xe1, 0x01, 0x0a, 0x0e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x6e, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x44, 0x61, + 0x45, 0x44, 0x10, 0x01, 0x32, 0xe7, 0x01, 0x0a, 0x0e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x71, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x29, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5f, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4d, 0x65, - 0x74, 0x72, 0x69, 0x63, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x24, 0x2e, 0x6d, 0x67, 0x6d, 0x74, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, - 0x72, 0x69, 0x63, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x25, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, - 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0xc8, 0x01, 0x0a, 0x11, 0x63, 0x6f, 0x6d, - 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x42, 0x0c, - 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x50, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6e, 0x75, 0x63, 0x6c, 0x65, - 0x75, 0x73, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x6e, 0x65, 0x6f, 0x73, 0x79, 0x6e, 0x63, 0x2f, - 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x67, 0x6f, 0x2f, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x6d, 0x67, 0x6d, 0x74, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x31, 0x3b, 0x6d, 0x67, 0x6d, 0x74, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, - 0xa2, 0x02, 0x03, 0x4d, 0x58, 0x58, 0xaa, 0x02, 0x0d, 0x4d, 0x67, 0x6d, 0x74, 0x2e, 0x56, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xca, 0x02, 0x0d, 0x4d, 0x67, 0x6d, 0x74, 0x5c, 0x56, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xe2, 0x02, 0x19, 0x4d, 0x67, 0x6d, 0x74, 0x5c, 0x56, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0xea, 0x02, 0x0e, 0x4d, 0x67, 0x6d, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x62, 0x0a, 0x0e, 0x47, 0x65, + 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x24, 0x2e, 0x6d, + 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x42, 0xc8, + 0x01, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x31, 0x42, 0x0c, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x50, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x6e, 0x75, 0x63, 0x6c, 0x65, 0x75, 0x73, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x6e, 0x65, + 0x6f, 0x73, 0x79, 0x6e, 0x63, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2f, 0x67, 0x65, + 0x6e, 0x2f, 0x67, 0x6f, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x6d, 0x67, 0x6d, 0x74, + 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x3b, 0x6d, 0x67, 0x6d, 0x74, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x4d, 0x58, 0x58, 0xaa, 0x02, 0x0d, 0x4d, + 0x67, 0x6d, 0x74, 0x2e, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xca, 0x02, 0x0d, 0x4d, + 0x67, 0x6d, 0x74, 0x5c, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xe2, 0x02, 0x19, 0x4d, + 0x67, 0x6d, 0x74, 0x5c, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0e, 0x4d, 0x67, 0x6d, 0x74, 0x3a, + 0x3a, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, } var ( diff --git a/backend/gen/go/protos/mgmt/v1alpha1/mgmtv1alpha1connect/anonymization.connect.go b/backend/gen/go/protos/mgmt/v1alpha1/mgmtv1alpha1connect/anonymization.connect.go index fa18baa516..886148cbbb 100644 --- a/backend/gen/go/protos/mgmt/v1alpha1/mgmtv1alpha1connect/anonymization.connect.go +++ b/backend/gen/go/protos/mgmt/v1alpha1/mgmtv1alpha1connect/anonymization.connect.go @@ -50,7 +50,7 @@ var ( // AnonymizationServiceClient is a client for the mgmt.v1alpha1.AnonymizationService service. type AnonymizationServiceClient interface { - // Anonymizes many JSON strings by applying specified transformation mappings. + // Anonymizes many JSON strings by applying specified transformation mappings. This is the bulk version of the `AnonymizeSingle` method. AnonymizeMany(context.Context, *connect.Request[v1alpha1.AnonymizeManyRequest]) (*connect.Response[v1alpha1.AnonymizeManyResponse], error) // Anonymizes a single JSON strings by applying specified transformation mappings. AnonymizeSingle(context.Context, *connect.Request[v1alpha1.AnonymizeSingleRequest]) (*connect.Response[v1alpha1.AnonymizeSingleResponse], error) @@ -100,7 +100,7 @@ func (c *anonymizationServiceClient) AnonymizeSingle(ctx context.Context, req *c // AnonymizationServiceHandler is an implementation of the mgmt.v1alpha1.AnonymizationService // service. type AnonymizationServiceHandler interface { - // Anonymizes many JSON strings by applying specified transformation mappings. + // Anonymizes many JSON strings by applying specified transformation mappings. This is the bulk version of the `AnonymizeSingle` method. AnonymizeMany(context.Context, *connect.Request[v1alpha1.AnonymizeManyRequest]) (*connect.Response[v1alpha1.AnonymizeManyResponse], error) // Anonymizes a single JSON strings by applying specified transformation mappings. AnonymizeSingle(context.Context, *connect.Request[v1alpha1.AnonymizeSingleRequest]) (*connect.Response[v1alpha1.AnonymizeSingleResponse], error) diff --git a/backend/gen/go/protos/mgmt/v1alpha1/mgmtv1alpha1connect/api_key.connect.go b/backend/gen/go/protos/mgmt/v1alpha1/mgmtv1alpha1connect/api_key.connect.go index 3e81626c80..25f5f661c2 100644 --- a/backend/gen/go/protos/mgmt/v1alpha1/mgmtv1alpha1connect/api_key.connect.go +++ b/backend/gen/go/protos/mgmt/v1alpha1/mgmtv1alpha1connect/api_key.connect.go @@ -90,12 +90,14 @@ func NewApiKeyServiceClient(httpClient connect.HTTPClient, baseURL string, opts httpClient, baseURL+ApiKeyServiceGetAccountApiKeysProcedure, connect.WithSchema(apiKeyServiceGetAccountApiKeysMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithClientOptions(opts...), ), getAccountApiKey: connect.NewClient[v1alpha1.GetAccountApiKeyRequest, v1alpha1.GetAccountApiKeyResponse]( httpClient, baseURL+ApiKeyServiceGetAccountApiKeyProcedure, connect.WithSchema(apiKeyServiceGetAccountApiKeyMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithClientOptions(opts...), ), createAccountApiKey: connect.NewClient[v1alpha1.CreateAccountApiKeyRequest, v1alpha1.CreateAccountApiKeyResponse]( @@ -179,12 +181,14 @@ func NewApiKeyServiceHandler(svc ApiKeyServiceHandler, opts ...connect.HandlerOp ApiKeyServiceGetAccountApiKeysProcedure, svc.GetAccountApiKeys, connect.WithSchema(apiKeyServiceGetAccountApiKeysMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithHandlerOptions(opts...), ) apiKeyServiceGetAccountApiKeyHandler := connect.NewUnaryHandler( ApiKeyServiceGetAccountApiKeyProcedure, svc.GetAccountApiKey, connect.WithSchema(apiKeyServiceGetAccountApiKeyMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithHandlerOptions(opts...), ) apiKeyServiceCreateAccountApiKeyHandler := connect.NewUnaryHandler( diff --git a/backend/gen/go/protos/mgmt/v1alpha1/mgmtv1alpha1connect/auth.connect.go b/backend/gen/go/protos/mgmt/v1alpha1/mgmtv1alpha1connect/auth.connect.go index 05366758d1..6da7d0c26d 100644 --- a/backend/gen/go/protos/mgmt/v1alpha1/mgmtv1alpha1connect/auth.connect.go +++ b/backend/gen/go/protos/mgmt/v1alpha1/mgmtv1alpha1connect/auth.connect.go @@ -105,12 +105,14 @@ func NewAuthServiceClient(httpClient connect.HTTPClient, baseURL string, opts .. httpClient, baseURL+AuthServiceGetAuthorizeUrlProcedure, connect.WithSchema(authServiceGetAuthorizeUrlMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithClientOptions(opts...), ), getAuthStatus: connect.NewClient[v1alpha1.GetAuthStatusRequest, v1alpha1.GetAuthStatusResponse]( httpClient, baseURL+AuthServiceGetAuthStatusProcedure, connect.WithSchema(authServiceGetAuthStatusMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithClientOptions(opts...), ), } @@ -194,12 +196,14 @@ func NewAuthServiceHandler(svc AuthServiceHandler, opts ...connect.HandlerOption AuthServiceGetAuthorizeUrlProcedure, svc.GetAuthorizeUrl, connect.WithSchema(authServiceGetAuthorizeUrlMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithHandlerOptions(opts...), ) authServiceGetAuthStatusHandler := connect.NewUnaryHandler( AuthServiceGetAuthStatusProcedure, svc.GetAuthStatus, connect.WithSchema(authServiceGetAuthStatusMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithHandlerOptions(opts...), ) return "/mgmt.v1alpha1.AuthService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { diff --git a/backend/gen/go/protos/mgmt/v1alpha1/mgmtv1alpha1connect/connection.connect.go b/backend/gen/go/protos/mgmt/v1alpha1/mgmtv1alpha1connect/connection.connect.go index 9faa64f316..702ed96557 100644 --- a/backend/gen/go/protos/mgmt/v1alpha1/mgmtv1alpha1connect/connection.connect.go +++ b/backend/gen/go/protos/mgmt/v1alpha1/mgmtv1alpha1connect/connection.connect.go @@ -115,12 +115,14 @@ func NewConnectionServiceClient(httpClient connect.HTTPClient, baseURL string, o httpClient, baseURL+ConnectionServiceGetConnectionsProcedure, connect.WithSchema(connectionServiceGetConnectionsMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithClientOptions(opts...), ), getConnection: connect.NewClient[v1alpha1.GetConnectionRequest, v1alpha1.GetConnectionResponse]( httpClient, baseURL+ConnectionServiceGetConnectionProcedure, connect.WithSchema(connectionServiceGetConnectionMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithClientOptions(opts...), ), createConnection: connect.NewClient[v1alpha1.CreateConnectionRequest, v1alpha1.CreateConnectionResponse]( @@ -261,12 +263,14 @@ func NewConnectionServiceHandler(svc ConnectionServiceHandler, opts ...connect.H ConnectionServiceGetConnectionsProcedure, svc.GetConnections, connect.WithSchema(connectionServiceGetConnectionsMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithHandlerOptions(opts...), ) connectionServiceGetConnectionHandler := connect.NewUnaryHandler( ConnectionServiceGetConnectionProcedure, svc.GetConnection, connect.WithSchema(connectionServiceGetConnectionMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithHandlerOptions(opts...), ) connectionServiceCreateConnectionHandler := connect.NewUnaryHandler( diff --git a/backend/gen/go/protos/mgmt/v1alpha1/mgmtv1alpha1connect/connection_data.connect.go b/backend/gen/go/protos/mgmt/v1alpha1/mgmtv1alpha1connect/connection_data.connect.go index b8562bca92..0cd7a4b9a3 100644 --- a/backend/gen/go/protos/mgmt/v1alpha1/mgmtv1alpha1connect/connection_data.connect.go +++ b/backend/gen/go/protos/mgmt/v1alpha1/mgmtv1alpha1connect/connection_data.connect.go @@ -150,6 +150,7 @@ func NewConnectionDataServiceClient(httpClient connect.HTTPClient, baseURL strin httpClient, baseURL+ConnectionDataServiceGetTableRowCountProcedure, connect.WithSchema(connectionDataServiceGetTableRowCountMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithClientOptions(opts...), ), } @@ -284,6 +285,7 @@ func NewConnectionDataServiceHandler(svc ConnectionDataServiceHandler, opts ...c ConnectionDataServiceGetTableRowCountProcedure, svc.GetTableRowCount, connect.WithSchema(connectionDataServiceGetTableRowCountMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithHandlerOptions(opts...), ) return "/mgmt.v1alpha1.ConnectionDataService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { diff --git a/backend/gen/go/protos/mgmt/v1alpha1/mgmtv1alpha1connect/job.connect.go b/backend/gen/go/protos/mgmt/v1alpha1/mgmtv1alpha1connect/job.connect.go index db7d4e5638..0c220c4ea2 100644 --- a/backend/gen/go/protos/mgmt/v1alpha1/mgmtv1alpha1connect/job.connect.go +++ b/backend/gen/go/protos/mgmt/v1alpha1/mgmtv1alpha1connect/job.connect.go @@ -181,32 +181,51 @@ var ( // JobServiceClient is a client for the mgmt.v1alpha1.JobService service. type JobServiceClient interface { + // Returns a list of jobs by either account or job GetJobs(context.Context, *connect.Request[v1alpha1.GetJobsRequest]) (*connect.Response[v1alpha1.GetJobsResponse], error) + // Returns a specific job GetJob(context.Context, *connect.Request[v1alpha1.GetJobRequest]) (*connect.Response[v1alpha1.GetJobResponse], error) + // Creates a new job CreateJob(context.Context, *connect.Request[v1alpha1.CreateJobRequest]) (*connect.Response[v1alpha1.CreateJobResponse], error) + // Deletes a job DeleteJob(context.Context, *connect.Request[v1alpha1.DeleteJobRequest]) (*connect.Response[v1alpha1.DeleteJobResponse], error) + // Checks if a job name is available IsJobNameAvailable(context.Context, *connect.Request[v1alpha1.IsJobNameAvailableRequest]) (*connect.Response[v1alpha1.IsJobNameAvailableResponse], error) + // Updates the schedule of a job UpdateJobSchedule(context.Context, *connect.Request[v1alpha1.UpdateJobScheduleRequest]) (*connect.Response[v1alpha1.UpdateJobScheduleResponse], error) + // Updates the source connection of a job UpdateJobSourceConnection(context.Context, *connect.Request[v1alpha1.UpdateJobSourceConnectionRequest]) (*connect.Response[v1alpha1.UpdateJobSourceConnectionResponse], error) + // Sets the source sql connection subsets of a job SetJobSourceSqlConnectionSubsets(context.Context, *connect.Request[v1alpha1.SetJobSourceSqlConnectionSubsetsRequest]) (*connect.Response[v1alpha1.SetJobSourceSqlConnectionSubsetsResponse], error) + // Updates the destination connection of a job UpdateJobDestinationConnection(context.Context, *connect.Request[v1alpha1.UpdateJobDestinationConnectionRequest]) (*connect.Response[v1alpha1.UpdateJobDestinationConnectionResponse], error) + // Deletes the destination connection of a job DeleteJobDestinationConnection(context.Context, *connect.Request[v1alpha1.DeleteJobDestinationConnectionRequest]) (*connect.Response[v1alpha1.DeleteJobDestinationConnectionResponse], error) + // Creates the destination connections of a job CreateJobDestinationConnections(context.Context, *connect.Request[v1alpha1.CreateJobDestinationConnectionsRequest]) (*connect.Response[v1alpha1.CreateJobDestinationConnectionsResponse], error) + // Pauses or unpauses a job PauseJob(context.Context, *connect.Request[v1alpha1.PauseJobRequest]) (*connect.Response[v1alpha1.PauseJobResponse], error) - // Returns a list of recently invoked job runs baseds on the Temporal cron scheduler. This will return a list of job runs that include archived runs + // Returns a list of recently invoked job runs based on the Temporal cron scheduler. This will return a list of job runs that include archived runs GetJobRecentRuns(context.Context, *connect.Request[v1alpha1.GetJobRecentRunsRequest]) (*connect.Response[v1alpha1.GetJobRecentRunsResponse], error) // Returns a list of runs that are scheduled for execution based on the Temporal cron scheduler. GetJobNextRuns(context.Context, *connect.Request[v1alpha1.GetJobNextRunsRequest]) (*connect.Response[v1alpha1.GetJobNextRunsResponse], error) + // Returns the status of a job GetJobStatus(context.Context, *connect.Request[v1alpha1.GetJobStatusRequest]) (*connect.Response[v1alpha1.GetJobStatusResponse], error) + // Returns the statuses of jobs within an account GetJobStatuses(context.Context, *connect.Request[v1alpha1.GetJobStatusesRequest]) (*connect.Response[v1alpha1.GetJobStatusesResponse], error) // Returns a list of job runs by either account or job GetJobRuns(context.Context, *connect.Request[v1alpha1.GetJobRunsRequest]) (*connect.Response[v1alpha1.GetJobRunsResponse], error) + // Returns a list of events for a job run to understand more details of the run itself GetJobRunEvents(context.Context, *connect.Request[v1alpha1.GetJobRunEventsRequest]) (*connect.Response[v1alpha1.GetJobRunEventsResponse], error) // Returns a specific job run, along with any of its pending activities GetJobRun(context.Context, *connect.Request[v1alpha1.GetJobRunRequest]) (*connect.Response[v1alpha1.GetJobRunResponse], error) + // Deletes a job run DeleteJobRun(context.Context, *connect.Request[v1alpha1.DeleteJobRunRequest]) (*connect.Response[v1alpha1.DeleteJobRunResponse], error) + // Creates a new job run CreateJobRun(context.Context, *connect.Request[v1alpha1.CreateJobRunRequest]) (*connect.Response[v1alpha1.CreateJobRunResponse], error) + // Cancels a job run. This is a graceful termination and allows the workflow to clean up and exit gracefully. CancelJobRun(context.Context, *connect.Request[v1alpha1.CancelJobRunRequest]) (*connect.Response[v1alpha1.CancelJobRunResponse], error) + // Terminates a job run. This is an immediate termination and will not allow the workflow to clean up and exit gracefully. TerminateJobRun(context.Context, *connect.Request[v1alpha1.TerminateJobRunRequest]) (*connect.Response[v1alpha1.TerminateJobRunResponse], error) // Returns a stream of logs from the worker nodes that pertain to a specific job run GetJobRunLogsStream(context.Context, *connect.Request[v1alpha1.GetJobRunLogsStreamRequest]) (*connect.ServerStreamForClient[v1alpha1.GetJobRunLogsStreamResponse], error) @@ -214,7 +233,7 @@ type JobServiceClient interface { SetJobWorkflowOptions(context.Context, *connect.Request[v1alpha1.SetJobWorkflowOptionsRequest]) (*connect.Response[v1alpha1.SetJobWorkflowOptionsResponse], error) // Set the job sync options. Must provide entire object as it will fully override the previous configuration SetJobSyncOptions(context.Context, *connect.Request[v1alpha1.SetJobSyncOptionsRequest]) (*connect.Response[v1alpha1.SetJobSyncOptionsResponse], error) - // validates that the jobmapping configured can run with table constraints + // Validates that the jobmapping configured can run with table constraints ValidateJobMappings(context.Context, *connect.Request[v1alpha1.ValidateJobMappingsRequest]) (*connect.Response[v1alpha1.ValidateJobMappingsResponse], error) // Gets a run context to be used by a workflow run GetRunContext(context.Context, *connect.Request[v1alpha1.GetRunContextRequest]) (*connect.Response[v1alpha1.GetRunContextResponse], error) @@ -254,12 +273,14 @@ func NewJobServiceClient(httpClient connect.HTTPClient, baseURL string, opts ... httpClient, baseURL+JobServiceGetJobsProcedure, connect.WithSchema(jobServiceGetJobsMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithClientOptions(opts...), ), getJob: connect.NewClient[v1alpha1.GetJobRequest, v1alpha1.GetJobResponse]( httpClient, baseURL+JobServiceGetJobProcedure, connect.WithSchema(jobServiceGetJobMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithClientOptions(opts...), ), createJob: connect.NewClient[v1alpha1.CreateJobRequest, v1alpha1.CreateJobResponse]( @@ -278,6 +299,7 @@ func NewJobServiceClient(httpClient connect.HTTPClient, baseURL string, opts ... httpClient, baseURL+JobServiceIsJobNameAvailableProcedure, connect.WithSchema(jobServiceIsJobNameAvailableMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithClientOptions(opts...), ), updateJobSchedule: connect.NewClient[v1alpha1.UpdateJobScheduleRequest, v1alpha1.UpdateJobScheduleResponse]( @@ -326,42 +348,49 @@ func NewJobServiceClient(httpClient connect.HTTPClient, baseURL string, opts ... httpClient, baseURL+JobServiceGetJobRecentRunsProcedure, connect.WithSchema(jobServiceGetJobRecentRunsMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithClientOptions(opts...), ), getJobNextRuns: connect.NewClient[v1alpha1.GetJobNextRunsRequest, v1alpha1.GetJobNextRunsResponse]( httpClient, baseURL+JobServiceGetJobNextRunsProcedure, connect.WithSchema(jobServiceGetJobNextRunsMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithClientOptions(opts...), ), getJobStatus: connect.NewClient[v1alpha1.GetJobStatusRequest, v1alpha1.GetJobStatusResponse]( httpClient, baseURL+JobServiceGetJobStatusProcedure, connect.WithSchema(jobServiceGetJobStatusMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithClientOptions(opts...), ), getJobStatuses: connect.NewClient[v1alpha1.GetJobStatusesRequest, v1alpha1.GetJobStatusesResponse]( httpClient, baseURL+JobServiceGetJobStatusesProcedure, connect.WithSchema(jobServiceGetJobStatusesMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithClientOptions(opts...), ), getJobRuns: connect.NewClient[v1alpha1.GetJobRunsRequest, v1alpha1.GetJobRunsResponse]( httpClient, baseURL+JobServiceGetJobRunsProcedure, connect.WithSchema(jobServiceGetJobRunsMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithClientOptions(opts...), ), getJobRunEvents: connect.NewClient[v1alpha1.GetJobRunEventsRequest, v1alpha1.GetJobRunEventsResponse]( httpClient, baseURL+JobServiceGetJobRunEventsProcedure, connect.WithSchema(jobServiceGetJobRunEventsMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithClientOptions(opts...), ), getJobRun: connect.NewClient[v1alpha1.GetJobRunRequest, v1alpha1.GetJobRunResponse]( httpClient, baseURL+JobServiceGetJobRunProcedure, connect.WithSchema(jobServiceGetJobRunMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithClientOptions(opts...), ), deleteJobRun: connect.NewClient[v1alpha1.DeleteJobRunRequest, v1alpha1.DeleteJobRunResponse]( @@ -434,12 +463,14 @@ func NewJobServiceClient(httpClient connect.HTTPClient, baseURL string, opts ... httpClient, baseURL+JobServiceGetJobHooksProcedure, connect.WithSchema(jobServiceGetJobHooksMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithClientOptions(opts...), ), getJobHook: connect.NewClient[v1alpha1.GetJobHookRequest, v1alpha1.GetJobHookResponse]( httpClient, baseURL+JobServiceGetJobHookProcedure, connect.WithSchema(jobServiceGetJobHookMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithClientOptions(opts...), ), createJobHook: connect.NewClient[v1alpha1.CreateJobHookRequest, v1alpha1.CreateJobHookResponse]( @@ -476,6 +507,7 @@ func NewJobServiceClient(httpClient connect.HTTPClient, baseURL string, opts ... httpClient, baseURL+JobServiceGetActiveJobHooksByTimingProcedure, connect.WithSchema(jobServiceGetActiveJobHooksByTimingMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithClientOptions(opts...), ), } @@ -715,32 +747,51 @@ func (c *jobServiceClient) GetActiveJobHooksByTiming(ctx context.Context, req *c // JobServiceHandler is an implementation of the mgmt.v1alpha1.JobService service. type JobServiceHandler interface { + // Returns a list of jobs by either account or job GetJobs(context.Context, *connect.Request[v1alpha1.GetJobsRequest]) (*connect.Response[v1alpha1.GetJobsResponse], error) + // Returns a specific job GetJob(context.Context, *connect.Request[v1alpha1.GetJobRequest]) (*connect.Response[v1alpha1.GetJobResponse], error) + // Creates a new job CreateJob(context.Context, *connect.Request[v1alpha1.CreateJobRequest]) (*connect.Response[v1alpha1.CreateJobResponse], error) + // Deletes a job DeleteJob(context.Context, *connect.Request[v1alpha1.DeleteJobRequest]) (*connect.Response[v1alpha1.DeleteJobResponse], error) + // Checks if a job name is available IsJobNameAvailable(context.Context, *connect.Request[v1alpha1.IsJobNameAvailableRequest]) (*connect.Response[v1alpha1.IsJobNameAvailableResponse], error) + // Updates the schedule of a job UpdateJobSchedule(context.Context, *connect.Request[v1alpha1.UpdateJobScheduleRequest]) (*connect.Response[v1alpha1.UpdateJobScheduleResponse], error) + // Updates the source connection of a job UpdateJobSourceConnection(context.Context, *connect.Request[v1alpha1.UpdateJobSourceConnectionRequest]) (*connect.Response[v1alpha1.UpdateJobSourceConnectionResponse], error) + // Sets the source sql connection subsets of a job SetJobSourceSqlConnectionSubsets(context.Context, *connect.Request[v1alpha1.SetJobSourceSqlConnectionSubsetsRequest]) (*connect.Response[v1alpha1.SetJobSourceSqlConnectionSubsetsResponse], error) + // Updates the destination connection of a job UpdateJobDestinationConnection(context.Context, *connect.Request[v1alpha1.UpdateJobDestinationConnectionRequest]) (*connect.Response[v1alpha1.UpdateJobDestinationConnectionResponse], error) + // Deletes the destination connection of a job DeleteJobDestinationConnection(context.Context, *connect.Request[v1alpha1.DeleteJobDestinationConnectionRequest]) (*connect.Response[v1alpha1.DeleteJobDestinationConnectionResponse], error) + // Creates the destination connections of a job CreateJobDestinationConnections(context.Context, *connect.Request[v1alpha1.CreateJobDestinationConnectionsRequest]) (*connect.Response[v1alpha1.CreateJobDestinationConnectionsResponse], error) + // Pauses or unpauses a job PauseJob(context.Context, *connect.Request[v1alpha1.PauseJobRequest]) (*connect.Response[v1alpha1.PauseJobResponse], error) - // Returns a list of recently invoked job runs baseds on the Temporal cron scheduler. This will return a list of job runs that include archived runs + // Returns a list of recently invoked job runs based on the Temporal cron scheduler. This will return a list of job runs that include archived runs GetJobRecentRuns(context.Context, *connect.Request[v1alpha1.GetJobRecentRunsRequest]) (*connect.Response[v1alpha1.GetJobRecentRunsResponse], error) // Returns a list of runs that are scheduled for execution based on the Temporal cron scheduler. GetJobNextRuns(context.Context, *connect.Request[v1alpha1.GetJobNextRunsRequest]) (*connect.Response[v1alpha1.GetJobNextRunsResponse], error) + // Returns the status of a job GetJobStatus(context.Context, *connect.Request[v1alpha1.GetJobStatusRequest]) (*connect.Response[v1alpha1.GetJobStatusResponse], error) + // Returns the statuses of jobs within an account GetJobStatuses(context.Context, *connect.Request[v1alpha1.GetJobStatusesRequest]) (*connect.Response[v1alpha1.GetJobStatusesResponse], error) // Returns a list of job runs by either account or job GetJobRuns(context.Context, *connect.Request[v1alpha1.GetJobRunsRequest]) (*connect.Response[v1alpha1.GetJobRunsResponse], error) + // Returns a list of events for a job run to understand more details of the run itself GetJobRunEvents(context.Context, *connect.Request[v1alpha1.GetJobRunEventsRequest]) (*connect.Response[v1alpha1.GetJobRunEventsResponse], error) // Returns a specific job run, along with any of its pending activities GetJobRun(context.Context, *connect.Request[v1alpha1.GetJobRunRequest]) (*connect.Response[v1alpha1.GetJobRunResponse], error) + // Deletes a job run DeleteJobRun(context.Context, *connect.Request[v1alpha1.DeleteJobRunRequest]) (*connect.Response[v1alpha1.DeleteJobRunResponse], error) + // Creates a new job run CreateJobRun(context.Context, *connect.Request[v1alpha1.CreateJobRunRequest]) (*connect.Response[v1alpha1.CreateJobRunResponse], error) + // Cancels a job run. This is a graceful termination and allows the workflow to clean up and exit gracefully. CancelJobRun(context.Context, *connect.Request[v1alpha1.CancelJobRunRequest]) (*connect.Response[v1alpha1.CancelJobRunResponse], error) + // Terminates a job run. This is an immediate termination and will not allow the workflow to clean up and exit gracefully. TerminateJobRun(context.Context, *connect.Request[v1alpha1.TerminateJobRunRequest]) (*connect.Response[v1alpha1.TerminateJobRunResponse], error) // Returns a stream of logs from the worker nodes that pertain to a specific job run GetJobRunLogsStream(context.Context, *connect.Request[v1alpha1.GetJobRunLogsStreamRequest], *connect.ServerStream[v1alpha1.GetJobRunLogsStreamResponse]) error @@ -748,7 +799,7 @@ type JobServiceHandler interface { SetJobWorkflowOptions(context.Context, *connect.Request[v1alpha1.SetJobWorkflowOptionsRequest]) (*connect.Response[v1alpha1.SetJobWorkflowOptionsResponse], error) // Set the job sync options. Must provide entire object as it will fully override the previous configuration SetJobSyncOptions(context.Context, *connect.Request[v1alpha1.SetJobSyncOptionsRequest]) (*connect.Response[v1alpha1.SetJobSyncOptionsResponse], error) - // validates that the jobmapping configured can run with table constraints + // Validates that the jobmapping configured can run with table constraints ValidateJobMappings(context.Context, *connect.Request[v1alpha1.ValidateJobMappingsRequest]) (*connect.Response[v1alpha1.ValidateJobMappingsResponse], error) // Gets a run context to be used by a workflow run GetRunContext(context.Context, *connect.Request[v1alpha1.GetRunContextRequest]) (*connect.Response[v1alpha1.GetRunContextResponse], error) @@ -784,12 +835,14 @@ func NewJobServiceHandler(svc JobServiceHandler, opts ...connect.HandlerOption) JobServiceGetJobsProcedure, svc.GetJobs, connect.WithSchema(jobServiceGetJobsMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithHandlerOptions(opts...), ) jobServiceGetJobHandler := connect.NewUnaryHandler( JobServiceGetJobProcedure, svc.GetJob, connect.WithSchema(jobServiceGetJobMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithHandlerOptions(opts...), ) jobServiceCreateJobHandler := connect.NewUnaryHandler( @@ -808,6 +861,7 @@ func NewJobServiceHandler(svc JobServiceHandler, opts ...connect.HandlerOption) JobServiceIsJobNameAvailableProcedure, svc.IsJobNameAvailable, connect.WithSchema(jobServiceIsJobNameAvailableMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithHandlerOptions(opts...), ) jobServiceUpdateJobScheduleHandler := connect.NewUnaryHandler( @@ -856,42 +910,49 @@ func NewJobServiceHandler(svc JobServiceHandler, opts ...connect.HandlerOption) JobServiceGetJobRecentRunsProcedure, svc.GetJobRecentRuns, connect.WithSchema(jobServiceGetJobRecentRunsMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithHandlerOptions(opts...), ) jobServiceGetJobNextRunsHandler := connect.NewUnaryHandler( JobServiceGetJobNextRunsProcedure, svc.GetJobNextRuns, connect.WithSchema(jobServiceGetJobNextRunsMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithHandlerOptions(opts...), ) jobServiceGetJobStatusHandler := connect.NewUnaryHandler( JobServiceGetJobStatusProcedure, svc.GetJobStatus, connect.WithSchema(jobServiceGetJobStatusMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithHandlerOptions(opts...), ) jobServiceGetJobStatusesHandler := connect.NewUnaryHandler( JobServiceGetJobStatusesProcedure, svc.GetJobStatuses, connect.WithSchema(jobServiceGetJobStatusesMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithHandlerOptions(opts...), ) jobServiceGetJobRunsHandler := connect.NewUnaryHandler( JobServiceGetJobRunsProcedure, svc.GetJobRuns, connect.WithSchema(jobServiceGetJobRunsMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithHandlerOptions(opts...), ) jobServiceGetJobRunEventsHandler := connect.NewUnaryHandler( JobServiceGetJobRunEventsProcedure, svc.GetJobRunEvents, connect.WithSchema(jobServiceGetJobRunEventsMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithHandlerOptions(opts...), ) jobServiceGetJobRunHandler := connect.NewUnaryHandler( JobServiceGetJobRunProcedure, svc.GetJobRun, connect.WithSchema(jobServiceGetJobRunMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithHandlerOptions(opts...), ) jobServiceDeleteJobRunHandler := connect.NewUnaryHandler( @@ -964,12 +1025,14 @@ func NewJobServiceHandler(svc JobServiceHandler, opts ...connect.HandlerOption) JobServiceGetJobHooksProcedure, svc.GetJobHooks, connect.WithSchema(jobServiceGetJobHooksMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithHandlerOptions(opts...), ) jobServiceGetJobHookHandler := connect.NewUnaryHandler( JobServiceGetJobHookProcedure, svc.GetJobHook, connect.WithSchema(jobServiceGetJobHookMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithHandlerOptions(opts...), ) jobServiceCreateJobHookHandler := connect.NewUnaryHandler( @@ -1006,6 +1069,7 @@ func NewJobServiceHandler(svc JobServiceHandler, opts ...connect.HandlerOption) JobServiceGetActiveJobHooksByTimingProcedure, svc.GetActiveJobHooksByTiming, connect.WithSchema(jobServiceGetActiveJobHooksByTimingMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithHandlerOptions(opts...), ) return "/mgmt.v1alpha1.JobService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { diff --git a/backend/gen/go/protos/mgmt/v1alpha1/mgmtv1alpha1connect/metrics.connect.go b/backend/gen/go/protos/mgmt/v1alpha1/mgmtv1alpha1connect/metrics.connect.go index 44a975f431..d3811c2f71 100644 --- a/backend/gen/go/protos/mgmt/v1alpha1/mgmtv1alpha1connect/metrics.connect.go +++ b/backend/gen/go/protos/mgmt/v1alpha1/mgmtv1alpha1connect/metrics.connect.go @@ -70,12 +70,14 @@ func NewMetricsServiceClient(httpClient connect.HTTPClient, baseURL string, opts httpClient, baseURL+MetricsServiceGetDailyMetricCountProcedure, connect.WithSchema(metricsServiceGetDailyMetricCountMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithClientOptions(opts...), ), getMetricCount: connect.NewClient[v1alpha1.GetMetricCountRequest, v1alpha1.GetMetricCountResponse]( httpClient, baseURL+MetricsServiceGetMetricCountProcedure, connect.WithSchema(metricsServiceGetMetricCountMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithClientOptions(opts...), ), } @@ -115,12 +117,14 @@ func NewMetricsServiceHandler(svc MetricsServiceHandler, opts ...connect.Handler MetricsServiceGetDailyMetricCountProcedure, svc.GetDailyMetricCount, connect.WithSchema(metricsServiceGetDailyMetricCountMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithHandlerOptions(opts...), ) metricsServiceGetMetricCountHandler := connect.NewUnaryHandler( MetricsServiceGetMetricCountProcedure, svc.GetMetricCount, connect.WithSchema(metricsServiceGetMetricCountMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithHandlerOptions(opts...), ) return "/mgmt.v1alpha1.MetricsService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { diff --git a/backend/gen/go/protos/mgmt/v1alpha1/mgmtv1alpha1connect/transformer.connect.go b/backend/gen/go/protos/mgmt/v1alpha1/mgmtv1alpha1connect/transformer.connect.go index 29422f532c..c406506413 100644 --- a/backend/gen/go/protos/mgmt/v1alpha1/mgmtv1alpha1connect/transformer.connect.go +++ b/backend/gen/go/protos/mgmt/v1alpha1/mgmtv1alpha1connect/transformer.connect.go @@ -86,15 +86,25 @@ var ( // TransformersServiceClient is a client for the mgmt.v1alpha1.TransformersService service. type TransformersServiceClient interface { + // Get a list of all system transformers GetSystemTransformers(context.Context, *connect.Request[v1alpha1.GetSystemTransformersRequest]) (*connect.Response[v1alpha1.GetSystemTransformersResponse], error) + // Get a system transformer by its source GetSystemTransformerBySource(context.Context, *connect.Request[v1alpha1.GetSystemTransformerBySourceRequest]) (*connect.Response[v1alpha1.GetSystemTransformerBySourceResponse], error) + // Get a list of all user defined transformers GetUserDefinedTransformers(context.Context, *connect.Request[v1alpha1.GetUserDefinedTransformersRequest]) (*connect.Response[v1alpha1.GetUserDefinedTransformersResponse], error) + // Get a user defined transformer by its id GetUserDefinedTransformerById(context.Context, *connect.Request[v1alpha1.GetUserDefinedTransformerByIdRequest]) (*connect.Response[v1alpha1.GetUserDefinedTransformerByIdResponse], error) + // Create a user defined transformer CreateUserDefinedTransformer(context.Context, *connect.Request[v1alpha1.CreateUserDefinedTransformerRequest]) (*connect.Response[v1alpha1.CreateUserDefinedTransformerResponse], error) + // Delete a user defined transformer DeleteUserDefinedTransformer(context.Context, *connect.Request[v1alpha1.DeleteUserDefinedTransformerRequest]) (*connect.Response[v1alpha1.DeleteUserDefinedTransformerResponse], error) + // Update a user defined transformer UpdateUserDefinedTransformer(context.Context, *connect.Request[v1alpha1.UpdateUserDefinedTransformerRequest]) (*connect.Response[v1alpha1.UpdateUserDefinedTransformerResponse], error) + // Check if a transformer name is available in your account IsTransformerNameAvailable(context.Context, *connect.Request[v1alpha1.IsTransformerNameAvailableRequest]) (*connect.Response[v1alpha1.IsTransformerNameAvailableResponse], error) + // Validate user provided javascript code before saving it to a user defined transformer or within a job mapping ValidateUserJavascriptCode(context.Context, *connect.Request[v1alpha1.ValidateUserJavascriptCodeRequest]) (*connect.Response[v1alpha1.ValidateUserJavascriptCodeResponse], error) + // Validate user provided regex code before saving it to a user defined transformer ValidateUserRegexCode(context.Context, *connect.Request[v1alpha1.ValidateUserRegexCodeRequest]) (*connect.Response[v1alpha1.ValidateUserRegexCodeResponse], error) // Retrieve a list of available Pii entities for use with the TransformPiiText transformer GetTransformPiiEntities(context.Context, *connect.Request[v1alpha1.GetTransformPiiEntitiesRequest]) (*connect.Response[v1alpha1.GetTransformPiiEntitiesResponse], error) @@ -114,24 +124,28 @@ func NewTransformersServiceClient(httpClient connect.HTTPClient, baseURL string, httpClient, baseURL+TransformersServiceGetSystemTransformersProcedure, connect.WithSchema(transformersServiceGetSystemTransformersMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithClientOptions(opts...), ), getSystemTransformerBySource: connect.NewClient[v1alpha1.GetSystemTransformerBySourceRequest, v1alpha1.GetSystemTransformerBySourceResponse]( httpClient, baseURL+TransformersServiceGetSystemTransformerBySourceProcedure, connect.WithSchema(transformersServiceGetSystemTransformerBySourceMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithClientOptions(opts...), ), getUserDefinedTransformers: connect.NewClient[v1alpha1.GetUserDefinedTransformersRequest, v1alpha1.GetUserDefinedTransformersResponse]( httpClient, baseURL+TransformersServiceGetUserDefinedTransformersProcedure, connect.WithSchema(transformersServiceGetUserDefinedTransformersMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithClientOptions(opts...), ), getUserDefinedTransformerById: connect.NewClient[v1alpha1.GetUserDefinedTransformerByIdRequest, v1alpha1.GetUserDefinedTransformerByIdResponse]( httpClient, baseURL+TransformersServiceGetUserDefinedTransformerByIdProcedure, connect.WithSchema(transformersServiceGetUserDefinedTransformerByIdMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithClientOptions(opts...), ), createUserDefinedTransformer: connect.NewClient[v1alpha1.CreateUserDefinedTransformerRequest, v1alpha1.CreateUserDefinedTransformerResponse]( @@ -257,15 +271,25 @@ func (c *transformersServiceClient) GetTransformPiiEntities(ctx context.Context, // TransformersServiceHandler is an implementation of the mgmt.v1alpha1.TransformersService service. type TransformersServiceHandler interface { + // Get a list of all system transformers GetSystemTransformers(context.Context, *connect.Request[v1alpha1.GetSystemTransformersRequest]) (*connect.Response[v1alpha1.GetSystemTransformersResponse], error) + // Get a system transformer by its source GetSystemTransformerBySource(context.Context, *connect.Request[v1alpha1.GetSystemTransformerBySourceRequest]) (*connect.Response[v1alpha1.GetSystemTransformerBySourceResponse], error) + // Get a list of all user defined transformers GetUserDefinedTransformers(context.Context, *connect.Request[v1alpha1.GetUserDefinedTransformersRequest]) (*connect.Response[v1alpha1.GetUserDefinedTransformersResponse], error) + // Get a user defined transformer by its id GetUserDefinedTransformerById(context.Context, *connect.Request[v1alpha1.GetUserDefinedTransformerByIdRequest]) (*connect.Response[v1alpha1.GetUserDefinedTransformerByIdResponse], error) + // Create a user defined transformer CreateUserDefinedTransformer(context.Context, *connect.Request[v1alpha1.CreateUserDefinedTransformerRequest]) (*connect.Response[v1alpha1.CreateUserDefinedTransformerResponse], error) + // Delete a user defined transformer DeleteUserDefinedTransformer(context.Context, *connect.Request[v1alpha1.DeleteUserDefinedTransformerRequest]) (*connect.Response[v1alpha1.DeleteUserDefinedTransformerResponse], error) + // Update a user defined transformer UpdateUserDefinedTransformer(context.Context, *connect.Request[v1alpha1.UpdateUserDefinedTransformerRequest]) (*connect.Response[v1alpha1.UpdateUserDefinedTransformerResponse], error) + // Check if a transformer name is available in your account IsTransformerNameAvailable(context.Context, *connect.Request[v1alpha1.IsTransformerNameAvailableRequest]) (*connect.Response[v1alpha1.IsTransformerNameAvailableResponse], error) + // Validate user provided javascript code before saving it to a user defined transformer or within a job mapping ValidateUserJavascriptCode(context.Context, *connect.Request[v1alpha1.ValidateUserJavascriptCodeRequest]) (*connect.Response[v1alpha1.ValidateUserJavascriptCodeResponse], error) + // Validate user provided regex code before saving it to a user defined transformer ValidateUserRegexCode(context.Context, *connect.Request[v1alpha1.ValidateUserRegexCodeRequest]) (*connect.Response[v1alpha1.ValidateUserRegexCodeResponse], error) // Retrieve a list of available Pii entities for use with the TransformPiiText transformer GetTransformPiiEntities(context.Context, *connect.Request[v1alpha1.GetTransformPiiEntitiesRequest]) (*connect.Response[v1alpha1.GetTransformPiiEntitiesResponse], error) @@ -281,24 +305,28 @@ func NewTransformersServiceHandler(svc TransformersServiceHandler, opts ...conne TransformersServiceGetSystemTransformersProcedure, svc.GetSystemTransformers, connect.WithSchema(transformersServiceGetSystemTransformersMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithHandlerOptions(opts...), ) transformersServiceGetSystemTransformerBySourceHandler := connect.NewUnaryHandler( TransformersServiceGetSystemTransformerBySourceProcedure, svc.GetSystemTransformerBySource, connect.WithSchema(transformersServiceGetSystemTransformerBySourceMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithHandlerOptions(opts...), ) transformersServiceGetUserDefinedTransformersHandler := connect.NewUnaryHandler( TransformersServiceGetUserDefinedTransformersProcedure, svc.GetUserDefinedTransformers, connect.WithSchema(transformersServiceGetUserDefinedTransformersMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithHandlerOptions(opts...), ) transformersServiceGetUserDefinedTransformerByIdHandler := connect.NewUnaryHandler( TransformersServiceGetUserDefinedTransformerByIdProcedure, svc.GetUserDefinedTransformerById, connect.WithSchema(transformersServiceGetUserDefinedTransformerByIdMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithHandlerOptions(opts...), ) transformersServiceCreateUserDefinedTransformerHandler := connect.NewUnaryHandler( diff --git a/backend/gen/go/protos/mgmt/v1alpha1/mgmtv1alpha1connect/user_account.connect.go b/backend/gen/go/protos/mgmt/v1alpha1/mgmtv1alpha1connect/user_account.connect.go index 10ac38ccdd..202ab32b1e 100644 --- a/backend/gen/go/protos/mgmt/v1alpha1/mgmtv1alpha1connect/user_account.connect.go +++ b/backend/gen/go/protos/mgmt/v1alpha1/mgmtv1alpha1connect/user_account.connect.go @@ -142,25 +142,41 @@ var ( // UserAccountServiceClient is a client for the mgmt.v1alpha1.UserAccountService service. type UserAccountServiceClient interface { + // Retrieves the current user. GetUser(context.Context, *connect.Request[v1alpha1.GetUserRequest]) (*connect.Response[v1alpha1.GetUserResponse], error) + // Sets the current user. SetUser(context.Context, *connect.Request[v1alpha1.SetUserRequest]) (*connect.Response[v1alpha1.SetUserResponse], error) + // Retrieves the list of accounts that the user belongs to. GetUserAccounts(context.Context, *connect.Request[v1alpha1.GetUserAccountsRequest]) (*connect.Response[v1alpha1.GetUserAccountsResponse], error) + // Sets the current personal account. SetPersonalAccount(context.Context, *connect.Request[v1alpha1.SetPersonalAccountRequest]) (*connect.Response[v1alpha1.SetPersonalAccountResponse], error) // Convert a personal account to a team account retaining all of the jobs and connections. This will also create a new empty personal account. ConvertPersonalToTeamAccount(context.Context, *connect.Request[v1alpha1.ConvertPersonalToTeamAccountRequest]) (*connect.Response[v1alpha1.ConvertPersonalToTeamAccountResponse], error) // Creates a new team account CreateTeamAccount(context.Context, *connect.Request[v1alpha1.CreateTeamAccountRequest]) (*connect.Response[v1alpha1.CreateTeamAccountResponse], error) + // Checks if the user is in the account. IsUserInAccount(context.Context, *connect.Request[v1alpha1.IsUserInAccountRequest]) (*connect.Response[v1alpha1.IsUserInAccountResponse], error) + // Retrieves the temporal config for the account. GetAccountTemporalConfig(context.Context, *connect.Request[v1alpha1.GetAccountTemporalConfigRequest]) (*connect.Response[v1alpha1.GetAccountTemporalConfigResponse], error) + // Sets the temporal config for the account. SetAccountTemporalConfig(context.Context, *connect.Request[v1alpha1.SetAccountTemporalConfigRequest]) (*connect.Response[v1alpha1.SetAccountTemporalConfigResponse], error) + // Retrieves the list of members in the team account. GetTeamAccountMembers(context.Context, *connect.Request[v1alpha1.GetTeamAccountMembersRequest]) (*connect.Response[v1alpha1.GetTeamAccountMembersResponse], error) + // Removes a member from the team account. RemoveTeamAccountMember(context.Context, *connect.Request[v1alpha1.RemoveTeamAccountMemberRequest]) (*connect.Response[v1alpha1.RemoveTeamAccountMemberResponse], error) + // Invites a user to the team account. InviteUserToTeamAccount(context.Context, *connect.Request[v1alpha1.InviteUserToTeamAccountRequest]) (*connect.Response[v1alpha1.InviteUserToTeamAccountResponse], error) + // Retrieves the list of invites for the team account. GetTeamAccountInvites(context.Context, *connect.Request[v1alpha1.GetTeamAccountInvitesRequest]) (*connect.Response[v1alpha1.GetTeamAccountInvitesResponse], error) + // Removes an invite from the team account. RemoveTeamAccountInvite(context.Context, *connect.Request[v1alpha1.RemoveTeamAccountInviteRequest]) (*connect.Response[v1alpha1.RemoveTeamAccountInviteResponse], error) + // Accepts an invite to the team account. AcceptTeamAccountInvite(context.Context, *connect.Request[v1alpha1.AcceptTeamAccountInviteRequest]) (*connect.Response[v1alpha1.AcceptTeamAccountInviteResponse], error) + // Retrieves the system information. GetSystemInformation(context.Context, *connect.Request[v1alpha1.GetSystemInformationRequest]) (*connect.Response[v1alpha1.GetSystemInformationResponse], error) + // Retrieves the onboarding config for the account. GetAccountOnboardingConfig(context.Context, *connect.Request[v1alpha1.GetAccountOnboardingConfigRequest]) (*connect.Response[v1alpha1.GetAccountOnboardingConfigResponse], error) + // Sets the onboarding config for the account. SetAccountOnboardingConfig(context.Context, *connect.Request[v1alpha1.SetAccountOnboardingConfigRequest]) (*connect.Response[v1alpha1.SetAccountOnboardingConfigResponse], error) // Returns different metrics on the account status for the active billing period GetAccountStatus(context.Context, *connect.Request[v1alpha1.GetAccountStatusRequest]) (*connect.Response[v1alpha1.GetAccountStatusResponse], error) @@ -192,6 +208,7 @@ func NewUserAccountServiceClient(httpClient connect.HTTPClient, baseURL string, httpClient, baseURL+UserAccountServiceGetUserProcedure, connect.WithSchema(userAccountServiceGetUserMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithClientOptions(opts...), ), setUser: connect.NewClient[v1alpha1.SetUserRequest, v1alpha1.SetUserResponse]( @@ -204,6 +221,7 @@ func NewUserAccountServiceClient(httpClient connect.HTTPClient, baseURL string, httpClient, baseURL+UserAccountServiceGetUserAccountsProcedure, connect.WithSchema(userAccountServiceGetUserAccountsMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithClientOptions(opts...), ), setPersonalAccount: connect.NewClient[v1alpha1.SetPersonalAccountRequest, v1alpha1.SetPersonalAccountResponse]( @@ -234,6 +252,7 @@ func NewUserAccountServiceClient(httpClient connect.HTTPClient, baseURL string, httpClient, baseURL+UserAccountServiceGetAccountTemporalConfigProcedure, connect.WithSchema(userAccountServiceGetAccountTemporalConfigMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithClientOptions(opts...), ), setAccountTemporalConfig: connect.NewClient[v1alpha1.SetAccountTemporalConfigRequest, v1alpha1.SetAccountTemporalConfigResponse]( @@ -246,6 +265,7 @@ func NewUserAccountServiceClient(httpClient connect.HTTPClient, baseURL string, httpClient, baseURL+UserAccountServiceGetTeamAccountMembersProcedure, connect.WithSchema(userAccountServiceGetTeamAccountMembersMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithClientOptions(opts...), ), removeTeamAccountMember: connect.NewClient[v1alpha1.RemoveTeamAccountMemberRequest, v1alpha1.RemoveTeamAccountMemberResponse]( @@ -264,6 +284,7 @@ func NewUserAccountServiceClient(httpClient connect.HTTPClient, baseURL string, httpClient, baseURL+UserAccountServiceGetTeamAccountInvitesProcedure, connect.WithSchema(userAccountServiceGetTeamAccountInvitesMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithClientOptions(opts...), ), removeTeamAccountInvite: connect.NewClient[v1alpha1.RemoveTeamAccountInviteRequest, v1alpha1.RemoveTeamAccountInviteResponse]( @@ -289,6 +310,7 @@ func NewUserAccountServiceClient(httpClient connect.HTTPClient, baseURL string, httpClient, baseURL+UserAccountServiceGetAccountOnboardingConfigProcedure, connect.WithSchema(userAccountServiceGetAccountOnboardingConfigMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithClientOptions(opts...), ), setAccountOnboardingConfig: connect.NewClient[v1alpha1.SetAccountOnboardingConfigRequest, v1alpha1.SetAccountOnboardingConfigResponse]( @@ -315,12 +337,14 @@ func NewUserAccountServiceClient(httpClient connect.HTTPClient, baseURL string, httpClient, baseURL+UserAccountServiceGetAccountBillingCheckoutSessionProcedure, connect.WithSchema(userAccountServiceGetAccountBillingCheckoutSessionMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithClientOptions(opts...), ), getAccountBillingPortalSession: connect.NewClient[v1alpha1.GetAccountBillingPortalSessionRequest, v1alpha1.GetAccountBillingPortalSessionResponse]( httpClient, baseURL+UserAccountServiceGetAccountBillingPortalSessionProcedure, connect.WithSchema(userAccountServiceGetAccountBillingPortalSessionMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithClientOptions(opts...), ), getBillingAccounts: connect.NewClient[v1alpha1.GetBillingAccountsRequest, v1alpha1.GetBillingAccountsResponse]( @@ -503,25 +527,41 @@ func (c *userAccountServiceClient) SetUserRole(ctx context.Context, req *connect // UserAccountServiceHandler is an implementation of the mgmt.v1alpha1.UserAccountService service. type UserAccountServiceHandler interface { + // Retrieves the current user. GetUser(context.Context, *connect.Request[v1alpha1.GetUserRequest]) (*connect.Response[v1alpha1.GetUserResponse], error) + // Sets the current user. SetUser(context.Context, *connect.Request[v1alpha1.SetUserRequest]) (*connect.Response[v1alpha1.SetUserResponse], error) + // Retrieves the list of accounts that the user belongs to. GetUserAccounts(context.Context, *connect.Request[v1alpha1.GetUserAccountsRequest]) (*connect.Response[v1alpha1.GetUserAccountsResponse], error) + // Sets the current personal account. SetPersonalAccount(context.Context, *connect.Request[v1alpha1.SetPersonalAccountRequest]) (*connect.Response[v1alpha1.SetPersonalAccountResponse], error) // Convert a personal account to a team account retaining all of the jobs and connections. This will also create a new empty personal account. ConvertPersonalToTeamAccount(context.Context, *connect.Request[v1alpha1.ConvertPersonalToTeamAccountRequest]) (*connect.Response[v1alpha1.ConvertPersonalToTeamAccountResponse], error) // Creates a new team account CreateTeamAccount(context.Context, *connect.Request[v1alpha1.CreateTeamAccountRequest]) (*connect.Response[v1alpha1.CreateTeamAccountResponse], error) + // Checks if the user is in the account. IsUserInAccount(context.Context, *connect.Request[v1alpha1.IsUserInAccountRequest]) (*connect.Response[v1alpha1.IsUserInAccountResponse], error) + // Retrieves the temporal config for the account. GetAccountTemporalConfig(context.Context, *connect.Request[v1alpha1.GetAccountTemporalConfigRequest]) (*connect.Response[v1alpha1.GetAccountTemporalConfigResponse], error) + // Sets the temporal config for the account. SetAccountTemporalConfig(context.Context, *connect.Request[v1alpha1.SetAccountTemporalConfigRequest]) (*connect.Response[v1alpha1.SetAccountTemporalConfigResponse], error) + // Retrieves the list of members in the team account. GetTeamAccountMembers(context.Context, *connect.Request[v1alpha1.GetTeamAccountMembersRequest]) (*connect.Response[v1alpha1.GetTeamAccountMembersResponse], error) + // Removes a member from the team account. RemoveTeamAccountMember(context.Context, *connect.Request[v1alpha1.RemoveTeamAccountMemberRequest]) (*connect.Response[v1alpha1.RemoveTeamAccountMemberResponse], error) + // Invites a user to the team account. InviteUserToTeamAccount(context.Context, *connect.Request[v1alpha1.InviteUserToTeamAccountRequest]) (*connect.Response[v1alpha1.InviteUserToTeamAccountResponse], error) + // Retrieves the list of invites for the team account. GetTeamAccountInvites(context.Context, *connect.Request[v1alpha1.GetTeamAccountInvitesRequest]) (*connect.Response[v1alpha1.GetTeamAccountInvitesResponse], error) + // Removes an invite from the team account. RemoveTeamAccountInvite(context.Context, *connect.Request[v1alpha1.RemoveTeamAccountInviteRequest]) (*connect.Response[v1alpha1.RemoveTeamAccountInviteResponse], error) + // Accepts an invite to the team account. AcceptTeamAccountInvite(context.Context, *connect.Request[v1alpha1.AcceptTeamAccountInviteRequest]) (*connect.Response[v1alpha1.AcceptTeamAccountInviteResponse], error) + // Retrieves the system information. GetSystemInformation(context.Context, *connect.Request[v1alpha1.GetSystemInformationRequest]) (*connect.Response[v1alpha1.GetSystemInformationResponse], error) + // Retrieves the onboarding config for the account. GetAccountOnboardingConfig(context.Context, *connect.Request[v1alpha1.GetAccountOnboardingConfigRequest]) (*connect.Response[v1alpha1.GetAccountOnboardingConfigResponse], error) + // Sets the onboarding config for the account. SetAccountOnboardingConfig(context.Context, *connect.Request[v1alpha1.SetAccountOnboardingConfigRequest]) (*connect.Response[v1alpha1.SetAccountOnboardingConfigResponse], error) // Returns different metrics on the account status for the active billing period GetAccountStatus(context.Context, *connect.Request[v1alpha1.GetAccountStatusRequest]) (*connect.Response[v1alpha1.GetAccountStatusResponse], error) @@ -549,6 +589,7 @@ func NewUserAccountServiceHandler(svc UserAccountServiceHandler, opts ...connect UserAccountServiceGetUserProcedure, svc.GetUser, connect.WithSchema(userAccountServiceGetUserMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithHandlerOptions(opts...), ) userAccountServiceSetUserHandler := connect.NewUnaryHandler( @@ -561,6 +602,7 @@ func NewUserAccountServiceHandler(svc UserAccountServiceHandler, opts ...connect UserAccountServiceGetUserAccountsProcedure, svc.GetUserAccounts, connect.WithSchema(userAccountServiceGetUserAccountsMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithHandlerOptions(opts...), ) userAccountServiceSetPersonalAccountHandler := connect.NewUnaryHandler( @@ -591,6 +633,7 @@ func NewUserAccountServiceHandler(svc UserAccountServiceHandler, opts ...connect UserAccountServiceGetAccountTemporalConfigProcedure, svc.GetAccountTemporalConfig, connect.WithSchema(userAccountServiceGetAccountTemporalConfigMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithHandlerOptions(opts...), ) userAccountServiceSetAccountTemporalConfigHandler := connect.NewUnaryHandler( @@ -603,6 +646,7 @@ func NewUserAccountServiceHandler(svc UserAccountServiceHandler, opts ...connect UserAccountServiceGetTeamAccountMembersProcedure, svc.GetTeamAccountMembers, connect.WithSchema(userAccountServiceGetTeamAccountMembersMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithHandlerOptions(opts...), ) userAccountServiceRemoveTeamAccountMemberHandler := connect.NewUnaryHandler( @@ -621,6 +665,7 @@ func NewUserAccountServiceHandler(svc UserAccountServiceHandler, opts ...connect UserAccountServiceGetTeamAccountInvitesProcedure, svc.GetTeamAccountInvites, connect.WithSchema(userAccountServiceGetTeamAccountInvitesMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithHandlerOptions(opts...), ) userAccountServiceRemoveTeamAccountInviteHandler := connect.NewUnaryHandler( @@ -646,6 +691,7 @@ func NewUserAccountServiceHandler(svc UserAccountServiceHandler, opts ...connect UserAccountServiceGetAccountOnboardingConfigProcedure, svc.GetAccountOnboardingConfig, connect.WithSchema(userAccountServiceGetAccountOnboardingConfigMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithHandlerOptions(opts...), ) userAccountServiceSetAccountOnboardingConfigHandler := connect.NewUnaryHandler( @@ -672,12 +718,14 @@ func NewUserAccountServiceHandler(svc UserAccountServiceHandler, opts ...connect UserAccountServiceGetAccountBillingCheckoutSessionProcedure, svc.GetAccountBillingCheckoutSession, connect.WithSchema(userAccountServiceGetAccountBillingCheckoutSessionMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithHandlerOptions(opts...), ) userAccountServiceGetAccountBillingPortalSessionHandler := connect.NewUnaryHandler( UserAccountServiceGetAccountBillingPortalSessionProcedure, svc.GetAccountBillingPortalSession, connect.WithSchema(userAccountServiceGetAccountBillingPortalSessionMethodDescriptor), + connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithHandlerOptions(opts...), ) userAccountServiceGetBillingAccountsHandler := connect.NewUnaryHandler( diff --git a/backend/gen/go/protos/mgmt/v1alpha1/transformer.pb.go b/backend/gen/go/protos/mgmt/v1alpha1/transformer.pb.go index daed4dfec3..879b4ca05d 100644 --- a/backend/gen/go/protos/mgmt/v1alpha1/transformer.pb.go +++ b/backend/gen/go/protos/mgmt/v1alpha1/transformer.pb.go @@ -284,8 +284,10 @@ type SupportedJobType int32 const ( SupportedJobType_SUPPORTED_JOB_TYPE_UNSPECIFIED SupportedJobType = 0 - SupportedJobType_SUPPORTED_JOB_TYPE_SYNC SupportedJobType = 1 - SupportedJobType_SUPPORTED_JOB_TYPE_GENERATE SupportedJobType = 2 + // Determines if a transformer is supported for a sync job. + SupportedJobType_SUPPORTED_JOB_TYPE_SYNC SupportedJobType = 1 + // Determines if a transformer is supported for a generate job. + SupportedJobType_SUPPORTED_JOB_TYPE_GENERATE SupportedJobType = 2 ) // Enum value maps for SupportedJobType. @@ -660,6 +662,7 @@ type GetSystemTransformerBySourceRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The source of the transformer to retrieve. Source TransformerSource `protobuf:"varint,1,opt,name=source,proto3,enum=mgmt.v1alpha1.TransformerSource" json:"source,omitempty"` } @@ -750,6 +753,7 @@ type GetUserDefinedTransformersRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The unique identifier of the account to get the user defined transformers for. AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` } @@ -840,6 +844,7 @@ type GetUserDefinedTransformerByIdRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The unique identifier of the user defined transformer to get. TransformerId string `protobuf:"bytes,1,opt,name=transformer_id,json=transformerId,proto3" json:"transformer_id,omitempty"` } @@ -930,10 +935,15 @@ type CreateUserDefinedTransformerRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` - Source TransformerSource `protobuf:"varint,5,opt,name=source,proto3,enum=mgmt.v1alpha1.TransformerSource" json:"source,omitempty"` + // The unique identifier of the account to create the user defined transformer for. + AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + // The name of the user defined transformer. + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + // The description of the user defined transformer. + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + // The source of the user defined transformer. + Source TransformerSource `protobuf:"varint,5,opt,name=source,proto3,enum=mgmt.v1alpha1.TransformerSource" json:"source,omitempty"` + // The configuration of the user defined transformer. TransformerConfig *TransformerConfig `protobuf:"bytes,6,opt,name=transformer_config,json=transformerConfig,proto3" json:"transformer_config,omitempty"` } @@ -1052,6 +1062,7 @@ type DeleteUserDefinedTransformerRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The unique identifier of the user defined transformer to delete. TransformerId string `protobuf:"bytes,1,opt,name=transformer_id,json=transformerId,proto3" json:"transformer_id,omitempty"` } @@ -1133,9 +1144,13 @@ type UpdateUserDefinedTransformerRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - TransformerId string `protobuf:"bytes,1,opt,name=transformer_id,json=transformerId,proto3" json:"transformer_id,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + // The unique identifier of the user defined transformer to update. + TransformerId string `protobuf:"bytes,1,opt,name=transformer_id,json=transformerId,proto3" json:"transformer_id,omitempty"` + // The name of the user defined transformer. + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + // The description of the user defined transformer. + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + // The configuration of the user defined transformer. TransformerConfig *TransformerConfig `protobuf:"bytes,4,opt,name=transformer_config,json=transformerConfig,proto3" json:"transformer_config,omitempty"` } @@ -1247,7 +1262,9 @@ type IsTransformerNameAvailableRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + // The unique identifier of the account to check for the availability of the transformer name. + AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + // The name of the transformer to check for availability. TransformerName string `protobuf:"bytes,2,opt,name=transformer_name,json=transformerName,proto3" json:"transformer_name,omitempty"` } @@ -1300,6 +1317,7 @@ type IsTransformerNameAvailableResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // Whether or not the transformer name is available. IsAvailable bool `protobuf:"varint,1,opt,name=is_available,json=isAvailable,proto3" json:"is_available,omitempty"` } @@ -1345,17 +1363,28 @@ type UserDefinedTransformer struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + // The unique identifier of the user defined transformer. + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // The name of the user defined transformer. + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + // The description of the user defined transformer. Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` - // This property is readonly and is calculated based off the origin system transformer - DataType TransformerDataType `protobuf:"varint,5,opt,name=data_type,json=dataType,proto3,enum=mgmt.v1alpha1.TransformerDataType" json:"data_type,omitempty"` - Source TransformerSource `protobuf:"varint,6,opt,name=source,proto3,enum=mgmt.v1alpha1.TransformerSource" json:"source,omitempty"` - Config *TransformerConfig `protobuf:"bytes,7,opt,name=config,proto3" json:"config,omitempty"` + // @deprecated: data_type is deprecated and will be removed in a future release. Use data_types instead. + // + // Deprecated: Marked as deprecated in mgmt/v1alpha1/transformer.proto. + DataType TransformerDataType `protobuf:"varint,5,opt,name=data_type,json=dataType,proto3,enum=mgmt.v1alpha1.TransformerDataType" json:"data_type,omitempty"` + // The source of the user defined transformer. + Source TransformerSource `protobuf:"varint,6,opt,name=source,proto3,enum=mgmt.v1alpha1.TransformerSource" json:"source,omitempty"` + // The configuration of the user defined transformer. + Config *TransformerConfig `protobuf:"bytes,7,opt,name=config,proto3" json:"config,omitempty"` + // The date and time the user defined transformer was created. CreatedAt *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + // The date and time the user defined transformer was last updated. UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` - AccountId string `protobuf:"bytes,10,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` - DataTypes []TransformerDataType `protobuf:"varint,11,rep,packed,name=data_types,json=dataTypes,proto3,enum=mgmt.v1alpha1.TransformerDataType" json:"data_types,omitempty"` + // The unique identifier of the account that owns the user defined transformer. + AccountId string `protobuf:"bytes,10,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + // The data types supported by the user defined transformer. This is currently calculated based off the origin system transformer. + DataTypes []TransformerDataType `protobuf:"varint,11,rep,packed,name=data_types,json=dataTypes,proto3,enum=mgmt.v1alpha1.TransformerDataType" json:"data_types,omitempty"` } func (x *UserDefinedTransformer) Reset() { @@ -1409,6 +1438,7 @@ func (x *UserDefinedTransformer) GetDescription() string { return "" } +// Deprecated: Marked as deprecated in mgmt/v1alpha1/transformer.proto. func (x *UserDefinedTransformer) GetDataType() TransformerDataType { if x != nil { return x.DataType @@ -1458,16 +1488,26 @@ func (x *UserDefinedTransformer) GetDataTypes() []TransformerDataType { return nil } +// A system transformer is a transformer that is built into the Neosync platform. +// It can be used directly in job mappings or used in user-defined transformers to snapshot a specific configuration. type SystemTransformer struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` - DataType TransformerDataType `protobuf:"varint,3,opt,name=data_type,json=dataType,proto3,enum=mgmt.v1alpha1.TransformerDataType" json:"data_type,omitempty"` - Source TransformerSource `protobuf:"varint,4,opt,name=source,proto3,enum=mgmt.v1alpha1.TransformerSource" json:"source,omitempty"` - Config *TransformerConfig `protobuf:"bytes,5,opt,name=config,proto3" json:"config,omitempty"` + // The name of the transformer. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // The description of the transformer. + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + // @deprecated: data_types is deprecated and will be removed in a future release. Use data_types instead. + // + // Deprecated: Marked as deprecated in mgmt/v1alpha1/transformer.proto. + DataType TransformerDataType `protobuf:"varint,3,opt,name=data_type,json=dataType,proto3,enum=mgmt.v1alpha1.TransformerDataType" json:"data_type,omitempty"` + // The source of the transformer. + Source TransformerSource `protobuf:"varint,4,opt,name=source,proto3,enum=mgmt.v1alpha1.TransformerSource" json:"source,omitempty"` + // The configuration of the transformer. + Config *TransformerConfig `protobuf:"bytes,5,opt,name=config,proto3" json:"config,omitempty"` + // The data types supported by the transformer. DataTypes []TransformerDataType `protobuf:"varint,6,rep,packed,name=data_types,json=dataTypes,proto3,enum=mgmt.v1alpha1.TransformerDataType" json:"data_types,omitempty"` SupportedJobTypes []SupportedJobType `protobuf:"varint,7,rep,packed,name=supported_job_types,json=supportedJobTypes,proto3,enum=mgmt.v1alpha1.SupportedJobType" json:"supported_job_types,omitempty"` } @@ -1516,6 +1556,7 @@ func (x *SystemTransformer) GetDescription() string { return "" } +// Deprecated: Marked as deprecated in mgmt/v1alpha1/transformer.proto. func (x *SystemTransformer) GetDataType() TransformerDataType { if x != nil { return x.DataType @@ -1551,6 +1592,7 @@ func (x *SystemTransformer) GetSupportedJobTypes() []SupportedJobType { return nil } +// The configuration for a transformer. This determines what type of transformation or generation is performed. type TransformerConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2719,6 +2761,7 @@ type GenerateCardNumber struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // Whether or not to validate the card number using the Luhn algorithm. ValidLuhn *bool `protobuf:"varint,1,opt,name=valid_luhn,json=validLuhn,proto3,oneof" json:"valid_luhn,omitempty"` } @@ -2836,7 +2879,9 @@ type GenerateE164PhoneNumber struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The minimum length of the phone number to generate. Min *int64 `protobuf:"varint,1,opt,name=min,proto3,oneof" json:"min,omitempty"` + // The maximum length of the phone number to generate. Max *int64 `protobuf:"varint,2,opt,name=max,proto3,oneof" json:"max,omitempty"` } @@ -2925,10 +2970,14 @@ type GenerateFloat64 struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - RandomizeSign *bool `protobuf:"varint,1,opt,name=randomize_sign,json=randomizeSign,proto3,oneof" json:"randomize_sign,omitempty"` - Min *float64 `protobuf:"fixed64,2,opt,name=min,proto3,oneof" json:"min,omitempty"` - Max *float64 `protobuf:"fixed64,3,opt,name=max,proto3,oneof" json:"max,omitempty"` - Precision *int64 `protobuf:"varint,4,opt,name=precision,proto3,oneof" json:"precision,omitempty"` + // Whether or not to randomize the sign of the float64. + RandomizeSign *bool `protobuf:"varint,1,opt,name=randomize_sign,json=randomizeSign,proto3,oneof" json:"randomize_sign,omitempty"` + // The minimum value to randomize the float64 to. + Min *float64 `protobuf:"fixed64,2,opt,name=min,proto3,oneof" json:"min,omitempty"` + // The maximum value to randomize the float64 to. + Max *float64 `protobuf:"fixed64,3,opt,name=max,proto3,oneof" json:"max,omitempty"` + // The precision of the float64 to generate. + Precision *int64 `protobuf:"varint,4,opt,name=precision,proto3,oneof" json:"precision,omitempty"` } func (x *GenerateFloat64) Reset() { @@ -3066,6 +3115,7 @@ type GenerateGender struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // Whether or not to abbreviate the gender. Abbreviate *bool `protobuf:"varint,1,opt,name=abbreviate,proto3,oneof" json:"abbreviate,omitempty"` } @@ -3147,9 +3197,12 @@ type GenerateInt64 struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - RandomizeSign *bool `protobuf:"varint,1,opt,name=randomize_sign,json=randomizeSign,proto3,oneof" json:"randomize_sign,omitempty"` - Min *int64 `protobuf:"varint,2,opt,name=min,proto3,oneof" json:"min,omitempty"` - Max *int64 `protobuf:"varint,3,opt,name=max,proto3,oneof" json:"max,omitempty"` + // Whether or not to randomize the sign of the int64. + RandomizeSign *bool `protobuf:"varint,1,opt,name=randomize_sign,json=randomizeSign,proto3,oneof" json:"randomize_sign,omitempty"` + // The minimum value to randomize the int64 to. + Min *int64 `protobuf:"varint,2,opt,name=min,proto3,oneof" json:"min,omitempty"` + // The maximum value to randomize the int64 to. + Max *int64 `protobuf:"varint,3,opt,name=max,proto3,oneof" json:"max,omitempty"` } func (x *GenerateInt64) Reset() { @@ -3398,7 +3451,9 @@ type GenerateStringPhoneNumber struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The minimum length of the phone number to generate. Min *int64 `protobuf:"varint,2,opt,name=min,proto3,oneof" json:"min,omitempty"` + // The maximum length of the phone number to generate. Max *int64 `protobuf:"varint,3,opt,name=max,proto3,oneof" json:"max,omitempty"` } @@ -3451,7 +3506,9 @@ type GenerateString struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The minimum length of the string to generate. Min *int64 `protobuf:"varint,1,opt,name=min,proto3,oneof" json:"min,omitempty"` + // The maximum length of the string to generate. Max *int64 `protobuf:"varint,2,opt,name=max,proto3,oneof" json:"max,omitempty"` } @@ -3612,6 +3669,7 @@ type GenerateUuid struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // Whether or not to include hyphens in the uuid. Defaults to true. If false, the uuid will be returned without hyphens. IncludeHyphens *bool `protobuf:"varint,1,opt,name=include_hyphens,json=includeHyphens,proto3,oneof" json:"include_hyphens,omitempty"` } @@ -3693,6 +3751,7 @@ type TransformE164PhoneNumber struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // Whether or not to preserve the original length of the phone number. This causes the transformed phone number to retain the original length. PreserveLength *bool `protobuf:"varint,1,opt,name=preserve_length,json=preserveLength,proto3,oneof" json:"preserve_length,omitempty"` } @@ -3738,6 +3797,7 @@ type TransformFirstName struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // Whether or not to preserve the original length of the first name. This causes the transformed first name to retain the original length. PreserveLength *bool `protobuf:"varint,1,opt,name=preserve_length,json=preserveLength,proto3,oneof" json:"preserve_length,omitempty"` } @@ -3783,7 +3843,9 @@ type TransformFloat64 struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The minimum value to randomize the float64 to. This will be relative to the original value. RandomizationRangeMin *float64 `protobuf:"fixed64,1,opt,name=randomization_range_min,json=randomizationRangeMin,proto3,oneof" json:"randomization_range_min,omitempty"` + // The maximum value to randomize the float64 to. This will be relative to the original value. RandomizationRangeMax *float64 `protobuf:"fixed64,2,opt,name=randomization_range_max,json=randomizationRangeMax,proto3,oneof" json:"randomization_range_max,omitempty"` } @@ -3836,6 +3898,7 @@ type TransformFullName struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // Whether or not to preserve the original length of the full name. This causes the transformed full name to retain the original length. PreserveLength *bool `protobuf:"varint,1,opt,name=preserve_length,json=preserveLength,proto3,oneof" json:"preserve_length,omitempty"` } @@ -3881,6 +3944,7 @@ type TransformInt64PhoneNumber struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // Whether or not to preserve the original length of the phone number. This causes the transformed phone number to retain the original length. PreserveLength *bool `protobuf:"varint,1,opt,name=preserve_length,json=preserveLength,proto3,oneof" json:"preserve_length,omitempty"` } @@ -3926,7 +3990,9 @@ type TransformInt64 struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The minimum value to randomize the int64 to. This will be relative to the original value. RandomizationRangeMin *int64 `protobuf:"varint,1,opt,name=randomization_range_min,json=randomizationRangeMin,proto3,oneof" json:"randomization_range_min,omitempty"` + // The maximum value to randomize the int64 to. This will be relative to the original value. RandomizationRangeMax *int64 `protobuf:"varint,2,opt,name=randomization_range_max,json=randomizationRangeMax,proto3,oneof" json:"randomization_range_max,omitempty"` } @@ -3979,6 +4045,7 @@ type TransformLastName struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // Whether or not to preserve the original length of the last name. This causes the transformed last name to retain the original length. PreserveLength *bool `protobuf:"varint,1,opt,name=preserve_length,json=preserveLength,proto3,oneof" json:"preserve_length,omitempty"` } @@ -4024,6 +4091,7 @@ type TransformPhoneNumber struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // Whether or not to preserve the original length of the phone number. This causes the transformed phone number to retain the original length. PreserveLength *bool `protobuf:"varint,1,opt,name=preserve_length,json=preserveLength,proto3,oneof" json:"preserve_length,omitempty"` } @@ -4069,6 +4137,7 @@ type TransformString struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // Whether or not to preserve the original length of the string. This causes the transformed string to retain the original length. PreserveLength *bool `protobuf:"varint,1,opt,name=preserve_length,json=preserveLength,proto3,oneof" json:"preserve_length,omitempty"` } @@ -4186,6 +4255,7 @@ type TransformJavascript struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The user provided javascript code that will be executed in the transformer Code string `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` } @@ -4231,6 +4301,7 @@ type UserDefinedTransformerConfig struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The id of the user defined transformer. When used in a job mapping, this will be used to reference the underlying system transformer along with it's configuration that was chosen. Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` } @@ -4276,6 +4347,7 @@ type ValidateUserJavascriptCodeRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The user provided javascript code that will be validated. Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"` } @@ -4366,6 +4438,7 @@ type GenerateCategorical struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // A comma separated list of categories that will be used to generate a random value from. Categories *string `protobuf:"bytes,1,opt,name=categories,proto3,oneof" json:"categories,omitempty"` } @@ -4411,7 +4484,7 @@ type TransformCharacterScramble struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // a user provided regular expression that they wish to validate if it compiles in GO + // A user provided regular expression that will be used to scramble the characters in the input string. Must be a valid Golang regex. UserProvidedRegex *string `protobuf:"bytes,1,opt,name=user_provided_regex,json=userProvidedRegex,proto3,oneof" json:"user_provided_regex,omitempty"` } @@ -4457,6 +4530,7 @@ type GenerateJavascript struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The user provided javascript code that will be executed in the transformer Code string `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` } @@ -4502,6 +4576,7 @@ type ValidateUserRegexCodeRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The user provided regex to validate UserProvidedRegex string `protobuf:"bytes,2,opt,name=user_provided_regex,json=userProvidedRegex,proto3" json:"user_provided_regex,omitempty"` } @@ -4547,6 +4622,7 @@ type ValidateUserRegexCodeResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // Whether the regex is valid Valid bool `protobuf:"varint,1,opt,name=valid,proto3" json:"valid,omitempty"` } @@ -4766,6 +4842,7 @@ type GenerateIpAddress struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // Optionally specify the type of ip address to generate. IpType *GenerateIpAddressType `protobuf:"varint,1,opt,name=ip_type,json=ipType,proto3,enum=mgmt.v1alpha1.GenerateIpAddressType,oneof" json:"ip_type,omitempty"` } @@ -5206,922 +5283,924 @@ var file_mgmt_v1alpha1_transformer_proto_rawDesc = []byte{ 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, - 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x22, 0xf5, 0x03, 0x0a, 0x16, 0x55, + 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x22, 0xff, 0x03, 0x0a, 0x16, 0x55, 0x73, 0x65, 0x72, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x79, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, - 0x72, 0x6d, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x64, 0x61, - 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x38, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, - 0x65, 0x72, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x12, 0x38, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x20, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, - 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x08, 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, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, - 0x5f, 0x61, 0x74, 0x18, 0x09, 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, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, - 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, - 0x41, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x0b, 0x20, - 0x03, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x44, - 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, - 0x65, 0x73, 0x22, 0x92, 0x03, 0x0a, 0x11, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x54, 0x72, 0x61, - 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, - 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, - 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x22, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x44, 0x61, 0x74, - 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x38, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x20, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, - 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x53, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x38, 0x0a, 0x06, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6d, 0x67, 0x6d, 0x74, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, - 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x12, 0x41, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, + 0x72, 0x6d, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x42, 0x02, 0x18, 0x01, + 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x38, 0x0a, 0x06, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x6d, 0x67, 0x6d, + 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x06, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x12, 0x38, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x39, + 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x08, 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, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x09, 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, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x49, 0x64, 0x12, 0x41, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x64, 0x61, 0x74, - 0x61, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x4f, 0x0a, 0x13, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, - 0x74, 0x65, 0x64, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x07, 0x20, - 0x03, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x31, 0x2e, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x4a, 0x6f, 0x62, - 0x54, 0x79, 0x70, 0x65, 0x52, 0x11, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x4a, - 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x73, 0x22, 0xce, 0x23, 0x0a, 0x11, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x52, 0x0a, - 0x15, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, + 0x61, 0x54, 0x79, 0x70, 0x65, 0x73, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x22, 0x96, 0x03, 0x0a, + 0x11, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, + 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x6d, 0x67, + 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x42, + 0x02, 0x18, 0x01, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x38, 0x0a, + 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, + 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, + 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x38, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, + 0x6d, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x41, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, + 0x06, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, + 0x72, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x54, + 0x79, 0x70, 0x65, 0x73, 0x12, 0x4f, 0x0a, 0x13, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, + 0x64, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, + 0x0e, 0x32, 0x1f, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x31, 0x2e, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x4a, 0x6f, 0x62, 0x54, 0x79, + 0x70, 0x65, 0x52, 0x11, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x4a, 0x6f, 0x62, + 0x54, 0x79, 0x70, 0x65, 0x73, 0x22, 0xce, 0x23, 0x0a, 0x11, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x52, 0x0a, 0x15, 0x67, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x67, 0x6d, + 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x65, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x48, 0x00, 0x52, 0x13, 0x67, 0x65, 0x6e, 0x65, + 0x72, 0x61, 0x74, 0x65, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x55, 0x0a, 0x16, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x65, 0x6d, 0x61, + 0x69, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1d, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x48, 0x00, + 0x52, 0x14, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x45, 0x6d, 0x61, 0x69, 0x6c, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4f, 0x0a, 0x14, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x65, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x42, 0x6f, 0x6f, + 0x6c, 0x48, 0x00, 0x52, 0x12, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x42, 0x6f, 0x6f, + 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x62, 0x0a, 0x1b, 0x67, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, - 0x65, 0x72, 0x61, 0x74, 0x65, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x48, 0x00, 0x52, 0x13, 0x67, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x12, 0x55, 0x0a, 0x16, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x65, - 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1d, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x45, 0x6d, 0x61, 0x69, 0x6c, - 0x48, 0x00, 0x52, 0x14, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x45, 0x6d, 0x61, - 0x69, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4f, 0x0a, 0x14, 0x67, 0x65, 0x6e, 0x65, - 0x72, 0x61, 0x74, 0x65, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x42, - 0x6f, 0x6f, 0x6c, 0x48, 0x00, 0x52, 0x12, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x42, - 0x6f, 0x6f, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x62, 0x0a, 0x1b, 0x67, 0x65, 0x6e, - 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, - 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, - 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x61, 0x72, 0x64, 0x4e, 0x75, 0x6d, 0x62, 0x65, - 0x72, 0x48, 0x00, 0x52, 0x18, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x61, 0x72, - 0x64, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4f, 0x0a, - 0x14, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x69, 0x74, 0x79, 0x5f, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6d, 0x67, - 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, - 0x72, 0x61, 0x74, 0x65, 0x43, 0x69, 0x74, 0x79, 0x48, 0x00, 0x52, 0x12, 0x67, 0x65, 0x6e, 0x65, - 0x72, 0x61, 0x74, 0x65, 0x43, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x72, - 0x0a, 0x21, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x65, 0x31, 0x36, 0x34, 0x5f, - 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6d, 0x67, 0x6d, 0x74, + 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x61, 0x72, 0x64, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x48, + 0x00, 0x52, 0x18, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x61, 0x72, 0x64, 0x4e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4f, 0x0a, 0x14, 0x67, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, - 0x74, 0x65, 0x45, 0x31, 0x36, 0x34, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, - 0x72, 0x48, 0x00, 0x52, 0x1d, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x45, 0x31, 0x36, - 0x34, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x12, 0x5f, 0x0a, 0x1a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x66, - 0x69, 0x72, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x46, - 0x69, 0x72, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x48, 0x00, 0x52, 0x17, 0x67, 0x65, 0x6e, 0x65, - 0x72, 0x61, 0x74, 0x65, 0x46, 0x69, 0x72, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x12, 0x58, 0x0a, 0x17, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, - 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x36, 0x34, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x46, 0x6c, 0x6f, - 0x61, 0x74, 0x36, 0x34, 0x48, 0x00, 0x52, 0x15, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, - 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x36, 0x34, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x65, 0x0a, - 0x1c, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x46, 0x75, 0x6c, 0x6c, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x19, 0x67, 0x65, 0x6e, 0x65, 0x72, - 0x61, 0x74, 0x65, 0x46, 0x75, 0x6c, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5c, 0x0a, 0x19, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, - 0x5f, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, + 0x74, 0x65, 0x43, 0x69, 0x74, 0x79, 0x48, 0x00, 0x52, 0x12, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x65, 0x43, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x72, 0x0a, 0x21, + 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x65, 0x31, 0x36, 0x34, 0x5f, 0x70, 0x68, + 0x6f, 0x6e, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, - 0x46, 0x75, 0x6c, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x48, 0x00, 0x52, 0x16, 0x67, 0x65, 0x6e, 0x65, - 0x72, 0x61, 0x74, 0x65, 0x46, 0x75, 0x6c, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x12, 0x55, 0x0a, 0x16, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x67, - 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x47, 0x65, 0x6e, 0x64, 0x65, - 0x72, 0x48, 0x00, 0x52, 0x14, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x47, 0x65, 0x6e, - 0x64, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x75, 0x0a, 0x22, 0x67, 0x65, 0x6e, - 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x70, 0x68, 0x6f, 0x6e, - 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, - 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x49, 0x6e, - 0x74, 0x36, 0x34, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x48, 0x00, - 0x52, 0x1e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x50, + 0x45, 0x31, 0x36, 0x34, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x48, + 0x00, 0x52, 0x1d, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x45, 0x31, 0x36, 0x34, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x12, 0x52, 0x0a, 0x15, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x74, - 0x36, 0x34, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1c, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, - 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x48, 0x00, 0x52, - 0x13, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5c, 0x0a, 0x19, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, - 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, - 0x4c, 0x61, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x48, 0x00, 0x52, 0x16, 0x67, 0x65, 0x6e, 0x65, - 0x72, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x12, 0x61, 0x0a, 0x1a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x73, - 0x68, 0x61, 0x32, 0x35, 0x36, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x53, - 0x68, 0x61, 0x32, 0x35, 0x36, 0x48, 0x61, 0x73, 0x68, 0x48, 0x00, 0x52, 0x18, 0x67, 0x65, 0x6e, - 0x65, 0x72, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x68, 0x61, 0x73, 0x68, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4c, 0x0a, 0x13, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, - 0x65, 0x5f, 0x73, 0x73, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x10, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x53, 0x53, 0x4e, 0x48, 0x00, - 0x52, 0x11, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x53, 0x73, 0x6e, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x12, 0x52, 0x0a, 0x15, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x11, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x48, 0x00, 0x52, 0x13, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x6b, 0x0a, 0x1e, 0x67, 0x65, 0x6e, 0x65, 0x72, - 0x61, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x24, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, - 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x65, 0x74, 0x41, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x1b, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, - 0x65, 0x53, 0x74, 0x72, 0x65, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x12, 0x78, 0x0a, 0x23, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, - 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x6e, 0x75, - 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x13, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x28, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x48, 0x00, 0x52, 0x1f, 0x67, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x68, 0x6f, - 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x55, - 0x0a, 0x16, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, - 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, - 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, - 0x14, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x6a, 0x0a, 0x1d, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, - 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x78, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6d, + 0x12, 0x5f, 0x0a, 0x1a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x72, + 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x46, 0x69, 0x72, + 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x48, 0x00, 0x52, 0x17, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x65, 0x46, 0x69, 0x72, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x58, 0x0a, 0x17, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x6c, + 0x6f, 0x61, 0x74, 0x36, 0x34, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x46, 0x6c, 0x6f, 0x61, 0x74, + 0x36, 0x34, 0x48, 0x00, 0x52, 0x15, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x46, 0x6c, + 0x6f, 0x61, 0x74, 0x36, 0x34, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x65, 0x0a, 0x1c, 0x67, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x22, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x46, 0x75, 0x6c, 0x6c, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x19, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x65, 0x46, 0x75, 0x6c, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x5c, 0x0a, 0x19, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x66, + 0x75, 0x6c, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x46, 0x75, + 0x6c, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x48, 0x00, 0x52, 0x16, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x65, 0x46, 0x75, 0x6c, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x55, 0x0a, 0x16, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x67, 0x65, 0x6e, + 0x64, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1d, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, + 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x47, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x48, + 0x00, 0x52, 0x14, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x47, 0x65, 0x6e, 0x64, 0x65, + 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x75, 0x0a, 0x22, 0x67, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f, + 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0c, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x36, + 0x34, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x48, 0x00, 0x52, 0x1e, + 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x50, 0x68, 0x6f, + 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x52, + 0x0a, 0x15, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, + 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x48, 0x00, 0x52, 0x13, 0x67, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x5c, 0x0a, 0x19, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, + 0x61, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, + 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4c, 0x61, + 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x48, 0x00, 0x52, 0x16, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x61, 0x0a, 0x1a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x68, 0x61, + 0x32, 0x35, 0x36, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0f, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, + 0x32, 0x35, 0x36, 0x48, 0x61, 0x73, 0x68, 0x48, 0x00, 0x52, 0x18, 0x67, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x68, 0x61, 0x73, 0x68, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x4c, 0x0a, 0x13, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, + 0x73, 0x73, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, + 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x53, 0x53, 0x4e, 0x48, 0x00, 0x52, 0x11, + 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x53, 0x73, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x52, 0x0a, 0x15, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, + 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x00, + 0x52, 0x13, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x6b, 0x0a, 0x1e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x65, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, + 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x1b, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x53, + 0x74, 0x72, 0x65, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x78, 0x0a, 0x23, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x73, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x28, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, + 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x68, + 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x48, 0x00, 0x52, 0x1f, 0x67, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x68, 0x6f, 0x6e, 0x65, + 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x55, 0x0a, 0x16, + 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, - 0x65, 0x72, 0x61, 0x74, 0x65, 0x55, 0x6e, 0x69, 0x78, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x48, 0x00, 0x52, 0x1b, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x55, 0x6e, - 0x69, 0x78, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x12, 0x5b, 0x0a, 0x18, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x75, 0x73, - 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x16, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, - 0x6e, 0x61, 0x6d, 0x65, 0x48, 0x00, 0x52, 0x16, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, - 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x67, - 0x0a, 0x1c, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x75, 0x74, 0x63, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x17, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x55, 0x74, 0x63, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, 0x00, 0x52, 0x1a, 0x67, 0x65, 0x6e, - 0x65, 0x72, 0x61, 0x74, 0x65, 0x55, 0x74, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4f, 0x0a, 0x14, 0x67, 0x65, 0x6e, 0x65, 0x72, - 0x61, 0x74, 0x65, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, - 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x55, 0x75, - 0x69, 0x64, 0x48, 0x00, 0x52, 0x12, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x55, 0x75, - 0x69, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x58, 0x0a, 0x17, 0x67, 0x65, 0x6e, 0x65, - 0x72, 0x61, 0x74, 0x65, 0x5f, 0x7a, 0x69, 0x70, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x67, 0x6d, 0x74, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, - 0x74, 0x65, 0x5a, 0x69, 0x70, 0x63, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x15, 0x67, 0x65, 0x6e, - 0x65, 0x72, 0x61, 0x74, 0x65, 0x5a, 0x69, 0x70, 0x63, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x12, 0x75, 0x0a, 0x22, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x5f, - 0x65, 0x31, 0x36, 0x34, 0x5f, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, - 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, - 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, - 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x45, 0x31, 0x36, 0x34, 0x50, 0x68, 0x6f, 0x6e, - 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x48, 0x00, 0x52, 0x1e, 0x74, 0x72, 0x61, 0x6e, 0x73, - 0x66, 0x6f, 0x72, 0x6d, 0x45, 0x31, 0x36, 0x34, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, - 0x62, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x62, 0x0a, 0x1b, 0x74, 0x72, 0x61, - 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, - 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, - 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x46, 0x69, 0x72, 0x73, 0x74, 0x4e, 0x61, 0x6d, - 0x65, 0x48, 0x00, 0x52, 0x18, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x46, 0x69, - 0x72, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5b, 0x0a, - 0x18, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, - 0x36, 0x34, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1f, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, - 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x36, 0x34, - 0x48, 0x00, 0x52, 0x16, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x46, 0x6c, 0x6f, - 0x61, 0x74, 0x36, 0x34, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5f, 0x0a, 0x1a, 0x74, 0x72, - 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, + 0x65, 0x72, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x14, 0x67, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x6a, 0x0a, 0x1d, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, + 0x75, 0x6e, 0x69, 0x78, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6d, 0x67, 0x6d, + 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x65, 0x55, 0x6e, 0x69, 0x78, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x48, 0x00, 0x52, 0x1b, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x55, 0x6e, 0x69, 0x78, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x5b, 0x0a, 0x18, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x75, 0x73, 0x65, 0x72, + 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x16, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1f, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, + 0x6d, 0x65, 0x48, 0x00, 0x52, 0x16, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x55, 0x73, + 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x67, 0x0a, 0x1c, + 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x75, 0x74, 0x63, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x17, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x55, 0x74, 0x63, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, 0x00, 0x52, 0x1a, 0x67, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x65, 0x55, 0x74, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4f, 0x0a, 0x14, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x65, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x18, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x55, 0x75, 0x69, 0x64, + 0x48, 0x00, 0x52, 0x12, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x55, 0x75, 0x69, 0x64, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x58, 0x0a, 0x17, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x65, 0x5f, 0x7a, 0x69, 0x70, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, + 0x5a, 0x69, 0x70, 0x63, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x15, 0x67, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x65, 0x5a, 0x69, 0x70, 0x63, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x75, 0x0a, 0x22, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x65, 0x31, + 0x36, 0x34, 0x5f, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, + 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x45, 0x31, 0x36, 0x34, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x48, 0x00, 0x52, 0x1e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, + 0x72, 0x6d, 0x45, 0x31, 0x36, 0x34, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x62, 0x0a, 0x1b, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6d, + 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x46, 0x69, 0x72, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x48, + 0x00, 0x52, 0x18, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x46, 0x69, 0x72, 0x73, + 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5b, 0x0a, 0x18, 0x74, + 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x36, 0x34, + 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, + 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x36, 0x34, 0x48, 0x00, + 0x52, 0x16, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x46, 0x6c, 0x6f, 0x61, 0x74, + 0x36, 0x34, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5f, 0x0a, 0x1a, 0x74, 0x72, 0x61, 0x6e, + 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6d, + 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x46, 0x75, 0x6c, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x48, 0x00, + 0x52, 0x17, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x46, 0x75, 0x6c, 0x6c, 0x4e, + 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x78, 0x0a, 0x23, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x70, 0x68, 0x6f, + 0x6e, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, + 0x49, 0x6e, 0x74, 0x36, 0x34, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, + 0x48, 0x00, 0x52, 0x1f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x74, + 0x36, 0x34, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x55, 0x0a, 0x16, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, + 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x1f, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x74, + 0x36, 0x34, 0x48, 0x00, 0x52, 0x14, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x49, + 0x6e, 0x74, 0x36, 0x34, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5f, 0x0a, 0x1a, 0x74, 0x72, + 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, - 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x46, 0x75, 0x6c, 0x6c, 0x4e, 0x61, 0x6d, 0x65, - 0x48, 0x00, 0x52, 0x17, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x46, 0x75, 0x6c, - 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x78, 0x0a, 0x23, 0x74, - 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x70, - 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, - 0x72, 0x6d, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, - 0x65, 0x72, 0x48, 0x00, 0x52, 0x1f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x49, - 0x6e, 0x74, 0x36, 0x34, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x55, 0x0a, 0x16, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, - 0x72, 0x6d, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, - 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x49, - 0x6e, 0x74, 0x36, 0x34, 0x48, 0x00, 0x52, 0x14, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, - 0x6d, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5f, 0x0a, 0x1a, - 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x20, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, - 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x4c, 0x61, 0x73, 0x74, 0x4e, 0x61, - 0x6d, 0x65, 0x48, 0x00, 0x52, 0x17, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x4c, - 0x61, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x68, 0x0a, - 0x1d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x70, 0x68, 0x6f, 0x6e, 0x65, - 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x21, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x50, 0x68, - 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x48, 0x00, 0x52, 0x1a, 0x74, 0x72, 0x61, - 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, - 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x58, 0x0a, 0x17, 0x74, 0x72, 0x61, 0x6e, 0x73, - 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, + 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x4c, 0x61, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, + 0x48, 0x00, 0x52, 0x17, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x4c, 0x61, 0x73, + 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x68, 0x0a, 0x1d, 0x74, + 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x6e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x21, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x50, 0x68, 0x6f, 0x6e, + 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x48, 0x00, 0x52, 0x1a, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x6f, 0x72, 0x6d, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x58, 0x0a, 0x17, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, + 0x72, 0x6d, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x18, 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, + 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x15, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x6f, 0x72, 0x6d, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x4b, 0x0a, 0x12, 0x70, 0x61, 0x73, 0x73, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x5f, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6d, 0x67, + 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x73, 0x73, + 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x48, 0x00, 0x52, 0x11, 0x70, 0x61, 0x73, 0x73, 0x74, + 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x35, 0x0a, 0x0a, + 0x6e, 0x75, 0x6c, 0x6c, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x13, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, + 0x2e, 0x4e, 0x75, 0x6c, 0x6c, 0x48, 0x00, 0x52, 0x0a, 0x6e, 0x75, 0x6c, 0x6c, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x74, 0x0a, 0x1f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x66, 0x69, + 0x6e, 0x65, 0x64, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x5f, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x25, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6d, + 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x55, 0x73, 0x65, + 0x72, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, + 0x6d, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x1c, 0x75, 0x73, 0x65, + 0x72, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, + 0x6d, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x58, 0x0a, 0x17, 0x67, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x18, 0x26, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x67, 0x6d, + 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x65, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x15, 0x67, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x64, 0x0a, 0x1b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, + 0x5f, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x18, 0x27, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, - 0x72, 0x6d, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x15, 0x74, 0x72, 0x61, 0x6e, - 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x12, 0x4b, 0x0a, 0x12, 0x70, 0x61, 0x73, 0x73, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, - 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x61, - 0x73, 0x73, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x48, 0x00, 0x52, 0x11, 0x70, 0x61, 0x73, - 0x73, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x35, - 0x0a, 0x0a, 0x6e, 0x75, 0x6c, 0x6c, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x24, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x31, 0x2e, 0x4e, 0x75, 0x6c, 0x6c, 0x48, 0x00, 0x52, 0x0a, 0x6e, 0x75, 0x6c, 0x6c, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x74, 0x0a, 0x1f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x64, 0x65, - 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, - 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x25, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, - 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x55, - 0x73, 0x65, 0x72, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, - 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x1c, 0x75, - 0x73, 0x65, 0x72, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, - 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x58, 0x0a, 0x17, 0x67, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x26, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, - 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, - 0x65, 0x72, 0x61, 0x74, 0x65, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x15, - 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x64, 0x0a, 0x1b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, - 0x72, 0x6d, 0x5f, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x5f, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x18, 0x27, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6d, 0x67, 0x6d, - 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, - 0x66, 0x6f, 0x72, 0x6d, 0x4a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x48, 0x00, - 0x52, 0x19, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x4a, 0x61, 0x76, 0x61, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x64, 0x0a, 0x1b, 0x67, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, - 0x63, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x22, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, - 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, - 0x69, 0x63, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x19, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, - 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x12, 0x7a, 0x0a, 0x23, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x63, - 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x63, 0x72, 0x61, 0x6d, 0x62, 0x6c, - 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x29, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, - 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, - 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, - 0x72, 0x53, 0x63, 0x72, 0x61, 0x6d, 0x62, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x20, 0x74, 0x72, 0x61, + 0x72, 0x6d, 0x4a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x48, 0x00, 0x52, 0x19, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x4a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x64, 0x0a, 0x1b, 0x67, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x63, 0x61, + 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, + 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x63, + 0x61, 0x6c, 0x48, 0x00, 0x52, 0x19, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x61, + 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x7a, 0x0a, 0x23, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x63, 0x68, 0x61, + 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x63, 0x72, 0x61, 0x6d, 0x62, 0x6c, 0x65, 0x5f, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x29, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6d, + 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x53, - 0x63, 0x72, 0x61, 0x6d, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x61, 0x0a, - 0x1a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x2a, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x21, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4a, 0x61, 0x76, 0x61, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x48, 0x00, 0x52, 0x18, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, - 0x4a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x12, 0x58, 0x0a, 0x17, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x2b, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, - 0x79, 0x48, 0x00, 0x52, 0x15, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5c, 0x0a, 0x19, 0x74, 0x72, - 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x70, 0x69, 0x69, 0x5f, 0x74, 0x65, 0x78, 0x74, - 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, - 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x50, 0x69, 0x69, 0x54, 0x65, 0x78, 0x74, 0x48, 0x00, - 0x52, 0x16, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x50, 0x69, 0x69, 0x54, 0x65, - 0x78, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x68, 0x0a, 0x1d, 0x67, 0x65, 0x6e, 0x65, - 0x72, 0x61, 0x74, 0x65, 0x5f, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x23, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, - 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x42, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, - 0x4e, 0x61, 0x6d, 0x65, 0x48, 0x00, 0x52, 0x1a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, - 0x42, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x12, 0x5f, 0x0a, 0x1a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x69, - 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x18, 0x2e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x49, - 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x17, 0x67, 0x65, 0x6e, 0x65, - 0x72, 0x61, 0x74, 0x65, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x12, 0x52, 0x0a, 0x15, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, - 0x5f, 0x75, 0x75, 0x69, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x2f, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x75, 0x69, 0x64, - 0x48, 0x00, 0x52, 0x13, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x75, 0x69, - 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0f, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x12, 0x05, 0xba, 0x48, 0x02, 0x08, 0x01, 0x22, 0xc1, 0x04, 0x0a, 0x10, 0x54, 0x72, 0x61, - 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x50, 0x69, 0x69, 0x54, 0x65, 0x78, 0x74, 0x12, 0x38, 0x0a, - 0x0f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x0f, 0xba, 0x48, 0x0c, 0x0a, 0x0a, 0x1d, 0x00, 0x00, - 0x80, 0x3f, 0x2d, 0x00, 0x00, 0x00, 0x00, 0x52, 0x0e, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x54, 0x68, - 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x4b, 0x0a, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, - 0x6c, 0x74, 0x5f, 0x61, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x7a, 0x65, 0x72, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x31, 0x2e, 0x50, 0x69, 0x69, 0x41, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x7a, 0x65, - 0x72, 0x52, 0x11, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x41, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, - 0x69, 0x7a, 0x65, 0x72, 0x12, 0x4b, 0x0a, 0x10, 0x64, 0x65, 0x6e, 0x79, 0x5f, 0x72, 0x65, 0x63, - 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, - 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, - 0x69, 0x69, 0x44, 0x65, 0x6e, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, - 0x52, 0x0f, 0x64, 0x65, 0x6e, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, - 0x73, 0x12, 0x37, 0x0a, 0x10, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x74, - 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x42, 0x0c, 0xba, 0x48, 0x09, - 0x92, 0x01, 0x06, 0x22, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, - 0x65, 0x64, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x6c, - 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x73, 0x18, 0x05, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x50, 0x68, 0x72, 0x61, - 0x73, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, - 0x65, 0x88, 0x01, 0x01, 0x12, 0x65, 0x0a, 0x12, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x61, - 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x7a, 0x65, 0x72, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x36, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, - 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x50, 0x69, 0x69, 0x54, 0x65, 0x78, - 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x41, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x7a, - 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x41, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x7a, 0x65, 0x72, 0x73, 0x1a, 0x62, 0x0a, 0x16, 0x45, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x41, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x7a, 0x65, 0x72, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x69, 0x69, 0x41, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, - 0x69, 0x7a, 0x65, 0x72, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, - 0x0b, 0x0a, 0x09, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x22, 0x70, 0x0a, 0x11, - 0x50, 0x69, 0x69, 0x44, 0x65, 0x6e, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, - 0x72, 0x12, 0x2e, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x1a, 0xba, 0x48, 0x17, 0x72, 0x15, 0x32, 0x13, 0x5e, 0x5b, 0x61, 0x2d, 0x7a, 0x30, 0x2d, 0x39, - 0x2d, 0x5f, 0x5d, 0x7b, 0x31, 0x2c, 0x31, 0x30, 0x30, 0x7d, 0x24, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x2b, 0x0a, 0x0a, 0x64, 0x65, 0x6e, 0x79, 0x5f, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x0c, 0xba, 0x48, 0x09, 0x92, 0x01, 0x06, 0x22, 0x04, 0x72, - 0x02, 0x10, 0x01, 0x52, 0x09, 0x64, 0x65, 0x6e, 0x79, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x22, 0xbc, - 0x06, 0x0a, 0x0d, 0x50, 0x69, 0x69, 0x41, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x7a, 0x65, 0x72, - 0x12, 0x40, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x24, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x31, 0x2e, 0x50, 0x69, 0x69, 0x41, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x7a, 0x65, 0x72, 0x2e, - 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x48, 0x00, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, - 0x63, 0x65, 0x12, 0x3d, 0x0a, 0x06, 0x72, 0x65, 0x64, 0x61, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x31, 0x2e, 0x50, 0x69, 0x69, 0x41, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x7a, 0x65, 0x72, - 0x2e, 0x52, 0x65, 0x64, 0x61, 0x63, 0x74, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x64, 0x61, 0x63, - 0x74, 0x12, 0x37, 0x0a, 0x04, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x63, 0x72, 0x61, 0x6d, 0x62, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x6f, 0x72, 0x6d, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x53, 0x63, 0x72, + 0x61, 0x6d, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x61, 0x0a, 0x1a, 0x67, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, - 0x50, 0x69, 0x69, 0x41, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x7a, 0x65, 0x72, 0x2e, 0x4d, 0x61, - 0x73, 0x6b, 0x48, 0x00, 0x52, 0x04, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0x37, 0x0a, 0x04, 0x68, 0x61, - 0x73, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x69, 0x69, 0x41, 0x6e, 0x6f, 0x6e, - 0x79, 0x6d, 0x69, 0x7a, 0x65, 0x72, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x48, 0x00, 0x52, 0x04, 0x68, - 0x61, 0x73, 0x68, 0x12, 0x46, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x69, 0x69, 0x41, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, - 0x69, 0x7a, 0x65, 0x72, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x48, 0x00, - 0x52, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x1a, 0x2e, 0x0a, 0x07, 0x52, - 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, - 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x08, 0x0a, 0x06, 0x52, - 0x65, 0x64, 0x61, 0x63, 0x74, 0x1a, 0xa7, 0x01, 0x0a, 0x04, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x26, - 0x0a, 0x0c, 0x6d, 0x61, 0x73, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x6d, 0x61, 0x73, 0x6b, 0x69, 0x6e, 0x67, 0x43, - 0x68, 0x61, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0d, 0x63, 0x68, 0x61, 0x72, 0x73, 0x5f, - 0x74, 0x6f, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, - 0x0b, 0x63, 0x68, 0x61, 0x72, 0x73, 0x54, 0x6f, 0x4d, 0x61, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x12, - 0x1e, 0x0a, 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x08, 0x48, 0x02, 0x52, 0x07, 0x66, 0x72, 0x6f, 0x6d, 0x45, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x42, - 0x0f, 0x0a, 0x0d, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x68, 0x61, 0x72, - 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x61, - 0x73, 0x6b, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x65, 0x6e, 0x64, 0x1a, - 0xba, 0x01, 0x0a, 0x04, 0x48, 0x61, 0x73, 0x68, 0x12, 0x43, 0x0a, 0x04, 0x61, 0x6c, 0x67, 0x6f, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, + 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x48, 0x00, 0x52, 0x18, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4a, 0x61, + 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x58, + 0x0a, 0x17, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1e, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, + 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x48, + 0x00, 0x52, 0x15, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5c, 0x0a, 0x19, 0x74, 0x72, 0x61, 0x6e, + 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x70, 0x69, 0x69, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6d, 0x67, + 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x50, 0x69, 0x69, 0x54, 0x65, 0x78, 0x74, 0x48, 0x00, 0x52, 0x16, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x50, 0x69, 0x69, 0x54, 0x65, 0x78, 0x74, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x68, 0x0a, 0x1d, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x65, 0x5f, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, + 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x42, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x4e, 0x61, + 0x6d, 0x65, 0x48, 0x00, 0x52, 0x1a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x42, 0x75, + 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x5f, 0x0a, 0x1a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x70, 0x5f, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x2e, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x49, 0x70, 0x41, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x17, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x65, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x52, 0x0a, 0x15, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x75, + 0x75, 0x69, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, + 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x75, 0x69, 0x64, 0x48, 0x00, + 0x52, 0x13, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x75, 0x69, 0x64, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0f, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x05, 0xba, 0x48, 0x02, 0x08, 0x01, 0x22, 0xc1, 0x04, 0x0a, 0x10, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x6f, 0x72, 0x6d, 0x50, 0x69, 0x69, 0x54, 0x65, 0x78, 0x74, 0x12, 0x38, 0x0a, 0x0f, 0x73, + 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x02, 0x42, 0x0f, 0xba, 0x48, 0x0c, 0x0a, 0x0a, 0x1d, 0x00, 0x00, 0x80, 0x3f, + 0x2d, 0x00, 0x00, 0x00, 0x00, 0x52, 0x0e, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x54, 0x68, 0x72, 0x65, + 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x4b, 0x0a, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, + 0x5f, 0x61, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x7a, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x31, 0x2e, 0x50, 0x69, 0x69, 0x41, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x7a, 0x65, 0x72, 0x52, + 0x11, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x41, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x7a, + 0x65, 0x72, 0x12, 0x4b, 0x0a, 0x10, 0x64, 0x65, 0x6e, 0x79, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x67, + 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6d, + 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x69, 0x69, + 0x44, 0x65, 0x6e, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x52, 0x0f, + 0x64, 0x65, 0x6e, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x73, 0x12, + 0x37, 0x0a, 0x10, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x42, 0x0c, 0xba, 0x48, 0x09, 0x92, 0x01, + 0x06, 0x22, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, + 0x45, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x6c, 0x6c, 0x6f, + 0x77, 0x65, 0x64, 0x5f, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, + 0x73, 0x12, 0x1f, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x88, + 0x01, 0x01, 0x12, 0x65, 0x0a, 0x12, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x61, 0x6e, 0x6f, + 0x6e, 0x79, 0x6d, 0x69, 0x7a, 0x65, 0x72, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, + 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, + 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x50, 0x69, 0x69, 0x54, 0x65, 0x78, 0x74, 0x2e, + 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x41, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x7a, 0x65, 0x72, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x41, 0x6e, + 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x7a, 0x65, 0x72, 0x73, 0x1a, 0x62, 0x0a, 0x16, 0x45, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x41, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x7a, 0x65, 0x72, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x69, 0x69, 0x41, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x7a, + 0x65, 0x72, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0b, 0x0a, + 0x09, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x22, 0x70, 0x0a, 0x11, 0x50, 0x69, + 0x69, 0x44, 0x65, 0x6e, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x12, + 0x2e, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1a, 0xba, + 0x48, 0x17, 0x72, 0x15, 0x32, 0x13, 0x5e, 0x5b, 0x61, 0x2d, 0x7a, 0x30, 0x2d, 0x39, 0x2d, 0x5f, + 0x5d, 0x7b, 0x31, 0x2c, 0x31, 0x30, 0x30, 0x7d, 0x24, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x2b, 0x0a, 0x0a, 0x64, 0x65, 0x6e, 0x79, 0x5f, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x09, 0x42, 0x0c, 0xba, 0x48, 0x09, 0x92, 0x01, 0x06, 0x22, 0x04, 0x72, 0x02, 0x10, + 0x01, 0x52, 0x09, 0x64, 0x65, 0x6e, 0x79, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x22, 0xbc, 0x06, 0x0a, + 0x0d, 0x50, 0x69, 0x69, 0x41, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x7a, 0x65, 0x72, 0x12, 0x40, + 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x24, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, + 0x50, 0x69, 0x69, 0x41, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x7a, 0x65, 0x72, 0x2e, 0x52, 0x65, + 0x70, 0x6c, 0x61, 0x63, 0x65, 0x48, 0x00, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, + 0x12, 0x3d, 0x0a, 0x06, 0x72, 0x65, 0x64, 0x61, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x23, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, + 0x2e, 0x50, 0x69, 0x69, 0x41, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x7a, 0x65, 0x72, 0x2e, 0x52, + 0x65, 0x64, 0x61, 0x63, 0x74, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x64, 0x61, 0x63, 0x74, 0x12, + 0x37, 0x0a, 0x04, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, + 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x69, + 0x69, 0x41, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x7a, 0x65, 0x72, 0x2e, 0x4d, 0x61, 0x73, 0x6b, + 0x48, 0x00, 0x52, 0x04, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0x37, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x69, 0x69, 0x41, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, - 0x69, 0x7a, 0x65, 0x72, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x54, 0x79, - 0x70, 0x65, 0x48, 0x00, 0x52, 0x04, 0x61, 0x6c, 0x67, 0x6f, 0x88, 0x01, 0x01, 0x22, 0x64, 0x0a, - 0x08, 0x48, 0x61, 0x73, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x48, 0x41, 0x53, - 0x48, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, - 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x48, 0x41, 0x53, 0x48, 0x5f, 0x54, 0x59, 0x50, - 0x45, 0x5f, 0x4d, 0x44, 0x35, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x48, 0x41, 0x53, 0x48, 0x5f, - 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x48, 0x41, 0x32, 0x35, 0x36, 0x10, 0x02, 0x12, 0x14, 0x0a, - 0x10, 0x48, 0x41, 0x53, 0x48, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x48, 0x41, 0x35, 0x31, - 0x32, 0x10, 0x03, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x61, 0x6c, 0x67, 0x6f, 0x1a, 0x45, 0x0a, 0x09, - 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x38, 0x0a, 0x06, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6d, 0x67, 0x6d, 0x74, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, - 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x42, 0x08, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x64, 0x0a, - 0x0d, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x44, - 0x0a, 0x0a, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x45, 0x6d, 0x61, 0x69, 0x6c, - 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x09, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x54, 0x79, 0x70, - 0x65, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x22, 0x87, 0x03, 0x0a, 0x0e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, - 0x6d, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x2c, 0x0a, 0x0f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, - 0x00, 0x52, 0x0e, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, - 0x6e, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, - 0x0e, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x88, - 0x01, 0x01, 0x12, 0x29, 0x0a, 0x10, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x5f, 0x64, - 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x65, 0x78, - 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x44, 0x0a, - 0x0a, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x20, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x54, - 0x79, 0x70, 0x65, 0x48, 0x02, 0x52, 0x09, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x54, 0x79, 0x70, 0x65, - 0x88, 0x01, 0x01, 0x12, 0x58, 0x0a, 0x14, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x65, - 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x21, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x31, 0x2e, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x03, 0x52, 0x12, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x45, - 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, - 0x10, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, - 0x6e, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 0x6c, - 0x65, 0x6e, 0x67, 0x74, 0x68, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, - 0x74, 0x79, 0x70, 0x65, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x0e, 0x0a, - 0x0c, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x42, 0x6f, 0x6f, 0x6c, 0x22, 0x47, 0x0a, - 0x12, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x61, 0x72, 0x64, 0x4e, 0x75, 0x6d, - 0x62, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x6c, 0x75, 0x68, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x4c, 0x75, 0x68, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x5f, 0x6c, 0x75, 0x68, 0x6e, 0x22, 0x0e, 0x0a, 0x0c, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, - 0x74, 0x65, 0x43, 0x69, 0x74, 0x79, 0x22, 0x11, 0x0a, 0x0f, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, - 0x74, 0x65, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x22, 0x57, 0x0a, 0x17, 0x47, 0x65, 0x6e, - 0x65, 0x72, 0x61, 0x74, 0x65, 0x45, 0x31, 0x36, 0x34, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, - 0x6d, 0x62, 0x65, 0x72, 0x12, 0x15, 0x0a, 0x03, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x03, 0x48, 0x00, 0x52, 0x03, 0x6d, 0x69, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x15, 0x0a, 0x03, 0x6d, - 0x61, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x03, 0x6d, 0x61, 0x78, 0x88, - 0x01, 0x01, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6d, 0x69, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6d, - 0x61, 0x78, 0x22, 0x13, 0x0a, 0x11, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x46, 0x69, - 0x72, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xbf, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x6e, 0x65, - 0x72, 0x61, 0x74, 0x65, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x36, 0x34, 0x12, 0x2a, 0x0a, 0x0e, 0x72, - 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x69, 0x7a, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x69, 0x7a, 0x65, - 0x53, 0x69, 0x67, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x15, 0x0a, 0x03, 0x6d, 0x69, 0x6e, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x01, 0x48, 0x01, 0x52, 0x03, 0x6d, 0x69, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x15, - 0x0a, 0x03, 0x6d, 0x61, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x48, 0x02, 0x52, 0x03, 0x6d, - 0x61, 0x78, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, - 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x48, 0x03, 0x52, 0x09, 0x70, 0x72, 0x65, 0x63, - 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x72, 0x61, 0x6e, - 0x64, 0x6f, 0x6d, 0x69, 0x7a, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x5f, - 0x6d, 0x69, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6d, 0x61, 0x78, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, - 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x15, 0x0a, 0x13, 0x47, 0x65, 0x6e, - 0x65, 0x72, 0x61, 0x74, 0x65, 0x46, 0x75, 0x6c, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x22, 0x12, 0x0a, 0x10, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x46, 0x75, 0x6c, 0x6c, - 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x44, 0x0a, 0x0e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, - 0x47, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x0a, 0x61, 0x62, 0x62, 0x72, 0x65, 0x76, - 0x69, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x62, - 0x62, 0x72, 0x65, 0x76, 0x69, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, - 0x61, 0x62, 0x62, 0x72, 0x65, 0x76, 0x69, 0x61, 0x74, 0x65, 0x22, 0x1a, 0x0a, 0x18, 0x47, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x50, 0x68, 0x6f, 0x6e, 0x65, - 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x8c, 0x01, 0x0a, 0x0d, 0x47, 0x65, 0x6e, 0x65, 0x72, - 0x61, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x2a, 0x0a, 0x0e, 0x72, 0x61, 0x6e, 0x64, - 0x6f, 0x6d, 0x69, 0x7a, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, - 0x48, 0x00, 0x52, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x69, 0x7a, 0x65, 0x53, 0x69, 0x67, - 0x6e, 0x88, 0x01, 0x01, 0x12, 0x15, 0x0a, 0x03, 0x6d, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x03, 0x48, 0x01, 0x52, 0x03, 0x6d, 0x69, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x15, 0x0a, 0x03, 0x6d, - 0x61, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x52, 0x03, 0x6d, 0x61, 0x78, 0x88, - 0x01, 0x01, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x69, 0x7a, 0x65, - 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6d, 0x69, 0x6e, 0x42, 0x06, 0x0a, - 0x04, 0x5f, 0x6d, 0x61, 0x78, 0x22, 0x12, 0x0a, 0x10, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, - 0x65, 0x4c, 0x61, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x14, 0x0a, 0x12, 0x47, 0x65, 0x6e, - 0x65, 0x72, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x48, 0x61, 0x73, 0x68, 0x22, - 0x0d, 0x0a, 0x0b, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x53, 0x53, 0x4e, 0x22, 0x59, - 0x0a, 0x0d, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, - 0x31, 0x0a, 0x12, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x75, 0x6c, 0x6c, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x10, 0x67, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x46, 0x75, 0x6c, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x88, - 0x01, 0x01, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, - 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x17, 0x0a, 0x15, 0x47, 0x65, 0x6e, - 0x65, 0x72, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x22, 0x59, 0x0a, 0x19, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x53, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, - 0x15, 0x0a, 0x03, 0x6d, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x03, - 0x6d, 0x69, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x15, 0x0a, 0x03, 0x6d, 0x61, 0x78, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x03, 0x6d, 0x61, 0x78, 0x88, 0x01, 0x01, 0x42, 0x06, 0x0a, - 0x04, 0x5f, 0x6d, 0x69, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6d, 0x61, 0x78, 0x22, 0x4e, 0x0a, - 0x0e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, - 0x15, 0x0a, 0x03, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x03, - 0x6d, 0x69, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x15, 0x0a, 0x03, 0x6d, 0x61, 0x78, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x03, 0x6d, 0x61, 0x78, 0x88, 0x01, 0x01, 0x42, 0x06, 0x0a, - 0x04, 0x5f, 0x6d, 0x69, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6d, 0x61, 0x78, 0x22, 0x17, 0x0a, - 0x15, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x55, 0x6e, 0x69, 0x78, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x12, 0x0a, 0x10, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, - 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x16, 0x0a, 0x14, 0x47, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x55, 0x74, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x22, 0x50, 0x0a, 0x0c, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x55, 0x75, - 0x69, 0x64, 0x12, 0x2c, 0x0a, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x68, 0x79, - 0x70, 0x68, 0x65, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0e, 0x69, - 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x48, 0x79, 0x70, 0x68, 0x65, 0x6e, 0x73, 0x88, 0x01, 0x01, - 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x68, 0x79, 0x70, - 0x68, 0x65, 0x6e, 0x73, 0x22, 0x11, 0x0a, 0x0f, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, - 0x5a, 0x69, 0x70, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x5c, 0x0a, 0x18, 0x54, 0x72, 0x61, 0x6e, 0x73, - 0x66, 0x6f, 0x72, 0x6d, 0x45, 0x31, 0x36, 0x34, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, - 0x62, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x0f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, - 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0e, - 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x88, 0x01, - 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 0x6c, - 0x65, 0x6e, 0x67, 0x74, 0x68, 0x22, 0x56, 0x0a, 0x12, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, - 0x72, 0x6d, 0x46, 0x69, 0x72, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x0f, 0x70, - 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0e, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x70, 0x72, - 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x22, 0xc4, 0x01, - 0x0a, 0x10, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x46, 0x6c, 0x6f, 0x61, 0x74, - 0x36, 0x34, 0x12, 0x3b, 0x0a, 0x17, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x69, 0x7a, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x15, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x69, 0x7a, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x69, 0x6e, 0x88, 0x01, 0x01, 0x12, - 0x3b, 0x0a, 0x17, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, - 0x48, 0x01, 0x52, 0x15, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x61, 0x78, 0x88, 0x01, 0x01, 0x42, 0x1a, 0x0a, 0x18, + 0x69, 0x7a, 0x65, 0x72, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x48, 0x00, 0x52, 0x04, 0x68, 0x61, 0x73, + 0x68, 0x12, 0x46, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x69, 0x69, 0x41, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x7a, + 0x65, 0x72, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x48, 0x00, 0x52, 0x09, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x1a, 0x2e, 0x0a, 0x07, 0x52, 0x65, 0x70, + 0x6c, 0x61, 0x63, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x42, + 0x08, 0x0a, 0x06, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x08, 0x0a, 0x06, 0x52, 0x65, 0x64, + 0x61, 0x63, 0x74, 0x1a, 0xa7, 0x01, 0x0a, 0x04, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x26, 0x0a, 0x0c, + 0x6d, 0x61, 0x73, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x6d, 0x61, 0x73, 0x6b, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, + 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0d, 0x63, 0x68, 0x61, 0x72, 0x73, 0x5f, 0x74, 0x6f, + 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x0b, 0x63, + 0x68, 0x61, 0x72, 0x73, 0x54, 0x6f, 0x4d, 0x61, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, + 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, + 0x02, 0x52, 0x07, 0x66, 0x72, 0x6f, 0x6d, 0x45, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, + 0x0d, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x42, 0x10, + 0x0a, 0x0e, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x61, 0x73, 0x6b, + 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x65, 0x6e, 0x64, 0x1a, 0xba, 0x01, + 0x0a, 0x04, 0x48, 0x61, 0x73, 0x68, 0x12, 0x43, 0x0a, 0x04, 0x61, 0x6c, 0x67, 0x6f, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x69, 0x69, 0x41, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x7a, + 0x65, 0x72, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x54, 0x79, 0x70, 0x65, + 0x48, 0x00, 0x52, 0x04, 0x61, 0x6c, 0x67, 0x6f, 0x88, 0x01, 0x01, 0x22, 0x64, 0x0a, 0x08, 0x48, + 0x61, 0x73, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x48, 0x41, 0x53, 0x48, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x48, 0x41, 0x53, 0x48, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, + 0x4d, 0x44, 0x35, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x48, 0x41, 0x53, 0x48, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x5f, 0x53, 0x48, 0x41, 0x32, 0x35, 0x36, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x48, + 0x41, 0x53, 0x48, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x48, 0x41, 0x35, 0x31, 0x32, 0x10, + 0x03, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x61, 0x6c, 0x67, 0x6f, 0x1a, 0x45, 0x0a, 0x09, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x38, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, + 0x6d, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x42, 0x08, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x64, 0x0a, 0x0d, 0x47, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x44, 0x0a, 0x0a, + 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x20, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, + 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x54, 0x79, + 0x70, 0x65, 0x48, 0x00, 0x52, 0x09, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x88, + 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x22, 0x87, 0x03, 0x0a, 0x0e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x45, + 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x2c, 0x0a, 0x0f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, + 0x0e, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x88, + 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 0x6c, + 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x0e, 0x70, + 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x88, 0x01, 0x01, + 0x12, 0x29, 0x0a, 0x10, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x5f, 0x64, 0x6f, 0x6d, + 0x61, 0x69, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x65, 0x78, 0x63, 0x6c, + 0x75, 0x64, 0x65, 0x64, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x44, 0x0a, 0x0a, 0x65, + 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x20, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, + 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x54, 0x79, 0x70, + 0x65, 0x48, 0x02, 0x52, 0x09, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, + 0x01, 0x12, 0x58, 0x0a, 0x14, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x65, 0x6d, 0x61, + 0x69, 0x6c, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x21, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, + 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x48, 0x03, 0x52, 0x12, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x45, 0x6d, 0x61, + 0x69, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, + 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x42, + 0x12, 0x0a, 0x10, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 0x6c, 0x65, 0x6e, + 0x67, 0x74, 0x68, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x65, + 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x0e, 0x0a, 0x0c, 0x47, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x42, 0x6f, 0x6f, 0x6c, 0x22, 0x47, 0x0a, 0x12, 0x47, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x61, 0x72, 0x64, 0x4e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x12, 0x22, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x6c, 0x75, 0x68, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x4c, 0x75, + 0x68, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, + 0x6c, 0x75, 0x68, 0x6e, 0x22, 0x0e, 0x0a, 0x0c, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, + 0x43, 0x69, 0x74, 0x79, 0x22, 0x11, 0x0a, 0x0f, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, + 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x22, 0x57, 0x0a, 0x17, 0x47, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x65, 0x45, 0x31, 0x36, 0x34, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x12, 0x15, 0x0a, 0x03, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, + 0x00, 0x52, 0x03, 0x6d, 0x69, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x15, 0x0a, 0x03, 0x6d, 0x61, 0x78, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x03, 0x6d, 0x61, 0x78, 0x88, 0x01, 0x01, + 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6d, 0x69, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6d, 0x61, 0x78, + 0x22, 0x13, 0x0a, 0x11, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x46, 0x69, 0x72, 0x73, + 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xbf, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x65, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x36, 0x34, 0x12, 0x2a, 0x0a, 0x0e, 0x72, 0x61, 0x6e, + 0x64, 0x6f, 0x6d, 0x69, 0x7a, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x48, 0x00, 0x52, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x69, 0x7a, 0x65, 0x53, 0x69, + 0x67, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x15, 0x0a, 0x03, 0x6d, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x01, 0x48, 0x01, 0x52, 0x03, 0x6d, 0x69, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x15, 0x0a, 0x03, + 0x6d, 0x61, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x48, 0x02, 0x52, 0x03, 0x6d, 0x61, 0x78, + 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x48, 0x03, 0x52, 0x09, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, + 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x6f, + 0x6d, 0x69, 0x7a, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6d, 0x69, + 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6d, 0x61, 0x78, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x70, 0x72, + 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x15, 0x0a, 0x13, 0x47, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x65, 0x46, 0x75, 0x6c, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x12, + 0x0a, 0x10, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x46, 0x75, 0x6c, 0x6c, 0x4e, 0x61, + 0x6d, 0x65, 0x22, 0x44, 0x0a, 0x0e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x47, 0x65, + 0x6e, 0x64, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x0a, 0x61, 0x62, 0x62, 0x72, 0x65, 0x76, 0x69, 0x61, + 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x62, 0x62, 0x72, + 0x65, 0x76, 0x69, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x61, 0x62, + 0x62, 0x72, 0x65, 0x76, 0x69, 0x61, 0x74, 0x65, 0x22, 0x1a, 0x0a, 0x18, 0x47, 0x65, 0x6e, 0x65, + 0x72, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x22, 0x8c, 0x01, 0x0a, 0x0d, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x65, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x2a, 0x0a, 0x0e, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, + 0x69, 0x7a, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, + 0x52, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x69, 0x7a, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x88, + 0x01, 0x01, 0x12, 0x15, 0x0a, 0x03, 0x6d, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, + 0x01, 0x52, 0x03, 0x6d, 0x69, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x15, 0x0a, 0x03, 0x6d, 0x61, 0x78, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x52, 0x03, 0x6d, 0x61, 0x78, 0x88, 0x01, 0x01, + 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x69, 0x7a, 0x65, 0x5f, 0x73, + 0x69, 0x67, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6d, 0x69, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x5f, + 0x6d, 0x61, 0x78, 0x22, 0x12, 0x0a, 0x10, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4c, + 0x61, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x14, 0x0a, 0x12, 0x47, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x48, 0x61, 0x73, 0x68, 0x22, 0x0d, 0x0a, + 0x0b, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x53, 0x53, 0x4e, 0x22, 0x59, 0x0a, 0x0d, + 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x31, 0x0a, + 0x12, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x10, 0x67, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x65, 0x46, 0x75, 0x6c, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, + 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x75, + 0x6c, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x17, 0x0a, 0x15, 0x47, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x22, 0x5f, 0x0a, 0x19, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x15, 0x0a, + 0x03, 0x6d, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x03, 0x6d, 0x69, + 0x6e, 0x88, 0x01, 0x01, 0x12, 0x15, 0x0a, 0x03, 0x6d, 0x61, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x03, 0x48, 0x01, 0x52, 0x03, 0x6d, 0x61, 0x78, 0x88, 0x01, 0x01, 0x42, 0x06, 0x0a, 0x04, 0x5f, + 0x6d, 0x69, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6d, 0x61, 0x78, 0x4a, 0x04, 0x08, 0x01, 0x10, + 0x02, 0x22, 0x4e, 0x0a, 0x0e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x12, 0x15, 0x0a, 0x03, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, + 0x48, 0x00, 0x52, 0x03, 0x6d, 0x69, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x15, 0x0a, 0x03, 0x6d, 0x61, + 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x03, 0x6d, 0x61, 0x78, 0x88, 0x01, + 0x01, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6d, 0x69, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6d, 0x61, + 0x78, 0x22, 0x17, 0x0a, 0x15, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x55, 0x6e, 0x69, + 0x78, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x12, 0x0a, 0x10, 0x47, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x16, + 0x0a, 0x14, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x55, 0x74, 0x63, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x50, 0x0a, 0x0c, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x65, 0x55, 0x75, 0x69, 0x64, 0x12, 0x2c, 0x0a, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, + 0x65, 0x5f, 0x68, 0x79, 0x70, 0x68, 0x65, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, + 0x00, 0x52, 0x0e, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x48, 0x79, 0x70, 0x68, 0x65, 0x6e, + 0x73, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, + 0x5f, 0x68, 0x79, 0x70, 0x68, 0x65, 0x6e, 0x73, 0x22, 0x11, 0x0a, 0x0f, 0x47, 0x65, 0x6e, 0x65, + 0x72, 0x61, 0x74, 0x65, 0x5a, 0x69, 0x70, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x5c, 0x0a, 0x18, 0x54, + 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x45, 0x31, 0x36, 0x34, 0x50, 0x68, 0x6f, 0x6e, + 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x0f, 0x70, 0x72, 0x65, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x48, 0x00, 0x52, 0x0e, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x4c, 0x65, 0x6e, 0x67, + 0x74, 0x68, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x22, 0x56, 0x0a, 0x12, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x46, 0x69, 0x72, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x2c, 0x0a, 0x0f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 0x6c, 0x65, 0x6e, 0x67, + 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0e, 0x70, 0x72, 0x65, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, + 0x10, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, + 0x68, 0x22, 0xc4, 0x01, 0x0a, 0x10, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x46, + 0x6c, 0x6f, 0x61, 0x74, 0x36, 0x34, 0x12, 0x3b, 0x0a, 0x17, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, + 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6d, 0x69, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x15, 0x72, 0x61, 0x6e, 0x64, 0x6f, + 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x69, 0x6e, + 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x17, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x01, 0x48, 0x01, 0x52, 0x15, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x61, 0x78, 0x88, 0x01, 0x01, + 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, - 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x72, 0x61, 0x6e, - 0x64, 0x6f, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, - 0x5f, 0x6d, 0x61, 0x78, 0x22, 0x55, 0x0a, 0x11, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, - 0x6d, 0x46, 0x75, 0x6c, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x0f, 0x70, 0x72, 0x65, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x48, 0x00, 0x52, 0x0e, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x4c, 0x65, - 0x6e, 0x67, 0x74, 0x68, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x70, 0x72, 0x65, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x22, 0x5d, 0x0a, 0x19, 0x54, - 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x50, 0x68, 0x6f, - 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x0f, 0x70, 0x72, 0x65, 0x73, + 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x22, 0x55, 0x0a, 0x11, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x46, 0x75, 0x6c, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, + 0x0f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0e, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, + 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x22, + 0x5d, 0x0a, 0x19, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x74, 0x36, + 0x34, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x0f, + 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0e, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x70, + 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x22, 0xc2, + 0x01, 0x0a, 0x0e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x74, 0x36, + 0x34, 0x12, 0x3b, 0x0a, 0x17, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x03, 0x48, 0x00, 0x52, 0x15, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x69, 0x7a, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x69, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x3b, + 0x0a, 0x17, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, + 0x01, 0x52, 0x15, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x61, 0x78, 0x88, 0x01, 0x01, 0x42, 0x1a, 0x0a, 0x18, 0x5f, + 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x61, + 0x6e, 0x67, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x72, 0x61, 0x6e, 0x64, + 0x6f, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, + 0x6d, 0x61, 0x78, 0x22, 0x55, 0x0a, 0x11, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, + 0x4c, 0x61, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x0f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0e, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x22, 0xc2, 0x01, 0x0a, 0x0e, 0x54, - 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x3b, 0x0a, - 0x17, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, - 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, - 0x52, 0x15, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x69, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x17, 0x72, 0x61, - 0x6e, 0x64, 0x6f, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x61, 0x6e, 0x67, - 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x15, 0x72, - 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x67, - 0x65, 0x4d, 0x61, 0x78, 0x88, 0x01, 0x01, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x72, 0x61, 0x6e, 0x64, - 0x6f, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, - 0x6d, 0x69, 0x6e, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x69, 0x7a, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x22, - 0x55, 0x0a, 0x11, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x4c, 0x61, 0x73, 0x74, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x0f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, - 0x0e, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x88, - 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, - 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x22, 0x58, 0x0a, 0x14, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, - 0x6f, 0x72, 0x6d, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2c, - 0x0a, 0x0f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, - 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0e, 0x70, 0x72, 0x65, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, - 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, - 0x22, 0x53, 0x0a, 0x0f, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x12, 0x2c, 0x0a, 0x0f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, - 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0e, - 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x88, 0x01, - 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 0x6c, - 0x65, 0x6e, 0x67, 0x74, 0x68, 0x22, 0x0d, 0x0a, 0x0b, 0x50, 0x61, 0x73, 0x73, 0x74, 0x68, 0x72, - 0x6f, 0x75, 0x67, 0x68, 0x22, 0x06, 0x0a, 0x04, 0x4e, 0x75, 0x6c, 0x6c, 0x22, 0x29, 0x0a, 0x13, - 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x4a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x38, 0x0a, 0x1c, 0x55, 0x73, 0x65, 0x72, 0x44, - 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, - 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x02, 0x69, - 0x64, 0x22, 0x46, 0x0a, 0x21, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, - 0x72, 0x4a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x63, - 0x6f, 0x64, 0x65, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x22, 0x3a, 0x0a, 0x22, 0x56, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x22, 0x49, 0x0a, 0x13, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, - 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x12, 0x23, 0x0a, 0x0a, - 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x0a, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x88, 0x01, - 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, - 0x22, 0x69, 0x0a, 0x1a, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x43, 0x68, 0x61, - 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x53, 0x63, 0x72, 0x61, 0x6d, 0x62, 0x6c, 0x65, 0x12, 0x33, - 0x0a, 0x13, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x5f, - 0x72, 0x65, 0x67, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x11, 0x75, - 0x73, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x52, 0x65, 0x67, 0x65, 0x78, - 0x88, 0x01, 0x01, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x22, 0x28, 0x0a, 0x12, 0x47, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x54, 0x0a, 0x1c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x67, 0x65, 0x78, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x70, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x11, 0x75, 0x73, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, - 0x52, 0x65, 0x67, 0x65, 0x78, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x22, 0x35, 0x0a, 0x1d, 0x56, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x67, 0x65, 0x78, - 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x22, 0x5b, 0x0a, 0x0f, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x31, 0x0a, 0x12, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, - 0x65, 0x5f, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x08, 0x48, 0x00, 0x52, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x46, 0x75, 0x6c, - 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x67, 0x65, 0x6e, - 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, - 0x49, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x50, - 0x69, 0x69, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x27, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, - 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x3d, 0x0a, 0x1f, 0x47, 0x65, - 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x50, 0x69, 0x69, 0x45, 0x6e, 0x74, - 0x69, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, - 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x22, 0x16, 0x0a, 0x14, 0x47, 0x65, 0x6e, - 0x65, 0x72, 0x61, 0x74, 0x65, 0x42, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x4e, 0x61, 0x6d, - 0x65, 0x22, 0x63, 0x0a, 0x11, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x49, 0x70, 0x41, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x69, 0x70, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, - 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, - 0x06, 0x69, 0x70, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x69, - 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x0f, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, - 0x6f, 0x72, 0x6d, 0x55, 0x75, 0x69, 0x64, 0x2a, 0x87, 0x11, 0x0a, 0x11, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x22, 0x0a, - 0x1e, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, - 0x52, 0x43, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x22, 0x0a, 0x1e, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, - 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x50, 0x41, 0x53, 0x53, 0x54, 0x48, 0x52, 0x4f, - 0x55, 0x47, 0x48, 0x10, 0x01, 0x12, 0x27, 0x0a, 0x23, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, - 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x47, 0x45, 0x4e, 0x45, - 0x52, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x02, 0x12, 0x2b, - 0x0a, 0x27, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, - 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x4a, - 0x41, 0x56, 0x41, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x10, 0x03, 0x12, 0x25, 0x0a, 0x21, 0x54, - 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, - 0x45, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x4d, 0x41, 0x49, 0x4c, - 0x10, 0x04, 0x12, 0x26, 0x0a, 0x22, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, + 0x72, 0x76, 0x65, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x22, 0x58, 0x0a, 0x14, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x0f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 0x6c, + 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0e, 0x70, + 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x88, 0x01, 0x01, + 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 0x6c, 0x65, + 0x6e, 0x67, 0x74, 0x68, 0x22, 0x53, 0x0a, 0x0f, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, + 0x6d, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x2c, 0x0a, 0x0f, 0x70, 0x72, 0x65, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x48, 0x00, 0x52, 0x0e, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x4c, 0x65, 0x6e, 0x67, + 0x74, 0x68, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x22, 0x0d, 0x0a, 0x0b, 0x50, 0x61, 0x73, + 0x73, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x22, 0x06, 0x0a, 0x04, 0x4e, 0x75, 0x6c, 0x6c, + 0x22, 0x29, 0x0a, 0x13, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x4a, 0x61, 0x76, + 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x38, 0x0a, 0x1c, 0x55, + 0x73, 0x65, 0x72, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, + 0x01, 0x52, 0x02, 0x69, 0x64, 0x22, 0x46, 0x0a, 0x21, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x65, 0x55, 0x73, 0x65, 0x72, 0x4a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x43, + 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x04, 0x63, 0x6f, + 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, 0x10, + 0x01, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x22, 0x3a, 0x0a, + 0x22, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4a, 0x61, 0x76, + 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x22, 0x49, 0x0a, 0x13, 0x47, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, + 0x12, 0x23, 0x0a, 0x0a, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, + 0x65, 0x73, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, + 0x72, 0x69, 0x65, 0x73, 0x22, 0x69, 0x0a, 0x1a, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, + 0x6d, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x53, 0x63, 0x72, 0x61, 0x6d, 0x62, + 0x6c, 0x65, 0x12, 0x33, 0x0a, 0x13, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x11, 0x75, 0x73, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x52, + 0x65, 0x67, 0x65, 0x78, 0x88, 0x01, 0x01, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x75, 0x73, 0x65, 0x72, + 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x22, + 0x28, 0x0a, 0x12, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4a, 0x61, 0x76, 0x61, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x54, 0x0a, 0x1c, 0x56, 0x61, 0x6c, + 0x69, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x67, 0x65, 0x78, 0x43, 0x6f, + 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x75, 0x73, 0x65, + 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x67, 0x65, 0x78, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x75, 0x73, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x64, 0x52, 0x65, 0x67, 0x65, 0x78, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x22, + 0x35, 0x0a, 0x1d, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, + 0x65, 0x67, 0x65, 0x78, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x22, 0x5b, 0x0a, 0x0f, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x31, 0x0a, 0x12, 0x67, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x65, 0x46, 0x75, 0x6c, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x15, 0x0a, 0x13, + 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x22, 0x49, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x6f, 0x72, 0x6d, 0x50, 0x69, 0x69, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, + 0xb0, 0x01, 0x01, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x3d, + 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x50, 0x69, + 0x69, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x22, 0x16, 0x0a, + 0x14, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x42, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, + 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x63, 0x0a, 0x11, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x65, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x69, 0x70, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x6d, 0x67, + 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, + 0x72, 0x61, 0x74, 0x65, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, + 0x65, 0x48, 0x00, 0x52, 0x06, 0x69, 0x70, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0a, + 0x0a, 0x08, 0x5f, 0x69, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x0f, 0x0a, 0x0d, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x75, 0x69, 0x64, 0x2a, 0x87, 0x11, 0x0a, 0x11, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x53, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x12, 0x22, 0x0a, 0x1e, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, + 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, + 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x22, 0x0a, 0x1e, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, + 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x50, 0x41, 0x53, 0x53, + 0x54, 0x48, 0x52, 0x4f, 0x55, 0x47, 0x48, 0x10, 0x01, 0x12, 0x27, 0x0a, 0x23, 0x54, 0x52, 0x41, + 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, + 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, + 0x10, 0x02, 0x12, 0x2b, 0x0a, 0x27, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, - 0x52, 0x4d, 0x5f, 0x45, 0x4d, 0x41, 0x49, 0x4c, 0x10, 0x05, 0x12, 0x24, 0x0a, 0x20, 0x54, 0x52, + 0x52, 0x4d, 0x5f, 0x4a, 0x41, 0x56, 0x41, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x10, 0x03, 0x12, + 0x25, 0x0a, 0x21, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, + 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x45, + 0x4d, 0x41, 0x49, 0x4c, 0x10, 0x04, 0x12, 0x26, 0x0a, 0x22, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, + 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x52, 0x41, + 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x45, 0x4d, 0x41, 0x49, 0x4c, 0x10, 0x05, 0x12, 0x24, + 0x0a, 0x20, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, + 0x55, 0x52, 0x43, 0x45, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x42, 0x4f, + 0x4f, 0x4c, 0x10, 0x06, 0x12, 0x2b, 0x0a, 0x27, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, + 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, + 0x41, 0x54, 0x45, 0x5f, 0x43, 0x41, 0x52, 0x44, 0x5f, 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x10, + 0x07, 0x12, 0x24, 0x0a, 0x20, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, + 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, + 0x5f, 0x43, 0x49, 0x54, 0x59, 0x10, 0x08, 0x12, 0x31, 0x0a, 0x2d, 0x54, 0x52, 0x41, 0x4e, 0x53, + 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x47, 0x45, + 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x31, 0x36, 0x34, 0x5f, 0x50, 0x48, 0x4f, 0x4e, + 0x45, 0x5f, 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x10, 0x09, 0x12, 0x2a, 0x0a, 0x26, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, - 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x42, 0x4f, 0x4f, 0x4c, 0x10, 0x06, - 0x12, 0x2b, 0x0a, 0x27, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, - 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, - 0x43, 0x41, 0x52, 0x44, 0x5f, 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x10, 0x07, 0x12, 0x24, 0x0a, - 0x20, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, - 0x52, 0x43, 0x45, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x49, 0x54, - 0x59, 0x10, 0x08, 0x12, 0x31, 0x0a, 0x2d, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, - 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, - 0x54, 0x45, 0x5f, 0x45, 0x31, 0x36, 0x34, 0x5f, 0x50, 0x48, 0x4f, 0x4e, 0x45, 0x5f, 0x4e, 0x55, - 0x4d, 0x42, 0x45, 0x52, 0x10, 0x09, 0x12, 0x2a, 0x0a, 0x26, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, + 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x5f, + 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x0a, 0x12, 0x27, 0x0a, 0x23, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x47, 0x45, 0x4e, - 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x5f, 0x4e, 0x41, 0x4d, 0x45, - 0x10, 0x0a, 0x12, 0x27, 0x0a, 0x23, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, - 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, - 0x45, 0x5f, 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x36, 0x34, 0x10, 0x0b, 0x12, 0x2c, 0x0a, 0x28, 0x54, + 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x36, 0x34, 0x10, 0x0b, 0x12, + 0x2c, 0x0a, 0x28, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, + 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x46, + 0x55, 0x4c, 0x4c, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x45, 0x53, 0x53, 0x10, 0x0c, 0x12, 0x29, 0x0a, + 0x25, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, + 0x52, 0x43, 0x45, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x55, 0x4c, + 0x4c, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x0d, 0x12, 0x26, 0x0a, 0x22, 0x54, 0x52, 0x41, 0x4e, + 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x47, + 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x47, 0x45, 0x4e, 0x44, 0x45, 0x52, 0x10, 0x0e, + 0x12, 0x32, 0x0a, 0x2e, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, + 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, + 0x49, 0x4e, 0x54, 0x36, 0x34, 0x5f, 0x50, 0x48, 0x4f, 0x4e, 0x45, 0x5f, 0x4e, 0x55, 0x4d, 0x42, + 0x45, 0x52, 0x10, 0x0f, 0x12, 0x25, 0x0a, 0x21, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, + 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, + 0x41, 0x54, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x36, 0x34, 0x10, 0x10, 0x12, 0x2c, 0x0a, 0x28, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, - 0x45, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x5f, - 0x41, 0x44, 0x44, 0x52, 0x45, 0x53, 0x53, 0x10, 0x0c, 0x12, 0x29, 0x0a, 0x25, 0x54, 0x52, 0x41, + 0x45, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x52, 0x41, 0x4e, 0x44, 0x4f, + 0x4d, 0x5f, 0x49, 0x4e, 0x54, 0x36, 0x34, 0x10, 0x11, 0x12, 0x29, 0x0a, 0x25, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, - 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x5f, 0x4e, 0x41, - 0x4d, 0x45, 0x10, 0x0d, 0x12, 0x26, 0x0a, 0x22, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, + 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x4c, 0x41, 0x53, 0x54, 0x5f, 0x4e, 0x41, + 0x4d, 0x45, 0x10, 0x12, 0x12, 0x2a, 0x0a, 0x26, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, - 0x41, 0x54, 0x45, 0x5f, 0x47, 0x45, 0x4e, 0x44, 0x45, 0x52, 0x10, 0x0e, 0x12, 0x32, 0x0a, 0x2e, - 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, - 0x43, 0x45, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x36, - 0x34, 0x5f, 0x50, 0x48, 0x4f, 0x4e, 0x45, 0x5f, 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x10, 0x0f, - 0x12, 0x25, 0x0a, 0x21, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, + 0x41, 0x54, 0x45, 0x5f, 0x53, 0x48, 0x41, 0x32, 0x35, 0x36, 0x48, 0x41, 0x53, 0x48, 0x10, 0x13, + 0x12, 0x23, 0x0a, 0x1f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, - 0x49, 0x4e, 0x54, 0x36, 0x34, 0x10, 0x10, 0x12, 0x2c, 0x0a, 0x28, 0x54, 0x52, 0x41, 0x4e, 0x53, - 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x47, 0x45, - 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x52, 0x41, 0x4e, 0x44, 0x4f, 0x4d, 0x5f, 0x49, 0x4e, - 0x54, 0x36, 0x34, 0x10, 0x11, 0x12, 0x29, 0x0a, 0x25, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, + 0x53, 0x53, 0x4e, 0x10, 0x14, 0x12, 0x25, 0x0a, 0x21, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x47, 0x45, 0x4e, 0x45, - 0x52, 0x41, 0x54, 0x45, 0x5f, 0x4c, 0x41, 0x53, 0x54, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x12, - 0x12, 0x2a, 0x0a, 0x26, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, - 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, - 0x53, 0x48, 0x41, 0x32, 0x35, 0x36, 0x48, 0x41, 0x53, 0x48, 0x10, 0x13, 0x12, 0x23, 0x0a, 0x1f, + 0x52, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0x15, 0x12, 0x2e, 0x0a, 0x2a, + 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, + 0x43, 0x45, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x45, + 0x45, 0x54, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x45, 0x53, 0x53, 0x10, 0x16, 0x12, 0x33, 0x0a, 0x2f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, - 0x43, 0x45, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x53, 0x4e, 0x10, - 0x14, 0x12, 0x25, 0x0a, 0x21, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, + 0x43, 0x45, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x49, + 0x4e, 0x47, 0x5f, 0x50, 0x48, 0x4f, 0x4e, 0x45, 0x5f, 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x10, + 0x17, 0x12, 0x26, 0x0a, 0x22, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, - 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0x15, 0x12, 0x2e, 0x0a, 0x2a, 0x54, 0x52, 0x41, 0x4e, - 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x47, - 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x45, 0x45, 0x54, 0x5f, 0x41, - 0x44, 0x44, 0x52, 0x45, 0x53, 0x53, 0x10, 0x16, 0x12, 0x33, 0x0a, 0x2f, 0x54, 0x52, 0x41, 0x4e, + 0x5f, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x18, 0x12, 0x2d, 0x0a, 0x29, 0x54, 0x52, 0x41, + 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, + 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x52, 0x41, 0x4e, 0x44, 0x4f, 0x4d, 0x5f, + 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x19, 0x12, 0x2d, 0x0a, 0x29, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x47, - 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x50, - 0x48, 0x4f, 0x4e, 0x45, 0x5f, 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x10, 0x17, 0x12, 0x26, 0x0a, - 0x22, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, - 0x52, 0x43, 0x45, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x52, - 0x49, 0x4e, 0x47, 0x10, 0x18, 0x12, 0x2d, 0x0a, 0x29, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, - 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x47, 0x45, 0x4e, 0x45, - 0x52, 0x41, 0x54, 0x45, 0x5f, 0x52, 0x41, 0x4e, 0x44, 0x4f, 0x4d, 0x5f, 0x53, 0x54, 0x52, 0x49, - 0x4e, 0x47, 0x10, 0x19, 0x12, 0x2d, 0x0a, 0x29, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, - 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, - 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x49, 0x58, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, - 0x50, 0x10, 0x1a, 0x12, 0x28, 0x0a, 0x24, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, - 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, - 0x54, 0x45, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x1b, 0x12, 0x2c, 0x0a, - 0x28, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, - 0x52, 0x43, 0x45, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x54, 0x43, - 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x10, 0x1c, 0x12, 0x24, 0x0a, 0x20, 0x54, - 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, - 0x45, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x55, 0x49, 0x44, 0x10, - 0x1d, 0x12, 0x27, 0x0a, 0x23, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, + 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x49, 0x58, 0x54, 0x49, 0x4d, 0x45, + 0x53, 0x54, 0x41, 0x4d, 0x50, 0x10, 0x1a, 0x12, 0x28, 0x0a, 0x24, 0x54, 0x52, 0x41, 0x4e, 0x53, + 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x47, 0x45, + 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x4e, 0x41, 0x4d, 0x45, 0x10, + 0x1b, 0x12, 0x2c, 0x0a, 0x28, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, - 0x5f, 0x5a, 0x49, 0x50, 0x43, 0x4f, 0x44, 0x45, 0x10, 0x1e, 0x12, 0x32, 0x0a, 0x2e, 0x54, 0x52, - 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, - 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x45, 0x31, 0x36, 0x34, 0x5f, - 0x50, 0x48, 0x4f, 0x4e, 0x45, 0x5f, 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x10, 0x1f, 0x12, 0x2b, - 0x0a, 0x27, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, - 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x46, - 0x49, 0x52, 0x53, 0x54, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x20, 0x12, 0x28, 0x0a, 0x24, 0x54, - 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, - 0x45, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x46, 0x4c, 0x4f, 0x41, - 0x54, 0x36, 0x34, 0x10, 0x21, 0x12, 0x2a, 0x0a, 0x26, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, + 0x5f, 0x55, 0x54, 0x43, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x10, 0x1c, 0x12, + 0x24, 0x0a, 0x20, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, + 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x55, + 0x55, 0x49, 0x44, 0x10, 0x1d, 0x12, 0x27, 0x0a, 0x23, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, + 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x47, 0x45, 0x4e, 0x45, + 0x52, 0x41, 0x54, 0x45, 0x5f, 0x5a, 0x49, 0x50, 0x43, 0x4f, 0x44, 0x45, 0x10, 0x1e, 0x12, 0x32, + 0x0a, 0x2e, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, + 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x45, + 0x31, 0x36, 0x34, 0x5f, 0x50, 0x48, 0x4f, 0x4e, 0x45, 0x5f, 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, + 0x10, 0x1f, 0x12, 0x2b, 0x0a, 0x27, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, + 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, + 0x52, 0x4d, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x20, 0x12, + 0x28, 0x0a, 0x24, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, + 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x5f, + 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x36, 0x34, 0x10, 0x21, 0x12, 0x2a, 0x0a, 0x26, 0x54, 0x52, 0x41, + 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, + 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x5f, 0x4e, + 0x41, 0x4d, 0x45, 0x10, 0x22, 0x12, 0x33, 0x0a, 0x2f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x52, 0x41, 0x4e, - 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x10, - 0x22, 0x12, 0x33, 0x0a, 0x2f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, - 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, - 0x4d, 0x5f, 0x49, 0x4e, 0x54, 0x36, 0x34, 0x5f, 0x50, 0x48, 0x4f, 0x4e, 0x45, 0x5f, 0x4e, 0x55, - 0x4d, 0x42, 0x45, 0x52, 0x10, 0x23, 0x12, 0x26, 0x0a, 0x22, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, - 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x52, 0x41, - 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x49, 0x4e, 0x54, 0x36, 0x34, 0x10, 0x24, 0x12, 0x2a, - 0x0a, 0x26, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, - 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x4c, - 0x41, 0x53, 0x54, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x25, 0x12, 0x2d, 0x0a, 0x29, 0x54, 0x52, + 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x49, 0x4e, 0x54, 0x36, 0x34, 0x5f, 0x50, 0x48, 0x4f, 0x4e, + 0x45, 0x5f, 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x10, 0x23, 0x12, 0x26, 0x0a, 0x22, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, - 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x50, 0x48, 0x4f, 0x4e, 0x45, - 0x5f, 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x10, 0x26, 0x12, 0x27, 0x0a, 0x23, 0x54, 0x52, 0x41, + 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x49, 0x4e, 0x54, 0x36, 0x34, + 0x10, 0x24, 0x12, 0x2a, 0x0a, 0x26, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, + 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, + 0x52, 0x4d, 0x5f, 0x4c, 0x41, 0x53, 0x54, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x25, 0x12, 0x2d, + 0x0a, 0x29, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, + 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x50, + 0x48, 0x4f, 0x4e, 0x45, 0x5f, 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x10, 0x26, 0x12, 0x27, 0x0a, + 0x23, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, + 0x52, 0x43, 0x45, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x53, 0x54, + 0x52, 0x49, 0x4e, 0x47, 0x10, 0x27, 0x12, 0x24, 0x0a, 0x20, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, + 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x47, 0x45, 0x4e, + 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x55, 0x4c, 0x4c, 0x10, 0x28, 0x12, 0x2b, 0x0a, 0x27, + 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, + 0x43, 0x45, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x41, 0x54, 0x45, + 0x47, 0x4f, 0x52, 0x49, 0x43, 0x41, 0x4c, 0x10, 0x2a, 0x12, 0x33, 0x0a, 0x2f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, - 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, - 0x10, 0x27, 0x12, 0x24, 0x0a, 0x20, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, + 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x43, 0x48, 0x41, 0x52, 0x41, 0x43, + 0x54, 0x45, 0x52, 0x5f, 0x53, 0x43, 0x52, 0x41, 0x4d, 0x42, 0x4c, 0x45, 0x10, 0x2b, 0x12, 0x23, + 0x0a, 0x1f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, + 0x55, 0x52, 0x43, 0x45, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, + 0x44, 0x10, 0x2c, 0x12, 0x2a, 0x0a, 0x26, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, + 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, + 0x54, 0x45, 0x5f, 0x4a, 0x41, 0x56, 0x41, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x10, 0x2d, 0x12, + 0x27, 0x0a, 0x23, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, + 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x43, + 0x4f, 0x55, 0x4e, 0x54, 0x52, 0x59, 0x10, 0x2e, 0x12, 0x29, 0x0a, 0x25, 0x54, 0x52, 0x41, 0x4e, + 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, + 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x50, 0x49, 0x49, 0x5f, 0x54, 0x45, 0x58, + 0x54, 0x10, 0x2f, 0x12, 0x2d, 0x0a, 0x29, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, + 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, + 0x54, 0x45, 0x5f, 0x42, 0x55, 0x53, 0x49, 0x4e, 0x45, 0x53, 0x53, 0x5f, 0x4e, 0x41, 0x4d, 0x45, + 0x10, 0x30, 0x12, 0x2a, 0x0a, 0x26, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, - 0x45, 0x5f, 0x4e, 0x55, 0x4c, 0x4c, 0x10, 0x28, 0x12, 0x2b, 0x0a, 0x27, 0x54, 0x52, 0x41, 0x4e, - 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x47, - 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x41, 0x54, 0x45, 0x47, 0x4f, 0x52, 0x49, - 0x43, 0x41, 0x4c, 0x10, 0x2a, 0x12, 0x33, 0x0a, 0x2f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, - 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x52, 0x41, 0x4e, - 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x43, 0x48, 0x41, 0x52, 0x41, 0x43, 0x54, 0x45, 0x52, 0x5f, - 0x53, 0x43, 0x52, 0x41, 0x4d, 0x42, 0x4c, 0x45, 0x10, 0x2b, 0x12, 0x23, 0x0a, 0x1f, 0x54, 0x52, - 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, - 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x2c, 0x12, - 0x2a, 0x0a, 0x26, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, - 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x4a, - 0x41, 0x56, 0x41, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x10, 0x2d, 0x12, 0x27, 0x0a, 0x23, 0x54, - 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, - 0x45, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, - 0x52, 0x59, 0x10, 0x2e, 0x12, 0x29, 0x0a, 0x25, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, - 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, - 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x50, 0x49, 0x49, 0x5f, 0x54, 0x45, 0x58, 0x54, 0x10, 0x2f, 0x12, - 0x2d, 0x0a, 0x29, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, - 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x42, - 0x55, 0x53, 0x49, 0x4e, 0x45, 0x53, 0x53, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x30, 0x12, 0x2a, - 0x0a, 0x26, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, - 0x55, 0x52, 0x43, 0x45, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x50, - 0x5f, 0x41, 0x44, 0x44, 0x52, 0x45, 0x53, 0x53, 0x10, 0x31, 0x12, 0x25, 0x0a, 0x21, 0x54, 0x52, - 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, - 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x55, 0x55, 0x49, 0x44, 0x10, - 0x32, 0x2a, 0xc4, 0x02, 0x0a, 0x13, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, - 0x72, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x21, 0x54, 0x52, 0x41, - 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, - 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, - 0x12, 0x20, 0x0a, 0x1c, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, - 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, - 0x10, 0x01, 0x12, 0x1f, 0x0a, 0x1b, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, - 0x52, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x36, - 0x34, 0x10, 0x02, 0x12, 0x21, 0x0a, 0x1d, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, - 0x45, 0x52, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x42, 0x4f, 0x4f, - 0x4c, 0x45, 0x41, 0x4e, 0x10, 0x03, 0x12, 0x21, 0x0a, 0x1d, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, + 0x45, 0x5f, 0x49, 0x50, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x45, 0x53, 0x53, 0x10, 0x31, 0x12, 0x25, + 0x0a, 0x21, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x53, 0x4f, + 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x55, + 0x55, 0x49, 0x44, 0x10, 0x32, 0x2a, 0xc4, 0x02, 0x0a, 0x13, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, + 0x21, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x44, 0x41, 0x54, + 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x20, 0x0a, 0x1c, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, + 0x4d, 0x45, 0x52, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x54, + 0x52, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x1f, 0x0a, 0x1b, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, - 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x36, 0x34, 0x10, 0x04, 0x12, 0x1e, 0x0a, 0x1a, 0x54, 0x52, 0x41, - 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, - 0x50, 0x45, 0x5f, 0x4e, 0x55, 0x4c, 0x4c, 0x10, 0x05, 0x12, 0x1d, 0x0a, 0x19, 0x54, 0x52, 0x41, - 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, - 0x50, 0x45, 0x5f, 0x41, 0x4e, 0x59, 0x10, 0x06, 0x12, 0x1e, 0x0a, 0x1a, 0x54, 0x52, 0x41, 0x4e, - 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, - 0x45, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x07, 0x12, 0x1e, 0x0a, 0x1a, 0x54, 0x52, 0x41, 0x4e, - 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, - 0x45, 0x5f, 0x55, 0x55, 0x49, 0x44, 0x10, 0x08, 0x2a, 0x74, 0x0a, 0x10, 0x53, 0x75, 0x70, 0x70, - 0x6f, 0x72, 0x74, 0x65, 0x64, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x1e, - 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x5f, 0x4a, 0x4f, 0x42, 0x5f, 0x54, 0x59, - 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, - 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x5f, 0x4a, 0x4f, - 0x42, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x59, 0x4e, 0x43, 0x10, 0x01, 0x12, 0x1f, 0x0a, - 0x1b, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x5f, 0x4a, 0x4f, 0x42, 0x5f, 0x54, - 0x59, 0x50, 0x45, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x10, 0x02, 0x2a, 0x7b, - 0x0a, 0x11, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x1f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, - 0x45, 0x4d, 0x41, 0x49, 0x4c, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, - 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x47, 0x45, 0x4e, 0x45, - 0x52, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x4d, 0x41, 0x49, 0x4c, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, - 0x55, 0x55, 0x49, 0x44, 0x5f, 0x56, 0x34, 0x10, 0x01, 0x12, 0x20, 0x0a, 0x1c, 0x47, 0x45, 0x4e, - 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x4d, 0x41, 0x49, 0x4c, 0x5f, 0x54, 0x59, 0x50, 0x45, - 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x02, 0x2a, 0xc3, 0x01, 0x0a, 0x12, - 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x20, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x45, 0x4d, - 0x41, 0x49, 0x4c, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, - 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x49, 0x4e, 0x56, 0x41, - 0x4c, 0x49, 0x44, 0x5f, 0x45, 0x4d, 0x41, 0x49, 0x4c, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, - 0x5f, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x10, 0x01, 0x12, 0x1d, 0x0a, 0x19, 0x49, 0x4e, 0x56, - 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x45, 0x4d, 0x41, 0x49, 0x4c, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, - 0x4e, 0x5f, 0x4e, 0x55, 0x4c, 0x4c, 0x10, 0x02, 0x12, 0x24, 0x0a, 0x20, 0x49, 0x4e, 0x56, 0x41, - 0x4c, 0x49, 0x44, 0x5f, 0x45, 0x4d, 0x41, 0x49, 0x4c, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, - 0x5f, 0x50, 0x41, 0x53, 0x53, 0x54, 0x48, 0x52, 0x4f, 0x55, 0x47, 0x48, 0x10, 0x03, 0x12, 0x21, - 0x0a, 0x1d, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x45, 0x4d, 0x41, 0x49, 0x4c, 0x5f, - 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x10, - 0x04, 0x2a, 0x8c, 0x03, 0x0a, 0x15, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x49, 0x70, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x24, 0x47, - 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x50, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x45, - 0x53, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x26, 0x0a, 0x22, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, - 0x45, 0x5f, 0x49, 0x50, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x59, 0x50, - 0x45, 0x5f, 0x56, 0x34, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x10, 0x01, 0x12, 0x29, 0x0a, - 0x25, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x50, 0x5f, 0x41, 0x44, 0x44, - 0x52, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x56, 0x34, 0x5f, 0x50, 0x52, 0x49, - 0x56, 0x41, 0x54, 0x45, 0x5f, 0x41, 0x10, 0x02, 0x12, 0x29, 0x0a, 0x25, 0x47, 0x45, 0x4e, 0x45, - 0x52, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x50, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x45, 0x53, 0x53, 0x5f, - 0x54, 0x59, 0x50, 0x45, 0x5f, 0x56, 0x34, 0x5f, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x5f, - 0x42, 0x10, 0x03, 0x12, 0x29, 0x0a, 0x25, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, + 0x49, 0x4e, 0x54, 0x36, 0x34, 0x10, 0x02, 0x12, 0x21, 0x0a, 0x1d, 0x54, 0x52, 0x41, 0x4e, 0x53, + 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, + 0x5f, 0x42, 0x4f, 0x4f, 0x4c, 0x45, 0x41, 0x4e, 0x10, 0x03, 0x12, 0x21, 0x0a, 0x1d, 0x54, 0x52, + 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x36, 0x34, 0x10, 0x04, 0x12, 0x1e, 0x0a, + 0x1a, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x44, 0x41, 0x54, + 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x55, 0x4c, 0x4c, 0x10, 0x05, 0x12, 0x1d, 0x0a, + 0x19, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x44, 0x41, 0x54, + 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x4e, 0x59, 0x10, 0x06, 0x12, 0x1e, 0x0a, 0x1a, + 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x44, 0x41, 0x54, 0x41, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x07, 0x12, 0x1e, 0x0a, 0x1a, + 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x52, 0x5f, 0x44, 0x41, 0x54, 0x41, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x55, 0x49, 0x44, 0x10, 0x08, 0x2a, 0x74, 0x0a, 0x10, + 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x22, 0x0a, 0x1e, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x5f, 0x4a, 0x4f, + 0x42, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, + 0x44, 0x5f, 0x4a, 0x4f, 0x42, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x59, 0x4e, 0x43, 0x10, + 0x01, 0x12, 0x1f, 0x0a, 0x1b, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x5f, 0x4a, + 0x4f, 0x42, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, + 0x10, 0x02, 0x2a, 0x7b, 0x0a, 0x11, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x45, 0x6d, + 0x61, 0x69, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x1f, 0x47, 0x45, 0x4e, 0x45, 0x52, + 0x41, 0x54, 0x45, 0x5f, 0x45, 0x4d, 0x41, 0x49, 0x4c, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, + 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, + 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x4d, 0x41, 0x49, 0x4c, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x55, 0x55, 0x49, 0x44, 0x5f, 0x56, 0x34, 0x10, 0x01, 0x12, 0x20, 0x0a, + 0x1c, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x4d, 0x41, 0x49, 0x4c, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x02, 0x2a, + 0xc3, 0x01, 0x0a, 0x12, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x45, 0x6d, 0x61, 0x69, 0x6c, + 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x20, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, + 0x44, 0x5f, 0x45, 0x4d, 0x41, 0x49, 0x4c, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, + 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, + 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x45, 0x4d, 0x41, 0x49, 0x4c, 0x5f, 0x41, 0x43, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x10, 0x01, 0x12, 0x1d, 0x0a, + 0x19, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x45, 0x4d, 0x41, 0x49, 0x4c, 0x5f, 0x41, + 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x55, 0x4c, 0x4c, 0x10, 0x02, 0x12, 0x24, 0x0a, 0x20, + 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x45, 0x4d, 0x41, 0x49, 0x4c, 0x5f, 0x41, 0x43, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x41, 0x53, 0x53, 0x54, 0x48, 0x52, 0x4f, 0x55, 0x47, 0x48, + 0x10, 0x03, 0x12, 0x21, 0x0a, 0x1d, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x45, 0x4d, + 0x41, 0x49, 0x4c, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, + 0x41, 0x54, 0x45, 0x10, 0x04, 0x2a, 0x8c, 0x03, 0x0a, 0x15, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x65, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x28, 0x0a, 0x24, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x50, 0x5f, 0x41, + 0x44, 0x44, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x26, 0x0a, 0x22, 0x47, 0x45, 0x4e, + 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x50, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x45, 0x53, 0x53, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x56, 0x34, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x10, + 0x01, 0x12, 0x29, 0x0a, 0x25, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x50, + 0x5f, 0x41, 0x44, 0x44, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x56, 0x34, + 0x5f, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x5f, 0x41, 0x10, 0x02, 0x12, 0x29, 0x0a, 0x25, + 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x50, 0x5f, 0x41, 0x44, 0x44, 0x52, + 0x45, 0x53, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x56, 0x34, 0x5f, 0x50, 0x52, 0x49, 0x56, + 0x41, 0x54, 0x45, 0x5f, 0x42, 0x10, 0x03, 0x12, 0x29, 0x0a, 0x25, 0x47, 0x45, 0x4e, 0x45, 0x52, + 0x41, 0x54, 0x45, 0x5f, 0x49, 0x50, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x56, 0x34, 0x5f, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x5f, 0x43, + 0x10, 0x04, 0x12, 0x2a, 0x0a, 0x26, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x49, + 0x50, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x56, + 0x34, 0x5f, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x10, 0x05, 0x12, 0x29, + 0x0a, 0x25, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x50, 0x5f, 0x41, 0x44, + 0x44, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x56, 0x34, 0x5f, 0x4d, 0x55, + 0x4c, 0x54, 0x49, 0x43, 0x41, 0x53, 0x54, 0x10, 0x06, 0x12, 0x28, 0x0a, 0x24, 0x47, 0x45, 0x4e, + 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x50, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x45, 0x53, 0x53, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x56, 0x34, 0x5f, 0x4c, 0x4f, 0x4f, 0x50, 0x42, 0x41, 0x43, + 0x4b, 0x10, 0x07, 0x12, 0x1f, 0x0a, 0x1b, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x50, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, - 0x56, 0x34, 0x5f, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x10, 0x04, 0x12, 0x2a, - 0x0a, 0x26, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x50, 0x5f, 0x41, 0x44, - 0x44, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x56, 0x34, 0x5f, 0x4c, 0x49, - 0x4e, 0x4b, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x10, 0x05, 0x12, 0x29, 0x0a, 0x25, 0x47, 0x45, - 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x50, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x45, 0x53, - 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x56, 0x34, 0x5f, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x43, - 0x41, 0x53, 0x54, 0x10, 0x06, 0x12, 0x28, 0x0a, 0x24, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, - 0x45, 0x5f, 0x49, 0x50, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x59, 0x50, - 0x45, 0x5f, 0x56, 0x34, 0x5f, 0x4c, 0x4f, 0x4f, 0x50, 0x42, 0x41, 0x43, 0x4b, 0x10, 0x07, 0x12, - 0x1f, 0x0a, 0x1b, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x50, 0x5f, 0x41, - 0x44, 0x44, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x56, 0x36, 0x10, 0x08, - 0x32, 0xd1, 0x0b, 0x0a, 0x13, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, - 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x74, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x53, - 0x79, 0x73, 0x74, 0x65, 0x6d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, - 0x73, 0x12, 0x2b, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x54, 0x72, 0x61, 0x6e, 0x73, - 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, - 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, - 0x65, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, - 0x6d, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x89, - 0x01, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x42, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, - 0x32, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, + 0x56, 0x36, 0x10, 0x08, 0x32, 0xdd, 0x0b, 0x0a, 0x13, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, + 0x72, 0x6d, 0x65, 0x72, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x77, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, - 0x72, 0x6d, 0x65, 0x72, 0x42, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x54, 0x72, 0x61, - 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x42, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x83, 0x01, 0x0a, 0x1a, 0x47, - 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x54, 0x72, 0x61, - 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x73, 0x12, 0x30, 0x2e, 0x6d, 0x67, 0x6d, 0x74, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, - 0x72, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, - 0x6d, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x6d, 0x67, - 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, - 0x73, 0x65, 0x72, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, - 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x8c, 0x01, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x44, 0x65, 0x66, 0x69, + 0x72, 0x6d, 0x65, 0x72, 0x73, 0x12, 0x2b, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x54, + 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x8c, 0x01, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x53, 0x79, 0x73, + 0x74, 0x65, 0x6d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x42, 0x79, + 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x32, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x42, 0x79, 0x53, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x6d, 0x67, 0x6d, + 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x79, + 0x73, 0x74, 0x65, 0x6d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x42, + 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x03, 0x90, 0x02, 0x01, 0x12, 0x86, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, + 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, + 0x65, 0x72, 0x73, 0x12, 0x30, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x44, 0x65, 0x66, 0x69, 0x6e, + 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x44, 0x65, 0x66, + 0x69, 0x6e, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x8f, 0x01, + 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, 0x12, + 0x33, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, + 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x42, 0x79, - 0x49, 0x64, 0x12, 0x33, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, - 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x44, - 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, - 0x72, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x89, 0x01, 0x0a, 0x1c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x12, 0x32, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, diff --git a/backend/gen/go/protos/mgmt/v1alpha1/user_account.pb.go b/backend/gen/go/protos/mgmt/v1alpha1/user_account.pb.go index 42ba877e05..7da1e70c1f 100644 --- a/backend/gen/go/protos/mgmt/v1alpha1/user_account.pb.go +++ b/backend/gen/go/protos/mgmt/v1alpha1/user_account.pb.go @@ -26,9 +26,12 @@ type UserAccountType int32 const ( UserAccountType_USER_ACCOUNT_TYPE_UNSPECIFIED UserAccountType = 0 - UserAccountType_USER_ACCOUNT_TYPE_PERSONAL UserAccountType = 1 - UserAccountType_USER_ACCOUNT_TYPE_TEAM UserAccountType = 2 - UserAccountType_USER_ACCOUNT_TYPE_ENTERPRISE UserAccountType = 3 + // A personal account is an account that is owned by a single user. + UserAccountType_USER_ACCOUNT_TYPE_PERSONAL UserAccountType = 1 + // A team account is an account that is owned by a team of users. + UserAccountType_USER_ACCOUNT_TYPE_TEAM UserAccountType = 2 + // An enterprise account is an account that is owned by an enterprise. + UserAccountType_USER_ACCOUNT_TYPE_ENTERPRISE UserAccountType = 3 ) // Enum value maps for UserAccountType. @@ -291,6 +294,7 @@ type GetUserResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The unique identifier of the user that was retrieved. UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` } @@ -372,6 +376,7 @@ type SetUserResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The unique identifier of the user that was created. UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` } @@ -453,6 +458,7 @@ type GetUserAccountsResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The list of accounts that the user belongs to. Accounts []*UserAccount `protobuf:"bytes,1,rep,name=accounts,proto3" json:"accounts,omitempty"` } @@ -727,6 +733,7 @@ type SetPersonalAccountResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The unique identifier of the personal account that was created. AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` } @@ -772,6 +779,7 @@ type IsUserInAccountRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The unique identifier of the account to check if the user is in. AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` } @@ -817,6 +825,7 @@ type IsUserInAccountResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // Whether or not the user is in the account. Ok bool `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"` } @@ -862,6 +871,7 @@ type GetAccountTemporalConfigRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The unique identifier of the account to get the temporal config for. AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` } @@ -907,6 +917,7 @@ type GetAccountTemporalConfigResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The temporal config for the account. Config *AccountTemporalConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` } @@ -952,8 +963,10 @@ type SetAccountTemporalConfigRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` - Config *AccountTemporalConfig `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"` + // The unique identifier of the account to set the temporal config for. + AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + // The temporal config to set for the account. + Config *AccountTemporalConfig `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"` } func (x *SetAccountTemporalConfigRequest) Reset() { @@ -1005,6 +1018,7 @@ type SetAccountTemporalConfigResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The temporal config that was set for the account. Config *AccountTemporalConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` } @@ -1050,8 +1064,11 @@ type AccountTemporalConfig struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"` - Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` + // The temporal url for the account. + Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"` + // The temporal namespace for the account. + Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` + // The temporal sync job queue name for the account. SyncJobQueueName string `protobuf:"bytes,3,opt,name=sync_job_queue_name,json=syncJobQueueName,proto3" json:"sync_job_queue_name,omitempty"` } @@ -1157,6 +1174,7 @@ type CreateTeamAccountResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The unique identifier of the team account that was created. AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` // If NeosyncCloud, will respond with a checkout session url so they can setup billing CheckoutSessionUrl *string `protobuf:"bytes,2,opt,name=checkout_session_url,json=checkoutSessionUrl,proto3,oneof" json:"checkout_session_url,omitempty"` @@ -1211,9 +1229,13 @@ type AccountUser struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + // The unique identifier of the user. + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // The name of the user (if there is one) + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + // The image of the user (if there is one) Image string `protobuf:"bytes,3,opt,name=image,proto3" json:"image,omitempty"` + // The email of the user. Email string `protobuf:"bytes,4,opt,name=email,proto3" json:"email,omitempty"` // The role of the user in the account. If RBAC is not enabled, will be unspecified. Role AccountRole `protobuf:"varint,5,opt,name=role,proto3,enum=mgmt.v1alpha1.AccountRole" json:"role,omitempty"` @@ -1289,6 +1311,7 @@ type GetTeamAccountMembersRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The unique identifier of the account to get the members for. AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` } @@ -1379,7 +1402,9 @@ type RemoveTeamAccountMemberRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + // The unique identifier of the user to remove from the account. + UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + // The unique identifier of the account to remove the user from. AccountId string `protobuf:"bytes,2,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` } @@ -1468,9 +1493,9 @@ type InviteUserToTeamAccountRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The account id to invite the user to + // The unique identifier of the account to invite the user to. AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` - // The email of the user to invite + // The email of the user to invite. Email string `protobuf:"bytes,2,opt,name=email,proto3" json:"email,omitempty"` // The role of the user to invite. Only used if RBAC is enabled. Role *AccountRole `protobuf:"varint,3,opt,name=role,proto3,enum=mgmt.v1alpha1.AccountRole,oneof" json:"role,omitempty"` @@ -1532,15 +1557,24 @@ type AccountInvite struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - AccountId string `protobuf:"bytes,2,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` - SenderUserId string `protobuf:"bytes,3,opt,name=sender_user_id,json=senderUserId,proto3" json:"sender_user_id,omitempty"` - Email string `protobuf:"bytes,4,opt,name=email,proto3" json:"email,omitempty"` - Token string `protobuf:"bytes,5,opt,name=token,proto3" json:"token,omitempty"` - Accepted bool `protobuf:"varint,6,opt,name=accepted,proto3" json:"accepted,omitempty"` - CreatedAt *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` - UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` - ExpiresAt *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"` + // The unique identifier of the invite. + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // The unique identifier of the account to invite the user to. + AccountId string `protobuf:"bytes,2,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + // The unique identifier of the user that sent the invite. + SenderUserId string `protobuf:"bytes,3,opt,name=sender_user_id,json=senderUserId,proto3" json:"sender_user_id,omitempty"` + // The email of the user to invite. + Email string `protobuf:"bytes,4,opt,name=email,proto3" json:"email,omitempty"` + // The token that the user will use to accept the invite. + Token string `protobuf:"bytes,5,opt,name=token,proto3" json:"token,omitempty"` + // Whether or not the invite has been accepted. + Accepted bool `protobuf:"varint,6,opt,name=accepted,proto3" json:"accepted,omitempty"` + // The time when the invite was created. + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + // The time when the invite was last updated. + UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + // The time when the invite expires. + ExpiresAt *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"` // The role of the user to invite. Only used if RBAC is enabled. Role AccountRole `protobuf:"varint,10,opt,name=role,proto3,enum=mgmt.v1alpha1.AccountRole" json:"role,omitempty"` } @@ -1650,6 +1684,7 @@ type InviteUserToTeamAccountResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The invite that was created. Invite *AccountInvite `protobuf:"bytes,1,opt,name=invite,proto3" json:"invite,omitempty"` } @@ -1695,6 +1730,7 @@ type GetTeamAccountInvitesRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The unique identifier of the account to get the invites for. AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` } @@ -1740,6 +1776,7 @@ type GetTeamAccountInvitesResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The list of invites for the account. Invites []*AccountInvite `protobuf:"bytes,1,rep,name=invites,proto3" json:"invites,omitempty"` } @@ -1785,6 +1822,7 @@ type RemoveTeamAccountInviteRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The unique identifier of the invite to remove. Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` } @@ -1866,6 +1904,7 @@ type AcceptTeamAccountInviteRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The token that the user will use to accept the invite. Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` } @@ -1911,6 +1950,7 @@ type AcceptTeamAccountInviteResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The account that the user was invited to. Account *UserAccount `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` } @@ -2147,6 +2187,7 @@ type GetAccountOnboardingConfigRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The unique identifier of the account to get the onboarding config for. AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` } @@ -2192,6 +2233,7 @@ type GetAccountOnboardingConfigResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The onboarding config for the account. Config *AccountOnboardingConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` } @@ -2237,8 +2279,10 @@ type SetAccountOnboardingConfigRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` - Config *AccountOnboardingConfig `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"` + // The unique identifier of the account to set the onboarding config for. + AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + // The onboarding config to set for the account. + Config *AccountOnboardingConfig `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"` } func (x *SetAccountOnboardingConfigRequest) Reset() { @@ -2290,6 +2334,7 @@ type SetAccountOnboardingConfigResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The onboarding config that was set for the account. Config *AccountOnboardingConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` } @@ -2335,6 +2380,7 @@ type AccountOnboardingConfig struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // Whether or not the account has completed onboarding. HasCompletedOnboarding bool `protobuf:"varint,5,opt,name=has_completed_onboarding,json=hasCompletedOnboarding,proto3" json:"has_completed_onboarding,omitempty"` } @@ -2380,6 +2426,7 @@ type GetAccountStatusRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The unique identifier of the account to get the status for. AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` } @@ -2490,6 +2537,7 @@ type IsAccountStatusValidRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The unique identifier of the account to get the status for. AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` // An optional count of records to be added to the current usage for validation. RequestedRecordCount *uint64 `protobuf:"varint,2,opt,name=requested_record_count,json=requestedRecordCount,proto3,oneof" json:"requested_record_count,omitempty"` @@ -2544,6 +2592,7 @@ type IsAccountStatusValidResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // Whether or not the account is valid. IsValid bool `protobuf:"varint,1,opt,name=is_valid,json=isValid,proto3" json:"is_valid,omitempty"` // If the account is not valid, a reason for why may be provided. Reason *string `protobuf:"bytes,2,opt,name=reason,proto3,oneof" json:"reason,omitempty"` @@ -2625,6 +2674,7 @@ type GetAccountBillingCheckoutSessionRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The unique identifier of the account to get the billing checkout session for. AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` } @@ -2716,6 +2766,7 @@ type GetAccountBillingPortalSessionRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The unique identifier of the account to get the billing portal session for. AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` } @@ -2853,6 +2904,7 @@ type GetBillingAccountsResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The list of accounts that have a billing id. Accounts []*UserAccount `protobuf:"bytes,1,rep,name=accounts,proto3" json:"accounts,omitempty"` } @@ -2898,7 +2950,7 @@ type SetBillingMeterEventRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The account id to apply this metered event to + // The unique identifier of the account to apply this metered event to. AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` // The metered event name EventName string `protobuf:"bytes,2,opt,name=event_name,json=eventName,proto3" json:"event_name,omitempty"` @@ -3016,11 +3068,11 @@ type SetUserRoleRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The account id to apply this role to + // The unique identifier of the account to apply this role to. AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` - // The user that this will be applied to + // The unique identifier of the user that this will be applied to. UserId string `protobuf:"bytes,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` - // The role that this user will obtain + // The role that this user will obtain. Role AccountRole `protobuf:"varint,3,opt,name=role,proto3,enum=mgmt.v1alpha1.AccountRole" json:"role,omitempty"` } @@ -3536,99 +3588,100 @@ var file_mgmt_v1alpha1_user_account_proto_rawDesc = []byte{ 0x12, 0x1b, 0x0a, 0x17, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x4a, 0x4f, 0x42, 0x5f, 0x56, 0x49, 0x45, 0x57, 0x45, 0x52, 0x10, 0x03, 0x12, 0x1d, 0x0a, 0x19, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x4a, 0x4f, - 0x42, 0x5f, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x4f, 0x52, 0x10, 0x04, 0x32, 0xf8, 0x16, 0x0a, + 0x42, 0x5f, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x4f, 0x52, 0x10, 0x04, 0x32, 0x91, 0x17, 0x0a, 0x12, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x12, 0x4a, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1d, + 0x69, 0x63, 0x65, 0x12, 0x4d, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1d, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, - 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x4a, 0x0a, 0x07, 0x53, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1d, 0x2e, 0x6d, 0x67, 0x6d, - 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x55, 0x73, - 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6d, 0x67, 0x6d, 0x74, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x55, 0x73, 0x65, - 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x62, 0x0a, 0x0f, 0x47, - 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x25, - 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, - 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x6b, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x28, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, + 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, + 0x02, 0x01, 0x12, 0x4a, 0x0a, 0x07, 0x53, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1d, 0x2e, + 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x65, + 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6d, + 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x74, + 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x65, + 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x73, 0x12, 0x25, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x6b, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x50, 0x65, 0x72, 0x73, + 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x28, 0x2e, 0x6d, 0x67, + 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x50, + 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, - 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x29, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, - 0x53, 0x65, 0x74, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x89, 0x01, 0x0a, - 0x1c, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, - 0x54, 0x6f, 0x54, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x32, 0x2e, - 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, - 0x6e, 0x76, 0x65, 0x72, 0x74, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x54, 0x6f, 0x54, - 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x33, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, - 0x6c, 0x54, 0x6f, 0x54, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x68, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x27, 0x2e, - 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x61, - 0x6d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x62, 0x0a, 0x0f, 0x49, 0x73, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x25, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x49, 0x73, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x6d, - 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x49, 0x73, 0x55, - 0x73, 0x65, 0x72, 0x49, 0x6e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7d, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, + 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x89, 0x01, 0x0a, 0x1c, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x50, 0x65, + 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x54, 0x6f, 0x54, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x32, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x50, 0x65, 0x72, 0x73, 0x6f, + 0x6e, 0x61, 0x6c, 0x54, 0x6f, 0x54, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x50, + 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x54, 0x6f, 0x54, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x68, + 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x27, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x6d, + 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x62, 0x0a, 0x0f, 0x49, 0x73, 0x55, 0x73, + 0x65, 0x72, 0x49, 0x6e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x25, 0x2e, 0x6d, 0x67, + 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x49, 0x73, 0x55, 0x73, + 0x65, 0x72, 0x49, 0x6e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x31, 0x2e, 0x49, 0x73, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x80, 0x01, 0x0a, + 0x18, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6f, + 0x72, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2e, 0x2e, 0x6d, 0x67, 0x6d, 0x74, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x12, 0x2e, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x65, 0x6d, - 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x65, 0x6d, - 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7d, 0x0a, 0x18, 0x53, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x12, 0x2e, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x31, 0x2e, 0x53, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x65, 0x6d, 0x70, - 0x6f, 0x72, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x2f, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x31, 0x2e, 0x53, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x65, 0x6d, 0x70, - 0x6f, 0x72, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x74, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x2b, 0x2e, - 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, - 0x74, 0x54, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x6d, 0x67, 0x6d, - 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x65, - 0x61, 0x6d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7a, 0x0a, 0x17, 0x52, 0x65, - 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2d, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x65, 0x61, 0x6d, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7a, 0x0a, 0x17, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, - 0x55, 0x73, 0x65, 0x72, 0x54, 0x6f, 0x54, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x2d, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x31, 0x2e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x54, 0x6f, 0x54, 0x65, - 0x61, 0x6d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2e, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, - 0x2e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x54, 0x6f, 0x54, 0x65, 0x61, - 0x6d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x74, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x12, 0x2b, 0x2e, 0x6d, 0x67, - 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, - 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, + 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x6d, 0x67, 0x6d, 0x74, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, + 0x7d, 0x0a, 0x18, 0x53, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x65, 0x6d, + 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2e, 0x2e, 0x6d, 0x67, + 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x6d, 0x67, + 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x77, + 0x0a, 0x15, 0x47, 0x65, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x2b, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x7a, 0x0a, 0x17, 0x52, 0x65, 0x6d, 0x6f, 0x76, + 0x65, 0x54, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x12, 0x2d, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2e, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x7a, 0x0a, 0x17, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x55, 0x73, 0x65, + 0x72, 0x54, 0x6f, 0x54, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2d, + 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x49, + 0x6e, 0x76, 0x69, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x54, 0x6f, 0x54, 0x65, 0x61, 0x6d, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, + 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x49, 0x6e, + 0x76, 0x69, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x54, 0x6f, 0x54, 0x65, 0x61, 0x6d, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x77, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x12, 0x2b, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7a, 0x0a, 0x17, 0x52, 0x65, 0x6d, 0x6f, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x7a, 0x0a, 0x17, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x2d, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x41, 0x63, @@ -3651,7 +3704,7 @@ var file_mgmt_v1alpha1_user_account_proto_rawDesc = []byte{ 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x83, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x41, 0x63, + 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x86, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x6e, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x30, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, @@ -3659,81 +3712,82 @@ var file_mgmt_v1alpha1_user_account_proto_rawDesc = []byte{ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x6e, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x83, 0x01, 0x0a, - 0x1a, 0x53, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x6e, 0x62, 0x6f, 0x61, - 0x72, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x30, 0x2e, 0x6d, 0x67, - 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x6e, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, - 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x65, - 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x6e, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x69, - 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x68, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x26, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, - 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, - 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x74, 0x0a, 0x14, - 0x49, 0x73, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x56, - 0x61, 0x6c, 0x69, 0x64, 0x12, 0x2a, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x31, 0x2e, 0x49, 0x73, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2b, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, - 0x2e, 0x49, 0x73, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x56, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, - 0x02, 0x01, 0x12, 0x95, 0x01, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, - 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, - 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x37, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, - 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, - 0x67, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8f, 0x01, 0x0a, 0x1e, 0x47, - 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, - 0x50, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x2e, - 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, - 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x50, - 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, + 0x83, 0x01, 0x0a, 0x1a, 0x53, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x6e, + 0x62, 0x6f, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x30, + 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, + 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x6e, 0x62, 0x6f, 0x61, 0x72, 0x64, + 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x31, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, + 0x2e, 0x53, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x6e, 0x62, 0x6f, 0x61, + 0x72, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x68, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x26, 0x2e, 0x6d, 0x67, 0x6d, 0x74, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x27, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, + 0x74, 0x0a, 0x14, 0x49, 0x73, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x12, 0x2a, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x49, 0x73, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x31, 0x2e, 0x49, 0x73, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x98, 0x01, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x65, 0x63, 0x6b, + 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x2e, 0x6d, 0x67, 0x6d, + 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x65, 0x63, + 0x6b, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x69, 0x6c, + 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, + 0x12, 0x92, 0x01, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, + 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x53, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x53, 0x65, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6e, 0x0a, 0x12, - 0x47, 0x65, 0x74, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x73, 0x12, 0x28, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x6d, - 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, - 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x71, 0x0a, 0x14, - 0x53, 0x65, 0x74, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x65, 0x72, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x12, 0x2a, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x4d, - 0x65, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2b, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, - 0x2e, 0x53, 0x65, 0x74, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x65, 0x72, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x56, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x21, - 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, - 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x22, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x31, 0x2e, 0x53, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0xcc, 0x01, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x2e, - 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x42, 0x10, 0x55, - 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, - 0x01, 0x5a, 0x50, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6e, 0x75, - 0x63, 0x6c, 0x65, 0x75, 0x73, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x6e, 0x65, 0x6f, 0x73, 0x79, - 0x6e, 0x63, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x67, - 0x6f, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x6d, 0x67, 0x6d, 0x74, 0x2f, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x3b, 0x6d, 0x67, 0x6d, 0x74, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x4d, 0x58, 0x58, 0xaa, 0x02, 0x0d, 0x4d, 0x67, 0x6d, 0x74, - 0x2e, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xca, 0x02, 0x0d, 0x4d, 0x67, 0x6d, 0x74, - 0x5c, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xe2, 0x02, 0x19, 0x4d, 0x67, 0x6d, 0x74, - 0x5c, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0e, 0x4d, 0x67, 0x6d, 0x74, 0x3a, 0x3a, 0x56, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x6d, 0x67, 0x6d, 0x74, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x72, 0x74, 0x61, + 0x6c, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x6e, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x42, 0x69, 0x6c, 0x6c, + 0x69, 0x6e, 0x67, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x28, 0x2e, 0x6d, 0x67, + 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x42, + 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x71, 0x0a, 0x14, 0x53, 0x65, 0x74, 0x42, 0x69, 0x6c, 0x6c, + 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x2a, 0x2e, + 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x65, + 0x74, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x6d, 0x67, 0x6d, 0x74, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x42, 0x69, 0x6c, + 0x6c, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x56, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x55, + 0x73, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x21, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, + 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x6d, 0x67, 0x6d, + 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x55, 0x73, + 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x42, 0xcc, 0x01, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x42, 0x10, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x50, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6e, 0x75, 0x63, 0x6c, 0x65, 0x75, 0x73, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2f, 0x6e, 0x65, 0x6f, 0x73, 0x79, 0x6e, 0x63, 0x2f, 0x62, 0x61, 0x63, 0x6b, + 0x65, 0x6e, 0x64, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x67, 0x6f, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x73, 0x2f, 0x6d, 0x67, 0x6d, 0x74, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x3b, + 0x6d, 0x67, 0x6d, 0x74, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x4d, + 0x58, 0x58, 0xaa, 0x02, 0x0d, 0x4d, 0x67, 0x6d, 0x74, 0x2e, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x31, 0xca, 0x02, 0x0d, 0x4d, 0x67, 0x6d, 0x74, 0x5c, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x31, 0xe2, 0x02, 0x19, 0x4d, 0x67, 0x6d, 0x74, 0x5c, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, + 0x0e, 0x4d, 0x67, 0x6d, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/backend/internal/dtomaps/transformers.go b/backend/internal/dtomaps/transformers.go index f9d354c57d..440a35733a 100644 --- a/backend/internal/dtomaps/transformers.go +++ b/backend/internal/dtomaps/transformers.go @@ -26,7 +26,7 @@ func ToUserDefinedTransformerDto( Name: input.Name, Description: input.Description, Source: source, - DataType: transformer.DataType, + DataType: transformer.DataType, //nolint:staticcheck DataTypes: transformer.DataTypes, Config: input.TransformerConfig.ToTransformerConfigDto(), CreatedAt: timestamppb.New(input.CreatedAt.Time), diff --git a/backend/protos/mgmt/v1alpha1/anonymization.proto b/backend/protos/mgmt/v1alpha1/anonymization.proto index 822c69c498..7833427e56 100644 --- a/backend/protos/mgmt/v1alpha1/anonymization.proto +++ b/backend/protos/mgmt/v1alpha1/anonymization.proto @@ -43,11 +43,11 @@ message TransformerMapping { } message DefaultTransformersConfig { - // Boolean + // Any identified boolean value will be transformed using this configuration if no mapping is found. TransformerConfig boolean = 2; - // Number + // Any identified number value will be transformed using this configuration if no mapping is found. TransformerConfig n = 3; - // String + // Any identified string value will be transformed using this configuration if no mapping is found. TransformerConfig s = 4; } @@ -76,8 +76,9 @@ message AnonymizeSingleResponse { string output_data = 1; } +// Service that transactionally anonymizes data, regardless of the connection type. service AnonymizationService { - // Anonymizes many JSON strings by applying specified transformation mappings. + // Anonymizes many JSON strings by applying specified transformation mappings. This is the bulk version of the `AnonymizeSingle` method. rpc AnonymizeMany(AnonymizeManyRequest) returns (AnonymizeManyResponse) {} // Anonymizes a single JSON strings by applying specified transformation mappings. rpc AnonymizeSingle(AnonymizeSingleRequest) returns (AnonymizeSingleResponse) {} diff --git a/backend/protos/mgmt/v1alpha1/api_key.proto b/backend/protos/mgmt/v1alpha1/api_key.proto index fa0a76d8b8..11f32d5531 100644 --- a/backend/protos/mgmt/v1alpha1/api_key.proto +++ b/backend/protos/mgmt/v1alpha1/api_key.proto @@ -6,7 +6,9 @@ import "buf/validate/validate.proto"; import "google/protobuf/timestamp.proto"; message CreateAccountApiKeyRequest { + // The unique identifier of the account to create the API key for. string account_id = 1 [(buf.validate.field).string.uuid = true]; + // The friendly name of the API key string name = 2 [(buf.validate.field).string.pattern = "^[a-z0-9-]{3,100}$"]; // Validate between now and one year: now < x < 365 days google.protobuf.Timestamp expires_at = 3 [ @@ -16,40 +18,53 @@ message CreateAccountApiKeyRequest { ]; } message CreateAccountApiKeyResponse { + // The created API key AccountApiKey api_key = 1; } message AccountApiKey { + // The unique identifier of the API key string id = 1; // The friendly name of the API Key string name = 2; + // The unique identifier of the account that the API key belongs to string account_id = 3; + // The unique identifier of the user that created the API key string created_by_id = 4; + // The timestamp of when the API key was created google.protobuf.Timestamp created_at = 5; + // The unique identifier of the user that last updated the API key string updated_by_id = 6; + // The timestamp of when the API key was last updated google.protobuf.Timestamp updated_at = 7; // key_value is only returned on initial creation or when it is regenerated optional string key_value = 8; + // The unique identifier of the user that the API key belongs to (Each API Key is associated with its own user record to identify what the API key does in the system) string user_id = 9; // The timestamp of what the API key expires and will not longer be usable. google.protobuf.Timestamp expires_at = 10; } message GetAccountApiKeysRequest { + // The unique identifier of the account to get the API keys for. string account_id = 1 [(buf.validate.field).string.uuid = true]; } message GetAccountApiKeysResponse { + // The list of API keys for the account. repeated AccountApiKey api_keys = 1; } message GetAccountApiKeyRequest { + // The unique identifier of the API key to get. string id = 1 [(buf.validate.field).string.uuid = true]; } message GetAccountApiKeyResponse { + // The API key that was retrieved. AccountApiKey api_key = 1; } message RegenerateAccountApiKeyRequest { + // The unique identifier of the API key to regenerate. string id = 1 [(buf.validate.field).string.uuid = true]; // Validate between now and one year: now < x < 365 days google.protobuf.Timestamp expires_at = 2 [ @@ -59,10 +74,12 @@ message RegenerateAccountApiKeyRequest { ]; } message RegenerateAccountApiKeyResponse { + // The regenerated API key AccountApiKey api_key = 1; } message DeleteAccountApiKeyRequest { + // The unique identifier of the API key to delete. string id = 1 [(buf.validate.field).string.uuid = true]; } message DeleteAccountApiKeyResponse {} @@ -70,9 +87,13 @@ message DeleteAccountApiKeyResponse {} // Service that manages the lifecycle of API Keys that are associated with a specific Account. service ApiKeyService { // Retrieves a list of Account API Keys - rpc GetAccountApiKeys(GetAccountApiKeysRequest) returns (GetAccountApiKeysResponse) {} + rpc GetAccountApiKeys(GetAccountApiKeysRequest) returns (GetAccountApiKeysResponse) { + option idempotency_level = NO_SIDE_EFFECTS; + } // Retrieves a single API Key - rpc GetAccountApiKey(GetAccountApiKeyRequest) returns (GetAccountApiKeyResponse) {} + rpc GetAccountApiKey(GetAccountApiKeyRequest) returns (GetAccountApiKeyResponse) { + option idempotency_level = NO_SIDE_EFFECTS; + } // Creates a single API Key // This method will return the decrypted contents of the API key rpc CreateAccountApiKey(CreateAccountApiKeyRequest) returns (CreateAccountApiKeyResponse) {} diff --git a/backend/protos/mgmt/v1alpha1/auth.proto b/backend/protos/mgmt/v1alpha1/auth.proto index 7ec05cb274..50c666c44e 100644 --- a/backend/protos/mgmt/v1alpha1/auth.proto +++ b/backend/protos/mgmt/v1alpha1/auth.proto @@ -76,9 +76,13 @@ service AuthService { rpc CheckToken(CheckTokenRequest) returns (CheckTokenResponse) {} // Used by the CLI to retrieve an Authorize URL for use with OAuth login. - rpc GetAuthorizeUrl(GetAuthorizeUrlRequest) returns (GetAuthorizeUrlResponse) {} + rpc GetAuthorizeUrl(GetAuthorizeUrlRequest) returns (GetAuthorizeUrlResponse) { + option idempotency_level = NO_SIDE_EFFECTS; + } // Returns the auth status of the API server. Whether or not the backend has authentication enabled. // This is used by clients to make decisions on whether or not they should send access tokens to the API. - rpc GetAuthStatus(GetAuthStatusRequest) returns (GetAuthStatusResponse) {} + rpc GetAuthStatus(GetAuthStatusRequest) returns (GetAuthStatusResponse) { + option idempotency_level = NO_SIDE_EFFECTS; + } } diff --git a/backend/protos/mgmt/v1alpha1/connection.proto b/backend/protos/mgmt/v1alpha1/connection.proto index 0eb9979e3e..f5daf3c7c8 100644 --- a/backend/protos/mgmt/v1alpha1/connection.proto +++ b/backend/protos/mgmt/v1alpha1/connection.proto @@ -6,45 +6,57 @@ import "buf/validate/validate.proto"; import "google/protobuf/timestamp.proto"; message GetConnectionsRequest { + // The unique identifier of the account to get connections for string account_id = 1 [(buf.validate.field).string.uuid = true]; } message GetConnectionsResponse { + // The connections repeated Connection connections = 1; } message GetConnectionRequest { + // The unique identifier of the connection to get string id = 1 [(buf.validate.field).string.uuid = true]; } message GetConnectionResponse { + // The connection Connection connection = 1; } message CreateConnectionRequest { + // The unique identifier of the account to create the connection for string account_id = 1 [(buf.validate.field).string.uuid = true]; // The friendly name of the connection string name = 2 [(buf.validate.field).string.pattern = "^[a-z0-9-]{3,100}$"]; - + // The connection configuration to use for the connection ConnectionConfig connection_config = 3; } message CreateConnectionResponse { + // The created connection Connection connection = 1; } message UpdateConnectionRequest { + // The unique identifier of the connection to update string id = 1 [(buf.validate.field).string.uuid = true]; + // The friendly name of the connection string name = 2 [(buf.validate.field).string.pattern = "^[a-z0-9-]{3,100}$"]; + // The connection configuration to use for the connection ConnectionConfig connection_config = 3; } message UpdateConnectionResponse { + // The updated connection Connection connection = 1; } message DeleteConnectionRequest { + // The unique identifier of the connection to delete string id = 1 [(buf.validate.field).string.uuid = true]; } message DeleteConnectionResponse {} message CheckConnectionConfigRequest { + // The connection configuration to validate ConnectionConfig connection_config = 1; } @@ -139,6 +151,7 @@ message MssqlConnectionConfig { string url_from_env = 5; } + // Provide connection options that can be used to further fine-tune the connection SqlConnectionOptions connection_options = 2; // Provide tunnel configuration that can be used to access a postgres connection that is not publicly accessible to the internet @@ -176,7 +189,7 @@ message MongoConnectionConfig { message OpenAiConnectionConfig { // OpenAI Api Key string api_key = 1; - // OpenAI URL + // OpenAI URL (if using a custom endpoint) string api_url = 2; } @@ -191,7 +204,9 @@ message PostgresConnectionConfig { oneof connection_config { option (buf.validate.oneof).required = true; + // A raw string url that will be used to construct the connection. Must be URI format. string url = 1; + // A structured representation of the connection that will be used to construct the url PostgresConnection connection = 2; // Source a url from an environment variable. // The value is expected to be in the same format as the "url" field above. @@ -201,6 +216,7 @@ message PostgresConnectionConfig { // Provide tunnel configuration that can be used to access a postgres connection that is not publicly accessible to the internet SSHTunnel tunnel = 3; + // Provide connection options that can be used to further fine-tune the connection SqlConnectionOptions connection_options = 4; // Provide client-side TLS Certificates ClientTlsConfig client_tls = 5; @@ -263,7 +279,9 @@ message SSHAuthentication { oneof auth_config { option (buf.validate.oneof).required = true; + // Password authentication SSHPassphrase passphrase = 1; + // Private key authentication SSHPrivateKey private_key = 2; } } @@ -284,20 +302,32 @@ message SSHPrivateKey { } message PostgresConnection { + // The host to use for the connection string host = 1; + // The port to use for the connection int32 port = 2; + // The name of the database to use for the connection string name = 3; + // The user to use for the connection string user = 4; + // The password to use for the connection string pass = 5; + // The SSL mode to use for the connection optional string ssl_mode = 6; } message MysqlConnection { + // The user to use for the connection string user = 1; + // The password to use for the connection string pass = 2; + // The protocol to use for the connection string protocol = 3; + // The host to use for the connection string host = 4; + // The port to use for the connection int32 port = 5; + // The name of the database to use for the connection string name = 6; } @@ -306,7 +336,9 @@ message MysqlConnectionConfig { oneof connection_config { option (buf.validate.oneof).required = true; + // A raw string url that will be used to construct the connection. DSN format. URI format also supported but more limited. string url = 1; + // A structured representation of the connection that will be used to construct the url MysqlConnection connection = 2; // Source a url from an environment variable. // The value is expected to be in the same format as the "url" field above. @@ -316,6 +348,7 @@ message MysqlConnectionConfig { // Provide tunnel configuration that can be used to access a postgres connection that is not publicly accessible to the internet SSHTunnel tunnel = 3; + // Provide connection options that can be used to further fine-tune the connection SqlConnectionOptions connection_options = 4; // Provide client-side TLS Certificates ClientTlsConfig client_tls = 5; @@ -323,22 +356,34 @@ message MysqlConnectionConfig { message AwsS3ConnectionConfig { reserved 1; // Was: string bucket_arn = 1 [deprecated = true]; + // The bucket path prefix that will be appended to each file optional string path_prefix = 2; + // The credentials to use for the S3 bucket optional AwsS3Credentials credentials = 3; + // The region of the S3 bucket optional string region = 4; + // The endpoint of the S3 bucket (if using a custom endpoint like region specific endpoints or S3-compatible APIs) optional string endpoint = 5; + // The name of the S3 bucket string bucket = 6 [(buf.validate.field).string.min_len = 1]; } // S3 Credentials that are used by the worker process. // Note: this may be optionally provided if the worker that is being hosted has environment credentials to the S3 bucket instead. message AwsS3Credentials { + // The profile to use for the S3 credentials optional string profile = 1; + // The access key id to use for the S3 credentials optional string access_key_id = 2; + // The secret access key to use for the S3 credentials optional string secret_access_key = 3; + // The session token to use for the S3 credentials optional string session_token = 4; + // Whether or not the credentials are from an EC2 role optional bool from_ec2_role = 5; + // The ARN of the role to use for the S3 credentials optional string role_arn = 6; + // The role's external ID to use for the S3 credentials optional string role_external_id = 7; } @@ -354,11 +399,14 @@ message GcpCloudStorageConnectionConfig { } message IsConnectionNameAvailableRequest { + // The unique identifier of the account to check the connection name for string account_id = 1 [(buf.validate.field).string.uuid = true]; + // The connection name to check for availability string connection_name = 2 [(buf.validate.field).string.pattern = "^[a-z0-9-]{3,100}$"]; } message IsConnectionNameAvailableResponse { + // Whether or not the connection name is available bool is_available = 1; } @@ -379,9 +427,13 @@ message CheckSqlQueryResponse { // This is a primary data model in Neosync and is used in reference when hooking up Jobs to synchronize and generate data. service ConnectionService { // Returns a list of connections associated with the account - rpc GetConnections(GetConnectionsRequest) returns (GetConnectionsResponse) {} + rpc GetConnections(GetConnectionsRequest) returns (GetConnectionsResponse) { + option idempotency_level = NO_SIDE_EFFECTS; + } // Returns a single connection - rpc GetConnection(GetConnectionRequest) returns (GetConnectionResponse) {} + rpc GetConnection(GetConnectionRequest) returns (GetConnectionResponse) { + option idempotency_level = NO_SIDE_EFFECTS; + } // Creates a new connection rpc CreateConnection(CreateConnectionRequest) returns (CreateConnectionResponse) {} // Updates an existing connection diff --git a/backend/protos/mgmt/v1alpha1/connection_data.proto b/backend/protos/mgmt/v1alpha1/connection_data.proto index 7591aa960a..e9cd9f1aaf 100644 --- a/backend/protos/mgmt/v1alpha1/connection_data.proto +++ b/backend/protos/mgmt/v1alpha1/connection_data.proto @@ -10,13 +10,17 @@ message MysqlStreamConfig {} message AwsDynamoDBStreamConfig {} message AwsS3StreamConfig { oneof id { + // The unique identifier of the job to get the data stream for. string job_id = 1 [(buf.validate.field).string.uuid = true]; + // The unique identifier of the job run to get the data stream for. string job_run_id = 2 [(buf.validate.field).string.min_len = 1]; } } message GcpCloudStorageStreamConfig { oneof id { + // The unique identifier of the job to get the data stream for. string job_id = 1 [(buf.validate.field).string.uuid = true]; + // The unique identifier of the job run to get the data stream for. string job_run_id = 2 [(buf.validate.field).string.min_len = 1]; } } @@ -34,9 +38,13 @@ message ConnectionStreamConfig { } message GetConnectionDataStreamRequest { + // The unique identifier of the connection to get the data stream for. string connection_id = 1 [(buf.validate.field).string.uuid = true]; + // The stream configuration to use for the data stream. ConnectionStreamConfig stream_config = 2; + // The schema of the table to get the data stream for. string schema = 3; + // The table to get the data stream for. string table = 4; } @@ -52,7 +60,9 @@ message MysqlSchemaConfig {} message MssqlSchemaConfig {} message AwsS3SchemaConfig { oneof id { + // The unique identifier of the job to get the schema for. string job_id = 1 [(buf.validate.field).string.uuid = true]; + // The unique identifier of the job run to get the schema for. string job_run_id = 2 [(buf.validate.field).string.min_len = 1]; } } @@ -60,7 +70,9 @@ message MongoSchemaConfig {} message DynamoDBSchemaConfig {} message GcpCloudStorageSchemaConfig { oneof id { + // The unique identifier of the job to get the schema for. string job_id = 1 [(buf.validate.field).string.uuid = true]; + // The unique identifier of the job run to get the schema for. string job_run_id = 2 [(buf.validate.field).string.min_len = 1]; } } @@ -100,16 +112,21 @@ message DatabaseColumn { } message GetConnectionSchemaRequest { + // The unique identifier of the connection to get the schema for. string connection_id = 1 [(buf.validate.field).string.uuid = true]; + // The schema configuration to use for the schema map. ConnectionSchemaConfig schema_config = 2; } message GetConnectionSchemaResponse { + // The list of database columns repeated DatabaseColumn schemas = 1; } message GetConnectionSchemaMapRequest { + // The unique identifier of the connection to get the schema map for. string connection_id = 1 [(buf.validate.field).string.uuid = true]; + // The schema configuration to use for the schema map. ConnectionSchemaConfig schema_config = 2; } @@ -131,69 +148,93 @@ message GetConnectionSchemaMapsResponse { } message ForeignKey { + // The table that the foreign key is associated with string table = 1; reserved 2; // Was: string column = 2; + // The columns that are part of the foreign key repeated string columns = 3; } message ForeignConstraint { reserved 1; // Was: string column = 1; reserved 2; // Was: bool is_nullable = 2; + // The foreign key that is associated with the constraint ForeignKey foreign_key = 3; + // The columns that are part of the constraint repeated string columns = 4; + // The not nullable flag for each column repeated bool not_nullable = 5; } message ForeignConstraintTables { + // A list of foreign key constraints repeated ForeignConstraint constraints = 1; } message InitStatementOptions { + // Whether or not to generate schema init statements. bool init_schema = 1; + // Whether or not to generate truncation statements bool truncate_before_insert = 2; + // Whether or not to generate truncate cascade statements. bool truncate_cascade = 3; } message GetConnectionInitStatementsRequest { + // The unique identifier of the connection to get the init statements for. string connection_id = 1 [(buf.validate.field).string.uuid = true]; + // The options to use for the init statements. InitStatementOptions options = 2; } message SchemaInitStatements { + // A friendly label associated with the generated schema init statement(s) string label = 1; + // A list of SQL statements that may be used to initialize a database from scratch. repeated string statements = 2; } // Init statement for a specific table message GetConnectionInitStatementsResponse { - // the key here is .
and value is the table init statement. + // The key here is .
and value is the table init statement. map table_init_statements = 1; - // the key here is .
and value is the table truncate statement. + // The key here is .
and value is the table truncate statement. map table_truncate_statements = 2; + // A list of schema initialization statements repeated SchemaInitStatements schema_init_statements = 3; } message PrimaryConstraint { + // The columns that are part of the primary constraint repeated string columns = 1; } message UniqueConstraint { + // The columns that are part of the unique constraint repeated string columns = 1; } message GetAiGeneratedDataRequest { + // The unique identifier of a connection, specifically one that is configured for LLM use. string ai_connection_id = 1 [(buf.validate.field).string.uuid = true]; + // The number of records to generate int64 count = 2 [ (buf.validate.field).int64.gte = 1, (buf.validate.field).int64.lte = 10 ]; + // The LLM model name to use that works with the configured connection id. string model_name = 3 [(buf.validate.field).string.min_len = 1]; + // The prompt that will be used to further refine the data generation. This is appended to the prompt that Neosync generates that includes schema information. optional string user_prompt = 4; + // The unique identifier of a connection that the AI generated data would be inserted into. This is used to generate and send schema information to the LLM to help shape the generated data. string data_connection_id = 5 [(buf.validate.field).string.uuid = true]; + // The table to generate data for. DatabaseTable table = 6; } message DatabaseTable { + // The schema of the table string schema = 1 [(buf.validate.field).string.min_len = 1]; + // The table name string table = 2 [(buf.validate.field).string.min_len = 1]; } @@ -203,10 +244,12 @@ message GetAiGeneratedDataResponse { } message GetConnectionTableConstraintsRequest { + // The unique identifier of the connection to get the constraints for. string connection_id = 1 [(buf.validate.field).string.uuid = true]; } message UniqueConstraints { + // The unique constraints found for the table repeated UniqueConstraint constraints = 1; } @@ -220,13 +263,18 @@ message GetConnectionTableConstraintsResponse { } message GetTableRowCountRequest { - string connection_id = 1; - string schema = 2; - string table = 3; + // The unique identifier of the connection to get the row count for. + string connection_id = 1 [(buf.validate.field).string.uuid = true]; + // The schema of the table to get the row count for. + string schema = 2 [(buf.validate.field).string.min_len = 1]; + // The table to get the row count for. + string table = 3 [(buf.validate.field).string.min_len = 1]; + // The optional where clause to filter the rows by. optional string where_clause = 4; } message GetTableRowCountResponse { + // The count of the rows in the table int64 count = 1; } @@ -250,5 +298,7 @@ service ConnectionDataService { // Query an AI connection by providing the necessary values. Typically used for generating preview data rpc GetAiGeneratedData(GetAiGeneratedDataRequest) returns (GetAiGeneratedDataResponse) {} // Query table with subset to get row count - rpc GetTableRowCount(GetTableRowCountRequest) returns (GetTableRowCountResponse) {} + rpc GetTableRowCount(GetTableRowCountRequest) returns (GetTableRowCountResponse) { + option idempotency_level = NO_SIDE_EFFECTS; + } } diff --git a/backend/protos/mgmt/v1alpha1/job.proto b/backend/protos/mgmt/v1alpha1/job.proto index a8ab81a1ce..d816470343 100644 --- a/backend/protos/mgmt/v1alpha1/job.proto +++ b/backend/protos/mgmt/v1alpha1/job.proto @@ -7,13 +7,16 @@ import "google/protobuf/timestamp.proto"; import "mgmt/v1alpha1/transformer.proto"; message GetJobsRequest { + // The unique identifier of the account to get jobs for string account_id = 1 [(buf.validate.field).string.uuid = true]; } message GetJobsResponse { + // The list of jobs repeated Job jobs = 1; } message JobSource { + // The source options to use for the job JobSourceOptions options = 1 [(buf.validate.field).required = true]; } @@ -32,13 +35,18 @@ message JobSourceOptions { } message CreateJobDestination { + // The connection id to use for the job destination string connection_id = 1 [(buf.validate.field).string.uuid = true]; + // The destination options to use for the job destination JobDestinationOptions options = 2; } message JobDestination { - string connection_id = 1; + // The connection id to use for the job destination + string connection_id = 1 [(buf.validate.field).string.uuid = true]; + // The destination options to use for the job destination JobDestinationOptions options = 2; + // The unique identifier of the job destination string id = 3; } @@ -67,7 +75,7 @@ message AiGenerateSourceSchemaOption { repeated AiGenerateSourceTableOption tables = 2 [(buf.validate.field).repeated.min_items = 1]; } message AiGenerateSourceTableOption { - // The table that will be used to. 1. The schema of the table will be injected into the prompt, of which the resulting data will then be inserted. + // The table that will be used to generate data for string table = 1 [(buf.validate.field).string.min_len = 1]; // The total number of records to be generated. int64 row_count = 2 [ @@ -77,15 +85,22 @@ message AiGenerateSourceTableOption { } message GenerateSourceOptions { + // The list of schemas (and their tables) along with any configuration options that will be used to generate data for. repeated GenerateSourceSchemaOption schemas = 1 [(buf.validate.field).repeated.min_items = 1]; + reserved 2; + // An optional connection id that will be used as the basis for the shape of data to be generated. optional string fk_source_connection_id = 3 [(buf.validate.field).string.uuid = true]; } message GenerateSourceSchemaOption { + // The database schema string schema = 1 [(buf.validate.field).string.min_len = 1]; + // The list of tables (and their configuration) that reside within the schema to receive generated data repeated GenerateSourceTableOption tables = 2 [(buf.validate.field).repeated.min_items = 1]; } message GenerateSourceTableOption { + // The table that will be used to generate data for. string table = 1 [(buf.validate.field).string.min_len = 1]; + // The total number of records to be generated. int64 row_count = 2 [(buf.validate.field).int64.gte = 1]; } @@ -115,8 +130,10 @@ message DynamoDBSourceUnmappedTransformConfig { JobMappingTransformer b = 1; // Boolean JobMappingTransformer boolean = 2; + reserved 3; // Number JobMappingTransformer n = 4; + reserved 5; // String JobMappingTransformer s = 6; } @@ -131,8 +148,11 @@ message DynamoDBSourceTableOption { message PostgresSourceConnectionOptions { reserved 1; // Was: optional bool halt_on_new_column_addition = 1; + // The list of schemas (and their tables) along with any configuration options that will be used. repeated PostgresSourceSchemaOption schemas = 2; + // The unique connection id to a postgres connection configuration string connection_id = 3 [(buf.validate.field).string.uuid = true]; + // Whether to subset the table by foreign key constraints bool subset_by_foreign_key_constraints = 4; // Provide a strategy of what to do in the event Neosync encounters an unmapped column for the job's mapped tables. NewColumnAdditionStrategy new_column_addition_strategy = 5; @@ -171,18 +191,27 @@ message PostgresSourceConnectionOptions { } message PostgresSourceSchemaOption { - string schema = 1; - repeated PostgresSourceTableOption tables = 2; + // The database schema + string schema = 1 [(buf.validate.field).string.min_len = 1]; + // The list of tables (and their configuration) that reside within the schema + repeated PostgresSourceTableOption tables = 2 [(buf.validate.field).repeated.min_items = 1]; } message PostgresSourceTableOption { - string table = 1; + // The table that will be used subset the data for. + string table = 1 [(buf.validate.field).string.min_len = 1]; + // This is not a parameterized query and must be valid. Intended to be everything after the WHERE keyword. + // Is used to subset the table. optional string where_clause = 2; } message MysqlSourceConnectionOptions { + // Whether to halt the job if a new column is added bool halt_on_new_column_addition = 1; + // The list of schemas (and their tables) along with any configuration options that will be used. repeated MysqlSourceSchemaOption schemas = 2; + // The unique connection id to a mysql connection configuration string connection_id = 3 [(buf.validate.field).string.uuid = true]; + // Whether to subset the table by foreign key constraints bool subset_by_foreign_key_constraints = 4; // Provide a strategy of what to do in the event Neosync encounters a column that is removed from the source table. @@ -205,18 +234,27 @@ message MysqlSourceConnectionOptions { } message MysqlSourceSchemaOption { - string schema = 1; - repeated MysqlSourceTableOption tables = 2; + // The database schema + string schema = 1 [(buf.validate.field).string.min_len = 1]; + // The list of tables (and their configuration) that reside within the schema + repeated MysqlSourceTableOption tables = 2 [(buf.validate.field).repeated.min_items = 1]; } message MysqlSourceTableOption { - string table = 1; + // The table that will be used to subset the data for. + string table = 1 [(buf.validate.field).string.min_len = 1]; + // This is not a parameterized query and must be valid. Intended to be everything after the WHERE keyword. + // Is used to subset the table. optional string where_clause = 2; } message MssqlSourceConnectionOptions { + // Whether to halt the job if a new column is added bool halt_on_new_column_addition = 1; + // The list of schemas (and their tables) along with any configuration options that will be used. repeated MssqlSourceSchemaOption schemas = 2; + // The unique connection id to a mssql connection configuration string connection_id = 3 [(buf.validate.field).string.uuid = true]; + // Whether to subset the table by foreign key constraints bool subset_by_foreign_key_constraints = 4; // Provide a strategy of what to do in the event Neosync encounters a column that is removed from the source table. ColumnRemovalStrategy column_removal_strategy = 5; @@ -238,15 +276,21 @@ message MssqlSourceConnectionOptions { } message MssqlSourceSchemaOption { - string schema = 1; - repeated MssqlSourceTableOption tables = 2; + // The database schema + string schema = 1 [(buf.validate.field).string.min_len = 1]; + // The list of tables (and their configuration) that reside within the schema + repeated MssqlSourceTableOption tables = 2 [(buf.validate.field).repeated.min_items = 1]; } message MssqlSourceTableOption { - string table = 1; + // The table that will be used to subset the data for. + string table = 1 [(buf.validate.field).string.min_len = 1]; + // This is not a parameterized query and must be valid. Intended to be everything after the WHERE keyword. + // Is used to subset the table. optional string where_clause = 2; } message AwsS3SourceConnectionOptions { + // The unique connection id to a aws s3 connection configuration string connection_id = 1 [(buf.validate.field).string.uuid = true]; } @@ -286,10 +330,13 @@ message DynamoDBDestinationTableMapping { } message PostgresDestinationConnectionOptions { + // Whether to truncate the table before inserting data PostgresTruncateTableConfig truncate_table = 1; + // Whether to initialize the table schema before inserting data bool init_table_schema = 2; + // The configuration for handling conflicts when inserting data PostgresOnConflictConfig on_conflict = 3; - // Insert all valid records, skipping any that violate foreign key constraints. + // Whether to skip records that violate foreign key constraints bool skip_foreign_key_violations = 4; // Configure batching options to handle how much data is sent to your database at once. BatchConfig batch = 5; @@ -334,13 +381,18 @@ message PostgresOnConflictConfig { } message PostgresTruncateTableConfig { + // Whether to truncate the table before inserting data bool truncate_before_insert = 1; + // Whether to cascade the truncate to child tables bool cascade = 2; } message MysqlDestinationConnectionOptions { + // Whether to truncate the table before inserting data MysqlTruncateTableConfig truncate_table = 1; + // Whether to initialize the table schema before inserting data bool init_table_schema = 2; + // The configuration for handling conflicts when inserting data MysqlOnConflictConfig on_conflict = 3; // Insert all valid records, skipping any that violate foreign key constraints. bool skip_foreign_key_violations = 4; @@ -350,6 +402,7 @@ message MysqlDestinationConnectionOptions { optional uint32 max_in_flight = 6 [(buf.validate.field).uint32 = {gte: 1}]; } message MysqlTruncateTableConfig { + // Whether to truncate the table before inserting data bool truncate_before_insert = 1; } message MysqlOnConflictConfig { @@ -389,10 +442,11 @@ message MysqlOnConflictConfig { } message MssqlDestinationConnectionOptions { + // Whether to truncate the table before inserting data MssqlTruncateTableConfig truncate_table = 1; - // Currently not supported and a placeholder for future implementation + // Whether to initialize the table schema before inserting data bool init_table_schema = 2; - // Currently not supported and a placeholder for future implementation + // The configuration for handling conflicts when inserting data MssqlOnConflictConfig on_conflict = 3; // Insert all valid records, skipping any that violate foreign key constraints. bool skip_foreign_key_violations = 4; @@ -402,9 +456,11 @@ message MssqlDestinationConnectionOptions { optional uint32 max_in_flight = 6 [(buf.validate.field).uint32 = {gte: 1}]; } message MssqlTruncateTableConfig { + // Whether to truncate the table before inserting data bool truncate_before_insert = 1; } message MssqlOnConflictConfig { + // Whether to do nothing when a conflict occurs bool do_nothing = 1; } @@ -445,8 +501,11 @@ message CreateJobRequest { string job_name = 2 [(buf.validate.field).string.pattern = "^[a-z0-9-]{3,100}$"]; // Optionally provide a cron schedule. Goes into effect if the job status is set to enabled optional string cron_schedule = 3; + // The list of mappings that will be used to transform the data repeated JobMapping mappings = 4; + // The source connection configuration JobSource source = 5; + // The list of destinations that will be used to store the data repeated CreateJobDestination destinations = 6; // Initially trigger a run of this job regardless of its status or cron schedule bool initiate_job_run = 7; @@ -458,6 +517,7 @@ message CreateJobRequest { // Data sync activities are any piece of work that involves actually synchronizing data from a source to a destination // For the data sync and generate jobs, this will be applied per table ActivityOptions sync_options = 9; + // The list of virtual foreign keys that will be used to further constrain the data ontop of the database defined constraints repeated VirtualForeignConstraint virtual_foreign_keys = 10; // Specify and job hooks that should be created @@ -467,6 +527,13 @@ message CreateJobRequest { // Config that contains various timeouts that are configured in the underlying temporal workflow // More options will come in the future as needed message WorkflowOptions { + reserved 1; + reserved 2; + reserved 3; + reserved 4; + reserved 5; + reserved 6; + reserved 7; // The timeout for a single workflow run. // Measured in seconds optional int64 run_timeout = 8; @@ -496,19 +563,24 @@ message RetryPolicy { } message CreateJobResponse { + // The job that was created Job job = 1; } message JobMappingTransformer { reserved 1; // Was: TransformerSource source = 1; - + // The transformer configuration TransformerConfig config = 3; } message JobMapping { - string schema = 1; - string table = 2; - string column = 3; + // The database schema + string schema = 1 [(buf.validate.field).string.min_len = 1]; + // The database table. + string table = 2 [(buf.validate.field).string.min_len = 1]; + // The column in the configured schema.table + string column = 3 [(buf.validate.field).string.min_len = 1]; + // The transformer configuration that will be applied to each cell in the column JobMappingTransformer transformer = 5; } @@ -520,33 +592,46 @@ enum JobStatus { } message GetJobRequest { + // The unique identifier of the job string id = 1 [(buf.validate.field).string.uuid = true]; } message GetJobResponse { + // The job that was retrieved Job job = 1; } message UpdateJobScheduleRequest { + // The unique identifier of the job string id = 1 [(buf.validate.field).string.uuid = true]; + // The new cron schedule optional string cron_schedule = 2; } message UpdateJobScheduleResponse { + // The job that was updated Job job = 1; } message PauseJobRequest { + // The unique identifier of the job string id = 1 [(buf.validate.field).string.uuid = true]; + // Whether to pause or unpause the job bool pause = 2; + // An optional note to be associated with the pause optional string note = 3; } message PauseJobResponse { + // The job that was updated Job job = 1; } message UpdateJobSourceConnectionRequest { + // The unique identifier of the job string id = 1 [(buf.validate.field).string.uuid = true]; + // The new source connection configuration JobSource source = 2; + // The new list of mappings that will be used to transform the data repeated JobMapping mappings = 3; + // The new list of virtual foreign keys that will be used to further constrain the data ontop of the database defined constraints repeated VirtualForeignConstraint virtual_foreign_keys = 4; } message UpdateJobSourceConnectionResponse { @@ -554,27 +639,36 @@ message UpdateJobSourceConnectionResponse { } message PostgresSourceSchemaSubset { + // The list of schemas (and their tables) along with any configuration options that will be used. repeated PostgresSourceSchemaOption postgres_schemas = 1; } message MysqlSourceSchemaSubset { + // The list of schemas (and their tables) along with any configuration options that will be used. repeated MysqlSourceSchemaOption mysql_schemas = 1; } message DynamoDBSourceSchemaSubset { + // The list of tables (and their configuration) that reside within the schema repeated DynamoDBSourceTableOption tables = 1; } message MssqlSourceSchemaSubset { + // The list of schemas (and their tables) along with any configuration options that will be used. repeated MssqlSourceSchemaOption mssql_schemas = 1; } message JobSourceSqlSubetSchemas { + reserved 1; oneof schemas { option (buf.validate.oneof).required = true; + // The list of schemas (and their tables) along with any configuration options that will be used. PostgresSourceSchemaSubset postgres_subset = 2; + // The list of schemas (and their tables) along with any configuration options that will be used. MysqlSourceSchemaSubset mysql_subset = 3; + // The list of tables (and their configuration) that reside within the schema DynamoDBSourceSchemaSubset dynamodb_subset = 4; + // The list of schemas (and their tables) along with any configuration options that will be used. MssqlSourceSchemaSubset mssql_subset = 5; } } @@ -588,70 +682,93 @@ message SetJobSourceSqlConnectionSubsetsRequest { bool subset_by_foreign_key_constraints = 3; } message SetJobSourceSqlConnectionSubsetsResponse { + // The job that was updated Job job = 1; } message UpdateJobDestinationConnectionRequest { + // The unique identifier of the job string job_id = 1 [(buf.validate.field).string.uuid = true]; + // The unique identifier of the connection string connection_id = 2 [(buf.validate.field).string.uuid = true]; + // The destination connection options JobDestinationOptions options = 3; + // The unique identifier of the destination string destination_id = 4; } message UpdateJobDestinationConnectionResponse { + // The job that was updated Job job = 1; } message DeleteJobDestinationConnectionRequest { + // The unique identifier of the destination to delete string destination_id = 1 [(buf.validate.field).string.uuid = true]; } message DeleteJobDestinationConnectionResponse {} message CreateJobDestinationConnectionsRequest { + // The unique identifier of the job string job_id = 1 [(buf.validate.field).string.uuid = true]; + // The list of destinations to create and associate with the job repeated CreateJobDestination destinations = 2; } message CreateJobDestinationConnectionsResponse { + // The job that was updated Job job = 1; } message DeleteJobRequest { + // The unique identifier of the job to delete string id = 1 [(buf.validate.field).string.uuid = true]; } message DeleteJobResponse {} message IsJobNameAvailableRequest { + // The name to check for availability string name = 1 [(buf.validate.field).string.pattern = "^[a-z0-9-]{3,100}$"]; + // The unique identifier of the account to check for availability string account_id = 2 [(buf.validate.field).string.uuid = true]; } message IsJobNameAvailableResponse { + // Whether the name is available bool is_available = 1; } message GetJobRunsRequest { oneof id { + // Retireve runs for a specific job string job_id = 1 [(buf.validate.field).string.uuid = true]; + // Retrieve runs for all jobs in an account string account_id = 2 [(buf.validate.field).string.uuid = true]; } } message GetJobRunsResponse { + // The list of job runs repeated JobRun job_runs = 1; } message GetJobRunRequest { + // The unique identifier of the job run string job_run_id = 1; + // The unique identifier of the account string account_id = 2 [(buf.validate.field).string.uuid = true]; } message GetJobRunResponse { + // The job run that was retrieved JobRun job_run = 1; } message CreateJobRunRequest { + // The unique identifier of the job string job_id = 1 [(buf.validate.field).string.uuid = true]; } message CreateJobRunResponse {} message CancelJobRunRequest { + // The unique identifier of the job run string job_run_id = 1; + // The unique identifier of the account string account_id = 2 [(buf.validate.field).string.uuid = true]; } message CancelJobRunResponse {} @@ -668,10 +785,13 @@ message Job { // The unique, friendly name of the job string name = 6; - + // The source connection configuration JobSource source = 7; + // The list of destinations that will be used to store the data repeated JobDestination destinations = 8; + // The list of mappings that will be used to transform the data repeated JobMapping mappings = 9; + // The cron schedule that will be used to trigger the job optional string cron_schedule = 10; // The account identifier that a job is associated with @@ -690,45 +810,57 @@ message Job { } message JobRecentRun { + // The start time of the job run google.protobuf.Timestamp start_time = 1; - + // The unique identifier of the job run string job_run_id = 2; } message GetJobRecentRunsRequest { + // The unique identifier of the job string job_id = 1 [(buf.validate.field).string.uuid = true]; } message GetJobRecentRunsResponse { + // The list of recent job runs repeated JobRecentRun recent_runs = 1; } message JobNextRuns { + // The list of next run times repeated google.protobuf.Timestamp next_run_times = 1; } message GetJobNextRunsRequest { - string job_id = 1; + // The unique identifier of the job + string job_id = 1 [(buf.validate.field).string.uuid = true]; } message GetJobNextRunsResponse { + // The list of next run times JobNextRuns next_runs = 1; } message GetJobStatusRequest { - string job_id = 1; + // The unique identifier of the job + string job_id = 1 [(buf.validate.field).string.uuid = true]; } message GetJobStatusResponse { + // The status of the job JobStatus status = 1; } message JobStatusRecord { - string job_id = 1; + // The unique identifier of the job + string job_id = 1 [(buf.validate.field).string.uuid = true]; + // The status of the job JobStatus status = 2; } message GetJobStatusesRequest { + // The unique identifier of the account string account_id = 1 [(buf.validate.field).string.uuid = true]; } message GetJobStatusesResponse { + // The list of job statuses repeated JobStatusRecord statuses = 1; } @@ -741,12 +873,16 @@ enum ActivityStatus { } message ActivityFailure { + // The message of the failure string message = 1; } message PendingActivity { + // The status of the activity ActivityStatus status = 1; + // The name of the activity string activity_name = 2; + // The last failure of the activity optional ActivityFailure last_failure = 3; } @@ -760,6 +896,8 @@ message JobRun { // the status of the job run JobRunStatus status = 4; + reserved 5; + // A timestamp of when the run started google.protobuf.Timestamp started_at = 6; // Available if the run completed or has not yet been archived by the system @@ -791,56 +929,79 @@ enum JobRunStatus { } message JobRunEventTaskError { + // The message of the error string message = 1; + // The retry state of the error string retry_state = 2; } message JobRunEventTask { + // The unique identifier of the task int64 id = 1; + // The type of the task string type = 2; + // The time of the event google.protobuf.Timestamp event_time = 3; + // The error of the task JobRunEventTaskError error = 4; } message JobRunSyncMetadata { + // The schema of the table string schema = 1; + // The table of the sync string table = 2; } message JobRunEventMetadata { oneof metadata { option (buf.validate.oneof).required = true; + // The metadata of the sync JobRunSyncMetadata sync_metadata = 1; } } message JobRunEvent { + // The unique identifier of the event int64 id = 1; + // The type of the event string type = 2; + // The start time of the event google.protobuf.Timestamp start_time = 3; + // The close time of the event google.protobuf.Timestamp close_time = 4; + // The metadata of the event JobRunEventMetadata metadata = 5; + // The list of tasks associated with the event repeated JobRunEventTask tasks = 6; } message GetJobRunEventsRequest { + // The unique identifier of the job run string job_run_id = 1; + // The unique identifier of the account string account_id = 2 [(buf.validate.field).string.uuid = true]; } message GetJobRunEventsResponse { + // The list of events repeated JobRunEvent events = 1; + // Whether the run is complete bool is_run_complete = 2; } message DeleteJobRunRequest { + // The unique identifier of the job run string job_run_id = 1; + // The unique identifier of the account string account_id = 2 [(buf.validate.field).string.uuid = true]; } message DeleteJobRunResponse {} message TerminateJobRunRequest { + // The unique identifier of the job run string job_run_id = 1; + // The unique identifier of the account string account_id = 2 [(buf.validate.field).string.uuid = true]; } message TerminateJobRunResponse {} @@ -859,7 +1020,9 @@ enum LogLevel { LOG_LEVEL_ERROR = 4; } message GetJobRunLogsStreamRequest { + // The unique identifier of the job run string job_run_id = 1; + // The unique identifier of the account string account_id = 2 [(buf.validate.field).string.uuid = true]; // The time window in which to retrieve the logs LogWindow window = 3; @@ -871,7 +1034,9 @@ message GetJobRunLogsStreamRequest { repeated LogLevel log_levels = 6; } message GetJobRunLogsStreamResponse { + // The log line string log_line = 1; + // The timestamp of the log line optional google.protobuf.Timestamp timestamp = 2; } @@ -883,6 +1048,7 @@ message SetJobWorkflowOptionsRequest { WorkflowOptions worfklow_options = 2; } message SetJobWorkflowOptionsResponse { + // The updated job Job job = 1; } message SetJobSyncOptionsRequest { @@ -893,42 +1059,60 @@ message SetJobSyncOptionsRequest { ActivityOptions sync_options = 2; } message SetJobSyncOptionsResponse { + // The updated job Job job = 1; } message ValidateJobMappingsRequest { - // The unique account identifier that this job will be associated with + // The unique identifier of the account string account_id = 1 [(buf.validate.field).string.uuid = true]; + // The list of mappings to validate repeated JobMapping mappings = 2; - string connection_id = 3; + // The unique identifier of the connection + string connection_id = 3 [(buf.validate.field).string.uuid = true]; + // The list of virtual foreign keys repeated VirtualForeignConstraint virtual_foreign_keys = 4; } message ColumnError { + // The schema of the table string schema = 1; + // The table of the column string table = 2; + // The column of the error string column = 3; + // The list of errors repeated string errors = 4; } message DatabaseError { + // The list of errors repeated string errors = 1; } message ValidateJobMappingsResponse { + // The list of column errors repeated ColumnError column_errors = 1; + // The database error DatabaseError database_errors = 2; } message VirtualForeignKey { + // The schema of the table string schema = 1; + // The table of the virtual foreign key string table = 2; + // The list of columns repeated string columns = 3; } message VirtualForeignConstraint { + // The schema of the table string schema = 1; + // The table of the virtual foreign key string table = 2; + // The list of columns repeated string columns = 3; + // The foreign key VirtualForeignKey foreign_key = 4; } @@ -942,14 +1126,17 @@ message RunContextKey { } message GetRunContextRequest { + // The run context key RunContextKey id = 1; } message GetRunContextResponse { + // The returned value in bytes. The format is determined by the key when it is set. bytes value = 1; } message SetRunContextRequest { + // The run context key RunContextKey id = 1; // An opaque value that is to be determined by the key bytes value = 2; @@ -957,6 +1144,7 @@ message SetRunContextRequest { message SetRunContextResponse {} message SetRunContextsRequest { + // The run context key RunContextKey id = 1; // An opaque value that is to be determined by the key bytes value = 2; @@ -1019,6 +1207,11 @@ message NewJobHook { // Contains the specific hook type configurations. message JobHookConfig { + reserved 1; + reserved 2; + reserved 3; + reserved 4; + oneof config { option (buf.validate.oneof).required = true; // Configuration for SQL-specific hooks. @@ -1162,34 +1355,74 @@ message GetActiveJobHooksByTimingResponse { repeated JobHook hooks = 1; } +// Service that handles jobs, runs, and hooks service JobService { - rpc GetJobs(GetJobsRequest) returns (GetJobsResponse) {} - rpc GetJob(GetJobRequest) returns (GetJobResponse) {} + // Returns a list of jobs by either account or job + rpc GetJobs(GetJobsRequest) returns (GetJobsResponse) { + option idempotency_level = NO_SIDE_EFFECTS; + } + // Returns a specific job + rpc GetJob(GetJobRequest) returns (GetJobResponse) { + option idempotency_level = NO_SIDE_EFFECTS; + } + // Creates a new job rpc CreateJob(CreateJobRequest) returns (CreateJobResponse) {} + // Deletes a job rpc DeleteJob(DeleteJobRequest) returns (DeleteJobResponse) {} - rpc IsJobNameAvailable(IsJobNameAvailableRequest) returns (IsJobNameAvailableResponse) {} + // Checks if a job name is available + rpc IsJobNameAvailable(IsJobNameAvailableRequest) returns (IsJobNameAvailableResponse) { + option idempotency_level = NO_SIDE_EFFECTS; + } + // Updates the schedule of a job rpc UpdateJobSchedule(UpdateJobScheduleRequest) returns (UpdateJobScheduleResponse) {} + // Updates the source connection of a job rpc UpdateJobSourceConnection(UpdateJobSourceConnectionRequest) returns (UpdateJobSourceConnectionResponse) {} + // Sets the source sql connection subsets of a job rpc SetJobSourceSqlConnectionSubsets(SetJobSourceSqlConnectionSubsetsRequest) returns (SetJobSourceSqlConnectionSubsetsResponse) {} + // Updates the destination connection of a job rpc UpdateJobDestinationConnection(UpdateJobDestinationConnectionRequest) returns (UpdateJobDestinationConnectionResponse) {} + // Deletes the destination connection of a job rpc DeleteJobDestinationConnection(DeleteJobDestinationConnectionRequest) returns (DeleteJobDestinationConnectionResponse) {} + // Creates the destination connections of a job rpc CreateJobDestinationConnections(CreateJobDestinationConnectionsRequest) returns (CreateJobDestinationConnectionsResponse) {} + // Pauses or unpauses a job rpc PauseJob(PauseJobRequest) returns (PauseJobResponse) {} - // Returns a list of recently invoked job runs baseds on the Temporal cron scheduler. This will return a list of job runs that include archived runs - rpc GetJobRecentRuns(GetJobRecentRunsRequest) returns (GetJobRecentRunsResponse) {} + // Returns a list of recently invoked job runs based on the Temporal cron scheduler. This will return a list of job runs that include archived runs + rpc GetJobRecentRuns(GetJobRecentRunsRequest) returns (GetJobRecentRunsResponse) { + option idempotency_level = NO_SIDE_EFFECTS; + } // Returns a list of runs that are scheduled for execution based on the Temporal cron scheduler. - rpc GetJobNextRuns(GetJobNextRunsRequest) returns (GetJobNextRunsResponse) {} - rpc GetJobStatus(GetJobStatusRequest) returns (GetJobStatusResponse) {} - rpc GetJobStatuses(GetJobStatusesRequest) returns (GetJobStatusesResponse) {} + rpc GetJobNextRuns(GetJobNextRunsRequest) returns (GetJobNextRunsResponse) { + option idempotency_level = NO_SIDE_EFFECTS; + } + // Returns the status of a job + rpc GetJobStatus(GetJobStatusRequest) returns (GetJobStatusResponse) { + option idempotency_level = NO_SIDE_EFFECTS; + } + // Returns the statuses of jobs within an account + rpc GetJobStatuses(GetJobStatusesRequest) returns (GetJobStatusesResponse) { + option idempotency_level = NO_SIDE_EFFECTS; + } // Returns a list of job runs by either account or job - rpc GetJobRuns(GetJobRunsRequest) returns (GetJobRunsResponse) {} - rpc GetJobRunEvents(GetJobRunEventsRequest) returns (GetJobRunEventsResponse) {} + rpc GetJobRuns(GetJobRunsRequest) returns (GetJobRunsResponse) { + option idempotency_level = NO_SIDE_EFFECTS; + } + // Returns a list of events for a job run to understand more details of the run itself + rpc GetJobRunEvents(GetJobRunEventsRequest) returns (GetJobRunEventsResponse) { + option idempotency_level = NO_SIDE_EFFECTS; + } // Returns a specific job run, along with any of its pending activities - rpc GetJobRun(GetJobRunRequest) returns (GetJobRunResponse) {} + rpc GetJobRun(GetJobRunRequest) returns (GetJobRunResponse) { + option idempotency_level = NO_SIDE_EFFECTS; + } + // Deletes a job run rpc DeleteJobRun(DeleteJobRunRequest) returns (DeleteJobRunResponse) {} + // Creates a new job run rpc CreateJobRun(CreateJobRunRequest) returns (CreateJobRunResponse) {} + // Cancels a job run. This is a graceful termination and allows the workflow to clean up and exit gracefully. rpc CancelJobRun(CancelJobRunRequest) returns (CancelJobRunResponse) {} + // Terminates a job run. This is an immediate termination and will not allow the workflow to clean up and exit gracefully. rpc TerminateJobRun(TerminateJobRunRequest) returns (TerminateJobRunResponse) {} // Returns a stream of logs from the worker nodes that pertain to a specific job run rpc GetJobRunLogsStream(GetJobRunLogsStreamRequest) returns (stream GetJobRunLogsStreamResponse) {} @@ -1197,7 +1430,7 @@ service JobService { rpc SetJobWorkflowOptions(SetJobWorkflowOptionsRequest) returns (SetJobWorkflowOptionsResponse) {} // Set the job sync options. Must provide entire object as it will fully override the previous configuration rpc SetJobSyncOptions(SetJobSyncOptionsRequest) returns (SetJobSyncOptionsResponse) {} - // validates that the jobmapping configured can run with table constraints + // Validates that the jobmapping configured can run with table constraints rpc ValidateJobMappings(ValidateJobMappingsRequest) returns (ValidateJobMappingsResponse) {} // Gets a run context to be used by a workflow run @@ -1208,9 +1441,13 @@ service JobService { rpc SetRunContexts(stream SetRunContextsRequest) returns (SetRunContextsResponse) {} // Retrieves all job hooks - rpc GetJobHooks(GetJobHooksRequest) returns (GetJobHooksResponse) {} + rpc GetJobHooks(GetJobHooksRequest) returns (GetJobHooksResponse) { + option idempotency_level = NO_SIDE_EFFECTS; + } // Retrieves a specific job hook - rpc GetJobHook(GetJobHookRequest) returns (GetJobHookResponse) {} + rpc GetJobHook(GetJobHookRequest) returns (GetJobHookResponse) { + option idempotency_level = NO_SIDE_EFFECTS; + } // Creates a new job hook rpc CreateJobHook(CreateJobHookRequest) returns (CreateJobHookResponse) {} // Removes a job hook @@ -1222,5 +1459,7 @@ service JobService { // Enables or disables a job hook rpc SetJobHookEnabled(SetJobHookEnabledRequest) returns (SetJobHookEnabledResponse) {} // Returns job hooks that are enabled by a specific timing. They will be sorted by priority, created_at, and id ascending. - rpc GetActiveJobHooksByTiming(GetActiveJobHooksByTimingRequest) returns (GetActiveJobHooksByTimingResponse) {} + rpc GetActiveJobHooksByTiming(GetActiveJobHooksByTimingRequest) returns (GetActiveJobHooksByTimingResponse) { + option idempotency_level = NO_SIDE_EFFECTS; + } } diff --git a/backend/protos/mgmt/v1alpha1/metrics.proto b/backend/protos/mgmt/v1alpha1/metrics.proto index 620ed5e85d..b7ab5998cd 100644 --- a/backend/protos/mgmt/v1alpha1/metrics.proto +++ b/backend/protos/mgmt/v1alpha1/metrics.proto @@ -79,11 +79,14 @@ enum RangedMetricName { } message GetDailyMetricCountResponse { + // The list of results for the given metric and date range repeated DayResult results = 1; } message DayResult { + // The date of the result Date date = 1; + // The count of the metric for the given date uint64 count = 2; } @@ -109,10 +112,15 @@ message GetMetricCountResponse { uint64 count = 1; } +// Service that handles serving up usage metrics service MetricsService { // Retrieve a timed range of records - rpc GetDailyMetricCount(GetDailyMetricCountRequest) returns (GetDailyMetricCountResponse) {} + rpc GetDailyMetricCount(GetDailyMetricCountRequest) returns (GetDailyMetricCountResponse) { + option idempotency_level = NO_SIDE_EFFECTS; + } // For the given metric and time range, returns the total count found - rpc GetMetricCount(GetMetricCountRequest) returns (GetMetricCountResponse) {} + rpc GetMetricCount(GetMetricCountRequest) returns (GetMetricCountResponse) { + option idempotency_level = NO_SIDE_EFFECTS; + } } diff --git a/backend/protos/mgmt/v1alpha1/transformer.proto b/backend/protos/mgmt/v1alpha1/transformer.proto index 94bbeb02ca..457c86e1ac 100644 --- a/backend/protos/mgmt/v1alpha1/transformer.proto +++ b/backend/protos/mgmt/v1alpha1/transformer.proto @@ -12,6 +12,7 @@ message GetSystemTransformersResponse { } message GetSystemTransformerBySourceRequest { + // The source of the transformer to retrieve. TransformerSource source = 1; } @@ -20,6 +21,7 @@ message GetSystemTransformerBySourceResponse { } message GetUserDefinedTransformersRequest { + // The unique identifier of the account to get the user defined transformers for. string account_id = 1 [(buf.validate.field).string.uuid = true]; } @@ -28,6 +30,7 @@ message GetUserDefinedTransformersResponse { } message GetUserDefinedTransformerByIdRequest { + // The unique identifier of the user defined transformer to get. string transformer_id = 1 [(buf.validate.field).string.uuid = true]; } @@ -36,11 +39,17 @@ message GetUserDefinedTransformerByIdResponse { } message CreateUserDefinedTransformerRequest { + // The unique identifier of the account to create the user defined transformer for. string account_id = 1 [(buf.validate.field).string.uuid = true]; + // The name of the user defined transformer. string name = 2 [(buf.validate.field).string.pattern = "^[a-z0-9-]{3,100}$"]; + // The description of the user defined transformer. string description = 3; + reserved 4; // Was: string type = 4; + // The source of the user defined transformer. TransformerSource source = 5; + // The configuration of the user defined transformer. TransformerConfig transformer_config = 6; } @@ -49,15 +58,20 @@ message CreateUserDefinedTransformerResponse { } message DeleteUserDefinedTransformerRequest { + // The unique identifier of the user defined transformer to delete. string transformer_id = 1 [(buf.validate.field).string.uuid = true]; } message DeleteUserDefinedTransformerResponse {} message UpdateUserDefinedTransformerRequest { + // The unique identifier of the user defined transformer to update. string transformer_id = 1 [(buf.validate.field).string.uuid = true]; + // The name of the user defined transformer. string name = 2 [(buf.validate.field).string.pattern = "^[a-z0-9-]{3,100}$"]; + // The description of the user defined transformer. string description = 3; + // The configuration of the user defined transformer. TransformerConfig transformer_config = 4; } @@ -66,25 +80,39 @@ message UpdateUserDefinedTransformerResponse { } message IsTransformerNameAvailableRequest { + // The unique identifier of the account to check for the availability of the transformer name. string account_id = 1 [(buf.validate.field).string.uuid = true]; + // The name of the transformer to check for availability. string transformer_name = 2 [(buf.validate.field).string.pattern = "^[a-z0-9-]{3,100}$"]; } message IsTransformerNameAvailableResponse { + // Whether or not the transformer name is available. bool is_available = 1; } message UserDefinedTransformer { + // The unique identifier of the user defined transformer. string id = 1 [(buf.validate.field).string.uuid = true]; + // The name of the user defined transformer. string name = 2; + // The description of the user defined transformer. string description = 3; - // This property is readonly and is calculated based off the origin system transformer - TransformerDataType data_type = 5; + + reserved 4; + // @deprecated: data_type is deprecated and will be removed in a future release. Use data_types instead. + TransformerDataType data_type = 5 [deprecated = true]; + // The source of the user defined transformer. TransformerSource source = 6; + // The configuration of the user defined transformer. TransformerConfig config = 7; + // The date and time the user defined transformer was created. google.protobuf.Timestamp created_at = 8; + // The date and time the user defined transformer was last updated. google.protobuf.Timestamp updated_at = 9; + // The unique identifier of the account that owns the user defined transformer. string account_id = 10; + // The data types supported by the user defined transformer. This is currently calculated based off the origin system transformer. repeated TransformerDataType data_types = 11; } @@ -154,22 +182,33 @@ enum TransformerDataType { TRANSFORMER_DATA_TYPE_UUID = 8; } +// A system transformer is a transformer that is built into the Neosync platform. +// It can be used directly in job mappings or used in user-defined transformers to snapshot a specific configuration. message SystemTransformer { + // The name of the transformer. string name = 1; + // The description of the transformer. string description = 2; - TransformerDataType data_type = 3; + // @deprecated: data_types is deprecated and will be removed in a future release. Use data_types instead. + TransformerDataType data_type = 3 [deprecated = true]; + // The source of the transformer. TransformerSource source = 4; + // The configuration of the transformer. TransformerConfig config = 5; + // The data types supported by the transformer. repeated TransformerDataType data_types = 6; repeated SupportedJobType supported_job_types = 7; } enum SupportedJobType { SUPPORTED_JOB_TYPE_UNSPECIFIED = 0; + // Determines if a transformer is supported for a sync job. SUPPORTED_JOB_TYPE_SYNC = 1; + // Determines if a transformer is supported for a generate job. SUPPORTED_JOB_TYPE_GENERATE = 2; } +// The configuration for a transformer. This determines what type of transformation or generation is performed. message TransformerConfig { oneof config { option (buf.validate.oneof).required = true; @@ -365,6 +404,7 @@ message TransformEmail { message GenerateBool {} message GenerateCardNumber { + // Whether or not to validate the card number using the Luhn algorithm. optional bool valid_luhn = 1; } @@ -373,16 +413,22 @@ message GenerateCity {} message GenerateDefault {} message GenerateE164PhoneNumber { + // The minimum length of the phone number to generate. optional int64 min = 1; + // The maximum length of the phone number to generate. optional int64 max = 2; } message GenerateFirstName {} message GenerateFloat64 { + // Whether or not to randomize the sign of the float64. optional bool randomize_sign = 1; + // The minimum value to randomize the float64 to. optional double min = 2; + // The maximum value to randomize the float64 to. optional double max = 3; + // The precision of the float64 to generate. optional int64 precision = 4; } @@ -391,14 +437,18 @@ message GenerateFullAddress {} message GenerateFullName {} message GenerateGender { + // Whether or not to abbreviate the gender. optional bool abbreviate = 1; } message GenerateInt64PhoneNumber {} message GenerateInt64 { + // Whether or not to randomize the sign of the int64. optional bool randomize_sign = 1; + // The minimum value to randomize the int64 to. optional int64 min = 2; + // The maximum value to randomize the int64 to. optional int64 max = 3; } @@ -415,12 +465,17 @@ message GenerateState { message GenerateStreetAddress {} message GenerateStringPhoneNumber { + reserved 1; + // The minimum length of the phone number to generate. optional int64 min = 2; + // The maximum length of the phone number to generate. optional int64 max = 3; } message GenerateString { + // The minimum length of the string to generate. optional int64 min = 1; + // The maximum length of the string to generate. optional int64 max = 2; } @@ -431,46 +486,58 @@ message GenerateUsername {} message GenerateUtcTimestamp {} message GenerateUuid { + // Whether or not to include hyphens in the uuid. Defaults to true. If false, the uuid will be returned without hyphens. optional bool include_hyphens = 1; } message GenerateZipcode {} message TransformE164PhoneNumber { + // Whether or not to preserve the original length of the phone number. This causes the transformed phone number to retain the original length. optional bool preserve_length = 1; } message TransformFirstName { + // Whether or not to preserve the original length of the first name. This causes the transformed first name to retain the original length. optional bool preserve_length = 1; } message TransformFloat64 { + // The minimum value to randomize the float64 to. This will be relative to the original value. optional double randomization_range_min = 1; + // The maximum value to randomize the float64 to. This will be relative to the original value. optional double randomization_range_max = 2; } message TransformFullName { + // Whether or not to preserve the original length of the full name. This causes the transformed full name to retain the original length. optional bool preserve_length = 1; } message TransformInt64PhoneNumber { + // Whether or not to preserve the original length of the phone number. This causes the transformed phone number to retain the original length. optional bool preserve_length = 1; } message TransformInt64 { + // The minimum value to randomize the int64 to. This will be relative to the original value. optional int64 randomization_range_min = 1; + // The maximum value to randomize the int64 to. This will be relative to the original value. optional int64 randomization_range_max = 2; } message TransformLastName { + // Whether or not to preserve the original length of the last name. This causes the transformed last name to retain the original length. optional bool preserve_length = 1; } message TransformPhoneNumber { + // Whether or not to preserve the original length of the phone number. This causes the transformed phone number to retain the original length. optional bool preserve_length = 1; } message TransformString { + // Whether or not to preserve the original length of the string. This causes the transformed string to retain the original length. optional bool preserve_length = 1; } @@ -479,15 +546,18 @@ message Passthrough {} message Null {} message TransformJavascript { + // The user provided javascript code that will be executed in the transformer string code = 1; } message UserDefinedTransformerConfig { + // The id of the user defined transformer. When used in a job mapping, this will be used to reference the underlying system transformer along with it's configuration that was chosen. string id = 1 [(buf.validate.field).string.uuid = true]; } message ValidateUserJavascriptCodeRequest { reserved 1; // Was: string account_id = 1; + // The user provided javascript code that will be validated. string code = 2 [(buf.validate.field).string.min_len = 1]; } @@ -496,24 +566,28 @@ message ValidateUserJavascriptCodeResponse { } message GenerateCategorical { + // A comma separated list of categories that will be used to generate a random value from. optional string categories = 1; } message TransformCharacterScramble { - // a user provided regular expression that they wish to validate if it compiles in GO + // A user provided regular expression that will be used to scramble the characters in the input string. Must be a valid Golang regex. optional string user_provided_regex = 1; } message GenerateJavascript { + // The user provided javascript code that will be executed in the transformer string code = 1; } message ValidateUserRegexCodeRequest { reserved 1; // Was: string account_id = 1; + // The user provided regex to validate string user_provided_regex = 2; } message ValidateUserRegexCodeResponse { + // Whether the regex is valid bool valid = 1; } @@ -555,21 +629,41 @@ enum GenerateIpAddressType { } message GenerateIpAddress { + // Optionally specify the type of ip address to generate. optional GenerateIpAddressType ip_type = 1; } message TransformUuid {} +// Service that manages system and user defined transformers service TransformersService { - rpc GetSystemTransformers(GetSystemTransformersRequest) returns (GetSystemTransformersResponse) {} - rpc GetSystemTransformerBySource(GetSystemTransformerBySourceRequest) returns (GetSystemTransformerBySourceResponse) {} - rpc GetUserDefinedTransformers(GetUserDefinedTransformersRequest) returns (GetUserDefinedTransformersResponse) {} - rpc GetUserDefinedTransformerById(GetUserDefinedTransformerByIdRequest) returns (GetUserDefinedTransformerByIdResponse) {} + // Get a list of all system transformers + rpc GetSystemTransformers(GetSystemTransformersRequest) returns (GetSystemTransformersResponse) { + option idempotency_level = NO_SIDE_EFFECTS; + } + // Get a system transformer by its source + rpc GetSystemTransformerBySource(GetSystemTransformerBySourceRequest) returns (GetSystemTransformerBySourceResponse) { + option idempotency_level = NO_SIDE_EFFECTS; + } + // Get a list of all user defined transformers + rpc GetUserDefinedTransformers(GetUserDefinedTransformersRequest) returns (GetUserDefinedTransformersResponse) { + option idempotency_level = NO_SIDE_EFFECTS; + } + // Get a user defined transformer by its id + rpc GetUserDefinedTransformerById(GetUserDefinedTransformerByIdRequest) returns (GetUserDefinedTransformerByIdResponse) { + option idempotency_level = NO_SIDE_EFFECTS; + } + // Create a user defined transformer rpc CreateUserDefinedTransformer(CreateUserDefinedTransformerRequest) returns (CreateUserDefinedTransformerResponse) {} + // Delete a user defined transformer rpc DeleteUserDefinedTransformer(DeleteUserDefinedTransformerRequest) returns (DeleteUserDefinedTransformerResponse) {} + // Update a user defined transformer rpc UpdateUserDefinedTransformer(UpdateUserDefinedTransformerRequest) returns (UpdateUserDefinedTransformerResponse) {} + // Check if a transformer name is available in your account rpc IsTransformerNameAvailable(IsTransformerNameAvailableRequest) returns (IsTransformerNameAvailableResponse) {} + // Validate user provided javascript code before saving it to a user defined transformer or within a job mapping rpc ValidateUserJavascriptCode(ValidateUserJavascriptCodeRequest) returns (ValidateUserJavascriptCodeResponse) {} + // Validate user provided regex code before saving it to a user defined transformer rpc ValidateUserRegexCode(ValidateUserRegexCodeRequest) returns (ValidateUserRegexCodeResponse) {} // Retrieve a list of available Pii entities for use with the TransformPiiText transformer diff --git a/backend/protos/mgmt/v1alpha1/user_account.proto b/backend/protos/mgmt/v1alpha1/user_account.proto index dda504d4b2..ba10ec9709 100644 --- a/backend/protos/mgmt/v1alpha1/user_account.proto +++ b/backend/protos/mgmt/v1alpha1/user_account.proto @@ -7,16 +7,19 @@ import "google/protobuf/timestamp.proto"; message GetUserRequest {} message GetUserResponse { + // The unique identifier of the user that was retrieved. string user_id = 1; } message SetUserRequest {} message SetUserResponse { + // The unique identifier of the user that was created. string user_id = 1; } message GetUserAccountsRequest {} message GetUserAccountsResponse { + // The list of accounts that the user belongs to. repeated UserAccount accounts = 1; } @@ -33,8 +36,11 @@ message UserAccount { enum UserAccountType { USER_ACCOUNT_TYPE_UNSPECIFIED = 0; + // A personal account is an account that is owned by a single user. USER_ACCOUNT_TYPE_PERSONAL = 1; + // A team account is an account that is owned by a team of users. USER_ACCOUNT_TYPE_TEAM = 2; + // An enterprise account is an account that is owned by an enterprise. USER_ACCOUNT_TYPE_ENTERPRISE = 3; } @@ -56,34 +62,45 @@ message ConvertPersonalToTeamAccountResponse { message SetPersonalAccountRequest {} message SetPersonalAccountResponse { + // The unique identifier of the personal account that was created. string account_id = 1; } message IsUserInAccountRequest { + // The unique identifier of the account to check if the user is in. string account_id = 1 [(buf.validate.field).string.uuid = true]; } message IsUserInAccountResponse { + // Whether or not the user is in the account. bool ok = 1; } message GetAccountTemporalConfigRequest { + // The unique identifier of the account to get the temporal config for. string account_id = 1 [(buf.validate.field).string.uuid = true]; } message GetAccountTemporalConfigResponse { + // The temporal config for the account. AccountTemporalConfig config = 1; } message SetAccountTemporalConfigRequest { + // The unique identifier of the account to set the temporal config for. string account_id = 1 [(buf.validate.field).string.uuid = true]; + // The temporal config to set for the account. AccountTemporalConfig config = 2; } message SetAccountTemporalConfigResponse { + // The temporal config that was set for the account. AccountTemporalConfig config = 1; } message AccountTemporalConfig { + // The temporal url for the account. string url = 1 [(buf.validate.field).string.min_len = 1]; + // The temporal namespace for the account. string namespace = 2 [(buf.validate.field).string.min_len = 1]; + // The temporal sync job queue name for the account. string sync_job_queue_name = 3 [(buf.validate.field).string.min_len = 1]; } @@ -92,21 +109,27 @@ message CreateTeamAccountRequest { string name = 1 [(buf.validate.field).string.pattern = "^[a-z0-9-]{3,100}$"]; } message CreateTeamAccountResponse { + // The unique identifier of the team account that was created. string account_id = 1; // If NeosyncCloud, will respond with a checkout session url so they can setup billing optional string checkout_session_url = 2; } message AccountUser { + // The unique identifier of the user. string id = 1; + // The name of the user (if there is one) string name = 2; + // The image of the user (if there is one) string image = 3; + // The email of the user. string email = 4; // The role of the user in the account. If RBAC is not enabled, will be unspecified. AccountRole role = 5; } message GetTeamAccountMembersRequest { + // The unique identifier of the account to get the members for. string account_id = 1 [(buf.validate.field).string.uuid = true]; } message GetTeamAccountMembersResponse { @@ -114,54 +137,71 @@ message GetTeamAccountMembersResponse { } message RemoveTeamAccountMemberRequest { + // The unique identifier of the user to remove from the account. string user_id = 1 [(buf.validate.field).string.uuid = true]; + // The unique identifier of the account to remove the user from. string account_id = 2 [(buf.validate.field).string.uuid = true]; } message RemoveTeamAccountMemberResponse {} message InviteUserToTeamAccountRequest { - // The account id to invite the user to + // The unique identifier of the account to invite the user to. string account_id = 1 [(buf.validate.field).string.uuid = true]; - // The email of the user to invite + // The email of the user to invite. string email = 2 [(buf.validate.field).string.min_len = 1]; // The role of the user to invite. Only used if RBAC is enabled. optional AccountRole role = 3; } message AccountInvite { + // The unique identifier of the invite. string id = 1; + // The unique identifier of the account to invite the user to. string account_id = 2; + // The unique identifier of the user that sent the invite. string sender_user_id = 3; + // The email of the user to invite. string email = 4; + // The token that the user will use to accept the invite. string token = 5; + // Whether or not the invite has been accepted. bool accepted = 6; + // The time when the invite was created. google.protobuf.Timestamp created_at = 7; + // The time when the invite was last updated. google.protobuf.Timestamp updated_at = 8; + // The time when the invite expires. google.protobuf.Timestamp expires_at = 9; // The role of the user to invite. Only used if RBAC is enabled. AccountRole role = 10; } message InviteUserToTeamAccountResponse { + // The invite that was created. AccountInvite invite = 1; } message GetTeamAccountInvitesRequest { + // The unique identifier of the account to get the invites for. string account_id = 1 [(buf.validate.field).string.uuid = true]; } message GetTeamAccountInvitesResponse { + // The list of invites for the account. repeated AccountInvite invites = 1; } message RemoveTeamAccountInviteRequest { + // The unique identifier of the invite to remove. string id = 1 [(buf.validate.field).string.uuid = true]; } message RemoveTeamAccountInviteResponse {} message AcceptTeamAccountInviteRequest { + // The token that the user will use to accept the invite. string token = 1 [(buf.validate.field).string.min_len = 1]; } message AcceptTeamAccountInviteResponse { + // The account that the user was invited to. UserAccount account = 1; } @@ -191,17 +231,22 @@ message SystemLicense { } message GetAccountOnboardingConfigRequest { + // The unique identifier of the account to get the onboarding config for. string account_id = 1 [(buf.validate.field).string.uuid = true]; } message GetAccountOnboardingConfigResponse { + // The onboarding config for the account. AccountOnboardingConfig config = 1; } message SetAccountOnboardingConfigRequest { + // The unique identifier of the account to set the onboarding config for. string account_id = 1 [(buf.validate.field).string.uuid = true]; + // The onboarding config to set for the account. AccountOnboardingConfig config = 2; } message SetAccountOnboardingConfigResponse { + // The onboarding config that was set for the account. AccountOnboardingConfig config = 1; } @@ -210,10 +255,12 @@ message AccountOnboardingConfig { reserved 2; // Was: bool has_created_destination_connection = 2; reserved 3; // Was: bool has_created_job = 3; reserved 4; // Was: bool has_invited_members = 4; + // Whether or not the account has completed onboarding. bool has_completed_onboarding = 5; } message GetAccountStatusRequest { + // The unique identifier of the account to get the status for. string account_id = 1 [(buf.validate.field).string.uuid = true]; } @@ -242,12 +289,14 @@ message GetAccountStatusResponse { } message IsAccountStatusValidRequest { + // The unique identifier of the account to get the status for. string account_id = 1 [(buf.validate.field).string.uuid = true]; // An optional count of records to be added to the current usage for validation. optional uint64 requested_record_count = 2; } message IsAccountStatusValidResponse { + // Whether or not the account is valid. bool is_valid = 1; // If the account is not valid, a reason for why may be provided. optional string reason = 2; @@ -278,6 +327,7 @@ enum AccountStatus { } message GetAccountBillingCheckoutSessionRequest { + // The unique identifier of the account to get the billing checkout session for. string account_id = 1 [(buf.validate.field).string.uuid = true]; } @@ -287,6 +337,7 @@ message GetAccountBillingCheckoutSessionResponse { } message GetAccountBillingPortalSessionRequest { + // The unique identifier of the account to get the billing portal session for. string account_id = 1 [(buf.validate.field).string.uuid = true]; } @@ -301,11 +352,12 @@ message GetBillingAccountsRequest { } message GetBillingAccountsResponse { + // The list of accounts that have a billing id. repeated UserAccount accounts = 1; } message SetBillingMeterEventRequest { - // The account id to apply this metered event to + // The unique identifier of the account to apply this metered event to. string account_id = 1 [(buf.validate.field).string.uuid = true]; // The metered event name @@ -321,11 +373,11 @@ message SetBillingMeterEventRequest { message SetBillingMeterEventResponse {} message SetUserRoleRequest { - // The account id to apply this role to + // The unique identifier of the account to apply this role to. string account_id = 1 [(buf.validate.field).string.uuid = true]; - // The user that this will be applied to + // The unique identifier of the user that this will be applied to. string user_id = 2 [(buf.validate.field).string.uuid = true]; - // The role that this user will obtain + // The role that this user will obtain. AccountRole role = 3; } @@ -344,12 +396,21 @@ enum AccountRole { message SetUserRoleResponse {} +// Service that manages users, accounts, and billing service UserAccountService { - rpc GetUser(GetUserRequest) returns (GetUserResponse) {} + // Retrieves the current user. + rpc GetUser(GetUserRequest) returns (GetUserResponse) { + option idempotency_level = NO_SIDE_EFFECTS; + } + // Sets the current user. rpc SetUser(SetUserRequest) returns (SetUserResponse) {} - rpc GetUserAccounts(GetUserAccountsRequest) returns (GetUserAccountsResponse) {} + // Retrieves the list of accounts that the user belongs to. + rpc GetUserAccounts(GetUserAccountsRequest) returns (GetUserAccountsResponse) { + option idempotency_level = NO_SIDE_EFFECTS; + } + // Sets the current personal account. rpc SetPersonalAccount(SetPersonalAccountRequest) returns (SetPersonalAccountResponse) {} // Convert a personal account to a team account retaining all of the jobs and connections. This will also create a new empty personal account. @@ -357,24 +418,42 @@ service UserAccountService { // Creates a new team account rpc CreateTeamAccount(CreateTeamAccountRequest) returns (CreateTeamAccountResponse) {} - + // Checks if the user is in the account. rpc IsUserInAccount(IsUserInAccountRequest) returns (IsUserInAccountResponse) {} - - rpc GetAccountTemporalConfig(GetAccountTemporalConfigRequest) returns (GetAccountTemporalConfigResponse) {} + // Retrieves the temporal config for the account. + rpc GetAccountTemporalConfig(GetAccountTemporalConfigRequest) returns (GetAccountTemporalConfigResponse) { + option idempotency_level = NO_SIDE_EFFECTS; + } + // Sets the temporal config for the account. rpc SetAccountTemporalConfig(SetAccountTemporalConfigRequest) returns (SetAccountTemporalConfigResponse) {} - rpc GetTeamAccountMembers(GetTeamAccountMembersRequest) returns (GetTeamAccountMembersResponse) {} + // Retrieves the list of members in the team account. + rpc GetTeamAccountMembers(GetTeamAccountMembersRequest) returns (GetTeamAccountMembersResponse) { + option idempotency_level = NO_SIDE_EFFECTS; + } + // Removes a member from the team account. rpc RemoveTeamAccountMember(RemoveTeamAccountMemberRequest) returns (RemoveTeamAccountMemberResponse) {} + // Invites a user to the team account. rpc InviteUserToTeamAccount(InviteUserToTeamAccountRequest) returns (InviteUserToTeamAccountResponse) {} - rpc GetTeamAccountInvites(GetTeamAccountInvitesRequest) returns (GetTeamAccountInvitesResponse) {} + // Retrieves the list of invites for the team account. + rpc GetTeamAccountInvites(GetTeamAccountInvitesRequest) returns (GetTeamAccountInvitesResponse) { + option idempotency_level = NO_SIDE_EFFECTS; + } + // Removes an invite from the team account. rpc RemoveTeamAccountInvite(RemoveTeamAccountInviteRequest) returns (RemoveTeamAccountInviteResponse) {} + // Accepts an invite to the team account. rpc AcceptTeamAccountInvite(AcceptTeamAccountInviteRequest) returns (AcceptTeamAccountInviteResponse) {} + // Retrieves the system information. rpc GetSystemInformation(GetSystemInformationRequest) returns (GetSystemInformationResponse) { option idempotency_level = NO_SIDE_EFFECTS; } - rpc GetAccountOnboardingConfig(GetAccountOnboardingConfigRequest) returns (GetAccountOnboardingConfigResponse) {} + // Retrieves the onboarding config for the account. + rpc GetAccountOnboardingConfig(GetAccountOnboardingConfigRequest) returns (GetAccountOnboardingConfigResponse) { + option idempotency_level = NO_SIDE_EFFECTS; + } + // Sets the onboarding config for the account. rpc SetAccountOnboardingConfig(SetAccountOnboardingConfigRequest) returns (SetAccountOnboardingConfigResponse) {} // Returns different metrics on the account status for the active billing period @@ -387,10 +466,14 @@ service UserAccountService { } // Returns a new checkout session for the account to subscribe - rpc GetAccountBillingCheckoutSession(GetAccountBillingCheckoutSessionRequest) returns (GetAccountBillingCheckoutSessionResponse) {} + rpc GetAccountBillingCheckoutSession(GetAccountBillingCheckoutSessionRequest) returns (GetAccountBillingCheckoutSessionResponse) { + option idempotency_level = NO_SIDE_EFFECTS; + } // Returns a new billing portal session if the account has a billing customer id - rpc GetAccountBillingPortalSession(GetAccountBillingPortalSessionRequest) returns (GetAccountBillingPortalSessionResponse) {} + rpc GetAccountBillingPortalSession(GetAccountBillingPortalSessionRequest) returns (GetAccountBillingPortalSessionResponse) { + option idempotency_level = NO_SIDE_EFFECTS; + } // Returns user accounts that have a billing id. rpc GetBillingAccounts(GetBillingAccountsRequest) returns (GetBillingAccountsResponse) { diff --git a/docs/openapi/mgmt/v1alpha1/anonymization.openapi.yaml b/docs/openapi/mgmt/v1alpha1/anonymization.openapi.yaml index 4acdfff5de..1d3f33cedb 100644 --- a/docs/openapi/mgmt/v1alpha1/anonymization.openapi.yaml +++ b/docs/openapi/mgmt/v1alpha1/anonymization.openapi.yaml @@ -8,7 +8,7 @@ paths: tags: - mgmt.v1alpha1.AnonymizationService summary: AnonymizeMany - description: Anonymizes many JSON strings by applying specified transformation mappings. + description: Anonymizes many JSON strings by applying specified transformation mappings. This is the bulk version of the `AnonymizeSingle` method. operationId: mgmt.v1alpha1.AnonymizationService.AnonymizeMany parameters: - name: Connect-Protocol-Version @@ -255,17 +255,17 @@ components: boolean: allOf: - title: boolean - description: Boolean + description: Any identified boolean value will be transformed using this configuration if no mapping is found. - $ref: '#/components/schemas/mgmt.v1alpha1.TransformerConfig' n: allOf: - title: n - description: Number + description: Any identified number value will be transformed using this configuration if no mapping is found. - $ref: '#/components/schemas/mgmt.v1alpha1.TransformerConfig' s: allOf: - title: s - description: String + description: Any identified string value will be transformed using this configuration if no mapping is found. - $ref: '#/components/schemas/mgmt.v1alpha1.TransformerConfig' title: DefaultTransformersConfig additionalProperties: false @@ -298,6 +298,7 @@ components: validLuhn: type: boolean title: valid_luhn + description: Whether or not to validate the card number using the Luhn algorithm. title: GenerateCardNumber additionalProperties: false mgmt.v1alpha1.GenerateCategorical: @@ -321,6 +322,7 @@ components: categories: type: string title: categories + description: A comma separated list of categories that will be used to generate a random value from. title: GenerateCategorical additionalProperties: false mgmt.v1alpha1.GenerateCity: @@ -378,11 +380,13 @@ components: - type: string - type: number title: min + description: The minimum length of the phone number to generate. max: oneOf: - type: string - type: number title: max + description: The maximum length of the phone number to generate. title: GenerateE164PhoneNumber additionalProperties: false mgmt.v1alpha1.GenerateEmail: @@ -449,21 +453,25 @@ components: randomizeSign: type: boolean title: randomize_sign + description: Whether or not to randomize the sign of the float64. min: oneOf: - type: string - type: number title: min + description: The minimum value to randomize the float64 to. max: oneOf: - type: string - type: number title: max + description: The maximum value to randomize the float64 to. precision: oneOf: - type: string - type: number title: precision + description: The precision of the float64 to generate. title: GenerateFloat64 additionalProperties: false mgmt.v1alpha1.GenerateFullAddress: @@ -495,6 +503,7 @@ components: abbreviate: type: boolean title: abbreviate + description: Whether or not to abbreviate the gender. title: GenerateGender additionalProperties: false mgmt.v1alpha1.GenerateInt64: @@ -525,16 +534,19 @@ components: randomizeSign: type: boolean title: randomize_sign + description: Whether or not to randomize the sign of the int64. min: oneOf: - type: string - type: number title: min + description: The minimum value to randomize the int64 to. max: oneOf: - type: string - type: number title: max + description: The maximum value to randomize the int64 to. title: GenerateInt64 additionalProperties: false mgmt.v1alpha1.GenerateInt64PhoneNumber: @@ -562,6 +574,7 @@ components: ipType: allOf: - title: ip_type + description: Optionally specify the type of ip address to generate. - $ref: '#/components/schemas/mgmt.v1alpha1.GenerateIpAddressType' title: GenerateIpAddress additionalProperties: false @@ -571,6 +584,7 @@ components: code: type: string title: code + description: The user provided javascript code that will be executed in the transformer title: GenerateJavascript additionalProperties: false mgmt.v1alpha1.GenerateLastName: @@ -636,11 +650,13 @@ components: - type: string - type: number title: min + description: The minimum length of the string to generate. max: oneOf: - type: string - type: number title: max + description: The maximum length of the string to generate. title: GenerateString additionalProperties: false mgmt.v1alpha1.GenerateStringPhoneNumber: @@ -666,11 +682,13 @@ components: - type: string - type: number title: min + description: The minimum length of the phone number to generate. max: oneOf: - type: string - type: number title: max + description: The maximum length of the phone number to generate. title: GenerateStringPhoneNumber additionalProperties: false mgmt.v1alpha1.GenerateUnixTimestamp: @@ -706,6 +724,7 @@ components: includeHyphens: type: boolean title: include_hyphens + description: Whether or not to include hyphens in the uuid. Defaults to true. If false, the uuid will be returned without hyphens. title: GenerateUuid additionalProperties: false mgmt.v1alpha1.GenerateZipcode: @@ -937,7 +956,7 @@ components: userProvidedRegex: type: string title: user_provided_regex - description: a user provided regular expression that they wish to validate if it compiles in GO + description: A user provided regular expression that will be used to scramble the characters in the input string. Must be a valid Golang regex. title: TransformCharacterScramble additionalProperties: false mgmt.v1alpha1.TransformE164PhoneNumber: @@ -961,6 +980,7 @@ components: preserveLength: type: boolean title: preserve_length + description: Whether or not to preserve the original length of the phone number. This causes the transformed phone number to retain the original length. title: TransformE164PhoneNumber additionalProperties: false mgmt.v1alpha1.TransformEmail: @@ -1042,6 +1062,7 @@ components: preserveLength: type: boolean title: preserve_length + description: Whether or not to preserve the original length of the first name. This causes the transformed first name to retain the original length. title: TransformFirstName additionalProperties: false mgmt.v1alpha1.TransformFloat64: @@ -1067,11 +1088,13 @@ components: - type: string - type: number title: randomization_range_min + description: The minimum value to randomize the float64 to. This will be relative to the original value. randomizationRangeMax: oneOf: - type: string - type: number title: randomization_range_max + description: The maximum value to randomize the float64 to. This will be relative to the original value. title: TransformFloat64 additionalProperties: false mgmt.v1alpha1.TransformFullName: @@ -1095,6 +1118,7 @@ components: preserveLength: type: boolean title: preserve_length + description: Whether or not to preserve the original length of the full name. This causes the transformed full name to retain the original length. title: TransformFullName additionalProperties: false mgmt.v1alpha1.TransformInt64: @@ -1120,11 +1144,13 @@ components: - type: string - type: number title: randomization_range_min + description: The minimum value to randomize the int64 to. This will be relative to the original value. randomizationRangeMax: oneOf: - type: string - type: number title: randomization_range_max + description: The maximum value to randomize the int64 to. This will be relative to the original value. title: TransformInt64 additionalProperties: false mgmt.v1alpha1.TransformInt64PhoneNumber: @@ -1148,6 +1174,7 @@ components: preserveLength: type: boolean title: preserve_length + description: Whether or not to preserve the original length of the phone number. This causes the transformed phone number to retain the original length. title: TransformInt64PhoneNumber additionalProperties: false mgmt.v1alpha1.TransformJavascript: @@ -1156,6 +1183,7 @@ components: code: type: string title: code + description: The user provided javascript code that will be executed in the transformer title: TransformJavascript additionalProperties: false mgmt.v1alpha1.TransformLastName: @@ -1179,6 +1207,7 @@ components: preserveLength: type: boolean title: preserve_length + description: Whether or not to preserve the original length of the last name. This causes the transformed last name to retain the original length. title: TransformLastName additionalProperties: false mgmt.v1alpha1.TransformPhoneNumber: @@ -1202,6 +1231,7 @@ components: preserveLength: type: boolean title: preserve_length + description: Whether or not to preserve the original length of the phone number. This causes the transformed phone number to retain the original length. title: TransformPhoneNumber additionalProperties: false mgmt.v1alpha1.TransformPiiText: @@ -1308,6 +1338,7 @@ components: preserveLength: type: boolean title: preserve_length + description: Whether or not to preserve the original length of the string. This causes the transformed string to retain the original length. title: TransformString additionalProperties: false mgmt.v1alpha1.TransformUuid: @@ -1891,6 +1922,7 @@ components: - $ref: '#/components/schemas/mgmt.v1alpha1.TransformUuid' title: TransformerConfig additionalProperties: false + description: The configuration for a transformer. This determines what type of transformation or generation is performed. mgmt.v1alpha1.TransformerMapping: type: object properties: @@ -1916,6 +1948,7 @@ components: type: string title: id format: uuid + description: The id of the user defined transformer. When used in a job mapping, this will be used to reference the underlying system transformer along with it's configuration that was chosen. title: UserDefinedTransformerConfig additionalProperties: false connect-protocol-version: @@ -1977,3 +2010,4 @@ components: security: [] tags: - name: mgmt.v1alpha1.AnonymizationService + description: Service that transactionally anonymizes data, regardless of the connection type. diff --git a/docs/openapi/mgmt/v1alpha1/api_key.openapi.yaml b/docs/openapi/mgmt/v1alpha1/api_key.openapi.yaml index 06ceacd6df..3fcf4ac1e3 100644 --- a/docs/openapi/mgmt/v1alpha1/api_key.openapi.yaml +++ b/docs/openapi/mgmt/v1alpha1/api_key.openapi.yaml @@ -303,6 +303,7 @@ components: id: type: string title: id + description: The unique identifier of the API key name: type: string title: name @@ -310,19 +311,24 @@ components: accountId: type: string title: account_id + description: The unique identifier of the account that the API key belongs to createdById: type: string title: created_by_id + description: The unique identifier of the user that created the API key createdAt: allOf: - title: created_at + description: The timestamp of when the API key was created - $ref: '#/components/schemas/google.protobuf.Timestamp' updatedById: type: string title: updated_by_id + description: The unique identifier of the user that last updated the API key updatedAt: allOf: - title: updated_at + description: The timestamp of when the API key was last updated - $ref: '#/components/schemas/google.protobuf.Timestamp' keyValue: type: string @@ -331,6 +337,7 @@ components: userId: type: string title: user_id + description: The unique identifier of the user that the API key belongs to (Each API Key is associated with its own user record to identify what the API key does in the system) expiresAt: allOf: - title: expires_at @@ -345,10 +352,12 @@ components: type: string title: account_id format: uuid + description: The unique identifier of the account to create the API key for. name: type: string title: name pattern: ^[a-z0-9-]{3,100}$ + description: The friendly name of the API key expiresAt: allOf: - title: expires_at @@ -365,6 +374,7 @@ components: apiKey: allOf: - title: api_key + description: The created API key - $ref: '#/components/schemas/mgmt.v1alpha1.AccountApiKey' title: CreateAccountApiKeyResponse additionalProperties: false @@ -375,6 +385,7 @@ components: type: string title: id format: uuid + description: The unique identifier of the API key to delete. title: DeleteAccountApiKeyRequest additionalProperties: false mgmt.v1alpha1.DeleteAccountApiKeyResponse: @@ -388,6 +399,7 @@ components: type: string title: id format: uuid + description: The unique identifier of the API key to get. title: GetAccountApiKeyRequest additionalProperties: false mgmt.v1alpha1.GetAccountApiKeyResponse: @@ -396,6 +408,7 @@ components: apiKey: allOf: - title: api_key + description: The API key that was retrieved. - $ref: '#/components/schemas/mgmt.v1alpha1.AccountApiKey' title: GetAccountApiKeyResponse additionalProperties: false @@ -406,6 +419,7 @@ components: type: string title: account_id format: uuid + description: The unique identifier of the account to get the API keys for. title: GetAccountApiKeysRequest additionalProperties: false mgmt.v1alpha1.GetAccountApiKeysResponse: @@ -416,6 +430,7 @@ components: items: $ref: '#/components/schemas/mgmt.v1alpha1.AccountApiKey' title: api_keys + description: The list of API keys for the account. title: GetAccountApiKeysResponse additionalProperties: false mgmt.v1alpha1.RegenerateAccountApiKeyRequest: @@ -425,6 +440,7 @@ components: type: string title: id format: uuid + description: The unique identifier of the API key to regenerate. expiresAt: allOf: - title: expires_at @@ -441,6 +457,7 @@ components: apiKey: allOf: - title: api_key + description: The regenerated API key - $ref: '#/components/schemas/mgmt.v1alpha1.AccountApiKey' title: RegenerateAccountApiKeyResponse additionalProperties: false diff --git a/docs/openapi/mgmt/v1alpha1/connection.openapi.yaml b/docs/openapi/mgmt/v1alpha1/connection.openapi.yaml index 3fe93a96dd..2919b2fbbe 100644 --- a/docs/openapi/mgmt/v1alpha1/connection.openapi.yaml +++ b/docs/openapi/mgmt/v1alpha1/connection.openapi.yaml @@ -463,20 +463,25 @@ components: pathPrefix: type: string title: path_prefix + description: The bucket path prefix that will be appended to each file credentials: allOf: - title: credentials + description: The credentials to use for the S3 bucket - $ref: '#/components/schemas/mgmt.v1alpha1.AwsS3Credentials' region: type: string title: region + description: The region of the S3 bucket endpoint: type: string title: endpoint + description: The endpoint of the S3 bucket (if using a custom endpoint like region specific endpoints or S3-compatible APIs) bucket: type: string title: bucket minLength: 1 + description: The name of the S3 bucket title: AwsS3ConnectionConfig additionalProperties: false mgmt.v1alpha1.AwsS3Credentials: @@ -535,24 +540,31 @@ components: profile: type: string title: profile + description: The profile to use for the S3 credentials accessKeyId: type: string title: access_key_id + description: The access key id to use for the S3 credentials secretAccessKey: type: string title: secret_access_key + description: The secret access key to use for the S3 credentials sessionToken: type: string title: session_token + description: The session token to use for the S3 credentials fromEc2Role: type: boolean title: from_ec2_role + description: Whether or not the credentials are from an EC2 role roleArn: type: string title: role_arn + description: The ARN of the role to use for the S3 credentials roleExternalId: type: string title: role_external_id + description: The role's external ID to use for the S3 credentials title: AwsS3Credentials additionalProperties: false description: |- @@ -608,6 +620,7 @@ components: connectionConfig: allOf: - title: connection_config + description: The connection configuration to validate - $ref: '#/components/schemas/mgmt.v1alpha1.ConnectionConfig' title: CheckConnectionConfigRequest additionalProperties: false @@ -940,6 +953,7 @@ components: type: string title: account_id format: uuid + description: The unique identifier of the account to create the connection for name: type: string title: name @@ -948,6 +962,7 @@ components: connectionConfig: allOf: - title: connection_config + description: The connection configuration to use for the connection - $ref: '#/components/schemas/mgmt.v1alpha1.ConnectionConfig' title: CreateConnectionRequest additionalProperties: false @@ -957,6 +972,7 @@ components: connection: allOf: - title: connection + description: The created connection - $ref: '#/components/schemas/mgmt.v1alpha1.Connection' title: CreateConnectionResponse additionalProperties: false @@ -967,6 +983,7 @@ components: type: string title: id format: uuid + description: The unique identifier of the connection to delete title: DeleteConnectionRequest additionalProperties: false mgmt.v1alpha1.DeleteConnectionResponse: @@ -1057,6 +1074,7 @@ components: type: string title: id format: uuid + description: The unique identifier of the connection to get title: GetConnectionRequest additionalProperties: false mgmt.v1alpha1.GetConnectionResponse: @@ -1065,6 +1083,7 @@ components: connection: allOf: - title: connection + description: The connection - $ref: '#/components/schemas/mgmt.v1alpha1.Connection' title: GetConnectionResponse additionalProperties: false @@ -1075,6 +1094,7 @@ components: type: string title: account_id format: uuid + description: The unique identifier of the account to get connections for title: GetConnectionsRequest additionalProperties: false mgmt.v1alpha1.GetConnectionsResponse: @@ -1085,6 +1105,7 @@ components: items: $ref: '#/components/schemas/mgmt.v1alpha1.Connection' title: connections + description: The connections title: GetConnectionsResponse additionalProperties: false mgmt.v1alpha1.IsConnectionNameAvailableRequest: @@ -1094,10 +1115,12 @@ components: type: string title: account_id format: uuid + description: The unique identifier of the account to check the connection name for connectionName: type: string title: connection_name pattern: ^[a-z0-9-]{3,100}$ + description: The connection name to check for availability title: IsConnectionNameAvailableRequest additionalProperties: false mgmt.v1alpha1.IsConnectionNameAvailableResponse: @@ -1106,6 +1129,7 @@ components: isAvailable: type: boolean title: is_available + description: Whether or not the connection name is available title: IsConnectionNameAvailableResponse additionalProperties: false mgmt.v1alpha1.LocalDirectoryConnectionConfig: @@ -1193,6 +1217,7 @@ components: connectionOptions: allOf: - title: connection_options + description: Provide connection options that can be used to further fine-tune the connection - $ref: '#/components/schemas/mgmt.v1alpha1.SqlConnectionOptions' tunnel: allOf: @@ -1213,21 +1238,27 @@ components: user: type: string title: user + description: The user to use for the connection pass: type: string title: pass + description: The password to use for the connection protocol: type: string title: protocol + description: The protocol to use for the connection host: type: string title: host + description: The host to use for the connection port: type: integer title: port + description: The port to use for the connection name: type: string title: name + description: The name of the database to use for the connection title: MysqlConnection additionalProperties: false mgmt.v1alpha1.MysqlConnectionConfig: @@ -1267,9 +1298,11 @@ components: url: type: string title: url + description: A raw string url that will be used to construct the connection. DSN format. URI format also supported but more limited. connection: allOf: - title: connection + description: A structured representation of the connection that will be used to construct the url - $ref: '#/components/schemas/mgmt.v1alpha1.MysqlConnection' urlFromEnv: type: string @@ -1286,6 +1319,7 @@ components: connectionOptions: allOf: - title: connection_options + description: Provide connection options that can be used to further fine-tune the connection - $ref: '#/components/schemas/mgmt.v1alpha1.SqlConnectionOptions' clientTls: allOf: @@ -1304,7 +1338,7 @@ components: apiUrl: type: string title: api_url - description: OpenAI URL + description: OpenAI URL (if using a custom endpoint) title: OpenAiConnectionConfig additionalProperties: false description: Configures a connection to OpenAI or OpenAI compatible API. @@ -1329,21 +1363,27 @@ components: host: type: string title: host + description: The host to use for the connection port: type: integer title: port + description: The port to use for the connection name: type: string title: name + description: The name of the database to use for the connection user: type: string title: user + description: The user to use for the connection pass: type: string title: pass + description: The password to use for the connection sslMode: type: string title: ssl_mode + description: The SSL mode to use for the connection title: PostgresConnection additionalProperties: false mgmt.v1alpha1.PostgresConnectionConfig: @@ -1383,9 +1423,11 @@ components: url: type: string title: url + description: A raw string url that will be used to construct the connection. Must be URI format. connection: allOf: - title: connection + description: A structured representation of the connection that will be used to construct the url - $ref: '#/components/schemas/mgmt.v1alpha1.PostgresConnection' urlFromEnv: type: string @@ -1402,6 +1444,7 @@ components: connectionOptions: allOf: - title: connection_options + description: Provide connection options that can be used to further fine-tune the connection - $ref: '#/components/schemas/mgmt.v1alpha1.SqlConnectionOptions' clientTls: allOf: @@ -1439,10 +1482,12 @@ components: passphrase: allOf: - title: passphrase + description: Password authentication - $ref: '#/components/schemas/mgmt.v1alpha1.SSHPassphrase' privateKey: allOf: - title: private_key + description: Private key authentication - $ref: '#/components/schemas/mgmt.v1alpha1.SSHPrivateKey' title: SSHAuthentication additionalProperties: false @@ -1606,13 +1651,16 @@ components: type: string title: id format: uuid + description: The unique identifier of the connection to update name: type: string title: name pattern: ^[a-z0-9-]{3,100}$ + description: The friendly name of the connection connectionConfig: allOf: - title: connection_config + description: The connection configuration to use for the connection - $ref: '#/components/schemas/mgmt.v1alpha1.ConnectionConfig' title: UpdateConnectionRequest additionalProperties: false @@ -1622,6 +1670,7 @@ components: connection: allOf: - title: connection + description: The updated connection - $ref: '#/components/schemas/mgmt.v1alpha1.Connection' title: UpdateConnectionResponse additionalProperties: false diff --git a/docs/openapi/mgmt/v1alpha1/connection_data.openapi.yaml b/docs/openapi/mgmt/v1alpha1/connection_data.openapi.yaml index 099d560c41..615125b6b5 100644 --- a/docs/openapi/mgmt/v1alpha1/connection_data.openapi.yaml +++ b/docs/openapi/mgmt/v1alpha1/connection_data.openapi.yaml @@ -369,10 +369,12 @@ components: type: string title: job_id format: uuid + description: The unique identifier of the job to get the schema for. jobRunId: type: string title: job_run_id minLength: 1 + description: The unique identifier of the job run to get the schema for. title: AwsS3SchemaConfig additionalProperties: false mgmt.v1alpha1.AwsS3StreamConfig: @@ -405,10 +407,12 @@ components: type: string title: job_id format: uuid + description: The unique identifier of the job to get the data stream for. jobRunId: type: string title: job_run_id minLength: 1 + description: The unique identifier of the job run to get the data stream for. title: AwsS3StreamConfig additionalProperties: false mgmt.v1alpha1.ConnectionSchemaConfig: @@ -647,10 +651,12 @@ components: type: string title: schema minLength: 1 + description: The schema of the table table: type: string title: table minLength: 1 + description: The table name title: DatabaseTable additionalProperties: false mgmt.v1alpha1.DynamoDBSchemaConfig: @@ -663,17 +669,20 @@ components: foreignKey: allOf: - title: foreign_key + description: The foreign key that is associated with the constraint - $ref: '#/components/schemas/mgmt.v1alpha1.ForeignKey' columns: type: array items: type: string title: columns + description: The columns that are part of the constraint notNullable: type: array items: type: boolean title: not_nullable + description: The not nullable flag for each column title: ForeignConstraint additionalProperties: false mgmt.v1alpha1.ForeignConstraintTables: @@ -684,6 +693,7 @@ components: items: $ref: '#/components/schemas/mgmt.v1alpha1.ForeignConstraint' title: constraints + description: A list of foreign key constraints title: ForeignConstraintTables additionalProperties: false mgmt.v1alpha1.ForeignKey: @@ -692,11 +702,13 @@ components: table: type: string title: table + description: The table that the foreign key is associated with columns: type: array items: type: string title: columns + description: The columns that are part of the foreign key title: ForeignKey additionalProperties: false mgmt.v1alpha1.GcpCloudStorageSchemaConfig: @@ -729,10 +741,12 @@ components: type: string title: job_id format: uuid + description: The unique identifier of the job to get the schema for. jobRunId: type: string title: job_run_id minLength: 1 + description: The unique identifier of the job run to get the schema for. title: GcpCloudStorageSchemaConfig additionalProperties: false mgmt.v1alpha1.GcpCloudStorageStreamConfig: @@ -765,10 +779,12 @@ components: type: string title: job_id format: uuid + description: The unique identifier of the job to get the data stream for. jobRunId: type: string title: job_run_id minLength: 1 + description: The unique identifier of the job run to get the data stream for. title: GcpCloudStorageStreamConfig additionalProperties: false mgmt.v1alpha1.GetAiGeneratedDataRequest: @@ -793,6 +809,7 @@ components: type: string title: ai_connection_id format: uuid + description: The unique identifier of a connection, specifically one that is configured for LLM use. count: oneOf: - type: string @@ -800,20 +817,25 @@ components: title: count maximum: 10 minimum: 1 + description: The number of records to generate modelName: type: string title: model_name minLength: 1 + description: The LLM model name to use that works with the configured connection id. userPrompt: type: string title: user_prompt + description: The prompt that will be used to further refine the data generation. This is appended to the prompt that Neosync generates that includes schema information. dataConnectionId: type: string title: data_connection_id format: uuid + description: The unique identifier of a connection that the AI generated data would be inserted into. This is used to generate and send schema information to the LLM to help shape the generated data. table: allOf: - title: table + description: The table to generate data for. - $ref: '#/components/schemas/mgmt.v1alpha1.DatabaseTable' title: GetAiGeneratedDataRequest additionalProperties: false @@ -835,16 +857,20 @@ components: type: string title: connection_id format: uuid + description: The unique identifier of the connection to get the data stream for. streamConfig: allOf: - title: stream_config + description: The stream configuration to use for the data stream. - $ref: '#/components/schemas/mgmt.v1alpha1.ConnectionStreamConfig' schema: type: string title: schema + description: The schema of the table to get the data stream for. table: type: string title: table + description: The table to get the data stream for. title: GetConnectionDataStreamRequest additionalProperties: false mgmt.v1alpha1.GetConnectionDataStreamResponse: @@ -865,9 +891,11 @@ components: type: string title: connection_id format: uuid + description: The unique identifier of the connection to get the init statements for. options: allOf: - title: options + description: The options to use for the init statements. - $ref: '#/components/schemas/mgmt.v1alpha1.InitStatementOptions' title: GetConnectionInitStatementsRequest additionalProperties: false @@ -880,19 +908,20 @@ components: additionalProperties: type: string title: value - description: the key here is .
and value is the table init statement. + description: The key here is .
and value is the table init statement. tableTruncateStatements: type: object title: table_truncate_statements additionalProperties: type: string title: value - description: the key here is .
and value is the table truncate statement. + description: The key here is .
and value is the table truncate statement. schemaInitStatements: type: array items: $ref: '#/components/schemas/mgmt.v1alpha1.SchemaInitStatements' title: schema_init_statements + description: A list of schema initialization statements title: GetConnectionInitStatementsResponse additionalProperties: false description: Init statement for a specific table @@ -925,9 +954,11 @@ components: type: string title: connection_id format: uuid + description: The unique identifier of the connection to get the schema map for. schemaConfig: allOf: - title: schema_config + description: The schema configuration to use for the schema map. - $ref: '#/components/schemas/mgmt.v1alpha1.ConnectionSchemaConfig' title: GetConnectionSchemaMapRequest additionalProperties: false @@ -991,9 +1022,11 @@ components: type: string title: connection_id format: uuid + description: The unique identifier of the connection to get the schema for. schemaConfig: allOf: - title: schema_config + description: The schema configuration to use for the schema map. - $ref: '#/components/schemas/mgmt.v1alpha1.ConnectionSchemaConfig' title: GetConnectionSchemaRequest additionalProperties: false @@ -1005,6 +1038,7 @@ components: items: $ref: '#/components/schemas/mgmt.v1alpha1.DatabaseColumn' title: schemas + description: The list of database columns title: GetConnectionSchemaResponse additionalProperties: false mgmt.v1alpha1.GetConnectionTableConstraintsRequest: @@ -1014,6 +1048,7 @@ components: type: string title: connection_id format: uuid + description: The unique identifier of the connection to get the constraints for. title: GetConnectionTableConstraintsRequest additionalProperties: false mgmt.v1alpha1.GetConnectionTableConstraintsResponse: @@ -1102,15 +1137,22 @@ components: connectionId: type: string title: connection_id + format: uuid + description: The unique identifier of the connection to get the row count for. schema: type: string title: schema + minLength: 1 + description: The schema of the table to get the row count for. table: type: string title: table + minLength: 1 + description: The table to get the row count for. whereClause: type: string title: where_clause + description: The optional where clause to filter the rows by. title: GetTableRowCountRequest additionalProperties: false mgmt.v1alpha1.GetTableRowCountResponse: @@ -1121,6 +1163,7 @@ components: - type: string - type: number title: count + description: The count of the rows in the table title: GetTableRowCountResponse additionalProperties: false mgmt.v1alpha1.InitStatementOptions: @@ -1129,12 +1172,15 @@ components: initSchema: type: boolean title: init_schema + description: Whether or not to generate schema init statements. truncateBeforeInsert: type: boolean title: truncate_before_insert + description: Whether or not to generate truncation statements truncateCascade: type: boolean title: truncate_cascade + description: Whether or not to generate truncate cascade statements. title: InitStatementOptions additionalProperties: false mgmt.v1alpha1.MongoSchemaConfig: @@ -1169,6 +1215,7 @@ components: items: type: string title: columns + description: The columns that are part of the primary constraint title: PrimaryConstraint additionalProperties: false mgmt.v1alpha1.SchemaInitStatements: @@ -1177,11 +1224,13 @@ components: label: type: string title: label + description: A friendly label associated with the generated schema init statement(s) statements: type: array items: type: string title: statements + description: A list of SQL statements that may be used to initialize a database from scratch. title: SchemaInitStatements additionalProperties: false mgmt.v1alpha1.UniqueConstraint: @@ -1192,6 +1241,7 @@ components: items: type: string title: columns + description: The columns that are part of the unique constraint title: UniqueConstraint additionalProperties: false mgmt.v1alpha1.UniqueConstraints: @@ -1202,6 +1252,7 @@ components: items: $ref: '#/components/schemas/mgmt.v1alpha1.UniqueConstraint' title: constraints + description: The unique constraints found for the table title: UniqueConstraints additionalProperties: false connect-protocol-version: diff --git a/docs/openapi/mgmt/v1alpha1/job.openapi.yaml b/docs/openapi/mgmt/v1alpha1/job.openapi.yaml index 1729b6dae5..bebf751a58 100644 --- a/docs/openapi/mgmt/v1alpha1/job.openapi.yaml +++ b/docs/openapi/mgmt/v1alpha1/job.openapi.yaml @@ -8,6 +8,7 @@ paths: tags: - mgmt.v1alpha1.JobService summary: GetJobs + description: Returns a list of jobs by either account or job operationId: mgmt.v1alpha1.JobService.GetJobs parameters: - name: Connect-Protocol-Version @@ -43,6 +44,7 @@ paths: tags: - mgmt.v1alpha1.JobService summary: GetJob + description: Returns a specific job operationId: mgmt.v1alpha1.JobService.GetJob parameters: - name: Connect-Protocol-Version @@ -78,6 +80,7 @@ paths: tags: - mgmt.v1alpha1.JobService summary: CreateJob + description: Creates a new job operationId: mgmt.v1alpha1.JobService.CreateJob parameters: - name: Connect-Protocol-Version @@ -113,6 +116,7 @@ paths: tags: - mgmt.v1alpha1.JobService summary: DeleteJob + description: Deletes a job operationId: mgmt.v1alpha1.JobService.DeleteJob parameters: - name: Connect-Protocol-Version @@ -148,6 +152,7 @@ paths: tags: - mgmt.v1alpha1.JobService summary: IsJobNameAvailable + description: Checks if a job name is available operationId: mgmt.v1alpha1.JobService.IsJobNameAvailable parameters: - name: Connect-Protocol-Version @@ -183,6 +188,7 @@ paths: tags: - mgmt.v1alpha1.JobService summary: UpdateJobSchedule + description: Updates the schedule of a job operationId: mgmt.v1alpha1.JobService.UpdateJobSchedule parameters: - name: Connect-Protocol-Version @@ -218,6 +224,7 @@ paths: tags: - mgmt.v1alpha1.JobService summary: UpdateJobSourceConnection + description: Updates the source connection of a job operationId: mgmt.v1alpha1.JobService.UpdateJobSourceConnection parameters: - name: Connect-Protocol-Version @@ -253,6 +260,7 @@ paths: tags: - mgmt.v1alpha1.JobService summary: SetJobSourceSqlConnectionSubsets + description: Sets the source sql connection subsets of a job operationId: mgmt.v1alpha1.JobService.SetJobSourceSqlConnectionSubsets parameters: - name: Connect-Protocol-Version @@ -288,6 +296,7 @@ paths: tags: - mgmt.v1alpha1.JobService summary: UpdateJobDestinationConnection + description: Updates the destination connection of a job operationId: mgmt.v1alpha1.JobService.UpdateJobDestinationConnection parameters: - name: Connect-Protocol-Version @@ -323,6 +332,7 @@ paths: tags: - mgmt.v1alpha1.JobService summary: DeleteJobDestinationConnection + description: Deletes the destination connection of a job operationId: mgmt.v1alpha1.JobService.DeleteJobDestinationConnection parameters: - name: Connect-Protocol-Version @@ -358,6 +368,7 @@ paths: tags: - mgmt.v1alpha1.JobService summary: CreateJobDestinationConnections + description: Creates the destination connections of a job operationId: mgmt.v1alpha1.JobService.CreateJobDestinationConnections parameters: - name: Connect-Protocol-Version @@ -393,6 +404,7 @@ paths: tags: - mgmt.v1alpha1.JobService summary: PauseJob + description: Pauses or unpauses a job operationId: mgmt.v1alpha1.JobService.PauseJob parameters: - name: Connect-Protocol-Version @@ -428,7 +440,7 @@ paths: tags: - mgmt.v1alpha1.JobService summary: GetJobRecentRuns - description: Returns a list of recently invoked job runs baseds on the Temporal cron scheduler. This will return a list of job runs that include archived runs + description: Returns a list of recently invoked job runs based on the Temporal cron scheduler. This will return a list of job runs that include archived runs operationId: mgmt.v1alpha1.JobService.GetJobRecentRuns parameters: - name: Connect-Protocol-Version @@ -500,6 +512,7 @@ paths: tags: - mgmt.v1alpha1.JobService summary: GetJobStatus + description: Returns the status of a job operationId: mgmt.v1alpha1.JobService.GetJobStatus parameters: - name: Connect-Protocol-Version @@ -535,6 +548,7 @@ paths: tags: - mgmt.v1alpha1.JobService summary: GetJobStatuses + description: Returns the statuses of jobs within an account operationId: mgmt.v1alpha1.JobService.GetJobStatuses parameters: - name: Connect-Protocol-Version @@ -606,6 +620,7 @@ paths: tags: - mgmt.v1alpha1.JobService summary: GetJobRunEvents + description: Returns a list of events for a job run to understand more details of the run itself operationId: mgmt.v1alpha1.JobService.GetJobRunEvents parameters: - name: Connect-Protocol-Version @@ -677,6 +692,7 @@ paths: tags: - mgmt.v1alpha1.JobService summary: DeleteJobRun + description: Deletes a job run operationId: mgmt.v1alpha1.JobService.DeleteJobRun parameters: - name: Connect-Protocol-Version @@ -712,6 +728,7 @@ paths: tags: - mgmt.v1alpha1.JobService summary: CreateJobRun + description: Creates a new job run operationId: mgmt.v1alpha1.JobService.CreateJobRun parameters: - name: Connect-Protocol-Version @@ -747,6 +764,7 @@ paths: tags: - mgmt.v1alpha1.JobService summary: CancelJobRun + description: Cancels a job run. This is a graceful termination and allows the workflow to clean up and exit gracefully. operationId: mgmt.v1alpha1.JobService.CancelJobRun parameters: - name: Connect-Protocol-Version @@ -782,6 +800,7 @@ paths: tags: - mgmt.v1alpha1.JobService summary: TerminateJobRun + description: Terminates a job run. This is an immediate termination and will not allow the workflow to clean up and exit gracefully. operationId: mgmt.v1alpha1.JobService.TerminateJobRun parameters: - name: Connect-Protocol-Version @@ -890,7 +909,7 @@ paths: tags: - mgmt.v1alpha1.JobService summary: ValidateJobMappings - description: validates that the jobmapping configured can run with table constraints + description: Validates that the jobmapping configured can run with table constraints operationId: mgmt.v1alpha1.JobService.ValidateJobMappings parameters: - name: Connect-Protocol-Version @@ -1488,6 +1507,7 @@ components: message: type: string title: message + description: The message of the failure title: ActivityFailure additionalProperties: false mgmt.v1alpha1.ActivityOptions: @@ -1623,7 +1643,7 @@ components: type: string title: table minLength: 1 - description: The table that will be used to. 1. The schema of the table will be injected into the prompt, of which the resulting data will then be inserted. + description: The table that will be used to generate data for rowCount: oneOf: - type: string @@ -1680,6 +1700,7 @@ components: type: string title: connection_id format: uuid + description: The unique connection id to a aws s3 connection configuration title: AwsS3SourceConnectionOptions additionalProperties: false mgmt.v1alpha1.BatchConfig: @@ -1718,10 +1739,12 @@ components: jobRunId: type: string title: job_run_id + description: The unique identifier of the job run accountId: type: string title: account_id format: uuid + description: The unique identifier of the account title: CancelJobRunRequest additionalProperties: false mgmt.v1alpha1.CancelJobRunResponse: @@ -1734,17 +1757,21 @@ components: schema: type: string title: schema + description: The schema of the table table: type: string title: table + description: The table of the column column: type: string title: column + description: The column of the error errors: type: array items: type: string title: errors + description: The list of errors title: ColumnError additionalProperties: false mgmt.v1alpha1.CreateJobDestination: @@ -1754,9 +1781,11 @@ components: type: string title: connection_id format: uuid + description: The connection id to use for the job destination options: allOf: - title: options + description: The destination options to use for the job destination - $ref: '#/components/schemas/mgmt.v1alpha1.JobDestinationOptions' title: CreateJobDestination additionalProperties: false @@ -1767,11 +1796,13 @@ components: type: string title: job_id format: uuid + description: The unique identifier of the job destinations: type: array items: $ref: '#/components/schemas/mgmt.v1alpha1.CreateJobDestination' title: destinations + description: The list of destinations to create and associate with the job title: CreateJobDestinationConnectionsRequest additionalProperties: false mgmt.v1alpha1.CreateJobDestinationConnectionsResponse: @@ -1780,6 +1811,7 @@ components: job: allOf: - title: job + description: The job that was updated - $ref: '#/components/schemas/mgmt.v1alpha1.Job' title: CreateJobDestinationConnectionsResponse additionalProperties: false @@ -1844,15 +1876,18 @@ components: items: $ref: '#/components/schemas/mgmt.v1alpha1.JobMapping' title: mappings + description: The list of mappings that will be used to transform the data source: allOf: - title: source + description: The source connection configuration - $ref: '#/components/schemas/mgmt.v1alpha1.JobSource' destinations: type: array items: $ref: '#/components/schemas/mgmt.v1alpha1.CreateJobDestination' title: destinations + description: The list of destinations that will be used to store the data initiateJobRun: type: boolean title: initiate_job_run @@ -1875,6 +1910,7 @@ components: items: $ref: '#/components/schemas/mgmt.v1alpha1.VirtualForeignConstraint' title: virtual_foreign_keys + description: The list of virtual foreign keys that will be used to further constrain the data ontop of the database defined constraints title: CreateJobRequest additionalProperties: false mgmt.v1alpha1.CreateJobResponse: @@ -1883,6 +1919,7 @@ components: job: allOf: - title: job + description: The job that was created - $ref: '#/components/schemas/mgmt.v1alpha1.Job' title: CreateJobResponse additionalProperties: false @@ -1893,6 +1930,7 @@ components: type: string title: job_id format: uuid + description: The unique identifier of the job title: CreateJobRunRequest additionalProperties: false mgmt.v1alpha1.CreateJobRunResponse: @@ -1907,6 +1945,7 @@ components: items: type: string title: errors + description: The list of errors title: DatabaseError additionalProperties: false mgmt.v1alpha1.DeleteJobDestinationConnectionRequest: @@ -1916,6 +1955,7 @@ components: type: string title: destination_id format: uuid + description: The unique identifier of the destination to delete title: DeleteJobDestinationConnectionRequest additionalProperties: false mgmt.v1alpha1.DeleteJobDestinationConnectionResponse: @@ -1943,6 +1983,7 @@ components: type: string title: id format: uuid + description: The unique identifier of the job to delete title: DeleteJobRequest additionalProperties: false mgmt.v1alpha1.DeleteJobResponse: @@ -1955,10 +1996,12 @@ components: jobRunId: type: string title: job_run_id + description: The unique identifier of the job run accountId: type: string title: account_id format: uuid + description: The unique identifier of the account title: DeleteJobRunRequest additionalProperties: false mgmt.v1alpha1.DeleteJobRunResponse: @@ -2030,6 +2073,7 @@ components: items: $ref: '#/components/schemas/mgmt.v1alpha1.DynamoDBSourceTableOption' title: tables + description: The list of tables (and their configuration) that reside within the schema title: DynamoDBSourceSchemaSubset additionalProperties: false mgmt.v1alpha1.DynamoDBSourceTableOption: @@ -2122,6 +2166,7 @@ components: validLuhn: type: boolean title: valid_luhn + description: Whether or not to validate the card number using the Luhn algorithm. title: GenerateCardNumber additionalProperties: false mgmt.v1alpha1.GenerateCategorical: @@ -2145,6 +2190,7 @@ components: categories: type: string title: categories + description: A comma separated list of categories that will be used to generate a random value from. title: GenerateCategorical additionalProperties: false mgmt.v1alpha1.GenerateCity: @@ -2202,11 +2248,13 @@ components: - type: string - type: number title: min + description: The minimum length of the phone number to generate. max: oneOf: - type: string - type: number title: max + description: The maximum length of the phone number to generate. title: GenerateE164PhoneNumber additionalProperties: false mgmt.v1alpha1.GenerateEmail: @@ -2273,21 +2321,25 @@ components: randomizeSign: type: boolean title: randomize_sign + description: Whether or not to randomize the sign of the float64. min: oneOf: - type: string - type: number title: min + description: The minimum value to randomize the float64 to. max: oneOf: - type: string - type: number title: max + description: The maximum value to randomize the float64 to. precision: oneOf: - type: string - type: number title: precision + description: The precision of the float64 to generate. title: GenerateFloat64 additionalProperties: false mgmt.v1alpha1.GenerateFullAddress: @@ -2319,6 +2371,7 @@ components: abbreviate: type: boolean title: abbreviate + description: Whether or not to abbreviate the gender. title: GenerateGender additionalProperties: false mgmt.v1alpha1.GenerateInt64: @@ -2349,16 +2402,19 @@ components: randomizeSign: type: boolean title: randomize_sign + description: Whether or not to randomize the sign of the int64. min: oneOf: - type: string - type: number title: min + description: The minimum value to randomize the int64 to. max: oneOf: - type: string - type: number title: max + description: The maximum value to randomize the int64 to. title: GenerateInt64 additionalProperties: false mgmt.v1alpha1.GenerateInt64PhoneNumber: @@ -2386,6 +2442,7 @@ components: ipType: allOf: - title: ip_type + description: Optionally specify the type of ip address to generate. - $ref: '#/components/schemas/mgmt.v1alpha1.GenerateIpAddressType' title: GenerateIpAddress additionalProperties: false @@ -2395,6 +2452,7 @@ components: code: type: string title: code + description: The user provided javascript code that will be executed in the transformer title: GenerateJavascript additionalProperties: false mgmt.v1alpha1.GenerateLastName: @@ -2433,10 +2491,12 @@ components: $ref: '#/components/schemas/mgmt.v1alpha1.GenerateSourceSchemaOption' title: schemas minItems: 1 + description: The list of schemas (and their tables) along with any configuration options that will be used to generate data for. fkSourceConnectionId: type: string title: fk_source_connection_id format: uuid + description: An optional connection id that will be used as the basis for the shape of data to be generated. title: GenerateSourceOptions additionalProperties: false mgmt.v1alpha1.GenerateSourceSchemaOption: @@ -2446,12 +2506,14 @@ components: type: string title: schema minLength: 1 + description: The database schema tables: type: array items: $ref: '#/components/schemas/mgmt.v1alpha1.GenerateSourceTableOption' title: tables minItems: 1 + description: The list of tables (and their configuration) that reside within the schema to receive generated data title: GenerateSourceSchemaOption additionalProperties: false mgmt.v1alpha1.GenerateSourceTableOption: @@ -2461,12 +2523,14 @@ components: type: string title: table minLength: 1 + description: The table that will be used to generate data for. rowCount: oneOf: - type: string - type: number title: row_count minimum: 1 + description: The total number of records to be generated. title: GenerateSourceTableOption additionalProperties: false mgmt.v1alpha1.GenerateState: @@ -2520,11 +2584,13 @@ components: - type: string - type: number title: min + description: The minimum length of the string to generate. max: oneOf: - type: string - type: number title: max + description: The maximum length of the string to generate. title: GenerateString additionalProperties: false mgmt.v1alpha1.GenerateStringPhoneNumber: @@ -2550,11 +2616,13 @@ components: - type: string - type: number title: min + description: The minimum length of the phone number to generate. max: oneOf: - type: string - type: number title: max + description: The maximum length of the phone number to generate. title: GenerateStringPhoneNumber additionalProperties: false mgmt.v1alpha1.GenerateUnixTimestamp: @@ -2590,6 +2658,7 @@ components: includeHyphens: type: boolean title: include_hyphens + description: Whether or not to include hyphens in the uuid. Defaults to true. If false, the uuid will be returned without hyphens. title: GenerateUuid additionalProperties: false mgmt.v1alpha1.GenerateZipcode: @@ -2669,6 +2738,8 @@ components: jobId: type: string title: job_id + format: uuid + description: The unique identifier of the job title: GetJobNextRunsRequest additionalProperties: false mgmt.v1alpha1.GetJobNextRunsResponse: @@ -2677,6 +2748,7 @@ components: nextRuns: allOf: - title: next_runs + description: The list of next run times - $ref: '#/components/schemas/mgmt.v1alpha1.JobNextRuns' title: GetJobNextRunsResponse additionalProperties: false @@ -2687,6 +2759,7 @@ components: type: string title: job_id format: uuid + description: The unique identifier of the job title: GetJobRecentRunsRequest additionalProperties: false mgmt.v1alpha1.GetJobRecentRunsResponse: @@ -2697,6 +2770,7 @@ components: items: $ref: '#/components/schemas/mgmt.v1alpha1.JobRecentRun' title: recent_runs + description: The list of recent job runs title: GetJobRecentRunsResponse additionalProperties: false mgmt.v1alpha1.GetJobRequest: @@ -2706,6 +2780,7 @@ components: type: string title: id format: uuid + description: The unique identifier of the job title: GetJobRequest additionalProperties: false mgmt.v1alpha1.GetJobResponse: @@ -2714,6 +2789,7 @@ components: job: allOf: - title: job + description: The job that was retrieved - $ref: '#/components/schemas/mgmt.v1alpha1.Job' title: GetJobResponse additionalProperties: false @@ -2723,10 +2799,12 @@ components: jobRunId: type: string title: job_run_id + description: The unique identifier of the job run accountId: type: string title: account_id format: uuid + description: The unique identifier of the account title: GetJobRunEventsRequest additionalProperties: false mgmt.v1alpha1.GetJobRunEventsResponse: @@ -2737,9 +2815,11 @@ components: items: $ref: '#/components/schemas/mgmt.v1alpha1.JobRunEvent' title: events + description: The list of events isRunComplete: type: boolean title: is_run_complete + description: Whether the run is complete title: GetJobRunEventsResponse additionalProperties: false mgmt.v1alpha1.GetJobRunLogsStreamRequest: @@ -2763,10 +2843,12 @@ components: jobRunId: type: string title: job_run_id + description: The unique identifier of the job run accountId: type: string title: account_id format: uuid + description: The unique identifier of the account window: allOf: - title: window @@ -2812,9 +2894,11 @@ components: logLine: type: string title: log_line + description: The log line timestamp: allOf: - title: timestamp + description: The timestamp of the log line - $ref: '#/components/schemas/google.protobuf.Timestamp' title: GetJobRunLogsStreamResponse additionalProperties: false @@ -2824,10 +2908,12 @@ components: jobRunId: type: string title: job_run_id + description: The unique identifier of the job run accountId: type: string title: account_id format: uuid + description: The unique identifier of the account title: GetJobRunRequest additionalProperties: false mgmt.v1alpha1.GetJobRunResponse: @@ -2836,6 +2922,7 @@ components: jobRun: allOf: - title: job_run + description: The job run that was retrieved - $ref: '#/components/schemas/mgmt.v1alpha1.JobRun' title: GetJobRunResponse additionalProperties: false @@ -2869,10 +2956,12 @@ components: type: string title: job_id format: uuid + description: Retireve runs for a specific job accountId: type: string title: account_id format: uuid + description: Retrieve runs for all jobs in an account title: GetJobRunsRequest additionalProperties: false mgmt.v1alpha1.GetJobRunsResponse: @@ -2883,6 +2972,7 @@ components: items: $ref: '#/components/schemas/mgmt.v1alpha1.JobRun' title: job_runs + description: The list of job runs title: GetJobRunsResponse additionalProperties: false mgmt.v1alpha1.GetJobStatusRequest: @@ -2891,6 +2981,8 @@ components: jobId: type: string title: job_id + format: uuid + description: The unique identifier of the job title: GetJobStatusRequest additionalProperties: false mgmt.v1alpha1.GetJobStatusResponse: @@ -2899,6 +2991,7 @@ components: status: allOf: - title: status + description: The status of the job - $ref: '#/components/schemas/mgmt.v1alpha1.JobStatus' title: GetJobStatusResponse additionalProperties: false @@ -2909,6 +3002,7 @@ components: type: string title: account_id format: uuid + description: The unique identifier of the account title: GetJobStatusesRequest additionalProperties: false mgmt.v1alpha1.GetJobStatusesResponse: @@ -2919,6 +3013,7 @@ components: items: $ref: '#/components/schemas/mgmt.v1alpha1.JobStatusRecord' title: statuses + description: The list of job statuses title: GetJobStatusesResponse additionalProperties: false mgmt.v1alpha1.GetJobsRequest: @@ -2928,6 +3023,7 @@ components: type: string title: account_id format: uuid + description: The unique identifier of the account to get jobs for title: GetJobsRequest additionalProperties: false mgmt.v1alpha1.GetJobsResponse: @@ -2938,6 +3034,7 @@ components: items: $ref: '#/components/schemas/mgmt.v1alpha1.Job' title: jobs + description: The list of jobs title: GetJobsResponse additionalProperties: false mgmt.v1alpha1.GetRunContextRequest: @@ -2946,6 +3043,7 @@ components: id: allOf: - title: id + description: The run context key - $ref: '#/components/schemas/mgmt.v1alpha1.RunContextKey' title: GetRunContextRequest additionalProperties: false @@ -2956,6 +3054,7 @@ components: type: string title: value format: byte + description: The returned value in bytes. The format is determined by the key when it is set. title: GetRunContextResponse additionalProperties: false mgmt.v1alpha1.IsJobHookNameAvailableRequest: @@ -2987,10 +3086,12 @@ components: type: string title: name pattern: ^[a-z0-9-]{3,100}$ + description: The name to check for availability accountId: type: string title: account_id format: uuid + description: The unique identifier of the account to check for availability title: IsJobNameAvailableRequest additionalProperties: false mgmt.v1alpha1.IsJobNameAvailableResponse: @@ -2999,6 +3100,7 @@ components: isAvailable: type: boolean title: is_available + description: Whether the name is available title: IsJobNameAvailableResponse additionalProperties: false mgmt.v1alpha1.Job: @@ -3044,20 +3146,24 @@ components: source: allOf: - title: source + description: The source connection configuration - $ref: '#/components/schemas/mgmt.v1alpha1.JobSource' destinations: type: array items: $ref: '#/components/schemas/mgmt.v1alpha1.JobDestination' title: destinations + description: The list of destinations that will be used to store the data mappings: type: array items: $ref: '#/components/schemas/mgmt.v1alpha1.JobMapping' title: mappings + description: The list of mappings that will be used to transform the data cronSchedule: type: string title: cron_schedule + description: The cron schedule that will be used to trigger the job accountId: type: string title: account_id @@ -3089,13 +3195,17 @@ components: connectionId: type: string title: connection_id + format: uuid + description: The connection id to use for the job destination options: allOf: - title: options + description: The destination options to use for the job destination - $ref: '#/components/schemas/mgmt.v1alpha1.JobDestinationOptions' id: type: string title: id + description: The unique identifier of the job destination title: JobDestination additionalProperties: false mgmt.v1alpha1.JobDestinationOptions: @@ -3360,15 +3470,22 @@ components: schema: type: string title: schema + minLength: 1 + description: The database schema table: type: string title: table + minLength: 1 + description: The database table. column: type: string title: column + minLength: 1 + description: The column in the configured schema.table transformer: allOf: - title: transformer + description: The transformer configuration that will be applied to each cell in the column - $ref: '#/components/schemas/mgmt.v1alpha1.JobMappingTransformer' title: JobMapping additionalProperties: false @@ -3378,6 +3495,7 @@ components: config: allOf: - title: config + description: The transformer configuration - $ref: '#/components/schemas/mgmt.v1alpha1.TransformerConfig' title: JobMappingTransformer additionalProperties: false @@ -3389,6 +3507,7 @@ components: items: $ref: '#/components/schemas/google.protobuf.Timestamp' title: next_run_times + description: The list of next run times title: JobNextRuns additionalProperties: false mgmt.v1alpha1.JobRecentRun: @@ -3397,10 +3516,12 @@ components: startTime: allOf: - title: start_time + description: The start time of the job run - $ref: '#/components/schemas/google.protobuf.Timestamp' jobRunId: type: string title: job_run_id + description: The unique identifier of the job run title: JobRecentRun additionalProperties: false mgmt.v1alpha1.JobRun: @@ -3464,26 +3585,32 @@ components: - type: string - type: number title: id + description: The unique identifier of the event type: type: string title: type + description: The type of the event startTime: allOf: - title: start_time + description: The start time of the event - $ref: '#/components/schemas/google.protobuf.Timestamp' closeTime: allOf: - title: close_time + description: The close time of the event - $ref: '#/components/schemas/google.protobuf.Timestamp' metadata: allOf: - title: metadata + description: The metadata of the event - $ref: '#/components/schemas/mgmt.v1alpha1.JobRunEventMetadata' tasks: type: array items: $ref: '#/components/schemas/mgmt.v1alpha1.JobRunEventTask' title: tasks + description: The list of tasks associated with the event title: JobRunEvent additionalProperties: false mgmt.v1alpha1.JobRunEventMetadata: @@ -3507,6 +3634,7 @@ components: syncMetadata: allOf: - title: sync_metadata + description: The metadata of the sync - $ref: '#/components/schemas/mgmt.v1alpha1.JobRunSyncMetadata' title: JobRunEventMetadata additionalProperties: false @@ -3518,16 +3646,20 @@ components: - type: string - type: number title: id + description: The unique identifier of the task type: type: string title: type + description: The type of the task eventTime: allOf: - title: event_time + description: The time of the event - $ref: '#/components/schemas/google.protobuf.Timestamp' error: allOf: - title: error + description: The error of the task - $ref: '#/components/schemas/mgmt.v1alpha1.JobRunEventTaskError' title: JobRunEventTask additionalProperties: false @@ -3537,9 +3669,11 @@ components: message: type: string title: message + description: The message of the error retryState: type: string title: retry_state + description: The retry state of the error title: JobRunEventTaskError additionalProperties: false mgmt.v1alpha1.JobRunSyncMetadata: @@ -3548,9 +3682,11 @@ components: schema: type: string title: schema + description: The schema of the table table: type: string title: table + description: The table of the sync title: JobRunSyncMetadata additionalProperties: false mgmt.v1alpha1.JobSource: @@ -3559,6 +3695,7 @@ components: options: allOf: - title: options + description: The source options to use for the job - $ref: '#/components/schemas/mgmt.v1alpha1.JobSourceOptions' title: JobSource required: @@ -3718,18 +3855,22 @@ components: postgresSubset: allOf: - title: postgres_subset + description: The list of schemas (and their tables) along with any configuration options that will be used. - $ref: '#/components/schemas/mgmt.v1alpha1.PostgresSourceSchemaSubset' mysqlSubset: allOf: - title: mysql_subset + description: The list of schemas (and their tables) along with any configuration options that will be used. - $ref: '#/components/schemas/mgmt.v1alpha1.MysqlSourceSchemaSubset' dynamodbSubset: allOf: - title: dynamodb_subset + description: The list of tables (and their configuration) that reside within the schema - $ref: '#/components/schemas/mgmt.v1alpha1.DynamoDBSourceSchemaSubset' mssqlSubset: allOf: - title: mssql_subset + description: The list of schemas (and their tables) along with any configuration options that will be used. - $ref: '#/components/schemas/mgmt.v1alpha1.MssqlSourceSchemaSubset' title: JobSourceSqlSubetSchemas additionalProperties: false @@ -3739,9 +3880,12 @@ components: jobId: type: string title: job_id + format: uuid + description: The unique identifier of the job status: allOf: - title: status + description: The status of the job - $ref: '#/components/schemas/mgmt.v1alpha1.JobStatus' title: JobStatusRecord additionalProperties: false @@ -3781,15 +3925,16 @@ components: truncateTable: allOf: - title: truncate_table + description: Whether to truncate the table before inserting data - $ref: '#/components/schemas/mgmt.v1alpha1.MssqlTruncateTableConfig' initTableSchema: type: boolean title: init_table_schema - description: Currently not supported and a placeholder for future implementation + description: Whether to initialize the table schema before inserting data onConflict: allOf: - title: on_conflict - description: Currently not supported and a placeholder for future implementation + description: The configuration for handling conflicts when inserting data - $ref: '#/components/schemas/mgmt.v1alpha1.MssqlOnConflictConfig' skipForeignKeyViolations: type: boolean @@ -3813,6 +3958,7 @@ components: doNothing: type: boolean title: do_nothing + description: Whether to do nothing when a conflict occurs title: MssqlOnConflictConfig additionalProperties: false mgmt.v1alpha1.MssqlSourceConnectionOptions: @@ -3821,18 +3967,22 @@ components: haltOnNewColumnAddition: type: boolean title: halt_on_new_column_addition + description: Whether to halt the job if a new column is added schemas: type: array items: $ref: '#/components/schemas/mgmt.v1alpha1.MssqlSourceSchemaOption' title: schemas + description: The list of schemas (and their tables) along with any configuration options that will be used. connectionId: type: string title: connection_id format: uuid + description: The unique connection id to a mssql connection configuration subsetByForeignKeyConstraints: type: boolean title: subset_by_foreign_key_constraints + description: Whether to subset the table by foreign key constraints columnRemovalStrategy: allOf: - title: column_removal_strategy @@ -3874,6 +4024,7 @@ components: continueJob: allOf: - title: continue_job + description: continue job if a column is removed - $ref: '#/components/schemas/mgmt.v1alpha1.MssqlSourceConnectionOptions.ColumnRemovalStrategy.ContinueJob' title: ColumnRemovalStrategy additionalProperties: false @@ -3893,11 +4044,15 @@ components: schema: type: string title: schema + minLength: 1 + description: The database schema tables: type: array items: $ref: '#/components/schemas/mgmt.v1alpha1.MssqlSourceTableOption' title: tables + minItems: 1 + description: The list of tables (and their configuration) that reside within the schema title: MssqlSourceSchemaOption additionalProperties: false mgmt.v1alpha1.MssqlSourceSchemaSubset: @@ -3908,6 +4063,7 @@ components: items: $ref: '#/components/schemas/mgmt.v1alpha1.MssqlSourceSchemaOption' title: mssql_schemas + description: The list of schemas (and their tables) along with any configuration options that will be used. title: MssqlSourceSchemaSubset additionalProperties: false mgmt.v1alpha1.MssqlSourceTableOption: @@ -3931,9 +4087,14 @@ components: table: type: string title: table + minLength: 1 + description: The table that will be used to subset the data for. whereClause: type: string title: where_clause + description: |- + This is not a parameterized query and must be valid. Intended to be everything after the WHERE keyword. + Is used to subset the table. title: MssqlSourceTableOption additionalProperties: false mgmt.v1alpha1.MssqlTruncateTableConfig: @@ -3942,6 +4103,7 @@ components: truncateBeforeInsert: type: boolean title: truncate_before_insert + description: Whether to truncate the table before inserting data title: MssqlTruncateTableConfig additionalProperties: false mgmt.v1alpha1.MysqlDestinationConnectionOptions: @@ -3965,13 +4127,16 @@ components: truncateTable: allOf: - title: truncate_table + description: Whether to truncate the table before inserting data - $ref: '#/components/schemas/mgmt.v1alpha1.MysqlTruncateTableConfig' initTableSchema: type: boolean title: init_table_schema + description: Whether to initialize the table schema before inserting data onConflict: allOf: - title: on_conflict + description: The configuration for handling conflicts when inserting data - $ref: '#/components/schemas/mgmt.v1alpha1.MysqlOnConflictConfig' skipForeignKeyViolations: type: boolean @@ -4049,18 +4214,22 @@ components: haltOnNewColumnAddition: type: boolean title: halt_on_new_column_addition + description: Whether to halt the job if a new column is added schemas: type: array items: $ref: '#/components/schemas/mgmt.v1alpha1.MysqlSourceSchemaOption' title: schemas + description: The list of schemas (and their tables) along with any configuration options that will be used. connectionId: type: string title: connection_id format: uuid + description: The unique connection id to a mysql connection configuration subsetByForeignKeyConstraints: type: boolean title: subset_by_foreign_key_constraints + description: Whether to subset the table by foreign key constraints columnRemovalStrategy: allOf: - title: column_removal_strategy @@ -4102,6 +4271,7 @@ components: continueJob: allOf: - title: continue_job + description: continue job if a column is removed - $ref: '#/components/schemas/mgmt.v1alpha1.MysqlSourceConnectionOptions.ColumnRemovalStrategy.ContinueJob' title: ColumnRemovalStrategy additionalProperties: false @@ -4121,11 +4291,15 @@ components: schema: type: string title: schema + minLength: 1 + description: The database schema tables: type: array items: $ref: '#/components/schemas/mgmt.v1alpha1.MysqlSourceTableOption' title: tables + minItems: 1 + description: The list of tables (and their configuration) that reside within the schema title: MysqlSourceSchemaOption additionalProperties: false mgmt.v1alpha1.MysqlSourceSchemaSubset: @@ -4136,6 +4310,7 @@ components: items: $ref: '#/components/schemas/mgmt.v1alpha1.MysqlSourceSchemaOption' title: mysql_schemas + description: The list of schemas (and their tables) along with any configuration options that will be used. title: MysqlSourceSchemaSubset additionalProperties: false mgmt.v1alpha1.MysqlSourceTableOption: @@ -4159,9 +4334,14 @@ components: table: type: string title: table + minLength: 1 + description: The table that will be used to subset the data for. whereClause: type: string title: where_clause + description: |- + This is not a parameterized query and must be valid. Intended to be everything after the WHERE keyword. + Is used to subset the table. title: MysqlSourceTableOption additionalProperties: false mgmt.v1alpha1.MysqlTruncateTableConfig: @@ -4170,6 +4350,7 @@ components: truncateBeforeInsert: type: boolean title: truncate_before_insert + description: Whether to truncate the table before inserting data title: MysqlTruncateTableConfig additionalProperties: false mgmt.v1alpha1.NewJobHook: @@ -4233,12 +4414,15 @@ components: type: string title: id format: uuid + description: The unique identifier of the job pause: type: boolean title: pause + description: Whether to pause or unpause the job note: type: string title: note + description: An optional note to be associated with the pause title: PauseJobRequest additionalProperties: false mgmt.v1alpha1.PauseJobResponse: @@ -4247,6 +4431,7 @@ components: job: allOf: - title: job + description: The job that was updated - $ref: '#/components/schemas/mgmt.v1alpha1.Job' title: PauseJobResponse additionalProperties: false @@ -4271,13 +4456,16 @@ components: status: allOf: - title: status + description: The status of the activity - $ref: '#/components/schemas/mgmt.v1alpha1.ActivityStatus' activityName: type: string title: activity_name + description: The name of the activity lastFailure: allOf: - title: last_failure + description: The last failure of the activity - $ref: '#/components/schemas/mgmt.v1alpha1.ActivityFailure' title: PendingActivity additionalProperties: false @@ -4498,18 +4686,21 @@ components: truncateTable: allOf: - title: truncate_table + description: Whether to truncate the table before inserting data - $ref: '#/components/schemas/mgmt.v1alpha1.PostgresTruncateTableConfig' initTableSchema: type: boolean title: init_table_schema + description: Whether to initialize the table schema before inserting data onConflict: allOf: - title: on_conflict + description: The configuration for handling conflicts when inserting data - $ref: '#/components/schemas/mgmt.v1alpha1.PostgresOnConflictConfig' skipForeignKeyViolations: type: boolean title: skip_foreign_key_violations - description: Insert all valid records, skipping any that violate foreign key constraints. + description: Whether to skip records that violate foreign key constraints batch: allOf: - title: batch @@ -4584,13 +4775,16 @@ components: items: $ref: '#/components/schemas/mgmt.v1alpha1.PostgresSourceSchemaOption' title: schemas + description: The list of schemas (and their tables) along with any configuration options that will be used. connectionId: type: string title: connection_id format: uuid + description: The unique connection id to a postgres connection configuration subsetByForeignKeyConstraints: type: boolean title: subset_by_foreign_key_constraints + description: Whether to subset the table by foreign key constraints newColumnAdditionStrategy: allOf: - title: new_column_addition_strategy @@ -4637,6 +4831,7 @@ components: continueJob: allOf: - title: continue_job + description: continue job if a column is removed - $ref: '#/components/schemas/mgmt.v1alpha1.PostgresSourceConnectionOptions.ColumnRemovalStrategy.ContinueJob' title: ColumnRemovalStrategy additionalProperties: false @@ -4707,11 +4902,15 @@ components: schema: type: string title: schema + minLength: 1 + description: The database schema tables: type: array items: $ref: '#/components/schemas/mgmt.v1alpha1.PostgresSourceTableOption' title: tables + minItems: 1 + description: The list of tables (and their configuration) that reside within the schema title: PostgresSourceSchemaOption additionalProperties: false mgmt.v1alpha1.PostgresSourceSchemaSubset: @@ -4722,6 +4921,7 @@ components: items: $ref: '#/components/schemas/mgmt.v1alpha1.PostgresSourceSchemaOption' title: postgres_schemas + description: The list of schemas (and their tables) along with any configuration options that will be used. title: PostgresSourceSchemaSubset additionalProperties: false mgmt.v1alpha1.PostgresSourceTableOption: @@ -4745,9 +4945,14 @@ components: table: type: string title: table + minLength: 1 + description: The table that will be used subset the data for. whereClause: type: string title: where_clause + description: |- + This is not a parameterized query and must be valid. Intended to be everything after the WHERE keyword. + Is used to subset the table. title: PostgresSourceTableOption additionalProperties: false mgmt.v1alpha1.PostgresTruncateTableConfig: @@ -4756,9 +4961,11 @@ components: truncateBeforeInsert: type: boolean title: truncate_before_insert + description: Whether to truncate the table before inserting data cascade: type: boolean title: cascade + description: Whether to cascade the truncate to child tables title: PostgresTruncateTableConfig additionalProperties: false mgmt.v1alpha1.RetryPolicy: @@ -4857,6 +5064,7 @@ components: job: allOf: - title: job + description: The job that was updated - $ref: '#/components/schemas/mgmt.v1alpha1.Job' title: SetJobSourceSqlConnectionSubsetsResponse additionalProperties: false @@ -4881,6 +5089,7 @@ components: job: allOf: - title: job + description: The updated job - $ref: '#/components/schemas/mgmt.v1alpha1.Job' title: SetJobSyncOptionsResponse additionalProperties: false @@ -4905,6 +5114,7 @@ components: job: allOf: - title: job + description: The updated job - $ref: '#/components/schemas/mgmt.v1alpha1.Job' title: SetJobWorkflowOptionsResponse additionalProperties: false @@ -4914,6 +5124,7 @@ components: id: allOf: - title: id + description: The run context key - $ref: '#/components/schemas/mgmt.v1alpha1.RunContextKey' value: type: string @@ -4932,6 +5143,7 @@ components: id: allOf: - title: id + description: The run context key - $ref: '#/components/schemas/mgmt.v1alpha1.RunContextKey' value: type: string @@ -4950,10 +5162,12 @@ components: jobRunId: type: string title: job_run_id + description: The unique identifier of the job run accountId: type: string title: account_id format: uuid + description: The unique identifier of the account title: TerminateJobRunRequest additionalProperties: false mgmt.v1alpha1.TerminateJobRunResponse: @@ -4981,7 +5195,7 @@ components: userProvidedRegex: type: string title: user_provided_regex - description: a user provided regular expression that they wish to validate if it compiles in GO + description: A user provided regular expression that will be used to scramble the characters in the input string. Must be a valid Golang regex. title: TransformCharacterScramble additionalProperties: false mgmt.v1alpha1.TransformE164PhoneNumber: @@ -5005,6 +5219,7 @@ components: preserveLength: type: boolean title: preserve_length + description: Whether or not to preserve the original length of the phone number. This causes the transformed phone number to retain the original length. title: TransformE164PhoneNumber additionalProperties: false mgmt.v1alpha1.TransformEmail: @@ -5086,6 +5301,7 @@ components: preserveLength: type: boolean title: preserve_length + description: Whether or not to preserve the original length of the first name. This causes the transformed first name to retain the original length. title: TransformFirstName additionalProperties: false mgmt.v1alpha1.TransformFloat64: @@ -5111,11 +5327,13 @@ components: - type: string - type: number title: randomization_range_min + description: The minimum value to randomize the float64 to. This will be relative to the original value. randomizationRangeMax: oneOf: - type: string - type: number title: randomization_range_max + description: The maximum value to randomize the float64 to. This will be relative to the original value. title: TransformFloat64 additionalProperties: false mgmt.v1alpha1.TransformFullName: @@ -5139,6 +5357,7 @@ components: preserveLength: type: boolean title: preserve_length + description: Whether or not to preserve the original length of the full name. This causes the transformed full name to retain the original length. title: TransformFullName additionalProperties: false mgmt.v1alpha1.TransformInt64: @@ -5164,11 +5383,13 @@ components: - type: string - type: number title: randomization_range_min + description: The minimum value to randomize the int64 to. This will be relative to the original value. randomizationRangeMax: oneOf: - type: string - type: number title: randomization_range_max + description: The maximum value to randomize the int64 to. This will be relative to the original value. title: TransformInt64 additionalProperties: false mgmt.v1alpha1.TransformInt64PhoneNumber: @@ -5192,6 +5413,7 @@ components: preserveLength: type: boolean title: preserve_length + description: Whether or not to preserve the original length of the phone number. This causes the transformed phone number to retain the original length. title: TransformInt64PhoneNumber additionalProperties: false mgmt.v1alpha1.TransformJavascript: @@ -5200,6 +5422,7 @@ components: code: type: string title: code + description: The user provided javascript code that will be executed in the transformer title: TransformJavascript additionalProperties: false mgmt.v1alpha1.TransformLastName: @@ -5223,6 +5446,7 @@ components: preserveLength: type: boolean title: preserve_length + description: Whether or not to preserve the original length of the last name. This causes the transformed last name to retain the original length. title: TransformLastName additionalProperties: false mgmt.v1alpha1.TransformPhoneNumber: @@ -5246,6 +5470,7 @@ components: preserveLength: type: boolean title: preserve_length + description: Whether or not to preserve the original length of the phone number. This causes the transformed phone number to retain the original length. title: TransformPhoneNumber additionalProperties: false mgmt.v1alpha1.TransformPiiText: @@ -5352,6 +5577,7 @@ components: preserveLength: type: boolean title: preserve_length + description: Whether or not to preserve the original length of the string. This causes the transformed string to retain the original length. title: TransformString additionalProperties: false mgmt.v1alpha1.TransformUuid: @@ -5935,6 +6161,7 @@ components: - $ref: '#/components/schemas/mgmt.v1alpha1.TransformUuid' title: TransformerConfig additionalProperties: false + description: The configuration for a transformer. This determines what type of transformation or generation is performed. mgmt.v1alpha1.UpdateJobDestinationConnectionRequest: type: object properties: @@ -5942,17 +6169,21 @@ components: type: string title: job_id format: uuid + description: The unique identifier of the job connectionId: type: string title: connection_id format: uuid + description: The unique identifier of the connection options: allOf: - title: options + description: The destination connection options - $ref: '#/components/schemas/mgmt.v1alpha1.JobDestinationOptions' destinationId: type: string title: destination_id + description: The unique identifier of the destination title: UpdateJobDestinationConnectionRequest additionalProperties: false mgmt.v1alpha1.UpdateJobDestinationConnectionResponse: @@ -5961,6 +6192,7 @@ components: job: allOf: - title: job + description: The job that was updated - $ref: '#/components/schemas/mgmt.v1alpha1.Job' title: UpdateJobDestinationConnectionResponse additionalProperties: false @@ -6032,9 +6264,11 @@ components: type: string title: id format: uuid + description: The unique identifier of the job cronSchedule: type: string title: cron_schedule + description: The new cron schedule title: UpdateJobScheduleRequest additionalProperties: false mgmt.v1alpha1.UpdateJobScheduleResponse: @@ -6043,6 +6277,7 @@ components: job: allOf: - title: job + description: The job that was updated - $ref: '#/components/schemas/mgmt.v1alpha1.Job' title: UpdateJobScheduleResponse additionalProperties: false @@ -6053,20 +6288,24 @@ components: type: string title: id format: uuid + description: The unique identifier of the job source: allOf: - title: source + description: The new source connection configuration - $ref: '#/components/schemas/mgmt.v1alpha1.JobSource' mappings: type: array items: $ref: '#/components/schemas/mgmt.v1alpha1.JobMapping' title: mappings + description: The new list of mappings that will be used to transform the data virtualForeignKeys: type: array items: $ref: '#/components/schemas/mgmt.v1alpha1.VirtualForeignConstraint' title: virtual_foreign_keys + description: The new list of virtual foreign keys that will be used to further constrain the data ontop of the database defined constraints title: UpdateJobSourceConnectionRequest additionalProperties: false mgmt.v1alpha1.UpdateJobSourceConnectionResponse: @@ -6085,6 +6324,7 @@ components: type: string title: id format: uuid + description: The id of the user defined transformer. When used in a job mapping, this will be used to reference the underlying system transformer along with it's configuration that was chosen. title: UserDefinedTransformerConfig additionalProperties: false mgmt.v1alpha1.ValidateJobMappingsRequest: @@ -6094,20 +6334,24 @@ components: type: string title: account_id format: uuid - description: The unique account identifier that this job will be associated with + description: The unique identifier of the account mappings: type: array items: $ref: '#/components/schemas/mgmt.v1alpha1.JobMapping' title: mappings + description: The list of mappings to validate connectionId: type: string title: connection_id + format: uuid + description: The unique identifier of the connection virtualForeignKeys: type: array items: $ref: '#/components/schemas/mgmt.v1alpha1.VirtualForeignConstraint' title: virtual_foreign_keys + description: The list of virtual foreign keys title: ValidateJobMappingsRequest additionalProperties: false mgmt.v1alpha1.ValidateJobMappingsResponse: @@ -6118,9 +6362,11 @@ components: items: $ref: '#/components/schemas/mgmt.v1alpha1.ColumnError' title: column_errors + description: The list of column errors databaseErrors: allOf: - title: database_errors + description: The database error - $ref: '#/components/schemas/mgmt.v1alpha1.DatabaseError' title: ValidateJobMappingsResponse additionalProperties: false @@ -6130,17 +6376,21 @@ components: schema: type: string title: schema + description: The schema of the table table: type: string title: table + description: The table of the virtual foreign key columns: type: array items: type: string title: columns + description: The list of columns foreignKey: allOf: - title: foreign_key + description: The foreign key - $ref: '#/components/schemas/mgmt.v1alpha1.VirtualForeignKey' title: VirtualForeignConstraint additionalProperties: false @@ -6150,14 +6400,17 @@ components: schema: type: string title: schema + description: The schema of the table table: type: string title: table + description: The table of the virtual foreign key columns: type: array items: type: string title: columns + description: The list of columns title: VirtualForeignKey additionalProperties: false mgmt.v1alpha1.WorkflowOptions: @@ -6250,3 +6503,4 @@ components: security: [] tags: - name: mgmt.v1alpha1.JobService + description: Service that handles jobs, runs, and hooks diff --git a/docs/openapi/mgmt/v1alpha1/metrics.openapi.yaml b/docs/openapi/mgmt/v1alpha1/metrics.openapi.yaml index 0a8adc713b..126fe280aa 100644 --- a/docs/openapi/mgmt/v1alpha1/metrics.openapi.yaml +++ b/docs/openapi/mgmt/v1alpha1/metrics.openapi.yaml @@ -130,12 +130,14 @@ components: date: allOf: - title: date + description: The date of the result - $ref: '#/components/schemas/mgmt.v1alpha1.Date' count: oneOf: - type: string - type: number title: count + description: The count of the metric for the given date title: DayResult additionalProperties: false mgmt.v1alpha1.GetDailyMetricCountRequest: @@ -212,6 +214,7 @@ components: items: $ref: '#/components/schemas/mgmt.v1alpha1.DayResult' title: results + description: The list of results for the given metric and date range title: GetDailyMetricCountResponse additionalProperties: false mgmt.v1alpha1.GetMetricCountRequest: @@ -348,3 +351,4 @@ components: security: [] tags: - name: mgmt.v1alpha1.MetricsService + description: Service that handles serving up usage metrics diff --git a/docs/openapi/mgmt/v1alpha1/transformer.openapi.yaml b/docs/openapi/mgmt/v1alpha1/transformer.openapi.yaml index caefa0a0da..1d4120f3d9 100644 --- a/docs/openapi/mgmt/v1alpha1/transformer.openapi.yaml +++ b/docs/openapi/mgmt/v1alpha1/transformer.openapi.yaml @@ -8,6 +8,7 @@ paths: tags: - mgmt.v1alpha1.TransformersService summary: GetSystemTransformers + description: Get a list of all system transformers operationId: mgmt.v1alpha1.TransformersService.GetSystemTransformers parameters: - name: Connect-Protocol-Version @@ -43,6 +44,7 @@ paths: tags: - mgmt.v1alpha1.TransformersService summary: GetSystemTransformerBySource + description: Get a system transformer by its source operationId: mgmt.v1alpha1.TransformersService.GetSystemTransformerBySource parameters: - name: Connect-Protocol-Version @@ -78,6 +80,7 @@ paths: tags: - mgmt.v1alpha1.TransformersService summary: GetUserDefinedTransformers + description: Get a list of all user defined transformers operationId: mgmt.v1alpha1.TransformersService.GetUserDefinedTransformers parameters: - name: Connect-Protocol-Version @@ -113,6 +116,7 @@ paths: tags: - mgmt.v1alpha1.TransformersService summary: GetUserDefinedTransformerById + description: Get a user defined transformer by its id operationId: mgmt.v1alpha1.TransformersService.GetUserDefinedTransformerById parameters: - name: Connect-Protocol-Version @@ -148,6 +152,7 @@ paths: tags: - mgmt.v1alpha1.TransformersService summary: CreateUserDefinedTransformer + description: Create a user defined transformer operationId: mgmt.v1alpha1.TransformersService.CreateUserDefinedTransformer parameters: - name: Connect-Protocol-Version @@ -183,6 +188,7 @@ paths: tags: - mgmt.v1alpha1.TransformersService summary: DeleteUserDefinedTransformer + description: Delete a user defined transformer operationId: mgmt.v1alpha1.TransformersService.DeleteUserDefinedTransformer parameters: - name: Connect-Protocol-Version @@ -218,6 +224,7 @@ paths: tags: - mgmt.v1alpha1.TransformersService summary: UpdateUserDefinedTransformer + description: Update a user defined transformer operationId: mgmt.v1alpha1.TransformersService.UpdateUserDefinedTransformer parameters: - name: Connect-Protocol-Version @@ -253,6 +260,7 @@ paths: tags: - mgmt.v1alpha1.TransformersService summary: IsTransformerNameAvailable + description: Check if a transformer name is available in your account operationId: mgmt.v1alpha1.TransformersService.IsTransformerNameAvailable parameters: - name: Connect-Protocol-Version @@ -288,6 +296,7 @@ paths: tags: - mgmt.v1alpha1.TransformersService summary: ValidateUserJavascriptCode + description: Validate user provided javascript code before saving it to a user defined transformer or within a job mapping operationId: mgmt.v1alpha1.TransformersService.ValidateUserJavascriptCode parameters: - name: Connect-Protocol-Version @@ -323,6 +332,7 @@ paths: tags: - mgmt.v1alpha1.TransformersService summary: ValidateUserRegexCode + description: Validate user provided regex code before saving it to a user defined transformer operationId: mgmt.v1alpha1.TransformersService.ValidateUserRegexCode parameters: - name: Connect-Protocol-Version @@ -603,20 +613,25 @@ components: type: string title: account_id format: uuid + description: The unique identifier of the account to create the user defined transformer for. name: type: string title: name pattern: ^[a-z0-9-]{3,100}$ + description: The name of the user defined transformer. description: type: string title: description + description: The description of the user defined transformer. source: allOf: - title: source + description: The source of the user defined transformer. - $ref: '#/components/schemas/mgmt.v1alpha1.TransformerSource' transformerConfig: allOf: - title: transformer_config + description: The configuration of the user defined transformer. - $ref: '#/components/schemas/mgmt.v1alpha1.TransformerConfig' title: CreateUserDefinedTransformerRequest additionalProperties: false @@ -636,6 +651,7 @@ components: type: string title: transformer_id format: uuid + description: The unique identifier of the user defined transformer to delete. title: DeleteUserDefinedTransformerRequest additionalProperties: false mgmt.v1alpha1.DeleteUserDefinedTransformerResponse: @@ -671,6 +687,7 @@ components: validLuhn: type: boolean title: valid_luhn + description: Whether or not to validate the card number using the Luhn algorithm. title: GenerateCardNumber additionalProperties: false mgmt.v1alpha1.GenerateCategorical: @@ -694,6 +711,7 @@ components: categories: type: string title: categories + description: A comma separated list of categories that will be used to generate a random value from. title: GenerateCategorical additionalProperties: false mgmt.v1alpha1.GenerateCity: @@ -751,11 +769,13 @@ components: - type: string - type: number title: min + description: The minimum length of the phone number to generate. max: oneOf: - type: string - type: number title: max + description: The maximum length of the phone number to generate. title: GenerateE164PhoneNumber additionalProperties: false mgmt.v1alpha1.GenerateEmail: @@ -822,21 +842,25 @@ components: randomizeSign: type: boolean title: randomize_sign + description: Whether or not to randomize the sign of the float64. min: oneOf: - type: string - type: number title: min + description: The minimum value to randomize the float64 to. max: oneOf: - type: string - type: number title: max + description: The maximum value to randomize the float64 to. precision: oneOf: - type: string - type: number title: precision + description: The precision of the float64 to generate. title: GenerateFloat64 additionalProperties: false mgmt.v1alpha1.GenerateFullAddress: @@ -868,6 +892,7 @@ components: abbreviate: type: boolean title: abbreviate + description: Whether or not to abbreviate the gender. title: GenerateGender additionalProperties: false mgmt.v1alpha1.GenerateInt64: @@ -898,16 +923,19 @@ components: randomizeSign: type: boolean title: randomize_sign + description: Whether or not to randomize the sign of the int64. min: oneOf: - type: string - type: number title: min + description: The minimum value to randomize the int64 to. max: oneOf: - type: string - type: number title: max + description: The maximum value to randomize the int64 to. title: GenerateInt64 additionalProperties: false mgmt.v1alpha1.GenerateInt64PhoneNumber: @@ -935,6 +963,7 @@ components: ipType: allOf: - title: ip_type + description: Optionally specify the type of ip address to generate. - $ref: '#/components/schemas/mgmt.v1alpha1.GenerateIpAddressType' title: GenerateIpAddress additionalProperties: false @@ -944,6 +973,7 @@ components: code: type: string title: code + description: The user provided javascript code that will be executed in the transformer title: GenerateJavascript additionalProperties: false mgmt.v1alpha1.GenerateLastName: @@ -1009,11 +1039,13 @@ components: - type: string - type: number title: min + description: The minimum length of the string to generate. max: oneOf: - type: string - type: number title: max + description: The maximum length of the string to generate. title: GenerateString additionalProperties: false mgmt.v1alpha1.GenerateStringPhoneNumber: @@ -1039,11 +1071,13 @@ components: - type: string - type: number title: min + description: The minimum length of the phone number to generate. max: oneOf: - type: string - type: number title: max + description: The maximum length of the phone number to generate. title: GenerateStringPhoneNumber additionalProperties: false mgmt.v1alpha1.GenerateUnixTimestamp: @@ -1079,6 +1113,7 @@ components: includeHyphens: type: boolean title: include_hyphens + description: Whether or not to include hyphens in the uuid. Defaults to true. If false, the uuid will be returned without hyphens. title: GenerateUuid additionalProperties: false mgmt.v1alpha1.GenerateZipcode: @@ -1091,6 +1126,7 @@ components: source: allOf: - title: source + description: The source of the transformer to retrieve. - $ref: '#/components/schemas/mgmt.v1alpha1.TransformerSource' title: GetSystemTransformerBySourceRequest additionalProperties: false @@ -1145,6 +1181,7 @@ components: type: string title: transformer_id format: uuid + description: The unique identifier of the user defined transformer to get. title: GetUserDefinedTransformerByIdRequest additionalProperties: false mgmt.v1alpha1.GetUserDefinedTransformerByIdResponse: @@ -1163,6 +1200,7 @@ components: type: string title: account_id format: uuid + description: The unique identifier of the account to get the user defined transformers for. title: GetUserDefinedTransformersRequest additionalProperties: false mgmt.v1alpha1.GetUserDefinedTransformersResponse: @@ -1182,10 +1220,12 @@ components: type: string title: account_id format: uuid + description: The unique identifier of the account to check for the availability of the transformer name. transformerName: type: string title: transformer_name pattern: ^[a-z0-9-]{3,100}$ + description: The name of the transformer to check for availability. title: IsTransformerNameAvailableRequest additionalProperties: false mgmt.v1alpha1.IsTransformerNameAvailableResponse: @@ -1194,6 +1234,7 @@ components: isAvailable: type: boolean title: is_available + description: Whether or not the transformer name is available. title: IsTransformerNameAvailableResponse additionalProperties: false mgmt.v1alpha1.Null: @@ -1406,26 +1447,32 @@ components: name: type: string title: name + description: The name of the transformer. description: type: string title: description + description: The description of the transformer. dataType: allOf: - title: data_type + description: '@deprecated: data_types is deprecated and will be removed in a future release. Use data_types instead.' - $ref: '#/components/schemas/mgmt.v1alpha1.TransformerDataType' source: allOf: - title: source + description: The source of the transformer. - $ref: '#/components/schemas/mgmt.v1alpha1.TransformerSource' config: allOf: - title: config + description: The configuration of the transformer. - $ref: '#/components/schemas/mgmt.v1alpha1.TransformerConfig' dataTypes: type: array items: $ref: '#/components/schemas/mgmt.v1alpha1.TransformerDataType' title: data_types + description: The data types supported by the transformer. supportedJobTypes: type: array items: @@ -1433,6 +1480,9 @@ components: title: supported_job_types title: SystemTransformer additionalProperties: false + description: |- + A system transformer is a transformer that is built into the Neosync platform. + It can be used directly in job mappings or used in user-defined transformers to snapshot a specific configuration. mgmt.v1alpha1.TransformCharacterScramble: type: object allOf: @@ -1454,7 +1504,7 @@ components: userProvidedRegex: type: string title: user_provided_regex - description: a user provided regular expression that they wish to validate if it compiles in GO + description: A user provided regular expression that will be used to scramble the characters in the input string. Must be a valid Golang regex. title: TransformCharacterScramble additionalProperties: false mgmt.v1alpha1.TransformE164PhoneNumber: @@ -1478,6 +1528,7 @@ components: preserveLength: type: boolean title: preserve_length + description: Whether or not to preserve the original length of the phone number. This causes the transformed phone number to retain the original length. title: TransformE164PhoneNumber additionalProperties: false mgmt.v1alpha1.TransformEmail: @@ -1559,6 +1610,7 @@ components: preserveLength: type: boolean title: preserve_length + description: Whether or not to preserve the original length of the first name. This causes the transformed first name to retain the original length. title: TransformFirstName additionalProperties: false mgmt.v1alpha1.TransformFloat64: @@ -1584,11 +1636,13 @@ components: - type: string - type: number title: randomization_range_min + description: The minimum value to randomize the float64 to. This will be relative to the original value. randomizationRangeMax: oneOf: - type: string - type: number title: randomization_range_max + description: The maximum value to randomize the float64 to. This will be relative to the original value. title: TransformFloat64 additionalProperties: false mgmt.v1alpha1.TransformFullName: @@ -1612,6 +1666,7 @@ components: preserveLength: type: boolean title: preserve_length + description: Whether or not to preserve the original length of the full name. This causes the transformed full name to retain the original length. title: TransformFullName additionalProperties: false mgmt.v1alpha1.TransformInt64: @@ -1637,11 +1692,13 @@ components: - type: string - type: number title: randomization_range_min + description: The minimum value to randomize the int64 to. This will be relative to the original value. randomizationRangeMax: oneOf: - type: string - type: number title: randomization_range_max + description: The maximum value to randomize the int64 to. This will be relative to the original value. title: TransformInt64 additionalProperties: false mgmt.v1alpha1.TransformInt64PhoneNumber: @@ -1665,6 +1722,7 @@ components: preserveLength: type: boolean title: preserve_length + description: Whether or not to preserve the original length of the phone number. This causes the transformed phone number to retain the original length. title: TransformInt64PhoneNumber additionalProperties: false mgmt.v1alpha1.TransformJavascript: @@ -1673,6 +1731,7 @@ components: code: type: string title: code + description: The user provided javascript code that will be executed in the transformer title: TransformJavascript additionalProperties: false mgmt.v1alpha1.TransformLastName: @@ -1696,6 +1755,7 @@ components: preserveLength: type: boolean title: preserve_length + description: Whether or not to preserve the original length of the last name. This causes the transformed last name to retain the original length. title: TransformLastName additionalProperties: false mgmt.v1alpha1.TransformPhoneNumber: @@ -1719,6 +1779,7 @@ components: preserveLength: type: boolean title: preserve_length + description: Whether or not to preserve the original length of the phone number. This causes the transformed phone number to retain the original length. title: TransformPhoneNumber additionalProperties: false mgmt.v1alpha1.TransformPiiText: @@ -1825,6 +1886,7 @@ components: preserveLength: type: boolean title: preserve_length + description: Whether or not to preserve the original length of the string. This causes the transformed string to retain the original length. title: TransformString additionalProperties: false mgmt.v1alpha1.TransformUuid: @@ -2408,6 +2470,7 @@ components: - $ref: '#/components/schemas/mgmt.v1alpha1.TransformUuid' title: TransformerConfig additionalProperties: false + description: The configuration for a transformer. This determines what type of transformation or generation is performed. mgmt.v1alpha1.UpdateUserDefinedTransformerRequest: type: object properties: @@ -2415,16 +2478,20 @@ components: type: string title: transformer_id format: uuid + description: The unique identifier of the user defined transformer to update. name: type: string title: name pattern: ^[a-z0-9-]{3,100}$ + description: The name of the user defined transformer. description: type: string title: description + description: The description of the user defined transformer. transformerConfig: allOf: - title: transformer_config + description: The configuration of the user defined transformer. - $ref: '#/components/schemas/mgmt.v1alpha1.TransformerConfig' title: UpdateUserDefinedTransformerRequest additionalProperties: false @@ -2444,41 +2511,50 @@ components: type: string title: id format: uuid + description: The unique identifier of the user defined transformer. name: type: string title: name + description: The name of the user defined transformer. description: type: string title: description + description: The description of the user defined transformer. dataType: allOf: - title: data_type - description: This property is readonly and is calculated based off the origin system transformer + description: '@deprecated: data_type is deprecated and will be removed in a future release. Use data_types instead.' - $ref: '#/components/schemas/mgmt.v1alpha1.TransformerDataType' source: allOf: - title: source + description: The source of the user defined transformer. - $ref: '#/components/schemas/mgmt.v1alpha1.TransformerSource' config: allOf: - title: config + description: The configuration of the user defined transformer. - $ref: '#/components/schemas/mgmt.v1alpha1.TransformerConfig' createdAt: allOf: - title: created_at + description: The date and time the user defined transformer was created. - $ref: '#/components/schemas/google.protobuf.Timestamp' updatedAt: allOf: - title: updated_at + description: The date and time the user defined transformer was last updated. - $ref: '#/components/schemas/google.protobuf.Timestamp' accountId: type: string title: account_id + description: The unique identifier of the account that owns the user defined transformer. dataTypes: type: array items: $ref: '#/components/schemas/mgmt.v1alpha1.TransformerDataType' title: data_types + description: The data types supported by the user defined transformer. This is currently calculated based off the origin system transformer. title: UserDefinedTransformer additionalProperties: false mgmt.v1alpha1.UserDefinedTransformerConfig: @@ -2488,6 +2564,7 @@ components: type: string title: id format: uuid + description: The id of the user defined transformer. When used in a job mapping, this will be used to reference the underlying system transformer along with it's configuration that was chosen. title: UserDefinedTransformerConfig additionalProperties: false mgmt.v1alpha1.ValidateUserJavascriptCodeRequest: @@ -2497,6 +2574,7 @@ components: type: string title: code minLength: 1 + description: The user provided javascript code that will be validated. title: ValidateUserJavascriptCodeRequest additionalProperties: false mgmt.v1alpha1.ValidateUserJavascriptCodeResponse: @@ -2513,6 +2591,7 @@ components: userProvidedRegex: type: string title: user_provided_regex + description: The user provided regex to validate title: ValidateUserRegexCodeRequest additionalProperties: false mgmt.v1alpha1.ValidateUserRegexCodeResponse: @@ -2521,6 +2600,7 @@ components: valid: type: boolean title: valid + description: Whether the regex is valid title: ValidateUserRegexCodeResponse additionalProperties: false connect-protocol-version: @@ -2582,3 +2662,4 @@ components: security: [] tags: - name: mgmt.v1alpha1.TransformersService + description: Service that manages system and user defined transformers diff --git a/docs/openapi/mgmt/v1alpha1/user_account.openapi.yaml b/docs/openapi/mgmt/v1alpha1/user_account.openapi.yaml index ef7e54311e..4c2c3449ab 100644 --- a/docs/openapi/mgmt/v1alpha1/user_account.openapi.yaml +++ b/docs/openapi/mgmt/v1alpha1/user_account.openapi.yaml @@ -8,6 +8,7 @@ paths: tags: - mgmt.v1alpha1.UserAccountService summary: GetUser + description: Retrieves the current user. operationId: mgmt.v1alpha1.UserAccountService.GetUser parameters: - name: Connect-Protocol-Version @@ -43,6 +44,7 @@ paths: tags: - mgmt.v1alpha1.UserAccountService summary: SetUser + description: Sets the current user. operationId: mgmt.v1alpha1.UserAccountService.SetUser parameters: - name: Connect-Protocol-Version @@ -78,6 +80,7 @@ paths: tags: - mgmt.v1alpha1.UserAccountService summary: GetUserAccounts + description: Retrieves the list of accounts that the user belongs to. operationId: mgmt.v1alpha1.UserAccountService.GetUserAccounts parameters: - name: Connect-Protocol-Version @@ -113,6 +116,7 @@ paths: tags: - mgmt.v1alpha1.UserAccountService summary: SetPersonalAccount + description: Sets the current personal account. operationId: mgmt.v1alpha1.UserAccountService.SetPersonalAccount parameters: - name: Connect-Protocol-Version @@ -220,6 +224,7 @@ paths: tags: - mgmt.v1alpha1.UserAccountService summary: IsUserInAccount + description: Checks if the user is in the account. operationId: mgmt.v1alpha1.UserAccountService.IsUserInAccount parameters: - name: Connect-Protocol-Version @@ -255,6 +260,7 @@ paths: tags: - mgmt.v1alpha1.UserAccountService summary: GetAccountTemporalConfig + description: Retrieves the temporal config for the account. operationId: mgmt.v1alpha1.UserAccountService.GetAccountTemporalConfig parameters: - name: Connect-Protocol-Version @@ -290,6 +296,7 @@ paths: tags: - mgmt.v1alpha1.UserAccountService summary: SetAccountTemporalConfig + description: Sets the temporal config for the account. operationId: mgmt.v1alpha1.UserAccountService.SetAccountTemporalConfig parameters: - name: Connect-Protocol-Version @@ -325,6 +332,7 @@ paths: tags: - mgmt.v1alpha1.UserAccountService summary: GetTeamAccountMembers + description: Retrieves the list of members in the team account. operationId: mgmt.v1alpha1.UserAccountService.GetTeamAccountMembers parameters: - name: Connect-Protocol-Version @@ -360,6 +368,7 @@ paths: tags: - mgmt.v1alpha1.UserAccountService summary: RemoveTeamAccountMember + description: Removes a member from the team account. operationId: mgmt.v1alpha1.UserAccountService.RemoveTeamAccountMember parameters: - name: Connect-Protocol-Version @@ -395,6 +404,7 @@ paths: tags: - mgmt.v1alpha1.UserAccountService summary: InviteUserToTeamAccount + description: Invites a user to the team account. operationId: mgmt.v1alpha1.UserAccountService.InviteUserToTeamAccount parameters: - name: Connect-Protocol-Version @@ -430,6 +440,7 @@ paths: tags: - mgmt.v1alpha1.UserAccountService summary: GetTeamAccountInvites + description: Retrieves the list of invites for the team account. operationId: mgmt.v1alpha1.UserAccountService.GetTeamAccountInvites parameters: - name: Connect-Protocol-Version @@ -465,6 +476,7 @@ paths: tags: - mgmt.v1alpha1.UserAccountService summary: RemoveTeamAccountInvite + description: Removes an invite from the team account. operationId: mgmt.v1alpha1.UserAccountService.RemoveTeamAccountInvite parameters: - name: Connect-Protocol-Version @@ -500,6 +512,7 @@ paths: tags: - mgmt.v1alpha1.UserAccountService summary: AcceptTeamAccountInvite + description: Accepts an invite to the team account. operationId: mgmt.v1alpha1.UserAccountService.AcceptTeamAccountInvite parameters: - name: Connect-Protocol-Version @@ -535,6 +548,7 @@ paths: tags: - mgmt.v1alpha1.UserAccountService summary: GetSystemInformation + description: Retrieves the system information. operationId: mgmt.v1alpha1.UserAccountService.GetSystemInformation parameters: - name: Connect-Protocol-Version @@ -570,6 +584,7 @@ paths: tags: - mgmt.v1alpha1.UserAccountService summary: GetAccountOnboardingConfig + description: Retrieves the onboarding config for the account. operationId: mgmt.v1alpha1.UserAccountService.GetAccountOnboardingConfig parameters: - name: Connect-Protocol-Version @@ -605,6 +620,7 @@ paths: tags: - mgmt.v1alpha1.UserAccountService summary: SetAccountOnboardingConfig + description: Sets the onboarding config for the account. operationId: mgmt.v1alpha1.UserAccountService.SetAccountOnboardingConfig parameters: - name: Connect-Protocol-Version @@ -1023,6 +1039,7 @@ components: type: string title: token minLength: 1 + description: The token that the user will use to accept the invite. title: AcceptTeamAccountInviteRequest additionalProperties: false mgmt.v1alpha1.AcceptTeamAccountInviteResponse: @@ -1031,6 +1048,7 @@ components: account: allOf: - title: account + description: The account that the user was invited to. - $ref: '#/components/schemas/mgmt.v1alpha1.UserAccount' title: AcceptTeamAccountInviteResponse additionalProperties: false @@ -1040,32 +1058,41 @@ components: id: type: string title: id + description: The unique identifier of the invite. accountId: type: string title: account_id + description: The unique identifier of the account to invite the user to. senderUserId: type: string title: sender_user_id + description: The unique identifier of the user that sent the invite. email: type: string title: email + description: The email of the user to invite. token: type: string title: token + description: The token that the user will use to accept the invite. accepted: type: boolean title: accepted + description: Whether or not the invite has been accepted. createdAt: allOf: - title: created_at + description: The time when the invite was created. - $ref: '#/components/schemas/google.protobuf.Timestamp' updatedAt: allOf: - title: updated_at + description: The time when the invite was last updated. - $ref: '#/components/schemas/google.protobuf.Timestamp' expiresAt: allOf: - title: expires_at + description: The time when the invite expires. - $ref: '#/components/schemas/google.protobuf.Timestamp' role: allOf: @@ -1080,6 +1107,7 @@ components: hasCompletedOnboarding: type: boolean title: has_completed_onboarding + description: Whether or not the account has completed onboarding. title: AccountOnboardingConfig additionalProperties: false mgmt.v1alpha1.AccountTemporalConfig: @@ -1089,14 +1117,17 @@ components: type: string title: url minLength: 1 + description: The temporal url for the account. namespace: type: string title: namespace minLength: 1 + description: The temporal namespace for the account. syncJobQueueName: type: string title: sync_job_queue_name minLength: 1 + description: The temporal sync job queue name for the account. title: AccountTemporalConfig additionalProperties: false mgmt.v1alpha1.AccountUser: @@ -1105,15 +1136,19 @@ components: id: type: string title: id + description: The unique identifier of the user. name: type: string title: name + description: The name of the user (if there is one) image: type: string title: image + description: The image of the user (if there is one) email: type: string title: email + description: The email of the user. role: allOf: - title: role @@ -1216,6 +1251,7 @@ components: accountId: type: string title: account_id + description: The unique identifier of the team account that was created. checkoutSessionUrl: type: string title: checkout_session_url @@ -1229,6 +1265,7 @@ components: type: string title: account_id format: uuid + description: The unique identifier of the account to get the billing checkout session for. title: GetAccountBillingCheckoutSessionRequest additionalProperties: false mgmt.v1alpha1.GetAccountBillingCheckoutSessionResponse: @@ -1247,6 +1284,7 @@ components: type: string title: account_id format: uuid + description: The unique identifier of the account to get the billing portal session for. title: GetAccountBillingPortalSessionRequest additionalProperties: false mgmt.v1alpha1.GetAccountBillingPortalSessionResponse: @@ -1265,6 +1303,7 @@ components: type: string title: account_id format: uuid + description: The unique identifier of the account to get the onboarding config for. title: GetAccountOnboardingConfigRequest additionalProperties: false mgmt.v1alpha1.GetAccountOnboardingConfigResponse: @@ -1273,6 +1312,7 @@ components: config: allOf: - title: config + description: The onboarding config for the account. - $ref: '#/components/schemas/mgmt.v1alpha1.AccountOnboardingConfig' title: GetAccountOnboardingConfigResponse additionalProperties: false @@ -1283,6 +1323,7 @@ components: type: string title: account_id format: uuid + description: The unique identifier of the account to get the status for. title: GetAccountStatusRequest additionalProperties: false mgmt.v1alpha1.GetAccountStatusResponse: @@ -1331,6 +1372,7 @@ components: type: string title: account_id format: uuid + description: The unique identifier of the account to get the temporal config for. title: GetAccountTemporalConfigRequest additionalProperties: false mgmt.v1alpha1.GetAccountTemporalConfigResponse: @@ -1339,6 +1381,7 @@ components: config: allOf: - title: config + description: The temporal config for the account. - $ref: '#/components/schemas/mgmt.v1alpha1.AccountTemporalConfig' title: GetAccountTemporalConfigResponse additionalProperties: false @@ -1361,6 +1404,7 @@ components: items: $ref: '#/components/schemas/mgmt.v1alpha1.UserAccount' title: accounts + description: The list of accounts that have a billing id. title: GetBillingAccountsResponse additionalProperties: false mgmt.v1alpha1.GetSystemInformationRequest: @@ -1405,6 +1449,7 @@ components: type: string title: account_id format: uuid + description: The unique identifier of the account to get the invites for. title: GetTeamAccountInvitesRequest additionalProperties: false mgmt.v1alpha1.GetTeamAccountInvitesResponse: @@ -1415,6 +1460,7 @@ components: items: $ref: '#/components/schemas/mgmt.v1alpha1.AccountInvite' title: invites + description: The list of invites for the account. title: GetTeamAccountInvitesResponse additionalProperties: false mgmt.v1alpha1.GetTeamAccountMembersRequest: @@ -1424,6 +1470,7 @@ components: type: string title: account_id format: uuid + description: The unique identifier of the account to get the members for. title: GetTeamAccountMembersRequest additionalProperties: false mgmt.v1alpha1.GetTeamAccountMembersResponse: @@ -1448,6 +1495,7 @@ components: items: $ref: '#/components/schemas/mgmt.v1alpha1.UserAccount' title: accounts + description: The list of accounts that the user belongs to. title: GetUserAccountsResponse additionalProperties: false mgmt.v1alpha1.GetUserRequest: @@ -1460,6 +1508,7 @@ components: userId: type: string title: user_id + description: The unique identifier of the user that was retrieved. title: GetUserResponse additionalProperties: false mgmt.v1alpha1.InviteUserToTeamAccountRequest: @@ -1484,12 +1533,12 @@ components: type: string title: account_id format: uuid - description: The account id to invite the user to + description: The unique identifier of the account to invite the user to. email: type: string title: email minLength: 1 - description: The email of the user to invite + description: The email of the user to invite. role: allOf: - title: role @@ -1503,6 +1552,7 @@ components: invite: allOf: - title: invite + description: The invite that was created. - $ref: '#/components/schemas/mgmt.v1alpha1.AccountInvite' title: InviteUserToTeamAccountResponse additionalProperties: false @@ -1528,6 +1578,7 @@ components: type: string title: account_id format: uuid + description: The unique identifier of the account to get the status for. requestedRecordCount: oneOf: - type: string @@ -1557,6 +1608,7 @@ components: isValid: type: boolean title: is_valid + description: Whether or not the account is valid. reason: type: string title: reason @@ -1584,6 +1636,7 @@ components: type: string title: account_id format: uuid + description: The unique identifier of the account to check if the user is in. title: IsUserInAccountRequest additionalProperties: false mgmt.v1alpha1.IsUserInAccountResponse: @@ -1592,6 +1645,7 @@ components: ok: type: boolean title: ok + description: Whether or not the user is in the account. title: IsUserInAccountResponse additionalProperties: false mgmt.v1alpha1.RemoveTeamAccountInviteRequest: @@ -1601,6 +1655,7 @@ components: type: string title: id format: uuid + description: The unique identifier of the invite to remove. title: RemoveTeamAccountInviteRequest additionalProperties: false mgmt.v1alpha1.RemoveTeamAccountInviteResponse: @@ -1614,10 +1669,12 @@ components: type: string title: user_id format: uuid + description: The unique identifier of the user to remove from the account. accountId: type: string title: account_id format: uuid + description: The unique identifier of the account to remove the user from. title: RemoveTeamAccountMemberRequest additionalProperties: false mgmt.v1alpha1.RemoveTeamAccountMemberResponse: @@ -1631,9 +1688,11 @@ components: type: string title: account_id format: uuid + description: The unique identifier of the account to set the onboarding config for. config: allOf: - title: config + description: The onboarding config to set for the account. - $ref: '#/components/schemas/mgmt.v1alpha1.AccountOnboardingConfig' title: SetAccountOnboardingConfigRequest additionalProperties: false @@ -1643,6 +1702,7 @@ components: config: allOf: - title: config + description: The onboarding config that was set for the account. - $ref: '#/components/schemas/mgmt.v1alpha1.AccountOnboardingConfig' title: SetAccountOnboardingConfigResponse additionalProperties: false @@ -1653,9 +1713,11 @@ components: type: string title: account_id format: uuid + description: The unique identifier of the account to set the temporal config for. config: allOf: - title: config + description: The temporal config to set for the account. - $ref: '#/components/schemas/mgmt.v1alpha1.AccountTemporalConfig' title: SetAccountTemporalConfigRequest additionalProperties: false @@ -1665,6 +1727,7 @@ components: config: allOf: - title: config + description: The temporal config that was set for the account. - $ref: '#/components/schemas/mgmt.v1alpha1.AccountTemporalConfig' title: SetAccountTemporalConfigResponse additionalProperties: false @@ -1690,7 +1753,7 @@ components: type: string title: account_id format: uuid - description: The account id to apply this metered event to + description: The unique identifier of the account to apply this metered event to. eventName: type: string title: event_name @@ -1728,6 +1791,7 @@ components: accountId: type: string title: account_id + description: The unique identifier of the personal account that was created. title: SetPersonalAccountResponse additionalProperties: false mgmt.v1alpha1.SetUserRequest: @@ -1740,6 +1804,7 @@ components: userId: type: string title: user_id + description: The unique identifier of the user that was created. title: SetUserResponse additionalProperties: false mgmt.v1alpha1.SetUserRoleRequest: @@ -1749,16 +1814,16 @@ components: type: string title: account_id format: uuid - description: The account id to apply this role to + description: The unique identifier of the account to apply this role to. userId: type: string title: user_id format: uuid - description: The user that this will be applied to + description: The unique identifier of the user that this will be applied to. role: allOf: - title: role - description: The role that this user will obtain + description: The role that this user will obtain. - $ref: '#/components/schemas/mgmt.v1alpha1.AccountRole' title: SetUserRoleRequest additionalProperties: false @@ -1865,3 +1930,4 @@ components: security: [] tags: - name: mgmt.v1alpha1.UserAccountService + description: Service that manages users, accounts, and billing diff --git a/docs/openapi/neosync.mgmt.v1alpha1.yaml b/docs/openapi/neosync.mgmt.v1alpha1.yaml index a85e06722b..a7b9419c62 100644 --- a/docs/openapi/neosync.mgmt.v1alpha1.yaml +++ b/docs/openapi/neosync.mgmt.v1alpha1.yaml @@ -4,6 +4,9 @@ info: title: mgmt.v1alpha1 tags: - name: mgmt.v1alpha1.AnonymizationService + description: >- + Service that transactionally anonymizes data, regardless of the connection + type. x-displayName: mgmt.v1alpha1.AnonymizationService - name: mgmt.v1alpha1.ApiKeyService description: >- @@ -26,12 +29,16 @@ tags: This is used in handle data from a connection x-displayName: mgmt.v1alpha1.ConnectionDataService - name: mgmt.v1alpha1.JobService + description: Service that handles jobs, runs, and hooks x-displayName: mgmt.v1alpha1.JobService - name: mgmt.v1alpha1.MetricsService + description: Service that handles serving up usage metrics x-displayName: mgmt.v1alpha1.MetricsService - name: mgmt.v1alpha1.TransformersService + description: Service that manages system and user defined transformers x-displayName: mgmt.v1alpha1.TransformersService - name: mgmt.v1alpha1.UserAccountService + description: Service that manages users, accounts, and billing x-displayName: mgmt.v1alpha1.UserAccountService paths: /mgmt.v1alpha1.AnonymizationService/AnonymizeMany: @@ -41,7 +48,7 @@ paths: summary: AnonymizeMany description: >- Anonymizes many JSON strings by applying specified transformation - mappings. + mappings. This is the bulk version of the `AnonymizeSingle` method. operationId: mgmt.v1alpha1.AnonymizationService.AnonymizeMany parameters: - name: Connect-Protocol-Version @@ -1123,6 +1130,7 @@ paths: tags: - mgmt.v1alpha1.JobService summary: GetJobs + description: Returns a list of jobs by either account or job operationId: mgmt.v1alpha1.JobService.GetJobs parameters: - name: Connect-Protocol-Version @@ -1159,6 +1167,7 @@ paths: tags: - mgmt.v1alpha1.JobService summary: GetJob + description: Returns a specific job operationId: mgmt.v1alpha1.JobService.GetJob parameters: - name: Connect-Protocol-Version @@ -1195,6 +1204,7 @@ paths: tags: - mgmt.v1alpha1.JobService summary: CreateJob + description: Creates a new job operationId: mgmt.v1alpha1.JobService.CreateJob parameters: - name: Connect-Protocol-Version @@ -1231,6 +1241,7 @@ paths: tags: - mgmt.v1alpha1.JobService summary: DeleteJob + description: Deletes a job operationId: mgmt.v1alpha1.JobService.DeleteJob parameters: - name: Connect-Protocol-Version @@ -1267,6 +1278,7 @@ paths: tags: - mgmt.v1alpha1.JobService summary: IsJobNameAvailable + description: Checks if a job name is available operationId: mgmt.v1alpha1.JobService.IsJobNameAvailable parameters: - name: Connect-Protocol-Version @@ -1303,6 +1315,7 @@ paths: tags: - mgmt.v1alpha1.JobService summary: UpdateJobSchedule + description: Updates the schedule of a job operationId: mgmt.v1alpha1.JobService.UpdateJobSchedule parameters: - name: Connect-Protocol-Version @@ -1339,6 +1352,7 @@ paths: tags: - mgmt.v1alpha1.JobService summary: UpdateJobSourceConnection + description: Updates the source connection of a job operationId: mgmt.v1alpha1.JobService.UpdateJobSourceConnection parameters: - name: Connect-Protocol-Version @@ -1377,6 +1391,7 @@ paths: tags: - mgmt.v1alpha1.JobService summary: SetJobSourceSqlConnectionSubsets + description: Sets the source sql connection subsets of a job operationId: mgmt.v1alpha1.JobService.SetJobSourceSqlConnectionSubsets parameters: - name: Connect-Protocol-Version @@ -1415,6 +1430,7 @@ paths: tags: - mgmt.v1alpha1.JobService summary: UpdateJobDestinationConnection + description: Updates the destination connection of a job operationId: mgmt.v1alpha1.JobService.UpdateJobDestinationConnection parameters: - name: Connect-Protocol-Version @@ -1453,6 +1469,7 @@ paths: tags: - mgmt.v1alpha1.JobService summary: DeleteJobDestinationConnection + description: Deletes the destination connection of a job operationId: mgmt.v1alpha1.JobService.DeleteJobDestinationConnection parameters: - name: Connect-Protocol-Version @@ -1491,6 +1508,7 @@ paths: tags: - mgmt.v1alpha1.JobService summary: CreateJobDestinationConnections + description: Creates the destination connections of a job operationId: mgmt.v1alpha1.JobService.CreateJobDestinationConnections parameters: - name: Connect-Protocol-Version @@ -1529,6 +1547,7 @@ paths: tags: - mgmt.v1alpha1.JobService summary: PauseJob + description: Pauses or unpauses a job operationId: mgmt.v1alpha1.JobService.PauseJob parameters: - name: Connect-Protocol-Version @@ -1566,7 +1585,7 @@ paths: - mgmt.v1alpha1.JobService summary: GetJobRecentRuns description: >- - Returns a list of recently invoked job runs baseds on the Temporal cron + Returns a list of recently invoked job runs based on the Temporal cron scheduler. This will return a list of job runs that include archived runs operationId: mgmt.v1alpha1.JobService.GetJobRecentRuns @@ -1644,6 +1663,7 @@ paths: tags: - mgmt.v1alpha1.JobService summary: GetJobStatus + description: Returns the status of a job operationId: mgmt.v1alpha1.JobService.GetJobStatus parameters: - name: Connect-Protocol-Version @@ -1680,6 +1700,7 @@ paths: tags: - mgmt.v1alpha1.JobService summary: GetJobStatuses + description: Returns the statuses of jobs within an account operationId: mgmt.v1alpha1.JobService.GetJobStatuses parameters: - name: Connect-Protocol-Version @@ -1753,6 +1774,9 @@ paths: tags: - mgmt.v1alpha1.JobService summary: GetJobRunEvents + description: >- + Returns a list of events for a job run to understand more details of the + run itself operationId: mgmt.v1alpha1.JobService.GetJobRunEvents parameters: - name: Connect-Protocol-Version @@ -1826,6 +1850,7 @@ paths: tags: - mgmt.v1alpha1.JobService summary: DeleteJobRun + description: Deletes a job run operationId: mgmt.v1alpha1.JobService.DeleteJobRun parameters: - name: Connect-Protocol-Version @@ -1862,6 +1887,7 @@ paths: tags: - mgmt.v1alpha1.JobService summary: CreateJobRun + description: Creates a new job run operationId: mgmt.v1alpha1.JobService.CreateJobRun parameters: - name: Connect-Protocol-Version @@ -1898,6 +1924,9 @@ paths: tags: - mgmt.v1alpha1.JobService summary: CancelJobRun + description: >- + Cancels a job run. This is a graceful termination and allows the + workflow to clean up and exit gracefully. operationId: mgmt.v1alpha1.JobService.CancelJobRun parameters: - name: Connect-Protocol-Version @@ -1934,6 +1963,9 @@ paths: tags: - mgmt.v1alpha1.JobService summary: TerminateJobRun + description: >- + Terminates a job run. This is an immediate termination and will not + allow the workflow to clean up and exit gracefully. operationId: mgmt.v1alpha1.JobService.TerminateJobRun parameters: - name: Connect-Protocol-Version @@ -2050,7 +2082,7 @@ paths: tags: - mgmt.v1alpha1.JobService summary: ValidateJobMappings - description: validates that the jobmapping configured can run with table constraints + description: Validates that the jobmapping configured can run with table constraints operationId: mgmt.v1alpha1.JobService.ValidateJobMappings parameters: - name: Connect-Protocol-Version @@ -2537,6 +2569,7 @@ paths: tags: - mgmt.v1alpha1.TransformersService summary: GetSystemTransformers + description: Get a list of all system transformers operationId: mgmt.v1alpha1.TransformersService.GetSystemTransformers parameters: - name: Connect-Protocol-Version @@ -2574,6 +2607,7 @@ paths: tags: - mgmt.v1alpha1.TransformersService summary: GetSystemTransformerBySource + description: Get a system transformer by its source operationId: mgmt.v1alpha1.TransformersService.GetSystemTransformerBySource parameters: - name: Connect-Protocol-Version @@ -2612,6 +2646,7 @@ paths: tags: - mgmt.v1alpha1.TransformersService summary: GetUserDefinedTransformers + description: Get a list of all user defined transformers operationId: mgmt.v1alpha1.TransformersService.GetUserDefinedTransformers parameters: - name: Connect-Protocol-Version @@ -2650,6 +2685,7 @@ paths: tags: - mgmt.v1alpha1.TransformersService summary: GetUserDefinedTransformerById + description: Get a user defined transformer by its id operationId: mgmt.v1alpha1.TransformersService.GetUserDefinedTransformerById parameters: - name: Connect-Protocol-Version @@ -2688,6 +2724,7 @@ paths: tags: - mgmt.v1alpha1.TransformersService summary: CreateUserDefinedTransformer + description: Create a user defined transformer operationId: mgmt.v1alpha1.TransformersService.CreateUserDefinedTransformer parameters: - name: Connect-Protocol-Version @@ -2726,6 +2763,7 @@ paths: tags: - mgmt.v1alpha1.TransformersService summary: DeleteUserDefinedTransformer + description: Delete a user defined transformer operationId: mgmt.v1alpha1.TransformersService.DeleteUserDefinedTransformer parameters: - name: Connect-Protocol-Version @@ -2764,6 +2802,7 @@ paths: tags: - mgmt.v1alpha1.TransformersService summary: UpdateUserDefinedTransformer + description: Update a user defined transformer operationId: mgmt.v1alpha1.TransformersService.UpdateUserDefinedTransformer parameters: - name: Connect-Protocol-Version @@ -2802,6 +2841,7 @@ paths: tags: - mgmt.v1alpha1.TransformersService summary: IsTransformerNameAvailable + description: Check if a transformer name is available in your account operationId: mgmt.v1alpha1.TransformersService.IsTransformerNameAvailable parameters: - name: Connect-Protocol-Version @@ -2840,6 +2880,9 @@ paths: tags: - mgmt.v1alpha1.TransformersService summary: ValidateUserJavascriptCode + description: >- + Validate user provided javascript code before saving it to a user + defined transformer or within a job mapping operationId: mgmt.v1alpha1.TransformersService.ValidateUserJavascriptCode parameters: - name: Connect-Protocol-Version @@ -2878,6 +2921,9 @@ paths: tags: - mgmt.v1alpha1.TransformersService summary: ValidateUserRegexCode + description: >- + Validate user provided regex code before saving it to a user defined + transformer operationId: mgmt.v1alpha1.TransformersService.ValidateUserRegexCode parameters: - name: Connect-Protocol-Version @@ -2956,6 +3002,7 @@ paths: tags: - mgmt.v1alpha1.UserAccountService summary: GetUser + description: Retrieves the current user. operationId: mgmt.v1alpha1.UserAccountService.GetUser parameters: - name: Connect-Protocol-Version @@ -2992,6 +3039,7 @@ paths: tags: - mgmt.v1alpha1.UserAccountService summary: SetUser + description: Sets the current user. operationId: mgmt.v1alpha1.UserAccountService.SetUser parameters: - name: Connect-Protocol-Version @@ -3028,6 +3076,7 @@ paths: tags: - mgmt.v1alpha1.UserAccountService summary: GetUserAccounts + description: Retrieves the list of accounts that the user belongs to. operationId: mgmt.v1alpha1.UserAccountService.GetUserAccounts parameters: - name: Connect-Protocol-Version @@ -3064,6 +3113,7 @@ paths: tags: - mgmt.v1alpha1.UserAccountService summary: SetPersonalAccount + description: Sets the current personal account. operationId: mgmt.v1alpha1.UserAccountService.SetPersonalAccount parameters: - name: Connect-Protocol-Version @@ -3178,6 +3228,7 @@ paths: tags: - mgmt.v1alpha1.UserAccountService summary: IsUserInAccount + description: Checks if the user is in the account. operationId: mgmt.v1alpha1.UserAccountService.IsUserInAccount parameters: - name: Connect-Protocol-Version @@ -3214,6 +3265,7 @@ paths: tags: - mgmt.v1alpha1.UserAccountService summary: GetAccountTemporalConfig + description: Retrieves the temporal config for the account. operationId: mgmt.v1alpha1.UserAccountService.GetAccountTemporalConfig parameters: - name: Connect-Protocol-Version @@ -3252,6 +3304,7 @@ paths: tags: - mgmt.v1alpha1.UserAccountService summary: SetAccountTemporalConfig + description: Sets the temporal config for the account. operationId: mgmt.v1alpha1.UserAccountService.SetAccountTemporalConfig parameters: - name: Connect-Protocol-Version @@ -3290,6 +3343,7 @@ paths: tags: - mgmt.v1alpha1.UserAccountService summary: GetTeamAccountMembers + description: Retrieves the list of members in the team account. operationId: mgmt.v1alpha1.UserAccountService.GetTeamAccountMembers parameters: - name: Connect-Protocol-Version @@ -3327,6 +3381,7 @@ paths: tags: - mgmt.v1alpha1.UserAccountService summary: RemoveTeamAccountMember + description: Removes a member from the team account. operationId: mgmt.v1alpha1.UserAccountService.RemoveTeamAccountMember parameters: - name: Connect-Protocol-Version @@ -3365,6 +3420,7 @@ paths: tags: - mgmt.v1alpha1.UserAccountService summary: InviteUserToTeamAccount + description: Invites a user to the team account. operationId: mgmt.v1alpha1.UserAccountService.InviteUserToTeamAccount parameters: - name: Connect-Protocol-Version @@ -3403,6 +3459,7 @@ paths: tags: - mgmt.v1alpha1.UserAccountService summary: GetTeamAccountInvites + description: Retrieves the list of invites for the team account. operationId: mgmt.v1alpha1.UserAccountService.GetTeamAccountInvites parameters: - name: Connect-Protocol-Version @@ -3440,6 +3497,7 @@ paths: tags: - mgmt.v1alpha1.UserAccountService summary: RemoveTeamAccountInvite + description: Removes an invite from the team account. operationId: mgmt.v1alpha1.UserAccountService.RemoveTeamAccountInvite parameters: - name: Connect-Protocol-Version @@ -3478,6 +3536,7 @@ paths: tags: - mgmt.v1alpha1.UserAccountService summary: AcceptTeamAccountInvite + description: Accepts an invite to the team account. operationId: mgmt.v1alpha1.UserAccountService.AcceptTeamAccountInvite parameters: - name: Connect-Protocol-Version @@ -3516,6 +3575,7 @@ paths: tags: - mgmt.v1alpha1.UserAccountService summary: GetSystemInformation + description: Retrieves the system information. operationId: mgmt.v1alpha1.UserAccountService.GetSystemInformation parameters: - name: Connect-Protocol-Version @@ -3553,6 +3613,7 @@ paths: tags: - mgmt.v1alpha1.UserAccountService summary: GetAccountOnboardingConfig + description: Retrieves the onboarding config for the account. operationId: mgmt.v1alpha1.UserAccountService.GetAccountOnboardingConfig parameters: - name: Connect-Protocol-Version @@ -3591,6 +3652,7 @@ paths: tags: - mgmt.v1alpha1.UserAccountService summary: SetAccountOnboardingConfig + description: Sets the onboarding config for the account. operationId: mgmt.v1alpha1.UserAccountService.SetAccountOnboardingConfig parameters: - name: Connect-Protocol-Version @@ -4076,17 +4138,23 @@ components: boolean: allOf: - title: boolean - description: Boolean + description: >- + Any identified boolean value will be transformed using this + configuration if no mapping is found. - $ref: '#/components/schemas/mgmt.v1alpha1.TransformerConfig' 'n': allOf: - title: 'n' - description: Number + description: >- + Any identified number value will be transformed using this + configuration if no mapping is found. - $ref: '#/components/schemas/mgmt.v1alpha1.TransformerConfig' s: allOf: - title: s - description: String + description: >- + Any identified string value will be transformed using this + configuration if no mapping is found. - $ref: '#/components/schemas/mgmt.v1alpha1.TransformerConfig' title: DefaultTransformersConfig additionalProperties: false @@ -4119,6 +4187,7 @@ components: validLuhn: type: boolean title: valid_luhn + description: Whether or not to validate the card number using the Luhn algorithm. title: GenerateCardNumber additionalProperties: false mgmt.v1alpha1.GenerateCategorical: @@ -4142,6 +4211,9 @@ components: categories: type: string title: categories + description: >- + A comma separated list of categories that will be used to generate a + random value from. title: GenerateCategorical additionalProperties: false mgmt.v1alpha1.GenerateCity: @@ -4201,11 +4273,13 @@ components: - type: string - type: number title: min + description: The minimum length of the phone number to generate. max: oneOf: - type: string - type: number title: max + description: The maximum length of the phone number to generate. title: GenerateE164PhoneNumber additionalProperties: false mgmt.v1alpha1.GenerateEmail: @@ -4274,21 +4348,25 @@ components: randomizeSign: type: boolean title: randomize_sign + description: Whether or not to randomize the sign of the float64. min: oneOf: - type: string - type: number title: min + description: The minimum value to randomize the float64 to. max: oneOf: - type: string - type: number title: max + description: The maximum value to randomize the float64 to. precision: oneOf: - type: string - type: number title: precision + description: The precision of the float64 to generate. title: GenerateFloat64 additionalProperties: false mgmt.v1alpha1.GenerateFullAddress: @@ -4320,6 +4398,7 @@ components: abbreviate: type: boolean title: abbreviate + description: Whether or not to abbreviate the gender. title: GenerateGender additionalProperties: false mgmt.v1alpha1.GenerateInt64: @@ -4350,16 +4429,19 @@ components: randomizeSign: type: boolean title: randomize_sign + description: Whether or not to randomize the sign of the int64. min: oneOf: - type: string - type: number title: min + description: The minimum value to randomize the int64 to. max: oneOf: - type: string - type: number title: max + description: The maximum value to randomize the int64 to. title: GenerateInt64 additionalProperties: false mgmt.v1alpha1.GenerateInt64PhoneNumber: @@ -4387,6 +4469,7 @@ components: ipType: allOf: - title: ip_type + description: Optionally specify the type of ip address to generate. - $ref: '#/components/schemas/mgmt.v1alpha1.GenerateIpAddressType' title: GenerateIpAddress additionalProperties: false @@ -4396,6 +4479,9 @@ components: code: type: string title: code + description: >- + The user provided javascript code that will be executed in the + transformer title: GenerateJavascript additionalProperties: false mgmt.v1alpha1.GenerateLastName: @@ -4463,11 +4549,13 @@ components: - type: string - type: number title: min + description: The minimum length of the string to generate. max: oneOf: - type: string - type: number title: max + description: The maximum length of the string to generate. title: GenerateString additionalProperties: false mgmt.v1alpha1.GenerateStringPhoneNumber: @@ -4493,11 +4581,13 @@ components: - type: string - type: number title: min + description: The minimum length of the phone number to generate. max: oneOf: - type: string - type: number title: max + description: The maximum length of the phone number to generate. title: GenerateStringPhoneNumber additionalProperties: false mgmt.v1alpha1.GenerateUnixTimestamp: @@ -4533,6 +4623,9 @@ components: includeHyphens: type: boolean title: include_hyphens + description: >- + Whether or not to include hyphens in the uuid. Defaults to true. If + false, the uuid will be returned without hyphens. title: GenerateUuid additionalProperties: false mgmt.v1alpha1.GenerateZipcode: @@ -4776,8 +4869,8 @@ components: type: string title: user_provided_regex description: >- - a user provided regular expression that they wish to validate if it - compiles in GO + A user provided regular expression that will be used to scramble the + characters in the input string. Must be a valid Golang regex. title: TransformCharacterScramble additionalProperties: false mgmt.v1alpha1.TransformE164PhoneNumber: @@ -4801,6 +4894,10 @@ components: preserveLength: type: boolean title: preserve_length + description: >- + Whether or not to preserve the original length of the phone number. + This causes the transformed phone number to retain the original + length. title: TransformE164PhoneNumber additionalProperties: false mgmt.v1alpha1.TransformEmail: @@ -4892,6 +4989,10 @@ components: preserveLength: type: boolean title: preserve_length + description: >- + Whether or not to preserve the original length of the first name. + This causes the transformed first name to retain the original + length. title: TransformFirstName additionalProperties: false mgmt.v1alpha1.TransformFloat64: @@ -4917,11 +5018,17 @@ components: - type: string - type: number title: randomization_range_min + description: >- + The minimum value to randomize the float64 to. This will be relative + to the original value. randomizationRangeMax: oneOf: - type: string - type: number title: randomization_range_max + description: >- + The maximum value to randomize the float64 to. This will be relative + to the original value. title: TransformFloat64 additionalProperties: false mgmt.v1alpha1.TransformFullName: @@ -4945,6 +5052,9 @@ components: preserveLength: type: boolean title: preserve_length + description: >- + Whether or not to preserve the original length of the full name. + This causes the transformed full name to retain the original length. title: TransformFullName additionalProperties: false mgmt.v1alpha1.TransformInt64: @@ -4970,11 +5080,17 @@ components: - type: string - type: number title: randomization_range_min + description: >- + The minimum value to randomize the int64 to. This will be relative + to the original value. randomizationRangeMax: oneOf: - type: string - type: number title: randomization_range_max + description: >- + The maximum value to randomize the int64 to. This will be relative + to the original value. title: TransformInt64 additionalProperties: false mgmt.v1alpha1.TransformInt64PhoneNumber: @@ -4998,6 +5114,10 @@ components: preserveLength: type: boolean title: preserve_length + description: >- + Whether or not to preserve the original length of the phone number. + This causes the transformed phone number to retain the original + length. title: TransformInt64PhoneNumber additionalProperties: false mgmt.v1alpha1.TransformJavascript: @@ -5006,6 +5126,9 @@ components: code: type: string title: code + description: >- + The user provided javascript code that will be executed in the + transformer title: TransformJavascript additionalProperties: false mgmt.v1alpha1.TransformLastName: @@ -5029,6 +5152,9 @@ components: preserveLength: type: boolean title: preserve_length + description: >- + Whether or not to preserve the original length of the last name. + This causes the transformed last name to retain the original length. title: TransformLastName additionalProperties: false mgmt.v1alpha1.TransformPhoneNumber: @@ -5052,6 +5178,10 @@ components: preserveLength: type: boolean title: preserve_length + description: >- + Whether or not to preserve the original length of the phone number. + This causes the transformed phone number to retain the original + length. title: TransformPhoneNumber additionalProperties: false mgmt.v1alpha1.TransformPiiText: @@ -5161,6 +5291,9 @@ components: preserveLength: type: boolean title: preserve_length + description: >- + Whether or not to preserve the original length of the string. This + causes the transformed string to retain the original length. title: TransformString additionalProperties: false mgmt.v1alpha1.TransformUuid: @@ -5746,6 +5879,9 @@ components: - $ref: '#/components/schemas/mgmt.v1alpha1.TransformUuid' title: TransformerConfig additionalProperties: false + description: >- + The configuration for a transformer. This determines what type of + transformation or generation is performed. mgmt.v1alpha1.TransformerMapping: type: object properties: @@ -5771,6 +5907,10 @@ components: type: string title: id format: uuid + description: >- + The id of the user defined transformer. When used in a job mapping, + this will be used to reference the underlying system transformer + along with it's configuration that was chosen. title: UserDefinedTransformerConfig additionalProperties: false connect-protocol-version: @@ -5954,6 +6094,7 @@ components: id: type: string title: id + description: The unique identifier of the API key name: type: string title: name @@ -5961,19 +6102,24 @@ components: accountId: type: string title: account_id + description: The unique identifier of the account that the API key belongs to createdById: type: string title: created_by_id + description: The unique identifier of the user that created the API key createdAt: allOf: - title: created_at + description: The timestamp of when the API key was created - $ref: '#/components/schemas/google.protobuf.Timestamp' updatedById: type: string title: updated_by_id + description: The unique identifier of the user that last updated the API key updatedAt: allOf: - title: updated_at + description: The timestamp of when the API key was last updated - $ref: '#/components/schemas/google.protobuf.Timestamp' keyValue: type: string @@ -5984,6 +6130,10 @@ components: userId: type: string title: user_id + description: >- + The unique identifier of the user that the API key belongs to (Each + API Key is associated with its own user record to identify what the + API key does in the system) expiresAt: allOf: - title: expires_at @@ -6000,10 +6150,12 @@ components: type: string title: account_id format: uuid + description: The unique identifier of the account to create the API key for. name: type: string title: name pattern: ^[a-z0-9-]{3,100}$ + description: The friendly name of the API key expiresAt: allOf: - title: expires_at @@ -6020,6 +6172,7 @@ components: apiKey: allOf: - title: api_key + description: The created API key - $ref: '#/components/schemas/mgmt.v1alpha1.AccountApiKey' title: CreateAccountApiKeyResponse additionalProperties: false @@ -6030,6 +6183,7 @@ components: type: string title: id format: uuid + description: The unique identifier of the API key to delete. title: DeleteAccountApiKeyRequest additionalProperties: false mgmt.v1alpha1.DeleteAccountApiKeyResponse: @@ -6043,6 +6197,7 @@ components: type: string title: id format: uuid + description: The unique identifier of the API key to get. title: GetAccountApiKeyRequest additionalProperties: false mgmt.v1alpha1.GetAccountApiKeyResponse: @@ -6051,6 +6206,7 @@ components: apiKey: allOf: - title: api_key + description: The API key that was retrieved. - $ref: '#/components/schemas/mgmt.v1alpha1.AccountApiKey' title: GetAccountApiKeyResponse additionalProperties: false @@ -6061,6 +6217,7 @@ components: type: string title: account_id format: uuid + description: The unique identifier of the account to get the API keys for. title: GetAccountApiKeysRequest additionalProperties: false mgmt.v1alpha1.GetAccountApiKeysResponse: @@ -6071,6 +6228,7 @@ components: items: $ref: '#/components/schemas/mgmt.v1alpha1.AccountApiKey' title: api_keys + description: The list of API keys for the account. title: GetAccountApiKeysResponse additionalProperties: false mgmt.v1alpha1.RegenerateAccountApiKeyRequest: @@ -6080,6 +6238,7 @@ components: type: string title: id format: uuid + description: The unique identifier of the API key to regenerate. expiresAt: allOf: - title: expires_at @@ -6096,6 +6255,7 @@ components: apiKey: allOf: - title: api_key + description: The regenerated API key - $ref: '#/components/schemas/mgmt.v1alpha1.AccountApiKey' title: RegenerateAccountApiKeyResponse additionalProperties: false @@ -6292,20 +6452,27 @@ components: pathPrefix: type: string title: path_prefix + description: The bucket path prefix that will be appended to each file credentials: allOf: - title: credentials + description: The credentials to use for the S3 bucket - $ref: '#/components/schemas/mgmt.v1alpha1.AwsS3Credentials' region: type: string title: region + description: The region of the S3 bucket endpoint: type: string title: endpoint + description: >- + The endpoint of the S3 bucket (if using a custom endpoint like + region specific endpoints or S3-compatible APIs) bucket: type: string title: bucket minLength: 1 + description: The name of the S3 bucket title: AwsS3ConnectionConfig additionalProperties: false mgmt.v1alpha1.AwsS3Credentials: @@ -6364,24 +6531,31 @@ components: profile: type: string title: profile + description: The profile to use for the S3 credentials accessKeyId: type: string title: access_key_id + description: The access key id to use for the S3 credentials secretAccessKey: type: string title: secret_access_key + description: The secret access key to use for the S3 credentials sessionToken: type: string title: session_token + description: The session token to use for the S3 credentials fromEc2Role: type: boolean title: from_ec2_role + description: Whether or not the credentials are from an EC2 role roleArn: type: string title: role_arn + description: The ARN of the role to use for the S3 credentials roleExternalId: type: string title: role_external_id + description: The role's external ID to use for the S3 credentials title: AwsS3Credentials additionalProperties: false description: |- @@ -6437,6 +6611,7 @@ components: connectionConfig: allOf: - title: connection_config + description: The connection configuration to validate - $ref: '#/components/schemas/mgmt.v1alpha1.ConnectionConfig' title: CheckConnectionConfigRequest additionalProperties: false @@ -6778,6 +6953,7 @@ components: type: string title: account_id format: uuid + description: The unique identifier of the account to create the connection for name: type: string title: name @@ -6786,6 +6962,7 @@ components: connectionConfig: allOf: - title: connection_config + description: The connection configuration to use for the connection - $ref: '#/components/schemas/mgmt.v1alpha1.ConnectionConfig' title: CreateConnectionRequest additionalProperties: false @@ -6795,6 +6972,7 @@ components: connection: allOf: - title: connection + description: The created connection - $ref: '#/components/schemas/mgmt.v1alpha1.Connection' title: CreateConnectionResponse additionalProperties: false @@ -6805,6 +6983,7 @@ components: type: string title: id format: uuid + description: The unique identifier of the connection to delete title: DeleteConnectionRequest additionalProperties: false mgmt.v1alpha1.DeleteConnectionResponse: @@ -6898,6 +7077,7 @@ components: type: string title: id format: uuid + description: The unique identifier of the connection to get title: GetConnectionRequest additionalProperties: false mgmt.v1alpha1.GetConnectionResponse: @@ -6906,6 +7086,7 @@ components: connection: allOf: - title: connection + description: The connection - $ref: '#/components/schemas/mgmt.v1alpha1.Connection' title: GetConnectionResponse additionalProperties: false @@ -6916,6 +7097,7 @@ components: type: string title: account_id format: uuid + description: The unique identifier of the account to get connections for title: GetConnectionsRequest additionalProperties: false mgmt.v1alpha1.GetConnectionsResponse: @@ -6926,6 +7108,7 @@ components: items: $ref: '#/components/schemas/mgmt.v1alpha1.Connection' title: connections + description: The connections title: GetConnectionsResponse additionalProperties: false mgmt.v1alpha1.IsConnectionNameAvailableRequest: @@ -6935,10 +7118,14 @@ components: type: string title: account_id format: uuid + description: >- + The unique identifier of the account to check the connection name + for connectionName: type: string title: connection_name pattern: ^[a-z0-9-]{3,100}$ + description: The connection name to check for availability title: IsConnectionNameAvailableRequest additionalProperties: false mgmt.v1alpha1.IsConnectionNameAvailableResponse: @@ -6947,6 +7134,7 @@ components: isAvailable: type: boolean title: is_available + description: Whether or not the connection name is available title: IsConnectionNameAvailableResponse additionalProperties: false mgmt.v1alpha1.LocalDirectoryConnectionConfig: @@ -7040,6 +7228,9 @@ components: connectionOptions: allOf: - title: connection_options + description: >- + Provide connection options that can be used to further fine-tune + the connection - $ref: '#/components/schemas/mgmt.v1alpha1.SqlConnectionOptions' tunnel: allOf: @@ -7063,21 +7254,27 @@ components: user: type: string title: user + description: The user to use for the connection pass: type: string title: pass + description: The password to use for the connection protocol: type: string title: protocol + description: The protocol to use for the connection host: type: string title: host + description: The host to use for the connection port: type: integer title: port + description: The port to use for the connection name: type: string title: name + description: The name of the database to use for the connection title: MysqlConnection additionalProperties: false mgmt.v1alpha1.MysqlConnectionConfig: @@ -7117,9 +7314,15 @@ components: url: type: string title: url + description: >- + A raw string url that will be used to construct the connection. DSN + format. URI format also supported but more limited. connection: allOf: - title: connection + description: >- + A structured representation of the connection that will be used + to construct the url - $ref: '#/components/schemas/mgmt.v1alpha1.MysqlConnection' urlFromEnv: type: string @@ -7139,6 +7342,9 @@ components: connectionOptions: allOf: - title: connection_options + description: >- + Provide connection options that can be used to further fine-tune + the connection - $ref: '#/components/schemas/mgmt.v1alpha1.SqlConnectionOptions' clientTls: allOf: @@ -7157,7 +7363,7 @@ components: apiUrl: type: string title: api_url - description: OpenAI URL + description: OpenAI URL (if using a custom endpoint) title: OpenAiConnectionConfig additionalProperties: false description: Configures a connection to OpenAI or OpenAI compatible API. @@ -7182,21 +7388,27 @@ components: host: type: string title: host + description: The host to use for the connection port: type: integer title: port + description: The port to use for the connection name: type: string title: name + description: The name of the database to use for the connection user: type: string title: user + description: The user to use for the connection pass: type: string title: pass + description: The password to use for the connection sslMode: type: string title: ssl_mode + description: The SSL mode to use for the connection title: PostgresConnection additionalProperties: false mgmt.v1alpha1.PostgresConnectionConfig: @@ -7236,9 +7448,15 @@ components: url: type: string title: url + description: >- + A raw string url that will be used to construct the connection. Must + be URI format. connection: allOf: - title: connection + description: >- + A structured representation of the connection that will be used + to construct the url - $ref: '#/components/schemas/mgmt.v1alpha1.PostgresConnection' urlFromEnv: type: string @@ -7258,6 +7476,9 @@ components: connectionOptions: allOf: - title: connection_options + description: >- + Provide connection options that can be used to further fine-tune + the connection - $ref: '#/components/schemas/mgmt.v1alpha1.SqlConnectionOptions' clientTls: allOf: @@ -7295,10 +7516,12 @@ components: passphrase: allOf: - title: passphrase + description: Password authentication - $ref: '#/components/schemas/mgmt.v1alpha1.SSHPassphrase' privateKey: allOf: - title: private_key + description: Private key authentication - $ref: '#/components/schemas/mgmt.v1alpha1.SSHPrivateKey' title: SSHAuthentication additionalProperties: false @@ -7471,13 +7694,16 @@ components: type: string title: id format: uuid + description: The unique identifier of the connection to update name: type: string title: name pattern: ^[a-z0-9-]{3,100}$ + description: The friendly name of the connection connectionConfig: allOf: - title: connection_config + description: The connection configuration to use for the connection - $ref: '#/components/schemas/mgmt.v1alpha1.ConnectionConfig' title: UpdateConnectionRequest additionalProperties: false @@ -7487,6 +7713,7 @@ components: connection: allOf: - title: connection + description: The updated connection - $ref: '#/components/schemas/mgmt.v1alpha1.Connection' title: UpdateConnectionResponse additionalProperties: false @@ -7600,10 +7827,12 @@ components: type: string title: job_id format: uuid + description: The unique identifier of the job to get the schema for. jobRunId: type: string title: job_run_id minLength: 1 + description: The unique identifier of the job run to get the schema for. title: AwsS3SchemaConfig additionalProperties: false mgmt.v1alpha1.AwsS3StreamConfig: @@ -7636,10 +7865,12 @@ components: type: string title: job_id format: uuid + description: The unique identifier of the job to get the data stream for. jobRunId: type: string title: job_run_id minLength: 1 + description: The unique identifier of the job run to get the data stream for. title: AwsS3StreamConfig additionalProperties: false mgmt.v1alpha1.ConnectionSchemaConfig: @@ -7882,10 +8113,12 @@ components: type: string title: schema minLength: 1 + description: The schema of the table table: type: string title: table minLength: 1 + description: The table name title: DatabaseTable additionalProperties: false mgmt.v1alpha1.DynamoDBSchemaConfig: @@ -7898,17 +8131,20 @@ components: foreignKey: allOf: - title: foreign_key + description: The foreign key that is associated with the constraint - $ref: '#/components/schemas/mgmt.v1alpha1.ForeignKey' columns: type: array items: type: string title: columns + description: The columns that are part of the constraint notNullable: type: array items: type: boolean title: not_nullable + description: The not nullable flag for each column title: ForeignConstraint additionalProperties: false mgmt.v1alpha1.ForeignConstraintTables: @@ -7919,6 +8155,7 @@ components: items: $ref: '#/components/schemas/mgmt.v1alpha1.ForeignConstraint' title: constraints + description: A list of foreign key constraints title: ForeignConstraintTables additionalProperties: false mgmt.v1alpha1.ForeignKey: @@ -7927,11 +8164,13 @@ components: table: type: string title: table + description: The table that the foreign key is associated with columns: type: array items: type: string title: columns + description: The columns that are part of the foreign key title: ForeignKey additionalProperties: false mgmt.v1alpha1.GcpCloudStorageSchemaConfig: @@ -7964,10 +8203,12 @@ components: type: string title: job_id format: uuid + description: The unique identifier of the job to get the schema for. jobRunId: type: string title: job_run_id minLength: 1 + description: The unique identifier of the job run to get the schema for. title: GcpCloudStorageSchemaConfig additionalProperties: false mgmt.v1alpha1.GcpCloudStorageStreamConfig: @@ -8000,10 +8241,12 @@ components: type: string title: job_id format: uuid + description: The unique identifier of the job to get the data stream for. jobRunId: type: string title: job_run_id minLength: 1 + description: The unique identifier of the job run to get the data stream for. title: GcpCloudStorageStreamConfig additionalProperties: false mgmt.v1alpha1.GetAiGeneratedDataRequest: @@ -8028,6 +8271,9 @@ components: type: string title: ai_connection_id format: uuid + description: >- + The unique identifier of a connection, specifically one that is + configured for LLM use. count: oneOf: - type: string @@ -8035,20 +8281,33 @@ components: title: count maximum: 10 minimum: 1 + description: The number of records to generate modelName: type: string title: model_name minLength: 1 + description: >- + The LLM model name to use that works with the configured connection + id. userPrompt: type: string title: user_prompt + description: >- + The prompt that will be used to further refine the data generation. + This is appended to the prompt that Neosync generates that includes + schema information. dataConnectionId: type: string title: data_connection_id format: uuid + description: >- + The unique identifier of a connection that the AI generated data + would be inserted into. This is used to generate and send schema + information to the LLM to help shape the generated data. table: allOf: - title: table + description: The table to generate data for. - $ref: '#/components/schemas/mgmt.v1alpha1.DatabaseTable' title: GetAiGeneratedDataRequest additionalProperties: false @@ -8070,16 +8329,20 @@ components: type: string title: connection_id format: uuid + description: The unique identifier of the connection to get the data stream for. streamConfig: allOf: - title: stream_config + description: The stream configuration to use for the data stream. - $ref: '#/components/schemas/mgmt.v1alpha1.ConnectionStreamConfig' schema: type: string title: schema + description: The schema of the table to get the data stream for. table: type: string title: table + description: The table to get the data stream for. title: GetConnectionDataStreamRequest additionalProperties: false mgmt.v1alpha1.GetConnectionDataStreamResponse: @@ -8102,9 +8365,13 @@ components: type: string title: connection_id format: uuid + description: >- + The unique identifier of the connection to get the init statements + for. options: allOf: - title: options + description: The options to use for the init statements. - $ref: '#/components/schemas/mgmt.v1alpha1.InitStatementOptions' title: GetConnectionInitStatementsRequest additionalProperties: false @@ -8118,7 +8385,7 @@ components: type: string title: value description: >- - the key here is .
and value is the table init + The key here is .
and value is the table init statement. tableTruncateStatements: type: object @@ -8127,13 +8394,14 @@ components: type: string title: value description: >- - the key here is .
and value is the table truncate + The key here is .
and value is the table truncate statement. schemaInitStatements: type: array items: $ref: '#/components/schemas/mgmt.v1alpha1.SchemaInitStatements' title: schema_init_statements + description: A list of schema initialization statements title: GetConnectionInitStatementsResponse additionalProperties: false description: Init statement for a specific table @@ -8166,9 +8434,11 @@ components: type: string title: connection_id format: uuid + description: The unique identifier of the connection to get the schema map for. schemaConfig: allOf: - title: schema_config + description: The schema configuration to use for the schema map. - $ref: '#/components/schemas/mgmt.v1alpha1.ConnectionSchemaConfig' title: GetConnectionSchemaMapRequest additionalProperties: false @@ -8234,9 +8504,11 @@ components: type: string title: connection_id format: uuid + description: The unique identifier of the connection to get the schema for. schemaConfig: allOf: - title: schema_config + description: The schema configuration to use for the schema map. - $ref: '#/components/schemas/mgmt.v1alpha1.ConnectionSchemaConfig' title: GetConnectionSchemaRequest additionalProperties: false @@ -8248,6 +8520,7 @@ components: items: $ref: '#/components/schemas/mgmt.v1alpha1.DatabaseColumn' title: schemas + description: The list of database columns title: GetConnectionSchemaResponse additionalProperties: false mgmt.v1alpha1.GetConnectionTableConstraintsRequest: @@ -8257,6 +8530,7 @@ components: type: string title: connection_id format: uuid + description: The unique identifier of the connection to get the constraints for. title: GetConnectionTableConstraintsRequest additionalProperties: false mgmt.v1alpha1.GetConnectionTableConstraintsResponse: @@ -8347,15 +8621,22 @@ components: connectionId: type: string title: connection_id + format: uuid + description: The unique identifier of the connection to get the row count for. schema: type: string title: schema + minLength: 1 + description: The schema of the table to get the row count for. table: type: string title: table + minLength: 1 + description: The table to get the row count for. whereClause: type: string title: where_clause + description: The optional where clause to filter the rows by. title: GetTableRowCountRequest additionalProperties: false mgmt.v1alpha1.GetTableRowCountResponse: @@ -8366,6 +8647,7 @@ components: - type: string - type: number title: count + description: The count of the rows in the table title: GetTableRowCountResponse additionalProperties: false mgmt.v1alpha1.InitStatementOptions: @@ -8374,12 +8656,15 @@ components: initSchema: type: boolean title: init_schema + description: Whether or not to generate schema init statements. truncateBeforeInsert: type: boolean title: truncate_before_insert + description: Whether or not to generate truncation statements truncateCascade: type: boolean title: truncate_cascade + description: Whether or not to generate truncate cascade statements. title: InitStatementOptions additionalProperties: false mgmt.v1alpha1.MongoSchemaConfig: @@ -8414,6 +8699,7 @@ components: items: type: string title: columns + description: The columns that are part of the primary constraint title: PrimaryConstraint additionalProperties: false mgmt.v1alpha1.SchemaInitStatements: @@ -8422,11 +8708,17 @@ components: label: type: string title: label + description: >- + A friendly label associated with the generated schema init + statement(s) statements: type: array items: type: string title: statements + description: >- + A list of SQL statements that may be used to initialize a database + from scratch. title: SchemaInitStatements additionalProperties: false mgmt.v1alpha1.UniqueConstraint: @@ -8437,6 +8729,7 @@ components: items: type: string title: columns + description: The columns that are part of the unique constraint title: UniqueConstraint additionalProperties: false mgmt.v1alpha1.UniqueConstraints: @@ -8447,6 +8740,7 @@ components: items: $ref: '#/components/schemas/mgmt.v1alpha1.UniqueConstraint' title: constraints + description: The unique constraints found for the table title: UniqueConstraints additionalProperties: false mgmt.v1alpha1.ActivityStatus: @@ -8522,6 +8816,7 @@ components: message: type: string title: message + description: The message of the failure title: ActivityFailure additionalProperties: false mgmt.v1alpha1.ActivityOptions: @@ -8670,10 +8965,7 @@ components: type: string title: table minLength: 1 - description: >- - The table that will be used to. 1. The schema of the table will be - injected into the prompt, of which the resulting data will then be - inserted. + description: The table that will be used to generate data for rowCount: oneOf: - type: string @@ -8739,6 +9031,7 @@ components: type: string title: connection_id format: uuid + description: The unique connection id to a aws s3 connection configuration title: AwsS3SourceConnectionOptions additionalProperties: false mgmt.v1alpha1.BatchConfig: @@ -8778,10 +9071,12 @@ components: jobRunId: type: string title: job_run_id + description: The unique identifier of the job run accountId: type: string title: account_id format: uuid + description: The unique identifier of the account title: CancelJobRunRequest additionalProperties: false mgmt.v1alpha1.CancelJobRunResponse: @@ -8794,17 +9089,21 @@ components: schema: type: string title: schema + description: The schema of the table table: type: string title: table + description: The table of the column column: type: string title: column + description: The column of the error errors: type: array items: type: string title: errors + description: The list of errors title: ColumnError additionalProperties: false mgmt.v1alpha1.CreateJobDestination: @@ -8814,9 +9113,11 @@ components: type: string title: connection_id format: uuid + description: The connection id to use for the job destination options: allOf: - title: options + description: The destination options to use for the job destination - $ref: '#/components/schemas/mgmt.v1alpha1.JobDestinationOptions' title: CreateJobDestination additionalProperties: false @@ -8827,11 +9128,13 @@ components: type: string title: job_id format: uuid + description: The unique identifier of the job destinations: type: array items: $ref: '#/components/schemas/mgmt.v1alpha1.CreateJobDestination' title: destinations + description: The list of destinations to create and associate with the job title: CreateJobDestinationConnectionsRequest additionalProperties: false mgmt.v1alpha1.CreateJobDestinationConnectionsResponse: @@ -8840,6 +9143,7 @@ components: job: allOf: - title: job + description: The job that was updated - $ref: '#/components/schemas/mgmt.v1alpha1.Job' title: CreateJobDestinationConnectionsResponse additionalProperties: false @@ -8906,15 +9210,18 @@ components: items: $ref: '#/components/schemas/mgmt.v1alpha1.JobMapping' title: mappings + description: The list of mappings that will be used to transform the data source: allOf: - title: source + description: The source connection configuration - $ref: '#/components/schemas/mgmt.v1alpha1.JobSource' destinations: type: array items: $ref: '#/components/schemas/mgmt.v1alpha1.CreateJobDestination' title: destinations + description: The list of destinations that will be used to store the data initiateJobRun: type: boolean title: initiate_job_run @@ -8942,6 +9249,9 @@ components: items: $ref: '#/components/schemas/mgmt.v1alpha1.VirtualForeignConstraint' title: virtual_foreign_keys + description: >- + The list of virtual foreign keys that will be used to further + constrain the data ontop of the database defined constraints title: CreateJobRequest additionalProperties: false mgmt.v1alpha1.CreateJobResponse: @@ -8950,6 +9260,7 @@ components: job: allOf: - title: job + description: The job that was created - $ref: '#/components/schemas/mgmt.v1alpha1.Job' title: CreateJobResponse additionalProperties: false @@ -8960,6 +9271,7 @@ components: type: string title: job_id format: uuid + description: The unique identifier of the job title: CreateJobRunRequest additionalProperties: false mgmt.v1alpha1.CreateJobRunResponse: @@ -8974,6 +9286,7 @@ components: items: type: string title: errors + description: The list of errors title: DatabaseError additionalProperties: false mgmt.v1alpha1.DeleteJobDestinationConnectionRequest: @@ -8983,6 +9296,7 @@ components: type: string title: destination_id format: uuid + description: The unique identifier of the destination to delete title: DeleteJobDestinationConnectionRequest additionalProperties: false mgmt.v1alpha1.DeleteJobDestinationConnectionResponse: @@ -9010,6 +9324,7 @@ components: type: string title: id format: uuid + description: The unique identifier of the job to delete title: DeleteJobRequest additionalProperties: false mgmt.v1alpha1.DeleteJobResponse: @@ -9022,10 +9337,12 @@ components: jobRunId: type: string title: job_run_id + description: The unique identifier of the job run accountId: type: string title: account_id format: uuid + description: The unique identifier of the account title: DeleteJobRunRequest additionalProperties: false mgmt.v1alpha1.DeleteJobRunResponse: @@ -9102,6 +9419,9 @@ components: items: $ref: '#/components/schemas/mgmt.v1alpha1.DynamoDBSourceTableOption' title: tables + description: >- + The list of tables (and their configuration) that reside within the + schema title: DynamoDBSourceSchemaSubset additionalProperties: false mgmt.v1alpha1.DynamoDBSourceTableOption: @@ -9192,10 +9512,16 @@ components: $ref: '#/components/schemas/mgmt.v1alpha1.GenerateSourceSchemaOption' title: schemas minItems: 1 + description: >- + The list of schemas (and their tables) along with any configuration + options that will be used to generate data for. fkSourceConnectionId: type: string title: fk_source_connection_id format: uuid + description: >- + An optional connection id that will be used as the basis for the + shape of data to be generated. title: GenerateSourceOptions additionalProperties: false mgmt.v1alpha1.GenerateSourceSchemaOption: @@ -9205,12 +9531,16 @@ components: type: string title: schema minLength: 1 + description: The database schema tables: type: array items: $ref: '#/components/schemas/mgmt.v1alpha1.GenerateSourceTableOption' title: tables minItems: 1 + description: >- + The list of tables (and their configuration) that reside within the + schema to receive generated data title: GenerateSourceSchemaOption additionalProperties: false mgmt.v1alpha1.GenerateSourceTableOption: @@ -9220,12 +9550,14 @@ components: type: string title: table minLength: 1 + description: The table that will be used to generate data for. rowCount: oneOf: - type: string - type: number title: row_count minimum: 1 + description: The total number of records to be generated. title: GenerateSourceTableOption additionalProperties: false mgmt.v1alpha1.GetActiveJobHooksByTimingRequest: @@ -9302,6 +9634,8 @@ components: jobId: type: string title: job_id + format: uuid + description: The unique identifier of the job title: GetJobNextRunsRequest additionalProperties: false mgmt.v1alpha1.GetJobNextRunsResponse: @@ -9310,6 +9644,7 @@ components: nextRuns: allOf: - title: next_runs + description: The list of next run times - $ref: '#/components/schemas/mgmt.v1alpha1.JobNextRuns' title: GetJobNextRunsResponse additionalProperties: false @@ -9320,6 +9655,7 @@ components: type: string title: job_id format: uuid + description: The unique identifier of the job title: GetJobRecentRunsRequest additionalProperties: false mgmt.v1alpha1.GetJobRecentRunsResponse: @@ -9330,6 +9666,7 @@ components: items: $ref: '#/components/schemas/mgmt.v1alpha1.JobRecentRun' title: recent_runs + description: The list of recent job runs title: GetJobRecentRunsResponse additionalProperties: false mgmt.v1alpha1.GetJobRequest: @@ -9339,6 +9676,7 @@ components: type: string title: id format: uuid + description: The unique identifier of the job title: GetJobRequest additionalProperties: false mgmt.v1alpha1.GetJobResponse: @@ -9347,6 +9685,7 @@ components: job: allOf: - title: job + description: The job that was retrieved - $ref: '#/components/schemas/mgmt.v1alpha1.Job' title: GetJobResponse additionalProperties: false @@ -9356,10 +9695,12 @@ components: jobRunId: type: string title: job_run_id + description: The unique identifier of the job run accountId: type: string title: account_id format: uuid + description: The unique identifier of the account title: GetJobRunEventsRequest additionalProperties: false mgmt.v1alpha1.GetJobRunEventsResponse: @@ -9370,9 +9711,11 @@ components: items: $ref: '#/components/schemas/mgmt.v1alpha1.JobRunEvent' title: events + description: The list of events isRunComplete: type: boolean title: is_run_complete + description: Whether the run is complete title: GetJobRunEventsResponse additionalProperties: false mgmt.v1alpha1.GetJobRunLogsStreamRequest: @@ -9396,10 +9739,12 @@ components: jobRunId: type: string title: job_run_id + description: The unique identifier of the job run accountId: type: string title: account_id format: uuid + description: The unique identifier of the account window: allOf: - title: window @@ -9449,9 +9794,11 @@ components: logLine: type: string title: log_line + description: The log line timestamp: allOf: - title: timestamp + description: The timestamp of the log line - $ref: '#/components/schemas/google.protobuf.Timestamp' title: GetJobRunLogsStreamResponse additionalProperties: false @@ -9461,10 +9808,12 @@ components: jobRunId: type: string title: job_run_id + description: The unique identifier of the job run accountId: type: string title: account_id format: uuid + description: The unique identifier of the account title: GetJobRunRequest additionalProperties: false mgmt.v1alpha1.GetJobRunResponse: @@ -9473,6 +9822,7 @@ components: jobRun: allOf: - title: job_run + description: The job run that was retrieved - $ref: '#/components/schemas/mgmt.v1alpha1.JobRun' title: GetJobRunResponse additionalProperties: false @@ -9506,10 +9856,12 @@ components: type: string title: job_id format: uuid + description: Retireve runs for a specific job accountId: type: string title: account_id format: uuid + description: Retrieve runs for all jobs in an account title: GetJobRunsRequest additionalProperties: false mgmt.v1alpha1.GetJobRunsResponse: @@ -9520,6 +9872,7 @@ components: items: $ref: '#/components/schemas/mgmt.v1alpha1.JobRun' title: job_runs + description: The list of job runs title: GetJobRunsResponse additionalProperties: false mgmt.v1alpha1.GetJobStatusRequest: @@ -9528,6 +9881,8 @@ components: jobId: type: string title: job_id + format: uuid + description: The unique identifier of the job title: GetJobStatusRequest additionalProperties: false mgmt.v1alpha1.GetJobStatusResponse: @@ -9536,6 +9891,7 @@ components: status: allOf: - title: status + description: The status of the job - $ref: '#/components/schemas/mgmt.v1alpha1.JobStatus' title: GetJobStatusResponse additionalProperties: false @@ -9546,6 +9902,7 @@ components: type: string title: account_id format: uuid + description: The unique identifier of the account title: GetJobStatusesRequest additionalProperties: false mgmt.v1alpha1.GetJobStatusesResponse: @@ -9556,6 +9913,7 @@ components: items: $ref: '#/components/schemas/mgmt.v1alpha1.JobStatusRecord' title: statuses + description: The list of job statuses title: GetJobStatusesResponse additionalProperties: false mgmt.v1alpha1.GetJobsRequest: @@ -9565,6 +9923,7 @@ components: type: string title: account_id format: uuid + description: The unique identifier of the account to get jobs for title: GetJobsRequest additionalProperties: false mgmt.v1alpha1.GetJobsResponse: @@ -9575,6 +9934,7 @@ components: items: $ref: '#/components/schemas/mgmt.v1alpha1.Job' title: jobs + description: The list of jobs title: GetJobsResponse additionalProperties: false mgmt.v1alpha1.GetRunContextRequest: @@ -9583,6 +9943,7 @@ components: id: allOf: - title: id + description: The run context key - $ref: '#/components/schemas/mgmt.v1alpha1.RunContextKey' title: GetRunContextRequest additionalProperties: false @@ -9593,6 +9954,9 @@ components: type: string title: value format: byte + description: >- + The returned value in bytes. The format is determined by the key + when it is set. title: GetRunContextResponse additionalProperties: false mgmt.v1alpha1.IsJobHookNameAvailableRequest: @@ -9624,10 +9988,12 @@ components: type: string title: name pattern: ^[a-z0-9-]{3,100}$ + description: The name to check for availability accountId: type: string title: account_id format: uuid + description: The unique identifier of the account to check for availability title: IsJobNameAvailableRequest additionalProperties: false mgmt.v1alpha1.IsJobNameAvailableResponse: @@ -9636,6 +10002,7 @@ components: isAvailable: type: boolean title: is_available + description: Whether the name is available title: IsJobNameAvailableResponse additionalProperties: false mgmt.v1alpha1.Job: @@ -9681,20 +10048,24 @@ components: source: allOf: - title: source + description: The source connection configuration - $ref: '#/components/schemas/mgmt.v1alpha1.JobSource' destinations: type: array items: $ref: '#/components/schemas/mgmt.v1alpha1.JobDestination' title: destinations + description: The list of destinations that will be used to store the data mappings: type: array items: $ref: '#/components/schemas/mgmt.v1alpha1.JobMapping' title: mappings + description: The list of mappings that will be used to transform the data cronSchedule: type: string title: cron_schedule + description: The cron schedule that will be used to trigger the job accountId: type: string title: account_id @@ -9729,13 +10100,17 @@ components: connectionId: type: string title: connection_id + format: uuid + description: The connection id to use for the job destination options: allOf: - title: options + description: The destination options to use for the job destination - $ref: '#/components/schemas/mgmt.v1alpha1.JobDestinationOptions' id: type: string title: id + description: The unique identifier of the job destination title: JobDestination additionalProperties: false mgmt.v1alpha1.JobDestinationOptions: @@ -10011,15 +10386,24 @@ components: schema: type: string title: schema + minLength: 1 + description: The database schema table: type: string title: table + minLength: 1 + description: The database table. column: type: string title: column + minLength: 1 + description: The column in the configured schema.table transformer: allOf: - title: transformer + description: >- + The transformer configuration that will be applied to each cell + in the column - $ref: '#/components/schemas/mgmt.v1alpha1.JobMappingTransformer' title: JobMapping additionalProperties: false @@ -10029,6 +10413,7 @@ components: config: allOf: - title: config + description: The transformer configuration - $ref: '#/components/schemas/mgmt.v1alpha1.TransformerConfig' title: JobMappingTransformer additionalProperties: false @@ -10040,6 +10425,7 @@ components: items: $ref: '#/components/schemas/google.protobuf.Timestamp' title: next_run_times + description: The list of next run times title: JobNextRuns additionalProperties: false mgmt.v1alpha1.JobRecentRun: @@ -10048,10 +10434,12 @@ components: startTime: allOf: - title: start_time + description: The start time of the job run - $ref: '#/components/schemas/google.protobuf.Timestamp' jobRunId: type: string title: job_run_id + description: The unique identifier of the job run title: JobRecentRun additionalProperties: false mgmt.v1alpha1.JobRun: @@ -10121,26 +10509,32 @@ components: - type: string - type: number title: id + description: The unique identifier of the event type: type: string title: type + description: The type of the event startTime: allOf: - title: start_time + description: The start time of the event - $ref: '#/components/schemas/google.protobuf.Timestamp' closeTime: allOf: - title: close_time + description: The close time of the event - $ref: '#/components/schemas/google.protobuf.Timestamp' metadata: allOf: - title: metadata + description: The metadata of the event - $ref: '#/components/schemas/mgmt.v1alpha1.JobRunEventMetadata' tasks: type: array items: $ref: '#/components/schemas/mgmt.v1alpha1.JobRunEventTask' title: tasks + description: The list of tasks associated with the event title: JobRunEvent additionalProperties: false mgmt.v1alpha1.JobRunEventMetadata: @@ -10164,6 +10558,7 @@ components: syncMetadata: allOf: - title: sync_metadata + description: The metadata of the sync - $ref: '#/components/schemas/mgmt.v1alpha1.JobRunSyncMetadata' title: JobRunEventMetadata additionalProperties: false @@ -10175,16 +10570,20 @@ components: - type: string - type: number title: id + description: The unique identifier of the task type: type: string title: type + description: The type of the task eventTime: allOf: - title: event_time + description: The time of the event - $ref: '#/components/schemas/google.protobuf.Timestamp' error: allOf: - title: error + description: The error of the task - $ref: '#/components/schemas/mgmt.v1alpha1.JobRunEventTaskError' title: JobRunEventTask additionalProperties: false @@ -10194,9 +10593,11 @@ components: message: type: string title: message + description: The message of the error retryState: type: string title: retry_state + description: The retry state of the error title: JobRunEventTaskError additionalProperties: false mgmt.v1alpha1.JobRunSyncMetadata: @@ -10205,9 +10606,11 @@ components: schema: type: string title: schema + description: The schema of the table table: type: string title: table + description: The table of the sync title: JobRunSyncMetadata additionalProperties: false mgmt.v1alpha1.JobSource: @@ -10216,6 +10619,7 @@ components: options: allOf: - title: options + description: The source options to use for the job - $ref: '#/components/schemas/mgmt.v1alpha1.JobSourceOptions' title: JobSource required: @@ -10378,18 +10782,30 @@ components: postgresSubset: allOf: - title: postgres_subset + description: >- + The list of schemas (and their tables) along with any + configuration options that will be used. - $ref: '#/components/schemas/mgmt.v1alpha1.PostgresSourceSchemaSubset' mysqlSubset: allOf: - title: mysql_subset + description: >- + The list of schemas (and their tables) along with any + configuration options that will be used. - $ref: '#/components/schemas/mgmt.v1alpha1.MysqlSourceSchemaSubset' dynamodbSubset: allOf: - title: dynamodb_subset + description: >- + The list of tables (and their configuration) that reside within + the schema - $ref: '#/components/schemas/mgmt.v1alpha1.DynamoDBSourceSchemaSubset' mssqlSubset: allOf: - title: mssql_subset + description: >- + The list of schemas (and their tables) along with any + configuration options that will be used. - $ref: '#/components/schemas/mgmt.v1alpha1.MssqlSourceSchemaSubset' title: JobSourceSqlSubetSchemas additionalProperties: false @@ -10399,9 +10815,12 @@ components: jobId: type: string title: job_id + format: uuid + description: The unique identifier of the job status: allOf: - title: status + description: The status of the job - $ref: '#/components/schemas/mgmt.v1alpha1.JobStatus' title: JobStatusRecord additionalProperties: false @@ -10441,17 +10860,16 @@ components: truncateTable: allOf: - title: truncate_table + description: Whether to truncate the table before inserting data - $ref: '#/components/schemas/mgmt.v1alpha1.MssqlTruncateTableConfig' initTableSchema: type: boolean title: init_table_schema - description: Currently not supported and a placeholder for future implementation + description: Whether to initialize the table schema before inserting data onConflict: allOf: - title: on_conflict - description: >- - Currently not supported and a placeholder for future - implementation + description: The configuration for handling conflicts when inserting data - $ref: '#/components/schemas/mgmt.v1alpha1.MssqlOnConflictConfig' skipForeignKeyViolations: type: boolean @@ -10479,6 +10897,7 @@ components: doNothing: type: boolean title: do_nothing + description: Whether to do nothing when a conflict occurs title: MssqlOnConflictConfig additionalProperties: false mgmt.v1alpha1.MssqlSourceConnectionOptions: @@ -10487,18 +10906,24 @@ components: haltOnNewColumnAddition: type: boolean title: halt_on_new_column_addition + description: Whether to halt the job if a new column is added schemas: type: array items: $ref: '#/components/schemas/mgmt.v1alpha1.MssqlSourceSchemaOption' title: schemas + description: >- + The list of schemas (and their tables) along with any configuration + options that will be used. connectionId: type: string title: connection_id format: uuid + description: The unique connection id to a mssql connection configuration subsetByForeignKeyConstraints: type: boolean title: subset_by_foreign_key_constraints + description: Whether to subset the table by foreign key constraints columnRemovalStrategy: allOf: - title: column_removal_strategy @@ -10544,6 +10969,7 @@ components: continueJob: allOf: - title: continue_job + description: continue job if a column is removed - $ref: >- #/components/schemas/mgmt.v1alpha1.MssqlSourceConnectionOptions.ColumnRemovalStrategy.ContinueJob title: ColumnRemovalStrategy @@ -10564,11 +10990,17 @@ components: schema: type: string title: schema + minLength: 1 + description: The database schema tables: type: array items: $ref: '#/components/schemas/mgmt.v1alpha1.MssqlSourceTableOption' title: tables + minItems: 1 + description: >- + The list of tables (and their configuration) that reside within the + schema title: MssqlSourceSchemaOption additionalProperties: false mgmt.v1alpha1.MssqlSourceSchemaSubset: @@ -10579,6 +11011,9 @@ components: items: $ref: '#/components/schemas/mgmt.v1alpha1.MssqlSourceSchemaOption' title: mssql_schemas + description: >- + The list of schemas (and their tables) along with any configuration + options that will be used. title: MssqlSourceSchemaSubset additionalProperties: false mgmt.v1alpha1.MssqlSourceTableOption: @@ -10602,9 +11037,15 @@ components: table: type: string title: table + minLength: 1 + description: The table that will be used to subset the data for. whereClause: type: string title: where_clause + description: >- + This is not a parameterized query and must be valid. Intended to be + everything after the WHERE keyword. + Is used to subset the table. title: MssqlSourceTableOption additionalProperties: false mgmt.v1alpha1.MssqlTruncateTableConfig: @@ -10613,6 +11054,7 @@ components: truncateBeforeInsert: type: boolean title: truncate_before_insert + description: Whether to truncate the table before inserting data title: MssqlTruncateTableConfig additionalProperties: false mgmt.v1alpha1.MysqlDestinationConnectionOptions: @@ -10636,13 +11078,16 @@ components: truncateTable: allOf: - title: truncate_table + description: Whether to truncate the table before inserting data - $ref: '#/components/schemas/mgmt.v1alpha1.MysqlTruncateTableConfig' initTableSchema: type: boolean title: init_table_schema + description: Whether to initialize the table schema before inserting data onConflict: allOf: - title: on_conflict + description: The configuration for handling conflicts when inserting data - $ref: '#/components/schemas/mgmt.v1alpha1.MysqlOnConflictConfig' skipForeignKeyViolations: type: boolean @@ -10726,18 +11171,24 @@ components: haltOnNewColumnAddition: type: boolean title: halt_on_new_column_addition + description: Whether to halt the job if a new column is added schemas: type: array items: $ref: '#/components/schemas/mgmt.v1alpha1.MysqlSourceSchemaOption' title: schemas + description: >- + The list of schemas (and their tables) along with any configuration + options that will be used. connectionId: type: string title: connection_id format: uuid + description: The unique connection id to a mysql connection configuration subsetByForeignKeyConstraints: type: boolean title: subset_by_foreign_key_constraints + description: Whether to subset the table by foreign key constraints columnRemovalStrategy: allOf: - title: column_removal_strategy @@ -10783,6 +11234,7 @@ components: continueJob: allOf: - title: continue_job + description: continue job if a column is removed - $ref: >- #/components/schemas/mgmt.v1alpha1.MysqlSourceConnectionOptions.ColumnRemovalStrategy.ContinueJob title: ColumnRemovalStrategy @@ -10803,11 +11255,17 @@ components: schema: type: string title: schema + minLength: 1 + description: The database schema tables: type: array items: $ref: '#/components/schemas/mgmt.v1alpha1.MysqlSourceTableOption' title: tables + minItems: 1 + description: >- + The list of tables (and their configuration) that reside within the + schema title: MysqlSourceSchemaOption additionalProperties: false mgmt.v1alpha1.MysqlSourceSchemaSubset: @@ -10818,6 +11276,9 @@ components: items: $ref: '#/components/schemas/mgmt.v1alpha1.MysqlSourceSchemaOption' title: mysql_schemas + description: >- + The list of schemas (and their tables) along with any configuration + options that will be used. title: MysqlSourceSchemaSubset additionalProperties: false mgmt.v1alpha1.MysqlSourceTableOption: @@ -10841,9 +11302,15 @@ components: table: type: string title: table + minLength: 1 + description: The table that will be used to subset the data for. whereClause: type: string title: where_clause + description: >- + This is not a parameterized query and must be valid. Intended to be + everything after the WHERE keyword. + Is used to subset the table. title: MysqlSourceTableOption additionalProperties: false mgmt.v1alpha1.MysqlTruncateTableConfig: @@ -10852,6 +11319,7 @@ components: truncateBeforeInsert: type: boolean title: truncate_before_insert + description: Whether to truncate the table before inserting data title: MysqlTruncateTableConfig additionalProperties: false mgmt.v1alpha1.NewJobHook: @@ -10908,12 +11376,15 @@ components: type: string title: id format: uuid + description: The unique identifier of the job pause: type: boolean title: pause + description: Whether to pause or unpause the job note: type: string title: note + description: An optional note to be associated with the pause title: PauseJobRequest additionalProperties: false mgmt.v1alpha1.PauseJobResponse: @@ -10922,6 +11393,7 @@ components: job: allOf: - title: job + description: The job that was updated - $ref: '#/components/schemas/mgmt.v1alpha1.Job' title: PauseJobResponse additionalProperties: false @@ -10946,13 +11418,16 @@ components: status: allOf: - title: status + description: The status of the activity - $ref: '#/components/schemas/mgmt.v1alpha1.ActivityStatus' activityName: type: string title: activity_name + description: The name of the activity lastFailure: allOf: - title: last_failure + description: The last failure of the activity - $ref: '#/components/schemas/mgmt.v1alpha1.ActivityFailure' title: PendingActivity additionalProperties: false @@ -10977,20 +11452,21 @@ components: truncateTable: allOf: - title: truncate_table + description: Whether to truncate the table before inserting data - $ref: '#/components/schemas/mgmt.v1alpha1.PostgresTruncateTableConfig' initTableSchema: type: boolean title: init_table_schema + description: Whether to initialize the table schema before inserting data onConflict: allOf: - title: on_conflict + description: The configuration for handling conflicts when inserting data - $ref: '#/components/schemas/mgmt.v1alpha1.PostgresOnConflictConfig' skipForeignKeyViolations: type: boolean title: skip_foreign_key_violations - description: >- - Insert all valid records, skipping any that violate foreign key - constraints. + description: Whether to skip records that violate foreign key constraints batch: allOf: - title: batch @@ -11069,13 +11545,18 @@ components: items: $ref: '#/components/schemas/mgmt.v1alpha1.PostgresSourceSchemaOption' title: schemas + description: >- + The list of schemas (and their tables) along with any configuration + options that will be used. connectionId: type: string title: connection_id format: uuid + description: The unique connection id to a postgres connection configuration subsetByForeignKeyConstraints: type: boolean title: subset_by_foreign_key_constraints + description: Whether to subset the table by foreign key constraints newColumnAdditionStrategy: allOf: - title: new_column_addition_strategy @@ -11129,6 +11610,7 @@ components: continueJob: allOf: - title: continue_job + description: continue job if a column is removed - $ref: >- #/components/schemas/mgmt.v1alpha1.PostgresSourceConnectionOptions.ColumnRemovalStrategy.ContinueJob title: ColumnRemovalStrategy @@ -11203,11 +11685,17 @@ components: schema: type: string title: schema + minLength: 1 + description: The database schema tables: type: array items: $ref: '#/components/schemas/mgmt.v1alpha1.PostgresSourceTableOption' title: tables + minItems: 1 + description: >- + The list of tables (and their configuration) that reside within the + schema title: PostgresSourceSchemaOption additionalProperties: false mgmt.v1alpha1.PostgresSourceSchemaSubset: @@ -11218,6 +11706,9 @@ components: items: $ref: '#/components/schemas/mgmt.v1alpha1.PostgresSourceSchemaOption' title: postgres_schemas + description: >- + The list of schemas (and their tables) along with any configuration + options that will be used. title: PostgresSourceSchemaSubset additionalProperties: false mgmt.v1alpha1.PostgresSourceTableOption: @@ -11241,9 +11732,15 @@ components: table: type: string title: table + minLength: 1 + description: The table that will be used subset the data for. whereClause: type: string title: where_clause + description: >- + This is not a parameterized query and must be valid. Intended to be + everything after the WHERE keyword. + Is used to subset the table. title: PostgresSourceTableOption additionalProperties: false mgmt.v1alpha1.PostgresTruncateTableConfig: @@ -11252,9 +11749,11 @@ components: truncateBeforeInsert: type: boolean title: truncate_before_insert + description: Whether to truncate the table before inserting data cascade: type: boolean title: cascade + description: Whether to cascade the truncate to child tables title: PostgresTruncateTableConfig additionalProperties: false mgmt.v1alpha1.RetryPolicy: @@ -11356,6 +11855,7 @@ components: job: allOf: - title: job + description: The job that was updated - $ref: '#/components/schemas/mgmt.v1alpha1.Job' title: SetJobSourceSqlConnectionSubsetsResponse additionalProperties: false @@ -11382,6 +11882,7 @@ components: job: allOf: - title: job + description: The updated job - $ref: '#/components/schemas/mgmt.v1alpha1.Job' title: SetJobSyncOptionsResponse additionalProperties: false @@ -11408,6 +11909,7 @@ components: job: allOf: - title: job + description: The updated job - $ref: '#/components/schemas/mgmt.v1alpha1.Job' title: SetJobWorkflowOptionsResponse additionalProperties: false @@ -11417,6 +11919,7 @@ components: id: allOf: - title: id + description: The run context key - $ref: '#/components/schemas/mgmt.v1alpha1.RunContextKey' value: type: string @@ -11435,6 +11938,7 @@ components: id: allOf: - title: id + description: The run context key - $ref: '#/components/schemas/mgmt.v1alpha1.RunContextKey' value: type: string @@ -11453,10 +11957,12 @@ components: jobRunId: type: string title: job_run_id + description: The unique identifier of the job run accountId: type: string title: account_id format: uuid + description: The unique identifier of the account title: TerminateJobRunRequest additionalProperties: false mgmt.v1alpha1.TerminateJobRunResponse: @@ -11470,17 +11976,21 @@ components: type: string title: job_id format: uuid + description: The unique identifier of the job connectionId: type: string title: connection_id format: uuid + description: The unique identifier of the connection options: allOf: - title: options + description: The destination connection options - $ref: '#/components/schemas/mgmt.v1alpha1.JobDestinationOptions' destinationId: type: string title: destination_id + description: The unique identifier of the destination title: UpdateJobDestinationConnectionRequest additionalProperties: false mgmt.v1alpha1.UpdateJobDestinationConnectionResponse: @@ -11489,6 +11999,7 @@ components: job: allOf: - title: job + description: The job that was updated - $ref: '#/components/schemas/mgmt.v1alpha1.Job' title: UpdateJobDestinationConnectionResponse additionalProperties: false @@ -11561,9 +12072,11 @@ components: type: string title: id format: uuid + description: The unique identifier of the job cronSchedule: type: string title: cron_schedule + description: The new cron schedule title: UpdateJobScheduleRequest additionalProperties: false mgmt.v1alpha1.UpdateJobScheduleResponse: @@ -11572,6 +12085,7 @@ components: job: allOf: - title: job + description: The job that was updated - $ref: '#/components/schemas/mgmt.v1alpha1.Job' title: UpdateJobScheduleResponse additionalProperties: false @@ -11582,20 +12096,26 @@ components: type: string title: id format: uuid + description: The unique identifier of the job source: allOf: - title: source + description: The new source connection configuration - $ref: '#/components/schemas/mgmt.v1alpha1.JobSource' mappings: type: array items: $ref: '#/components/schemas/mgmt.v1alpha1.JobMapping' title: mappings + description: The new list of mappings that will be used to transform the data virtualForeignKeys: type: array items: $ref: '#/components/schemas/mgmt.v1alpha1.VirtualForeignConstraint' title: virtual_foreign_keys + description: >- + The new list of virtual foreign keys that will be used to further + constrain the data ontop of the database defined constraints title: UpdateJobSourceConnectionRequest additionalProperties: false mgmt.v1alpha1.UpdateJobSourceConnectionResponse: @@ -11614,20 +12134,24 @@ components: type: string title: account_id format: uuid - description: The unique account identifier that this job will be associated with + description: The unique identifier of the account mappings: type: array items: $ref: '#/components/schemas/mgmt.v1alpha1.JobMapping' title: mappings + description: The list of mappings to validate connectionId: type: string title: connection_id + format: uuid + description: The unique identifier of the connection virtualForeignKeys: type: array items: $ref: '#/components/schemas/mgmt.v1alpha1.VirtualForeignConstraint' title: virtual_foreign_keys + description: The list of virtual foreign keys title: ValidateJobMappingsRequest additionalProperties: false mgmt.v1alpha1.ValidateJobMappingsResponse: @@ -11638,9 +12162,11 @@ components: items: $ref: '#/components/schemas/mgmt.v1alpha1.ColumnError' title: column_errors + description: The list of column errors databaseErrors: allOf: - title: database_errors + description: The database error - $ref: '#/components/schemas/mgmt.v1alpha1.DatabaseError' title: ValidateJobMappingsResponse additionalProperties: false @@ -11650,17 +12176,21 @@ components: schema: type: string title: schema + description: The schema of the table table: type: string title: table + description: The table of the virtual foreign key columns: type: array items: type: string title: columns + description: The list of columns foreignKey: allOf: - title: foreign_key + description: The foreign key - $ref: '#/components/schemas/mgmt.v1alpha1.VirtualForeignKey' title: VirtualForeignConstraint additionalProperties: false @@ -11670,14 +12200,17 @@ components: schema: type: string title: schema + description: The schema of the table table: type: string title: table + description: The table of the virtual foreign key columns: type: array items: type: string title: columns + description: The list of columns title: VirtualForeignKey additionalProperties: false mgmt.v1alpha1.WorkflowOptions: @@ -11769,12 +12302,14 @@ components: date: allOf: - title: date + description: The date of the result - $ref: '#/components/schemas/mgmt.v1alpha1.Date' count: oneOf: - type: string - type: number title: count + description: The count of the metric for the given date title: DayResult additionalProperties: false mgmt.v1alpha1.GetDailyMetricCountRequest: @@ -11851,6 +12386,7 @@ components: items: $ref: '#/components/schemas/mgmt.v1alpha1.DayResult' title: results + description: The list of results for the given metric and date range title: GetDailyMetricCountResponse additionalProperties: false mgmt.v1alpha1.GetMetricCountRequest: @@ -12011,20 +12547,27 @@ components: type: string title: account_id format: uuid + description: >- + The unique identifier of the account to create the user defined + transformer for. name: type: string title: name pattern: ^[a-z0-9-]{3,100}$ + description: The name of the user defined transformer. description: type: string title: description + description: The description of the user defined transformer. source: allOf: - title: source + description: The source of the user defined transformer. - $ref: '#/components/schemas/mgmt.v1alpha1.TransformerSource' transformerConfig: allOf: - title: transformer_config + description: The configuration of the user defined transformer. - $ref: '#/components/schemas/mgmt.v1alpha1.TransformerConfig' title: CreateUserDefinedTransformerRequest additionalProperties: false @@ -12044,6 +12587,7 @@ components: type: string title: transformer_id format: uuid + description: The unique identifier of the user defined transformer to delete. title: DeleteUserDefinedTransformerRequest additionalProperties: false mgmt.v1alpha1.DeleteUserDefinedTransformerResponse: @@ -12056,6 +12600,7 @@ components: source: allOf: - title: source + description: The source of the transformer to retrieve. - $ref: '#/components/schemas/mgmt.v1alpha1.TransformerSource' title: GetSystemTransformerBySourceRequest additionalProperties: false @@ -12112,6 +12657,7 @@ components: type: string title: transformer_id format: uuid + description: The unique identifier of the user defined transformer to get. title: GetUserDefinedTransformerByIdRequest additionalProperties: false mgmt.v1alpha1.GetUserDefinedTransformerByIdResponse: @@ -12130,6 +12676,9 @@ components: type: string title: account_id format: uuid + description: >- + The unique identifier of the account to get the user defined + transformers for. title: GetUserDefinedTransformersRequest additionalProperties: false mgmt.v1alpha1.GetUserDefinedTransformersResponse: @@ -12149,10 +12698,14 @@ components: type: string title: account_id format: uuid + description: >- + The unique identifier of the account to check for the availability + of the transformer name. transformerName: type: string title: transformer_name pattern: ^[a-z0-9-]{3,100}$ + description: The name of the transformer to check for availability. title: IsTransformerNameAvailableRequest additionalProperties: false mgmt.v1alpha1.IsTransformerNameAvailableResponse: @@ -12161,6 +12714,7 @@ components: isAvailable: type: boolean title: is_available + description: Whether or not the transformer name is available. title: IsTransformerNameAvailableResponse additionalProperties: false mgmt.v1alpha1.SystemTransformer: @@ -12169,26 +12723,34 @@ components: name: type: string title: name + description: The name of the transformer. description: type: string title: description + description: The description of the transformer. dataType: allOf: - title: data_type + description: >- + @deprecated: data_types is deprecated and will be removed in a + future release. Use data_types instead. - $ref: '#/components/schemas/mgmt.v1alpha1.TransformerDataType' source: allOf: - title: source + description: The source of the transformer. - $ref: '#/components/schemas/mgmt.v1alpha1.TransformerSource' config: allOf: - title: config + description: The configuration of the transformer. - $ref: '#/components/schemas/mgmt.v1alpha1.TransformerConfig' dataTypes: type: array items: $ref: '#/components/schemas/mgmt.v1alpha1.TransformerDataType' title: data_types + description: The data types supported by the transformer. supportedJobTypes: type: array items: @@ -12196,6 +12758,10 @@ components: title: supported_job_types title: SystemTransformer additionalProperties: false + description: >- + A system transformer is a transformer that is built into the Neosync + platform. + It can be used directly in job mappings or used in user-defined transformers to snapshot a specific configuration. mgmt.v1alpha1.UpdateUserDefinedTransformerRequest: type: object properties: @@ -12203,16 +12769,20 @@ components: type: string title: transformer_id format: uuid + description: The unique identifier of the user defined transformer to update. name: type: string title: name pattern: ^[a-z0-9-]{3,100}$ + description: The name of the user defined transformer. description: type: string title: description + description: The description of the user defined transformer. transformerConfig: allOf: - title: transformer_config + description: The configuration of the user defined transformer. - $ref: '#/components/schemas/mgmt.v1alpha1.TransformerConfig' title: UpdateUserDefinedTransformerRequest additionalProperties: false @@ -12232,43 +12802,56 @@ components: type: string title: id format: uuid + description: The unique identifier of the user defined transformer. name: type: string title: name + description: The name of the user defined transformer. description: type: string title: description + description: The description of the user defined transformer. dataType: allOf: - title: data_type description: >- - This property is readonly and is calculated based off the origin - system transformer + @deprecated: data_type is deprecated and will be removed in a + future release. Use data_types instead. - $ref: '#/components/schemas/mgmt.v1alpha1.TransformerDataType' source: allOf: - title: source + description: The source of the user defined transformer. - $ref: '#/components/schemas/mgmt.v1alpha1.TransformerSource' config: allOf: - title: config + description: The configuration of the user defined transformer. - $ref: '#/components/schemas/mgmt.v1alpha1.TransformerConfig' createdAt: allOf: - title: created_at + description: The date and time the user defined transformer was created. - $ref: '#/components/schemas/google.protobuf.Timestamp' updatedAt: allOf: - title: updated_at + description: The date and time the user defined transformer was last updated. - $ref: '#/components/schemas/google.protobuf.Timestamp' accountId: type: string title: account_id + description: >- + The unique identifier of the account that owns the user defined + transformer. dataTypes: type: array items: $ref: '#/components/schemas/mgmt.v1alpha1.TransformerDataType' title: data_types + description: >- + The data types supported by the user defined transformer. This is + currently calculated based off the origin system transformer. title: UserDefinedTransformer additionalProperties: false mgmt.v1alpha1.ValidateUserJavascriptCodeRequest: @@ -12278,6 +12861,7 @@ components: type: string title: code minLength: 1 + description: The user provided javascript code that will be validated. title: ValidateUserJavascriptCodeRequest additionalProperties: false mgmt.v1alpha1.ValidateUserJavascriptCodeResponse: @@ -12294,6 +12878,7 @@ components: userProvidedRegex: type: string title: user_provided_regex + description: The user provided regex to validate title: ValidateUserRegexCodeRequest additionalProperties: false mgmt.v1alpha1.ValidateUserRegexCodeResponse: @@ -12302,6 +12887,7 @@ components: valid: type: boolean title: valid + description: Whether the regex is valid title: ValidateUserRegexCodeResponse additionalProperties: false mgmt.v1alpha1.AccountRole: @@ -12345,6 +12931,7 @@ components: type: string title: token minLength: 1 + description: The token that the user will use to accept the invite. title: AcceptTeamAccountInviteRequest additionalProperties: false mgmt.v1alpha1.AcceptTeamAccountInviteResponse: @@ -12353,6 +12940,7 @@ components: account: allOf: - title: account + description: The account that the user was invited to. - $ref: '#/components/schemas/mgmt.v1alpha1.UserAccount' title: AcceptTeamAccountInviteResponse additionalProperties: false @@ -12362,32 +12950,41 @@ components: id: type: string title: id + description: The unique identifier of the invite. accountId: type: string title: account_id + description: The unique identifier of the account to invite the user to. senderUserId: type: string title: sender_user_id + description: The unique identifier of the user that sent the invite. email: type: string title: email + description: The email of the user to invite. token: type: string title: token + description: The token that the user will use to accept the invite. accepted: type: boolean title: accepted + description: Whether or not the invite has been accepted. createdAt: allOf: - title: created_at + description: The time when the invite was created. - $ref: '#/components/schemas/google.protobuf.Timestamp' updatedAt: allOf: - title: updated_at + description: The time when the invite was last updated. - $ref: '#/components/schemas/google.protobuf.Timestamp' expiresAt: allOf: - title: expires_at + description: The time when the invite expires. - $ref: '#/components/schemas/google.protobuf.Timestamp' role: allOf: @@ -12402,6 +12999,7 @@ components: hasCompletedOnboarding: type: boolean title: has_completed_onboarding + description: Whether or not the account has completed onboarding. title: AccountOnboardingConfig additionalProperties: false mgmt.v1alpha1.AccountTemporalConfig: @@ -12411,14 +13009,17 @@ components: type: string title: url minLength: 1 + description: The temporal url for the account. namespace: type: string title: namespace minLength: 1 + description: The temporal namespace for the account. syncJobQueueName: type: string title: sync_job_queue_name minLength: 1 + description: The temporal sync job queue name for the account. title: AccountTemporalConfig additionalProperties: false mgmt.v1alpha1.AccountUser: @@ -12427,15 +13028,19 @@ components: id: type: string title: id + description: The unique identifier of the user. name: type: string title: name + description: The name of the user (if there is one) image: type: string title: image + description: The image of the user (if there is one) email: type: string title: email + description: The email of the user. role: allOf: - title: role @@ -12545,6 +13150,7 @@ components: accountId: type: string title: account_id + description: The unique identifier of the team account that was created. checkoutSessionUrl: type: string title: checkout_session_url @@ -12560,6 +13166,9 @@ components: type: string title: account_id format: uuid + description: >- + The unique identifier of the account to get the billing checkout + session for. title: GetAccountBillingCheckoutSessionRequest additionalProperties: false mgmt.v1alpha1.GetAccountBillingCheckoutSessionResponse: @@ -12578,6 +13187,9 @@ components: type: string title: account_id format: uuid + description: >- + The unique identifier of the account to get the billing portal + session for. title: GetAccountBillingPortalSessionRequest additionalProperties: false mgmt.v1alpha1.GetAccountBillingPortalSessionResponse: @@ -12596,6 +13208,9 @@ components: type: string title: account_id format: uuid + description: >- + The unique identifier of the account to get the onboarding config + for. title: GetAccountOnboardingConfigRequest additionalProperties: false mgmt.v1alpha1.GetAccountOnboardingConfigResponse: @@ -12604,6 +13219,7 @@ components: config: allOf: - title: config + description: The onboarding config for the account. - $ref: '#/components/schemas/mgmt.v1alpha1.AccountOnboardingConfig' title: GetAccountOnboardingConfigResponse additionalProperties: false @@ -12614,6 +13230,7 @@ components: type: string title: account_id format: uuid + description: The unique identifier of the account to get the status for. title: GetAccountStatusRequest additionalProperties: false mgmt.v1alpha1.GetAccountStatusResponse: @@ -12665,6 +13282,7 @@ components: type: string title: account_id format: uuid + description: The unique identifier of the account to get the temporal config for. title: GetAccountTemporalConfigRequest additionalProperties: false mgmt.v1alpha1.GetAccountTemporalConfigResponse: @@ -12673,6 +13291,7 @@ components: config: allOf: - title: config + description: The temporal config for the account. - $ref: '#/components/schemas/mgmt.v1alpha1.AccountTemporalConfig' title: GetAccountTemporalConfigResponse additionalProperties: false @@ -12695,6 +13314,7 @@ components: items: $ref: '#/components/schemas/mgmt.v1alpha1.UserAccount' title: accounts + description: The list of accounts that have a billing id. title: GetBillingAccountsResponse additionalProperties: false mgmt.v1alpha1.GetSystemInformationRequest: @@ -12739,6 +13359,7 @@ components: type: string title: account_id format: uuid + description: The unique identifier of the account to get the invites for. title: GetTeamAccountInvitesRequest additionalProperties: false mgmt.v1alpha1.GetTeamAccountInvitesResponse: @@ -12749,6 +13370,7 @@ components: items: $ref: '#/components/schemas/mgmt.v1alpha1.AccountInvite' title: invites + description: The list of invites for the account. title: GetTeamAccountInvitesResponse additionalProperties: false mgmt.v1alpha1.GetTeamAccountMembersRequest: @@ -12758,6 +13380,7 @@ components: type: string title: account_id format: uuid + description: The unique identifier of the account to get the members for. title: GetTeamAccountMembersRequest additionalProperties: false mgmt.v1alpha1.GetTeamAccountMembersResponse: @@ -12782,6 +13405,7 @@ components: items: $ref: '#/components/schemas/mgmt.v1alpha1.UserAccount' title: accounts + description: The list of accounts that the user belongs to. title: GetUserAccountsResponse additionalProperties: false mgmt.v1alpha1.GetUserRequest: @@ -12794,6 +13418,7 @@ components: userId: type: string title: user_id + description: The unique identifier of the user that was retrieved. title: GetUserResponse additionalProperties: false mgmt.v1alpha1.InviteUserToTeamAccountRequest: @@ -12818,12 +13443,12 @@ components: type: string title: account_id format: uuid - description: The account id to invite the user to + description: The unique identifier of the account to invite the user to. email: type: string title: email minLength: 1 - description: The email of the user to invite + description: The email of the user to invite. role: allOf: - title: role @@ -12837,6 +13462,7 @@ components: invite: allOf: - title: invite + description: The invite that was created. - $ref: '#/components/schemas/mgmt.v1alpha1.AccountInvite' title: InviteUserToTeamAccountResponse additionalProperties: false @@ -12862,6 +13488,7 @@ components: type: string title: account_id format: uuid + description: The unique identifier of the account to get the status for. requestedRecordCount: oneOf: - type: string @@ -12893,6 +13520,7 @@ components: isValid: type: boolean title: is_valid + description: Whether or not the account is valid. reason: type: string title: reason @@ -12922,6 +13550,7 @@ components: type: string title: account_id format: uuid + description: The unique identifier of the account to check if the user is in. title: IsUserInAccountRequest additionalProperties: false mgmt.v1alpha1.IsUserInAccountResponse: @@ -12930,6 +13559,7 @@ components: ok: type: boolean title: ok + description: Whether or not the user is in the account. title: IsUserInAccountResponse additionalProperties: false mgmt.v1alpha1.RemoveTeamAccountInviteRequest: @@ -12939,6 +13569,7 @@ components: type: string title: id format: uuid + description: The unique identifier of the invite to remove. title: RemoveTeamAccountInviteRequest additionalProperties: false mgmt.v1alpha1.RemoveTeamAccountInviteResponse: @@ -12952,10 +13583,12 @@ components: type: string title: user_id format: uuid + description: The unique identifier of the user to remove from the account. accountId: type: string title: account_id format: uuid + description: The unique identifier of the account to remove the user from. title: RemoveTeamAccountMemberRequest additionalProperties: false mgmt.v1alpha1.RemoveTeamAccountMemberResponse: @@ -12969,9 +13602,13 @@ components: type: string title: account_id format: uuid + description: >- + The unique identifier of the account to set the onboarding config + for. config: allOf: - title: config + description: The onboarding config to set for the account. - $ref: '#/components/schemas/mgmt.v1alpha1.AccountOnboardingConfig' title: SetAccountOnboardingConfigRequest additionalProperties: false @@ -12981,6 +13618,7 @@ components: config: allOf: - title: config + description: The onboarding config that was set for the account. - $ref: '#/components/schemas/mgmt.v1alpha1.AccountOnboardingConfig' title: SetAccountOnboardingConfigResponse additionalProperties: false @@ -12991,9 +13629,11 @@ components: type: string title: account_id format: uuid + description: The unique identifier of the account to set the temporal config for. config: allOf: - title: config + description: The temporal config to set for the account. - $ref: '#/components/schemas/mgmt.v1alpha1.AccountTemporalConfig' title: SetAccountTemporalConfigRequest additionalProperties: false @@ -13003,6 +13643,7 @@ components: config: allOf: - title: config + description: The temporal config that was set for the account. - $ref: '#/components/schemas/mgmt.v1alpha1.AccountTemporalConfig' title: SetAccountTemporalConfigResponse additionalProperties: false @@ -13028,7 +13669,7 @@ components: type: string title: account_id format: uuid - description: The account id to apply this metered event to + description: The unique identifier of the account to apply this metered event to. eventName: type: string title: event_name @@ -13068,6 +13709,7 @@ components: accountId: type: string title: account_id + description: The unique identifier of the personal account that was created. title: SetPersonalAccountResponse additionalProperties: false mgmt.v1alpha1.SetUserRequest: @@ -13080,6 +13722,7 @@ components: userId: type: string title: user_id + description: The unique identifier of the user that was created. title: SetUserResponse additionalProperties: false mgmt.v1alpha1.SetUserRoleRequest: @@ -13089,16 +13732,16 @@ components: type: string title: account_id format: uuid - description: The account id to apply this role to + description: The unique identifier of the account to apply this role to. userId: type: string title: user_id format: uuid - description: The user that this will be applied to + description: The unique identifier of the user that this will be applied to. role: allOf: - title: role - description: The role that this user will obtain + description: The role that this user will obtain. - $ref: '#/components/schemas/mgmt.v1alpha1.AccountRole' title: SetUserRoleRequest additionalProperties: false diff --git a/docs/protos/mgmt/v1alpha1/anonymization.proto.mdx b/docs/protos/mgmt/v1alpha1/anonymization.proto.mdx index e4f3e884c0..18c64d22e4 100644 --- a/docs/protos/mgmt/v1alpha1/anonymization.proto.mdx +++ b/docs/protos/mgmt/v1alpha1/anonymization.proto.mdx @@ -38,7 +38,7 @@ _**package** mgmt.v1alpha1_ ### `DefaultTransformersConfig` - + ### `TransformerMapping` @@ -50,11 +50,11 @@ _**package** mgmt.v1alpha1_ ### `AnonymizationService` - +Service that transactionally anonymizes data, regardless of the connection type. #### `AnonymizeMany` - + #### `AnonymizeSingle` diff --git a/docs/protos/mgmt/v1alpha1/api_key.proto.mdx b/docs/protos/mgmt/v1alpha1/api_key.proto.mdx index e48c04fbf0..a34bff90df 100644 --- a/docs/protos/mgmt/v1alpha1/api_key.proto.mdx +++ b/docs/protos/mgmt/v1alpha1/api_key.proto.mdx @@ -18,19 +18,19 @@ _**package** mgmt.v1alpha1_ ### `AccountApiKey` - + ### `CreateAccountApiKeyRequest` - + ### `CreateAccountApiKeyResponse` - + ### `DeleteAccountApiKeyRequest` - + ### `DeleteAccountApiKeyResponse` @@ -38,27 +38,27 @@ _**package** mgmt.v1alpha1_ ### `GetAccountApiKeyRequest` - + ### `GetAccountApiKeyResponse` - + ### `GetAccountApiKeysRequest` - + ### `GetAccountApiKeysResponse` - + ### `RegenerateAccountApiKeyRequest` - + ### `RegenerateAccountApiKeyResponse` - + --- ## Services @@ -70,11 +70,11 @@ Service that manages the lifecycle of API Keys that are associated with a specif #### `GetAccountApiKeys` - + #### `GetAccountApiKey` - + #### `CreateAccountApiKey` diff --git a/docs/protos/mgmt/v1alpha1/auth.proto.mdx b/docs/protos/mgmt/v1alpha1/auth.proto.mdx index a4e286c641..c62a773e70 100644 --- a/docs/protos/mgmt/v1alpha1/auth.proto.mdx +++ b/docs/protos/mgmt/v1alpha1/auth.proto.mdx @@ -83,11 +83,11 @@ Today this is mostly used by the CLI to receive authentication information #### `GetAuthorizeUrl` - + #### `GetAuthStatus` - + --- diff --git a/docs/protos/mgmt/v1alpha1/connection.proto.mdx b/docs/protos/mgmt/v1alpha1/connection.proto.mdx index e31f049210..ee39cef45b 100644 --- a/docs/protos/mgmt/v1alpha1/connection.proto.mdx +++ b/docs/protos/mgmt/v1alpha1/connection.proto.mdx @@ -18,11 +18,11 @@ _**package** mgmt.v1alpha1_ ### `AwsS3ConnectionConfig` - + ### `AwsS3Credentials` - + ### `CheckConnectionConfigByIdRequest` @@ -34,7 +34,7 @@ _**package** mgmt.v1alpha1_ ### `CheckConnectionConfigRequest` - + ### `CheckConnectionConfigResponse` @@ -66,15 +66,15 @@ _**package** mgmt.v1alpha1_ ### `CreateConnectionRequest` - + ### `CreateConnectionResponse` - + ### `DeleteConnectionRequest` - + ### `DeleteConnectionResponse` @@ -90,27 +90,27 @@ _**package** mgmt.v1alpha1_ ### `GetConnectionRequest` - + ### `GetConnectionResponse` - + ### `GetConnectionsRequest` - + ### `GetConnectionsResponse` - + ### `IsConnectionNameAvailableRequest` - + ### `IsConnectionNameAvailableResponse` - + ### `LocalDirectoryConnectionConfig` @@ -122,31 +122,31 @@ _**package** mgmt.v1alpha1_ ### `MssqlConnectionConfig` - + ### `MysqlConnection` - + ### `MysqlConnectionConfig` - + ### `OpenAiConnectionConfig` - + ### `PostgresConnection` - + ### `PostgresConnectionConfig` - + ### `SSHAuthentication` - + ### `SSHPassphrase` @@ -166,11 +166,11 @@ _**package** mgmt.v1alpha1_ ### `UpdateConnectionRequest` - + ### `UpdateConnectionResponse` - + --- ## Services @@ -183,11 +183,11 @@ This is a primary data model in Neosync and is used in reference when hooking up #### `GetConnections` - + #### `GetConnection` - + #### `CreateConnection` diff --git a/docs/protos/mgmt/v1alpha1/connection_data.proto.mdx b/docs/protos/mgmt/v1alpha1/connection_data.proto.mdx index 3c7dae8c36..785fb93635 100644 --- a/docs/protos/mgmt/v1alpha1/connection_data.proto.mdx +++ b/docs/protos/mgmt/v1alpha1/connection_data.proto.mdx @@ -22,11 +22,11 @@ _**package** mgmt.v1alpha1_ ### `AwsS3SchemaConfig` - + ### `AwsS3StreamConfig` - + ### `ConnectionSchemaConfig` @@ -42,7 +42,7 @@ _**package** mgmt.v1alpha1_ ### `DatabaseTable` - + ### `DynamoDBSchemaConfig` @@ -50,27 +50,27 @@ _**package** mgmt.v1alpha1_ ### `ForeignConstraint` - + ### `ForeignConstraintTables` - + ### `ForeignKey` - + ### `GcpCloudStorageSchemaConfig` - + ### `GcpCloudStorageStreamConfig` - + ### `GetAiGeneratedDataRequest` - + ### `GetAiGeneratedDataResponse` @@ -78,7 +78,7 @@ _**package** mgmt.v1alpha1_ ### `GetConnectionDataStreamRequest` - + ### `GetConnectionDataStreamResponse` @@ -86,11 +86,11 @@ _**package** mgmt.v1alpha1_ ### `GetConnectionInitStatementsRequest` - + ### `GetConnectionInitStatementsResponse` -.
and value is the table init statement.","label":"repeated","type":"TableInitStatementsEntry","longType":"GetConnectionInitStatementsResponse.TableInitStatementsEntry","fullType":"mgmt.v1alpha1.GetConnectionInitStatementsResponse.TableInitStatementsEntry","ismap":true,"isoneof":false,"oneofdecl":"","defaultValue":"","typeLink":"/api/mgmt/v1alpha1/connection_data.proto#getconnectioninitstatementsresponsetableinitstatementsentry"},{"name":"table_truncate_statements","description":"the key here is .
and value is the table truncate statement.","label":"repeated","type":"TableTruncateStatementsEntry","longType":"GetConnectionInitStatementsResponse.TableTruncateStatementsEntry","fullType":"mgmt.v1alpha1.GetConnectionInitStatementsResponse.TableTruncateStatementsEntry","ismap":true,"isoneof":false,"oneofdecl":"","defaultValue":"","typeLink":"/api/mgmt/v1alpha1/connection_data.proto#getconnectioninitstatementsresponsetabletruncatestatementsentry"},{"name":"schema_init_statements","description":"","label":"repeated","type":"SchemaInitStatements","longType":"SchemaInitStatements","fullType":"mgmt.v1alpha1.SchemaInitStatements","ismap":false,"isoneof":false,"oneofdecl":"","defaultValue":"","typeLink":"/api/mgmt/v1alpha1/connection_data.proto#schemainitstatements"}]}} /> +.
and value is the table init statement.","label":"repeated","type":"TableInitStatementsEntry","longType":"GetConnectionInitStatementsResponse.TableInitStatementsEntry","fullType":"mgmt.v1alpha1.GetConnectionInitStatementsResponse.TableInitStatementsEntry","ismap":true,"isoneof":false,"oneofdecl":"","defaultValue":"","typeLink":"/api/mgmt/v1alpha1/connection_data.proto#getconnectioninitstatementsresponsetableinitstatementsentry"},{"name":"table_truncate_statements","description":"The key here is .
and value is the table truncate statement.","label":"repeated","type":"TableTruncateStatementsEntry","longType":"GetConnectionInitStatementsResponse.TableTruncateStatementsEntry","fullType":"mgmt.v1alpha1.GetConnectionInitStatementsResponse.TableTruncateStatementsEntry","ismap":true,"isoneof":false,"oneofdecl":"","defaultValue":"","typeLink":"/api/mgmt/v1alpha1/connection_data.proto#getconnectioninitstatementsresponsetabletruncatestatementsentry"},{"name":"schema_init_statements","description":"A list of schema initialization statements","label":"repeated","type":"SchemaInitStatements","longType":"SchemaInitStatements","fullType":"mgmt.v1alpha1.SchemaInitStatements","ismap":false,"isoneof":false,"oneofdecl":"","defaultValue":"","typeLink":"/api/mgmt/v1alpha1/connection_data.proto#schemainitstatements"}]}} /> ### `GetConnectionInitStatementsResponse.TableInitStatementsEntry` @@ -102,7 +102,7 @@ _**package** mgmt.v1alpha1_ ### `GetConnectionSchemaMapRequest` - + ### `GetConnectionSchemaMapResponse` @@ -122,15 +122,15 @@ _**package** mgmt.v1alpha1_ ### `GetConnectionSchemaRequest` - + ### `GetConnectionSchemaResponse` - + ### `GetConnectionTableConstraintsRequest` - + ### `GetConnectionTableConstraintsResponse` @@ -150,15 +150,15 @@ _**package** mgmt.v1alpha1_ ### `GetTableRowCountRequest` - + ### `GetTableRowCountResponse` - + ### `InitStatementOptions` - + ### `MongoSchemaConfig` @@ -186,19 +186,19 @@ _**package** mgmt.v1alpha1_ ### `PrimaryConstraint` - + ### `SchemaInitStatements` - + ### `UniqueConstraint` - + ### `UniqueConstraints` - + --- ## Services @@ -239,7 +239,7 @@ This is used in handle data from a connection #### `GetTableRowCount` - + --- diff --git a/docs/protos/mgmt/v1alpha1/job.proto.mdx b/docs/protos/mgmt/v1alpha1/job.proto.mdx index 19abd1e2aa..d6c978b5cc 100644 --- a/docs/protos/mgmt/v1alpha1/job.proto.mdx +++ b/docs/protos/mgmt/v1alpha1/job.proto.mdx @@ -18,7 +18,7 @@ _**package** mgmt.v1alpha1_ ### `ActivityFailure` - + ### `ActivityOptions` @@ -34,7 +34,7 @@ _**package** mgmt.v1alpha1_ ### `AiGenerateSourceTableOption` - + ### `AwsS3DestinationConnectionOptions` @@ -42,7 +42,7 @@ _**package** mgmt.v1alpha1_ ### `AwsS3SourceConnectionOptions` - + ### `BatchConfig` @@ -50,7 +50,7 @@ _**package** mgmt.v1alpha1_ ### `CancelJobRunRequest` - + ### `CancelJobRunResponse` @@ -58,19 +58,19 @@ _**package** mgmt.v1alpha1_ ### `ColumnError` - + ### `CreateJobDestination` - + ### `CreateJobDestinationConnectionsRequest` - + ### `CreateJobDestinationConnectionsResponse` - + ### `CreateJobHookRequest` @@ -82,15 +82,15 @@ _**package** mgmt.v1alpha1_ ### `CreateJobRequest` - + ### `CreateJobResponse` - + ### `CreateJobRunRequest` - + ### `CreateJobRunResponse` @@ -98,11 +98,11 @@ _**package** mgmt.v1alpha1_ ### `DatabaseError` - + ### `DeleteJobDestinationConnectionRequest` - + ### `DeleteJobDestinationConnectionResponse` @@ -118,7 +118,7 @@ _**package** mgmt.v1alpha1_ ### `DeleteJobRequest` - + ### `DeleteJobResponse` @@ -126,7 +126,7 @@ _**package** mgmt.v1alpha1_ ### `DeleteJobRunRequest` - + ### `DeleteJobRunResponse` @@ -146,7 +146,7 @@ _**package** mgmt.v1alpha1_ ### `DynamoDBSourceSchemaSubset` - + ### `DynamoDBSourceTableOption` @@ -162,15 +162,15 @@ _**package** mgmt.v1alpha1_ ### `GenerateSourceOptions` - + ### `GenerateSourceSchemaOption` - + ### `GenerateSourceTableOption` - + ### `GetActiveJobHooksByTimingRequest` @@ -198,91 +198,91 @@ _**package** mgmt.v1alpha1_ ### `GetJobNextRunsRequest` - + ### `GetJobNextRunsResponse` - + ### `GetJobRecentRunsRequest` - + ### `GetJobRecentRunsResponse` - + ### `GetJobRequest` - + ### `GetJobResponse` - + ### `GetJobRunEventsRequest` - + ### `GetJobRunEventsResponse` - + ### `GetJobRunLogsStreamRequest` - + ### `GetJobRunLogsStreamResponse` - + ### `GetJobRunRequest` - + ### `GetJobRunResponse` - + ### `GetJobRunsRequest` - + ### `GetJobRunsResponse` - + ### `GetJobStatusRequest` - + ### `GetJobStatusResponse` - + ### `GetJobStatusesRequest` - + ### `GetJobStatusesResponse` - + ### `GetJobsRequest` - + ### `GetJobsResponse` - + ### `GetRunContextRequest` - + ### `GetRunContextResponse` - + ### `IsJobHookNameAvailableRequest` @@ -294,19 +294,19 @@ _**package** mgmt.v1alpha1_ ### `IsJobNameAvailableRequest` - + ### `IsJobNameAvailableResponse` - + ### `Job` - + ### `JobDestination` - + ### `JobDestinationOptions` @@ -338,19 +338,19 @@ _**package** mgmt.v1alpha1_ ### `JobMapping` - + ### `JobMappingTransformer` - + ### `JobNextRuns` - + ### `JobRecentRun` - + ### `JobRun` @@ -358,27 +358,27 @@ _**package** mgmt.v1alpha1_ ### `JobRunEvent` - + ### `JobRunEventMetadata` - + ### `JobRunEventTask` - + ### `JobRunEventTaskError` - + ### `JobRunSyncMetadata` - + ### `JobSource` - + ### `JobSourceOptions` @@ -386,11 +386,11 @@ _**package** mgmt.v1alpha1_ ### `JobSourceSqlSubetSchemas` - + ### `JobStatusRecord` - + ### `MongoDBDestinationConnectionOptions` @@ -402,19 +402,19 @@ _**package** mgmt.v1alpha1_ ### `MssqlDestinationConnectionOptions` - + ### `MssqlOnConflictConfig` - + ### `MssqlSourceConnectionOptions` - + ### `MssqlSourceConnectionOptions.ColumnRemovalStrategy` - + ### `MssqlSourceConnectionOptions.ColumnRemovalStrategy.ContinueJob` @@ -426,23 +426,23 @@ _**package** mgmt.v1alpha1_ ### `MssqlSourceSchemaOption` - + ### `MssqlSourceSchemaSubset` - + ### `MssqlSourceTableOption` - + ### `MssqlTruncateTableConfig` - + ### `MysqlDestinationConnectionOptions` - + ### `MysqlOnConflictConfig` @@ -458,11 +458,11 @@ _**package** mgmt.v1alpha1_ ### `MysqlSourceConnectionOptions` - + ### `MysqlSourceConnectionOptions.ColumnRemovalStrategy` - + ### `MysqlSourceConnectionOptions.ColumnRemovalStrategy.ContinueJob` @@ -474,19 +474,19 @@ _**package** mgmt.v1alpha1_ ### `MysqlSourceSchemaOption` - + ### `MysqlSourceSchemaSubset` - + ### `MysqlSourceTableOption` - + ### `MysqlTruncateTableConfig` - + ### `NewJobHook` @@ -494,19 +494,19 @@ _**package** mgmt.v1alpha1_ ### `PauseJobRequest` - + ### `PauseJobResponse` - + ### `PendingActivity` - + ### `PostgresDestinationConnectionOptions` - + ### `PostgresOnConflictConfig` @@ -522,11 +522,11 @@ _**package** mgmt.v1alpha1_ ### `PostgresSourceConnectionOptions` - + ### `PostgresSourceConnectionOptions.ColumnRemovalStrategy` - + ### `PostgresSourceConnectionOptions.ColumnRemovalStrategy.ContinueJob` @@ -550,19 +550,19 @@ _**package** mgmt.v1alpha1_ ### `PostgresSourceSchemaOption` - + ### `PostgresSourceSchemaSubset` - + ### `PostgresSourceTableOption` - + ### `PostgresTruncateTableConfig` - + ### `RetryPolicy` @@ -586,7 +586,7 @@ _**package** mgmt.v1alpha1_ ### `SetJobSourceSqlConnectionSubsetsResponse` - + ### `SetJobSyncOptionsRequest` @@ -594,7 +594,7 @@ _**package** mgmt.v1alpha1_ ### `SetJobSyncOptionsResponse` - + ### `SetJobWorkflowOptionsRequest` @@ -602,11 +602,11 @@ _**package** mgmt.v1alpha1_ ### `SetJobWorkflowOptionsResponse` - + ### `SetRunContextRequest` - + ### `SetRunContextResponse` @@ -614,7 +614,7 @@ _**package** mgmt.v1alpha1_ ### `SetRunContextsRequest` - + ### `SetRunContextsResponse` @@ -622,7 +622,7 @@ _**package** mgmt.v1alpha1_ ### `TerminateJobRunRequest` - + ### `TerminateJobRunResponse` @@ -630,11 +630,11 @@ _**package** mgmt.v1alpha1_ ### `UpdateJobDestinationConnectionRequest` - + ### `UpdateJobDestinationConnectionResponse` - + ### `UpdateJobHookRequest` @@ -646,15 +646,15 @@ _**package** mgmt.v1alpha1_ ### `UpdateJobScheduleRequest` - + ### `UpdateJobScheduleResponse` - + ### `UpdateJobSourceConnectionRequest` - + ### `UpdateJobSourceConnectionResponse` @@ -662,19 +662,19 @@ _**package** mgmt.v1alpha1_ ### `ValidateJobMappingsRequest` - + ### `ValidateJobMappingsResponse` - + ### `VirtualForeignConstraint` - + ### `VirtualForeignKey` - + ### `WorkflowOptions` @@ -717,99 +717,99 @@ _**package** mgmt.v1alpha1_ ### `JobService` - +Service that handles jobs, runs, and hooks #### `GetJobs` - + #### `GetJob` - + #### `CreateJob` - + #### `DeleteJob` - + #### `IsJobNameAvailable` - + #### `UpdateJobSchedule` - + #### `UpdateJobSourceConnection` - + #### `SetJobSourceSqlConnectionSubsets` - + #### `UpdateJobDestinationConnection` - + #### `DeleteJobDestinationConnection` - + #### `CreateJobDestinationConnections` - + #### `PauseJob` - + #### `GetJobRecentRuns` - + #### `GetJobNextRuns` - + #### `GetJobStatus` - + #### `GetJobStatuses` - + #### `GetJobRuns` - + #### `GetJobRunEvents` - + #### `GetJobRun` - + #### `DeleteJobRun` - + #### `CreateJobRun` - + #### `CancelJobRun` - + #### `TerminateJobRun` - + #### `GetJobRunLogsStream` @@ -825,7 +825,7 @@ _**package** mgmt.v1alpha1_ #### `ValidateJobMappings` - + #### `GetRunContext` @@ -841,11 +841,11 @@ _**package** mgmt.v1alpha1_ #### `GetJobHooks` - + #### `GetJobHook` - + #### `CreateJobHook` @@ -869,7 +869,7 @@ _**package** mgmt.v1alpha1_ #### `GetActiveJobHooksByTiming` - + --- diff --git a/docs/protos/mgmt/v1alpha1/metrics.proto.mdx b/docs/protos/mgmt/v1alpha1/metrics.proto.mdx index 2a9d79091e..3d5e92c975 100644 --- a/docs/protos/mgmt/v1alpha1/metrics.proto.mdx +++ b/docs/protos/mgmt/v1alpha1/metrics.proto.mdx @@ -22,7 +22,7 @@ _**package** mgmt.v1alpha1_ ### `DayResult` - + ### `GetDailyMetricCountRequest` @@ -30,7 +30,7 @@ _**package** mgmt.v1alpha1_ ### `GetDailyMetricCountResponse` - + ### `GetMetricCountRequest` @@ -53,15 +53,15 @@ _**package** mgmt.v1alpha1_ ### `MetricsService` - +Service that handles serving up usage metrics #### `GetDailyMetricCount` - + #### `GetMetricCount` - + --- diff --git a/docs/protos/mgmt/v1alpha1/transformer.proto.mdx b/docs/protos/mgmt/v1alpha1/transformer.proto.mdx index dd22706cdb..2508aae9a1 100644 --- a/docs/protos/mgmt/v1alpha1/transformer.proto.mdx +++ b/docs/protos/mgmt/v1alpha1/transformer.proto.mdx @@ -18,7 +18,7 @@ _**package** mgmt.v1alpha1_ ### `CreateUserDefinedTransformerRequest` - + ### `CreateUserDefinedTransformerResponse` @@ -26,7 +26,7 @@ _**package** mgmt.v1alpha1_ ### `DeleteUserDefinedTransformerRequest` - + ### `DeleteUserDefinedTransformerResponse` @@ -42,11 +42,11 @@ _**package** mgmt.v1alpha1_ ### `GenerateCardNumber` - + ### `GenerateCategorical` - + ### `GenerateCity` @@ -62,7 +62,7 @@ _**package** mgmt.v1alpha1_ ### `GenerateE164PhoneNumber` - + ### `GenerateEmail` @@ -74,7 +74,7 @@ _**package** mgmt.v1alpha1_ ### `GenerateFloat64` - + ### `GenerateFullAddress` @@ -86,11 +86,11 @@ _**package** mgmt.v1alpha1_ ### `GenerateGender` - + ### `GenerateInt64` - + ### `GenerateInt64PhoneNumber` @@ -98,11 +98,11 @@ _**package** mgmt.v1alpha1_ ### `GenerateIpAddress` - + ### `GenerateJavascript` - + ### `GenerateLastName` @@ -126,11 +126,11 @@ _**package** mgmt.v1alpha1_ ### `GenerateString` - + ### `GenerateStringPhoneNumber` - + ### `GenerateUnixTimestamp` @@ -146,7 +146,7 @@ _**package** mgmt.v1alpha1_ ### `GenerateUuid` - + ### `GenerateZipcode` @@ -154,7 +154,7 @@ _**package** mgmt.v1alpha1_ ### `GetSystemTransformerBySourceRequest` - + ### `GetSystemTransformerBySourceResponse` @@ -178,7 +178,7 @@ _**package** mgmt.v1alpha1_ ### `GetUserDefinedTransformerByIdRequest` - + ### `GetUserDefinedTransformerByIdResponse` @@ -186,7 +186,7 @@ _**package** mgmt.v1alpha1_ ### `GetUserDefinedTransformersRequest` - + ### `GetUserDefinedTransformersResponse` @@ -194,11 +194,11 @@ _**package** mgmt.v1alpha1_ ### `IsTransformerNameAvailableRequest` - + ### `IsTransformerNameAvailableResponse` - + ### `Null` @@ -238,15 +238,15 @@ _**package** mgmt.v1alpha1_ ### `SystemTransformer` - + ### `TransformCharacterScramble` - + ### `TransformE164PhoneNumber` - + ### `TransformEmail` @@ -254,35 +254,35 @@ _**package** mgmt.v1alpha1_ ### `TransformFirstName` - + ### `TransformFloat64` - + ### `TransformFullName` - + ### `TransformInt64` - + ### `TransformInt64PhoneNumber` - + ### `TransformJavascript` - + ### `TransformLastName` - + ### `TransformPhoneNumber` - + ### `TransformPiiText` @@ -294,7 +294,7 @@ _**package** mgmt.v1alpha1_ ### `TransformString` - + ### `TransformUuid` @@ -302,11 +302,11 @@ _**package** mgmt.v1alpha1_ ### `TransformerConfig` - + ### `UpdateUserDefinedTransformerRequest` - + ### `UpdateUserDefinedTransformerResponse` @@ -314,15 +314,15 @@ _**package** mgmt.v1alpha1_ ### `UserDefinedTransformer` - + ### `UserDefinedTransformerConfig` - + ### `ValidateUserJavascriptCodeRequest` - + ### `ValidateUserJavascriptCodeResponse` @@ -330,11 +330,11 @@ _**package** mgmt.v1alpha1_ ### `ValidateUserRegexCodeRequest` - + ### `ValidateUserRegexCodeResponse` - + --- ## Enums @@ -357,7 +357,7 @@ _**package** mgmt.v1alpha1_ ### `SupportedJobType` - + ### `TransformerDataType` @@ -373,47 +373,47 @@ _**package** mgmt.v1alpha1_ ### `TransformersService` - +Service that manages system and user defined transformers #### `GetSystemTransformers` - + #### `GetSystemTransformerBySource` - + #### `GetUserDefinedTransformers` - + #### `GetUserDefinedTransformerById` - + #### `CreateUserDefinedTransformer` - + #### `DeleteUserDefinedTransformer` - + #### `UpdateUserDefinedTransformer` - + #### `IsTransformerNameAvailable` - + #### `ValidateUserJavascriptCode` - + #### `ValidateUserRegexCode` - + #### `GetTransformPiiEntities` diff --git a/docs/protos/mgmt/v1alpha1/user_account.proto.mdx b/docs/protos/mgmt/v1alpha1/user_account.proto.mdx index a282f50a7a..b22ec2997c 100644 --- a/docs/protos/mgmt/v1alpha1/user_account.proto.mdx +++ b/docs/protos/mgmt/v1alpha1/user_account.proto.mdx @@ -18,27 +18,27 @@ _**package** mgmt.v1alpha1_ ### `AcceptTeamAccountInviteRequest` - + ### `AcceptTeamAccountInviteResponse` - + ### `AccountInvite` - + ### `AccountOnboardingConfig` - + ### `AccountTemporalConfig` - + ### `AccountUser` - + ### `ConvertPersonalToTeamAccountRequest` @@ -54,11 +54,11 @@ _**package** mgmt.v1alpha1_ ### `CreateTeamAccountResponse` - + ### `GetAccountBillingCheckoutSessionRequest` - + ### `GetAccountBillingCheckoutSessionResponse` @@ -66,7 +66,7 @@ _**package** mgmt.v1alpha1_ ### `GetAccountBillingPortalSessionRequest` - + ### `GetAccountBillingPortalSessionResponse` @@ -74,15 +74,15 @@ _**package** mgmt.v1alpha1_ ### `GetAccountOnboardingConfigRequest` - + ### `GetAccountOnboardingConfigResponse` - + ### `GetAccountStatusRequest` - + ### `GetAccountStatusResponse` @@ -90,11 +90,11 @@ _**package** mgmt.v1alpha1_ ### `GetAccountTemporalConfigRequest` - + ### `GetAccountTemporalConfigResponse` - + ### `GetBillingAccountsRequest` @@ -102,7 +102,7 @@ _**package** mgmt.v1alpha1_ ### `GetBillingAccountsResponse` - + ### `GetSystemInformationRequest` @@ -114,15 +114,15 @@ _**package** mgmt.v1alpha1_ ### `GetTeamAccountInvitesRequest` - + ### `GetTeamAccountInvitesResponse` - + ### `GetTeamAccountMembersRequest` - + ### `GetTeamAccountMembersResponse` @@ -134,7 +134,7 @@ _**package** mgmt.v1alpha1_ ### `GetUserAccountsResponse` - + ### `GetUserRequest` @@ -142,35 +142,35 @@ _**package** mgmt.v1alpha1_ ### `GetUserResponse` - + ### `InviteUserToTeamAccountRequest` - + ### `InviteUserToTeamAccountResponse` - + ### `IsAccountStatusValidRequest` - + ### `IsAccountStatusValidResponse` - + ### `IsUserInAccountRequest` - + ### `IsUserInAccountResponse` - + ### `RemoveTeamAccountInviteRequest` - + ### `RemoveTeamAccountInviteResponse` @@ -178,7 +178,7 @@ _**package** mgmt.v1alpha1_ ### `RemoveTeamAccountMemberRequest` - + ### `RemoveTeamAccountMemberResponse` @@ -186,23 +186,23 @@ _**package** mgmt.v1alpha1_ ### `SetAccountOnboardingConfigRequest` - + ### `SetAccountOnboardingConfigResponse` - + ### `SetAccountTemporalConfigRequest` - + ### `SetAccountTemporalConfigResponse` - + ### `SetBillingMeterEventRequest` - + ### `SetBillingMeterEventResponse` @@ -214,7 +214,7 @@ _**package** mgmt.v1alpha1_ ### `SetPersonalAccountResponse` - + ### `SetUserRequest` @@ -222,11 +222,11 @@ _**package** mgmt.v1alpha1_ ### `SetUserResponse` - + ### `SetUserRoleRequest` - + ### `SetUserRoleResponse` @@ -257,7 +257,7 @@ _**package** mgmt.v1alpha1_ ### `UserAccountType` - + --- ## Services @@ -265,23 +265,23 @@ _**package** mgmt.v1alpha1_ ### `UserAccountService` - +Service that manages users, accounts, and billing #### `GetUser` - + #### `SetUser` - + #### `GetUserAccounts` - + #### `SetPersonalAccount` - + #### `ConvertPersonalToTeamAccount` @@ -293,51 +293,51 @@ _**package** mgmt.v1alpha1_ #### `IsUserInAccount` - + #### `GetAccountTemporalConfig` - + #### `SetAccountTemporalConfig` - + #### `GetTeamAccountMembers` - + #### `RemoveTeamAccountMember` - + #### `InviteUserToTeamAccount` - + #### `GetTeamAccountInvites` - + #### `RemoveTeamAccountInvite` - + #### `AcceptTeamAccountInvite` - + #### `GetSystemInformation` - + #### `GetAccountOnboardingConfig` - + #### `SetAccountOnboardingConfig` - + #### `GetAccountStatus` @@ -349,11 +349,11 @@ _**package** mgmt.v1alpha1_ #### `GetAccountBillingCheckoutSession` - + #### `GetAccountBillingPortalSession` - + #### `GetBillingAccounts` diff --git a/docs/protos/proto_docs.json b/docs/protos/proto_docs.json index 863632ba2e..06f47b378d 100644 --- a/docs/protos/proto_docs.json +++ b/docs/protos/proto_docs.json @@ -160,12 +160,12 @@ { "name": "SUPPORTED_JOB_TYPE_SYNC", "number": "1", - "description": "" + "description": "Determines if a transformer is supported for a sync job." }, { "name": "SUPPORTED_JOB_TYPE_GENERATE", "number": "2", - "description": "" + "description": "Determines if a transformer is supported for a generate job." } ] }, @@ -495,7 +495,7 @@ "fields": [ { "name": "account_id", - "description": "", + "description": "The unique identifier of the account to create the user defined transformer for.", "label": "", "type": "string", "longType": "string", @@ -507,7 +507,7 @@ }, { "name": "name", - "description": "", + "description": "The name of the user defined transformer.", "label": "", "type": "string", "longType": "string", @@ -519,7 +519,7 @@ }, { "name": "description", - "description": "", + "description": "The description of the user defined transformer.", "label": "", "type": "string", "longType": "string", @@ -531,7 +531,7 @@ }, { "name": "source", - "description": "", + "description": "The source of the user defined transformer.", "label": "", "type": "TransformerSource", "longType": "TransformerSource", @@ -543,7 +543,7 @@ }, { "name": "transformer_config", - "description": "", + "description": "The configuration of the user defined transformer.", "label": "", "type": "TransformerConfig", "longType": "TransformerConfig", @@ -591,7 +591,7 @@ "fields": [ { "name": "transformer_id", - "description": "", + "description": "The unique identifier of the user defined transformer to delete.", "label": "", "type": "string", "longType": "string", @@ -648,7 +648,7 @@ "fields": [ { "name": "valid_luhn", - "description": "", + "description": "Whether or not to validate the card number using the Luhn algorithm.", "label": "optional", "type": "bool", "longType": "bool", @@ -672,7 +672,7 @@ "fields": [ { "name": "categories", - "description": "", + "description": "A comma separated list of categories that will be used to generate a random value from.", "label": "optional", "type": "string", "longType": "string", @@ -742,7 +742,7 @@ "fields": [ { "name": "min", - "description": "", + "description": "The minimum length of the phone number to generate.", "label": "optional", "type": "int64", "longType": "int64", @@ -754,7 +754,7 @@ }, { "name": "max", - "description": "", + "description": "The maximum length of the phone number to generate.", "label": "optional", "type": "int64", "longType": "int64", @@ -813,7 +813,7 @@ "fields": [ { "name": "randomize_sign", - "description": "", + "description": "Whether or not to randomize the sign of the float64.", "label": "optional", "type": "bool", "longType": "bool", @@ -825,7 +825,7 @@ }, { "name": "min", - "description": "", + "description": "The minimum value to randomize the float64 to.", "label": "optional", "type": "double", "longType": "double", @@ -837,7 +837,7 @@ }, { "name": "max", - "description": "", + "description": "The maximum value to randomize the float64 to.", "label": "optional", "type": "double", "longType": "double", @@ -849,7 +849,7 @@ }, { "name": "precision", - "description": "", + "description": "The precision of the float64 to generate.", "label": "optional", "type": "int64", "longType": "int64", @@ -895,7 +895,7 @@ "fields": [ { "name": "abbreviate", - "description": "", + "description": "Whether or not to abbreviate the gender.", "label": "optional", "type": "bool", "longType": "bool", @@ -919,7 +919,7 @@ "fields": [ { "name": "randomize_sign", - "description": "", + "description": "Whether or not to randomize the sign of the int64.", "label": "optional", "type": "bool", "longType": "bool", @@ -931,7 +931,7 @@ }, { "name": "min", - "description": "", + "description": "The minimum value to randomize the int64 to.", "label": "optional", "type": "int64", "longType": "int64", @@ -943,7 +943,7 @@ }, { "name": "max", - "description": "", + "description": "The maximum value to randomize the int64 to.", "label": "optional", "type": "int64", "longType": "int64", @@ -978,7 +978,7 @@ "fields": [ { "name": "ip_type", - "description": "", + "description": "Optionally specify the type of ip address to generate.", "label": "optional", "type": "GenerateIpAddressType", "longType": "GenerateIpAddressType", @@ -1002,7 +1002,7 @@ "fields": [ { "name": "code", - "description": "", + "description": "The user provided javascript code that will be executed in the transformer", "label": "", "type": "string", "longType": "string", @@ -1094,7 +1094,7 @@ "fields": [ { "name": "min", - "description": "", + "description": "The minimum length of the string to generate.", "label": "optional", "type": "int64", "longType": "int64", @@ -1106,7 +1106,7 @@ }, { "name": "max", - "description": "", + "description": "The maximum length of the string to generate.", "label": "optional", "type": "int64", "longType": "int64", @@ -1130,7 +1130,7 @@ "fields": [ { "name": "min", - "description": "", + "description": "The minimum length of the phone number to generate.", "label": "optional", "type": "int64", "longType": "int64", @@ -1142,7 +1142,7 @@ }, { "name": "max", - "description": "", + "description": "The maximum length of the phone number to generate.", "label": "optional", "type": "int64", "longType": "int64", @@ -1199,7 +1199,7 @@ "fields": [ { "name": "include_hyphens", - "description": "", + "description": "Whether or not to include hyphens in the uuid. Defaults to true. If false, the uuid will be returned without hyphens.", "label": "optional", "type": "bool", "longType": "bool", @@ -1234,7 +1234,7 @@ "fields": [ { "name": "source", - "description": "", + "description": "The source of the transformer to retrieve.", "label": "", "type": "TransformerSource", "longType": "TransformerSource", @@ -1365,7 +1365,7 @@ "fields": [ { "name": "transformer_id", - "description": "", + "description": "The unique identifier of the user defined transformer to get.", "label": "", "type": "string", "longType": "string", @@ -1413,7 +1413,7 @@ "fields": [ { "name": "account_id", - "description": "", + "description": "The unique identifier of the account to get the user defined transformers for.", "label": "", "type": "string", "longType": "string", @@ -1461,7 +1461,7 @@ "fields": [ { "name": "account_id", - "description": "", + "description": "The unique identifier of the account to check for the availability of the transformer name.", "label": "", "type": "string", "longType": "string", @@ -1473,7 +1473,7 @@ }, { "name": "transformer_name", - "description": "", + "description": "The name of the transformer to check for availability.", "label": "", "type": "string", "longType": "string", @@ -1497,7 +1497,7 @@ "fields": [ { "name": "is_available", - "description": "", + "description": "Whether or not the transformer name is available.", "label": "", "type": "bool", "longType": "bool", @@ -1774,7 +1774,7 @@ "name": "SystemTransformer", "longName": "SystemTransformer", "fullName": "mgmt.v1alpha1.SystemTransformer", - "description": "", + "description": "A system transformer is a transformer that is built into the Neosync platform.\nIt can be used directly in job mappings or used in user-defined transformers to snapshot a specific configuration.", "hasExtensions": false, "hasFields": true, "hasOneofs": false, @@ -1782,7 +1782,7 @@ "fields": [ { "name": "name", - "description": "", + "description": "The name of the transformer.", "label": "", "type": "string", "longType": "string", @@ -1794,7 +1794,7 @@ }, { "name": "description", - "description": "", + "description": "The description of the transformer.", "label": "", "type": "string", "longType": "string", @@ -1806,7 +1806,7 @@ }, { "name": "data_type", - "description": "", + "description": "@deprecated: data_types is deprecated and will be removed in a future release. Use data_types instead.", "label": "", "type": "TransformerDataType", "longType": "TransformerDataType", @@ -1814,11 +1814,14 @@ "ismap": false, "isoneof": false, "oneofdecl": "", - "defaultValue": "" + "defaultValue": "", + "options": { + "deprecated": true + } }, { "name": "source", - "description": "", + "description": "The source of the transformer.", "label": "", "type": "TransformerSource", "longType": "TransformerSource", @@ -1830,7 +1833,7 @@ }, { "name": "config", - "description": "", + "description": "The configuration of the transformer.", "label": "", "type": "TransformerConfig", "longType": "TransformerConfig", @@ -1842,7 +1845,7 @@ }, { "name": "data_types", - "description": "", + "description": "The data types supported by the transformer.", "label": "repeated", "type": "TransformerDataType", "longType": "TransformerDataType", @@ -1878,7 +1881,7 @@ "fields": [ { "name": "user_provided_regex", - "description": "a user provided regular expression that they wish to validate if it compiles in GO", + "description": "A user provided regular expression that will be used to scramble the characters in the input string. Must be a valid Golang regex.", "label": "optional", "type": "string", "longType": "string", @@ -1902,7 +1905,7 @@ "fields": [ { "name": "preserve_length", - "description": "", + "description": "Whether or not to preserve the original length of the phone number. This causes the transformed phone number to retain the original length.", "label": "optional", "type": "bool", "longType": "bool", @@ -1998,7 +2001,7 @@ "fields": [ { "name": "preserve_length", - "description": "", + "description": "Whether or not to preserve the original length of the first name. This causes the transformed first name to retain the original length.", "label": "optional", "type": "bool", "longType": "bool", @@ -2022,7 +2025,7 @@ "fields": [ { "name": "randomization_range_min", - "description": "", + "description": "The minimum value to randomize the float64 to. This will be relative to the original value.", "label": "optional", "type": "double", "longType": "double", @@ -2034,7 +2037,7 @@ }, { "name": "randomization_range_max", - "description": "", + "description": "The maximum value to randomize the float64 to. This will be relative to the original value.", "label": "optional", "type": "double", "longType": "double", @@ -2058,7 +2061,7 @@ "fields": [ { "name": "preserve_length", - "description": "", + "description": "Whether or not to preserve the original length of the full name. This causes the transformed full name to retain the original length.", "label": "optional", "type": "bool", "longType": "bool", @@ -2082,7 +2085,7 @@ "fields": [ { "name": "randomization_range_min", - "description": "", + "description": "The minimum value to randomize the int64 to. This will be relative to the original value.", "label": "optional", "type": "int64", "longType": "int64", @@ -2094,7 +2097,7 @@ }, { "name": "randomization_range_max", - "description": "", + "description": "The maximum value to randomize the int64 to. This will be relative to the original value.", "label": "optional", "type": "int64", "longType": "int64", @@ -2118,7 +2121,7 @@ "fields": [ { "name": "preserve_length", - "description": "", + "description": "Whether or not to preserve the original length of the phone number. This causes the transformed phone number to retain the original length.", "label": "optional", "type": "bool", "longType": "bool", @@ -2142,7 +2145,7 @@ "fields": [ { "name": "code", - "description": "", + "description": "The user provided javascript code that will be executed in the transformer", "label": "", "type": "string", "longType": "string", @@ -2166,7 +2169,7 @@ "fields": [ { "name": "preserve_length", - "description": "", + "description": "Whether or not to preserve the original length of the last name. This causes the transformed last name to retain the original length.", "label": "optional", "type": "bool", "longType": "bool", @@ -2190,7 +2193,7 @@ "fields": [ { "name": "preserve_length", - "description": "", + "description": "Whether or not to preserve the original length of the phone number. This causes the transformed phone number to retain the original length.", "label": "optional", "type": "bool", "longType": "bool", @@ -2346,7 +2349,7 @@ "fields": [ { "name": "preserve_length", - "description": "", + "description": "Whether or not to preserve the original length of the string. This causes the transformed string to retain the original length.", "label": "optional", "type": "bool", "longType": "bool", @@ -2373,7 +2376,7 @@ "name": "TransformerConfig", "longName": "TransformerConfig", "fullName": "mgmt.v1alpha1.TransformerConfig", - "description": "", + "description": "The configuration for a transformer. This determines what type of transformation or generation is performed.", "hasExtensions": false, "hasFields": true, "hasOneofs": true, @@ -2957,7 +2960,7 @@ "fields": [ { "name": "transformer_id", - "description": "", + "description": "The unique identifier of the user defined transformer to update.", "label": "", "type": "string", "longType": "string", @@ -2969,7 +2972,7 @@ }, { "name": "name", - "description": "", + "description": "The name of the user defined transformer.", "label": "", "type": "string", "longType": "string", @@ -2981,7 +2984,7 @@ }, { "name": "description", - "description": "", + "description": "The description of the user defined transformer.", "label": "", "type": "string", "longType": "string", @@ -2993,7 +2996,7 @@ }, { "name": "transformer_config", - "description": "", + "description": "The configuration of the user defined transformer.", "label": "", "type": "TransformerConfig", "longType": "TransformerConfig", @@ -3041,7 +3044,7 @@ "fields": [ { "name": "id", - "description": "", + "description": "The unique identifier of the user defined transformer.", "label": "", "type": "string", "longType": "string", @@ -3053,7 +3056,7 @@ }, { "name": "name", - "description": "", + "description": "The name of the user defined transformer.", "label": "", "type": "string", "longType": "string", @@ -3065,7 +3068,7 @@ }, { "name": "description", - "description": "", + "description": "The description of the user defined transformer.", "label": "", "type": "string", "longType": "string", @@ -3077,7 +3080,7 @@ }, { "name": "data_type", - "description": "This property is readonly and is calculated based off the origin system transformer", + "description": "@deprecated: data_type is deprecated and will be removed in a future release. Use data_types instead.", "label": "", "type": "TransformerDataType", "longType": "TransformerDataType", @@ -3085,11 +3088,14 @@ "ismap": false, "isoneof": false, "oneofdecl": "", - "defaultValue": "" + "defaultValue": "", + "options": { + "deprecated": true + } }, { "name": "source", - "description": "", + "description": "The source of the user defined transformer.", "label": "", "type": "TransformerSource", "longType": "TransformerSource", @@ -3101,7 +3107,7 @@ }, { "name": "config", - "description": "", + "description": "The configuration of the user defined transformer.", "label": "", "type": "TransformerConfig", "longType": "TransformerConfig", @@ -3113,7 +3119,7 @@ }, { "name": "created_at", - "description": "", + "description": "The date and time the user defined transformer was created.", "label": "", "type": "Timestamp", "longType": "google.protobuf.Timestamp", @@ -3125,7 +3131,7 @@ }, { "name": "updated_at", - "description": "", + "description": "The date and time the user defined transformer was last updated.", "label": "", "type": "Timestamp", "longType": "google.protobuf.Timestamp", @@ -3137,7 +3143,7 @@ }, { "name": "account_id", - "description": "", + "description": "The unique identifier of the account that owns the user defined transformer.", "label": "", "type": "string", "longType": "string", @@ -3149,7 +3155,7 @@ }, { "name": "data_types", - "description": "", + "description": "The data types supported by the user defined transformer. This is currently calculated based off the origin system transformer.", "label": "repeated", "type": "TransformerDataType", "longType": "TransformerDataType", @@ -3173,7 +3179,7 @@ "fields": [ { "name": "id", - "description": "", + "description": "The id of the user defined transformer. When used in a job mapping, this will be used to reference the underlying system transformer along with it's configuration that was chosen.", "label": "", "type": "string", "longType": "string", @@ -3197,7 +3203,7 @@ "fields": [ { "name": "code", - "description": "", + "description": "The user provided javascript code that will be validated.", "label": "", "type": "string", "longType": "string", @@ -3245,7 +3251,7 @@ "fields": [ { "name": "user_provided_regex", - "description": "", + "description": "The user provided regex to validate", "label": "", "type": "string", "longType": "string", @@ -3269,7 +3275,7 @@ "fields": [ { "name": "valid", - "description": "", + "description": "Whether the regex is valid", "label": "", "type": "bool", "longType": "bool", @@ -3287,11 +3293,11 @@ "name": "TransformersService", "longName": "TransformersService", "fullName": "mgmt.v1alpha1.TransformersService", - "description": "", + "description": "Service that manages system and user defined transformers", "methods": [ { "name": "GetSystemTransformers", - "description": "", + "description": "Get a list of all system transformers", "requestType": "GetSystemTransformersRequest", "requestLongType": "GetSystemTransformersRequest", "requestFullType": "mgmt.v1alpha1.GetSystemTransformersRequest", @@ -3299,11 +3305,14 @@ "responseType": "GetSystemTransformersResponse", "responseLongType": "GetSystemTransformersResponse", "responseFullType": "mgmt.v1alpha1.GetSystemTransformersResponse", - "responseStreaming": false + "responseStreaming": false, + "options": { + "idempotency_level": "NO_SIDE_EFFECTS" + } }, { "name": "GetSystemTransformerBySource", - "description": "", + "description": "Get a system transformer by its source", "requestType": "GetSystemTransformerBySourceRequest", "requestLongType": "GetSystemTransformerBySourceRequest", "requestFullType": "mgmt.v1alpha1.GetSystemTransformerBySourceRequest", @@ -3311,11 +3320,14 @@ "responseType": "GetSystemTransformerBySourceResponse", "responseLongType": "GetSystemTransformerBySourceResponse", "responseFullType": "mgmt.v1alpha1.GetSystemTransformerBySourceResponse", - "responseStreaming": false + "responseStreaming": false, + "options": { + "idempotency_level": "NO_SIDE_EFFECTS" + } }, { "name": "GetUserDefinedTransformers", - "description": "", + "description": "Get a list of all user defined transformers", "requestType": "GetUserDefinedTransformersRequest", "requestLongType": "GetUserDefinedTransformersRequest", "requestFullType": "mgmt.v1alpha1.GetUserDefinedTransformersRequest", @@ -3323,11 +3335,14 @@ "responseType": "GetUserDefinedTransformersResponse", "responseLongType": "GetUserDefinedTransformersResponse", "responseFullType": "mgmt.v1alpha1.GetUserDefinedTransformersResponse", - "responseStreaming": false + "responseStreaming": false, + "options": { + "idempotency_level": "NO_SIDE_EFFECTS" + } }, { "name": "GetUserDefinedTransformerById", - "description": "", + "description": "Get a user defined transformer by its id", "requestType": "GetUserDefinedTransformerByIdRequest", "requestLongType": "GetUserDefinedTransformerByIdRequest", "requestFullType": "mgmt.v1alpha1.GetUserDefinedTransformerByIdRequest", @@ -3335,11 +3350,14 @@ "responseType": "GetUserDefinedTransformerByIdResponse", "responseLongType": "GetUserDefinedTransformerByIdResponse", "responseFullType": "mgmt.v1alpha1.GetUserDefinedTransformerByIdResponse", - "responseStreaming": false + "responseStreaming": false, + "options": { + "idempotency_level": "NO_SIDE_EFFECTS" + } }, { "name": "CreateUserDefinedTransformer", - "description": "", + "description": "Create a user defined transformer", "requestType": "CreateUserDefinedTransformerRequest", "requestLongType": "CreateUserDefinedTransformerRequest", "requestFullType": "mgmt.v1alpha1.CreateUserDefinedTransformerRequest", @@ -3351,7 +3369,7 @@ }, { "name": "DeleteUserDefinedTransformer", - "description": "", + "description": "Delete a user defined transformer", "requestType": "DeleteUserDefinedTransformerRequest", "requestLongType": "DeleteUserDefinedTransformerRequest", "requestFullType": "mgmt.v1alpha1.DeleteUserDefinedTransformerRequest", @@ -3363,7 +3381,7 @@ }, { "name": "UpdateUserDefinedTransformer", - "description": "", + "description": "Update a user defined transformer", "requestType": "UpdateUserDefinedTransformerRequest", "requestLongType": "UpdateUserDefinedTransformerRequest", "requestFullType": "mgmt.v1alpha1.UpdateUserDefinedTransformerRequest", @@ -3375,7 +3393,7 @@ }, { "name": "IsTransformerNameAvailable", - "description": "", + "description": "Check if a transformer name is available in your account", "requestType": "IsTransformerNameAvailableRequest", "requestLongType": "IsTransformerNameAvailableRequest", "requestFullType": "mgmt.v1alpha1.IsTransformerNameAvailableRequest", @@ -3387,7 +3405,7 @@ }, { "name": "ValidateUserJavascriptCode", - "description": "", + "description": "Validate user provided javascript code before saving it to a user defined transformer or within a job mapping", "requestType": "ValidateUserJavascriptCodeRequest", "requestLongType": "ValidateUserJavascriptCodeRequest", "requestFullType": "mgmt.v1alpha1.ValidateUserJavascriptCodeRequest", @@ -3399,7 +3417,7 @@ }, { "name": "ValidateUserRegexCode", - "description": "", + "description": "Validate user provided regex code before saving it to a user defined transformer", "requestType": "ValidateUserRegexCodeRequest", "requestLongType": "ValidateUserRegexCodeRequest", "requestFullType": "mgmt.v1alpha1.ValidateUserRegexCodeRequest", @@ -3679,7 +3697,7 @@ "fields": [ { "name": "boolean", - "description": "Boolean", + "description": "Any identified boolean value will be transformed using this configuration if no mapping is found.", "label": "", "type": "TransformerConfig", "longType": "TransformerConfig", @@ -3691,7 +3709,7 @@ }, { "name": "n", - "description": "Number", + "description": "Any identified number value will be transformed using this configuration if no mapping is found.", "label": "", "type": "TransformerConfig", "longType": "TransformerConfig", @@ -3703,7 +3721,7 @@ }, { "name": "s", - "description": "String", + "description": "Any identified string value will be transformed using this configuration if no mapping is found.", "label": "", "type": "TransformerConfig", "longType": "TransformerConfig", @@ -3757,11 +3775,11 @@ "name": "AnonymizationService", "longName": "AnonymizationService", "fullName": "mgmt.v1alpha1.AnonymizationService", - "description": "", + "description": "Service that transactionally anonymizes data, regardless of the connection type.", "methods": [ { "name": "AnonymizeMany", - "description": "Anonymizes many JSON strings by applying specified transformation mappings.", + "description": "Anonymizes many JSON strings by applying specified transformation mappings. This is the bulk version of the `AnonymizeSingle` method.", "requestType": "AnonymizeManyRequest", "requestLongType": "AnonymizeManyRequest", "requestFullType": "mgmt.v1alpha1.AnonymizeManyRequest", @@ -3810,7 +3828,7 @@ "fields": [ { "name": "id", - "description": "", + "description": "The unique identifier of the API key", "label": "", "type": "string", "longType": "string", @@ -3834,7 +3852,7 @@ }, { "name": "account_id", - "description": "", + "description": "The unique identifier of the account that the API key belongs to", "label": "", "type": "string", "longType": "string", @@ -3846,7 +3864,7 @@ }, { "name": "created_by_id", - "description": "", + "description": "The unique identifier of the user that created the API key", "label": "", "type": "string", "longType": "string", @@ -3858,7 +3876,7 @@ }, { "name": "created_at", - "description": "", + "description": "The timestamp of when the API key was created", "label": "", "type": "Timestamp", "longType": "google.protobuf.Timestamp", @@ -3870,7 +3888,7 @@ }, { "name": "updated_by_id", - "description": "", + "description": "The unique identifier of the user that last updated the API key", "label": "", "type": "string", "longType": "string", @@ -3882,7 +3900,7 @@ }, { "name": "updated_at", - "description": "", + "description": "The timestamp of when the API key was last updated", "label": "", "type": "Timestamp", "longType": "google.protobuf.Timestamp", @@ -3906,7 +3924,7 @@ }, { "name": "user_id", - "description": "", + "description": "The unique identifier of the user that the API key belongs to (Each API Key is associated with its own user record to identify what the API key does in the system)", "label": "", "type": "string", "longType": "string", @@ -3942,7 +3960,7 @@ "fields": [ { "name": "account_id", - "description": "", + "description": "The unique identifier of the account to create the API key for.", "label": "", "type": "string", "longType": "string", @@ -3954,7 +3972,7 @@ }, { "name": "name", - "description": "", + "description": "The friendly name of the API key", "label": "", "type": "string", "longType": "string", @@ -3990,7 +4008,7 @@ "fields": [ { "name": "api_key", - "description": "", + "description": "The created API key", "label": "", "type": "AccountApiKey", "longType": "AccountApiKey", @@ -4014,7 +4032,7 @@ "fields": [ { "name": "id", - "description": "", + "description": "The unique identifier of the API key to delete.", "label": "", "type": "string", "longType": "string", @@ -4049,7 +4067,7 @@ "fields": [ { "name": "id", - "description": "", + "description": "The unique identifier of the API key to get.", "label": "", "type": "string", "longType": "string", @@ -4073,7 +4091,7 @@ "fields": [ { "name": "api_key", - "description": "", + "description": "The API key that was retrieved.", "label": "", "type": "AccountApiKey", "longType": "AccountApiKey", @@ -4097,7 +4115,7 @@ "fields": [ { "name": "account_id", - "description": "", + "description": "The unique identifier of the account to get the API keys for.", "label": "", "type": "string", "longType": "string", @@ -4121,7 +4139,7 @@ "fields": [ { "name": "api_keys", - "description": "", + "description": "The list of API keys for the account.", "label": "repeated", "type": "AccountApiKey", "longType": "AccountApiKey", @@ -4145,7 +4163,7 @@ "fields": [ { "name": "id", - "description": "", + "description": "The unique identifier of the API key to regenerate.", "label": "", "type": "string", "longType": "string", @@ -4181,7 +4199,7 @@ "fields": [ { "name": "api_key", - "description": "", + "description": "The regenerated API key", "label": "", "type": "AccountApiKey", "longType": "AccountApiKey", @@ -4211,7 +4229,10 @@ "responseType": "GetAccountApiKeysResponse", "responseLongType": "GetAccountApiKeysResponse", "responseFullType": "mgmt.v1alpha1.GetAccountApiKeysResponse", - "responseStreaming": false + "responseStreaming": false, + "options": { + "idempotency_level": "NO_SIDE_EFFECTS" + } }, { "name": "GetAccountApiKey", @@ -4223,7 +4244,10 @@ "responseType": "GetAccountApiKeyResponse", "responseLongType": "GetAccountApiKeyResponse", "responseFullType": "mgmt.v1alpha1.GetAccountApiKeyResponse", - "responseStreaming": false + "responseStreaming": false, + "options": { + "idempotency_level": "NO_SIDE_EFFECTS" + } }, { "name": "CreateAccountApiKey", @@ -4651,7 +4675,10 @@ "responseType": "GetAuthorizeUrlResponse", "responseLongType": "GetAuthorizeUrlResponse", "responseFullType": "mgmt.v1alpha1.GetAuthorizeUrlResponse", - "responseStreaming": false + "responseStreaming": false, + "options": { + "idempotency_level": "NO_SIDE_EFFECTS" + } }, { "name": "GetAuthStatus", @@ -4663,7 +4690,10 @@ "responseType": "GetAuthStatusResponse", "responseLongType": "GetAuthStatusResponse", "responseFullType": "mgmt.v1alpha1.GetAuthStatusResponse", - "responseStreaming": false + "responseStreaming": false, + "options": { + "idempotency_level": "NO_SIDE_EFFECTS" + } } ] } @@ -4692,7 +4722,7 @@ "fields": [ { "name": "path_prefix", - "description": "", + "description": "The bucket path prefix that will be appended to each file", "label": "optional", "type": "string", "longType": "string", @@ -4704,7 +4734,7 @@ }, { "name": "credentials", - "description": "", + "description": "The credentials to use for the S3 bucket", "label": "optional", "type": "AwsS3Credentials", "longType": "AwsS3Credentials", @@ -4716,7 +4746,7 @@ }, { "name": "region", - "description": "", + "description": "The region of the S3 bucket", "label": "optional", "type": "string", "longType": "string", @@ -4728,7 +4758,7 @@ }, { "name": "endpoint", - "description": "", + "description": "The endpoint of the S3 bucket (if using a custom endpoint like region specific endpoints or S3-compatible APIs)", "label": "optional", "type": "string", "longType": "string", @@ -4740,7 +4770,7 @@ }, { "name": "bucket", - "description": "", + "description": "The name of the S3 bucket", "label": "", "type": "string", "longType": "string", @@ -4764,7 +4794,7 @@ "fields": [ { "name": "profile", - "description": "", + "description": "The profile to use for the S3 credentials", "label": "optional", "type": "string", "longType": "string", @@ -4776,7 +4806,7 @@ }, { "name": "access_key_id", - "description": "", + "description": "The access key id to use for the S3 credentials", "label": "optional", "type": "string", "longType": "string", @@ -4788,7 +4818,7 @@ }, { "name": "secret_access_key", - "description": "", + "description": "The secret access key to use for the S3 credentials", "label": "optional", "type": "string", "longType": "string", @@ -4800,7 +4830,7 @@ }, { "name": "session_token", - "description": "", + "description": "The session token to use for the S3 credentials", "label": "optional", "type": "string", "longType": "string", @@ -4812,7 +4842,7 @@ }, { "name": "from_ec2_role", - "description": "", + "description": "Whether or not the credentials are from an EC2 role", "label": "optional", "type": "bool", "longType": "bool", @@ -4824,7 +4854,7 @@ }, { "name": "role_arn", - "description": "", + "description": "The ARN of the role to use for the S3 credentials", "label": "optional", "type": "string", "longType": "string", @@ -4836,7 +4866,7 @@ }, { "name": "role_external_id", - "description": "", + "description": "The role's external ID to use for the S3 credentials", "label": "optional", "type": "string", "longType": "string", @@ -4932,7 +4962,7 @@ "fields": [ { "name": "connection_config", - "description": "", + "description": "The connection configuration to validate", "label": "", "type": "ConnectionConfig", "longType": "ConnectionConfig", @@ -5424,7 +5454,7 @@ "fields": [ { "name": "account_id", - "description": "", + "description": "The unique identifier of the account to create the connection for", "label": "", "type": "string", "longType": "string", @@ -5448,7 +5478,7 @@ }, { "name": "connection_config", - "description": "", + "description": "The connection configuration to use for the connection", "label": "", "type": "ConnectionConfig", "longType": "ConnectionConfig", @@ -5472,7 +5502,7 @@ "fields": [ { "name": "connection", - "description": "", + "description": "The created connection", "label": "", "type": "Connection", "longType": "Connection", @@ -5496,7 +5526,7 @@ "fields": [ { "name": "id", - "description": "", + "description": "The unique identifier of the connection to delete", "label": "", "type": "string", "longType": "string", @@ -5627,7 +5657,7 @@ "fields": [ { "name": "id", - "description": "", + "description": "The unique identifier of the connection to get", "label": "", "type": "string", "longType": "string", @@ -5651,7 +5681,7 @@ "fields": [ { "name": "connection", - "description": "", + "description": "The connection", "label": "", "type": "Connection", "longType": "Connection", @@ -5675,7 +5705,7 @@ "fields": [ { "name": "account_id", - "description": "", + "description": "The unique identifier of the account to get connections for", "label": "", "type": "string", "longType": "string", @@ -5699,7 +5729,7 @@ "fields": [ { "name": "connections", - "description": "", + "description": "The connections", "label": "repeated", "type": "Connection", "longType": "Connection", @@ -5723,7 +5753,7 @@ "fields": [ { "name": "account_id", - "description": "", + "description": "The unique identifier of the account to check the connection name for", "label": "", "type": "string", "longType": "string", @@ -5735,7 +5765,7 @@ }, { "name": "connection_name", - "description": "", + "description": "The connection name to check for availability", "label": "", "type": "string", "longType": "string", @@ -5759,7 +5789,7 @@ "fields": [ { "name": "is_available", - "description": "", + "description": "Whether or not the connection name is available", "label": "", "type": "bool", "longType": "bool", @@ -5879,7 +5909,7 @@ }, { "name": "connection_options", - "description": "", + "description": "Provide connection options that can be used to further fine-tune the connection", "label": "", "type": "SqlConnectionOptions", "longType": "SqlConnectionOptions", @@ -5927,7 +5957,7 @@ "fields": [ { "name": "user", - "description": "", + "description": "The user to use for the connection", "label": "", "type": "string", "longType": "string", @@ -5939,7 +5969,7 @@ }, { "name": "pass", - "description": "", + "description": "The password to use for the connection", "label": "", "type": "string", "longType": "string", @@ -5951,7 +5981,7 @@ }, { "name": "protocol", - "description": "", + "description": "The protocol to use for the connection", "label": "", "type": "string", "longType": "string", @@ -5963,7 +5993,7 @@ }, { "name": "host", - "description": "", + "description": "The host to use for the connection", "label": "", "type": "string", "longType": "string", @@ -5975,7 +6005,7 @@ }, { "name": "port", - "description": "", + "description": "The port to use for the connection", "label": "", "type": "int32", "longType": "int32", @@ -5987,7 +6017,7 @@ }, { "name": "name", - "description": "", + "description": "The name of the database to use for the connection", "label": "", "type": "string", "longType": "string", @@ -6011,7 +6041,7 @@ "fields": [ { "name": "url", - "description": "", + "description": "A raw string url that will be used to construct the connection. DSN format. URI format also supported but more limited.", "label": "", "type": "string", "longType": "string", @@ -6023,7 +6053,7 @@ }, { "name": "connection", - "description": "", + "description": "A structured representation of the connection that will be used to construct the url", "label": "", "type": "MysqlConnection", "longType": "MysqlConnection", @@ -6059,7 +6089,7 @@ }, { "name": "connection_options", - "description": "", + "description": "Provide connection options that can be used to further fine-tune the connection", "label": "", "type": "SqlConnectionOptions", "longType": "SqlConnectionOptions", @@ -6107,7 +6137,7 @@ }, { "name": "api_url", - "description": "OpenAI URL", + "description": "OpenAI URL (if using a custom endpoint)", "label": "", "type": "string", "longType": "string", @@ -6131,7 +6161,7 @@ "fields": [ { "name": "host", - "description": "", + "description": "The host to use for the connection", "label": "", "type": "string", "longType": "string", @@ -6143,7 +6173,7 @@ }, { "name": "port", - "description": "", + "description": "The port to use for the connection", "label": "", "type": "int32", "longType": "int32", @@ -6155,7 +6185,7 @@ }, { "name": "name", - "description": "", + "description": "The name of the database to use for the connection", "label": "", "type": "string", "longType": "string", @@ -6167,7 +6197,7 @@ }, { "name": "user", - "description": "", + "description": "The user to use for the connection", "label": "", "type": "string", "longType": "string", @@ -6179,7 +6209,7 @@ }, { "name": "pass", - "description": "", + "description": "The password to use for the connection", "label": "", "type": "string", "longType": "string", @@ -6191,7 +6221,7 @@ }, { "name": "ssl_mode", - "description": "", + "description": "The SSL mode to use for the connection", "label": "optional", "type": "string", "longType": "string", @@ -6215,7 +6245,7 @@ "fields": [ { "name": "url", - "description": "", + "description": "A raw string url that will be used to construct the connection. Must be URI format.", "label": "", "type": "string", "longType": "string", @@ -6227,7 +6257,7 @@ }, { "name": "connection", - "description": "", + "description": "A structured representation of the connection that will be used to construct the url", "label": "", "type": "PostgresConnection", "longType": "PostgresConnection", @@ -6263,7 +6293,7 @@ }, { "name": "connection_options", - "description": "", + "description": "Provide connection options that can be used to further fine-tune the connection", "label": "", "type": "SqlConnectionOptions", "longType": "SqlConnectionOptions", @@ -6299,7 +6329,7 @@ "fields": [ { "name": "passphrase", - "description": "", + "description": "Password authentication", "label": "", "type": "SSHPassphrase", "longType": "SSHPassphrase", @@ -6311,7 +6341,7 @@ }, { "name": "private_key", - "description": "", + "description": "Private key authentication", "label": "", "type": "SSHPrivateKey", "longType": "SSHPrivateKey", @@ -6527,7 +6557,7 @@ "fields": [ { "name": "id", - "description": "", + "description": "The unique identifier of the connection to update", "label": "", "type": "string", "longType": "string", @@ -6539,7 +6569,7 @@ }, { "name": "name", - "description": "", + "description": "The friendly name of the connection", "label": "", "type": "string", "longType": "string", @@ -6551,7 +6581,7 @@ }, { "name": "connection_config", - "description": "", + "description": "The connection configuration to use for the connection", "label": "", "type": "ConnectionConfig", "longType": "ConnectionConfig", @@ -6575,7 +6605,7 @@ "fields": [ { "name": "connection", - "description": "", + "description": "The updated connection", "label": "", "type": "Connection", "longType": "Connection", @@ -6605,7 +6635,10 @@ "responseType": "GetConnectionsResponse", "responseLongType": "GetConnectionsResponse", "responseFullType": "mgmt.v1alpha1.GetConnectionsResponse", - "responseStreaming": false + "responseStreaming": false, + "options": { + "idempotency_level": "NO_SIDE_EFFECTS" + } }, { "name": "GetConnection", @@ -6617,7 +6650,10 @@ "responseType": "GetConnectionResponse", "responseLongType": "GetConnectionResponse", "responseFullType": "mgmt.v1alpha1.GetConnectionResponse", - "responseStreaming": false + "responseStreaming": false, + "options": { + "idempotency_level": "NO_SIDE_EFFECTS" + } }, { "name": "CreateConnection", @@ -6741,7 +6777,7 @@ "fields": [ { "name": "job_id", - "description": "", + "description": "The unique identifier of the job to get the schema for.", "label": "", "type": "string", "longType": "string", @@ -6753,7 +6789,7 @@ }, { "name": "job_run_id", - "description": "", + "description": "The unique identifier of the job run to get the schema for.", "label": "", "type": "string", "longType": "string", @@ -6777,7 +6813,7 @@ "fields": [ { "name": "job_id", - "description": "", + "description": "The unique identifier of the job to get the data stream for.", "label": "", "type": "string", "longType": "string", @@ -6789,7 +6825,7 @@ }, { "name": "job_run_id", - "description": "", + "description": "The unique identifier of the job run to get the data stream for.", "label": "", "type": "string", "longType": "string", @@ -7089,7 +7125,7 @@ "fields": [ { "name": "schema", - "description": "", + "description": "The schema of the table", "label": "", "type": "string", "longType": "string", @@ -7101,7 +7137,7 @@ }, { "name": "table", - "description": "", + "description": "The table name", "label": "", "type": "string", "longType": "string", @@ -7136,7 +7172,7 @@ "fields": [ { "name": "foreign_key", - "description": "", + "description": "The foreign key that is associated with the constraint", "label": "", "type": "ForeignKey", "longType": "ForeignKey", @@ -7148,7 +7184,7 @@ }, { "name": "columns", - "description": "", + "description": "The columns that are part of the constraint", "label": "repeated", "type": "string", "longType": "string", @@ -7160,7 +7196,7 @@ }, { "name": "not_nullable", - "description": "", + "description": "The not nullable flag for each column", "label": "repeated", "type": "bool", "longType": "bool", @@ -7184,7 +7220,7 @@ "fields": [ { "name": "constraints", - "description": "", + "description": "A list of foreign key constraints", "label": "repeated", "type": "ForeignConstraint", "longType": "ForeignConstraint", @@ -7208,7 +7244,7 @@ "fields": [ { "name": "table", - "description": "", + "description": "The table that the foreign key is associated with", "label": "", "type": "string", "longType": "string", @@ -7220,7 +7256,7 @@ }, { "name": "columns", - "description": "", + "description": "The columns that are part of the foreign key", "label": "repeated", "type": "string", "longType": "string", @@ -7244,7 +7280,7 @@ "fields": [ { "name": "job_id", - "description": "", + "description": "The unique identifier of the job to get the schema for.", "label": "", "type": "string", "longType": "string", @@ -7256,7 +7292,7 @@ }, { "name": "job_run_id", - "description": "", + "description": "The unique identifier of the job run to get the schema for.", "label": "", "type": "string", "longType": "string", @@ -7280,7 +7316,7 @@ "fields": [ { "name": "job_id", - "description": "", + "description": "The unique identifier of the job to get the data stream for.", "label": "", "type": "string", "longType": "string", @@ -7292,7 +7328,7 @@ }, { "name": "job_run_id", - "description": "", + "description": "The unique identifier of the job run to get the data stream for.", "label": "", "type": "string", "longType": "string", @@ -7316,7 +7352,7 @@ "fields": [ { "name": "ai_connection_id", - "description": "", + "description": "The unique identifier of a connection, specifically one that is configured for LLM use.", "label": "", "type": "string", "longType": "string", @@ -7328,7 +7364,7 @@ }, { "name": "count", - "description": "", + "description": "The number of records to generate", "label": "", "type": "int64", "longType": "int64", @@ -7340,7 +7376,7 @@ }, { "name": "model_name", - "description": "", + "description": "The LLM model name to use that works with the configured connection id.", "label": "", "type": "string", "longType": "string", @@ -7352,7 +7388,7 @@ }, { "name": "user_prompt", - "description": "", + "description": "The prompt that will be used to further refine the data generation. This is appended to the prompt that Neosync generates that includes schema information.", "label": "optional", "type": "string", "longType": "string", @@ -7364,7 +7400,7 @@ }, { "name": "data_connection_id", - "description": "", + "description": "The unique identifier of a connection that the AI generated data would be inserted into. This is used to generate and send schema information to the LLM to help shape the generated data.", "label": "", "type": "string", "longType": "string", @@ -7376,7 +7412,7 @@ }, { "name": "table", - "description": "", + "description": "The table to generate data for.", "label": "", "type": "DatabaseTable", "longType": "DatabaseTable", @@ -7424,7 +7460,7 @@ "fields": [ { "name": "connection_id", - "description": "", + "description": "The unique identifier of the connection to get the data stream for.", "label": "", "type": "string", "longType": "string", @@ -7436,7 +7472,7 @@ }, { "name": "stream_config", - "description": "", + "description": "The stream configuration to use for the data stream.", "label": "", "type": "ConnectionStreamConfig", "longType": "ConnectionStreamConfig", @@ -7448,7 +7484,7 @@ }, { "name": "schema", - "description": "", + "description": "The schema of the table to get the data stream for.", "label": "", "type": "string", "longType": "string", @@ -7460,7 +7496,7 @@ }, { "name": "table", - "description": "", + "description": "The table to get the data stream for.", "label": "", "type": "string", "longType": "string", @@ -7508,7 +7544,7 @@ "fields": [ { "name": "connection_id", - "description": "", + "description": "The unique identifier of the connection to get the init statements for.", "label": "", "type": "string", "longType": "string", @@ -7520,7 +7556,7 @@ }, { "name": "options", - "description": "", + "description": "The options to use for the init statements.", "label": "", "type": "InitStatementOptions", "longType": "InitStatementOptions", @@ -7544,7 +7580,7 @@ "fields": [ { "name": "table_init_statements", - "description": "the key here is \u003cschema\u003e.\u003ctable\u003e and value is the table init statement.", + "description": "The key here is \u003cschema\u003e.\u003ctable\u003e and value is the table init statement.", "label": "repeated", "type": "TableInitStatementsEntry", "longType": "GetConnectionInitStatementsResponse.TableInitStatementsEntry", @@ -7556,7 +7592,7 @@ }, { "name": "table_truncate_statements", - "description": "the key here is \u003cschema\u003e.\u003ctable\u003e and value is the table truncate statement.", + "description": "The key here is \u003cschema\u003e.\u003ctable\u003e and value is the table truncate statement.", "label": "repeated", "type": "TableTruncateStatementsEntry", "longType": "GetConnectionInitStatementsResponse.TableTruncateStatementsEntry", @@ -7568,7 +7604,7 @@ }, { "name": "schema_init_statements", - "description": "", + "description": "A list of schema initialization statements", "label": "repeated", "type": "SchemaInitStatements", "longType": "SchemaInitStatements", @@ -7664,7 +7700,7 @@ "fields": [ { "name": "connection_id", - "description": "", + "description": "The unique identifier of the connection to get the schema map for.", "label": "", "type": "string", "longType": "string", @@ -7676,7 +7712,7 @@ }, { "name": "schema_config", - "description": "", + "description": "The schema configuration to use for the schema map.", "label": "", "type": "ConnectionSchemaConfig", "longType": "ConnectionSchemaConfig", @@ -7820,7 +7856,7 @@ "fields": [ { "name": "connection_id", - "description": "", + "description": "The unique identifier of the connection to get the schema for.", "label": "", "type": "string", "longType": "string", @@ -7832,7 +7868,7 @@ }, { "name": "schema_config", - "description": "", + "description": "The schema configuration to use for the schema map.", "label": "", "type": "ConnectionSchemaConfig", "longType": "ConnectionSchemaConfig", @@ -7856,7 +7892,7 @@ "fields": [ { "name": "schemas", - "description": "", + "description": "The list of database columns", "label": "repeated", "type": "DatabaseColumn", "longType": "DatabaseColumn", @@ -7880,7 +7916,7 @@ "fields": [ { "name": "connection_id", - "description": "", + "description": "The unique identifier of the connection to get the constraints for.", "label": "", "type": "string", "longType": "string", @@ -8060,7 +8096,7 @@ "fields": [ { "name": "connection_id", - "description": "", + "description": "The unique identifier of the connection to get the row count for.", "label": "", "type": "string", "longType": "string", @@ -8072,7 +8108,7 @@ }, { "name": "schema", - "description": "", + "description": "The schema of the table to get the row count for.", "label": "", "type": "string", "longType": "string", @@ -8084,7 +8120,7 @@ }, { "name": "table", - "description": "", + "description": "The table to get the row count for.", "label": "", "type": "string", "longType": "string", @@ -8096,7 +8132,7 @@ }, { "name": "where_clause", - "description": "", + "description": "The optional where clause to filter the rows by.", "label": "optional", "type": "string", "longType": "string", @@ -8120,7 +8156,7 @@ "fields": [ { "name": "count", - "description": "", + "description": "The count of the rows in the table", "label": "", "type": "int64", "longType": "int64", @@ -8144,7 +8180,7 @@ "fields": [ { "name": "init_schema", - "description": "", + "description": "Whether or not to generate schema init statements.", "label": "", "type": "bool", "longType": "bool", @@ -8156,7 +8192,7 @@ }, { "name": "truncate_before_insert", - "description": "", + "description": "Whether or not to generate truncation statements", "label": "", "type": "bool", "longType": "bool", @@ -8168,7 +8204,7 @@ }, { "name": "truncate_cascade", - "description": "", + "description": "Whether or not to generate truncate cascade statements.", "label": "", "type": "bool", "longType": "bool", @@ -8258,7 +8294,7 @@ "fields": [ { "name": "columns", - "description": "", + "description": "The columns that are part of the primary constraint", "label": "repeated", "type": "string", "longType": "string", @@ -8282,7 +8318,7 @@ "fields": [ { "name": "label", - "description": "", + "description": "A friendly label associated with the generated schema init statement(s)", "label": "", "type": "string", "longType": "string", @@ -8294,7 +8330,7 @@ }, { "name": "statements", - "description": "", + "description": "A list of SQL statements that may be used to initialize a database from scratch.", "label": "repeated", "type": "string", "longType": "string", @@ -8318,7 +8354,7 @@ "fields": [ { "name": "columns", - "description": "", + "description": "The columns that are part of the unique constraint", "label": "repeated", "type": "string", "longType": "string", @@ -8342,7 +8378,7 @@ "fields": [ { "name": "constraints", - "description": "", + "description": "The unique constraints found for the table", "label": "repeated", "type": "UniqueConstraint", "longType": "UniqueConstraint", @@ -8456,7 +8492,10 @@ "responseType": "GetTableRowCountResponse", "responseLongType": "GetTableRowCountResponse", "responseFullType": "mgmt.v1alpha1.GetTableRowCountResponse", - "responseStreaming": false + "responseStreaming": false, + "options": { + "idempotency_level": "NO_SIDE_EFFECTS" + } } ] } @@ -8732,7 +8771,7 @@ "fields": [ { "name": "message", - "description": "", + "description": "The message of the failure", "label": "", "type": "string", "longType": "string", @@ -8924,7 +8963,7 @@ "fields": [ { "name": "table", - "description": "The table that will be used to. 1. The schema of the table will be injected into the prompt, of which the resulting data will then be inserted.", + "description": "The table that will be used to generate data for", "label": "", "type": "string", "longType": "string", @@ -9020,7 +9059,7 @@ "fields": [ { "name": "connection_id", - "description": "", + "description": "The unique connection id to a aws s3 connection configuration", "label": "", "type": "string", "longType": "string", @@ -9080,7 +9119,7 @@ "fields": [ { "name": "job_run_id", - "description": "", + "description": "The unique identifier of the job run", "label": "", "type": "string", "longType": "string", @@ -9092,7 +9131,7 @@ }, { "name": "account_id", - "description": "", + "description": "The unique identifier of the account", "label": "", "type": "string", "longType": "string", @@ -9127,7 +9166,7 @@ "fields": [ { "name": "schema", - "description": "", + "description": "The schema of the table", "label": "", "type": "string", "longType": "string", @@ -9139,7 +9178,7 @@ }, { "name": "table", - "description": "", + "description": "The table of the column", "label": "", "type": "string", "longType": "string", @@ -9151,7 +9190,7 @@ }, { "name": "column", - "description": "", + "description": "The column of the error", "label": "", "type": "string", "longType": "string", @@ -9163,7 +9202,7 @@ }, { "name": "errors", - "description": "", + "description": "The list of errors", "label": "repeated", "type": "string", "longType": "string", @@ -9187,7 +9226,7 @@ "fields": [ { "name": "connection_id", - "description": "", + "description": "The connection id to use for the job destination", "label": "", "type": "string", "longType": "string", @@ -9199,7 +9238,7 @@ }, { "name": "options", - "description": "", + "description": "The destination options to use for the job destination", "label": "", "type": "JobDestinationOptions", "longType": "JobDestinationOptions", @@ -9223,7 +9262,7 @@ "fields": [ { "name": "job_id", - "description": "", + "description": "The unique identifier of the job", "label": "", "type": "string", "longType": "string", @@ -9235,7 +9274,7 @@ }, { "name": "destinations", - "description": "", + "description": "The list of destinations to create and associate with the job", "label": "repeated", "type": "CreateJobDestination", "longType": "CreateJobDestination", @@ -9259,7 +9298,7 @@ "fields": [ { "name": "job", - "description": "", + "description": "The job that was updated", "label": "", "type": "Job", "longType": "Job", @@ -9379,7 +9418,7 @@ }, { "name": "mappings", - "description": "", + "description": "The list of mappings that will be used to transform the data", "label": "repeated", "type": "JobMapping", "longType": "JobMapping", @@ -9391,7 +9430,7 @@ }, { "name": "source", - "description": "", + "description": "The source connection configuration", "label": "", "type": "JobSource", "longType": "JobSource", @@ -9403,7 +9442,7 @@ }, { "name": "destinations", - "description": "", + "description": "The list of destinations that will be used to store the data", "label": "repeated", "type": "CreateJobDestination", "longType": "CreateJobDestination", @@ -9451,7 +9490,7 @@ }, { "name": "virtual_foreign_keys", - "description": "", + "description": "The list of virtual foreign keys that will be used to further constrain the data ontop of the database defined constraints", "label": "repeated", "type": "VirtualForeignConstraint", "longType": "VirtualForeignConstraint", @@ -9475,7 +9514,7 @@ "fields": [ { "name": "job", - "description": "", + "description": "The job that was created", "label": "", "type": "Job", "longType": "Job", @@ -9499,7 +9538,7 @@ "fields": [ { "name": "job_id", - "description": "", + "description": "The unique identifier of the job", "label": "", "type": "string", "longType": "string", @@ -9534,7 +9573,7 @@ "fields": [ { "name": "errors", - "description": "", + "description": "The list of errors", "label": "repeated", "type": "string", "longType": "string", @@ -9558,7 +9597,7 @@ "fields": [ { "name": "destination_id", - "description": "", + "description": "The unique identifier of the destination to delete", "label": "", "type": "string", "longType": "string", @@ -9628,7 +9667,7 @@ "fields": [ { "name": "id", - "description": "", + "description": "The unique identifier of the job to delete", "label": "", "type": "string", "longType": "string", @@ -9663,7 +9702,7 @@ "fields": [ { "name": "job_run_id", - "description": "", + "description": "The unique identifier of the job run", "label": "", "type": "string", "longType": "string", @@ -9675,7 +9714,7 @@ }, { "name": "account_id", - "description": "", + "description": "The unique identifier of the account", "label": "", "type": "string", "longType": "string", @@ -9830,7 +9869,7 @@ "fields": [ { "name": "tables", - "description": "", + "description": "The list of tables (and their configuration) that reside within the schema", "label": "repeated", "type": "DynamoDBSourceTableOption", "longType": "DynamoDBSourceTableOption", @@ -9961,7 +10000,7 @@ "fields": [ { "name": "schemas", - "description": "", + "description": "The list of schemas (and their tables) along with any configuration options that will be used to generate data for.", "label": "repeated", "type": "GenerateSourceSchemaOption", "longType": "GenerateSourceSchemaOption", @@ -9973,7 +10012,7 @@ }, { "name": "fk_source_connection_id", - "description": "", + "description": "An optional connection id that will be used as the basis for the shape of data to be generated.", "label": "optional", "type": "string", "longType": "string", @@ -9997,7 +10036,7 @@ "fields": [ { "name": "schema", - "description": "", + "description": "The database schema", "label": "", "type": "string", "longType": "string", @@ -10009,7 +10048,7 @@ }, { "name": "tables", - "description": "", + "description": "The list of tables (and their configuration) that reside within the schema to receive generated data", "label": "repeated", "type": "GenerateSourceTableOption", "longType": "GenerateSourceTableOption", @@ -10033,7 +10072,7 @@ "fields": [ { "name": "table", - "description": "", + "description": "The table that will be used to generate data for.", "label": "", "type": "string", "longType": "string", @@ -10045,7 +10084,7 @@ }, { "name": "row_count", - "description": "", + "description": "The total number of records to be generated.", "label": "", "type": "int64", "longType": "int64", @@ -10225,7 +10264,7 @@ "fields": [ { "name": "job_id", - "description": "", + "description": "The unique identifier of the job", "label": "", "type": "string", "longType": "string", @@ -10249,7 +10288,7 @@ "fields": [ { "name": "next_runs", - "description": "", + "description": "The list of next run times", "label": "", "type": "JobNextRuns", "longType": "JobNextRuns", @@ -10273,7 +10312,7 @@ "fields": [ { "name": "job_id", - "description": "", + "description": "The unique identifier of the job", "label": "", "type": "string", "longType": "string", @@ -10297,7 +10336,7 @@ "fields": [ { "name": "recent_runs", - "description": "", + "description": "The list of recent job runs", "label": "repeated", "type": "JobRecentRun", "longType": "JobRecentRun", @@ -10321,7 +10360,7 @@ "fields": [ { "name": "id", - "description": "", + "description": "The unique identifier of the job", "label": "", "type": "string", "longType": "string", @@ -10345,7 +10384,7 @@ "fields": [ { "name": "job", - "description": "", + "description": "The job that was retrieved", "label": "", "type": "Job", "longType": "Job", @@ -10369,7 +10408,7 @@ "fields": [ { "name": "job_run_id", - "description": "", + "description": "The unique identifier of the job run", "label": "", "type": "string", "longType": "string", @@ -10381,7 +10420,7 @@ }, { "name": "account_id", - "description": "", + "description": "The unique identifier of the account", "label": "", "type": "string", "longType": "string", @@ -10405,7 +10444,7 @@ "fields": [ { "name": "events", - "description": "", + "description": "The list of events", "label": "repeated", "type": "JobRunEvent", "longType": "JobRunEvent", @@ -10417,7 +10456,7 @@ }, { "name": "is_run_complete", - "description": "", + "description": "Whether the run is complete", "label": "", "type": "bool", "longType": "bool", @@ -10441,7 +10480,7 @@ "fields": [ { "name": "job_run_id", - "description": "", + "description": "The unique identifier of the job run", "label": "", "type": "string", "longType": "string", @@ -10453,7 +10492,7 @@ }, { "name": "account_id", - "description": "", + "description": "The unique identifier of the account", "label": "", "type": "string", "longType": "string", @@ -10525,7 +10564,7 @@ "fields": [ { "name": "log_line", - "description": "", + "description": "The log line", "label": "", "type": "string", "longType": "string", @@ -10537,7 +10576,7 @@ }, { "name": "timestamp", - "description": "", + "description": "The timestamp of the log line", "label": "optional", "type": "Timestamp", "longType": "google.protobuf.Timestamp", @@ -10561,7 +10600,7 @@ "fields": [ { "name": "job_run_id", - "description": "", + "description": "The unique identifier of the job run", "label": "", "type": "string", "longType": "string", @@ -10573,7 +10612,7 @@ }, { "name": "account_id", - "description": "", + "description": "The unique identifier of the account", "label": "", "type": "string", "longType": "string", @@ -10597,7 +10636,7 @@ "fields": [ { "name": "job_run", - "description": "", + "description": "The job run that was retrieved", "label": "", "type": "JobRun", "longType": "JobRun", @@ -10621,7 +10660,7 @@ "fields": [ { "name": "job_id", - "description": "", + "description": "Retireve runs for a specific job", "label": "", "type": "string", "longType": "string", @@ -10633,7 +10672,7 @@ }, { "name": "account_id", - "description": "", + "description": "Retrieve runs for all jobs in an account", "label": "", "type": "string", "longType": "string", @@ -10657,7 +10696,7 @@ "fields": [ { "name": "job_runs", - "description": "", + "description": "The list of job runs", "label": "repeated", "type": "JobRun", "longType": "JobRun", @@ -10681,7 +10720,7 @@ "fields": [ { "name": "job_id", - "description": "", + "description": "The unique identifier of the job", "label": "", "type": "string", "longType": "string", @@ -10705,7 +10744,7 @@ "fields": [ { "name": "status", - "description": "", + "description": "The status of the job", "label": "", "type": "JobStatus", "longType": "JobStatus", @@ -10729,7 +10768,7 @@ "fields": [ { "name": "account_id", - "description": "", + "description": "The unique identifier of the account", "label": "", "type": "string", "longType": "string", @@ -10753,7 +10792,7 @@ "fields": [ { "name": "statuses", - "description": "", + "description": "The list of job statuses", "label": "repeated", "type": "JobStatusRecord", "longType": "JobStatusRecord", @@ -10777,7 +10816,7 @@ "fields": [ { "name": "account_id", - "description": "", + "description": "The unique identifier of the account to get jobs for", "label": "", "type": "string", "longType": "string", @@ -10801,7 +10840,7 @@ "fields": [ { "name": "jobs", - "description": "", + "description": "The list of jobs", "label": "repeated", "type": "Job", "longType": "Job", @@ -10825,7 +10864,7 @@ "fields": [ { "name": "id", - "description": "", + "description": "The run context key", "label": "", "type": "RunContextKey", "longType": "RunContextKey", @@ -10849,7 +10888,7 @@ "fields": [ { "name": "value", - "description": "", + "description": "The returned value in bytes. The format is determined by the key when it is set.", "label": "", "type": "bytes", "longType": "bytes", @@ -10933,7 +10972,7 @@ "fields": [ { "name": "name", - "description": "", + "description": "The name to check for availability", "label": "", "type": "string", "longType": "string", @@ -10945,7 +10984,7 @@ }, { "name": "account_id", - "description": "", + "description": "The unique identifier of the account to check for availability", "label": "", "type": "string", "longType": "string", @@ -10969,7 +11008,7 @@ "fields": [ { "name": "is_available", - "description": "", + "description": "Whether the name is available", "label": "", "type": "bool", "longType": "bool", @@ -11065,7 +11104,7 @@ }, { "name": "source", - "description": "", + "description": "The source connection configuration", "label": "", "type": "JobSource", "longType": "JobSource", @@ -11077,7 +11116,7 @@ }, { "name": "destinations", - "description": "", + "description": "The list of destinations that will be used to store the data", "label": "repeated", "type": "JobDestination", "longType": "JobDestination", @@ -11089,7 +11128,7 @@ }, { "name": "mappings", - "description": "", + "description": "The list of mappings that will be used to transform the data", "label": "repeated", "type": "JobMapping", "longType": "JobMapping", @@ -11101,7 +11140,7 @@ }, { "name": "cron_schedule", - "description": "", + "description": "The cron schedule that will be used to trigger the job", "label": "optional", "type": "string", "longType": "string", @@ -11173,7 +11212,7 @@ "fields": [ { "name": "connection_id", - "description": "", + "description": "The connection id to use for the job destination", "label": "", "type": "string", "longType": "string", @@ -11185,7 +11224,7 @@ }, { "name": "options", - "description": "", + "description": "The destination options to use for the job destination", "label": "", "type": "JobDestinationOptions", "longType": "JobDestinationOptions", @@ -11197,7 +11236,7 @@ }, { "name": "id", - "description": "", + "description": "The unique identifier of the job destination", "label": "", "type": "string", "longType": "string", @@ -11591,7 +11630,7 @@ "fields": [ { "name": "schema", - "description": "", + "description": "The database schema", "label": "", "type": "string", "longType": "string", @@ -11603,7 +11642,7 @@ }, { "name": "table", - "description": "", + "description": "The database table.", "label": "", "type": "string", "longType": "string", @@ -11615,7 +11654,7 @@ }, { "name": "column", - "description": "", + "description": "The column in the configured schema.table", "label": "", "type": "string", "longType": "string", @@ -11627,7 +11666,7 @@ }, { "name": "transformer", - "description": "", + "description": "The transformer configuration that will be applied to each cell in the column", "label": "", "type": "JobMappingTransformer", "longType": "JobMappingTransformer", @@ -11651,7 +11690,7 @@ "fields": [ { "name": "config", - "description": "", + "description": "The transformer configuration", "label": "", "type": "TransformerConfig", "longType": "TransformerConfig", @@ -11675,7 +11714,7 @@ "fields": [ { "name": "next_run_times", - "description": "", + "description": "The list of next run times", "label": "repeated", "type": "Timestamp", "longType": "google.protobuf.Timestamp", @@ -11699,7 +11738,7 @@ "fields": [ { "name": "start_time", - "description": "", + "description": "The start time of the job run", "label": "", "type": "Timestamp", "longType": "google.protobuf.Timestamp", @@ -11711,7 +11750,7 @@ }, { "name": "job_run_id", - "description": "", + "description": "The unique identifier of the job run", "label": "", "type": "string", "longType": "string", @@ -11831,7 +11870,7 @@ "fields": [ { "name": "id", - "description": "", + "description": "The unique identifier of the event", "label": "", "type": "int64", "longType": "int64", @@ -11843,7 +11882,7 @@ }, { "name": "type", - "description": "", + "description": "The type of the event", "label": "", "type": "string", "longType": "string", @@ -11855,7 +11894,7 @@ }, { "name": "start_time", - "description": "", + "description": "The start time of the event", "label": "", "type": "Timestamp", "longType": "google.protobuf.Timestamp", @@ -11867,7 +11906,7 @@ }, { "name": "close_time", - "description": "", + "description": "The close time of the event", "label": "", "type": "Timestamp", "longType": "google.protobuf.Timestamp", @@ -11879,7 +11918,7 @@ }, { "name": "metadata", - "description": "", + "description": "The metadata of the event", "label": "", "type": "JobRunEventMetadata", "longType": "JobRunEventMetadata", @@ -11891,7 +11930,7 @@ }, { "name": "tasks", - "description": "", + "description": "The list of tasks associated with the event", "label": "repeated", "type": "JobRunEventTask", "longType": "JobRunEventTask", @@ -11915,7 +11954,7 @@ "fields": [ { "name": "sync_metadata", - "description": "", + "description": "The metadata of the sync", "label": "", "type": "JobRunSyncMetadata", "longType": "JobRunSyncMetadata", @@ -11939,7 +11978,7 @@ "fields": [ { "name": "id", - "description": "", + "description": "The unique identifier of the task", "label": "", "type": "int64", "longType": "int64", @@ -11951,7 +11990,7 @@ }, { "name": "type", - "description": "", + "description": "The type of the task", "label": "", "type": "string", "longType": "string", @@ -11963,7 +12002,7 @@ }, { "name": "event_time", - "description": "", + "description": "The time of the event", "label": "", "type": "Timestamp", "longType": "google.protobuf.Timestamp", @@ -11975,7 +12014,7 @@ }, { "name": "error", - "description": "", + "description": "The error of the task", "label": "", "type": "JobRunEventTaskError", "longType": "JobRunEventTaskError", @@ -11999,7 +12038,7 @@ "fields": [ { "name": "message", - "description": "", + "description": "The message of the error", "label": "", "type": "string", "longType": "string", @@ -12011,7 +12050,7 @@ }, { "name": "retry_state", - "description": "", + "description": "The retry state of the error", "label": "", "type": "string", "longType": "string", @@ -12035,7 +12074,7 @@ "fields": [ { "name": "schema", - "description": "", + "description": "The schema of the table", "label": "", "type": "string", "longType": "string", @@ -12047,7 +12086,7 @@ }, { "name": "table", - "description": "", + "description": "The table of the sync", "label": "", "type": "string", "longType": "string", @@ -12071,7 +12110,7 @@ "fields": [ { "name": "options", - "description": "", + "description": "The source options to use for the job", "label": "", "type": "JobSourceOptions", "longType": "JobSourceOptions", @@ -12203,7 +12242,7 @@ "fields": [ { "name": "postgres_subset", - "description": "", + "description": "The list of schemas (and their tables) along with any configuration options that will be used.", "label": "", "type": "PostgresSourceSchemaSubset", "longType": "PostgresSourceSchemaSubset", @@ -12215,7 +12254,7 @@ }, { "name": "mysql_subset", - "description": "", + "description": "The list of schemas (and their tables) along with any configuration options that will be used.", "label": "", "type": "MysqlSourceSchemaSubset", "longType": "MysqlSourceSchemaSubset", @@ -12227,7 +12266,7 @@ }, { "name": "dynamodb_subset", - "description": "", + "description": "The list of tables (and their configuration) that reside within the schema", "label": "", "type": "DynamoDBSourceSchemaSubset", "longType": "DynamoDBSourceSchemaSubset", @@ -12239,7 +12278,7 @@ }, { "name": "mssql_subset", - "description": "", + "description": "The list of schemas (and their tables) along with any configuration options that will be used.", "label": "", "type": "MssqlSourceSchemaSubset", "longType": "MssqlSourceSchemaSubset", @@ -12263,7 +12302,7 @@ "fields": [ { "name": "job_id", - "description": "", + "description": "The unique identifier of the job", "label": "", "type": "string", "longType": "string", @@ -12275,7 +12314,7 @@ }, { "name": "status", - "description": "", + "description": "The status of the job", "label": "", "type": "JobStatus", "longType": "JobStatus", @@ -12334,7 +12373,7 @@ "fields": [ { "name": "truncate_table", - "description": "", + "description": "Whether to truncate the table before inserting data", "label": "", "type": "MssqlTruncateTableConfig", "longType": "MssqlTruncateTableConfig", @@ -12346,7 +12385,7 @@ }, { "name": "init_table_schema", - "description": "Currently not supported and a placeholder for future implementation", + "description": "Whether to initialize the table schema before inserting data", "label": "", "type": "bool", "longType": "bool", @@ -12358,7 +12397,7 @@ }, { "name": "on_conflict", - "description": "Currently not supported and a placeholder for future implementation", + "description": "The configuration for handling conflicts when inserting data", "label": "", "type": "MssqlOnConflictConfig", "longType": "MssqlOnConflictConfig", @@ -12418,7 +12457,7 @@ "fields": [ { "name": "do_nothing", - "description": "", + "description": "Whether to do nothing when a conflict occurs", "label": "", "type": "bool", "longType": "bool", @@ -12442,7 +12481,7 @@ "fields": [ { "name": "halt_on_new_column_addition", - "description": "", + "description": "Whether to halt the job if a new column is added", "label": "", "type": "bool", "longType": "bool", @@ -12454,7 +12493,7 @@ }, { "name": "schemas", - "description": "", + "description": "The list of schemas (and their tables) along with any configuration options that will be used.", "label": "repeated", "type": "MssqlSourceSchemaOption", "longType": "MssqlSourceSchemaOption", @@ -12466,7 +12505,7 @@ }, { "name": "connection_id", - "description": "", + "description": "The unique connection id to a mssql connection configuration", "label": "", "type": "string", "longType": "string", @@ -12478,7 +12517,7 @@ }, { "name": "subset_by_foreign_key_constraints", - "description": "", + "description": "Whether to subset the table by foreign key constraints", "label": "", "type": "bool", "longType": "bool", @@ -12526,7 +12565,7 @@ }, { "name": "continue_job", - "description": "", + "description": "continue job if a column is removed", "label": "", "type": "ContinueJob", "longType": "MssqlSourceConnectionOptions.ColumnRemovalStrategy.ContinueJob", @@ -12572,7 +12611,7 @@ "fields": [ { "name": "schema", - "description": "", + "description": "The database schema", "label": "", "type": "string", "longType": "string", @@ -12584,7 +12623,7 @@ }, { "name": "tables", - "description": "", + "description": "The list of tables (and their configuration) that reside within the schema", "label": "repeated", "type": "MssqlSourceTableOption", "longType": "MssqlSourceTableOption", @@ -12608,7 +12647,7 @@ "fields": [ { "name": "mssql_schemas", - "description": "", + "description": "The list of schemas (and their tables) along with any configuration options that will be used.", "label": "repeated", "type": "MssqlSourceSchemaOption", "longType": "MssqlSourceSchemaOption", @@ -12632,7 +12671,7 @@ "fields": [ { "name": "table", - "description": "", + "description": "The table that will be used to subset the data for.", "label": "", "type": "string", "longType": "string", @@ -12644,7 +12683,7 @@ }, { "name": "where_clause", - "description": "", + "description": "This is not a parameterized query and must be valid. Intended to be everything after the WHERE keyword.\nIs used to subset the table.", "label": "optional", "type": "string", "longType": "string", @@ -12668,7 +12707,7 @@ "fields": [ { "name": "truncate_before_insert", - "description": "", + "description": "Whether to truncate the table before inserting data", "label": "", "type": "bool", "longType": "bool", @@ -12692,7 +12731,7 @@ "fields": [ { "name": "truncate_table", - "description": "", + "description": "Whether to truncate the table before inserting data", "label": "", "type": "MysqlTruncateTableConfig", "longType": "MysqlTruncateTableConfig", @@ -12704,7 +12743,7 @@ }, { "name": "init_table_schema", - "description": "", + "description": "Whether to initialize the table schema before inserting data", "label": "", "type": "bool", "longType": "bool", @@ -12716,7 +12755,7 @@ }, { "name": "on_conflict", - "description": "", + "description": "The configuration for handling conflicts when inserting data", "label": "", "type": "MysqlOnConflictConfig", "longType": "MysqlOnConflictConfig", @@ -12846,7 +12885,7 @@ "fields": [ { "name": "halt_on_new_column_addition", - "description": "", + "description": "Whether to halt the job if a new column is added", "label": "", "type": "bool", "longType": "bool", @@ -12858,7 +12897,7 @@ }, { "name": "schemas", - "description": "", + "description": "The list of schemas (and their tables) along with any configuration options that will be used.", "label": "repeated", "type": "MysqlSourceSchemaOption", "longType": "MysqlSourceSchemaOption", @@ -12870,7 +12909,7 @@ }, { "name": "connection_id", - "description": "", + "description": "The unique connection id to a mysql connection configuration", "label": "", "type": "string", "longType": "string", @@ -12882,7 +12921,7 @@ }, { "name": "subset_by_foreign_key_constraints", - "description": "", + "description": "Whether to subset the table by foreign key constraints", "label": "", "type": "bool", "longType": "bool", @@ -12930,7 +12969,7 @@ }, { "name": "continue_job", - "description": "", + "description": "continue job if a column is removed", "label": "", "type": "ContinueJob", "longType": "MysqlSourceConnectionOptions.ColumnRemovalStrategy.ContinueJob", @@ -12976,7 +13015,7 @@ "fields": [ { "name": "schema", - "description": "", + "description": "The database schema", "label": "", "type": "string", "longType": "string", @@ -12988,7 +13027,7 @@ }, { "name": "tables", - "description": "", + "description": "The list of tables (and their configuration) that reside within the schema", "label": "repeated", "type": "MysqlSourceTableOption", "longType": "MysqlSourceTableOption", @@ -13012,7 +13051,7 @@ "fields": [ { "name": "mysql_schemas", - "description": "", + "description": "The list of schemas (and their tables) along with any configuration options that will be used.", "label": "repeated", "type": "MysqlSourceSchemaOption", "longType": "MysqlSourceSchemaOption", @@ -13036,7 +13075,7 @@ "fields": [ { "name": "table", - "description": "", + "description": "The table that will be used to subset the data for.", "label": "", "type": "string", "longType": "string", @@ -13048,7 +13087,7 @@ }, { "name": "where_clause", - "description": "", + "description": "This is not a parameterized query and must be valid. Intended to be everything after the WHERE keyword.\nIs used to subset the table.", "label": "optional", "type": "string", "longType": "string", @@ -13072,7 +13111,7 @@ "fields": [ { "name": "truncate_before_insert", - "description": "", + "description": "Whether to truncate the table before inserting data", "label": "", "type": "bool", "longType": "bool", @@ -13168,7 +13207,7 @@ "fields": [ { "name": "id", - "description": "", + "description": "The unique identifier of the job", "label": "", "type": "string", "longType": "string", @@ -13180,7 +13219,7 @@ }, { "name": "pause", - "description": "", + "description": "Whether to pause or unpause the job", "label": "", "type": "bool", "longType": "bool", @@ -13192,7 +13231,7 @@ }, { "name": "note", - "description": "", + "description": "An optional note to be associated with the pause", "label": "optional", "type": "string", "longType": "string", @@ -13216,7 +13255,7 @@ "fields": [ { "name": "job", - "description": "", + "description": "The job that was updated", "label": "", "type": "Job", "longType": "Job", @@ -13240,7 +13279,7 @@ "fields": [ { "name": "status", - "description": "", + "description": "The status of the activity", "label": "", "type": "ActivityStatus", "longType": "ActivityStatus", @@ -13252,7 +13291,7 @@ }, { "name": "activity_name", - "description": "", + "description": "The name of the activity", "label": "", "type": "string", "longType": "string", @@ -13264,7 +13303,7 @@ }, { "name": "last_failure", - "description": "", + "description": "The last failure of the activity", "label": "optional", "type": "ActivityFailure", "longType": "ActivityFailure", @@ -13288,7 +13327,7 @@ "fields": [ { "name": "truncate_table", - "description": "", + "description": "Whether to truncate the table before inserting data", "label": "", "type": "PostgresTruncateTableConfig", "longType": "PostgresTruncateTableConfig", @@ -13300,7 +13339,7 @@ }, { "name": "init_table_schema", - "description": "", + "description": "Whether to initialize the table schema before inserting data", "label": "", "type": "bool", "longType": "bool", @@ -13312,7 +13351,7 @@ }, { "name": "on_conflict", - "description": "", + "description": "The configuration for handling conflicts when inserting data", "label": "", "type": "PostgresOnConflictConfig", "longType": "PostgresOnConflictConfig", @@ -13324,7 +13363,7 @@ }, { "name": "skip_foreign_key_violations", - "description": "Insert all valid records, skipping any that violate foreign key constraints.", + "description": "Whether to skip records that violate foreign key constraints", "label": "", "type": "bool", "longType": "bool", @@ -13442,7 +13481,7 @@ "fields": [ { "name": "schemas", - "description": "", + "description": "The list of schemas (and their tables) along with any configuration options that will be used.", "label": "repeated", "type": "PostgresSourceSchemaOption", "longType": "PostgresSourceSchemaOption", @@ -13454,7 +13493,7 @@ }, { "name": "connection_id", - "description": "", + "description": "The unique connection id to a postgres connection configuration", "label": "", "type": "string", "longType": "string", @@ -13466,7 +13505,7 @@ }, { "name": "subset_by_foreign_key_constraints", - "description": "", + "description": "Whether to subset the table by foreign key constraints", "label": "", "type": "bool", "longType": "bool", @@ -13526,7 +13565,7 @@ }, { "name": "continue_job", - "description": "", + "description": "continue job if a column is removed", "label": "", "type": "ContinueJob", "longType": "PostgresSourceConnectionOptions.ColumnRemovalStrategy.ContinueJob", @@ -13630,7 +13669,7 @@ "fields": [ { "name": "schema", - "description": "", + "description": "The database schema", "label": "", "type": "string", "longType": "string", @@ -13642,7 +13681,7 @@ }, { "name": "tables", - "description": "", + "description": "The list of tables (and their configuration) that reside within the schema", "label": "repeated", "type": "PostgresSourceTableOption", "longType": "PostgresSourceTableOption", @@ -13666,7 +13705,7 @@ "fields": [ { "name": "postgres_schemas", - "description": "", + "description": "The list of schemas (and their tables) along with any configuration options that will be used.", "label": "repeated", "type": "PostgresSourceSchemaOption", "longType": "PostgresSourceSchemaOption", @@ -13690,7 +13729,7 @@ "fields": [ { "name": "table", - "description": "", + "description": "The table that will be used subset the data for.", "label": "", "type": "string", "longType": "string", @@ -13702,7 +13741,7 @@ }, { "name": "where_clause", - "description": "", + "description": "This is not a parameterized query and must be valid. Intended to be everything after the WHERE keyword.\nIs used to subset the table.", "label": "optional", "type": "string", "longType": "string", @@ -13726,7 +13765,7 @@ "fields": [ { "name": "truncate_before_insert", - "description": "", + "description": "Whether to truncate the table before inserting data", "label": "", "type": "bool", "longType": "bool", @@ -13738,7 +13777,7 @@ }, { "name": "cascade", - "description": "", + "description": "Whether to cascade the truncate to child tables", "label": "", "type": "bool", "longType": "bool", @@ -13942,7 +13981,7 @@ "fields": [ { "name": "job", - "description": "", + "description": "The job that was updated", "label": "", "type": "Job", "longType": "Job", @@ -14002,7 +14041,7 @@ "fields": [ { "name": "job", - "description": "", + "description": "The updated job", "label": "", "type": "Job", "longType": "Job", @@ -14062,7 +14101,7 @@ "fields": [ { "name": "job", - "description": "", + "description": "The updated job", "label": "", "type": "Job", "longType": "Job", @@ -14086,7 +14125,7 @@ "fields": [ { "name": "id", - "description": "", + "description": "The run context key", "label": "", "type": "RunContextKey", "longType": "RunContextKey", @@ -14133,7 +14172,7 @@ "fields": [ { "name": "id", - "description": "", + "description": "The run context key", "label": "", "type": "RunContextKey", "longType": "RunContextKey", @@ -14180,7 +14219,7 @@ "fields": [ { "name": "job_run_id", - "description": "", + "description": "The unique identifier of the job run", "label": "", "type": "string", "longType": "string", @@ -14192,7 +14231,7 @@ }, { "name": "account_id", - "description": "", + "description": "The unique identifier of the account", "label": "", "type": "string", "longType": "string", @@ -14227,7 +14266,7 @@ "fields": [ { "name": "job_id", - "description": "", + "description": "The unique identifier of the job", "label": "", "type": "string", "longType": "string", @@ -14239,7 +14278,7 @@ }, { "name": "connection_id", - "description": "", + "description": "The unique identifier of the connection", "label": "", "type": "string", "longType": "string", @@ -14251,7 +14290,7 @@ }, { "name": "options", - "description": "", + "description": "The destination connection options", "label": "", "type": "JobDestinationOptions", "longType": "JobDestinationOptions", @@ -14263,7 +14302,7 @@ }, { "name": "destination_id", - "description": "", + "description": "The unique identifier of the destination", "label": "", "type": "string", "longType": "string", @@ -14287,7 +14326,7 @@ "fields": [ { "name": "job", - "description": "", + "description": "The job that was updated", "label": "", "type": "Job", "longType": "Job", @@ -14419,7 +14458,7 @@ "fields": [ { "name": "id", - "description": "", + "description": "The unique identifier of the job", "label": "", "type": "string", "longType": "string", @@ -14431,7 +14470,7 @@ }, { "name": "cron_schedule", - "description": "", + "description": "The new cron schedule", "label": "optional", "type": "string", "longType": "string", @@ -14455,7 +14494,7 @@ "fields": [ { "name": "job", - "description": "", + "description": "The job that was updated", "label": "", "type": "Job", "longType": "Job", @@ -14479,7 +14518,7 @@ "fields": [ { "name": "id", - "description": "", + "description": "The unique identifier of the job", "label": "", "type": "string", "longType": "string", @@ -14491,7 +14530,7 @@ }, { "name": "source", - "description": "", + "description": "The new source connection configuration", "label": "", "type": "JobSource", "longType": "JobSource", @@ -14503,7 +14542,7 @@ }, { "name": "mappings", - "description": "", + "description": "The new list of mappings that will be used to transform the data", "label": "repeated", "type": "JobMapping", "longType": "JobMapping", @@ -14515,7 +14554,7 @@ }, { "name": "virtual_foreign_keys", - "description": "", + "description": "The new list of virtual foreign keys that will be used to further constrain the data ontop of the database defined constraints", "label": "repeated", "type": "VirtualForeignConstraint", "longType": "VirtualForeignConstraint", @@ -14563,7 +14602,7 @@ "fields": [ { "name": "account_id", - "description": "The unique account identifier that this job will be associated with", + "description": "The unique identifier of the account", "label": "", "type": "string", "longType": "string", @@ -14575,7 +14614,7 @@ }, { "name": "mappings", - "description": "", + "description": "The list of mappings to validate", "label": "repeated", "type": "JobMapping", "longType": "JobMapping", @@ -14587,7 +14626,7 @@ }, { "name": "connection_id", - "description": "", + "description": "The unique identifier of the connection", "label": "", "type": "string", "longType": "string", @@ -14599,7 +14638,7 @@ }, { "name": "virtual_foreign_keys", - "description": "", + "description": "The list of virtual foreign keys", "label": "repeated", "type": "VirtualForeignConstraint", "longType": "VirtualForeignConstraint", @@ -14623,7 +14662,7 @@ "fields": [ { "name": "column_errors", - "description": "", + "description": "The list of column errors", "label": "repeated", "type": "ColumnError", "longType": "ColumnError", @@ -14635,7 +14674,7 @@ }, { "name": "database_errors", - "description": "", + "description": "The database error", "label": "", "type": "DatabaseError", "longType": "DatabaseError", @@ -14659,7 +14698,7 @@ "fields": [ { "name": "schema", - "description": "", + "description": "The schema of the table", "label": "", "type": "string", "longType": "string", @@ -14671,7 +14710,7 @@ }, { "name": "table", - "description": "", + "description": "The table of the virtual foreign key", "label": "", "type": "string", "longType": "string", @@ -14683,7 +14722,7 @@ }, { "name": "columns", - "description": "", + "description": "The list of columns", "label": "repeated", "type": "string", "longType": "string", @@ -14695,7 +14734,7 @@ }, { "name": "foreign_key", - "description": "", + "description": "The foreign key", "label": "", "type": "VirtualForeignKey", "longType": "VirtualForeignKey", @@ -14719,7 +14758,7 @@ "fields": [ { "name": "schema", - "description": "", + "description": "The schema of the table", "label": "", "type": "string", "longType": "string", @@ -14731,7 +14770,7 @@ }, { "name": "table", - "description": "", + "description": "The table of the virtual foreign key", "label": "", "type": "string", "longType": "string", @@ -14743,7 +14782,7 @@ }, { "name": "columns", - "description": "", + "description": "The list of columns", "label": "repeated", "type": "string", "longType": "string", @@ -14785,11 +14824,11 @@ "name": "JobService", "longName": "JobService", "fullName": "mgmt.v1alpha1.JobService", - "description": "", + "description": "Service that handles jobs, runs, and hooks", "methods": [ { "name": "GetJobs", - "description": "", + "description": "Returns a list of jobs by either account or job", "requestType": "GetJobsRequest", "requestLongType": "GetJobsRequest", "requestFullType": "mgmt.v1alpha1.GetJobsRequest", @@ -14797,11 +14836,14 @@ "responseType": "GetJobsResponse", "responseLongType": "GetJobsResponse", "responseFullType": "mgmt.v1alpha1.GetJobsResponse", - "responseStreaming": false + "responseStreaming": false, + "options": { + "idempotency_level": "NO_SIDE_EFFECTS" + } }, { "name": "GetJob", - "description": "", + "description": "Returns a specific job", "requestType": "GetJobRequest", "requestLongType": "GetJobRequest", "requestFullType": "mgmt.v1alpha1.GetJobRequest", @@ -14809,11 +14851,14 @@ "responseType": "GetJobResponse", "responseLongType": "GetJobResponse", "responseFullType": "mgmt.v1alpha1.GetJobResponse", - "responseStreaming": false + "responseStreaming": false, + "options": { + "idempotency_level": "NO_SIDE_EFFECTS" + } }, { "name": "CreateJob", - "description": "", + "description": "Creates a new job", "requestType": "CreateJobRequest", "requestLongType": "CreateJobRequest", "requestFullType": "mgmt.v1alpha1.CreateJobRequest", @@ -14825,7 +14870,7 @@ }, { "name": "DeleteJob", - "description": "", + "description": "Deletes a job", "requestType": "DeleteJobRequest", "requestLongType": "DeleteJobRequest", "requestFullType": "mgmt.v1alpha1.DeleteJobRequest", @@ -14837,7 +14882,7 @@ }, { "name": "IsJobNameAvailable", - "description": "", + "description": "Checks if a job name is available", "requestType": "IsJobNameAvailableRequest", "requestLongType": "IsJobNameAvailableRequest", "requestFullType": "mgmt.v1alpha1.IsJobNameAvailableRequest", @@ -14845,11 +14890,14 @@ "responseType": "IsJobNameAvailableResponse", "responseLongType": "IsJobNameAvailableResponse", "responseFullType": "mgmt.v1alpha1.IsJobNameAvailableResponse", - "responseStreaming": false + "responseStreaming": false, + "options": { + "idempotency_level": "NO_SIDE_EFFECTS" + } }, { "name": "UpdateJobSchedule", - "description": "", + "description": "Updates the schedule of a job", "requestType": "UpdateJobScheduleRequest", "requestLongType": "UpdateJobScheduleRequest", "requestFullType": "mgmt.v1alpha1.UpdateJobScheduleRequest", @@ -14861,7 +14909,7 @@ }, { "name": "UpdateJobSourceConnection", - "description": "", + "description": "Updates the source connection of a job", "requestType": "UpdateJobSourceConnectionRequest", "requestLongType": "UpdateJobSourceConnectionRequest", "requestFullType": "mgmt.v1alpha1.UpdateJobSourceConnectionRequest", @@ -14873,7 +14921,7 @@ }, { "name": "SetJobSourceSqlConnectionSubsets", - "description": "", + "description": "Sets the source sql connection subsets of a job", "requestType": "SetJobSourceSqlConnectionSubsetsRequest", "requestLongType": "SetJobSourceSqlConnectionSubsetsRequest", "requestFullType": "mgmt.v1alpha1.SetJobSourceSqlConnectionSubsetsRequest", @@ -14885,7 +14933,7 @@ }, { "name": "UpdateJobDestinationConnection", - "description": "", + "description": "Updates the destination connection of a job", "requestType": "UpdateJobDestinationConnectionRequest", "requestLongType": "UpdateJobDestinationConnectionRequest", "requestFullType": "mgmt.v1alpha1.UpdateJobDestinationConnectionRequest", @@ -14897,7 +14945,7 @@ }, { "name": "DeleteJobDestinationConnection", - "description": "", + "description": "Deletes the destination connection of a job", "requestType": "DeleteJobDestinationConnectionRequest", "requestLongType": "DeleteJobDestinationConnectionRequest", "requestFullType": "mgmt.v1alpha1.DeleteJobDestinationConnectionRequest", @@ -14909,7 +14957,7 @@ }, { "name": "CreateJobDestinationConnections", - "description": "", + "description": "Creates the destination connections of a job", "requestType": "CreateJobDestinationConnectionsRequest", "requestLongType": "CreateJobDestinationConnectionsRequest", "requestFullType": "mgmt.v1alpha1.CreateJobDestinationConnectionsRequest", @@ -14921,7 +14969,7 @@ }, { "name": "PauseJob", - "description": "", + "description": "Pauses or unpauses a job", "requestType": "PauseJobRequest", "requestLongType": "PauseJobRequest", "requestFullType": "mgmt.v1alpha1.PauseJobRequest", @@ -14933,7 +14981,7 @@ }, { "name": "GetJobRecentRuns", - "description": "Returns a list of recently invoked job runs baseds on the Temporal cron scheduler. This will return a list of job runs that include archived runs", + "description": "Returns a list of recently invoked job runs based on the Temporal cron scheduler. This will return a list of job runs that include archived runs", "requestType": "GetJobRecentRunsRequest", "requestLongType": "GetJobRecentRunsRequest", "requestFullType": "mgmt.v1alpha1.GetJobRecentRunsRequest", @@ -14941,7 +14989,10 @@ "responseType": "GetJobRecentRunsResponse", "responseLongType": "GetJobRecentRunsResponse", "responseFullType": "mgmt.v1alpha1.GetJobRecentRunsResponse", - "responseStreaming": false + "responseStreaming": false, + "options": { + "idempotency_level": "NO_SIDE_EFFECTS" + } }, { "name": "GetJobNextRuns", @@ -14953,11 +15004,14 @@ "responseType": "GetJobNextRunsResponse", "responseLongType": "GetJobNextRunsResponse", "responseFullType": "mgmt.v1alpha1.GetJobNextRunsResponse", - "responseStreaming": false + "responseStreaming": false, + "options": { + "idempotency_level": "NO_SIDE_EFFECTS" + } }, { "name": "GetJobStatus", - "description": "", + "description": "Returns the status of a job", "requestType": "GetJobStatusRequest", "requestLongType": "GetJobStatusRequest", "requestFullType": "mgmt.v1alpha1.GetJobStatusRequest", @@ -14965,11 +15019,14 @@ "responseType": "GetJobStatusResponse", "responseLongType": "GetJobStatusResponse", "responseFullType": "mgmt.v1alpha1.GetJobStatusResponse", - "responseStreaming": false + "responseStreaming": false, + "options": { + "idempotency_level": "NO_SIDE_EFFECTS" + } }, { "name": "GetJobStatuses", - "description": "", + "description": "Returns the statuses of jobs within an account", "requestType": "GetJobStatusesRequest", "requestLongType": "GetJobStatusesRequest", "requestFullType": "mgmt.v1alpha1.GetJobStatusesRequest", @@ -14977,7 +15034,10 @@ "responseType": "GetJobStatusesResponse", "responseLongType": "GetJobStatusesResponse", "responseFullType": "mgmt.v1alpha1.GetJobStatusesResponse", - "responseStreaming": false + "responseStreaming": false, + "options": { + "idempotency_level": "NO_SIDE_EFFECTS" + } }, { "name": "GetJobRuns", @@ -14989,11 +15049,14 @@ "responseType": "GetJobRunsResponse", "responseLongType": "GetJobRunsResponse", "responseFullType": "mgmt.v1alpha1.GetJobRunsResponse", - "responseStreaming": false + "responseStreaming": false, + "options": { + "idempotency_level": "NO_SIDE_EFFECTS" + } }, { "name": "GetJobRunEvents", - "description": "", + "description": "Returns a list of events for a job run to understand more details of the run itself", "requestType": "GetJobRunEventsRequest", "requestLongType": "GetJobRunEventsRequest", "requestFullType": "mgmt.v1alpha1.GetJobRunEventsRequest", @@ -15001,7 +15064,10 @@ "responseType": "GetJobRunEventsResponse", "responseLongType": "GetJobRunEventsResponse", "responseFullType": "mgmt.v1alpha1.GetJobRunEventsResponse", - "responseStreaming": false + "responseStreaming": false, + "options": { + "idempotency_level": "NO_SIDE_EFFECTS" + } }, { "name": "GetJobRun", @@ -15013,11 +15079,14 @@ "responseType": "GetJobRunResponse", "responseLongType": "GetJobRunResponse", "responseFullType": "mgmt.v1alpha1.GetJobRunResponse", - "responseStreaming": false + "responseStreaming": false, + "options": { + "idempotency_level": "NO_SIDE_EFFECTS" + } }, { "name": "DeleteJobRun", - "description": "", + "description": "Deletes a job run", "requestType": "DeleteJobRunRequest", "requestLongType": "DeleteJobRunRequest", "requestFullType": "mgmt.v1alpha1.DeleteJobRunRequest", @@ -15029,7 +15098,7 @@ }, { "name": "CreateJobRun", - "description": "", + "description": "Creates a new job run", "requestType": "CreateJobRunRequest", "requestLongType": "CreateJobRunRequest", "requestFullType": "mgmt.v1alpha1.CreateJobRunRequest", @@ -15041,7 +15110,7 @@ }, { "name": "CancelJobRun", - "description": "", + "description": "Cancels a job run. This is a graceful termination and allows the workflow to clean up and exit gracefully.", "requestType": "CancelJobRunRequest", "requestLongType": "CancelJobRunRequest", "requestFullType": "mgmt.v1alpha1.CancelJobRunRequest", @@ -15053,7 +15122,7 @@ }, { "name": "TerminateJobRun", - "description": "", + "description": "Terminates a job run. This is an immediate termination and will not allow the workflow to clean up and exit gracefully.", "requestType": "TerminateJobRunRequest", "requestLongType": "TerminateJobRunRequest", "requestFullType": "mgmt.v1alpha1.TerminateJobRunRequest", @@ -15101,7 +15170,7 @@ }, { "name": "ValidateJobMappings", - "description": "validates that the jobmapping configured can run with table constraints", + "description": "Validates that the jobmapping configured can run with table constraints", "requestType": "ValidateJobMappingsRequest", "requestLongType": "ValidateJobMappingsRequest", "requestFullType": "mgmt.v1alpha1.ValidateJobMappingsRequest", @@ -15157,7 +15226,10 @@ "responseType": "GetJobHooksResponse", "responseLongType": "GetJobHooksResponse", "responseFullType": "mgmt.v1alpha1.GetJobHooksResponse", - "responseStreaming": false + "responseStreaming": false, + "options": { + "idempotency_level": "NO_SIDE_EFFECTS" + } }, { "name": "GetJobHook", @@ -15169,7 +15241,10 @@ "responseType": "GetJobHookResponse", "responseLongType": "GetJobHookResponse", "responseFullType": "mgmt.v1alpha1.GetJobHookResponse", - "responseStreaming": false + "responseStreaming": false, + "options": { + "idempotency_level": "NO_SIDE_EFFECTS" + } }, { "name": "CreateJobHook", @@ -15241,7 +15316,10 @@ "responseType": "GetActiveJobHooksByTimingResponse", "responseLongType": "GetActiveJobHooksByTimingResponse", "responseFullType": "mgmt.v1alpha1.GetActiveJobHooksByTimingResponse", - "responseStreaming": false + "responseStreaming": false, + "options": { + "idempotency_level": "NO_SIDE_EFFECTS" + } } ] } @@ -15337,7 +15415,7 @@ "fields": [ { "name": "date", - "description": "", + "description": "The date of the result", "label": "", "type": "Date", "longType": "Date", @@ -15349,7 +15427,7 @@ }, { "name": "count", - "description": "", + "description": "The count of the metric for the given date", "label": "", "type": "uint64", "longType": "uint64", @@ -15457,7 +15535,7 @@ "fields": [ { "name": "results", - "description": "", + "description": "The list of results for the given metric and date range", "label": "repeated", "type": "DayResult", "longType": "DayResult", @@ -15583,7 +15661,7 @@ "name": "MetricsService", "longName": "MetricsService", "fullName": "mgmt.v1alpha1.MetricsService", - "description": "", + "description": "Service that handles serving up usage metrics", "methods": [ { "name": "GetDailyMetricCount", @@ -15595,7 +15673,10 @@ "responseType": "GetDailyMetricCountResponse", "responseLongType": "GetDailyMetricCountResponse", "responseFullType": "mgmt.v1alpha1.GetDailyMetricCountResponse", - "responseStreaming": false + "responseStreaming": false, + "options": { + "idempotency_level": "NO_SIDE_EFFECTS" + } }, { "name": "GetMetricCount", @@ -15607,7 +15688,10 @@ "responseType": "GetMetricCountResponse", "responseLongType": "GetMetricCountResponse", "responseFullType": "mgmt.v1alpha1.GetMetricCountResponse", - "responseStreaming": false + "responseStreaming": false, + "options": { + "idempotency_level": "NO_SIDE_EFFECTS" + } } ] } @@ -15730,17 +15814,17 @@ { "name": "USER_ACCOUNT_TYPE_PERSONAL", "number": "1", - "description": "" + "description": "A personal account is an account that is owned by a single user." }, { "name": "USER_ACCOUNT_TYPE_TEAM", "number": "2", - "description": "" + "description": "A team account is an account that is owned by a team of users." }, { "name": "USER_ACCOUNT_TYPE_ENTERPRISE", "number": "3", - "description": "" + "description": "An enterprise account is an account that is owned by an enterprise." } ] } @@ -15759,7 +15843,7 @@ "fields": [ { "name": "token", - "description": "", + "description": "The token that the user will use to accept the invite.", "label": "", "type": "string", "longType": "string", @@ -15783,7 +15867,7 @@ "fields": [ { "name": "account", - "description": "", + "description": "The account that the user was invited to.", "label": "", "type": "UserAccount", "longType": "UserAccount", @@ -15807,7 +15891,7 @@ "fields": [ { "name": "id", - "description": "", + "description": "The unique identifier of the invite.", "label": "", "type": "string", "longType": "string", @@ -15819,7 +15903,7 @@ }, { "name": "account_id", - "description": "", + "description": "The unique identifier of the account to invite the user to.", "label": "", "type": "string", "longType": "string", @@ -15831,7 +15915,7 @@ }, { "name": "sender_user_id", - "description": "", + "description": "The unique identifier of the user that sent the invite.", "label": "", "type": "string", "longType": "string", @@ -15843,7 +15927,7 @@ }, { "name": "email", - "description": "", + "description": "The email of the user to invite.", "label": "", "type": "string", "longType": "string", @@ -15855,7 +15939,7 @@ }, { "name": "token", - "description": "", + "description": "The token that the user will use to accept the invite.", "label": "", "type": "string", "longType": "string", @@ -15867,7 +15951,7 @@ }, { "name": "accepted", - "description": "", + "description": "Whether or not the invite has been accepted.", "label": "", "type": "bool", "longType": "bool", @@ -15879,7 +15963,7 @@ }, { "name": "created_at", - "description": "", + "description": "The time when the invite was created.", "label": "", "type": "Timestamp", "longType": "google.protobuf.Timestamp", @@ -15891,7 +15975,7 @@ }, { "name": "updated_at", - "description": "", + "description": "The time when the invite was last updated.", "label": "", "type": "Timestamp", "longType": "google.protobuf.Timestamp", @@ -15903,7 +15987,7 @@ }, { "name": "expires_at", - "description": "", + "description": "The time when the invite expires.", "label": "", "type": "Timestamp", "longType": "google.protobuf.Timestamp", @@ -15939,7 +16023,7 @@ "fields": [ { "name": "has_completed_onboarding", - "description": "", + "description": "Whether or not the account has completed onboarding.", "label": "", "type": "bool", "longType": "bool", @@ -15963,7 +16047,7 @@ "fields": [ { "name": "url", - "description": "", + "description": "The temporal url for the account.", "label": "", "type": "string", "longType": "string", @@ -15975,7 +16059,7 @@ }, { "name": "namespace", - "description": "", + "description": "The temporal namespace for the account.", "label": "", "type": "string", "longType": "string", @@ -15987,7 +16071,7 @@ }, { "name": "sync_job_queue_name", - "description": "", + "description": "The temporal sync job queue name for the account.", "label": "", "type": "string", "longType": "string", @@ -16011,7 +16095,7 @@ "fields": [ { "name": "id", - "description": "", + "description": "The unique identifier of the user.", "label": "", "type": "string", "longType": "string", @@ -16023,7 +16107,7 @@ }, { "name": "name", - "description": "", + "description": "The name of the user (if there is one)", "label": "", "type": "string", "longType": "string", @@ -16035,7 +16119,7 @@ }, { "name": "image", - "description": "", + "description": "The image of the user (if there is one)", "label": "", "type": "string", "longType": "string", @@ -16047,7 +16131,7 @@ }, { "name": "email", - "description": "", + "description": "The email of the user.", "label": "", "type": "string", "longType": "string", @@ -16191,7 +16275,7 @@ "fields": [ { "name": "account_id", - "description": "", + "description": "The unique identifier of the team account that was created.", "label": "", "type": "string", "longType": "string", @@ -16227,7 +16311,7 @@ "fields": [ { "name": "account_id", - "description": "", + "description": "The unique identifier of the account to get the billing checkout session for.", "label": "", "type": "string", "longType": "string", @@ -16275,7 +16359,7 @@ "fields": [ { "name": "account_id", - "description": "", + "description": "The unique identifier of the account to get the billing portal session for.", "label": "", "type": "string", "longType": "string", @@ -16323,7 +16407,7 @@ "fields": [ { "name": "account_id", - "description": "", + "description": "The unique identifier of the account to get the onboarding config for.", "label": "", "type": "string", "longType": "string", @@ -16347,7 +16431,7 @@ "fields": [ { "name": "config", - "description": "", + "description": "The onboarding config for the account.", "label": "", "type": "AccountOnboardingConfig", "longType": "AccountOnboardingConfig", @@ -16371,7 +16455,7 @@ "fields": [ { "name": "account_id", - "description": "", + "description": "The unique identifier of the account to get the status for.", "label": "", "type": "string", "longType": "string", @@ -16443,7 +16527,7 @@ "fields": [ { "name": "account_id", - "description": "", + "description": "The unique identifier of the account to get the temporal config for.", "label": "", "type": "string", "longType": "string", @@ -16467,7 +16551,7 @@ "fields": [ { "name": "config", - "description": "", + "description": "The temporal config for the account.", "label": "", "type": "AccountTemporalConfig", "longType": "AccountTemporalConfig", @@ -16515,7 +16599,7 @@ "fields": [ { "name": "accounts", - "description": "", + "description": "The list of accounts that have a billing id.", "label": "repeated", "type": "UserAccount", "longType": "UserAccount", @@ -16634,7 +16718,7 @@ "fields": [ { "name": "account_id", - "description": "", + "description": "The unique identifier of the account to get the invites for.", "label": "", "type": "string", "longType": "string", @@ -16658,7 +16742,7 @@ "fields": [ { "name": "invites", - "description": "", + "description": "The list of invites for the account.", "label": "repeated", "type": "AccountInvite", "longType": "AccountInvite", @@ -16682,7 +16766,7 @@ "fields": [ { "name": "account_id", - "description": "", + "description": "The unique identifier of the account to get the members for.", "label": "", "type": "string", "longType": "string", @@ -16741,7 +16825,7 @@ "fields": [ { "name": "accounts", - "description": "", + "description": "The list of accounts that the user belongs to.", "label": "repeated", "type": "UserAccount", "longType": "UserAccount", @@ -16776,7 +16860,7 @@ "fields": [ { "name": "user_id", - "description": "", + "description": "The unique identifier of the user that was retrieved.", "label": "", "type": "string", "longType": "string", @@ -16800,7 +16884,7 @@ "fields": [ { "name": "account_id", - "description": "The account id to invite the user to", + "description": "The unique identifier of the account to invite the user to.", "label": "", "type": "string", "longType": "string", @@ -16812,7 +16896,7 @@ }, { "name": "email", - "description": "The email of the user to invite", + "description": "The email of the user to invite.", "label": "", "type": "string", "longType": "string", @@ -16848,7 +16932,7 @@ "fields": [ { "name": "invite", - "description": "", + "description": "The invite that was created.", "label": "", "type": "AccountInvite", "longType": "AccountInvite", @@ -16872,7 +16956,7 @@ "fields": [ { "name": "account_id", - "description": "", + "description": "The unique identifier of the account to get the status for.", "label": "", "type": "string", "longType": "string", @@ -16908,7 +16992,7 @@ "fields": [ { "name": "is_valid", - "description": "", + "description": "Whether or not the account is valid.", "label": "", "type": "bool", "longType": "bool", @@ -16980,7 +17064,7 @@ "fields": [ { "name": "account_id", - "description": "", + "description": "The unique identifier of the account to check if the user is in.", "label": "", "type": "string", "longType": "string", @@ -17004,7 +17088,7 @@ "fields": [ { "name": "ok", - "description": "", + "description": "Whether or not the user is in the account.", "label": "", "type": "bool", "longType": "bool", @@ -17028,7 +17112,7 @@ "fields": [ { "name": "id", - "description": "", + "description": "The unique identifier of the invite to remove.", "label": "", "type": "string", "longType": "string", @@ -17063,7 +17147,7 @@ "fields": [ { "name": "user_id", - "description": "", + "description": "The unique identifier of the user to remove from the account.", "label": "", "type": "string", "longType": "string", @@ -17075,7 +17159,7 @@ }, { "name": "account_id", - "description": "", + "description": "The unique identifier of the account to remove the user from.", "label": "", "type": "string", "longType": "string", @@ -17110,7 +17194,7 @@ "fields": [ { "name": "account_id", - "description": "", + "description": "The unique identifier of the account to set the onboarding config for.", "label": "", "type": "string", "longType": "string", @@ -17122,7 +17206,7 @@ }, { "name": "config", - "description": "", + "description": "The onboarding config to set for the account.", "label": "", "type": "AccountOnboardingConfig", "longType": "AccountOnboardingConfig", @@ -17146,7 +17230,7 @@ "fields": [ { "name": "config", - "description": "", + "description": "The onboarding config that was set for the account.", "label": "", "type": "AccountOnboardingConfig", "longType": "AccountOnboardingConfig", @@ -17170,7 +17254,7 @@ "fields": [ { "name": "account_id", - "description": "", + "description": "The unique identifier of the account to set the temporal config for.", "label": "", "type": "string", "longType": "string", @@ -17182,7 +17266,7 @@ }, { "name": "config", - "description": "", + "description": "The temporal config to set for the account.", "label": "", "type": "AccountTemporalConfig", "longType": "AccountTemporalConfig", @@ -17206,7 +17290,7 @@ "fields": [ { "name": "config", - "description": "", + "description": "The temporal config that was set for the account.", "label": "", "type": "AccountTemporalConfig", "longType": "AccountTemporalConfig", @@ -17230,7 +17314,7 @@ "fields": [ { "name": "account_id", - "description": "The account id to apply this metered event to", + "description": "The unique identifier of the account to apply this metered event to.", "label": "", "type": "string", "longType": "string", @@ -17324,7 +17408,7 @@ "fields": [ { "name": "account_id", - "description": "", + "description": "The unique identifier of the personal account that was created.", "label": "", "type": "string", "longType": "string", @@ -17359,7 +17443,7 @@ "fields": [ { "name": "user_id", - "description": "", + "description": "The unique identifier of the user that was created.", "label": "", "type": "string", "longType": "string", @@ -17383,7 +17467,7 @@ "fields": [ { "name": "account_id", - "description": "The account id to apply this role to", + "description": "The unique identifier of the account to apply this role to.", "label": "", "type": "string", "longType": "string", @@ -17395,7 +17479,7 @@ }, { "name": "user_id", - "description": "The user that this will be applied to", + "description": "The unique identifier of the user that this will be applied to.", "label": "", "type": "string", "longType": "string", @@ -17407,7 +17491,7 @@ }, { "name": "role", - "description": "The role that this user will obtain", + "description": "The role that this user will obtain.", "label": "", "type": "AccountRole", "longType": "AccountRole", @@ -17544,11 +17628,11 @@ "name": "UserAccountService", "longName": "UserAccountService", "fullName": "mgmt.v1alpha1.UserAccountService", - "description": "", + "description": "Service that manages users, accounts, and billing", "methods": [ { "name": "GetUser", - "description": "", + "description": "Retrieves the current user.", "requestType": "GetUserRequest", "requestLongType": "GetUserRequest", "requestFullType": "mgmt.v1alpha1.GetUserRequest", @@ -17556,11 +17640,14 @@ "responseType": "GetUserResponse", "responseLongType": "GetUserResponse", "responseFullType": "mgmt.v1alpha1.GetUserResponse", - "responseStreaming": false + "responseStreaming": false, + "options": { + "idempotency_level": "NO_SIDE_EFFECTS" + } }, { "name": "SetUser", - "description": "", + "description": "Sets the current user.", "requestType": "SetUserRequest", "requestLongType": "SetUserRequest", "requestFullType": "mgmt.v1alpha1.SetUserRequest", @@ -17572,7 +17659,7 @@ }, { "name": "GetUserAccounts", - "description": "", + "description": "Retrieves the list of accounts that the user belongs to.", "requestType": "GetUserAccountsRequest", "requestLongType": "GetUserAccountsRequest", "requestFullType": "mgmt.v1alpha1.GetUserAccountsRequest", @@ -17580,11 +17667,14 @@ "responseType": "GetUserAccountsResponse", "responseLongType": "GetUserAccountsResponse", "responseFullType": "mgmt.v1alpha1.GetUserAccountsResponse", - "responseStreaming": false + "responseStreaming": false, + "options": { + "idempotency_level": "NO_SIDE_EFFECTS" + } }, { "name": "SetPersonalAccount", - "description": "", + "description": "Sets the current personal account.", "requestType": "SetPersonalAccountRequest", "requestLongType": "SetPersonalAccountRequest", "requestFullType": "mgmt.v1alpha1.SetPersonalAccountRequest", @@ -17620,7 +17710,7 @@ }, { "name": "IsUserInAccount", - "description": "", + "description": "Checks if the user is in the account.", "requestType": "IsUserInAccountRequest", "requestLongType": "IsUserInAccountRequest", "requestFullType": "mgmt.v1alpha1.IsUserInAccountRequest", @@ -17632,7 +17722,7 @@ }, { "name": "GetAccountTemporalConfig", - "description": "", + "description": "Retrieves the temporal config for the account.", "requestType": "GetAccountTemporalConfigRequest", "requestLongType": "GetAccountTemporalConfigRequest", "requestFullType": "mgmt.v1alpha1.GetAccountTemporalConfigRequest", @@ -17640,11 +17730,14 @@ "responseType": "GetAccountTemporalConfigResponse", "responseLongType": "GetAccountTemporalConfigResponse", "responseFullType": "mgmt.v1alpha1.GetAccountTemporalConfigResponse", - "responseStreaming": false + "responseStreaming": false, + "options": { + "idempotency_level": "NO_SIDE_EFFECTS" + } }, { "name": "SetAccountTemporalConfig", - "description": "", + "description": "Sets the temporal config for the account.", "requestType": "SetAccountTemporalConfigRequest", "requestLongType": "SetAccountTemporalConfigRequest", "requestFullType": "mgmt.v1alpha1.SetAccountTemporalConfigRequest", @@ -17656,7 +17749,7 @@ }, { "name": "GetTeamAccountMembers", - "description": "", + "description": "Retrieves the list of members in the team account.", "requestType": "GetTeamAccountMembersRequest", "requestLongType": "GetTeamAccountMembersRequest", "requestFullType": "mgmt.v1alpha1.GetTeamAccountMembersRequest", @@ -17664,11 +17757,14 @@ "responseType": "GetTeamAccountMembersResponse", "responseLongType": "GetTeamAccountMembersResponse", "responseFullType": "mgmt.v1alpha1.GetTeamAccountMembersResponse", - "responseStreaming": false + "responseStreaming": false, + "options": { + "idempotency_level": "NO_SIDE_EFFECTS" + } }, { "name": "RemoveTeamAccountMember", - "description": "", + "description": "Removes a member from the team account.", "requestType": "RemoveTeamAccountMemberRequest", "requestLongType": "RemoveTeamAccountMemberRequest", "requestFullType": "mgmt.v1alpha1.RemoveTeamAccountMemberRequest", @@ -17680,7 +17776,7 @@ }, { "name": "InviteUserToTeamAccount", - "description": "", + "description": "Invites a user to the team account.", "requestType": "InviteUserToTeamAccountRequest", "requestLongType": "InviteUserToTeamAccountRequest", "requestFullType": "mgmt.v1alpha1.InviteUserToTeamAccountRequest", @@ -17692,7 +17788,7 @@ }, { "name": "GetTeamAccountInvites", - "description": "", + "description": "Retrieves the list of invites for the team account.", "requestType": "GetTeamAccountInvitesRequest", "requestLongType": "GetTeamAccountInvitesRequest", "requestFullType": "mgmt.v1alpha1.GetTeamAccountInvitesRequest", @@ -17700,11 +17796,14 @@ "responseType": "GetTeamAccountInvitesResponse", "responseLongType": "GetTeamAccountInvitesResponse", "responseFullType": "mgmt.v1alpha1.GetTeamAccountInvitesResponse", - "responseStreaming": false + "responseStreaming": false, + "options": { + "idempotency_level": "NO_SIDE_EFFECTS" + } }, { "name": "RemoveTeamAccountInvite", - "description": "", + "description": "Removes an invite from the team account.", "requestType": "RemoveTeamAccountInviteRequest", "requestLongType": "RemoveTeamAccountInviteRequest", "requestFullType": "mgmt.v1alpha1.RemoveTeamAccountInviteRequest", @@ -17716,7 +17815,7 @@ }, { "name": "AcceptTeamAccountInvite", - "description": "", + "description": "Accepts an invite to the team account.", "requestType": "AcceptTeamAccountInviteRequest", "requestLongType": "AcceptTeamAccountInviteRequest", "requestFullType": "mgmt.v1alpha1.AcceptTeamAccountInviteRequest", @@ -17728,7 +17827,7 @@ }, { "name": "GetSystemInformation", - "description": "", + "description": "Retrieves the system information.", "requestType": "GetSystemInformationRequest", "requestLongType": "GetSystemInformationRequest", "requestFullType": "mgmt.v1alpha1.GetSystemInformationRequest", @@ -17743,7 +17842,7 @@ }, { "name": "GetAccountOnboardingConfig", - "description": "", + "description": "Retrieves the onboarding config for the account.", "requestType": "GetAccountOnboardingConfigRequest", "requestLongType": "GetAccountOnboardingConfigRequest", "requestFullType": "mgmt.v1alpha1.GetAccountOnboardingConfigRequest", @@ -17751,11 +17850,14 @@ "responseType": "GetAccountOnboardingConfigResponse", "responseLongType": "GetAccountOnboardingConfigResponse", "responseFullType": "mgmt.v1alpha1.GetAccountOnboardingConfigResponse", - "responseStreaming": false + "responseStreaming": false, + "options": { + "idempotency_level": "NO_SIDE_EFFECTS" + } }, { "name": "SetAccountOnboardingConfig", - "description": "", + "description": "Sets the onboarding config for the account.", "requestType": "SetAccountOnboardingConfigRequest", "requestLongType": "SetAccountOnboardingConfigRequest", "requestFullType": "mgmt.v1alpha1.SetAccountOnboardingConfigRequest", @@ -17805,7 +17907,10 @@ "responseType": "GetAccountBillingCheckoutSessionResponse", "responseLongType": "GetAccountBillingCheckoutSessionResponse", "responseFullType": "mgmt.v1alpha1.GetAccountBillingCheckoutSessionResponse", - "responseStreaming": false + "responseStreaming": false, + "options": { + "idempotency_level": "NO_SIDE_EFFECTS" + } }, { "name": "GetAccountBillingPortalSession", @@ -17817,7 +17922,10 @@ "responseType": "GetAccountBillingPortalSessionResponse", "responseLongType": "GetAccountBillingPortalSessionResponse", "responseFullType": "mgmt.v1alpha1.GetAccountBillingPortalSessionResponse", - "responseStreaming": false + "responseStreaming": false, + "options": { + "idempotency_level": "NO_SIDE_EFFECTS" + } }, { "name": "GetBillingAccounts", diff --git a/frontend/packages/sdk/src/client/mgmt/v1alpha1/anonymization_pb.ts b/frontend/packages/sdk/src/client/mgmt/v1alpha1/anonymization_pb.ts index a83a14fcd8..0c823a074e 100644 --- a/frontend/packages/sdk/src/client/mgmt/v1alpha1/anonymization_pb.ts +++ b/frontend/packages/sdk/src/client/mgmt/v1alpha1/anonymization_pb.ts @@ -120,21 +120,21 @@ export const TransformerMappingSchema: GenMessage = /*@__PUR */ export type DefaultTransformersConfig = Message<"mgmt.v1alpha1.DefaultTransformersConfig"> & { /** - * Boolean + * Any identified boolean value will be transformed using this configuration if no mapping is found. * * @generated from field: mgmt.v1alpha1.TransformerConfig boolean = 2; */ boolean?: TransformerConfig; /** - * Number + * Any identified number value will be transformed using this configuration if no mapping is found. * * @generated from field: mgmt.v1alpha1.TransformerConfig n = 3; */ n?: TransformerConfig; /** - * String + * Any identified string value will be transformed using this configuration if no mapping is found. * * @generated from field: mgmt.v1alpha1.TransformerConfig s = 4; */ @@ -234,11 +234,13 @@ export const AnonymizeSingleResponseSchema: GenMessage messageDesc(file_mgmt_v1alpha1_anonymization, 6); /** + * Service that transactionally anonymizes data, regardless of the connection type. + * * @generated from service mgmt.v1alpha1.AnonymizationService */ export const AnonymizationService: GenService<{ /** - * Anonymizes many JSON strings by applying specified transformation mappings. + * Anonymizes many JSON strings by applying specified transformation mappings. This is the bulk version of the `AnonymizeSingle` method. * * @generated from rpc mgmt.v1alpha1.AnonymizationService.AnonymizeMany */ diff --git a/frontend/packages/sdk/src/client/mgmt/v1alpha1/api_key_pb.ts b/frontend/packages/sdk/src/client/mgmt/v1alpha1/api_key_pb.ts index 61f2fad7a8..456739ac7e 100644 --- a/frontend/packages/sdk/src/client/mgmt/v1alpha1/api_key_pb.ts +++ b/frontend/packages/sdk/src/client/mgmt/v1alpha1/api_key_pb.ts @@ -13,18 +13,22 @@ import type { Message } from "@bufbuild/protobuf"; * Describes the file mgmt/v1alpha1/api_key.proto. */ export const file_mgmt_v1alpha1_api_key: GenFile = /*@__PURE__*/ - fileDesc("ChttZ210L3YxYWxwaGExL2FwaV9rZXkucHJvdG8SDW1nbXQudjFhbHBoYTEipwEKGkNyZWF0ZUFjY291bnRBcGlLZXlSZXF1ZXN0EhwKCmFjY291bnRfaWQYASABKAlCCLpIBXIDsAEBEicKBG5hbWUYAiABKAlCGbpIFnIUMhJeW2EtejAtOS1dezMsMTAwfSQSQgoKZXhwaXJlc19hdBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCErpID8gBAbIBCUoFCIDnhA9AASJMChtDcmVhdGVBY2NvdW50QXBpS2V5UmVzcG9uc2USLQoHYXBpX2tleRgBIAEoCzIcLm1nbXQudjFhbHBoYTEuQWNjb3VudEFwaUtleSKyAgoNQWNjb3VudEFwaUtleRIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEhIKCmFjY291bnRfaWQYAyABKAkSFQoNY3JlYXRlZF9ieV9pZBgEIAEoCRIuCgpjcmVhdGVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIVCg11cGRhdGVkX2J5X2lkGAYgASgJEi4KCnVwZGF0ZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhYKCWtleV92YWx1ZRgIIAEoCUgAiAEBEg8KB3VzZXJfaWQYCSABKAkSLgoKZXhwaXJlc19hdBgKIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCDAoKX2tleV92YWx1ZSI4ChhHZXRBY2NvdW50QXBpS2V5c1JlcXVlc3QSHAoKYWNjb3VudF9pZBgBIAEoCUIIukgFcgOwAQEiSwoZR2V0QWNjb3VudEFwaUtleXNSZXNwb25zZRIuCghhcGlfa2V5cxgBIAMoCzIcLm1nbXQudjFhbHBoYTEuQWNjb3VudEFwaUtleSIvChdHZXRBY2NvdW50QXBpS2V5UmVxdWVzdBIUCgJpZBgBIAEoCUIIukgFcgOwAQEiSQoYR2V0QWNjb3VudEFwaUtleVJlc3BvbnNlEi0KB2FwaV9rZXkYASABKAsyHC5tZ210LnYxYWxwaGExLkFjY291bnRBcGlLZXkiegoeUmVnZW5lcmF0ZUFjY291bnRBcGlLZXlSZXF1ZXN0EhQKAmlkGAEgASgJQgi6SAVyA7ABARJCCgpleHBpcmVzX2F0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEISukgPyAEBsgEJSgUIgOeED0ABIlAKH1JlZ2VuZXJhdGVBY2NvdW50QXBpS2V5UmVzcG9uc2USLQoHYXBpX2tleRgBIAEoCzIcLm1nbXQudjFhbHBoYTEuQWNjb3VudEFwaUtleSIyChpEZWxldGVBY2NvdW50QXBpS2V5UmVxdWVzdBIUCgJpZBgBIAEoCUIIukgFcgOwAQEiHQobRGVsZXRlQWNjb3VudEFwaUtleVJlc3BvbnNlMrwECg1BcGlLZXlTZXJ2aWNlEmgKEUdldEFjY291bnRBcGlLZXlzEicubWdtdC52MWFscGhhMS5HZXRBY2NvdW50QXBpS2V5c1JlcXVlc3QaKC5tZ210LnYxYWxwaGExLkdldEFjY291bnRBcGlLZXlzUmVzcG9uc2UiABJlChBHZXRBY2NvdW50QXBpS2V5EiYubWdtdC52MWFscGhhMS5HZXRBY2NvdW50QXBpS2V5UmVxdWVzdBonLm1nbXQudjFhbHBoYTEuR2V0QWNjb3VudEFwaUtleVJlc3BvbnNlIgASbgoTQ3JlYXRlQWNjb3VudEFwaUtleRIpLm1nbXQudjFhbHBoYTEuQ3JlYXRlQWNjb3VudEFwaUtleVJlcXVlc3QaKi5tZ210LnYxYWxwaGExLkNyZWF0ZUFjY291bnRBcGlLZXlSZXNwb25zZSIAEnoKF1JlZ2VuZXJhdGVBY2NvdW50QXBpS2V5Ei0ubWdtdC52MWFscGhhMS5SZWdlbmVyYXRlQWNjb3VudEFwaUtleVJlcXVlc3QaLi5tZ210LnYxYWxwaGExLlJlZ2VuZXJhdGVBY2NvdW50QXBpS2V5UmVzcG9uc2UiABJuChNEZWxldGVBY2NvdW50QXBpS2V5EikubWdtdC52MWFscGhhMS5EZWxldGVBY2NvdW50QXBpS2V5UmVxdWVzdBoqLm1nbXQudjFhbHBoYTEuRGVsZXRlQWNjb3VudEFwaUtleVJlc3BvbnNlIgBCxwEKEWNvbS5tZ210LnYxYWxwaGExQgtBcGlLZXlQcm90b1ABWlBnaXRodWIuY29tL251Y2xldXNjbG91ZC9uZW9zeW5jL2JhY2tlbmQvZ2VuL2dvL3Byb3Rvcy9tZ210L3YxYWxwaGExO21nbXR2MWFscGhhMaICA01YWKoCDU1nbXQuVjFhbHBoYTHKAg1NZ210XFYxYWxwaGEx4gIZTWdtdFxWMWFscGhhMVxHUEJNZXRhZGF0YeoCDk1nbXQ6OlYxYWxwaGExYgZwcm90bzM", [file_buf_validate_validate, file_google_protobuf_timestamp]); + fileDesc("ChttZ210L3YxYWxwaGExL2FwaV9rZXkucHJvdG8SDW1nbXQudjFhbHBoYTEipwEKGkNyZWF0ZUFjY291bnRBcGlLZXlSZXF1ZXN0EhwKCmFjY291bnRfaWQYASABKAlCCLpIBXIDsAEBEicKBG5hbWUYAiABKAlCGbpIFnIUMhJeW2EtejAtOS1dezMsMTAwfSQSQgoKZXhwaXJlc19hdBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCErpID8gBAbIBCUoFCIDnhA9AASJMChtDcmVhdGVBY2NvdW50QXBpS2V5UmVzcG9uc2USLQoHYXBpX2tleRgBIAEoCzIcLm1nbXQudjFhbHBoYTEuQWNjb3VudEFwaUtleSKyAgoNQWNjb3VudEFwaUtleRIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEhIKCmFjY291bnRfaWQYAyABKAkSFQoNY3JlYXRlZF9ieV9pZBgEIAEoCRIuCgpjcmVhdGVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIVCg11cGRhdGVkX2J5X2lkGAYgASgJEi4KCnVwZGF0ZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhYKCWtleV92YWx1ZRgIIAEoCUgAiAEBEg8KB3VzZXJfaWQYCSABKAkSLgoKZXhwaXJlc19hdBgKIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCDAoKX2tleV92YWx1ZSI4ChhHZXRBY2NvdW50QXBpS2V5c1JlcXVlc3QSHAoKYWNjb3VudF9pZBgBIAEoCUIIukgFcgOwAQEiSwoZR2V0QWNjb3VudEFwaUtleXNSZXNwb25zZRIuCghhcGlfa2V5cxgBIAMoCzIcLm1nbXQudjFhbHBoYTEuQWNjb3VudEFwaUtleSIvChdHZXRBY2NvdW50QXBpS2V5UmVxdWVzdBIUCgJpZBgBIAEoCUIIukgFcgOwAQEiSQoYR2V0QWNjb3VudEFwaUtleVJlc3BvbnNlEi0KB2FwaV9rZXkYASABKAsyHC5tZ210LnYxYWxwaGExLkFjY291bnRBcGlLZXkiegoeUmVnZW5lcmF0ZUFjY291bnRBcGlLZXlSZXF1ZXN0EhQKAmlkGAEgASgJQgi6SAVyA7ABARJCCgpleHBpcmVzX2F0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEISukgPyAEBsgEJSgUIgOeED0ABIlAKH1JlZ2VuZXJhdGVBY2NvdW50QXBpS2V5UmVzcG9uc2USLQoHYXBpX2tleRgBIAEoCzIcLm1nbXQudjFhbHBoYTEuQWNjb3VudEFwaUtleSIyChpEZWxldGVBY2NvdW50QXBpS2V5UmVxdWVzdBIUCgJpZBgBIAEoCUIIukgFcgOwAQEiHQobRGVsZXRlQWNjb3VudEFwaUtleVJlc3BvbnNlMsIECg1BcGlLZXlTZXJ2aWNlEmsKEUdldEFjY291bnRBcGlLZXlzEicubWdtdC52MWFscGhhMS5HZXRBY2NvdW50QXBpS2V5c1JlcXVlc3QaKC5tZ210LnYxYWxwaGExLkdldEFjY291bnRBcGlLZXlzUmVzcG9uc2UiA5ACARJoChBHZXRBY2NvdW50QXBpS2V5EiYubWdtdC52MWFscGhhMS5HZXRBY2NvdW50QXBpS2V5UmVxdWVzdBonLm1nbXQudjFhbHBoYTEuR2V0QWNjb3VudEFwaUtleVJlc3BvbnNlIgOQAgESbgoTQ3JlYXRlQWNjb3VudEFwaUtleRIpLm1nbXQudjFhbHBoYTEuQ3JlYXRlQWNjb3VudEFwaUtleVJlcXVlc3QaKi5tZ210LnYxYWxwaGExLkNyZWF0ZUFjY291bnRBcGlLZXlSZXNwb25zZSIAEnoKF1JlZ2VuZXJhdGVBY2NvdW50QXBpS2V5Ei0ubWdtdC52MWFscGhhMS5SZWdlbmVyYXRlQWNjb3VudEFwaUtleVJlcXVlc3QaLi5tZ210LnYxYWxwaGExLlJlZ2VuZXJhdGVBY2NvdW50QXBpS2V5UmVzcG9uc2UiABJuChNEZWxldGVBY2NvdW50QXBpS2V5EikubWdtdC52MWFscGhhMS5EZWxldGVBY2NvdW50QXBpS2V5UmVxdWVzdBoqLm1nbXQudjFhbHBoYTEuRGVsZXRlQWNjb3VudEFwaUtleVJlc3BvbnNlIgBCxwEKEWNvbS5tZ210LnYxYWxwaGExQgtBcGlLZXlQcm90b1ABWlBnaXRodWIuY29tL251Y2xldXNjbG91ZC9uZW9zeW5jL2JhY2tlbmQvZ2VuL2dvL3Byb3Rvcy9tZ210L3YxYWxwaGExO21nbXR2MWFscGhhMaICA01YWKoCDU1nbXQuVjFhbHBoYTHKAg1NZ210XFYxYWxwaGEx4gIZTWdtdFxWMWFscGhhMVxHUEJNZXRhZGF0YeoCDk1nbXQ6OlYxYWxwaGExYgZwcm90bzM", [file_buf_validate_validate, file_google_protobuf_timestamp]); /** * @generated from message mgmt.v1alpha1.CreateAccountApiKeyRequest */ export type CreateAccountApiKeyRequest = Message<"mgmt.v1alpha1.CreateAccountApiKeyRequest"> & { /** + * The unique identifier of the account to create the API key for. + * * @generated from field: string account_id = 1; */ accountId: string; /** + * The friendly name of the API key + * * @generated from field: string name = 2; */ name: string; @@ -49,6 +53,8 @@ export const CreateAccountApiKeyRequestSchema: GenMessage & { /** + * The created API key + * * @generated from field: mgmt.v1alpha1.AccountApiKey api_key = 1; */ apiKey?: AccountApiKey; @@ -66,6 +72,8 @@ export const CreateAccountApiKeyResponseSchema: GenMessage & { /** + * The unique identifier of the API key + * * @generated from field: string id = 1; */ id: string; @@ -78,26 +86,36 @@ export type AccountApiKey = Message<"mgmt.v1alpha1.AccountApiKey"> & { name: string; /** + * The unique identifier of the account that the API key belongs to + * * @generated from field: string account_id = 3; */ accountId: string; /** + * The unique identifier of the user that created the API key + * * @generated from field: string created_by_id = 4; */ createdById: string; /** + * The timestamp of when the API key was created + * * @generated from field: google.protobuf.Timestamp created_at = 5; */ createdAt?: Timestamp; /** + * The unique identifier of the user that last updated the API key + * * @generated from field: string updated_by_id = 6; */ updatedById: string; /** + * The timestamp of when the API key was last updated + * * @generated from field: google.protobuf.Timestamp updated_at = 7; */ updatedAt?: Timestamp; @@ -110,6 +128,8 @@ export type AccountApiKey = Message<"mgmt.v1alpha1.AccountApiKey"> & { keyValue?: string; /** + * The unique identifier of the user that the API key belongs to (Each API Key is associated with its own user record to identify what the API key does in the system) + * * @generated from field: string user_id = 9; */ userId: string; @@ -134,6 +154,8 @@ export const AccountApiKeySchema: GenMessage = /*@__PURE__*/ */ export type GetAccountApiKeysRequest = Message<"mgmt.v1alpha1.GetAccountApiKeysRequest"> & { /** + * The unique identifier of the account to get the API keys for. + * * @generated from field: string account_id = 1; */ accountId: string; @@ -151,6 +173,8 @@ export const GetAccountApiKeysRequestSchema: GenMessage & { /** + * The list of API keys for the account. + * * @generated from field: repeated mgmt.v1alpha1.AccountApiKey api_keys = 1; */ apiKeys: AccountApiKey[]; @@ -168,6 +192,8 @@ export const GetAccountApiKeysResponseSchema: GenMessage & { /** + * The unique identifier of the API key to get. + * * @generated from field: string id = 1; */ id: string; @@ -185,6 +211,8 @@ export const GetAccountApiKeyRequestSchema: GenMessage */ export type GetAccountApiKeyResponse = Message<"mgmt.v1alpha1.GetAccountApiKeyResponse"> & { /** + * The API key that was retrieved. + * * @generated from field: mgmt.v1alpha1.AccountApiKey api_key = 1; */ apiKey?: AccountApiKey; @@ -202,6 +230,8 @@ export const GetAccountApiKeyResponseSchema: GenMessage & { /** + * The unique identifier of the API key to regenerate. + * * @generated from field: string id = 1; */ id: string; @@ -226,6 +256,8 @@ export const RegenerateAccountApiKeyRequestSchema: GenMessage & { /** + * The regenerated API key + * * @generated from field: mgmt.v1alpha1.AccountApiKey api_key = 1; */ apiKey?: AccountApiKey; @@ -243,6 +275,8 @@ export const RegenerateAccountApiKeyResponseSchema: GenMessage & { /** + * The unique identifier of the API key to delete. + * * @generated from field: string id = 1; */ id: string; diff --git a/frontend/packages/sdk/src/client/mgmt/v1alpha1/auth_pb.ts b/frontend/packages/sdk/src/client/mgmt/v1alpha1/auth_pb.ts index c113372d94..de2008591b 100644 --- a/frontend/packages/sdk/src/client/mgmt/v1alpha1/auth_pb.ts +++ b/frontend/packages/sdk/src/client/mgmt/v1alpha1/auth_pb.ts @@ -11,7 +11,7 @@ import type { Message } from "@bufbuild/protobuf"; * Describes the file mgmt/v1alpha1/auth.proto. */ export const file_mgmt_v1alpha1_auth: GenFile = /*@__PURE__*/ - fileDesc("ChhtZ210L3YxYWxwaGExL2F1dGgucHJvdG8SDW1nbXQudjFhbHBoYTEiRwoPTG9naW5DbGlSZXF1ZXN0EhUKBGNvZGUYASABKAlCB7pIBHICEAESHQoMcmVkaXJlY3RfdXJpGAIgASgJQge6SARyAhABIkQKEExvZ2luQ2xpUmVzcG9uc2USMAoMYWNjZXNzX3Rva2VuGAEgASgLMhoubWdtdC52MWFscGhhMS5BY2Nlc3NUb2tlbiIWChRHZXRBdXRoU3RhdHVzUmVxdWVzdCIrChVHZXRBdXRoU3RhdHVzUmVzcG9uc2USEgoKaXNfZW5hYmxlZBgBIAEoCCKsAQoLQWNjZXNzVG9rZW4SFAoMYWNjZXNzX3Rva2VuGAEgASgJEhoKDXJlZnJlc2hfdG9rZW4YAiABKAlIAIgBARISCgpleHBpcmVzX2luGAMgASgDEg0KBXNjb3BlGAQgASgJEhUKCGlkX3Rva2VuGAUgASgJSAGIAQESEgoKdG9rZW5fdHlwZRgGIAEoCUIQCg5fcmVmcmVzaF90b2tlbkILCglfaWRfdG9rZW4iZwoWR2V0QXV0aG9yaXplVXJsUmVxdWVzdBIWCgVzdGF0ZRgBIAEoCUIHukgEcgIQARIdCgxyZWRpcmVjdF91cmkYAiABKAlCB7pIBHICEAESFgoFc2NvcGUYAyABKAlCB7pIBHICEAEiJgoXR2V0QXV0aG9yaXplVXJsUmVzcG9uc2USCwoDdXJsGAEgASgJIjMKEVJlZnJlc2hDbGlSZXF1ZXN0Eh4KDXJlZnJlc2hfdG9rZW4YASABKAlCB7pIBHICEAEiRgoSUmVmcmVzaENsaVJlc3BvbnNlEjAKDGFjY2Vzc190b2tlbhgBIAEoCzIaLm1nbXQudjFhbHBoYTEuQWNjZXNzVG9rZW4iEwoRQ2hlY2tUb2tlblJlcXVlc3QiFAoSQ2hlY2tUb2tlblJlc3BvbnNlMsgDCgtBdXRoU2VydmljZRJNCghMb2dpbkNsaRIeLm1nbXQudjFhbHBoYTEuTG9naW5DbGlSZXF1ZXN0Gh8ubWdtdC52MWFscGhhMS5Mb2dpbkNsaVJlc3BvbnNlIgASUwoKUmVmcmVzaENsaRIgLm1nbXQudjFhbHBoYTEuUmVmcmVzaENsaVJlcXVlc3QaIS5tZ210LnYxYWxwaGExLlJlZnJlc2hDbGlSZXNwb25zZSIAElMKCkNoZWNrVG9rZW4SIC5tZ210LnYxYWxwaGExLkNoZWNrVG9rZW5SZXF1ZXN0GiEubWdtdC52MWFscGhhMS5DaGVja1Rva2VuUmVzcG9uc2UiABJiCg9HZXRBdXRob3JpemVVcmwSJS5tZ210LnYxYWxwaGExLkdldEF1dGhvcml6ZVVybFJlcXVlc3QaJi5tZ210LnYxYWxwaGExLkdldEF1dGhvcml6ZVVybFJlc3BvbnNlIgASXAoNR2V0QXV0aFN0YXR1cxIjLm1nbXQudjFhbHBoYTEuR2V0QXV0aFN0YXR1c1JlcXVlc3QaJC5tZ210LnYxYWxwaGExLkdldEF1dGhTdGF0dXNSZXNwb25zZSIAQsUBChFjb20ubWdtdC52MWFscGhhMUIJQXV0aFByb3RvUAFaUGdpdGh1Yi5jb20vbnVjbGV1c2Nsb3VkL25lb3N5bmMvYmFja2VuZC9nZW4vZ28vcHJvdG9zL21nbXQvdjFhbHBoYTE7bWdtdHYxYWxwaGExogIDTVhYqgINTWdtdC5WMWFscGhhMcoCDU1nbXRcVjFhbHBoYTHiAhlNZ210XFYxYWxwaGExXEdQQk1ldGFkYXRh6gIOTWdtdDo6VjFhbHBoYTFiBnByb3RvMw", [file_buf_validate_validate]); + fileDesc("ChhtZ210L3YxYWxwaGExL2F1dGgucHJvdG8SDW1nbXQudjFhbHBoYTEiRwoPTG9naW5DbGlSZXF1ZXN0EhUKBGNvZGUYASABKAlCB7pIBHICEAESHQoMcmVkaXJlY3RfdXJpGAIgASgJQge6SARyAhABIkQKEExvZ2luQ2xpUmVzcG9uc2USMAoMYWNjZXNzX3Rva2VuGAEgASgLMhoubWdtdC52MWFscGhhMS5BY2Nlc3NUb2tlbiIWChRHZXRBdXRoU3RhdHVzUmVxdWVzdCIrChVHZXRBdXRoU3RhdHVzUmVzcG9uc2USEgoKaXNfZW5hYmxlZBgBIAEoCCKsAQoLQWNjZXNzVG9rZW4SFAoMYWNjZXNzX3Rva2VuGAEgASgJEhoKDXJlZnJlc2hfdG9rZW4YAiABKAlIAIgBARISCgpleHBpcmVzX2luGAMgASgDEg0KBXNjb3BlGAQgASgJEhUKCGlkX3Rva2VuGAUgASgJSAGIAQESEgoKdG9rZW5fdHlwZRgGIAEoCUIQCg5fcmVmcmVzaF90b2tlbkILCglfaWRfdG9rZW4iZwoWR2V0QXV0aG9yaXplVXJsUmVxdWVzdBIWCgVzdGF0ZRgBIAEoCUIHukgEcgIQARIdCgxyZWRpcmVjdF91cmkYAiABKAlCB7pIBHICEAESFgoFc2NvcGUYAyABKAlCB7pIBHICEAEiJgoXR2V0QXV0aG9yaXplVXJsUmVzcG9uc2USCwoDdXJsGAEgASgJIjMKEVJlZnJlc2hDbGlSZXF1ZXN0Eh4KDXJlZnJlc2hfdG9rZW4YASABKAlCB7pIBHICEAEiRgoSUmVmcmVzaENsaVJlc3BvbnNlEjAKDGFjY2Vzc190b2tlbhgBIAEoCzIaLm1nbXQudjFhbHBoYTEuQWNjZXNzVG9rZW4iEwoRQ2hlY2tUb2tlblJlcXVlc3QiFAoSQ2hlY2tUb2tlblJlc3BvbnNlMs4DCgtBdXRoU2VydmljZRJNCghMb2dpbkNsaRIeLm1nbXQudjFhbHBoYTEuTG9naW5DbGlSZXF1ZXN0Gh8ubWdtdC52MWFscGhhMS5Mb2dpbkNsaVJlc3BvbnNlIgASUwoKUmVmcmVzaENsaRIgLm1nbXQudjFhbHBoYTEuUmVmcmVzaENsaVJlcXVlc3QaIS5tZ210LnYxYWxwaGExLlJlZnJlc2hDbGlSZXNwb25zZSIAElMKCkNoZWNrVG9rZW4SIC5tZ210LnYxYWxwaGExLkNoZWNrVG9rZW5SZXF1ZXN0GiEubWdtdC52MWFscGhhMS5DaGVja1Rva2VuUmVzcG9uc2UiABJlCg9HZXRBdXRob3JpemVVcmwSJS5tZ210LnYxYWxwaGExLkdldEF1dGhvcml6ZVVybFJlcXVlc3QaJi5tZ210LnYxYWxwaGExLkdldEF1dGhvcml6ZVVybFJlc3BvbnNlIgOQAgESXwoNR2V0QXV0aFN0YXR1cxIjLm1nbXQudjFhbHBoYTEuR2V0QXV0aFN0YXR1c1JlcXVlc3QaJC5tZ210LnYxYWxwaGExLkdldEF1dGhTdGF0dXNSZXNwb25zZSIDkAIBQsUBChFjb20ubWdtdC52MWFscGhhMUIJQXV0aFByb3RvUAFaUGdpdGh1Yi5jb20vbnVjbGV1c2Nsb3VkL25lb3N5bmMvYmFja2VuZC9nZW4vZ28vcHJvdG9zL21nbXQvdjFhbHBoYTE7bWdtdHYxYWxwaGExogIDTVhYqgINTWdtdC5WMWFscGhhMcoCDU1nbXRcVjFhbHBoYTHiAhlNZ210XFYxYWxwaGExXEdQQk1ldGFkYXRh6gIOTWdtdDo6VjFhbHBoYTFiBnByb3RvMw", [file_buf_validate_validate]); /** * @generated from message mgmt.v1alpha1.LoginCliRequest diff --git a/frontend/packages/sdk/src/client/mgmt/v1alpha1/connection_data_pb.ts b/frontend/packages/sdk/src/client/mgmt/v1alpha1/connection_data_pb.ts index bf894b2221..3fc9e7bfbd 100644 --- a/frontend/packages/sdk/src/client/mgmt/v1alpha1/connection_data_pb.ts +++ b/frontend/packages/sdk/src/client/mgmt/v1alpha1/connection_data_pb.ts @@ -12,7 +12,7 @@ import type { JsonObject, Message } from "@bufbuild/protobuf"; * Describes the file mgmt/v1alpha1/connection_data.proto. */ export const file_mgmt_v1alpha1_connection_data: GenFile = /*@__PURE__*/ - fileDesc("CiNtZ210L3YxYWxwaGExL2Nvbm5lY3Rpb25fZGF0YS5wcm90bxINbWdtdC52MWFscGhhMSIWChRQb3N0Z3Jlc1N0cmVhbUNvbmZpZyITChFNeXNxbFN0cmVhbUNvbmZpZyIZChdBd3NEeW5hbW9EQlN0cmVhbUNvbmZpZyJUChFBd3NTM1N0cmVhbUNvbmZpZxIaCgZqb2JfaWQYASABKAlCCLpIBXIDsAEBSAASHQoKam9iX3J1bl9pZBgCIAEoCUIHukgEcgIQAUgAQgQKAmlkIl4KG0djcENsb3VkU3RvcmFnZVN0cmVhbUNvbmZpZxIaCgZqb2JfaWQYASABKAlCCLpIBXIDsAEBSAASHQoKam9iX3J1bl9pZBgCIAEoCUIHukgEcgIQAUgAQgQKAmlkIuoCChZDb25uZWN0aW9uU3RyZWFtQ29uZmlnEjgKCXBnX2NvbmZpZxgBIAEoCzIjLm1nbXQudjFhbHBoYTEuUG9zdGdyZXNTdHJlYW1Db25maWdIABI5Cg1hd3NfczNfY29uZmlnGAIgASgLMiAubWdtdC52MWFscGhhMS5Bd3NTM1N0cmVhbUNvbmZpZ0gAEjgKDG15c3FsX2NvbmZpZxgDIAEoCzIgLm1nbXQudjFhbHBoYTEuTXlzcWxTdHJlYW1Db25maWdIABJNChdnY3BfY2xvdWRzdG9yYWdlX2NvbmZpZxgEIAEoCzIqLm1nbXQudjFhbHBoYTEuR2NwQ2xvdWRTdG9yYWdlU3RyZWFtQ29uZmlnSAASQQoPZHluYW1vZGJfY29uZmlnGAUgASgLMiYubWdtdC52MWFscGhhMS5Bd3NEeW5hbW9EQlN0cmVhbUNvbmZpZ0gAQg8KBmNvbmZpZxIFukgCCAEingEKHkdldENvbm5lY3Rpb25EYXRhU3RyZWFtUmVxdWVzdBIfCg1jb25uZWN0aW9uX2lkGAEgASgJQgi6SAVyA7ABARI8Cg1zdHJlYW1fY29uZmlnGAIgASgLMiUubWdtdC52MWFscGhhMS5Db25uZWN0aW9uU3RyZWFtQ29uZmlnEg4KBnNjaGVtYRgDIAEoCRINCgV0YWJsZRgEIAEoCSI6Ch9HZXRDb25uZWN0aW9uRGF0YVN0cmVhbVJlc3BvbnNlEhEKCXJvd19ieXRlcxgCIAEoDEoECAEQAiIWChRQb3N0Z3Jlc1NjaGVtYUNvbmZpZyITChFNeXNxbFNjaGVtYUNvbmZpZyITChFNc3NxbFNjaGVtYUNvbmZpZyJUChFBd3NTM1NjaGVtYUNvbmZpZxIaCgZqb2JfaWQYASABKAlCCLpIBXIDsAEBSAASHQoKam9iX3J1bl9pZBgCIAEoCUIHukgEcgIQAUgAQgQKAmlkIhMKEU1vbmdvU2NoZW1hQ29uZmlnIhYKFER5bmFtb0RCU2NoZW1hQ29uZmlnIl4KG0djcENsb3VkU3RvcmFnZVNjaGVtYUNvbmZpZxIaCgZqb2JfaWQYASABKAlCCLpIBXIDsAEBSAASHQoKam9iX3J1bl9pZBgCIAEoCUIHukgEcgIQAUgAQgQKAmlkItsDChZDb25uZWN0aW9uU2NoZW1hQ29uZmlnEjgKCXBnX2NvbmZpZxgBIAEoCzIjLm1nbXQudjFhbHBoYTEuUG9zdGdyZXNTY2hlbWFDb25maWdIABI5Cg1hd3NfczNfY29uZmlnGAIgASgLMiAubWdtdC52MWFscGhhMS5Bd3NTM1NjaGVtYUNvbmZpZ0gAEjgKDG15c3FsX2NvbmZpZxgDIAEoCzIgLm1nbXQudjFhbHBoYTEuTXlzcWxTY2hlbWFDb25maWdIABI4Cgxtb25nb19jb25maWcYBCABKAsyIC5tZ210LnYxYWxwaGExLk1vbmdvU2NoZW1hQ29uZmlnSAASTQoXZ2NwX2Nsb3Vkc3RvcmFnZV9jb25maWcYBSABKAsyKi5tZ210LnYxYWxwaGExLkdjcENsb3VkU3RvcmFnZVNjaGVtYUNvbmZpZ0gAEj4KD2R5bmFtb2RiX2NvbmZpZxgGIAEoCzIjLm1nbXQudjFhbHBoYTEuRHluYW1vREJTY2hlbWFDb25maWdIABI4Cgxtc3NxbF9jb25maWcYByABKAsyIC5tZ210LnYxYWxwaGExLk1zc3FsU2NoZW1hQ29uZmlnSABCDwoGY29uZmlnEgW6SAIIASKBAgoORGF0YWJhc2VDb2x1bW4SDgoGc2NoZW1hGAEgASgJEg0KBXRhYmxlGAIgASgJEg4KBmNvbHVtbhgDIAEoCRIRCglkYXRhX3R5cGUYBCABKAkSEwoLaXNfbnVsbGFibGUYBSABKAkSGwoOY29sdW1uX2RlZmF1bHQYBiABKAlIAIgBARIbCg5nZW5lcmF0ZWRfdHlwZRgHIAEoCUgBiAEBEiAKE2lkZW50aXR5X2dlbmVyYXRpb24YCCABKAlIAogBAUIRCg9fY29sdW1uX2RlZmF1bHRCEQoPX2dlbmVyYXRlZF90eXBlQhYKFF9pZGVudGl0eV9nZW5lcmF0aW9uInsKGkdldENvbm5lY3Rpb25TY2hlbWFSZXF1ZXN0Eh8KDWNvbm5lY3Rpb25faWQYASABKAlCCLpIBXIDsAEBEjwKDXNjaGVtYV9jb25maWcYAiABKAsyJS5tZ210LnYxYWxwaGExLkNvbm5lY3Rpb25TY2hlbWFDb25maWciTQobR2V0Q29ubmVjdGlvblNjaGVtYVJlc3BvbnNlEi4KB3NjaGVtYXMYASADKAsyHS5tZ210LnYxYWxwaGExLkRhdGFiYXNlQ29sdW1uIn4KHUdldENvbm5lY3Rpb25TY2hlbWFNYXBSZXF1ZXN0Eh8KDWNvbm5lY3Rpb25faWQYASABKAlCCLpIBXIDsAEBEjwKDXNjaGVtYV9jb25maWcYAiABKAsyJS5tZ210LnYxYWxwaGExLkNvbm5lY3Rpb25TY2hlbWFDb25maWci0AEKHkdldENvbm5lY3Rpb25TY2hlbWFNYXBSZXNwb25zZRJQCgpzY2hlbWFfbWFwGAEgAygLMjwubWdtdC52MWFscGhhMS5HZXRDb25uZWN0aW9uU2NoZW1hTWFwUmVzcG9uc2UuU2NoZW1hTWFwRW50cnkaXAoOU2NoZW1hTWFwRW50cnkSCwoDa2V5GAEgASgJEjkKBXZhbHVlGAIgASgLMioubWdtdC52MWFscGhhMS5HZXRDb25uZWN0aW9uU2NoZW1hUmVzcG9uc2U6AjgBImAKHkdldENvbm5lY3Rpb25TY2hlbWFNYXBzUmVxdWVzdBI+CghyZXF1ZXN0cxgBIAMoCzIsLm1nbXQudjFhbHBoYTEuR2V0Q29ubmVjdGlvblNjaGVtYU1hcFJlcXVlc3QiewofR2V0Q29ubmVjdGlvblNjaGVtYU1hcHNSZXNwb25zZRJACglyZXNwb25zZXMYASADKAsyLS5tZ210LnYxYWxwaGExLkdldENvbm5lY3Rpb25TY2hlbWFNYXBSZXNwb25zZRIWCg5jb25uZWN0aW9uX2lkcxgCIAMoCSIyCgpGb3JlaWduS2V5Eg0KBXRhYmxlGAEgASgJEg8KB2NvbHVtbnMYAyADKAlKBAgCEAMidgoRRm9yZWlnbkNvbnN0cmFpbnQSLgoLZm9yZWlnbl9rZXkYAyABKAsyGS5tZ210LnYxYWxwaGExLkZvcmVpZ25LZXkSDwoHY29sdW1ucxgEIAMoCRIUCgxub3RfbnVsbGFibGUYBSADKAhKBAgBEAJKBAgCEAMiUAoXRm9yZWlnbkNvbnN0cmFpbnRUYWJsZXMSNQoLY29uc3RyYWludHMYASADKAsyIC5tZ210LnYxYWxwaGExLkZvcmVpZ25Db25zdHJhaW50ImUKFEluaXRTdGF0ZW1lbnRPcHRpb25zEhMKC2luaXRfc2NoZW1hGAEgASgIEh4KFnRydW5jYXRlX2JlZm9yZV9pbnNlcnQYAiABKAgSGAoQdHJ1bmNhdGVfY2FzY2FkZRgDIAEoCCJ7CiJHZXRDb25uZWN0aW9uSW5pdFN0YXRlbWVudHNSZXF1ZXN0Eh8KDWNvbm5lY3Rpb25faWQYASABKAlCCLpIBXIDsAEBEjQKB29wdGlvbnMYAiABKAsyIy5tZ210LnYxYWxwaGExLkluaXRTdGF0ZW1lbnRPcHRpb25zIjkKFFNjaGVtYUluaXRTdGF0ZW1lbnRzEg0KBWxhYmVsGAEgASgJEhIKCnN0YXRlbWVudHMYAiADKAkixgMKI0dldENvbm5lY3Rpb25Jbml0U3RhdGVtZW50c1Jlc3BvbnNlEmoKFXRhYmxlX2luaXRfc3RhdGVtZW50cxgBIAMoCzJLLm1nbXQudjFhbHBoYTEuR2V0Q29ubmVjdGlvbkluaXRTdGF0ZW1lbnRzUmVzcG9uc2UuVGFibGVJbml0U3RhdGVtZW50c0VudHJ5EnIKGXRhYmxlX3RydW5jYXRlX3N0YXRlbWVudHMYAiADKAsyTy5tZ210LnYxYWxwaGExLkdldENvbm5lY3Rpb25Jbml0U3RhdGVtZW50c1Jlc3BvbnNlLlRhYmxlVHJ1bmNhdGVTdGF0ZW1lbnRzRW50cnkSQwoWc2NoZW1hX2luaXRfc3RhdGVtZW50cxgDIAMoCzIjLm1nbXQudjFhbHBoYTEuU2NoZW1hSW5pdFN0YXRlbWVudHMaOgoYVGFibGVJbml0U3RhdGVtZW50c0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaPgocVGFibGVUcnVuY2F0ZVN0YXRlbWVudHNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIiQKEVByaW1hcnlDb25zdHJhaW50Eg8KB2NvbHVtbnMYASADKAkiIwoQVW5pcXVlQ29uc3RyYWludBIPCgdjb2x1bW5zGAEgAygJIvMBChlHZXRBaUdlbmVyYXRlZERhdGFSZXF1ZXN0EiIKEGFpX2Nvbm5lY3Rpb25faWQYASABKAlCCLpIBXIDsAEBEhgKBWNvdW50GAIgASgDQgm6SAYiBBgKKAESGwoKbW9kZWxfbmFtZRgDIAEoCUIHukgEcgIQARIYCgt1c2VyX3Byb21wdBgEIAEoCUgAiAEBEiQKEmRhdGFfY29ubmVjdGlvbl9pZBgFIAEoCUIIukgFcgOwAQESKwoFdGFibGUYBiABKAsyHC5tZ210LnYxYWxwaGExLkRhdGFiYXNlVGFibGVCDgoMX3VzZXJfcHJvbXB0IkAKDURhdGFiYXNlVGFibGUSFwoGc2NoZW1hGAEgASgJQge6SARyAhABEhYKBXRhYmxlGAIgASgJQge6SARyAhABIkYKGkdldEFpR2VuZXJhdGVkRGF0YVJlc3BvbnNlEigKB3JlY29yZHMYASADKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IkcKJEdldENvbm5lY3Rpb25UYWJsZUNvbnN0cmFpbnRzUmVxdWVzdBIfCg1jb25uZWN0aW9uX2lkGAEgASgJQgi6SAVyA7ABASJJChFVbmlxdWVDb25zdHJhaW50cxI0Cgtjb25zdHJhaW50cxgBIAMoCzIfLm1nbXQudjFhbHBoYTEuVW5pcXVlQ29uc3RyYWludCKWBQolR2V0Q29ubmVjdGlvblRhYmxlQ29uc3RyYWludHNSZXNwb25zZRJwChdmb3JlaWduX2tleV9jb25zdHJhaW50cxgBIAMoCzJPLm1nbXQudjFhbHBoYTEuR2V0Q29ubmVjdGlvblRhYmxlQ29uc3RyYWludHNSZXNwb25zZS5Gb3JlaWduS2V5Q29uc3RyYWludHNFbnRyeRJwChdwcmltYXJ5X2tleV9jb25zdHJhaW50cxgCIAMoCzJPLm1nbXQudjFhbHBoYTEuR2V0Q29ubmVjdGlvblRhYmxlQ29uc3RyYWludHNSZXNwb25zZS5QcmltYXJ5S2V5Q29uc3RyYWludHNFbnRyeRJnChJ1bmlxdWVfY29uc3RyYWludHMYAyADKAsySy5tZ210LnYxYWxwaGExLkdldENvbm5lY3Rpb25UYWJsZUNvbnN0cmFpbnRzUmVzcG9uc2UuVW5pcXVlQ29uc3RyYWludHNFbnRyeRpkChpGb3JlaWduS2V5Q29uc3RyYWludHNFbnRyeRILCgNrZXkYASABKAkSNQoFdmFsdWUYAiABKAsyJi5tZ210LnYxYWxwaGExLkZvcmVpZ25Db25zdHJhaW50VGFibGVzOgI4ARpeChpQcmltYXJ5S2V5Q29uc3RyYWludHNFbnRyeRILCgNrZXkYASABKAkSLwoFdmFsdWUYAiABKAsyIC5tZ210LnYxYWxwaGExLlByaW1hcnlDb25zdHJhaW50OgI4ARpaChZVbmlxdWVDb25zdHJhaW50c0VudHJ5EgsKA2tleRgBIAEoCRIvCgV2YWx1ZRgCIAEoCzIgLm1nbXQudjFhbHBoYTEuVW5pcXVlQ29uc3RyYWludHM6AjgBInsKF0dldFRhYmxlUm93Q291bnRSZXF1ZXN0EhUKDWNvbm5lY3Rpb25faWQYASABKAkSDgoGc2NoZW1hGAIgASgJEg0KBXRhYmxlGAMgASgJEhkKDHdoZXJlX2NsYXVzZRgEIAEoCUgAiAEBQg8KDV93aGVyZV9jbGF1c2UiKQoYR2V0VGFibGVSb3dDb3VudFJlc3BvbnNlEg0KBWNvdW50GAEgASgDMuYHChVDb25uZWN0aW9uRGF0YVNlcnZpY2USfAoXR2V0Q29ubmVjdGlvbkRhdGFTdHJlYW0SLS5tZ210LnYxYWxwaGExLkdldENvbm5lY3Rpb25EYXRhU3RyZWFtUmVxdWVzdBouLm1nbXQudjFhbHBoYTEuR2V0Q29ubmVjdGlvbkRhdGFTdHJlYW1SZXNwb25zZSIAMAESbgoTR2V0Q29ubmVjdGlvblNjaGVtYRIpLm1nbXQudjFhbHBoYTEuR2V0Q29ubmVjdGlvblNjaGVtYVJlcXVlc3QaKi5tZ210LnYxYWxwaGExLkdldENvbm5lY3Rpb25TY2hlbWFSZXNwb25zZSIAEncKFkdldENvbm5lY3Rpb25TY2hlbWFNYXASLC5tZ210LnYxYWxwaGExLkdldENvbm5lY3Rpb25TY2hlbWFNYXBSZXF1ZXN0Gi0ubWdtdC52MWFscGhhMS5HZXRDb25uZWN0aW9uU2NoZW1hTWFwUmVzcG9uc2UiABJ6ChdHZXRDb25uZWN0aW9uU2NoZW1hTWFwcxItLm1nbXQudjFhbHBoYTEuR2V0Q29ubmVjdGlvblNjaGVtYU1hcHNSZXF1ZXN0Gi4ubWdtdC52MWFscGhhMS5HZXRDb25uZWN0aW9uU2NoZW1hTWFwc1Jlc3BvbnNlIgASjAEKHUdldENvbm5lY3Rpb25UYWJsZUNvbnN0cmFpbnRzEjMubWdtdC52MWFscGhhMS5HZXRDb25uZWN0aW9uVGFibGVDb25zdHJhaW50c1JlcXVlc3QaNC5tZ210LnYxYWxwaGExLkdldENvbm5lY3Rpb25UYWJsZUNvbnN0cmFpbnRzUmVzcG9uc2UiABKGAQobR2V0Q29ubmVjdGlvbkluaXRTdGF0ZW1lbnRzEjEubWdtdC52MWFscGhhMS5HZXRDb25uZWN0aW9uSW5pdFN0YXRlbWVudHNSZXF1ZXN0GjIubWdtdC52MWFscGhhMS5HZXRDb25uZWN0aW9uSW5pdFN0YXRlbWVudHNSZXNwb25zZSIAEmsKEkdldEFpR2VuZXJhdGVkRGF0YRIoLm1nbXQudjFhbHBoYTEuR2V0QWlHZW5lcmF0ZWREYXRhUmVxdWVzdBopLm1nbXQudjFhbHBoYTEuR2V0QWlHZW5lcmF0ZWREYXRhUmVzcG9uc2UiABJlChBHZXRUYWJsZVJvd0NvdW50EiYubWdtdC52MWFscGhhMS5HZXRUYWJsZVJvd0NvdW50UmVxdWVzdBonLm1nbXQudjFhbHBoYTEuR2V0VGFibGVSb3dDb3VudFJlc3BvbnNlIgBCzwEKEWNvbS5tZ210LnYxYWxwaGExQhNDb25uZWN0aW9uRGF0YVByb3RvUAFaUGdpdGh1Yi5jb20vbnVjbGV1c2Nsb3VkL25lb3N5bmMvYmFja2VuZC9nZW4vZ28vcHJvdG9zL21nbXQvdjFhbHBoYTE7bWdtdHYxYWxwaGExogIDTVhYqgINTWdtdC5WMWFscGhhMcoCDU1nbXRcVjFhbHBoYTHiAhlNZ210XFYxYWxwaGExXEdQQk1ldGFkYXRh6gIOTWdtdDo6VjFhbHBoYTFiBnByb3RvMw", [file_buf_validate_validate, file_google_protobuf_struct]); + fileDesc("CiNtZ210L3YxYWxwaGExL2Nvbm5lY3Rpb25fZGF0YS5wcm90bxINbWdtdC52MWFscGhhMSIWChRQb3N0Z3Jlc1N0cmVhbUNvbmZpZyITChFNeXNxbFN0cmVhbUNvbmZpZyIZChdBd3NEeW5hbW9EQlN0cmVhbUNvbmZpZyJUChFBd3NTM1N0cmVhbUNvbmZpZxIaCgZqb2JfaWQYASABKAlCCLpIBXIDsAEBSAASHQoKam9iX3J1bl9pZBgCIAEoCUIHukgEcgIQAUgAQgQKAmlkIl4KG0djcENsb3VkU3RvcmFnZVN0cmVhbUNvbmZpZxIaCgZqb2JfaWQYASABKAlCCLpIBXIDsAEBSAASHQoKam9iX3J1bl9pZBgCIAEoCUIHukgEcgIQAUgAQgQKAmlkIuoCChZDb25uZWN0aW9uU3RyZWFtQ29uZmlnEjgKCXBnX2NvbmZpZxgBIAEoCzIjLm1nbXQudjFhbHBoYTEuUG9zdGdyZXNTdHJlYW1Db25maWdIABI5Cg1hd3NfczNfY29uZmlnGAIgASgLMiAubWdtdC52MWFscGhhMS5Bd3NTM1N0cmVhbUNvbmZpZ0gAEjgKDG15c3FsX2NvbmZpZxgDIAEoCzIgLm1nbXQudjFhbHBoYTEuTXlzcWxTdHJlYW1Db25maWdIABJNChdnY3BfY2xvdWRzdG9yYWdlX2NvbmZpZxgEIAEoCzIqLm1nbXQudjFhbHBoYTEuR2NwQ2xvdWRTdG9yYWdlU3RyZWFtQ29uZmlnSAASQQoPZHluYW1vZGJfY29uZmlnGAUgASgLMiYubWdtdC52MWFscGhhMS5Bd3NEeW5hbW9EQlN0cmVhbUNvbmZpZ0gAQg8KBmNvbmZpZxIFukgCCAEingEKHkdldENvbm5lY3Rpb25EYXRhU3RyZWFtUmVxdWVzdBIfCg1jb25uZWN0aW9uX2lkGAEgASgJQgi6SAVyA7ABARI8Cg1zdHJlYW1fY29uZmlnGAIgASgLMiUubWdtdC52MWFscGhhMS5Db25uZWN0aW9uU3RyZWFtQ29uZmlnEg4KBnNjaGVtYRgDIAEoCRINCgV0YWJsZRgEIAEoCSI6Ch9HZXRDb25uZWN0aW9uRGF0YVN0cmVhbVJlc3BvbnNlEhEKCXJvd19ieXRlcxgCIAEoDEoECAEQAiIWChRQb3N0Z3Jlc1NjaGVtYUNvbmZpZyITChFNeXNxbFNjaGVtYUNvbmZpZyITChFNc3NxbFNjaGVtYUNvbmZpZyJUChFBd3NTM1NjaGVtYUNvbmZpZxIaCgZqb2JfaWQYASABKAlCCLpIBXIDsAEBSAASHQoKam9iX3J1bl9pZBgCIAEoCUIHukgEcgIQAUgAQgQKAmlkIhMKEU1vbmdvU2NoZW1hQ29uZmlnIhYKFER5bmFtb0RCU2NoZW1hQ29uZmlnIl4KG0djcENsb3VkU3RvcmFnZVNjaGVtYUNvbmZpZxIaCgZqb2JfaWQYASABKAlCCLpIBXIDsAEBSAASHQoKam9iX3J1bl9pZBgCIAEoCUIHukgEcgIQAUgAQgQKAmlkItsDChZDb25uZWN0aW9uU2NoZW1hQ29uZmlnEjgKCXBnX2NvbmZpZxgBIAEoCzIjLm1nbXQudjFhbHBoYTEuUG9zdGdyZXNTY2hlbWFDb25maWdIABI5Cg1hd3NfczNfY29uZmlnGAIgASgLMiAubWdtdC52MWFscGhhMS5Bd3NTM1NjaGVtYUNvbmZpZ0gAEjgKDG15c3FsX2NvbmZpZxgDIAEoCzIgLm1nbXQudjFhbHBoYTEuTXlzcWxTY2hlbWFDb25maWdIABI4Cgxtb25nb19jb25maWcYBCABKAsyIC5tZ210LnYxYWxwaGExLk1vbmdvU2NoZW1hQ29uZmlnSAASTQoXZ2NwX2Nsb3Vkc3RvcmFnZV9jb25maWcYBSABKAsyKi5tZ210LnYxYWxwaGExLkdjcENsb3VkU3RvcmFnZVNjaGVtYUNvbmZpZ0gAEj4KD2R5bmFtb2RiX2NvbmZpZxgGIAEoCzIjLm1nbXQudjFhbHBoYTEuRHluYW1vREJTY2hlbWFDb25maWdIABI4Cgxtc3NxbF9jb25maWcYByABKAsyIC5tZ210LnYxYWxwaGExLk1zc3FsU2NoZW1hQ29uZmlnSABCDwoGY29uZmlnEgW6SAIIASKBAgoORGF0YWJhc2VDb2x1bW4SDgoGc2NoZW1hGAEgASgJEg0KBXRhYmxlGAIgASgJEg4KBmNvbHVtbhgDIAEoCRIRCglkYXRhX3R5cGUYBCABKAkSEwoLaXNfbnVsbGFibGUYBSABKAkSGwoOY29sdW1uX2RlZmF1bHQYBiABKAlIAIgBARIbCg5nZW5lcmF0ZWRfdHlwZRgHIAEoCUgBiAEBEiAKE2lkZW50aXR5X2dlbmVyYXRpb24YCCABKAlIAogBAUIRCg9fY29sdW1uX2RlZmF1bHRCEQoPX2dlbmVyYXRlZF90eXBlQhYKFF9pZGVudGl0eV9nZW5lcmF0aW9uInsKGkdldENvbm5lY3Rpb25TY2hlbWFSZXF1ZXN0Eh8KDWNvbm5lY3Rpb25faWQYASABKAlCCLpIBXIDsAEBEjwKDXNjaGVtYV9jb25maWcYAiABKAsyJS5tZ210LnYxYWxwaGExLkNvbm5lY3Rpb25TY2hlbWFDb25maWciTQobR2V0Q29ubmVjdGlvblNjaGVtYVJlc3BvbnNlEi4KB3NjaGVtYXMYASADKAsyHS5tZ210LnYxYWxwaGExLkRhdGFiYXNlQ29sdW1uIn4KHUdldENvbm5lY3Rpb25TY2hlbWFNYXBSZXF1ZXN0Eh8KDWNvbm5lY3Rpb25faWQYASABKAlCCLpIBXIDsAEBEjwKDXNjaGVtYV9jb25maWcYAiABKAsyJS5tZ210LnYxYWxwaGExLkNvbm5lY3Rpb25TY2hlbWFDb25maWci0AEKHkdldENvbm5lY3Rpb25TY2hlbWFNYXBSZXNwb25zZRJQCgpzY2hlbWFfbWFwGAEgAygLMjwubWdtdC52MWFscGhhMS5HZXRDb25uZWN0aW9uU2NoZW1hTWFwUmVzcG9uc2UuU2NoZW1hTWFwRW50cnkaXAoOU2NoZW1hTWFwRW50cnkSCwoDa2V5GAEgASgJEjkKBXZhbHVlGAIgASgLMioubWdtdC52MWFscGhhMS5HZXRDb25uZWN0aW9uU2NoZW1hUmVzcG9uc2U6AjgBImAKHkdldENvbm5lY3Rpb25TY2hlbWFNYXBzUmVxdWVzdBI+CghyZXF1ZXN0cxgBIAMoCzIsLm1nbXQudjFhbHBoYTEuR2V0Q29ubmVjdGlvblNjaGVtYU1hcFJlcXVlc3QiewofR2V0Q29ubmVjdGlvblNjaGVtYU1hcHNSZXNwb25zZRJACglyZXNwb25zZXMYASADKAsyLS5tZ210LnYxYWxwaGExLkdldENvbm5lY3Rpb25TY2hlbWFNYXBSZXNwb25zZRIWCg5jb25uZWN0aW9uX2lkcxgCIAMoCSIyCgpGb3JlaWduS2V5Eg0KBXRhYmxlGAEgASgJEg8KB2NvbHVtbnMYAyADKAlKBAgCEAMidgoRRm9yZWlnbkNvbnN0cmFpbnQSLgoLZm9yZWlnbl9rZXkYAyABKAsyGS5tZ210LnYxYWxwaGExLkZvcmVpZ25LZXkSDwoHY29sdW1ucxgEIAMoCRIUCgxub3RfbnVsbGFibGUYBSADKAhKBAgBEAJKBAgCEAMiUAoXRm9yZWlnbkNvbnN0cmFpbnRUYWJsZXMSNQoLY29uc3RyYWludHMYASADKAsyIC5tZ210LnYxYWxwaGExLkZvcmVpZ25Db25zdHJhaW50ImUKFEluaXRTdGF0ZW1lbnRPcHRpb25zEhMKC2luaXRfc2NoZW1hGAEgASgIEh4KFnRydW5jYXRlX2JlZm9yZV9pbnNlcnQYAiABKAgSGAoQdHJ1bmNhdGVfY2FzY2FkZRgDIAEoCCJ7CiJHZXRDb25uZWN0aW9uSW5pdFN0YXRlbWVudHNSZXF1ZXN0Eh8KDWNvbm5lY3Rpb25faWQYASABKAlCCLpIBXIDsAEBEjQKB29wdGlvbnMYAiABKAsyIy5tZ210LnYxYWxwaGExLkluaXRTdGF0ZW1lbnRPcHRpb25zIjkKFFNjaGVtYUluaXRTdGF0ZW1lbnRzEg0KBWxhYmVsGAEgASgJEhIKCnN0YXRlbWVudHMYAiADKAkixgMKI0dldENvbm5lY3Rpb25Jbml0U3RhdGVtZW50c1Jlc3BvbnNlEmoKFXRhYmxlX2luaXRfc3RhdGVtZW50cxgBIAMoCzJLLm1nbXQudjFhbHBoYTEuR2V0Q29ubmVjdGlvbkluaXRTdGF0ZW1lbnRzUmVzcG9uc2UuVGFibGVJbml0U3RhdGVtZW50c0VudHJ5EnIKGXRhYmxlX3RydW5jYXRlX3N0YXRlbWVudHMYAiADKAsyTy5tZ210LnYxYWxwaGExLkdldENvbm5lY3Rpb25Jbml0U3RhdGVtZW50c1Jlc3BvbnNlLlRhYmxlVHJ1bmNhdGVTdGF0ZW1lbnRzRW50cnkSQwoWc2NoZW1hX2luaXRfc3RhdGVtZW50cxgDIAMoCzIjLm1nbXQudjFhbHBoYTEuU2NoZW1hSW5pdFN0YXRlbWVudHMaOgoYVGFibGVJbml0U3RhdGVtZW50c0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaPgocVGFibGVUcnVuY2F0ZVN0YXRlbWVudHNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIiQKEVByaW1hcnlDb25zdHJhaW50Eg8KB2NvbHVtbnMYASADKAkiIwoQVW5pcXVlQ29uc3RyYWludBIPCgdjb2x1bW5zGAEgAygJIvMBChlHZXRBaUdlbmVyYXRlZERhdGFSZXF1ZXN0EiIKEGFpX2Nvbm5lY3Rpb25faWQYASABKAlCCLpIBXIDsAEBEhgKBWNvdW50GAIgASgDQgm6SAYiBBgKKAESGwoKbW9kZWxfbmFtZRgDIAEoCUIHukgEcgIQARIYCgt1c2VyX3Byb21wdBgEIAEoCUgAiAEBEiQKEmRhdGFfY29ubmVjdGlvbl9pZBgFIAEoCUIIukgFcgOwAQESKwoFdGFibGUYBiABKAsyHC5tZ210LnYxYWxwaGExLkRhdGFiYXNlVGFibGVCDgoMX3VzZXJfcHJvbXB0IkAKDURhdGFiYXNlVGFibGUSFwoGc2NoZW1hGAEgASgJQge6SARyAhABEhYKBXRhYmxlGAIgASgJQge6SARyAhABIkYKGkdldEFpR2VuZXJhdGVkRGF0YVJlc3BvbnNlEigKB3JlY29yZHMYASADKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IkcKJEdldENvbm5lY3Rpb25UYWJsZUNvbnN0cmFpbnRzUmVxdWVzdBIfCg1jb25uZWN0aW9uX2lkGAEgASgJQgi6SAVyA7ABASJJChFVbmlxdWVDb25zdHJhaW50cxI0Cgtjb25zdHJhaW50cxgBIAMoCzIfLm1nbXQudjFhbHBoYTEuVW5pcXVlQ29uc3RyYWludCKWBQolR2V0Q29ubmVjdGlvblRhYmxlQ29uc3RyYWludHNSZXNwb25zZRJwChdmb3JlaWduX2tleV9jb25zdHJhaW50cxgBIAMoCzJPLm1nbXQudjFhbHBoYTEuR2V0Q29ubmVjdGlvblRhYmxlQ29uc3RyYWludHNSZXNwb25zZS5Gb3JlaWduS2V5Q29uc3RyYWludHNFbnRyeRJwChdwcmltYXJ5X2tleV9jb25zdHJhaW50cxgCIAMoCzJPLm1nbXQudjFhbHBoYTEuR2V0Q29ubmVjdGlvblRhYmxlQ29uc3RyYWludHNSZXNwb25zZS5QcmltYXJ5S2V5Q29uc3RyYWludHNFbnRyeRJnChJ1bmlxdWVfY29uc3RyYWludHMYAyADKAsySy5tZ210LnYxYWxwaGExLkdldENvbm5lY3Rpb25UYWJsZUNvbnN0cmFpbnRzUmVzcG9uc2UuVW5pcXVlQ29uc3RyYWludHNFbnRyeRpkChpGb3JlaWduS2V5Q29uc3RyYWludHNFbnRyeRILCgNrZXkYASABKAkSNQoFdmFsdWUYAiABKAsyJi5tZ210LnYxYWxwaGExLkZvcmVpZ25Db25zdHJhaW50VGFibGVzOgI4ARpeChpQcmltYXJ5S2V5Q29uc3RyYWludHNFbnRyeRILCgNrZXkYASABKAkSLwoFdmFsdWUYAiABKAsyIC5tZ210LnYxYWxwaGExLlByaW1hcnlDb25zdHJhaW50OgI4ARpaChZVbmlxdWVDb25zdHJhaW50c0VudHJ5EgsKA2tleRgBIAEoCRIvCgV2YWx1ZRgCIAEoCzIgLm1nbXQudjFhbHBoYTEuVW5pcXVlQ29uc3RyYWludHM6AjgBIpcBChdHZXRUYWJsZVJvd0NvdW50UmVxdWVzdBIfCg1jb25uZWN0aW9uX2lkGAEgASgJQgi6SAVyA7ABARIXCgZzY2hlbWEYAiABKAlCB7pIBHICEAESFgoFdGFibGUYAyABKAlCB7pIBHICEAESGQoMd2hlcmVfY2xhdXNlGAQgASgJSACIAQFCDwoNX3doZXJlX2NsYXVzZSIpChhHZXRUYWJsZVJvd0NvdW50UmVzcG9uc2USDQoFY291bnQYASABKAMy6QcKFUNvbm5lY3Rpb25EYXRhU2VydmljZRJ8ChdHZXRDb25uZWN0aW9uRGF0YVN0cmVhbRItLm1nbXQudjFhbHBoYTEuR2V0Q29ubmVjdGlvbkRhdGFTdHJlYW1SZXF1ZXN0Gi4ubWdtdC52MWFscGhhMS5HZXRDb25uZWN0aW9uRGF0YVN0cmVhbVJlc3BvbnNlIgAwARJuChNHZXRDb25uZWN0aW9uU2NoZW1hEikubWdtdC52MWFscGhhMS5HZXRDb25uZWN0aW9uU2NoZW1hUmVxdWVzdBoqLm1nbXQudjFhbHBoYTEuR2V0Q29ubmVjdGlvblNjaGVtYVJlc3BvbnNlIgASdwoWR2V0Q29ubmVjdGlvblNjaGVtYU1hcBIsLm1nbXQudjFhbHBoYTEuR2V0Q29ubmVjdGlvblNjaGVtYU1hcFJlcXVlc3QaLS5tZ210LnYxYWxwaGExLkdldENvbm5lY3Rpb25TY2hlbWFNYXBSZXNwb25zZSIAEnoKF0dldENvbm5lY3Rpb25TY2hlbWFNYXBzEi0ubWdtdC52MWFscGhhMS5HZXRDb25uZWN0aW9uU2NoZW1hTWFwc1JlcXVlc3QaLi5tZ210LnYxYWxwaGExLkdldENvbm5lY3Rpb25TY2hlbWFNYXBzUmVzcG9uc2UiABKMAQodR2V0Q29ubmVjdGlvblRhYmxlQ29uc3RyYWludHMSMy5tZ210LnYxYWxwaGExLkdldENvbm5lY3Rpb25UYWJsZUNvbnN0cmFpbnRzUmVxdWVzdBo0Lm1nbXQudjFhbHBoYTEuR2V0Q29ubmVjdGlvblRhYmxlQ29uc3RyYWludHNSZXNwb25zZSIAEoYBChtHZXRDb25uZWN0aW9uSW5pdFN0YXRlbWVudHMSMS5tZ210LnYxYWxwaGExLkdldENvbm5lY3Rpb25Jbml0U3RhdGVtZW50c1JlcXVlc3QaMi5tZ210LnYxYWxwaGExLkdldENvbm5lY3Rpb25Jbml0U3RhdGVtZW50c1Jlc3BvbnNlIgASawoSR2V0QWlHZW5lcmF0ZWREYXRhEigubWdtdC52MWFscGhhMS5HZXRBaUdlbmVyYXRlZERhdGFSZXF1ZXN0GikubWdtdC52MWFscGhhMS5HZXRBaUdlbmVyYXRlZERhdGFSZXNwb25zZSIAEmgKEEdldFRhYmxlUm93Q291bnQSJi5tZ210LnYxYWxwaGExLkdldFRhYmxlUm93Q291bnRSZXF1ZXN0GicubWdtdC52MWFscGhhMS5HZXRUYWJsZVJvd0NvdW50UmVzcG9uc2UiA5ACAULPAQoRY29tLm1nbXQudjFhbHBoYTFCE0Nvbm5lY3Rpb25EYXRhUHJvdG9QAVpQZ2l0aHViLmNvbS9udWNsZXVzY2xvdWQvbmVvc3luYy9iYWNrZW5kL2dlbi9nby9wcm90b3MvbWdtdC92MWFscGhhMTttZ210djFhbHBoYTGiAgNNWFiqAg1NZ210LlYxYWxwaGExygINTWdtdFxWMWFscGhhMeICGU1nbXRcVjFhbHBoYTFcR1BCTWV0YWRhdGHqAg5NZ210OjpWMWFscGhhMWIGcHJvdG8z", [file_buf_validate_validate, file_google_protobuf_struct]); /** * @generated from message mgmt.v1alpha1.PostgresStreamConfig @@ -62,12 +62,16 @@ export type AwsS3StreamConfig = Message<"mgmt.v1alpha1.AwsS3StreamConfig"> & { */ id: { /** + * The unique identifier of the job to get the data stream for. + * * @generated from field: string job_id = 1; */ value: string; case: "jobId"; } | { /** + * The unique identifier of the job run to get the data stream for. + * * @generated from field: string job_run_id = 2; */ value: string; @@ -91,12 +95,16 @@ export type GcpCloudStorageStreamConfig = Message<"mgmt.v1alpha1.GcpCloudStorage */ id: { /** + * The unique identifier of the job to get the data stream for. + * * @generated from field: string job_id = 1; */ value: string; case: "jobId"; } | { /** + * The unique identifier of the job run to get the data stream for. + * * @generated from field: string job_run_id = 2; */ value: string; @@ -163,21 +171,29 @@ export const ConnectionStreamConfigSchema: GenMessage = */ export type GetConnectionDataStreamRequest = Message<"mgmt.v1alpha1.GetConnectionDataStreamRequest"> & { /** + * The unique identifier of the connection to get the data stream for. + * * @generated from field: string connection_id = 1; */ connectionId: string; /** + * The stream configuration to use for the data stream. + * * @generated from field: mgmt.v1alpha1.ConnectionStreamConfig stream_config = 2; */ streamConfig?: ConnectionStreamConfig; /** + * The schema of the table to get the data stream for. + * * @generated from field: string schema = 3; */ schema: string; /** + * The table to get the data stream for. + * * @generated from field: string table = 4; */ table: string; @@ -259,12 +275,16 @@ export type AwsS3SchemaConfig = Message<"mgmt.v1alpha1.AwsS3SchemaConfig"> & { */ id: { /** + * The unique identifier of the job to get the schema for. + * * @generated from field: string job_id = 1; */ value: string; case: "jobId"; } | { /** + * The unique identifier of the job run to get the schema for. + * * @generated from field: string job_run_id = 2; */ value: string; @@ -314,12 +334,16 @@ export type GcpCloudStorageSchemaConfig = Message<"mgmt.v1alpha1.GcpCloudStorage */ id: { /** + * The unique identifier of the job to get the schema for. + * * @generated from field: string job_id = 1; */ value: string; case: "jobId"; } | { /** + * The unique identifier of the job run to get the schema for. + * * @generated from field: string job_run_id = 2; */ value: string; @@ -467,11 +491,15 @@ export const DatabaseColumnSchema: GenMessage = /*@__PURE__*/ */ export type GetConnectionSchemaRequest = Message<"mgmt.v1alpha1.GetConnectionSchemaRequest"> & { /** + * The unique identifier of the connection to get the schema for. + * * @generated from field: string connection_id = 1; */ connectionId: string; /** + * The schema configuration to use for the schema map. + * * @generated from field: mgmt.v1alpha1.ConnectionSchemaConfig schema_config = 2; */ schemaConfig?: ConnectionSchemaConfig; @@ -489,6 +517,8 @@ export const GetConnectionSchemaRequestSchema: GenMessage & { /** + * The list of database columns + * * @generated from field: repeated mgmt.v1alpha1.DatabaseColumn schemas = 1; */ schemas: DatabaseColumn[]; @@ -506,11 +536,15 @@ export const GetConnectionSchemaResponseSchema: GenMessage & { /** + * The unique identifier of the connection to get the schema map for. + * * @generated from field: string connection_id = 1; */ connectionId: string; /** + * The schema configuration to use for the schema map. + * * @generated from field: mgmt.v1alpha1.ConnectionSchemaConfig schema_config = 2; */ schemaConfig?: ConnectionSchemaConfig; @@ -592,11 +626,15 @@ export const GetConnectionSchemaMapsResponseSchema: GenMessage & { /** + * The table that the foreign key is associated with + * * @generated from field: string table = 1; */ table: string; /** + * The columns that are part of the foreign key + * * @generated from field: repeated string columns = 3; */ columns: string[]; @@ -614,16 +652,22 @@ export const ForeignKeySchema: GenMessage = /*@__PURE__*/ */ export type ForeignConstraint = Message<"mgmt.v1alpha1.ForeignConstraint"> & { /** + * The foreign key that is associated with the constraint + * * @generated from field: mgmt.v1alpha1.ForeignKey foreign_key = 3; */ foreignKey?: ForeignKey; /** + * The columns that are part of the constraint + * * @generated from field: repeated string columns = 4; */ columns: string[]; /** + * The not nullable flag for each column + * * @generated from field: repeated bool not_nullable = 5; */ notNullable: boolean[]; @@ -641,6 +685,8 @@ export const ForeignConstraintSchema: GenMessage = /*@__PURE_ */ export type ForeignConstraintTables = Message<"mgmt.v1alpha1.ForeignConstraintTables"> & { /** + * A list of foreign key constraints + * * @generated from field: repeated mgmt.v1alpha1.ForeignConstraint constraints = 1; */ constraints: ForeignConstraint[]; @@ -658,16 +704,22 @@ export const ForeignConstraintTablesSchema: GenMessage */ export type InitStatementOptions = Message<"mgmt.v1alpha1.InitStatementOptions"> & { /** + * Whether or not to generate schema init statements. + * * @generated from field: bool init_schema = 1; */ initSchema: boolean; /** + * Whether or not to generate truncation statements + * * @generated from field: bool truncate_before_insert = 2; */ truncateBeforeInsert: boolean; /** + * Whether or not to generate truncate cascade statements. + * * @generated from field: bool truncate_cascade = 3; */ truncateCascade: boolean; @@ -685,11 +737,15 @@ export const InitStatementOptionsSchema: GenMessage = /*@_ */ export type GetConnectionInitStatementsRequest = Message<"mgmt.v1alpha1.GetConnectionInitStatementsRequest"> & { /** + * The unique identifier of the connection to get the init statements for. + * * @generated from field: string connection_id = 1; */ connectionId: string; /** + * The options to use for the init statements. + * * @generated from field: mgmt.v1alpha1.InitStatementOptions options = 2; */ options?: InitStatementOptions; @@ -707,11 +763,15 @@ export const GetConnectionInitStatementsRequestSchema: GenMessage & { /** + * A friendly label associated with the generated schema init statement(s) + * * @generated from field: string label = 1; */ label: string; /** + * A list of SQL statements that may be used to initialize a database from scratch. + * * @generated from field: repeated string statements = 2; */ statements: string[]; @@ -731,20 +791,22 @@ export const SchemaInitStatementsSchema: GenMessage = /*@_ */ export type GetConnectionInitStatementsResponse = Message<"mgmt.v1alpha1.GetConnectionInitStatementsResponse"> & { /** - * the key here is .
and value is the table init statement. + * The key here is .
and value is the table init statement. * * @generated from field: map table_init_statements = 1; */ tableInitStatements: { [key: string]: string }; /** - * the key here is .
and value is the table truncate statement. + * The key here is .
and value is the table truncate statement. * * @generated from field: map table_truncate_statements = 2; */ tableTruncateStatements: { [key: string]: string }; /** + * A list of schema initialization statements + * * @generated from field: repeated mgmt.v1alpha1.SchemaInitStatements schema_init_statements = 3; */ schemaInitStatements: SchemaInitStatements[]; @@ -762,6 +824,8 @@ export const GetConnectionInitStatementsResponseSchema: GenMessage & { /** + * The columns that are part of the primary constraint + * * @generated from field: repeated string columns = 1; */ columns: string[]; @@ -779,6 +843,8 @@ export const PrimaryConstraintSchema: GenMessage = /*@__PURE_ */ export type UniqueConstraint = Message<"mgmt.v1alpha1.UniqueConstraint"> & { /** + * The columns that are part of the unique constraint + * * @generated from field: repeated string columns = 1; */ columns: string[]; @@ -796,31 +862,43 @@ export const UniqueConstraintSchema: GenMessage = /*@__PURE__* */ export type GetAiGeneratedDataRequest = Message<"mgmt.v1alpha1.GetAiGeneratedDataRequest"> & { /** + * The unique identifier of a connection, specifically one that is configured for LLM use. + * * @generated from field: string ai_connection_id = 1; */ aiConnectionId: string; /** + * The number of records to generate + * * @generated from field: int64 count = 2; */ count: bigint; /** + * The LLM model name to use that works with the configured connection id. + * * @generated from field: string model_name = 3; */ modelName: string; /** + * The prompt that will be used to further refine the data generation. This is appended to the prompt that Neosync generates that includes schema information. + * * @generated from field: optional string user_prompt = 4; */ userPrompt?: string; /** + * The unique identifier of a connection that the AI generated data would be inserted into. This is used to generate and send schema information to the LLM to help shape the generated data. + * * @generated from field: string data_connection_id = 5; */ dataConnectionId: string; /** + * The table to generate data for. + * * @generated from field: mgmt.v1alpha1.DatabaseTable table = 6; */ table?: DatabaseTable; @@ -838,11 +916,15 @@ export const GetAiGeneratedDataRequestSchema: GenMessage & { /** + * The schema of the table + * * @generated from field: string schema = 1; */ schema: string; /** + * The table name + * * @generated from field: string table = 2; */ table: string; @@ -879,6 +961,8 @@ export const GetAiGeneratedDataResponseSchema: GenMessage & { /** + * The unique identifier of the connection to get the constraints for. + * * @generated from field: string connection_id = 1; */ connectionId: string; @@ -896,6 +980,8 @@ export const GetConnectionTableConstraintsRequestSchema: GenMessage & { /** + * The unique constraints found for the table + * * @generated from field: repeated mgmt.v1alpha1.UniqueConstraint constraints = 1; */ constraints: UniqueConstraint[]; @@ -946,21 +1032,29 @@ export const GetConnectionTableConstraintsResponseSchema: GenMessage & { /** + * The unique identifier of the connection to get the row count for. + * * @generated from field: string connection_id = 1; */ connectionId: string; /** + * The schema of the table to get the row count for. + * * @generated from field: string schema = 2; */ schema: string; /** + * The table to get the row count for. + * * @generated from field: string table = 3; */ table: string; /** + * The optional where clause to filter the rows by. + * * @generated from field: optional string where_clause = 4; */ whereClause?: string; @@ -978,6 +1072,8 @@ export const GetTableRowCountRequestSchema: GenMessage */ export type GetTableRowCountResponse = Message<"mgmt.v1alpha1.GetTableRowCountResponse"> & { /** + * The count of the rows in the table + * * @generated from field: int64 count = 1; */ count: bigint; diff --git a/frontend/packages/sdk/src/client/mgmt/v1alpha1/connection_pb.ts b/frontend/packages/sdk/src/client/mgmt/v1alpha1/connection_pb.ts index 2ac4a3a291..72ae3da386 100644 --- a/frontend/packages/sdk/src/client/mgmt/v1alpha1/connection_pb.ts +++ b/frontend/packages/sdk/src/client/mgmt/v1alpha1/connection_pb.ts @@ -13,13 +13,15 @@ import type { Message } from "@bufbuild/protobuf"; * Describes the file mgmt/v1alpha1/connection.proto. */ export const file_mgmt_v1alpha1_connection: GenFile = /*@__PURE__*/ - fileDesc("Ch5tZ210L3YxYWxwaGExL2Nvbm5lY3Rpb24ucHJvdG8SDW1nbXQudjFhbHBoYTEiNQoVR2V0Q29ubmVjdGlvbnNSZXF1ZXN0EhwKCmFjY291bnRfaWQYASABKAlCCLpIBXIDsAEBIkgKFkdldENvbm5lY3Rpb25zUmVzcG9uc2USLgoLY29ubmVjdGlvbnMYASADKAsyGS5tZ210LnYxYWxwaGExLkNvbm5lY3Rpb24iLAoUR2V0Q29ubmVjdGlvblJlcXVlc3QSFAoCaWQYASABKAlCCLpIBXIDsAEBIkYKFUdldENvbm5lY3Rpb25SZXNwb25zZRItCgpjb25uZWN0aW9uGAEgASgLMhkubWdtdC52MWFscGhhMS5Db25uZWN0aW9uIpwBChdDcmVhdGVDb25uZWN0aW9uUmVxdWVzdBIcCgphY2NvdW50X2lkGAEgASgJQgi6SAVyA7ABARInCgRuYW1lGAIgASgJQhm6SBZyFDISXlthLXowLTktXXszLDEwMH0kEjoKEWNvbm5lY3Rpb25fY29uZmlnGAMgASgLMh8ubWdtdC52MWFscGhhMS5Db25uZWN0aW9uQ29uZmlnIkkKGENyZWF0ZUNvbm5lY3Rpb25SZXNwb25zZRItCgpjb25uZWN0aW9uGAEgASgLMhkubWdtdC52MWFscGhhMS5Db25uZWN0aW9uIpQBChdVcGRhdGVDb25uZWN0aW9uUmVxdWVzdBIUCgJpZBgBIAEoCUIIukgFcgOwAQESJwoEbmFtZRgCIAEoCUIZukgWchQyEl5bYS16MC05LV17MywxMDB9JBI6ChFjb25uZWN0aW9uX2NvbmZpZxgDIAEoCzIfLm1nbXQudjFhbHBoYTEuQ29ubmVjdGlvbkNvbmZpZyJJChhVcGRhdGVDb25uZWN0aW9uUmVzcG9uc2USLQoKY29ubmVjdGlvbhgBIAEoCzIZLm1nbXQudjFhbHBoYTEuQ29ubmVjdGlvbiIvChdEZWxldGVDb25uZWN0aW9uUmVxdWVzdBIUCgJpZBgBIAEoCUIIukgFcgOwAQEiGgoYRGVsZXRlQ29ubmVjdGlvblJlc3BvbnNlIloKHENoZWNrQ29ubmVjdGlvbkNvbmZpZ1JlcXVlc3QSOgoRY29ubmVjdGlvbl9jb25maWcYASABKAsyHy5tZ210LnYxYWxwaGExLkNvbm5lY3Rpb25Db25maWciOAogQ2hlY2tDb25uZWN0aW9uQ29uZmlnQnlJZFJlcXVlc3QSFAoCaWQYASABKAlCCLpIBXIDsAEBIqkBCiFDaGVja0Nvbm5lY3Rpb25Db25maWdCeUlkUmVzcG9uc2USFAoMaXNfY29ubmVjdGVkGAEgASgIEh0KEGNvbm5lY3Rpb25fZXJyb3IYAiABKAlIAIgBARI6Cgpwcml2aWxlZ2VzGAMgAygLMiYubWdtdC52MWFscGhhMS5Db25uZWN0aW9uUm9sZVByaXZpbGVnZUITChFfY29ubmVjdGlvbl9lcnJvciKlAQodQ2hlY2tDb25uZWN0aW9uQ29uZmlnUmVzcG9uc2USFAoMaXNfY29ubmVjdGVkGAEgASgIEh0KEGNvbm5lY3Rpb25fZXJyb3IYAiABKAlIAIgBARI6Cgpwcml2aWxlZ2VzGAMgAygLMiYubWdtdC52MWFscGhhMS5Db25uZWN0aW9uUm9sZVByaXZpbGVnZUITChFfY29ubmVjdGlvbl9lcnJvciJhChdDb25uZWN0aW9uUm9sZVByaXZpbGVnZRIPCgdncmFudGVlGAEgASgJEg4KBnNjaGVtYRgCIAEoCRINCgV0YWJsZRgDIAEoCRIWCg5wcml2aWxlZ2VfdHlwZRgEIAMoCSKOAgoKQ29ubmVjdGlvbhIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEjoKEWNvbm5lY3Rpb25fY29uZmlnGAMgASgLMh8ubWdtdC52MWFscGhhMS5Db25uZWN0aW9uQ29uZmlnEhoKEmNyZWF0ZWRfYnlfdXNlcl9pZBgEIAEoCRIuCgpjcmVhdGVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIaChJ1cGRhdGVkX2J5X3VzZXJfaWQYBiABKAkSLgoKdXBkYXRlZF9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEgoKYWNjb3VudF9pZBgIIAEoCSL8BAoQQ29ubmVjdGlvbkNvbmZpZxI8CglwZ19jb25maWcYASABKAsyJy5tZ210LnYxYWxwaGExLlBvc3RncmVzQ29ubmVjdGlvbkNvbmZpZ0gAEj0KDWF3c19zM19jb25maWcYAiABKAsyJC5tZ210LnYxYWxwaGExLkF3c1MzQ29ubmVjdGlvbkNvbmZpZ0gAEjwKDG15c3FsX2NvbmZpZxgDIAEoCzIkLm1nbXQudjFhbHBoYTEuTXlzcWxDb25uZWN0aW9uQ29uZmlnSAASSQoQbG9jYWxfZGlyX2NvbmZpZxgEIAEoCzItLm1nbXQudjFhbHBoYTEuTG9jYWxEaXJlY3RvcnlDb25uZWN0aW9uQ29uZmlnSAASPgoNb3BlbmFpX2NvbmZpZxgFIAEoCzIlLm1nbXQudjFhbHBoYTEuT3BlbkFpQ29ubmVjdGlvbkNvbmZpZ0gAEjwKDG1vbmdvX2NvbmZpZxgGIAEoCzIkLm1nbXQudjFhbHBoYTEuTW9uZ29Db25uZWN0aW9uQ29uZmlnSAASUQoXZ2NwX2Nsb3Vkc3RvcmFnZV9jb25maWcYByABKAsyLi5tZ210LnYxYWxwaGExLkdjcENsb3VkU3RvcmFnZUNvbm5lY3Rpb25Db25maWdIABJCCg9keW5hbW9kYl9jb25maWcYCCABKAsyJy5tZ210LnYxYWxwaGExLkR5bmFtb0RCQ29ubmVjdGlvbkNvbmZpZ0gAEjwKDG1zc3FsX2NvbmZpZxgJIAEoCzIkLm1nbXQudjFhbHBoYTEuTXNzcWxDb25uZWN0aW9uQ29uZmlnSABCDwoGY29uZmlnEgW6SAIIASL5AQoVTXNzcWxDb25uZWN0aW9uQ29uZmlnEg0KA3VybBgBIAEoCUgAEhYKDHVybF9mcm9tX2VudhgFIAEoCUgAEj8KEmNvbm5lY3Rpb25fb3B0aW9ucxgCIAEoCzIjLm1nbXQudjFhbHBoYTEuU3FsQ29ubmVjdGlvbk9wdGlvbnMSKAoGdHVubmVsGAMgASgLMhgubWdtdC52MWFscGhhMS5TU0hUdW5uZWwSMgoKY2xpZW50X3RscxgEIAEoCzIeLm1nbXQudjFhbHBoYTEuQ2xpZW50VGxzQ29uZmlnQhoKEWNvbm5lY3Rpb25fY29uZmlnEgW6SAIIASKpAQoYRHluYW1vREJDb25uZWN0aW9uQ29uZmlnEjkKC2NyZWRlbnRpYWxzGAEgASgLMh8ubWdtdC52MWFscGhhMS5Bd3NTM0NyZWRlbnRpYWxzSACIAQESEwoGcmVnaW9uGAIgASgJSAGIAQESFQoIZW5kcG9pbnQYAyABKAlIAogBAUIOCgxfY3JlZGVudGlhbHNCCQoHX3JlZ2lvbkILCglfZW5kcG9pbnQioAEKFU1vbmdvQ29ubmVjdGlvbkNvbmZpZxINCgN1cmwYASABKAlIABIoCgZ0dW5uZWwYAiABKAsyGC5tZ210LnYxYWxwaGExLlNTSFR1bm5lbBIyCgpjbGllbnRfdGxzGAMgASgLMh4ubWdtdC52MWFscGhhMS5DbGllbnRUbHNDb25maWdCGgoRY29ubmVjdGlvbl9jb25maWcSBbpIAggBIjoKFk9wZW5BaUNvbm5lY3Rpb25Db25maWcSDwoHYXBpX2tleRgBIAEoCRIPCgdhcGlfdXJsGAIgASgJIjcKHkxvY2FsRGlyZWN0b3J5Q29ubmVjdGlvbkNvbmZpZxIVCgRwYXRoGAEgASgJQge6SARyAhABIrUCChhQb3N0Z3Jlc0Nvbm5lY3Rpb25Db25maWcSDQoDdXJsGAEgASgJSAASNwoKY29ubmVjdGlvbhgCIAEoCzIhLm1nbXQudjFhbHBoYTEuUG9zdGdyZXNDb25uZWN0aW9uSAASFgoMdXJsX2Zyb21fZW52GAYgASgJSAASKAoGdHVubmVsGAMgASgLMhgubWdtdC52MWFscGhhMS5TU0hUdW5uZWwSPwoSY29ubmVjdGlvbl9vcHRpb25zGAQgASgLMiMubWdtdC52MWFscGhhMS5TcWxDb25uZWN0aW9uT3B0aW9ucxIyCgpjbGllbnRfdGxzGAUgASgLMh4ubWdtdC52MWFscGhhMS5DbGllbnRUbHNDb25maWdCGgoRY29ubmVjdGlvbl9jb25maWcSBbpIAggBIrMBCg9DbGllbnRUbHNDb25maWcSFgoJcm9vdF9jZXJ0GAEgASgJSACIAQESGAoLY2xpZW50X2NlcnQYAiABKAlIAYgBARIXCgpjbGllbnRfa2V5GAMgASgJSAKIAQESGAoLc2VydmVyX25hbWUYBCABKAlIA4gBAUIMCgpfcm9vdF9jZXJ0Qg4KDF9jbGllbnRfY2VydEINCgtfY2xpZW50X2tleUIOCgxfc2VydmVyX25hbWUi+gEKFFNxbENvbm5lY3Rpb25PcHRpb25zEiEKFG1heF9jb25uZWN0aW9uX2xpbWl0GAEgASgFSACIAQESIQoUbWF4X2lkbGVfY29ubmVjdGlvbnMYAiABKAVIAYgBARIeChFtYXhfaWRsZV9kdXJhdGlvbhgDIAEoCUgCiAEBEh4KEW1heF9vcGVuX2R1cmF0aW9uGAQgASgJSAOIAQFCFwoVX21heF9jb25uZWN0aW9uX2xpbWl0QhcKFV9tYXhfaWRsZV9jb25uZWN0aW9uc0IUChJfbWF4X2lkbGVfZHVyYXRpb25CFAoSX21heF9vcGVuX2R1cmF0aW9uItEBCglTU0hUdW5uZWwSFQoEaG9zdBgBIAEoCUIHukgEcgIQARIVCgRwb3J0GAIgASgFQge6SAQaAigAEhUKBHVzZXIYAyABKAlCB7pIBHICEAESKwoVa25vd25faG9zdF9wdWJsaWNfa2V5GAQgASgJQge6SARyAhABSACIAQESOAoOYXV0aGVudGljYXRpb24YBSABKAsyIC5tZ210LnYxYWxwaGExLlNTSEF1dGhlbnRpY2F0aW9uQhgKFl9rbm93bl9ob3N0X3B1YmxpY19rZXkikgEKEVNTSEF1dGhlbnRpY2F0aW9uEjIKCnBhc3NwaHJhc2UYASABKAsyHC5tZ210LnYxYWxwaGExLlNTSFBhc3NwaHJhc2VIABIzCgtwcml2YXRlX2tleRgCIAEoCzIcLm1nbXQudjFhbHBoYTEuU1NIUHJpdmF0ZUtleUgAQhQKC2F1dGhfY29uZmlnEgW6SAIIASInCg1TU0hQYXNzcGhyYXNlEhYKBXZhbHVlGAEgASgJQge6SARyAhABIk8KDVNTSFByaXZhdGVLZXkSFgoFdmFsdWUYASABKAlCB7pIBHICEAESFwoKcGFzc3BocmFzZRgCIAEoCUgAiAEBQg0KC19wYXNzcGhyYXNlIn4KElBvc3RncmVzQ29ubmVjdGlvbhIMCgRob3N0GAEgASgJEgwKBHBvcnQYAiABKAUSDAoEbmFtZRgDIAEoCRIMCgR1c2VyGAQgASgJEgwKBHBhc3MYBSABKAkSFQoIc3NsX21vZGUYBiABKAlIAIgBAUILCglfc3NsX21vZGUiaQoPTXlzcWxDb25uZWN0aW9uEgwKBHVzZXIYASABKAkSDAoEcGFzcxgCIAEoCRIQCghwcm90b2NvbBgDIAEoCRIMCgRob3N0GAQgASgJEgwKBHBvcnQYBSABKAUSDAoEbmFtZRgGIAEoCSKvAgoVTXlzcWxDb25uZWN0aW9uQ29uZmlnEg0KA3VybBgBIAEoCUgAEjQKCmNvbm5lY3Rpb24YAiABKAsyHi5tZ210LnYxYWxwaGExLk15c3FsQ29ubmVjdGlvbkgAEhYKDHVybF9mcm9tX2VudhgGIAEoCUgAEigKBnR1bm5lbBgDIAEoCzIYLm1nbXQudjFhbHBoYTEuU1NIVHVubmVsEj8KEmNvbm5lY3Rpb25fb3B0aW9ucxgEIAEoCzIjLm1nbXQudjFhbHBoYTEuU3FsQ29ubmVjdGlvbk9wdGlvbnMSMgoKY2xpZW50X3RscxgFIAEoCzIeLm1nbXQudjFhbHBoYTEuQ2xpZW50VGxzQ29uZmlnQhoKEWNvbm5lY3Rpb25fY29uZmlnEgW6SAIIASLvAQoVQXdzUzNDb25uZWN0aW9uQ29uZmlnEhgKC3BhdGhfcHJlZml4GAIgASgJSACIAQESOQoLY3JlZGVudGlhbHMYAyABKAsyHy5tZ210LnYxYWxwaGExLkF3c1MzQ3JlZGVudGlhbHNIAYgBARITCgZyZWdpb24YBCABKAlIAogBARIVCghlbmRwb2ludBgFIAEoCUgDiAEBEhcKBmJ1Y2tldBgGIAEoCUIHukgEcgIQAUIOCgxfcGF0aF9wcmVmaXhCDgoMX2NyZWRlbnRpYWxzQgkKB19yZWdpb25CCwoJX2VuZHBvaW50SgQIARACIswCChBBd3NTM0NyZWRlbnRpYWxzEhQKB3Byb2ZpbGUYASABKAlIAIgBARIaCg1hY2Nlc3Nfa2V5X2lkGAIgASgJSAGIAQESHgoRc2VjcmV0X2FjY2Vzc19rZXkYAyABKAlIAogBARIaCg1zZXNzaW9uX3Rva2VuGAQgASgJSAOIAQESGgoNZnJvbV9lYzJfcm9sZRgFIAEoCEgEiAEBEhUKCHJvbGVfYXJuGAYgASgJSAWIAQESHQoQcm9sZV9leHRlcm5hbF9pZBgHIAEoCUgGiAEBQgoKCF9wcm9maWxlQhAKDl9hY2Nlc3Nfa2V5X2lkQhQKEl9zZWNyZXRfYWNjZXNzX2tleUIQCg5fc2Vzc2lvbl90b2tlbkIQCg5fZnJvbV9lYzJfcm9sZUILCglfcm9sZV9hcm5CEwoRX3JvbGVfZXh0ZXJuYWxfaWQirgEKH0djcENsb3VkU3RvcmFnZUNvbm5lY3Rpb25Db25maWcSFwoGYnVja2V0GAEgASgJQge6SARyAhABEhgKC3BhdGhfcHJlZml4GAIgASgJSACIAQESKAobc2VydmljZV9hY2NvdW50X2NyZWRlbnRpYWxzGAMgASgJSAGIAQFCDgoMX3BhdGhfcHJlZml4Qh4KHF9zZXJ2aWNlX2FjY291bnRfY3JlZGVudGlhbHMidAogSXNDb25uZWN0aW9uTmFtZUF2YWlsYWJsZVJlcXVlc3QSHAoKYWNjb3VudF9pZBgBIAEoCUIIukgFcgOwAQESMgoPY29ubmVjdGlvbl9uYW1lGAIgASgJQhm6SBZyFDISXlthLXowLTktXXszLDEwMH0kIjkKIUlzQ29ubmVjdGlvbk5hbWVBdmFpbGFibGVSZXNwb25zZRIUCgxpc19hdmFpbGFibGUYASABKAgiRAoUQ2hlY2tTcWxRdWVyeVJlcXVlc3QSFAoCaWQYASABKAlCCLpIBXIDsAEBEhYKBXF1ZXJ5GAIgASgJQge6SARyAhABIlcKFUNoZWNrU3FsUXVlcnlSZXNwb25zZRIQCghpc192YWxpZBgBIAEoCBIaCg1lcm9ycl9tZXNzYWdlGAIgASgJSACIAQFCEAoOX2Vyb3JyX21lc3NhZ2Uy4QcKEUNvbm5lY3Rpb25TZXJ2aWNlEl8KDkdldENvbm5lY3Rpb25zEiQubWdtdC52MWFscGhhMS5HZXRDb25uZWN0aW9uc1JlcXVlc3QaJS5tZ210LnYxYWxwaGExLkdldENvbm5lY3Rpb25zUmVzcG9uc2UiABJcCg1HZXRDb25uZWN0aW9uEiMubWdtdC52MWFscGhhMS5HZXRDb25uZWN0aW9uUmVxdWVzdBokLm1nbXQudjFhbHBoYTEuR2V0Q29ubmVjdGlvblJlc3BvbnNlIgASZQoQQ3JlYXRlQ29ubmVjdGlvbhImLm1nbXQudjFhbHBoYTEuQ3JlYXRlQ29ubmVjdGlvblJlcXVlc3QaJy5tZ210LnYxYWxwaGExLkNyZWF0ZUNvbm5lY3Rpb25SZXNwb25zZSIAEmUKEFVwZGF0ZUNvbm5lY3Rpb24SJi5tZ210LnYxYWxwaGExLlVwZGF0ZUNvbm5lY3Rpb25SZXF1ZXN0GicubWdtdC52MWFscGhhMS5VcGRhdGVDb25uZWN0aW9uUmVzcG9uc2UiABJlChBEZWxldGVDb25uZWN0aW9uEiYubWdtdC52MWFscGhhMS5EZWxldGVDb25uZWN0aW9uUmVxdWVzdBonLm1nbXQudjFhbHBoYTEuRGVsZXRlQ29ubmVjdGlvblJlc3BvbnNlIgASgAEKGUlzQ29ubmVjdGlvbk5hbWVBdmFpbGFibGUSLy5tZ210LnYxYWxwaGExLklzQ29ubmVjdGlvbk5hbWVBdmFpbGFibGVSZXF1ZXN0GjAubWdtdC52MWFscGhhMS5Jc0Nvbm5lY3Rpb25OYW1lQXZhaWxhYmxlUmVzcG9uc2UiABJ0ChVDaGVja0Nvbm5lY3Rpb25Db25maWcSKy5tZ210LnYxYWxwaGExLkNoZWNrQ29ubmVjdGlvbkNvbmZpZ1JlcXVlc3QaLC5tZ210LnYxYWxwaGExLkNoZWNrQ29ubmVjdGlvbkNvbmZpZ1Jlc3BvbnNlIgASgAEKGUNoZWNrQ29ubmVjdGlvbkNvbmZpZ0J5SWQSLy5tZ210LnYxYWxwaGExLkNoZWNrQ29ubmVjdGlvbkNvbmZpZ0J5SWRSZXF1ZXN0GjAubWdtdC52MWFscGhhMS5DaGVja0Nvbm5lY3Rpb25Db25maWdCeUlkUmVzcG9uc2UiABJcCg1DaGVja1NxbFF1ZXJ5EiMubWdtdC52MWFscGhhMS5DaGVja1NxbFF1ZXJ5UmVxdWVzdBokLm1nbXQudjFhbHBoYTEuQ2hlY2tTcWxRdWVyeVJlc3BvbnNlIgBCywEKEWNvbS5tZ210LnYxYWxwaGExQg9Db25uZWN0aW9uUHJvdG9QAVpQZ2l0aHViLmNvbS9udWNsZXVzY2xvdWQvbmVvc3luYy9iYWNrZW5kL2dlbi9nby9wcm90b3MvbWdtdC92MWFscGhhMTttZ210djFhbHBoYTGiAgNNWFiqAg1NZ210LlYxYWxwaGExygINTWdtdFxWMWFscGhhMeICGU1nbXRcVjFhbHBoYTFcR1BCTWV0YWRhdGHqAg5NZ210OjpWMWFscGhhMWIGcHJvdG8z", [file_buf_validate_validate, file_google_protobuf_timestamp]); + fileDesc("Ch5tZ210L3YxYWxwaGExL2Nvbm5lY3Rpb24ucHJvdG8SDW1nbXQudjFhbHBoYTEiNQoVR2V0Q29ubmVjdGlvbnNSZXF1ZXN0EhwKCmFjY291bnRfaWQYASABKAlCCLpIBXIDsAEBIkgKFkdldENvbm5lY3Rpb25zUmVzcG9uc2USLgoLY29ubmVjdGlvbnMYASADKAsyGS5tZ210LnYxYWxwaGExLkNvbm5lY3Rpb24iLAoUR2V0Q29ubmVjdGlvblJlcXVlc3QSFAoCaWQYASABKAlCCLpIBXIDsAEBIkYKFUdldENvbm5lY3Rpb25SZXNwb25zZRItCgpjb25uZWN0aW9uGAEgASgLMhkubWdtdC52MWFscGhhMS5Db25uZWN0aW9uIpwBChdDcmVhdGVDb25uZWN0aW9uUmVxdWVzdBIcCgphY2NvdW50X2lkGAEgASgJQgi6SAVyA7ABARInCgRuYW1lGAIgASgJQhm6SBZyFDISXlthLXowLTktXXszLDEwMH0kEjoKEWNvbm5lY3Rpb25fY29uZmlnGAMgASgLMh8ubWdtdC52MWFscGhhMS5Db25uZWN0aW9uQ29uZmlnIkkKGENyZWF0ZUNvbm5lY3Rpb25SZXNwb25zZRItCgpjb25uZWN0aW9uGAEgASgLMhkubWdtdC52MWFscGhhMS5Db25uZWN0aW9uIpQBChdVcGRhdGVDb25uZWN0aW9uUmVxdWVzdBIUCgJpZBgBIAEoCUIIukgFcgOwAQESJwoEbmFtZRgCIAEoCUIZukgWchQyEl5bYS16MC05LV17MywxMDB9JBI6ChFjb25uZWN0aW9uX2NvbmZpZxgDIAEoCzIfLm1nbXQudjFhbHBoYTEuQ29ubmVjdGlvbkNvbmZpZyJJChhVcGRhdGVDb25uZWN0aW9uUmVzcG9uc2USLQoKY29ubmVjdGlvbhgBIAEoCzIZLm1nbXQudjFhbHBoYTEuQ29ubmVjdGlvbiIvChdEZWxldGVDb25uZWN0aW9uUmVxdWVzdBIUCgJpZBgBIAEoCUIIukgFcgOwAQEiGgoYRGVsZXRlQ29ubmVjdGlvblJlc3BvbnNlIloKHENoZWNrQ29ubmVjdGlvbkNvbmZpZ1JlcXVlc3QSOgoRY29ubmVjdGlvbl9jb25maWcYASABKAsyHy5tZ210LnYxYWxwaGExLkNvbm5lY3Rpb25Db25maWciOAogQ2hlY2tDb25uZWN0aW9uQ29uZmlnQnlJZFJlcXVlc3QSFAoCaWQYASABKAlCCLpIBXIDsAEBIqkBCiFDaGVja0Nvbm5lY3Rpb25Db25maWdCeUlkUmVzcG9uc2USFAoMaXNfY29ubmVjdGVkGAEgASgIEh0KEGNvbm5lY3Rpb25fZXJyb3IYAiABKAlIAIgBARI6Cgpwcml2aWxlZ2VzGAMgAygLMiYubWdtdC52MWFscGhhMS5Db25uZWN0aW9uUm9sZVByaXZpbGVnZUITChFfY29ubmVjdGlvbl9lcnJvciKlAQodQ2hlY2tDb25uZWN0aW9uQ29uZmlnUmVzcG9uc2USFAoMaXNfY29ubmVjdGVkGAEgASgIEh0KEGNvbm5lY3Rpb25fZXJyb3IYAiABKAlIAIgBARI6Cgpwcml2aWxlZ2VzGAMgAygLMiYubWdtdC52MWFscGhhMS5Db25uZWN0aW9uUm9sZVByaXZpbGVnZUITChFfY29ubmVjdGlvbl9lcnJvciJhChdDb25uZWN0aW9uUm9sZVByaXZpbGVnZRIPCgdncmFudGVlGAEgASgJEg4KBnNjaGVtYRgCIAEoCRINCgV0YWJsZRgDIAEoCRIWCg5wcml2aWxlZ2VfdHlwZRgEIAMoCSKOAgoKQ29ubmVjdGlvbhIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEjoKEWNvbm5lY3Rpb25fY29uZmlnGAMgASgLMh8ubWdtdC52MWFscGhhMS5Db25uZWN0aW9uQ29uZmlnEhoKEmNyZWF0ZWRfYnlfdXNlcl9pZBgEIAEoCRIuCgpjcmVhdGVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIaChJ1cGRhdGVkX2J5X3VzZXJfaWQYBiABKAkSLgoKdXBkYXRlZF9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEgoKYWNjb3VudF9pZBgIIAEoCSL8BAoQQ29ubmVjdGlvbkNvbmZpZxI8CglwZ19jb25maWcYASABKAsyJy5tZ210LnYxYWxwaGExLlBvc3RncmVzQ29ubmVjdGlvbkNvbmZpZ0gAEj0KDWF3c19zM19jb25maWcYAiABKAsyJC5tZ210LnYxYWxwaGExLkF3c1MzQ29ubmVjdGlvbkNvbmZpZ0gAEjwKDG15c3FsX2NvbmZpZxgDIAEoCzIkLm1nbXQudjFhbHBoYTEuTXlzcWxDb25uZWN0aW9uQ29uZmlnSAASSQoQbG9jYWxfZGlyX2NvbmZpZxgEIAEoCzItLm1nbXQudjFhbHBoYTEuTG9jYWxEaXJlY3RvcnlDb25uZWN0aW9uQ29uZmlnSAASPgoNb3BlbmFpX2NvbmZpZxgFIAEoCzIlLm1nbXQudjFhbHBoYTEuT3BlbkFpQ29ubmVjdGlvbkNvbmZpZ0gAEjwKDG1vbmdvX2NvbmZpZxgGIAEoCzIkLm1nbXQudjFhbHBoYTEuTW9uZ29Db25uZWN0aW9uQ29uZmlnSAASUQoXZ2NwX2Nsb3Vkc3RvcmFnZV9jb25maWcYByABKAsyLi5tZ210LnYxYWxwaGExLkdjcENsb3VkU3RvcmFnZUNvbm5lY3Rpb25Db25maWdIABJCCg9keW5hbW9kYl9jb25maWcYCCABKAsyJy5tZ210LnYxYWxwaGExLkR5bmFtb0RCQ29ubmVjdGlvbkNvbmZpZ0gAEjwKDG1zc3FsX2NvbmZpZxgJIAEoCzIkLm1nbXQudjFhbHBoYTEuTXNzcWxDb25uZWN0aW9uQ29uZmlnSABCDwoGY29uZmlnEgW6SAIIASL5AQoVTXNzcWxDb25uZWN0aW9uQ29uZmlnEg0KA3VybBgBIAEoCUgAEhYKDHVybF9mcm9tX2VudhgFIAEoCUgAEj8KEmNvbm5lY3Rpb25fb3B0aW9ucxgCIAEoCzIjLm1nbXQudjFhbHBoYTEuU3FsQ29ubmVjdGlvbk9wdGlvbnMSKAoGdHVubmVsGAMgASgLMhgubWdtdC52MWFscGhhMS5TU0hUdW5uZWwSMgoKY2xpZW50X3RscxgEIAEoCzIeLm1nbXQudjFhbHBoYTEuQ2xpZW50VGxzQ29uZmlnQhoKEWNvbm5lY3Rpb25fY29uZmlnEgW6SAIIASKpAQoYRHluYW1vREJDb25uZWN0aW9uQ29uZmlnEjkKC2NyZWRlbnRpYWxzGAEgASgLMh8ubWdtdC52MWFscGhhMS5Bd3NTM0NyZWRlbnRpYWxzSACIAQESEwoGcmVnaW9uGAIgASgJSAGIAQESFQoIZW5kcG9pbnQYAyABKAlIAogBAUIOCgxfY3JlZGVudGlhbHNCCQoHX3JlZ2lvbkILCglfZW5kcG9pbnQioAEKFU1vbmdvQ29ubmVjdGlvbkNvbmZpZxINCgN1cmwYASABKAlIABIoCgZ0dW5uZWwYAiABKAsyGC5tZ210LnYxYWxwaGExLlNTSFR1bm5lbBIyCgpjbGllbnRfdGxzGAMgASgLMh4ubWdtdC52MWFscGhhMS5DbGllbnRUbHNDb25maWdCGgoRY29ubmVjdGlvbl9jb25maWcSBbpIAggBIjoKFk9wZW5BaUNvbm5lY3Rpb25Db25maWcSDwoHYXBpX2tleRgBIAEoCRIPCgdhcGlfdXJsGAIgASgJIjcKHkxvY2FsRGlyZWN0b3J5Q29ubmVjdGlvbkNvbmZpZxIVCgRwYXRoGAEgASgJQge6SARyAhABIrUCChhQb3N0Z3Jlc0Nvbm5lY3Rpb25Db25maWcSDQoDdXJsGAEgASgJSAASNwoKY29ubmVjdGlvbhgCIAEoCzIhLm1nbXQudjFhbHBoYTEuUG9zdGdyZXNDb25uZWN0aW9uSAASFgoMdXJsX2Zyb21fZW52GAYgASgJSAASKAoGdHVubmVsGAMgASgLMhgubWdtdC52MWFscGhhMS5TU0hUdW5uZWwSPwoSY29ubmVjdGlvbl9vcHRpb25zGAQgASgLMiMubWdtdC52MWFscGhhMS5TcWxDb25uZWN0aW9uT3B0aW9ucxIyCgpjbGllbnRfdGxzGAUgASgLMh4ubWdtdC52MWFscGhhMS5DbGllbnRUbHNDb25maWdCGgoRY29ubmVjdGlvbl9jb25maWcSBbpIAggBIrMBCg9DbGllbnRUbHNDb25maWcSFgoJcm9vdF9jZXJ0GAEgASgJSACIAQESGAoLY2xpZW50X2NlcnQYAiABKAlIAYgBARIXCgpjbGllbnRfa2V5GAMgASgJSAKIAQESGAoLc2VydmVyX25hbWUYBCABKAlIA4gBAUIMCgpfcm9vdF9jZXJ0Qg4KDF9jbGllbnRfY2VydEINCgtfY2xpZW50X2tleUIOCgxfc2VydmVyX25hbWUi+gEKFFNxbENvbm5lY3Rpb25PcHRpb25zEiEKFG1heF9jb25uZWN0aW9uX2xpbWl0GAEgASgFSACIAQESIQoUbWF4X2lkbGVfY29ubmVjdGlvbnMYAiABKAVIAYgBARIeChFtYXhfaWRsZV9kdXJhdGlvbhgDIAEoCUgCiAEBEh4KEW1heF9vcGVuX2R1cmF0aW9uGAQgASgJSAOIAQFCFwoVX21heF9jb25uZWN0aW9uX2xpbWl0QhcKFV9tYXhfaWRsZV9jb25uZWN0aW9uc0IUChJfbWF4X2lkbGVfZHVyYXRpb25CFAoSX21heF9vcGVuX2R1cmF0aW9uItEBCglTU0hUdW5uZWwSFQoEaG9zdBgBIAEoCUIHukgEcgIQARIVCgRwb3J0GAIgASgFQge6SAQaAigAEhUKBHVzZXIYAyABKAlCB7pIBHICEAESKwoVa25vd25faG9zdF9wdWJsaWNfa2V5GAQgASgJQge6SARyAhABSACIAQESOAoOYXV0aGVudGljYXRpb24YBSABKAsyIC5tZ210LnYxYWxwaGExLlNTSEF1dGhlbnRpY2F0aW9uQhgKFl9rbm93bl9ob3N0X3B1YmxpY19rZXkikgEKEVNTSEF1dGhlbnRpY2F0aW9uEjIKCnBhc3NwaHJhc2UYASABKAsyHC5tZ210LnYxYWxwaGExLlNTSFBhc3NwaHJhc2VIABIzCgtwcml2YXRlX2tleRgCIAEoCzIcLm1nbXQudjFhbHBoYTEuU1NIUHJpdmF0ZUtleUgAQhQKC2F1dGhfY29uZmlnEgW6SAIIASInCg1TU0hQYXNzcGhyYXNlEhYKBXZhbHVlGAEgASgJQge6SARyAhABIk8KDVNTSFByaXZhdGVLZXkSFgoFdmFsdWUYASABKAlCB7pIBHICEAESFwoKcGFzc3BocmFzZRgCIAEoCUgAiAEBQg0KC19wYXNzcGhyYXNlIn4KElBvc3RncmVzQ29ubmVjdGlvbhIMCgRob3N0GAEgASgJEgwKBHBvcnQYAiABKAUSDAoEbmFtZRgDIAEoCRIMCgR1c2VyGAQgASgJEgwKBHBhc3MYBSABKAkSFQoIc3NsX21vZGUYBiABKAlIAIgBAUILCglfc3NsX21vZGUiaQoPTXlzcWxDb25uZWN0aW9uEgwKBHVzZXIYASABKAkSDAoEcGFzcxgCIAEoCRIQCghwcm90b2NvbBgDIAEoCRIMCgRob3N0GAQgASgJEgwKBHBvcnQYBSABKAUSDAoEbmFtZRgGIAEoCSKvAgoVTXlzcWxDb25uZWN0aW9uQ29uZmlnEg0KA3VybBgBIAEoCUgAEjQKCmNvbm5lY3Rpb24YAiABKAsyHi5tZ210LnYxYWxwaGExLk15c3FsQ29ubmVjdGlvbkgAEhYKDHVybF9mcm9tX2VudhgGIAEoCUgAEigKBnR1bm5lbBgDIAEoCzIYLm1nbXQudjFhbHBoYTEuU1NIVHVubmVsEj8KEmNvbm5lY3Rpb25fb3B0aW9ucxgEIAEoCzIjLm1nbXQudjFhbHBoYTEuU3FsQ29ubmVjdGlvbk9wdGlvbnMSMgoKY2xpZW50X3RscxgFIAEoCzIeLm1nbXQudjFhbHBoYTEuQ2xpZW50VGxzQ29uZmlnQhoKEWNvbm5lY3Rpb25fY29uZmlnEgW6SAIIASLvAQoVQXdzUzNDb25uZWN0aW9uQ29uZmlnEhgKC3BhdGhfcHJlZml4GAIgASgJSACIAQESOQoLY3JlZGVudGlhbHMYAyABKAsyHy5tZ210LnYxYWxwaGExLkF3c1MzQ3JlZGVudGlhbHNIAYgBARITCgZyZWdpb24YBCABKAlIAogBARIVCghlbmRwb2ludBgFIAEoCUgDiAEBEhcKBmJ1Y2tldBgGIAEoCUIHukgEcgIQAUIOCgxfcGF0aF9wcmVmaXhCDgoMX2NyZWRlbnRpYWxzQgkKB19yZWdpb25CCwoJX2VuZHBvaW50SgQIARACIswCChBBd3NTM0NyZWRlbnRpYWxzEhQKB3Byb2ZpbGUYASABKAlIAIgBARIaCg1hY2Nlc3Nfa2V5X2lkGAIgASgJSAGIAQESHgoRc2VjcmV0X2FjY2Vzc19rZXkYAyABKAlIAogBARIaCg1zZXNzaW9uX3Rva2VuGAQgASgJSAOIAQESGgoNZnJvbV9lYzJfcm9sZRgFIAEoCEgEiAEBEhUKCHJvbGVfYXJuGAYgASgJSAWIAQESHQoQcm9sZV9leHRlcm5hbF9pZBgHIAEoCUgGiAEBQgoKCF9wcm9maWxlQhAKDl9hY2Nlc3Nfa2V5X2lkQhQKEl9zZWNyZXRfYWNjZXNzX2tleUIQCg5fc2Vzc2lvbl90b2tlbkIQCg5fZnJvbV9lYzJfcm9sZUILCglfcm9sZV9hcm5CEwoRX3JvbGVfZXh0ZXJuYWxfaWQirgEKH0djcENsb3VkU3RvcmFnZUNvbm5lY3Rpb25Db25maWcSFwoGYnVja2V0GAEgASgJQge6SARyAhABEhgKC3BhdGhfcHJlZml4GAIgASgJSACIAQESKAobc2VydmljZV9hY2NvdW50X2NyZWRlbnRpYWxzGAMgASgJSAGIAQFCDgoMX3BhdGhfcHJlZml4Qh4KHF9zZXJ2aWNlX2FjY291bnRfY3JlZGVudGlhbHMidAogSXNDb25uZWN0aW9uTmFtZUF2YWlsYWJsZVJlcXVlc3QSHAoKYWNjb3VudF9pZBgBIAEoCUIIukgFcgOwAQESMgoPY29ubmVjdGlvbl9uYW1lGAIgASgJQhm6SBZyFDISXlthLXowLTktXXszLDEwMH0kIjkKIUlzQ29ubmVjdGlvbk5hbWVBdmFpbGFibGVSZXNwb25zZRIUCgxpc19hdmFpbGFibGUYASABKAgiRAoUQ2hlY2tTcWxRdWVyeVJlcXVlc3QSFAoCaWQYASABKAlCCLpIBXIDsAEBEhYKBXF1ZXJ5GAIgASgJQge6SARyAhABIlcKFUNoZWNrU3FsUXVlcnlSZXNwb25zZRIQCghpc192YWxpZBgBIAEoCBIaCg1lcm9ycl9tZXNzYWdlGAIgASgJSACIAQFCEAoOX2Vyb3JyX21lc3NhZ2Uy5wcKEUNvbm5lY3Rpb25TZXJ2aWNlEmIKDkdldENvbm5lY3Rpb25zEiQubWdtdC52MWFscGhhMS5HZXRDb25uZWN0aW9uc1JlcXVlc3QaJS5tZ210LnYxYWxwaGExLkdldENvbm5lY3Rpb25zUmVzcG9uc2UiA5ACARJfCg1HZXRDb25uZWN0aW9uEiMubWdtdC52MWFscGhhMS5HZXRDb25uZWN0aW9uUmVxdWVzdBokLm1nbXQudjFhbHBoYTEuR2V0Q29ubmVjdGlvblJlc3BvbnNlIgOQAgESZQoQQ3JlYXRlQ29ubmVjdGlvbhImLm1nbXQudjFhbHBoYTEuQ3JlYXRlQ29ubmVjdGlvblJlcXVlc3QaJy5tZ210LnYxYWxwaGExLkNyZWF0ZUNvbm5lY3Rpb25SZXNwb25zZSIAEmUKEFVwZGF0ZUNvbm5lY3Rpb24SJi5tZ210LnYxYWxwaGExLlVwZGF0ZUNvbm5lY3Rpb25SZXF1ZXN0GicubWdtdC52MWFscGhhMS5VcGRhdGVDb25uZWN0aW9uUmVzcG9uc2UiABJlChBEZWxldGVDb25uZWN0aW9uEiYubWdtdC52MWFscGhhMS5EZWxldGVDb25uZWN0aW9uUmVxdWVzdBonLm1nbXQudjFhbHBoYTEuRGVsZXRlQ29ubmVjdGlvblJlc3BvbnNlIgASgAEKGUlzQ29ubmVjdGlvbk5hbWVBdmFpbGFibGUSLy5tZ210LnYxYWxwaGExLklzQ29ubmVjdGlvbk5hbWVBdmFpbGFibGVSZXF1ZXN0GjAubWdtdC52MWFscGhhMS5Jc0Nvbm5lY3Rpb25OYW1lQXZhaWxhYmxlUmVzcG9uc2UiABJ0ChVDaGVja0Nvbm5lY3Rpb25Db25maWcSKy5tZ210LnYxYWxwaGExLkNoZWNrQ29ubmVjdGlvbkNvbmZpZ1JlcXVlc3QaLC5tZ210LnYxYWxwaGExLkNoZWNrQ29ubmVjdGlvbkNvbmZpZ1Jlc3BvbnNlIgASgAEKGUNoZWNrQ29ubmVjdGlvbkNvbmZpZ0J5SWQSLy5tZ210LnYxYWxwaGExLkNoZWNrQ29ubmVjdGlvbkNvbmZpZ0J5SWRSZXF1ZXN0GjAubWdtdC52MWFscGhhMS5DaGVja0Nvbm5lY3Rpb25Db25maWdCeUlkUmVzcG9uc2UiABJcCg1DaGVja1NxbFF1ZXJ5EiMubWdtdC52MWFscGhhMS5DaGVja1NxbFF1ZXJ5UmVxdWVzdBokLm1nbXQudjFhbHBoYTEuQ2hlY2tTcWxRdWVyeVJlc3BvbnNlIgBCywEKEWNvbS5tZ210LnYxYWxwaGExQg9Db25uZWN0aW9uUHJvdG9QAVpQZ2l0aHViLmNvbS9udWNsZXVzY2xvdWQvbmVvc3luYy9iYWNrZW5kL2dlbi9nby9wcm90b3MvbWdtdC92MWFscGhhMTttZ210djFhbHBoYTGiAgNNWFiqAg1NZ210LlYxYWxwaGExygINTWdtdFxWMWFscGhhMeICGU1nbXRcVjFhbHBoYTFcR1BCTWV0YWRhdGHqAg5NZ210OjpWMWFscGhhMWIGcHJvdG8z", [file_buf_validate_validate, file_google_protobuf_timestamp]); /** * @generated from message mgmt.v1alpha1.GetConnectionsRequest */ export type GetConnectionsRequest = Message<"mgmt.v1alpha1.GetConnectionsRequest"> & { /** + * The unique identifier of the account to get connections for + * * @generated from field: string account_id = 1; */ accountId: string; @@ -37,6 +39,8 @@ export const GetConnectionsRequestSchema: GenMessage = /* */ export type GetConnectionsResponse = Message<"mgmt.v1alpha1.GetConnectionsResponse"> & { /** + * The connections + * * @generated from field: repeated mgmt.v1alpha1.Connection connections = 1; */ connections: Connection[]; @@ -54,6 +58,8 @@ export const GetConnectionsResponseSchema: GenMessage = */ export type GetConnectionRequest = Message<"mgmt.v1alpha1.GetConnectionRequest"> & { /** + * The unique identifier of the connection to get + * * @generated from field: string id = 1; */ id: string; @@ -71,6 +77,8 @@ export const GetConnectionRequestSchema: GenMessage = /*@_ */ export type GetConnectionResponse = Message<"mgmt.v1alpha1.GetConnectionResponse"> & { /** + * The connection + * * @generated from field: mgmt.v1alpha1.Connection connection = 1; */ connection?: Connection; @@ -88,6 +96,8 @@ export const GetConnectionResponseSchema: GenMessage = /* */ export type CreateConnectionRequest = Message<"mgmt.v1alpha1.CreateConnectionRequest"> & { /** + * The unique identifier of the account to create the connection for + * * @generated from field: string account_id = 1; */ accountId: string; @@ -100,6 +110,8 @@ export type CreateConnectionRequest = Message<"mgmt.v1alpha1.CreateConnectionReq name: string; /** + * The connection configuration to use for the connection + * * @generated from field: mgmt.v1alpha1.ConnectionConfig connection_config = 3; */ connectionConfig?: ConnectionConfig; @@ -117,6 +129,8 @@ export const CreateConnectionRequestSchema: GenMessage */ export type CreateConnectionResponse = Message<"mgmt.v1alpha1.CreateConnectionResponse"> & { /** + * The created connection + * * @generated from field: mgmt.v1alpha1.Connection connection = 1; */ connection?: Connection; @@ -134,16 +148,22 @@ export const CreateConnectionResponseSchema: GenMessage & { /** + * The unique identifier of the connection to update + * * @generated from field: string id = 1; */ id: string; /** + * The friendly name of the connection + * * @generated from field: string name = 2; */ name: string; /** + * The connection configuration to use for the connection + * * @generated from field: mgmt.v1alpha1.ConnectionConfig connection_config = 3; */ connectionConfig?: ConnectionConfig; @@ -161,6 +181,8 @@ export const UpdateConnectionRequestSchema: GenMessage */ export type UpdateConnectionResponse = Message<"mgmt.v1alpha1.UpdateConnectionResponse"> & { /** + * The updated connection + * * @generated from field: mgmt.v1alpha1.Connection connection = 1; */ connection?: Connection; @@ -178,6 +200,8 @@ export const UpdateConnectionResponseSchema: GenMessage & { /** + * The unique identifier of the connection to delete + * * @generated from field: string id = 1; */ id: string; @@ -208,6 +232,8 @@ export const DeleteConnectionResponseSchema: GenMessage & { /** + * The connection configuration to validate + * * @generated from field: mgmt.v1alpha1.ConnectionConfig connection_config = 1; */ connectionConfig?: ConnectionConfig; @@ -534,6 +560,8 @@ export type MssqlConnectionConfig = Message<"mgmt.v1alpha1.MssqlConnectionConfig } | { case: undefined; value?: undefined }; /** + * Provide connection options that can be used to further fine-tune the connection + * * @generated from field: mgmt.v1alpha1.SqlConnectionOptions connection_options = 2; */ connectionOptions?: SqlConnectionOptions; @@ -651,7 +679,7 @@ export type OpenAiConnectionConfig = Message<"mgmt.v1alpha1.OpenAiConnectionConf apiKey: string; /** - * OpenAI URL + * OpenAI URL (if using a custom endpoint) * * @generated from field: string api_url = 2; */ @@ -697,12 +725,16 @@ export type PostgresConnectionConfig = Message<"mgmt.v1alpha1.PostgresConnection */ connectionConfig: { /** + * A raw string url that will be used to construct the connection. Must be URI format. + * * @generated from field: string url = 1; */ value: string; case: "url"; } | { /** + * A structured representation of the connection that will be used to construct the url + * * @generated from field: mgmt.v1alpha1.PostgresConnection connection = 2; */ value: PostgresConnection; @@ -727,6 +759,8 @@ export type PostgresConnectionConfig = Message<"mgmt.v1alpha1.PostgresConnection tunnel?: SSHTunnel; /** + * Provide connection options that can be used to further fine-tune the connection + * * @generated from field: mgmt.v1alpha1.SqlConnectionOptions connection_options = 4; */ connectionOptions?: SqlConnectionOptions; @@ -899,12 +933,16 @@ export type SSHAuthentication = Message<"mgmt.v1alpha1.SSHAuthentication"> & { */ authConfig: { /** + * Password authentication + * * @generated from field: mgmt.v1alpha1.SSHPassphrase passphrase = 1; */ value: SSHPassphrase; case: "passphrase"; } | { /** + * Private key authentication + * * @generated from field: mgmt.v1alpha1.SSHPrivateKey private_key = 2; */ value: SSHPrivateKey; @@ -975,31 +1013,43 @@ export const SSHPrivateKeySchema: GenMessage = /*@__PURE__*/ */ export type PostgresConnection = Message<"mgmt.v1alpha1.PostgresConnection"> & { /** + * The host to use for the connection + * * @generated from field: string host = 1; */ host: string; /** + * The port to use for the connection + * * @generated from field: int32 port = 2; */ port: number; /** + * The name of the database to use for the connection + * * @generated from field: string name = 3; */ name: string; /** + * The user to use for the connection + * * @generated from field: string user = 4; */ user: string; /** + * The password to use for the connection + * * @generated from field: string pass = 5; */ pass: string; /** + * The SSL mode to use for the connection + * * @generated from field: optional string ssl_mode = 6; */ sslMode?: string; @@ -1017,31 +1067,43 @@ export const PostgresConnectionSchema: GenMessage = /*@__PUR */ export type MysqlConnection = Message<"mgmt.v1alpha1.MysqlConnection"> & { /** + * The user to use for the connection + * * @generated from field: string user = 1; */ user: string; /** + * The password to use for the connection + * * @generated from field: string pass = 2; */ pass: string; /** + * The protocol to use for the connection + * * @generated from field: string protocol = 3; */ protocol: string; /** + * The host to use for the connection + * * @generated from field: string host = 4; */ host: string; /** + * The port to use for the connection + * * @generated from field: int32 port = 5; */ port: number; /** + * The name of the database to use for the connection + * * @generated from field: string name = 6; */ name: string; @@ -1065,12 +1127,16 @@ export type MysqlConnectionConfig = Message<"mgmt.v1alpha1.MysqlConnectionConfig */ connectionConfig: { /** + * A raw string url that will be used to construct the connection. DSN format. URI format also supported but more limited. + * * @generated from field: string url = 1; */ value: string; case: "url"; } | { /** + * A structured representation of the connection that will be used to construct the url + * * @generated from field: mgmt.v1alpha1.MysqlConnection connection = 2; */ value: MysqlConnection; @@ -1095,6 +1161,8 @@ export type MysqlConnectionConfig = Message<"mgmt.v1alpha1.MysqlConnectionConfig tunnel?: SSHTunnel; /** + * Provide connection options that can be used to further fine-tune the connection + * * @generated from field: mgmt.v1alpha1.SqlConnectionOptions connection_options = 4; */ connectionOptions?: SqlConnectionOptions; @@ -1119,26 +1187,36 @@ export const MysqlConnectionConfigSchema: GenMessage = /* */ export type AwsS3ConnectionConfig = Message<"mgmt.v1alpha1.AwsS3ConnectionConfig"> & { /** + * The bucket path prefix that will be appended to each file + * * @generated from field: optional string path_prefix = 2; */ pathPrefix?: string; /** + * The credentials to use for the S3 bucket + * * @generated from field: optional mgmt.v1alpha1.AwsS3Credentials credentials = 3; */ credentials?: AwsS3Credentials; /** + * The region of the S3 bucket + * * @generated from field: optional string region = 4; */ region?: string; /** + * The endpoint of the S3 bucket (if using a custom endpoint like region specific endpoints or S3-compatible APIs) + * * @generated from field: optional string endpoint = 5; */ endpoint?: string; /** + * The name of the S3 bucket + * * @generated from field: string bucket = 6; */ bucket: string; @@ -1159,36 +1237,50 @@ export const AwsS3ConnectionConfigSchema: GenMessage = /* */ export type AwsS3Credentials = Message<"mgmt.v1alpha1.AwsS3Credentials"> & { /** + * The profile to use for the S3 credentials + * * @generated from field: optional string profile = 1; */ profile?: string; /** + * The access key id to use for the S3 credentials + * * @generated from field: optional string access_key_id = 2; */ accessKeyId?: string; /** + * The secret access key to use for the S3 credentials + * * @generated from field: optional string secret_access_key = 3; */ secretAccessKey?: string; /** + * The session token to use for the S3 credentials + * * @generated from field: optional string session_token = 4; */ sessionToken?: string; /** + * Whether or not the credentials are from an EC2 role + * * @generated from field: optional bool from_ec2_role = 5; */ fromEc2Role?: boolean; /** + * The ARN of the role to use for the S3 credentials + * * @generated from field: optional string role_arn = 6; */ roleArn?: string; /** + * The role's external ID to use for the S3 credentials + * * @generated from field: optional string role_external_id = 7; */ roleExternalId?: string; @@ -1241,11 +1333,15 @@ export const GcpCloudStorageConnectionConfigSchema: GenMessage & { /** + * The unique identifier of the account to check the connection name for + * * @generated from field: string account_id = 1; */ accountId: string; /** + * The connection name to check for availability + * * @generated from field: string connection_name = 2; */ connectionName: string; @@ -1263,6 +1359,8 @@ export const IsConnectionNameAvailableRequestSchema: GenMessage & { /** + * Whether or not the connection name is available + * * @generated from field: bool is_available = 1; */ isAvailable: boolean; diff --git a/frontend/packages/sdk/src/client/mgmt/v1alpha1/job_pb.ts b/frontend/packages/sdk/src/client/mgmt/v1alpha1/job_pb.ts index 42275e1ec6..527db6ccab 100644 --- a/frontend/packages/sdk/src/client/mgmt/v1alpha1/job_pb.ts +++ b/frontend/packages/sdk/src/client/mgmt/v1alpha1/job_pb.ts @@ -15,13 +15,15 @@ import type { Message } from "@bufbuild/protobuf"; * Describes the file mgmt/v1alpha1/job.proto. */ export const file_mgmt_v1alpha1_job: GenFile = /*@__PURE__*/ - fileDesc("ChdtZ210L3YxYWxwaGExL2pvYi5wcm90bxINbWdtdC52MWFscGhhMSIuCg5HZXRKb2JzUmVxdWVzdBIcCgphY2NvdW50X2lkGAEgASgJQgi6SAVyA7ABASIzCg9HZXRKb2JzUmVzcG9uc2USIAoEam9icxgBIAMoCzISLm1nbXQudjFhbHBoYTEuSm9iIkUKCUpvYlNvdXJjZRI4CgdvcHRpb25zGAEgASgLMh8ubWdtdC52MWFscGhhMS5Kb2JTb3VyY2VPcHRpb25zQga6SAPIAQEioQQKEEpvYlNvdXJjZU9wdGlvbnMSQgoIcG9zdGdyZXMYASABKAsyLi5tZ210LnYxYWxwaGExLlBvc3RncmVzU291cmNlQ29ubmVjdGlvbk9wdGlvbnNIABI9CgZhd3NfczMYAiABKAsyKy5tZ210LnYxYWxwaGExLkF3c1MzU291cmNlQ29ubmVjdGlvbk9wdGlvbnNIABI8CgVteXNxbBgDIAEoCzIrLm1nbXQudjFhbHBoYTEuTXlzcWxTb3VyY2VDb25uZWN0aW9uT3B0aW9uc0gAEjgKCGdlbmVyYXRlGAQgASgLMiQubWdtdC52MWFscGhhMS5HZW5lcmF0ZVNvdXJjZU9wdGlvbnNIABI9CgthaV9nZW5lcmF0ZRgFIAEoCzImLm1nbXQudjFhbHBoYTEuQWlHZW5lcmF0ZVNvdXJjZU9wdGlvbnNIABJACgdtb25nb2RiGAYgASgLMi0ubWdtdC52MWFscGhhMS5Nb25nb0RCU291cmNlQ29ubmVjdGlvbk9wdGlvbnNIABJCCghkeW5hbW9kYhgHIAEoCzIuLm1nbXQudjFhbHBoYTEuRHluYW1vREJTb3VyY2VDb25uZWN0aW9uT3B0aW9uc0gAEjwKBW1zc3FsGAggASgLMisubWdtdC52MWFscGhhMS5Nc3NxbFNvdXJjZUNvbm5lY3Rpb25PcHRpb25zSABCDwoGY29uZmlnEgW6SAIIASJuChRDcmVhdGVKb2JEZXN0aW5hdGlvbhIfCg1jb25uZWN0aW9uX2lkGAEgASgJQgi6SAVyA7ABARI1CgdvcHRpb25zGAIgASgLMiQubWdtdC52MWFscGhhMS5Kb2JEZXN0aW5hdGlvbk9wdGlvbnMiagoOSm9iRGVzdGluYXRpb24SFQoNY29ubmVjdGlvbl9pZBgBIAEoCRI1CgdvcHRpb25zGAIgASgLMiQubWdtdC52MWFscGhhMS5Kb2JEZXN0aW5hdGlvbk9wdGlvbnMSCgoCaWQYAyABKAki3QIKF0FpR2VuZXJhdGVTb3VyY2VPcHRpb25zEiIKEGFpX2Nvbm5lY3Rpb25faWQYASABKAlCCLpIBXIDsAEBEkYKB3NjaGVtYXMYAiADKAsyKy5tZ210LnYxYWxwaGExLkFpR2VuZXJhdGVTb3VyY2VTY2hlbWFPcHRpb25CCLpIBZIBAggBEi4KF2ZrX3NvdXJjZV9jb25uZWN0aW9uX2lkGAMgASgJQgi6SAVyA7ABAUgAiAEBEhsKCm1vZGVsX25hbWUYBCABKAlCB7pIBHICEAESGAoLdXNlcl9wcm9tcHQYBSABKAlIAYgBARIrChNnZW5lcmF0ZV9iYXRjaF9zaXplGAYgASgDQgm6SAYiBBhkKAFIAogBAUIaChhfZmtfc291cmNlX2Nvbm5lY3Rpb25faWRCDgoMX3VzZXJfcHJvbXB0QhYKFF9nZW5lcmF0ZV9iYXRjaF9zaXplIn0KHEFpR2VuZXJhdGVTb3VyY2VTY2hlbWFPcHRpb24SFwoGc2NoZW1hGAEgASgJQge6SARyAhABEkQKBnRhYmxlcxgCIAMoCzIqLm1nbXQudjFhbHBoYTEuQWlHZW5lcmF0ZVNvdXJjZVRhYmxlT3B0aW9uQgi6SAWSAQIIASJUChtBaUdlbmVyYXRlU291cmNlVGFibGVPcHRpb24SFgoFdGFibGUYASABKAlCB7pIBHICEAESHQoJcm93X2NvdW50GAIgASgDQgq6SAciBRjoBygBIqkBChVHZW5lcmF0ZVNvdXJjZU9wdGlvbnMSRAoHc2NoZW1hcxgBIAMoCzIpLm1nbXQudjFhbHBoYTEuR2VuZXJhdGVTb3VyY2VTY2hlbWFPcHRpb25CCLpIBZIBAggBEi4KF2ZrX3NvdXJjZV9jb25uZWN0aW9uX2lkGAMgASgJQgi6SAVyA7ABAUgAiAEBQhoKGF9ma19zb3VyY2VfY29ubmVjdGlvbl9pZCJ5ChpHZW5lcmF0ZVNvdXJjZVNjaGVtYU9wdGlvbhIXCgZzY2hlbWEYASABKAlCB7pIBHICEAESQgoGdGFibGVzGAIgAygLMigubWdtdC52MWFscGhhMS5HZW5lcmF0ZVNvdXJjZVRhYmxlT3B0aW9uQgi6SAWSAQIIASJPChlHZW5lcmF0ZVNvdXJjZVRhYmxlT3B0aW9uEhYKBXRhYmxlGAEgASgJQge6SARyAhABEhoKCXJvd19jb3VudBgCIAEoA0IHukgEIgIoASJBCh5Nb25nb0RCU291cmNlQ29ubmVjdGlvbk9wdGlvbnMSHwoNY29ubmVjdGlvbl9pZBgBIAEoCUIIukgFcgOwAQEi7wEKH0R5bmFtb0RCU291cmNlQ29ubmVjdGlvbk9wdGlvbnMSHwoNY29ubmVjdGlvbl9pZBgBIAEoCUIIukgFcgOwAQESOAoGdGFibGVzGAIgAygLMigubWdtdC52MWFscGhhMS5EeW5hbW9EQlNvdXJjZVRhYmxlT3B0aW9uElEKE3VubWFwcGVkX3RyYW5zZm9ybXMYAyABKAsyNC5tZ210LnYxYWxwaGExLkR5bmFtb0RCU291cmNlVW5tYXBwZWRUcmFuc2Zvcm1Db25maWcSHgoWZW5hYmxlX2NvbnNpc3RlbnRfcmVhZBgEIAEoCCLxAQolRHluYW1vREJTb3VyY2VVbm1hcHBlZFRyYW5zZm9ybUNvbmZpZxIvCgFiGAEgASgLMiQubWdtdC52MWFscGhhMS5Kb2JNYXBwaW5nVHJhbnNmb3JtZXISNQoHYm9vbGVhbhgCIAEoCzIkLm1nbXQudjFhbHBoYTEuSm9iTWFwcGluZ1RyYW5zZm9ybWVyEi8KAW4YBCABKAsyJC5tZ210LnYxYWxwaGExLkpvYk1hcHBpbmdUcmFuc2Zvcm1lchIvCgFzGAYgASgLMiQubWdtdC52MWFscGhhMS5Kb2JNYXBwaW5nVHJhbnNmb3JtZXIiXwoZRHluYW1vREJTb3VyY2VUYWJsZU9wdGlvbhIWCgV0YWJsZRgBIAEoCUIHukgEcgIQARIZCgx3aGVyZV9jbGF1c2UYAiABKAlIAIgBAUIPCg1fd2hlcmVfY2xhdXNlIp4HCh9Qb3N0Z3Jlc1NvdXJjZUNvbm5lY3Rpb25PcHRpb25zEjoKB3NjaGVtYXMYAiADKAsyKS5tZ210LnYxYWxwaGExLlBvc3RncmVzU291cmNlU2NoZW1hT3B0aW9uEh8KDWNvbm5lY3Rpb25faWQYAyABKAlCCLpIBXIDsAEBEikKIXN1YnNldF9ieV9mb3JlaWduX2tleV9jb25zdHJhaW50cxgEIAEoCBJuChxuZXdfY29sdW1uX2FkZGl0aW9uX3N0cmF0ZWd5GAUgASgLMkgubWdtdC52MWFscGhhMS5Qb3N0Z3Jlc1NvdXJjZUNvbm5lY3Rpb25PcHRpb25zLk5ld0NvbHVtbkFkZGl0aW9uU3RyYXRlZ3kSZQoXY29sdW1uX3JlbW92YWxfc3RyYXRlZ3kYBiABKAsyRC5tZ210LnYxYWxwaGExLlBvc3RncmVzU291cmNlQ29ubmVjdGlvbk9wdGlvbnMuQ29sdW1uUmVtb3ZhbFN0cmF0ZWd5GokCChlOZXdDb2x1bW5BZGRpdGlvblN0cmF0ZWd5EmQKCGhhbHRfam9iGAEgASgLMlAubWdtdC52MWFscGhhMS5Qb3N0Z3Jlc1NvdXJjZUNvbm5lY3Rpb25PcHRpb25zLk5ld0NvbHVtbkFkZGl0aW9uU3RyYXRlZ3kuSGFsdEpvYkgAEmQKCGF1dG9fbWFwGAIgASgLMlAubWdtdC52MWFscGhhMS5Qb3N0Z3Jlc1NvdXJjZUNvbm5lY3Rpb25PcHRpb25zLk5ld0NvbHVtbkFkZGl0aW9uU3RyYXRlZ3kuQXV0b01hcEgAGgkKB0hhbHRKb2IaCQoHQXV0b01hcEIKCghzdHJhdGVneRqJAgoVQ29sdW1uUmVtb3ZhbFN0cmF0ZWd5EmAKCGhhbHRfam9iGAEgASgLMkwubWdtdC52MWFscGhhMS5Qb3N0Z3Jlc1NvdXJjZUNvbm5lY3Rpb25PcHRpb25zLkNvbHVtblJlbW92YWxTdHJhdGVneS5IYWx0Sm9iSAASaAoMY29udGludWVfam9iGAIgASgLMlAubWdtdC52MWFscGhhMS5Qb3N0Z3Jlc1NvdXJjZUNvbm5lY3Rpb25PcHRpb25zLkNvbHVtblJlbW92YWxTdHJhdGVneS5Db250aW51ZUpvYkgAGgkKB0hhbHRKb2IaDQoLQ29udGludWVKb2JCCgoIc3RyYXRlZ3lKBAgBEAIiZgoaUG9zdGdyZXNTb3VyY2VTY2hlbWFPcHRpb24SDgoGc2NoZW1hGAEgASgJEjgKBnRhYmxlcxgCIAMoCzIoLm1nbXQudjFhbHBoYTEuUG9zdGdyZXNTb3VyY2VUYWJsZU9wdGlvbiJWChlQb3N0Z3Jlc1NvdXJjZVRhYmxlT3B0aW9uEg0KBXRhYmxlGAEgASgJEhkKDHdoZXJlX2NsYXVzZRgCIAEoCUgAiAEBQg8KDV93aGVyZV9jbGF1c2UisgQKHE15c3FsU291cmNlQ29ubmVjdGlvbk9wdGlvbnMSIwobaGFsdF9vbl9uZXdfY29sdW1uX2FkZGl0aW9uGAEgASgIEjcKB3NjaGVtYXMYAiADKAsyJi5tZ210LnYxYWxwaGExLk15c3FsU291cmNlU2NoZW1hT3B0aW9uEh8KDWNvbm5lY3Rpb25faWQYAyABKAlCCLpIBXIDsAEBEikKIXN1YnNldF9ieV9mb3JlaWduX2tleV9jb25zdHJhaW50cxgEIAEoCBJiChdjb2x1bW5fcmVtb3ZhbF9zdHJhdGVneRgFIAEoCzJBLm1nbXQudjFhbHBoYTEuTXlzcWxTb3VyY2VDb25uZWN0aW9uT3B0aW9ucy5Db2x1bW5SZW1vdmFsU3RyYXRlZ3kagwIKFUNvbHVtblJlbW92YWxTdHJhdGVneRJdCghoYWx0X2pvYhgBIAEoCzJJLm1nbXQudjFhbHBoYTEuTXlzcWxTb3VyY2VDb25uZWN0aW9uT3B0aW9ucy5Db2x1bW5SZW1vdmFsU3RyYXRlZ3kuSGFsdEpvYkgAEmUKDGNvbnRpbnVlX2pvYhgCIAEoCzJNLm1nbXQudjFhbHBoYTEuTXlzcWxTb3VyY2VDb25uZWN0aW9uT3B0aW9ucy5Db2x1bW5SZW1vdmFsU3RyYXRlZ3kuQ29udGludWVKb2JIABoJCgdIYWx0Sm9iGg0KC0NvbnRpbnVlSm9iQgoKCHN0cmF0ZWd5ImAKF015c3FsU291cmNlU2NoZW1hT3B0aW9uEg4KBnNjaGVtYRgBIAEoCRI1CgZ0YWJsZXMYAiADKAsyJS5tZ210LnYxYWxwaGExLk15c3FsU291cmNlVGFibGVPcHRpb24iUwoWTXlzcWxTb3VyY2VUYWJsZU9wdGlvbhINCgV0YWJsZRgBIAEoCRIZCgx3aGVyZV9jbGF1c2UYAiABKAlIAIgBAUIPCg1fd2hlcmVfY2xhdXNlIrIEChxNc3NxbFNvdXJjZUNvbm5lY3Rpb25PcHRpb25zEiMKG2hhbHRfb25fbmV3X2NvbHVtbl9hZGRpdGlvbhgBIAEoCBI3CgdzY2hlbWFzGAIgAygLMiYubWdtdC52MWFscGhhMS5Nc3NxbFNvdXJjZVNjaGVtYU9wdGlvbhIfCg1jb25uZWN0aW9uX2lkGAMgASgJQgi6SAVyA7ABARIpCiFzdWJzZXRfYnlfZm9yZWlnbl9rZXlfY29uc3RyYWludHMYBCABKAgSYgoXY29sdW1uX3JlbW92YWxfc3RyYXRlZ3kYBSABKAsyQS5tZ210LnYxYWxwaGExLk1zc3FsU291cmNlQ29ubmVjdGlvbk9wdGlvbnMuQ29sdW1uUmVtb3ZhbFN0cmF0ZWd5GoMCChVDb2x1bW5SZW1vdmFsU3RyYXRlZ3kSXQoIaGFsdF9qb2IYASABKAsySS5tZ210LnYxYWxwaGExLk1zc3FsU291cmNlQ29ubmVjdGlvbk9wdGlvbnMuQ29sdW1uUmVtb3ZhbFN0cmF0ZWd5LkhhbHRKb2JIABJlCgxjb250aW51ZV9qb2IYAiABKAsyTS5tZ210LnYxYWxwaGExLk1zc3FsU291cmNlQ29ubmVjdGlvbk9wdGlvbnMuQ29sdW1uUmVtb3ZhbFN0cmF0ZWd5LkNvbnRpbnVlSm9iSAAaCQoHSGFsdEpvYhoNCgtDb250aW51ZUpvYkIKCghzdHJhdGVneSJgChdNc3NxbFNvdXJjZVNjaGVtYU9wdGlvbhIOCgZzY2hlbWEYASABKAkSNQoGdGFibGVzGAIgAygLMiUubWdtdC52MWFscGhhMS5Nc3NxbFNvdXJjZVRhYmxlT3B0aW9uIlMKFk1zc3FsU291cmNlVGFibGVPcHRpb24SDQoFdGFibGUYASABKAkSGQoMd2hlcmVfY2xhdXNlGAIgASgJSACIAQFCDwoNX3doZXJlX2NsYXVzZSI/ChxBd3NTM1NvdXJjZUNvbm5lY3Rpb25PcHRpb25zEh8KDWNvbm5lY3Rpb25faWQYASABKAlCCLpIBXIDsAEBItsEChVKb2JEZXN0aW5hdGlvbk9wdGlvbnMSTwoQcG9zdGdyZXNfb3B0aW9ucxgBIAEoCzIzLm1nbXQudjFhbHBoYTEuUG9zdGdyZXNEZXN0aW5hdGlvbkNvbm5lY3Rpb25PcHRpb25zSAASSgoOYXdzX3MzX29wdGlvbnMYAiABKAsyMC5tZ210LnYxYWxwaGExLkF3c1MzRGVzdGluYXRpb25Db25uZWN0aW9uT3B0aW9uc0gAEkkKDW15c3FsX29wdGlvbnMYAyABKAsyMC5tZ210LnYxYWxwaGExLk15c3FsRGVzdGluYXRpb25Db25uZWN0aW9uT3B0aW9uc0gAEk0KD21vbmdvZGJfb3B0aW9ucxgEIAEoCzIyLm1nbXQudjFhbHBoYTEuTW9uZ29EQkRlc3RpbmF0aW9uQ29ubmVjdGlvbk9wdGlvbnNIABJeChhnY3BfY2xvdWRzdG9yYWdlX29wdGlvbnMYBSABKAsyOi5tZ210LnYxYWxwaGExLkdjcENsb3VkU3RvcmFnZURlc3RpbmF0aW9uQ29ubmVjdGlvbk9wdGlvbnNIABJPChBkeW5hbW9kYl9vcHRpb25zGAYgASgLMjMubWdtdC52MWFscGhhMS5EeW5hbW9EQkRlc3RpbmF0aW9uQ29ubmVjdGlvbk9wdGlvbnNIABJJCg1tc3NxbF9vcHRpb25zGAcgASgLMjAubWdtdC52MWFscGhhMS5Nc3NxbERlc3RpbmF0aW9uQ29ubmVjdGlvbk9wdGlvbnNIAEIPCgZjb25maWcSBbpIAggBIiUKI01vbmdvREJEZXN0aW5hdGlvbkNvbm5lY3Rpb25PcHRpb25zIi0KK0djcENsb3VkU3RvcmFnZURlc3RpbmF0aW9uQ29ubmVjdGlvbk9wdGlvbnMibgokRHluYW1vREJEZXN0aW5hdGlvbkNvbm5lY3Rpb25PcHRpb25zEkYKDnRhYmxlX21hcHBpbmdzGAEgAygLMi4ubWdtdC52MWFscGhhMS5EeW5hbW9EQkRlc3RpbmF0aW9uVGFibGVNYXBwaW5nIlIKH0R5bmFtb0RCRGVzdGluYXRpb25UYWJsZU1hcHBpbmcSFAoMc291cmNlX3RhYmxlGAEgASgJEhkKEWRlc3RpbmF0aW9uX3RhYmxlGAIgASgJIsoCCiRQb3N0Z3Jlc0Rlc3RpbmF0aW9uQ29ubmVjdGlvbk9wdGlvbnMSQgoOdHJ1bmNhdGVfdGFibGUYASABKAsyKi5tZ210LnYxYWxwaGExLlBvc3RncmVzVHJ1bmNhdGVUYWJsZUNvbmZpZxIZChFpbml0X3RhYmxlX3NjaGVtYRgCIAEoCBI8Cgtvbl9jb25mbGljdBgDIAEoCzInLm1nbXQudjFhbHBoYTEuUG9zdGdyZXNPbkNvbmZsaWN0Q29uZmlnEiMKG3NraXBfZm9yZWlnbl9rZXlfdmlvbGF0aW9ucxgEIAEoCBIpCgViYXRjaBgFIAEoCzIaLm1nbXQudjFhbHBoYTEuQmF0Y2hDb25maWcSIwoNbWF4X2luX2ZsaWdodBgGIAEoDUIHukgEKgIoAUgAiAEBQhAKDl9tYXhfaW5fZmxpZ2h0IqgCChhQb3N0Z3Jlc09uQ29uZmxpY3RDb25maWcSEgoKZG9fbm90aGluZxgBIAEoCBJWCgdub3RoaW5nGAIgASgLMkMubWdtdC52MWFscGhhMS5Qb3N0Z3Jlc09uQ29uZmxpY3RDb25maWcuUG9zdGdyZXNPbkNvbmZsaWN0RG9Ob3RoaW5nSAASUgoGdXBkYXRlGAMgASgLMkAubWdtdC52MWFscGhhMS5Qb3N0Z3Jlc09uQ29uZmxpY3RDb25maWcuUG9zdGdyZXNPbkNvbmZsaWN0VXBkYXRlSAAaHQobUG9zdGdyZXNPbkNvbmZsaWN0RG9Ob3RoaW5nGhoKGFBvc3RncmVzT25Db25mbGljdFVwZGF0ZUIRCghzdHJhdGVneRIFukgCCAAiTgobUG9zdGdyZXNUcnVuY2F0ZVRhYmxlQ29uZmlnEh4KFnRydW5jYXRlX2JlZm9yZV9pbnNlcnQYASABKAgSDwoHY2FzY2FkZRgCIAEoCCLBAgohTXlzcWxEZXN0aW5hdGlvbkNvbm5lY3Rpb25PcHRpb25zEj8KDnRydW5jYXRlX3RhYmxlGAEgASgLMicubWdtdC52MWFscGhhMS5NeXNxbFRydW5jYXRlVGFibGVDb25maWcSGQoRaW5pdF90YWJsZV9zY2hlbWEYAiABKAgSOQoLb25fY29uZmxpY3QYAyABKAsyJC5tZ210LnYxYWxwaGExLk15c3FsT25Db25mbGljdENvbmZpZxIjChtza2lwX2ZvcmVpZ25fa2V5X3Zpb2xhdGlvbnMYBCABKAgSKQoFYmF0Y2gYBSABKAsyGi5tZ210LnYxYWxwaGExLkJhdGNoQ29uZmlnEiMKDW1heF9pbl9mbGlnaHQYBiABKA1CB7pIBCoCKAFIAIgBAUIQCg5fbWF4X2luX2ZsaWdodCI6ChhNeXNxbFRydW5jYXRlVGFibGVDb25maWcSHgoWdHJ1bmNhdGVfYmVmb3JlX2luc2VydBgBIAEoCCKTAgoVTXlzcWxPbkNvbmZsaWN0Q29uZmlnEhIKCmRvX25vdGhpbmcYASABKAgSUAoHbm90aGluZxgCIAEoCzI9Lm1nbXQudjFhbHBoYTEuTXlzcWxPbkNvbmZsaWN0Q29uZmlnLk15c3FsT25Db25mbGljdERvTm90aGluZ0gAEkwKBnVwZGF0ZRgDIAEoCzI6Lm1nbXQudjFhbHBoYTEuTXlzcWxPbkNvbmZsaWN0Q29uZmlnLk15c3FsT25Db25mbGljdFVwZGF0ZUgAGhoKGE15c3FsT25Db25mbGljdERvTm90aGluZxoXChVNeXNxbE9uQ29uZmxpY3RVcGRhdGVCEQoIc3RyYXRlZ3kSBbpIAggAIsECCiFNc3NxbERlc3RpbmF0aW9uQ29ubmVjdGlvbk9wdGlvbnMSPwoOdHJ1bmNhdGVfdGFibGUYASABKAsyJy5tZ210LnYxYWxwaGExLk1zc3FsVHJ1bmNhdGVUYWJsZUNvbmZpZxIZChFpbml0X3RhYmxlX3NjaGVtYRgCIAEoCBI5Cgtvbl9jb25mbGljdBgDIAEoCzIkLm1nbXQudjFhbHBoYTEuTXNzcWxPbkNvbmZsaWN0Q29uZmlnEiMKG3NraXBfZm9yZWlnbl9rZXlfdmlvbGF0aW9ucxgEIAEoCBIpCgViYXRjaBgFIAEoCzIaLm1nbXQudjFhbHBoYTEuQmF0Y2hDb25maWcSIwoNbWF4X2luX2ZsaWdodBgGIAEoDUIHukgEKgIoAUgAiAEBQhAKDl9tYXhfaW5fZmxpZ2h0IjoKGE1zc3FsVHJ1bmNhdGVUYWJsZUNvbmZpZxIeChZ0cnVuY2F0ZV9iZWZvcmVfaW5zZXJ0GAEgASgIIisKFU1zc3FsT25Db25mbGljdENvbmZpZxISCgpkb19ub3RoaW5nGAEgASgIIo4ECiFBd3NTM0Rlc3RpbmF0aW9uQ29ubmVjdGlvbk9wdGlvbnMSVAoNc3RvcmFnZV9jbGFzcxgBIAEoDjI9Lm1nbXQudjFhbHBoYTEuQXdzUzNEZXN0aW5hdGlvbkNvbm5lY3Rpb25PcHRpb25zLlN0b3JhZ2VDbGFzcxIjCg1tYXhfaW5fZmxpZ2h0GAIgASgNQge6SAQqAigBSACIAQESFAoHdGltZW91dBgDIAEoCUgBiAEBEikKBWJhdGNoGAQgASgLMhoubWdtdC52MWFscGhhMS5CYXRjaENvbmZpZyKOAgoMU3RvcmFnZUNsYXNzEh0KGVNUT1JBR0VfQ0xBU1NfVU5TUEVDSUZJRUQQABIaChZTVE9SQUdFX0NMQVNTX1NUQU5EQVJEEAESJAogU1RPUkFHRV9DTEFTU19SRURVQ0VEX1JFRFVOREFOQ1kQAhIZChVTVE9SQUdFX0NMQVNTX0dMQUNJRVIQAxIdChlTVE9SQUdFX0NMQVNTX1NUQU5EQVJEX0lBEAQSHAoYU1RPUkFHRV9DTEFTU19PTkVaT05FX0lBEAUSJQohU1RPUkFHRV9DTEFTU19JTlRFTExJR0VOVF9USUVSSU5HEAYSHgoaU1RPUkFHRV9DTEFTU19ERUVQX0FSQ0hJVkUQB0IQCg5fbWF4X2luX2ZsaWdodEIKCghfdGltZW91dCJLCgtCYXRjaENvbmZpZxISCgVjb3VudBgBIAEoDUgAiAEBEhMKBnBlcmlvZBgCIAEoCUgBiAEBQggKBl9jb3VudEIJCgdfcGVyaW9kIu4DChBDcmVhdGVKb2JSZXF1ZXN0EhwKCmFjY291bnRfaWQYASABKAlCCLpIBXIDsAEBEisKCGpvYl9uYW1lGAIgASgJQhm6SBZyFDISXlthLXowLTktXXszLDEwMH0kEhoKDWNyb25fc2NoZWR1bGUYAyABKAlIAIgBARIrCghtYXBwaW5ncxgEIAMoCzIZLm1nbXQudjFhbHBoYTEuSm9iTWFwcGluZxIoCgZzb3VyY2UYBSABKAsyGC5tZ210LnYxYWxwaGExLkpvYlNvdXJjZRI5CgxkZXN0aW5hdGlvbnMYBiADKAsyIy5tZ210LnYxYWxwaGExLkNyZWF0ZUpvYkRlc3RpbmF0aW9uEhgKEGluaXRpYXRlX2pvYl9ydW4YByABKAgSOAoQd29ya2Zsb3dfb3B0aW9ucxgIIAEoCzIeLm1nbXQudjFhbHBoYTEuV29ya2Zsb3dPcHRpb25zEjQKDHN5bmNfb3B0aW9ucxgJIAEoCzIeLm1nbXQudjFhbHBoYTEuQWN0aXZpdHlPcHRpb25zEkUKFHZpcnR1YWxfZm9yZWlnbl9rZXlzGAogAygLMicubWdtdC52MWFscGhhMS5WaXJ0dWFsRm9yZWlnbkNvbnN0cmFpbnRCEAoOX2Nyb25fc2NoZWR1bGUiOwoPV29ya2Zsb3dPcHRpb25zEhgKC3J1bl90aW1lb3V0GAggASgDSACIAQFCDgoMX3J1bl90aW1lb3V0ItsBCg9BY3Rpdml0eU9wdGlvbnMSLwoZc2NoZWR1bGVfdG9fY2xvc2VfdGltZW91dBgBIAEoA0IHukgEIgIoAUgAiAEBEiwKFnN0YXJ0X3RvX2Nsb3NlX3RpbWVvdXQYAiABKANCB7pIBCICKAFIAYgBARIwCgxyZXRyeV9wb2xpY3kYAyABKAsyGi5tZ210LnYxYWxwaGExLlJldHJ5UG9saWN5QhwKGl9zY2hlZHVsZV90b19jbG9zZV90aW1lb3V0QhkKF19zdGFydF90b19jbG9zZV90aW1lb3V0IkoKC1JldHJ5UG9saWN5EiYKEG1heGltdW1fYXR0ZW1wdHMYASABKAVCB7pIBBoCKABIAIgBAUITChFfbWF4aW11bV9hdHRlbXB0cyI0ChFDcmVhdGVKb2JSZXNwb25zZRIfCgNqb2IYASABKAsyEi5tZ210LnYxYWxwaGExLkpvYiJPChVKb2JNYXBwaW5nVHJhbnNmb3JtZXISMAoGY29uZmlnGAMgASgLMiAubWdtdC52MWFscGhhMS5UcmFuc2Zvcm1lckNvbmZpZ0oECAEQAiJ2CgpKb2JNYXBwaW5nEg4KBnNjaGVtYRgBIAEoCRINCgV0YWJsZRgCIAEoCRIOCgZjb2x1bW4YAyABKAkSOQoLdHJhbnNmb3JtZXIYBSABKAsyJC5tZ210LnYxYWxwaGExLkpvYk1hcHBpbmdUcmFuc2Zvcm1lciIlCg1HZXRKb2JSZXF1ZXN0EhQKAmlkGAEgASgJQgi6SAVyA7ABASIxCg5HZXRKb2JSZXNwb25zZRIfCgNqb2IYASABKAsyEi5tZ210LnYxYWxwaGExLkpvYiJeChhVcGRhdGVKb2JTY2hlZHVsZVJlcXVlc3QSFAoCaWQYASABKAlCCLpIBXIDsAEBEhoKDWNyb25fc2NoZWR1bGUYAiABKAlIAIgBAUIQCg5fY3Jvbl9zY2hlZHVsZSI8ChlVcGRhdGVKb2JTY2hlZHVsZVJlc3BvbnNlEh8KA2pvYhgBIAEoCzISLm1nbXQudjFhbHBoYTEuSm9iIlIKD1BhdXNlSm9iUmVxdWVzdBIUCgJpZBgBIAEoCUIIukgFcgOwAQESDQoFcGF1c2UYAiABKAgSEQoEbm90ZRgDIAEoCUgAiAEBQgcKBV9ub3RlIjMKEFBhdXNlSm9iUmVzcG9uc2USHwoDam9iGAEgASgLMhIubWdtdC52MWFscGhhMS5Kb2Ii1gEKIFVwZGF0ZUpvYlNvdXJjZUNvbm5lY3Rpb25SZXF1ZXN0EhQKAmlkGAEgASgJQgi6SAVyA7ABARIoCgZzb3VyY2UYAiABKAsyGC5tZ210LnYxYWxwaGExLkpvYlNvdXJjZRIrCghtYXBwaW5ncxgDIAMoCzIZLm1nbXQudjFhbHBoYTEuSm9iTWFwcGluZxJFChR2aXJ0dWFsX2ZvcmVpZ25fa2V5cxgEIAMoCzInLm1nbXQudjFhbHBoYTEuVmlydHVhbEZvcmVpZ25Db25zdHJhaW50IkQKIVVwZGF0ZUpvYlNvdXJjZUNvbm5lY3Rpb25SZXNwb25zZRIfCgNqb2IYASABKAsyEi5tZ210LnYxYWxwaGExLkpvYiJhChpQb3N0Z3Jlc1NvdXJjZVNjaGVtYVN1YnNldBJDChBwb3N0Z3Jlc19zY2hlbWFzGAEgAygLMikubWdtdC52MWFscGhhMS5Qb3N0Z3Jlc1NvdXJjZVNjaGVtYU9wdGlvbiJYChdNeXNxbFNvdXJjZVNjaGVtYVN1YnNldBI9Cg1teXNxbF9zY2hlbWFzGAEgAygLMiYubWdtdC52MWFscGhhMS5NeXNxbFNvdXJjZVNjaGVtYU9wdGlvbiJWChpEeW5hbW9EQlNvdXJjZVNjaGVtYVN1YnNldBI4CgZ0YWJsZXMYASADKAsyKC5tZ210LnYxYWxwaGExLkR5bmFtb0RCU291cmNlVGFibGVPcHRpb24iWAoXTXNzcWxTb3VyY2VTY2hlbWFTdWJzZXQSPQoNbXNzcWxfc2NoZW1hcxgBIAMoCzImLm1nbXQudjFhbHBoYTEuTXNzcWxTb3VyY2VTY2hlbWFPcHRpb24iuAIKGEpvYlNvdXJjZVNxbFN1YmV0U2NoZW1hcxJECg9wb3N0Z3Jlc19zdWJzZXQYAiABKAsyKS5tZ210LnYxYWxwaGExLlBvc3RncmVzU291cmNlU2NoZW1hU3Vic2V0SAASPgoMbXlzcWxfc3Vic2V0GAMgASgLMiYubWdtdC52MWFscGhhMS5NeXNxbFNvdXJjZVNjaGVtYVN1YnNldEgAEkQKD2R5bmFtb2RiX3N1YnNldBgEIAEoCzIpLm1nbXQudjFhbHBoYTEuRHluYW1vREJTb3VyY2VTY2hlbWFTdWJzZXRIABI+Cgxtc3NxbF9zdWJzZXQYBSABKAsyJi5tZ210LnYxYWxwaGExLk1zc3FsU291cmNlU2NoZW1hU3Vic2V0SABCEAoHc2NoZW1hcxIFukgCCAEipAEKJ1NldEpvYlNvdXJjZVNxbENvbm5lY3Rpb25TdWJzZXRzUmVxdWVzdBIUCgJpZBgBIAEoCUIIukgFcgOwAQESOAoHc2NoZW1hcxgCIAEoCzInLm1nbXQudjFhbHBoYTEuSm9iU291cmNlU3FsU3ViZXRTY2hlbWFzEikKIXN1YnNldF9ieV9mb3JlaWduX2tleV9jb25zdHJhaW50cxgDIAEoCCJLCihTZXRKb2JTb3VyY2VTcWxDb25uZWN0aW9uU3Vic2V0c1Jlc3BvbnNlEh8KA2pvYhgBIAEoCzISLm1nbXQudjFhbHBoYTEuSm9iIrEBCiVVcGRhdGVKb2JEZXN0aW5hdGlvbkNvbm5lY3Rpb25SZXF1ZXN0EhgKBmpvYl9pZBgBIAEoCUIIukgFcgOwAQESHwoNY29ubmVjdGlvbl9pZBgCIAEoCUIIukgFcgOwAQESNQoHb3B0aW9ucxgDIAEoCzIkLm1nbXQudjFhbHBoYTEuSm9iRGVzdGluYXRpb25PcHRpb25zEhYKDmRlc3RpbmF0aW9uX2lkGAQgASgJIkkKJlVwZGF0ZUpvYkRlc3RpbmF0aW9uQ29ubmVjdGlvblJlc3BvbnNlEh8KA2pvYhgBIAEoCzISLm1nbXQudjFhbHBoYTEuSm9iIkkKJURlbGV0ZUpvYkRlc3RpbmF0aW9uQ29ubmVjdGlvblJlcXVlc3QSIAoOZGVzdGluYXRpb25faWQYASABKAlCCLpIBXIDsAEBIigKJkRlbGV0ZUpvYkRlc3RpbmF0aW9uQ29ubmVjdGlvblJlc3BvbnNlIn0KJkNyZWF0ZUpvYkRlc3RpbmF0aW9uQ29ubmVjdGlvbnNSZXF1ZXN0EhgKBmpvYl9pZBgBIAEoCUIIukgFcgOwAQESOQoMZGVzdGluYXRpb25zGAIgAygLMiMubWdtdC52MWFscGhhMS5DcmVhdGVKb2JEZXN0aW5hdGlvbiJKCidDcmVhdGVKb2JEZXN0aW5hdGlvbkNvbm5lY3Rpb25zUmVzcG9uc2USHwoDam9iGAEgASgLMhIubWdtdC52MWFscGhhMS5Kb2IiKAoQRGVsZXRlSm9iUmVxdWVzdBIUCgJpZBgBIAEoCUIIukgFcgOwAQEiEwoRRGVsZXRlSm9iUmVzcG9uc2UiYgoZSXNKb2JOYW1lQXZhaWxhYmxlUmVxdWVzdBInCgRuYW1lGAEgASgJQhm6SBZyFDISXlthLXowLTktXXszLDEwMH0kEhwKCmFjY291bnRfaWQYAiABKAlCCLpIBXIDsAEBIjIKGklzSm9iTmFtZUF2YWlsYWJsZVJlc3BvbnNlEhQKDGlzX2F2YWlsYWJsZRgBIAEoCCJVChFHZXRKb2JSdW5zUmVxdWVzdBIaCgZqb2JfaWQYASABKAlCCLpIBXIDsAEBSAASHgoKYWNjb3VudF9pZBgCIAEoCUIIukgFcgOwAQFIAEIECgJpZCI9ChJHZXRKb2JSdW5zUmVzcG9uc2USJwoIam9iX3J1bnMYASADKAsyFS5tZ210LnYxYWxwaGExLkpvYlJ1biJEChBHZXRKb2JSdW5SZXF1ZXN0EhIKCmpvYl9ydW5faWQYASABKAkSHAoKYWNjb3VudF9pZBgCIAEoCUIIukgFcgOwAQEiOwoRR2V0Sm9iUnVuUmVzcG9uc2USJgoHam9iX3J1bhgBIAEoCzIVLm1nbXQudjFhbHBoYTEuSm9iUnVuIi8KE0NyZWF0ZUpvYlJ1blJlcXVlc3QSGAoGam9iX2lkGAEgASgJQgi6SAVyA7ABASIWChRDcmVhdGVKb2JSdW5SZXNwb25zZSJHChNDYW5jZWxKb2JSdW5SZXF1ZXN0EhIKCmpvYl9ydW5faWQYASABKAkSHAoKYWNjb3VudF9pZBgCIAEoCUIIukgFcgOwAQEiFgoUQ2FuY2VsSm9iUnVuUmVzcG9uc2UivAQKA0pvYhIKCgJpZBgBIAEoCRIaChJjcmVhdGVkX2J5X3VzZXJfaWQYAiABKAkSLgoKY3JlYXRlZF9hdBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASGgoSdXBkYXRlZF9ieV91c2VyX2lkGAQgASgJEi4KCnVwZGF0ZWRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEgwKBG5hbWUYBiABKAkSKAoGc291cmNlGAcgASgLMhgubWdtdC52MWFscGhhMS5Kb2JTb3VyY2USMwoMZGVzdGluYXRpb25zGAggAygLMh0ubWdtdC52MWFscGhhMS5Kb2JEZXN0aW5hdGlvbhIrCghtYXBwaW5ncxgJIAMoCzIZLm1nbXQudjFhbHBoYTEuSm9iTWFwcGluZxIaCg1jcm9uX3NjaGVkdWxlGAogASgJSACIAQESEgoKYWNjb3VudF9pZBgLIAEoCRI0CgxzeW5jX29wdGlvbnMYDCABKAsyHi5tZ210LnYxYWxwaGExLkFjdGl2aXR5T3B0aW9ucxI4ChB3b3JrZmxvd19vcHRpb25zGA0gASgLMh4ubWdtdC52MWFscGhhMS5Xb3JrZmxvd09wdGlvbnMSRQoUdmlydHVhbF9mb3JlaWduX2tleXMYDiADKAsyJy5tZ210LnYxYWxwaGExLlZpcnR1YWxGb3JlaWduQ29uc3RyYWludEIQCg5fY3Jvbl9zY2hlZHVsZSJSCgxKb2JSZWNlbnRSdW4SLgoKc3RhcnRfdGltZRgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEgoKam9iX3J1bl9pZBgCIAEoCSIzChdHZXRKb2JSZWNlbnRSdW5zUmVxdWVzdBIYCgZqb2JfaWQYASABKAlCCLpIBXIDsAEBIkwKGEdldEpvYlJlY2VudFJ1bnNSZXNwb25zZRIwCgtyZWNlbnRfcnVucxgBIAMoCzIbLm1nbXQudjFhbHBoYTEuSm9iUmVjZW50UnVuIkEKC0pvYk5leHRSdW5zEjIKDm5leHRfcnVuX3RpbWVzGAEgAygLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCInChVHZXRKb2JOZXh0UnVuc1JlcXVlc3QSDgoGam9iX2lkGAEgASgJIkcKFkdldEpvYk5leHRSdW5zUmVzcG9uc2USLQoJbmV4dF9ydW5zGAEgASgLMhoubWdtdC52MWFscGhhMS5Kb2JOZXh0UnVucyIlChNHZXRKb2JTdGF0dXNSZXF1ZXN0Eg4KBmpvYl9pZBgBIAEoCSJAChRHZXRKb2JTdGF0dXNSZXNwb25zZRIoCgZzdGF0dXMYASABKA4yGC5tZ210LnYxYWxwaGExLkpvYlN0YXR1cyJLCg9Kb2JTdGF0dXNSZWNvcmQSDgoGam9iX2lkGAEgASgJEigKBnN0YXR1cxgCIAEoDjIYLm1nbXQudjFhbHBoYTEuSm9iU3RhdHVzIjUKFUdldEpvYlN0YXR1c2VzUmVxdWVzdBIcCgphY2NvdW50X2lkGAEgASgJQgi6SAVyA7ABASJKChZHZXRKb2JTdGF0dXNlc1Jlc3BvbnNlEjAKCHN0YXR1c2VzGAEgAygLMh4ubWdtdC52MWFscGhhMS5Kb2JTdGF0dXNSZWNvcmQiIgoPQWN0aXZpdHlGYWlsdXJlEg8KB21lc3NhZ2UYASABKAkiowEKD1BlbmRpbmdBY3Rpdml0eRItCgZzdGF0dXMYASABKA4yHS5tZ210LnYxYWxwaGExLkFjdGl2aXR5U3RhdHVzEhUKDWFjdGl2aXR5X25hbWUYAiABKAkSOQoMbGFzdF9mYWlsdXJlGAMgASgLMh4ubWdtdC52MWFscGhhMS5BY3Rpdml0eUZhaWx1cmVIAIgBAUIPCg1fbGFzdF9mYWlsdXJlIpMCCgZKb2JSdW4SCgoCaWQYASABKAkSDgoGam9iX2lkGAIgASgJEgwKBG5hbWUYAyABKAkSKwoGc3RhdHVzGAQgASgOMhsubWdtdC52MWFscGhhMS5Kb2JSdW5TdGF0dXMSLgoKc3RhcnRlZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASNQoMY29tcGxldGVkX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBEjoKEnBlbmRpbmdfYWN0aXZpdGllcxgIIAMoCzIeLm1nbXQudjFhbHBoYTEuUGVuZGluZ0FjdGl2aXR5Qg8KDV9jb21wbGV0ZWRfYXQiPAoUSm9iUnVuRXZlbnRUYXNrRXJyb3ISDwoHbWVzc2FnZRgBIAEoCRITCgtyZXRyeV9zdGF0ZRgCIAEoCSKPAQoPSm9iUnVuRXZlbnRUYXNrEgoKAmlkGAEgASgDEgwKBHR5cGUYAiABKAkSLgoKZXZlbnRfdGltZRgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMgoFZXJyb3IYBCABKAsyIy5tZ210LnYxYWxwaGExLkpvYlJ1bkV2ZW50VGFza0Vycm9yIjMKEkpvYlJ1blN5bmNNZXRhZGF0YRIOCgZzY2hlbWEYASABKAkSDQoFdGFibGUYAiABKAkiZAoTSm9iUnVuRXZlbnRNZXRhZGF0YRI6Cg1zeW5jX21ldGFkYXRhGAEgASgLMiEubWdtdC52MWFscGhhMS5Kb2JSdW5TeW5jTWV0YWRhdGFIAEIRCghtZXRhZGF0YRIFukgCCAEi7AEKC0pvYlJ1bkV2ZW50EgoKAmlkGAEgASgDEgwKBHR5cGUYAiABKAkSLgoKc3RhcnRfdGltZRgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKY2xvc2VfdGltZRgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASNAoIbWV0YWRhdGEYBSABKAsyIi5tZ210LnYxYWxwaGExLkpvYlJ1bkV2ZW50TWV0YWRhdGESLQoFdGFza3MYBiADKAsyHi5tZ210LnYxYWxwaGExLkpvYlJ1bkV2ZW50VGFzayJKChZHZXRKb2JSdW5FdmVudHNSZXF1ZXN0EhIKCmpvYl9ydW5faWQYASABKAkSHAoKYWNjb3VudF9pZBgCIAEoCUIIukgFcgOwAQEiXgoXR2V0Sm9iUnVuRXZlbnRzUmVzcG9uc2USKgoGZXZlbnRzGAEgAygLMhoubWdtdC52MWFscGhhMS5Kb2JSdW5FdmVudBIXCg9pc19ydW5fY29tcGxldGUYAiABKAgiRwoTRGVsZXRlSm9iUnVuUmVxdWVzdBISCgpqb2JfcnVuX2lkGAEgASgJEhwKCmFjY291bnRfaWQYAiABKAlCCLpIBXIDsAEBIhYKFERlbGV0ZUpvYlJ1blJlc3BvbnNlIkoKFlRlcm1pbmF0ZUpvYlJ1blJlcXVlc3QSEgoKam9iX3J1bl9pZBgBIAEoCRIcCgphY2NvdW50X2lkGAIgASgJQgi6SAVyA7ABASIZChdUZXJtaW5hdGVKb2JSdW5SZXNwb25zZSLxAQoaR2V0Sm9iUnVuTG9nc1N0cmVhbVJlcXVlc3QSEgoKam9iX3J1bl9pZBgBIAEoCRIcCgphY2NvdW50X2lkGAIgASgJQgi6SAVyA7ABARIoCgZ3aW5kb3cYAyABKA4yGC5tZ210LnYxYWxwaGExLkxvZ1dpbmRvdxITCgtzaG91bGRfdGFpbBgEIAEoCBIjCg1tYXhfbG9nX2xpbmVzGAUgASgDQge6SAQiAigBSACIAQESKwoKbG9nX2xldmVscxgGIAMoDjIXLm1nbXQudjFhbHBoYTEuTG9nTGV2ZWxCEAoOX21heF9sb2dfbGluZXMicQobR2V0Sm9iUnVuTG9nc1N0cmVhbVJlc3BvbnNlEhAKCGxvZ19saW5lGAEgASgJEjIKCXRpbWVzdGFtcBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBAUIMCgpfdGltZXN0YW1wIm4KHFNldEpvYldvcmtmbG93T3B0aW9uc1JlcXVlc3QSFAoCaWQYASABKAlCCLpIBXIDsAEBEjgKEHdvcmZrbG93X29wdGlvbnMYAiABKAsyHi5tZ210LnYxYWxwaGExLldvcmtmbG93T3B0aW9ucyJACh1TZXRKb2JXb3JrZmxvd09wdGlvbnNSZXNwb25zZRIfCgNqb2IYASABKAsyEi5tZ210LnYxYWxwaGExLkpvYiJmChhTZXRKb2JTeW5jT3B0aW9uc1JlcXVlc3QSFAoCaWQYASABKAlCCLpIBXIDsAEBEjQKDHN5bmNfb3B0aW9ucxgCIAEoCzIeLm1nbXQudjFhbHBoYTEuQWN0aXZpdHlPcHRpb25zIjwKGVNldEpvYlN5bmNPcHRpb25zUmVzcG9uc2USHwoDam9iGAEgASgLMhIubWdtdC52MWFscGhhMS5Kb2IixQEKGlZhbGlkYXRlSm9iTWFwcGluZ3NSZXF1ZXN0EhwKCmFjY291bnRfaWQYASABKAlCCLpIBXIDsAEBEisKCG1hcHBpbmdzGAIgAygLMhkubWdtdC52MWFscGhhMS5Kb2JNYXBwaW5nEhUKDWNvbm5lY3Rpb25faWQYAyABKAkSRQoUdmlydHVhbF9mb3JlaWduX2tleXMYBCADKAsyJy5tZ210LnYxYWxwaGExLlZpcnR1YWxGb3JlaWduQ29uc3RyYWludCJMCgtDb2x1bW5FcnJvchIOCgZzY2hlbWEYASABKAkSDQoFdGFibGUYAiABKAkSDgoGY29sdW1uGAMgASgJEg4KBmVycm9ycxgEIAMoCSIfCg1EYXRhYmFzZUVycm9yEg4KBmVycm9ycxgBIAMoCSKHAQobVmFsaWRhdGVKb2JNYXBwaW5nc1Jlc3BvbnNlEjEKDWNvbHVtbl9lcnJvcnMYASADKAsyGi5tZ210LnYxYWxwaGExLkNvbHVtbkVycm9yEjUKD2RhdGFiYXNlX2Vycm9ycxgCIAEoCzIcLm1nbXQudjFhbHBoYTEuRGF0YWJhc2VFcnJvciJDChFWaXJ0dWFsRm9yZWlnbktleRIOCgZzY2hlbWEYASABKAkSDQoFdGFibGUYAiABKAkSDwoHY29sdW1ucxgDIAMoCSKBAQoYVmlydHVhbEZvcmVpZ25Db25zdHJhaW50Eg4KBnNjaGVtYRgBIAEoCRINCgV0YWJsZRgCIAEoCRIPCgdjb2x1bW5zGAMgAygJEjUKC2ZvcmVpZ25fa2V5GAQgASgLMiAubWdtdC52MWFscGhhMS5WaXJ0dWFsRm9yZWlnbktleSJnCg1SdW5Db250ZXh0S2V5EhsKCmpvYl9ydW5faWQYASABKAlCB7pIBHICEAESHAoLZXh0ZXJuYWxfaWQYAiABKAlCB7pIBHICEAESGwoKYWNjb3VudF9pZBgDIAEoCUIHukgEcgIQASJAChRHZXRSdW5Db250ZXh0UmVxdWVzdBIoCgJpZBgBIAEoCzIcLm1nbXQudjFhbHBoYTEuUnVuQ29udGV4dEtleSImChVHZXRSdW5Db250ZXh0UmVzcG9uc2USDQoFdmFsdWUYASABKAwiTwoUU2V0UnVuQ29udGV4dFJlcXVlc3QSKAoCaWQYASABKAsyHC5tZ210LnYxYWxwaGExLlJ1bkNvbnRleHRLZXkSDQoFdmFsdWUYAiABKAwiFwoVU2V0UnVuQ29udGV4dFJlc3BvbnNlIlAKFVNldFJ1bkNvbnRleHRzUmVxdWVzdBIoCgJpZBgBIAEoCzIcLm1nbXQudjFhbHBoYTEuUnVuQ29udGV4dEtleRINCgV2YWx1ZRgCIAEoDCIYChZTZXRSdW5Db250ZXh0c1Jlc3BvbnNlIrwCCgdKb2JIb29rEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSDgoGam9iX2lkGAQgASgJEiwKBmNvbmZpZxgFIAEoCzIcLm1nbXQudjFhbHBoYTEuSm9iSG9va0NvbmZpZxIaChJjcmVhdGVkX2J5X3VzZXJfaWQYBiABKAkSLgoKY3JlYXRlZF9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASGgoSdXBkYXRlZF9ieV91c2VyX2lkGAggASgJEi4KCnVwZGF0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg8KB2VuYWJsZWQYCiABKAgSGwoIcHJpb3JpdHkYCyABKA1CCbpIBioEGGQoACKvAQoKTmV3Sm9iSG9vaxInCgRuYW1lGAEgASgJQhm6SBZyFDISXlthLXowLTktXXszLDEwMH0kEhwKC2Rlc2NyaXB0aW9uGAIgASgJQge6SARyAhABEiwKBmNvbmZpZxgDIAEoCzIcLm1nbXQudjFhbHBoYTEuSm9iSG9va0NvbmZpZxIPCgdlbmFibGVkGAQgASgIEhsKCHByaW9yaXR5GAUgASgNQgm6SAYqBBhkKAAi8AIKDUpvYkhvb2tDb25maWcSNgoDc3FsGAUgASgLMicubWdtdC52MWFscGhhMS5Kb2JIb29rQ29uZmlnLkpvYlNxbEhvb2tIABqVAgoKSm9iU3FsSG9vaxIWCgVxdWVyeRgBIAEoCUIHukgEcgIQARIfCg1jb25uZWN0aW9uX2lkGAIgASgJQgi6SAVyA7ABARI+CgZ0aW1pbmcYAyABKAsyLi5tZ210LnYxYWxwaGExLkpvYkhvb2tDb25maWcuSm9iU3FsSG9vay5UaW1pbmcajQEKBlRpbWluZxI3CghwcmVfc3luYxgDIAEoCzIjLm1nbXQudjFhbHBoYTEuSm9iSG9va1RpbWluZ1ByZVN5bmNIABI5Cglwb3N0X3N5bmMYBCABKAsyJC5tZ210LnYxYWxwaGExLkpvYkhvb2tUaW1pbmdQb3N0U3luY0gAQg8KBnRpbWluZxIFukgCCAFCDwoGY29uZmlnEgW6SAIIASIWChRKb2JIb29rVGltaW5nUHJlU3luYyIXChVKb2JIb29rVGltaW5nUG9zdFN5bmMiLgoSR2V0Sm9iSG9va3NSZXF1ZXN0EhgKBmpvYl9pZBgBIAEoCUIIukgFcgOwAQEiPAoTR2V0Sm9iSG9va3NSZXNwb25zZRIlCgVob29rcxgBIAMoCzIWLm1nbXQudjFhbHBoYTEuSm9iSG9vayIpChFHZXRKb2JIb29rUmVxdWVzdBIUCgJpZBgBIAEoCUIIukgFcgOwAQEiOgoSR2V0Sm9iSG9va1Jlc3BvbnNlEiQKBGhvb2sYASABKAsyFi5tZ210LnYxYWxwaGExLkpvYkhvb2siTwoUQ3JlYXRlSm9iSG9va1JlcXVlc3QSDgoGam9iX2lkGAEgASgJEicKBGhvb2sYAiABKAsyGS5tZ210LnYxYWxwaGExLk5ld0pvYkhvb2siPQoVQ3JlYXRlSm9iSG9va1Jlc3BvbnNlEiQKBGhvb2sYASABKAsyFi5tZ210LnYxYWxwaGExLkpvYkhvb2siLAoURGVsZXRlSm9iSG9va1JlcXVlc3QSFAoCaWQYASABKAlCCLpIBXIDsAEBIhcKFURlbGV0ZUpvYkhvb2tSZXNwb25zZSI9Ch1Jc0pvYkhvb2tOYW1lQXZhaWxhYmxlUmVxdWVzdBIOCgZqb2JfaWQYASABKAkSDAoEbmFtZRgCIAEoCSI2Ch5Jc0pvYkhvb2tOYW1lQXZhaWxhYmxlUmVzcG9uc2USFAoMaXNfYXZhaWxhYmxlGAEgASgIIs8BChRVcGRhdGVKb2JIb29rUmVxdWVzdBIUCgJpZBgBIAEoCUIIukgFcgOwAQESJwoEbmFtZRgCIAEoCUIZukgWchQyEl5bYS16MC05LV17MywxMDB9JBIcCgtkZXNjcmlwdGlvbhgDIAEoCUIHukgEcgIQARIsCgZjb25maWcYBCABKAsyHC5tZ210LnYxYWxwaGExLkpvYkhvb2tDb25maWcSDwoHZW5hYmxlZBgFIAEoCBIbCghwcmlvcml0eRgGIAEoDUIJukgGKgQYZCgAIj0KFVVwZGF0ZUpvYkhvb2tSZXNwb25zZRIkCgRob29rGAEgASgLMhYubWdtdC52MWFscGhhMS5Kb2JIb29rIkEKGFNldEpvYkhvb2tFbmFibGVkUmVxdWVzdBIUCgJpZBgBIAEoCUIIukgFcgOwAQESDwoHZW5hYmxlZBgCIAEoCCJBChlTZXRKb2JIb29rRW5hYmxlZFJlc3BvbnNlEiQKBGhvb2sYASABKAsyFi5tZ210LnYxYWxwaGExLkpvYkhvb2sizwEKIEdldEFjdGl2ZUpvYkhvb2tzQnlUaW1pbmdSZXF1ZXN0EhgKBmpvYl9pZBgBIAEoCUIIukgFcgOwAQESRgoGdGltaW5nGAIgASgOMjYubWdtdC52MWFscGhhMS5HZXRBY3RpdmVKb2JIb29rc0J5VGltaW5nUmVxdWVzdC5UaW1pbmciSQoGVGltaW5nEhYKElRJTUlOR19VTlNQRUNJRklFRBAAEhIKDlRJTUlOR19QUkVTWU5DEAESEwoPVElNSU5HX1BPU1RTWU5DEAIiSgohR2V0QWN0aXZlSm9iSG9va3NCeVRpbWluZ1Jlc3BvbnNlEiUKBWhvb2tzGAEgAygLMhYubWdtdC52MWFscGhhMS5Kb2JIb29rKm8KCUpvYlN0YXR1cxIaChZKT0JfU1RBVFVTX1VOU1BFQ0lGSUVEEAASFgoSSk9CX1NUQVRVU19FTkFCTEVEEAESFQoRSk9CX1NUQVRVU19QQVVTRUQQAxIXChNKT0JfU1RBVFVTX0RJU0FCTEVEEAQqpwEKDkFjdGl2aXR5U3RhdHVzEh8KG0FDVElWSVRZX1NUQVRVU19VTlNQRUNJRklFRBAAEh0KGUFDVElWSVRZX1NUQVRVU19TQ0hFRFVMRUQQARIbChdBQ1RJVklUWV9TVEFUVVNfU1RBUlRFRBACEhwKGEFDVElWSVRZX1NUQVRVU19DQU5DRUxFRBADEhoKFkFDVElWSVRZX1NUQVRVU19GQUlMRUQQBCqSAgoMSm9iUnVuU3RhdHVzEh4KGkpPQl9SVU5fU1RBVFVTX1VOU1BFQ0lGSUVEEAASGgoWSk9CX1JVTl9TVEFUVVNfUEVORElORxABEhoKFkpPQl9SVU5fU1RBVFVTX1JVTk5JTkcQAhIbChdKT0JfUlVOX1NUQVRVU19DT01QTEVURRADEhgKFEpPQl9SVU5fU1RBVFVTX0VSUk9SEAQSGwoXSk9CX1JVTl9TVEFUVVNfQ0FOQ0VMRUQQBRIdChlKT0JfUlVOX1NUQVRVU19URVJNSU5BVEVEEAYSGQoVSk9CX1JVTl9TVEFUVVNfRkFJTEVEEAcSHAoYSk9CX1JVTl9TVEFUVVNfVElNRURfT1VUEAgqfAoJTG9nV2luZG93EiIKHkxPR19XSU5ET1dfTk9fVElNRV9VTlNQRUNJRklFRBAAEhoKFkxPR19XSU5ET1dfRklGVEVFTl9NSU4QARIXChNMT0dfV0lORE9XX09ORV9IT1VSEAISFgoSTE9HX1dJTkRPV19PTkVfREFZEAMqdwoITG9nTGV2ZWwSGQoVTE9HX0xFVkVMX1VOU1BFQ0lGSUVEEAASEwoPTE9HX0xFVkVMX0RFQlVHEAESEgoOTE9HX0xFVkVMX0lORk8QAhISCg5MT0dfTEVWRUxfV0FSThADEhMKD0xPR19MRVZFTF9FUlJPUhAEMtEeCgpKb2JTZXJ2aWNlEkoKB0dldEpvYnMSHS5tZ210LnYxYWxwaGExLkdldEpvYnNSZXF1ZXN0Gh4ubWdtdC52MWFscGhhMS5HZXRKb2JzUmVzcG9uc2UiABJHCgZHZXRKb2ISHC5tZ210LnYxYWxwaGExLkdldEpvYlJlcXVlc3QaHS5tZ210LnYxYWxwaGExLkdldEpvYlJlc3BvbnNlIgASUAoJQ3JlYXRlSm9iEh8ubWdtdC52MWFscGhhMS5DcmVhdGVKb2JSZXF1ZXN0GiAubWdtdC52MWFscGhhMS5DcmVhdGVKb2JSZXNwb25zZSIAElAKCURlbGV0ZUpvYhIfLm1nbXQudjFhbHBoYTEuRGVsZXRlSm9iUmVxdWVzdBogLm1nbXQudjFhbHBoYTEuRGVsZXRlSm9iUmVzcG9uc2UiABJrChJJc0pvYk5hbWVBdmFpbGFibGUSKC5tZ210LnYxYWxwaGExLklzSm9iTmFtZUF2YWlsYWJsZVJlcXVlc3QaKS5tZ210LnYxYWxwaGExLklzSm9iTmFtZUF2YWlsYWJsZVJlc3BvbnNlIgASaAoRVXBkYXRlSm9iU2NoZWR1bGUSJy5tZ210LnYxYWxwaGExLlVwZGF0ZUpvYlNjaGVkdWxlUmVxdWVzdBooLm1nbXQudjFhbHBoYTEuVXBkYXRlSm9iU2NoZWR1bGVSZXNwb25zZSIAEoABChlVcGRhdGVKb2JTb3VyY2VDb25uZWN0aW9uEi8ubWdtdC52MWFscGhhMS5VcGRhdGVKb2JTb3VyY2VDb25uZWN0aW9uUmVxdWVzdBowLm1nbXQudjFhbHBoYTEuVXBkYXRlSm9iU291cmNlQ29ubmVjdGlvblJlc3BvbnNlIgASlQEKIFNldEpvYlNvdXJjZVNxbENvbm5lY3Rpb25TdWJzZXRzEjYubWdtdC52MWFscGhhMS5TZXRKb2JTb3VyY2VTcWxDb25uZWN0aW9uU3Vic2V0c1JlcXVlc3QaNy5tZ210LnYxYWxwaGExLlNldEpvYlNvdXJjZVNxbENvbm5lY3Rpb25TdWJzZXRzUmVzcG9uc2UiABKPAQoeVXBkYXRlSm9iRGVzdGluYXRpb25Db25uZWN0aW9uEjQubWdtdC52MWFscGhhMS5VcGRhdGVKb2JEZXN0aW5hdGlvbkNvbm5lY3Rpb25SZXF1ZXN0GjUubWdtdC52MWFscGhhMS5VcGRhdGVKb2JEZXN0aW5hdGlvbkNvbm5lY3Rpb25SZXNwb25zZSIAEo8BCh5EZWxldGVKb2JEZXN0aW5hdGlvbkNvbm5lY3Rpb24SNC5tZ210LnYxYWxwaGExLkRlbGV0ZUpvYkRlc3RpbmF0aW9uQ29ubmVjdGlvblJlcXVlc3QaNS5tZ210LnYxYWxwaGExLkRlbGV0ZUpvYkRlc3RpbmF0aW9uQ29ubmVjdGlvblJlc3BvbnNlIgASkgEKH0NyZWF0ZUpvYkRlc3RpbmF0aW9uQ29ubmVjdGlvbnMSNS5tZ210LnYxYWxwaGExLkNyZWF0ZUpvYkRlc3RpbmF0aW9uQ29ubmVjdGlvbnNSZXF1ZXN0GjYubWdtdC52MWFscGhhMS5DcmVhdGVKb2JEZXN0aW5hdGlvbkNvbm5lY3Rpb25zUmVzcG9uc2UiABJNCghQYXVzZUpvYhIeLm1nbXQudjFhbHBoYTEuUGF1c2VKb2JSZXF1ZXN0Gh8ubWdtdC52MWFscGhhMS5QYXVzZUpvYlJlc3BvbnNlIgASZQoQR2V0Sm9iUmVjZW50UnVucxImLm1nbXQudjFhbHBoYTEuR2V0Sm9iUmVjZW50UnVuc1JlcXVlc3QaJy5tZ210LnYxYWxwaGExLkdldEpvYlJlY2VudFJ1bnNSZXNwb25zZSIAEl8KDkdldEpvYk5leHRSdW5zEiQubWdtdC52MWFscGhhMS5HZXRKb2JOZXh0UnVuc1JlcXVlc3QaJS5tZ210LnYxYWxwaGExLkdldEpvYk5leHRSdW5zUmVzcG9uc2UiABJZCgxHZXRKb2JTdGF0dXMSIi5tZ210LnYxYWxwaGExLkdldEpvYlN0YXR1c1JlcXVlc3QaIy5tZ210LnYxYWxwaGExLkdldEpvYlN0YXR1c1Jlc3BvbnNlIgASXwoOR2V0Sm9iU3RhdHVzZXMSJC5tZ210LnYxYWxwaGExLkdldEpvYlN0YXR1c2VzUmVxdWVzdBolLm1nbXQudjFhbHBoYTEuR2V0Sm9iU3RhdHVzZXNSZXNwb25zZSIAElMKCkdldEpvYlJ1bnMSIC5tZ210LnYxYWxwaGExLkdldEpvYlJ1bnNSZXF1ZXN0GiEubWdtdC52MWFscGhhMS5HZXRKb2JSdW5zUmVzcG9uc2UiABJiCg9HZXRKb2JSdW5FdmVudHMSJS5tZ210LnYxYWxwaGExLkdldEpvYlJ1bkV2ZW50c1JlcXVlc3QaJi5tZ210LnYxYWxwaGExLkdldEpvYlJ1bkV2ZW50c1Jlc3BvbnNlIgASUAoJR2V0Sm9iUnVuEh8ubWdtdC52MWFscGhhMS5HZXRKb2JSdW5SZXF1ZXN0GiAubWdtdC52MWFscGhhMS5HZXRKb2JSdW5SZXNwb25zZSIAElkKDERlbGV0ZUpvYlJ1bhIiLm1nbXQudjFhbHBoYTEuRGVsZXRlSm9iUnVuUmVxdWVzdBojLm1nbXQudjFhbHBoYTEuRGVsZXRlSm9iUnVuUmVzcG9uc2UiABJZCgxDcmVhdGVKb2JSdW4SIi5tZ210LnYxYWxwaGExLkNyZWF0ZUpvYlJ1blJlcXVlc3QaIy5tZ210LnYxYWxwaGExLkNyZWF0ZUpvYlJ1blJlc3BvbnNlIgASWQoMQ2FuY2VsSm9iUnVuEiIubWdtdC52MWFscGhhMS5DYW5jZWxKb2JSdW5SZXF1ZXN0GiMubWdtdC52MWFscGhhMS5DYW5jZWxKb2JSdW5SZXNwb25zZSIAEmIKD1Rlcm1pbmF0ZUpvYlJ1bhIlLm1nbXQudjFhbHBoYTEuVGVybWluYXRlSm9iUnVuUmVxdWVzdBomLm1nbXQudjFhbHBoYTEuVGVybWluYXRlSm9iUnVuUmVzcG9uc2UiABJwChNHZXRKb2JSdW5Mb2dzU3RyZWFtEikubWdtdC52MWFscGhhMS5HZXRKb2JSdW5Mb2dzU3RyZWFtUmVxdWVzdBoqLm1nbXQudjFhbHBoYTEuR2V0Sm9iUnVuTG9nc1N0cmVhbVJlc3BvbnNlIgAwARJ0ChVTZXRKb2JXb3JrZmxvd09wdGlvbnMSKy5tZ210LnYxYWxwaGExLlNldEpvYldvcmtmbG93T3B0aW9uc1JlcXVlc3QaLC5tZ210LnYxYWxwaGExLlNldEpvYldvcmtmbG93T3B0aW9uc1Jlc3BvbnNlIgASaAoRU2V0Sm9iU3luY09wdGlvbnMSJy5tZ210LnYxYWxwaGExLlNldEpvYlN5bmNPcHRpb25zUmVxdWVzdBooLm1nbXQudjFhbHBoYTEuU2V0Sm9iU3luY09wdGlvbnNSZXNwb25zZSIAEm4KE1ZhbGlkYXRlSm9iTWFwcGluZ3MSKS5tZ210LnYxYWxwaGExLlZhbGlkYXRlSm9iTWFwcGluZ3NSZXF1ZXN0GioubWdtdC52MWFscGhhMS5WYWxpZGF0ZUpvYk1hcHBpbmdzUmVzcG9uc2UiABJcCg1HZXRSdW5Db250ZXh0EiMubWdtdC52MWFscGhhMS5HZXRSdW5Db250ZXh0UmVxdWVzdBokLm1nbXQudjFhbHBoYTEuR2V0UnVuQ29udGV4dFJlc3BvbnNlIgASXAoNU2V0UnVuQ29udGV4dBIjLm1nbXQudjFhbHBoYTEuU2V0UnVuQ29udGV4dFJlcXVlc3QaJC5tZ210LnYxYWxwaGExLlNldFJ1bkNvbnRleHRSZXNwb25zZSIAEmEKDlNldFJ1bkNvbnRleHRzEiQubWdtdC52MWFscGhhMS5TZXRSdW5Db250ZXh0c1JlcXVlc3QaJS5tZ210LnYxYWxwaGExLlNldFJ1bkNvbnRleHRzUmVzcG9uc2UiACgBElYKC0dldEpvYkhvb2tzEiEubWdtdC52MWFscGhhMS5HZXRKb2JIb29rc1JlcXVlc3QaIi5tZ210LnYxYWxwaGExLkdldEpvYkhvb2tzUmVzcG9uc2UiABJTCgpHZXRKb2JIb29rEiAubWdtdC52MWFscGhhMS5HZXRKb2JIb29rUmVxdWVzdBohLm1nbXQudjFhbHBoYTEuR2V0Sm9iSG9va1Jlc3BvbnNlIgASXAoNQ3JlYXRlSm9iSG9vaxIjLm1nbXQudjFhbHBoYTEuQ3JlYXRlSm9iSG9va1JlcXVlc3QaJC5tZ210LnYxYWxwaGExLkNyZWF0ZUpvYkhvb2tSZXNwb25zZSIAElwKDURlbGV0ZUpvYkhvb2sSIy5tZ210LnYxYWxwaGExLkRlbGV0ZUpvYkhvb2tSZXF1ZXN0GiQubWdtdC52MWFscGhhMS5EZWxldGVKb2JIb29rUmVzcG9uc2UiABJ3ChZJc0pvYkhvb2tOYW1lQXZhaWxhYmxlEiwubWdtdC52MWFscGhhMS5Jc0pvYkhvb2tOYW1lQXZhaWxhYmxlUmVxdWVzdBotLm1nbXQudjFhbHBoYTEuSXNKb2JIb29rTmFtZUF2YWlsYWJsZVJlc3BvbnNlIgASXAoNVXBkYXRlSm9iSG9vaxIjLm1nbXQudjFhbHBoYTEuVXBkYXRlSm9iSG9va1JlcXVlc3QaJC5tZ210LnYxYWxwaGExLlVwZGF0ZUpvYkhvb2tSZXNwb25zZSIAEmgKEVNldEpvYkhvb2tFbmFibGVkEicubWdtdC52MWFscGhhMS5TZXRKb2JIb29rRW5hYmxlZFJlcXVlc3QaKC5tZ210LnYxYWxwaGExLlNldEpvYkhvb2tFbmFibGVkUmVzcG9uc2UiABKAAQoZR2V0QWN0aXZlSm9iSG9va3NCeVRpbWluZxIvLm1nbXQudjFhbHBoYTEuR2V0QWN0aXZlSm9iSG9va3NCeVRpbWluZ1JlcXVlc3QaMC5tZ210LnYxYWxwaGExLkdldEFjdGl2ZUpvYkhvb2tzQnlUaW1pbmdSZXNwb25zZSIAQsQBChFjb20ubWdtdC52MWFscGhhMUIISm9iUHJvdG9QAVpQZ2l0aHViLmNvbS9udWNsZXVzY2xvdWQvbmVvc3luYy9iYWNrZW5kL2dlbi9nby9wcm90b3MvbWdtdC92MWFscGhhMTttZ210djFhbHBoYTGiAgNNWFiqAg1NZ210LlYxYWxwaGExygINTWdtdFxWMWFscGhhMeICGU1nbXRcVjFhbHBoYTFcR1BCTWV0YWRhdGHqAg5NZ210OjpWMWFscGhhMWIGcHJvdG8z", [file_buf_validate_validate, file_google_protobuf_timestamp, file_mgmt_v1alpha1_transformer]); + fileDesc("ChdtZ210L3YxYWxwaGExL2pvYi5wcm90bxINbWdtdC52MWFscGhhMSIuCg5HZXRKb2JzUmVxdWVzdBIcCgphY2NvdW50X2lkGAEgASgJQgi6SAVyA7ABASIzCg9HZXRKb2JzUmVzcG9uc2USIAoEam9icxgBIAMoCzISLm1nbXQudjFhbHBoYTEuSm9iIkUKCUpvYlNvdXJjZRI4CgdvcHRpb25zGAEgASgLMh8ubWdtdC52MWFscGhhMS5Kb2JTb3VyY2VPcHRpb25zQga6SAPIAQEioQQKEEpvYlNvdXJjZU9wdGlvbnMSQgoIcG9zdGdyZXMYASABKAsyLi5tZ210LnYxYWxwaGExLlBvc3RncmVzU291cmNlQ29ubmVjdGlvbk9wdGlvbnNIABI9CgZhd3NfczMYAiABKAsyKy5tZ210LnYxYWxwaGExLkF3c1MzU291cmNlQ29ubmVjdGlvbk9wdGlvbnNIABI8CgVteXNxbBgDIAEoCzIrLm1nbXQudjFhbHBoYTEuTXlzcWxTb3VyY2VDb25uZWN0aW9uT3B0aW9uc0gAEjgKCGdlbmVyYXRlGAQgASgLMiQubWdtdC52MWFscGhhMS5HZW5lcmF0ZVNvdXJjZU9wdGlvbnNIABI9CgthaV9nZW5lcmF0ZRgFIAEoCzImLm1nbXQudjFhbHBoYTEuQWlHZW5lcmF0ZVNvdXJjZU9wdGlvbnNIABJACgdtb25nb2RiGAYgASgLMi0ubWdtdC52MWFscGhhMS5Nb25nb0RCU291cmNlQ29ubmVjdGlvbk9wdGlvbnNIABJCCghkeW5hbW9kYhgHIAEoCzIuLm1nbXQudjFhbHBoYTEuRHluYW1vREJTb3VyY2VDb25uZWN0aW9uT3B0aW9uc0gAEjwKBW1zc3FsGAggASgLMisubWdtdC52MWFscGhhMS5Nc3NxbFNvdXJjZUNvbm5lY3Rpb25PcHRpb25zSABCDwoGY29uZmlnEgW6SAIIASJuChRDcmVhdGVKb2JEZXN0aW5hdGlvbhIfCg1jb25uZWN0aW9uX2lkGAEgASgJQgi6SAVyA7ABARI1CgdvcHRpb25zGAIgASgLMiQubWdtdC52MWFscGhhMS5Kb2JEZXN0aW5hdGlvbk9wdGlvbnMidAoOSm9iRGVzdGluYXRpb24SHwoNY29ubmVjdGlvbl9pZBgBIAEoCUIIukgFcgOwAQESNQoHb3B0aW9ucxgCIAEoCzIkLm1nbXQudjFhbHBoYTEuSm9iRGVzdGluYXRpb25PcHRpb25zEgoKAmlkGAMgASgJIt0CChdBaUdlbmVyYXRlU291cmNlT3B0aW9ucxIiChBhaV9jb25uZWN0aW9uX2lkGAEgASgJQgi6SAVyA7ABARJGCgdzY2hlbWFzGAIgAygLMisubWdtdC52MWFscGhhMS5BaUdlbmVyYXRlU291cmNlU2NoZW1hT3B0aW9uQgi6SAWSAQIIARIuChdma19zb3VyY2VfY29ubmVjdGlvbl9pZBgDIAEoCUIIukgFcgOwAQFIAIgBARIbCgptb2RlbF9uYW1lGAQgASgJQge6SARyAhABEhgKC3VzZXJfcHJvbXB0GAUgASgJSAGIAQESKwoTZ2VuZXJhdGVfYmF0Y2hfc2l6ZRgGIAEoA0IJukgGIgQYZCgBSAKIAQFCGgoYX2ZrX3NvdXJjZV9jb25uZWN0aW9uX2lkQg4KDF91c2VyX3Byb21wdEIWChRfZ2VuZXJhdGVfYmF0Y2hfc2l6ZSJ9ChxBaUdlbmVyYXRlU291cmNlU2NoZW1hT3B0aW9uEhcKBnNjaGVtYRgBIAEoCUIHukgEcgIQARJECgZ0YWJsZXMYAiADKAsyKi5tZ210LnYxYWxwaGExLkFpR2VuZXJhdGVTb3VyY2VUYWJsZU9wdGlvbkIIukgFkgECCAEiVAobQWlHZW5lcmF0ZVNvdXJjZVRhYmxlT3B0aW9uEhYKBXRhYmxlGAEgASgJQge6SARyAhABEh0KCXJvd19jb3VudBgCIAEoA0IKukgHIgUY6AcoASKvAQoVR2VuZXJhdGVTb3VyY2VPcHRpb25zEkQKB3NjaGVtYXMYASADKAsyKS5tZ210LnYxYWxwaGExLkdlbmVyYXRlU291cmNlU2NoZW1hT3B0aW9uQgi6SAWSAQIIARIuChdma19zb3VyY2VfY29ubmVjdGlvbl9pZBgDIAEoCUIIukgFcgOwAQFIAIgBAUIaChhfZmtfc291cmNlX2Nvbm5lY3Rpb25faWRKBAgCEAMieQoaR2VuZXJhdGVTb3VyY2VTY2hlbWFPcHRpb24SFwoGc2NoZW1hGAEgASgJQge6SARyAhABEkIKBnRhYmxlcxgCIAMoCzIoLm1nbXQudjFhbHBoYTEuR2VuZXJhdGVTb3VyY2VUYWJsZU9wdGlvbkIIukgFkgECCAEiTwoZR2VuZXJhdGVTb3VyY2VUYWJsZU9wdGlvbhIWCgV0YWJsZRgBIAEoCUIHukgEcgIQARIaCglyb3dfY291bnQYAiABKANCB7pIBCICKAEiQQoeTW9uZ29EQlNvdXJjZUNvbm5lY3Rpb25PcHRpb25zEh8KDWNvbm5lY3Rpb25faWQYASABKAlCCLpIBXIDsAEBIu8BCh9EeW5hbW9EQlNvdXJjZUNvbm5lY3Rpb25PcHRpb25zEh8KDWNvbm5lY3Rpb25faWQYASABKAlCCLpIBXIDsAEBEjgKBnRhYmxlcxgCIAMoCzIoLm1nbXQudjFhbHBoYTEuRHluYW1vREJTb3VyY2VUYWJsZU9wdGlvbhJRChN1bm1hcHBlZF90cmFuc2Zvcm1zGAMgASgLMjQubWdtdC52MWFscGhhMS5EeW5hbW9EQlNvdXJjZVVubWFwcGVkVHJhbnNmb3JtQ29uZmlnEh4KFmVuYWJsZV9jb25zaXN0ZW50X3JlYWQYBCABKAgi/QEKJUR5bmFtb0RCU291cmNlVW5tYXBwZWRUcmFuc2Zvcm1Db25maWcSLwoBYhgBIAEoCzIkLm1nbXQudjFhbHBoYTEuSm9iTWFwcGluZ1RyYW5zZm9ybWVyEjUKB2Jvb2xlYW4YAiABKAsyJC5tZ210LnYxYWxwaGExLkpvYk1hcHBpbmdUcmFuc2Zvcm1lchIvCgFuGAQgASgLMiQubWdtdC52MWFscGhhMS5Kb2JNYXBwaW5nVHJhbnNmb3JtZXISLwoBcxgGIAEoCzIkLm1nbXQudjFhbHBoYTEuSm9iTWFwcGluZ1RyYW5zZm9ybWVySgQIAxAESgQIBRAGIl8KGUR5bmFtb0RCU291cmNlVGFibGVPcHRpb24SFgoFdGFibGUYASABKAlCB7pIBHICEAESGQoMd2hlcmVfY2xhdXNlGAIgASgJSACIAQFCDwoNX3doZXJlX2NsYXVzZSKeBwofUG9zdGdyZXNTb3VyY2VDb25uZWN0aW9uT3B0aW9ucxI6CgdzY2hlbWFzGAIgAygLMikubWdtdC52MWFscGhhMS5Qb3N0Z3Jlc1NvdXJjZVNjaGVtYU9wdGlvbhIfCg1jb25uZWN0aW9uX2lkGAMgASgJQgi6SAVyA7ABARIpCiFzdWJzZXRfYnlfZm9yZWlnbl9rZXlfY29uc3RyYWludHMYBCABKAgSbgocbmV3X2NvbHVtbl9hZGRpdGlvbl9zdHJhdGVneRgFIAEoCzJILm1nbXQudjFhbHBoYTEuUG9zdGdyZXNTb3VyY2VDb25uZWN0aW9uT3B0aW9ucy5OZXdDb2x1bW5BZGRpdGlvblN0cmF0ZWd5EmUKF2NvbHVtbl9yZW1vdmFsX3N0cmF0ZWd5GAYgASgLMkQubWdtdC52MWFscGhhMS5Qb3N0Z3Jlc1NvdXJjZUNvbm5lY3Rpb25PcHRpb25zLkNvbHVtblJlbW92YWxTdHJhdGVneRqJAgoZTmV3Q29sdW1uQWRkaXRpb25TdHJhdGVneRJkCghoYWx0X2pvYhgBIAEoCzJQLm1nbXQudjFhbHBoYTEuUG9zdGdyZXNTb3VyY2VDb25uZWN0aW9uT3B0aW9ucy5OZXdDb2x1bW5BZGRpdGlvblN0cmF0ZWd5LkhhbHRKb2JIABJkCghhdXRvX21hcBgCIAEoCzJQLm1nbXQudjFhbHBoYTEuUG9zdGdyZXNTb3VyY2VDb25uZWN0aW9uT3B0aW9ucy5OZXdDb2x1bW5BZGRpdGlvblN0cmF0ZWd5LkF1dG9NYXBIABoJCgdIYWx0Sm9iGgkKB0F1dG9NYXBCCgoIc3RyYXRlZ3kaiQIKFUNvbHVtblJlbW92YWxTdHJhdGVneRJgCghoYWx0X2pvYhgBIAEoCzJMLm1nbXQudjFhbHBoYTEuUG9zdGdyZXNTb3VyY2VDb25uZWN0aW9uT3B0aW9ucy5Db2x1bW5SZW1vdmFsU3RyYXRlZ3kuSGFsdEpvYkgAEmgKDGNvbnRpbnVlX2pvYhgCIAEoCzJQLm1nbXQudjFhbHBoYTEuUG9zdGdyZXNTb3VyY2VDb25uZWN0aW9uT3B0aW9ucy5Db2x1bW5SZW1vdmFsU3RyYXRlZ3kuQ29udGludWVKb2JIABoJCgdIYWx0Sm9iGg0KC0NvbnRpbnVlSm9iQgoKCHN0cmF0ZWd5SgQIARACInkKGlBvc3RncmVzU291cmNlU2NoZW1hT3B0aW9uEhcKBnNjaGVtYRgBIAEoCUIHukgEcgIQARJCCgZ0YWJsZXMYAiADKAsyKC5tZ210LnYxYWxwaGExLlBvc3RncmVzU291cmNlVGFibGVPcHRpb25CCLpIBZIBAggBIl8KGVBvc3RncmVzU291cmNlVGFibGVPcHRpb24SFgoFdGFibGUYASABKAlCB7pIBHICEAESGQoMd2hlcmVfY2xhdXNlGAIgASgJSACIAQFCDwoNX3doZXJlX2NsYXVzZSKyBAocTXlzcWxTb3VyY2VDb25uZWN0aW9uT3B0aW9ucxIjChtoYWx0X29uX25ld19jb2x1bW5fYWRkaXRpb24YASABKAgSNwoHc2NoZW1hcxgCIAMoCzImLm1nbXQudjFhbHBoYTEuTXlzcWxTb3VyY2VTY2hlbWFPcHRpb24SHwoNY29ubmVjdGlvbl9pZBgDIAEoCUIIukgFcgOwAQESKQohc3Vic2V0X2J5X2ZvcmVpZ25fa2V5X2NvbnN0cmFpbnRzGAQgASgIEmIKF2NvbHVtbl9yZW1vdmFsX3N0cmF0ZWd5GAUgASgLMkEubWdtdC52MWFscGhhMS5NeXNxbFNvdXJjZUNvbm5lY3Rpb25PcHRpb25zLkNvbHVtblJlbW92YWxTdHJhdGVneRqDAgoVQ29sdW1uUmVtb3ZhbFN0cmF0ZWd5El0KCGhhbHRfam9iGAEgASgLMkkubWdtdC52MWFscGhhMS5NeXNxbFNvdXJjZUNvbm5lY3Rpb25PcHRpb25zLkNvbHVtblJlbW92YWxTdHJhdGVneS5IYWx0Sm9iSAASZQoMY29udGludWVfam9iGAIgASgLMk0ubWdtdC52MWFscGhhMS5NeXNxbFNvdXJjZUNvbm5lY3Rpb25PcHRpb25zLkNvbHVtblJlbW92YWxTdHJhdGVneS5Db250aW51ZUpvYkgAGgkKB0hhbHRKb2IaDQoLQ29udGludWVKb2JCCgoIc3RyYXRlZ3kicwoXTXlzcWxTb3VyY2VTY2hlbWFPcHRpb24SFwoGc2NoZW1hGAEgASgJQge6SARyAhABEj8KBnRhYmxlcxgCIAMoCzIlLm1nbXQudjFhbHBoYTEuTXlzcWxTb3VyY2VUYWJsZU9wdGlvbkIIukgFkgECCAEiXAoWTXlzcWxTb3VyY2VUYWJsZU9wdGlvbhIWCgV0YWJsZRgBIAEoCUIHukgEcgIQARIZCgx3aGVyZV9jbGF1c2UYAiABKAlIAIgBAUIPCg1fd2hlcmVfY2xhdXNlIrIEChxNc3NxbFNvdXJjZUNvbm5lY3Rpb25PcHRpb25zEiMKG2hhbHRfb25fbmV3X2NvbHVtbl9hZGRpdGlvbhgBIAEoCBI3CgdzY2hlbWFzGAIgAygLMiYubWdtdC52MWFscGhhMS5Nc3NxbFNvdXJjZVNjaGVtYU9wdGlvbhIfCg1jb25uZWN0aW9uX2lkGAMgASgJQgi6SAVyA7ABARIpCiFzdWJzZXRfYnlfZm9yZWlnbl9rZXlfY29uc3RyYWludHMYBCABKAgSYgoXY29sdW1uX3JlbW92YWxfc3RyYXRlZ3kYBSABKAsyQS5tZ210LnYxYWxwaGExLk1zc3FsU291cmNlQ29ubmVjdGlvbk9wdGlvbnMuQ29sdW1uUmVtb3ZhbFN0cmF0ZWd5GoMCChVDb2x1bW5SZW1vdmFsU3RyYXRlZ3kSXQoIaGFsdF9qb2IYASABKAsySS5tZ210LnYxYWxwaGExLk1zc3FsU291cmNlQ29ubmVjdGlvbk9wdGlvbnMuQ29sdW1uUmVtb3ZhbFN0cmF0ZWd5LkhhbHRKb2JIABJlCgxjb250aW51ZV9qb2IYAiABKAsyTS5tZ210LnYxYWxwaGExLk1zc3FsU291cmNlQ29ubmVjdGlvbk9wdGlvbnMuQ29sdW1uUmVtb3ZhbFN0cmF0ZWd5LkNvbnRpbnVlSm9iSAAaCQoHSGFsdEpvYhoNCgtDb250aW51ZUpvYkIKCghzdHJhdGVneSJzChdNc3NxbFNvdXJjZVNjaGVtYU9wdGlvbhIXCgZzY2hlbWEYASABKAlCB7pIBHICEAESPwoGdGFibGVzGAIgAygLMiUubWdtdC52MWFscGhhMS5Nc3NxbFNvdXJjZVRhYmxlT3B0aW9uQgi6SAWSAQIIASJcChZNc3NxbFNvdXJjZVRhYmxlT3B0aW9uEhYKBXRhYmxlGAEgASgJQge6SARyAhABEhkKDHdoZXJlX2NsYXVzZRgCIAEoCUgAiAEBQg8KDV93aGVyZV9jbGF1c2UiPwocQXdzUzNTb3VyY2VDb25uZWN0aW9uT3B0aW9ucxIfCg1jb25uZWN0aW9uX2lkGAEgASgJQgi6SAVyA7ABASLbBAoVSm9iRGVzdGluYXRpb25PcHRpb25zEk8KEHBvc3RncmVzX29wdGlvbnMYASABKAsyMy5tZ210LnYxYWxwaGExLlBvc3RncmVzRGVzdGluYXRpb25Db25uZWN0aW9uT3B0aW9uc0gAEkoKDmF3c19zM19vcHRpb25zGAIgASgLMjAubWdtdC52MWFscGhhMS5Bd3NTM0Rlc3RpbmF0aW9uQ29ubmVjdGlvbk9wdGlvbnNIABJJCg1teXNxbF9vcHRpb25zGAMgASgLMjAubWdtdC52MWFscGhhMS5NeXNxbERlc3RpbmF0aW9uQ29ubmVjdGlvbk9wdGlvbnNIABJNCg9tb25nb2RiX29wdGlvbnMYBCABKAsyMi5tZ210LnYxYWxwaGExLk1vbmdvREJEZXN0aW5hdGlvbkNvbm5lY3Rpb25PcHRpb25zSAASXgoYZ2NwX2Nsb3Vkc3RvcmFnZV9vcHRpb25zGAUgASgLMjoubWdtdC52MWFscGhhMS5HY3BDbG91ZFN0b3JhZ2VEZXN0aW5hdGlvbkNvbm5lY3Rpb25PcHRpb25zSAASTwoQZHluYW1vZGJfb3B0aW9ucxgGIAEoCzIzLm1nbXQudjFhbHBoYTEuRHluYW1vREJEZXN0aW5hdGlvbkNvbm5lY3Rpb25PcHRpb25zSAASSQoNbXNzcWxfb3B0aW9ucxgHIAEoCzIwLm1nbXQudjFhbHBoYTEuTXNzcWxEZXN0aW5hdGlvbkNvbm5lY3Rpb25PcHRpb25zSABCDwoGY29uZmlnEgW6SAIIASIlCiNNb25nb0RCRGVzdGluYXRpb25Db25uZWN0aW9uT3B0aW9ucyItCitHY3BDbG91ZFN0b3JhZ2VEZXN0aW5hdGlvbkNvbm5lY3Rpb25PcHRpb25zIm4KJER5bmFtb0RCRGVzdGluYXRpb25Db25uZWN0aW9uT3B0aW9ucxJGCg50YWJsZV9tYXBwaW5ncxgBIAMoCzIuLm1nbXQudjFhbHBoYTEuRHluYW1vREJEZXN0aW5hdGlvblRhYmxlTWFwcGluZyJSCh9EeW5hbW9EQkRlc3RpbmF0aW9uVGFibGVNYXBwaW5nEhQKDHNvdXJjZV90YWJsZRgBIAEoCRIZChFkZXN0aW5hdGlvbl90YWJsZRgCIAEoCSLKAgokUG9zdGdyZXNEZXN0aW5hdGlvbkNvbm5lY3Rpb25PcHRpb25zEkIKDnRydW5jYXRlX3RhYmxlGAEgASgLMioubWdtdC52MWFscGhhMS5Qb3N0Z3Jlc1RydW5jYXRlVGFibGVDb25maWcSGQoRaW5pdF90YWJsZV9zY2hlbWEYAiABKAgSPAoLb25fY29uZmxpY3QYAyABKAsyJy5tZ210LnYxYWxwaGExLlBvc3RncmVzT25Db25mbGljdENvbmZpZxIjChtza2lwX2ZvcmVpZ25fa2V5X3Zpb2xhdGlvbnMYBCABKAgSKQoFYmF0Y2gYBSABKAsyGi5tZ210LnYxYWxwaGExLkJhdGNoQ29uZmlnEiMKDW1heF9pbl9mbGlnaHQYBiABKA1CB7pIBCoCKAFIAIgBAUIQCg5fbWF4X2luX2ZsaWdodCKoAgoYUG9zdGdyZXNPbkNvbmZsaWN0Q29uZmlnEhIKCmRvX25vdGhpbmcYASABKAgSVgoHbm90aGluZxgCIAEoCzJDLm1nbXQudjFhbHBoYTEuUG9zdGdyZXNPbkNvbmZsaWN0Q29uZmlnLlBvc3RncmVzT25Db25mbGljdERvTm90aGluZ0gAElIKBnVwZGF0ZRgDIAEoCzJALm1nbXQudjFhbHBoYTEuUG9zdGdyZXNPbkNvbmZsaWN0Q29uZmlnLlBvc3RncmVzT25Db25mbGljdFVwZGF0ZUgAGh0KG1Bvc3RncmVzT25Db25mbGljdERvTm90aGluZxoaChhQb3N0Z3Jlc09uQ29uZmxpY3RVcGRhdGVCEQoIc3RyYXRlZ3kSBbpIAggAIk4KG1Bvc3RncmVzVHJ1bmNhdGVUYWJsZUNvbmZpZxIeChZ0cnVuY2F0ZV9iZWZvcmVfaW5zZXJ0GAEgASgIEg8KB2Nhc2NhZGUYAiABKAgiwQIKIU15c3FsRGVzdGluYXRpb25Db25uZWN0aW9uT3B0aW9ucxI/Cg50cnVuY2F0ZV90YWJsZRgBIAEoCzInLm1nbXQudjFhbHBoYTEuTXlzcWxUcnVuY2F0ZVRhYmxlQ29uZmlnEhkKEWluaXRfdGFibGVfc2NoZW1hGAIgASgIEjkKC29uX2NvbmZsaWN0GAMgASgLMiQubWdtdC52MWFscGhhMS5NeXNxbE9uQ29uZmxpY3RDb25maWcSIwobc2tpcF9mb3JlaWduX2tleV92aW9sYXRpb25zGAQgASgIEikKBWJhdGNoGAUgASgLMhoubWdtdC52MWFscGhhMS5CYXRjaENvbmZpZxIjCg1tYXhfaW5fZmxpZ2h0GAYgASgNQge6SAQqAigBSACIAQFCEAoOX21heF9pbl9mbGlnaHQiOgoYTXlzcWxUcnVuY2F0ZVRhYmxlQ29uZmlnEh4KFnRydW5jYXRlX2JlZm9yZV9pbnNlcnQYASABKAgikwIKFU15c3FsT25Db25mbGljdENvbmZpZxISCgpkb19ub3RoaW5nGAEgASgIElAKB25vdGhpbmcYAiABKAsyPS5tZ210LnYxYWxwaGExLk15c3FsT25Db25mbGljdENvbmZpZy5NeXNxbE9uQ29uZmxpY3REb05vdGhpbmdIABJMCgZ1cGRhdGUYAyABKAsyOi5tZ210LnYxYWxwaGExLk15c3FsT25Db25mbGljdENvbmZpZy5NeXNxbE9uQ29uZmxpY3RVcGRhdGVIABoaChhNeXNxbE9uQ29uZmxpY3REb05vdGhpbmcaFwoVTXlzcWxPbkNvbmZsaWN0VXBkYXRlQhEKCHN0cmF0ZWd5EgW6SAIIACLBAgohTXNzcWxEZXN0aW5hdGlvbkNvbm5lY3Rpb25PcHRpb25zEj8KDnRydW5jYXRlX3RhYmxlGAEgASgLMicubWdtdC52MWFscGhhMS5Nc3NxbFRydW5jYXRlVGFibGVDb25maWcSGQoRaW5pdF90YWJsZV9zY2hlbWEYAiABKAgSOQoLb25fY29uZmxpY3QYAyABKAsyJC5tZ210LnYxYWxwaGExLk1zc3FsT25Db25mbGljdENvbmZpZxIjChtza2lwX2ZvcmVpZ25fa2V5X3Zpb2xhdGlvbnMYBCABKAgSKQoFYmF0Y2gYBSABKAsyGi5tZ210LnYxYWxwaGExLkJhdGNoQ29uZmlnEiMKDW1heF9pbl9mbGlnaHQYBiABKA1CB7pIBCoCKAFIAIgBAUIQCg5fbWF4X2luX2ZsaWdodCI6ChhNc3NxbFRydW5jYXRlVGFibGVDb25maWcSHgoWdHJ1bmNhdGVfYmVmb3JlX2luc2VydBgBIAEoCCIrChVNc3NxbE9uQ29uZmxpY3RDb25maWcSEgoKZG9fbm90aGluZxgBIAEoCCKOBAohQXdzUzNEZXN0aW5hdGlvbkNvbm5lY3Rpb25PcHRpb25zElQKDXN0b3JhZ2VfY2xhc3MYASABKA4yPS5tZ210LnYxYWxwaGExLkF3c1MzRGVzdGluYXRpb25Db25uZWN0aW9uT3B0aW9ucy5TdG9yYWdlQ2xhc3MSIwoNbWF4X2luX2ZsaWdodBgCIAEoDUIHukgEKgIoAUgAiAEBEhQKB3RpbWVvdXQYAyABKAlIAYgBARIpCgViYXRjaBgEIAEoCzIaLm1nbXQudjFhbHBoYTEuQmF0Y2hDb25maWcijgIKDFN0b3JhZ2VDbGFzcxIdChlTVE9SQUdFX0NMQVNTX1VOU1BFQ0lGSUVEEAASGgoWU1RPUkFHRV9DTEFTU19TVEFOREFSRBABEiQKIFNUT1JBR0VfQ0xBU1NfUkVEVUNFRF9SRURVTkRBTkNZEAISGQoVU1RPUkFHRV9DTEFTU19HTEFDSUVSEAMSHQoZU1RPUkFHRV9DTEFTU19TVEFOREFSRF9JQRAEEhwKGFNUT1JBR0VfQ0xBU1NfT05FWk9ORV9JQRAFEiUKIVNUT1JBR0VfQ0xBU1NfSU5URUxMSUdFTlRfVElFUklORxAGEh4KGlNUT1JBR0VfQ0xBU1NfREVFUF9BUkNISVZFEAdCEAoOX21heF9pbl9mbGlnaHRCCgoIX3RpbWVvdXQiSwoLQmF0Y2hDb25maWcSEgoFY291bnQYASABKA1IAIgBARITCgZwZXJpb2QYAiABKAlIAYgBAUIICgZfY291bnRCCQoHX3BlcmlvZCLuAwoQQ3JlYXRlSm9iUmVxdWVzdBIcCgphY2NvdW50X2lkGAEgASgJQgi6SAVyA7ABARIrCghqb2JfbmFtZRgCIAEoCUIZukgWchQyEl5bYS16MC05LV17MywxMDB9JBIaCg1jcm9uX3NjaGVkdWxlGAMgASgJSACIAQESKwoIbWFwcGluZ3MYBCADKAsyGS5tZ210LnYxYWxwaGExLkpvYk1hcHBpbmcSKAoGc291cmNlGAUgASgLMhgubWdtdC52MWFscGhhMS5Kb2JTb3VyY2USOQoMZGVzdGluYXRpb25zGAYgAygLMiMubWdtdC52MWFscGhhMS5DcmVhdGVKb2JEZXN0aW5hdGlvbhIYChBpbml0aWF0ZV9qb2JfcnVuGAcgASgIEjgKEHdvcmtmbG93X29wdGlvbnMYCCABKAsyHi5tZ210LnYxYWxwaGExLldvcmtmbG93T3B0aW9ucxI0CgxzeW5jX29wdGlvbnMYCSABKAsyHi5tZ210LnYxYWxwaGExLkFjdGl2aXR5T3B0aW9ucxJFChR2aXJ0dWFsX2ZvcmVpZ25fa2V5cxgKIAMoCzInLm1nbXQudjFhbHBoYTEuVmlydHVhbEZvcmVpZ25Db25zdHJhaW50QhAKDl9jcm9uX3NjaGVkdWxlImUKD1dvcmtmbG93T3B0aW9ucxIYCgtydW5fdGltZW91dBgIIAEoA0gAiAEBQg4KDF9ydW5fdGltZW91dEoECAEQAkoECAIQA0oECAMQBEoECAQQBUoECAUQBkoECAYQB0oECAcQCCLbAQoPQWN0aXZpdHlPcHRpb25zEi8KGXNjaGVkdWxlX3RvX2Nsb3NlX3RpbWVvdXQYASABKANCB7pIBCICKAFIAIgBARIsChZzdGFydF90b19jbG9zZV90aW1lb3V0GAIgASgDQge6SAQiAigBSAGIAQESMAoMcmV0cnlfcG9saWN5GAMgASgLMhoubWdtdC52MWFscGhhMS5SZXRyeVBvbGljeUIcChpfc2NoZWR1bGVfdG9fY2xvc2VfdGltZW91dEIZChdfc3RhcnRfdG9fY2xvc2VfdGltZW91dCJKCgtSZXRyeVBvbGljeRImChBtYXhpbXVtX2F0dGVtcHRzGAEgASgFQge6SAQaAigASACIAQFCEwoRX21heGltdW1fYXR0ZW1wdHMiNAoRQ3JlYXRlSm9iUmVzcG9uc2USHwoDam9iGAEgASgLMhIubWdtdC52MWFscGhhMS5Kb2IiTwoVSm9iTWFwcGluZ1RyYW5zZm9ybWVyEjAKBmNvbmZpZxgDIAEoCzIgLm1nbXQudjFhbHBoYTEuVHJhbnNmb3JtZXJDb25maWdKBAgBEAIikQEKCkpvYk1hcHBpbmcSFwoGc2NoZW1hGAEgASgJQge6SARyAhABEhYKBXRhYmxlGAIgASgJQge6SARyAhABEhcKBmNvbHVtbhgDIAEoCUIHukgEcgIQARI5Cgt0cmFuc2Zvcm1lchgFIAEoCzIkLm1nbXQudjFhbHBoYTEuSm9iTWFwcGluZ1RyYW5zZm9ybWVyIiUKDUdldEpvYlJlcXVlc3QSFAoCaWQYASABKAlCCLpIBXIDsAEBIjEKDkdldEpvYlJlc3BvbnNlEh8KA2pvYhgBIAEoCzISLm1nbXQudjFhbHBoYTEuSm9iIl4KGFVwZGF0ZUpvYlNjaGVkdWxlUmVxdWVzdBIUCgJpZBgBIAEoCUIIukgFcgOwAQESGgoNY3Jvbl9zY2hlZHVsZRgCIAEoCUgAiAEBQhAKDl9jcm9uX3NjaGVkdWxlIjwKGVVwZGF0ZUpvYlNjaGVkdWxlUmVzcG9uc2USHwoDam9iGAEgASgLMhIubWdtdC52MWFscGhhMS5Kb2IiUgoPUGF1c2VKb2JSZXF1ZXN0EhQKAmlkGAEgASgJQgi6SAVyA7ABARINCgVwYXVzZRgCIAEoCBIRCgRub3RlGAMgASgJSACIAQFCBwoFX25vdGUiMwoQUGF1c2VKb2JSZXNwb25zZRIfCgNqb2IYASABKAsyEi5tZ210LnYxYWxwaGExLkpvYiLWAQogVXBkYXRlSm9iU291cmNlQ29ubmVjdGlvblJlcXVlc3QSFAoCaWQYASABKAlCCLpIBXIDsAEBEigKBnNvdXJjZRgCIAEoCzIYLm1nbXQudjFhbHBoYTEuSm9iU291cmNlEisKCG1hcHBpbmdzGAMgAygLMhkubWdtdC52MWFscGhhMS5Kb2JNYXBwaW5nEkUKFHZpcnR1YWxfZm9yZWlnbl9rZXlzGAQgAygLMicubWdtdC52MWFscGhhMS5WaXJ0dWFsRm9yZWlnbkNvbnN0cmFpbnQiRAohVXBkYXRlSm9iU291cmNlQ29ubmVjdGlvblJlc3BvbnNlEh8KA2pvYhgBIAEoCzISLm1nbXQudjFhbHBoYTEuSm9iImEKGlBvc3RncmVzU291cmNlU2NoZW1hU3Vic2V0EkMKEHBvc3RncmVzX3NjaGVtYXMYASADKAsyKS5tZ210LnYxYWxwaGExLlBvc3RncmVzU291cmNlU2NoZW1hT3B0aW9uIlgKF015c3FsU291cmNlU2NoZW1hU3Vic2V0Ej0KDW15c3FsX3NjaGVtYXMYASADKAsyJi5tZ210LnYxYWxwaGExLk15c3FsU291cmNlU2NoZW1hT3B0aW9uIlYKGkR5bmFtb0RCU291cmNlU2NoZW1hU3Vic2V0EjgKBnRhYmxlcxgBIAMoCzIoLm1nbXQudjFhbHBoYTEuRHluYW1vREJTb3VyY2VUYWJsZU9wdGlvbiJYChdNc3NxbFNvdXJjZVNjaGVtYVN1YnNldBI9Cg1tc3NxbF9zY2hlbWFzGAEgAygLMiYubWdtdC52MWFscGhhMS5Nc3NxbFNvdXJjZVNjaGVtYU9wdGlvbiK+AgoYSm9iU291cmNlU3FsU3ViZXRTY2hlbWFzEkQKD3Bvc3RncmVzX3N1YnNldBgCIAEoCzIpLm1nbXQudjFhbHBoYTEuUG9zdGdyZXNTb3VyY2VTY2hlbWFTdWJzZXRIABI+CgxteXNxbF9zdWJzZXQYAyABKAsyJi5tZ210LnYxYWxwaGExLk15c3FsU291cmNlU2NoZW1hU3Vic2V0SAASRAoPZHluYW1vZGJfc3Vic2V0GAQgASgLMikubWdtdC52MWFscGhhMS5EeW5hbW9EQlNvdXJjZVNjaGVtYVN1YnNldEgAEj4KDG1zc3FsX3N1YnNldBgFIAEoCzImLm1nbXQudjFhbHBoYTEuTXNzcWxTb3VyY2VTY2hlbWFTdWJzZXRIAEIQCgdzY2hlbWFzEgW6SAIIAUoECAEQAiKkAQonU2V0Sm9iU291cmNlU3FsQ29ubmVjdGlvblN1YnNldHNSZXF1ZXN0EhQKAmlkGAEgASgJQgi6SAVyA7ABARI4CgdzY2hlbWFzGAIgASgLMicubWdtdC52MWFscGhhMS5Kb2JTb3VyY2VTcWxTdWJldFNjaGVtYXMSKQohc3Vic2V0X2J5X2ZvcmVpZ25fa2V5X2NvbnN0cmFpbnRzGAMgASgIIksKKFNldEpvYlNvdXJjZVNxbENvbm5lY3Rpb25TdWJzZXRzUmVzcG9uc2USHwoDam9iGAEgASgLMhIubWdtdC52MWFscGhhMS5Kb2IisQEKJVVwZGF0ZUpvYkRlc3RpbmF0aW9uQ29ubmVjdGlvblJlcXVlc3QSGAoGam9iX2lkGAEgASgJQgi6SAVyA7ABARIfCg1jb25uZWN0aW9uX2lkGAIgASgJQgi6SAVyA7ABARI1CgdvcHRpb25zGAMgASgLMiQubWdtdC52MWFscGhhMS5Kb2JEZXN0aW5hdGlvbk9wdGlvbnMSFgoOZGVzdGluYXRpb25faWQYBCABKAkiSQomVXBkYXRlSm9iRGVzdGluYXRpb25Db25uZWN0aW9uUmVzcG9uc2USHwoDam9iGAEgASgLMhIubWdtdC52MWFscGhhMS5Kb2IiSQolRGVsZXRlSm9iRGVzdGluYXRpb25Db25uZWN0aW9uUmVxdWVzdBIgCg5kZXN0aW5hdGlvbl9pZBgBIAEoCUIIukgFcgOwAQEiKAomRGVsZXRlSm9iRGVzdGluYXRpb25Db25uZWN0aW9uUmVzcG9uc2UifQomQ3JlYXRlSm9iRGVzdGluYXRpb25Db25uZWN0aW9uc1JlcXVlc3QSGAoGam9iX2lkGAEgASgJQgi6SAVyA7ABARI5CgxkZXN0aW5hdGlvbnMYAiADKAsyIy5tZ210LnYxYWxwaGExLkNyZWF0ZUpvYkRlc3RpbmF0aW9uIkoKJ0NyZWF0ZUpvYkRlc3RpbmF0aW9uQ29ubmVjdGlvbnNSZXNwb25zZRIfCgNqb2IYASABKAsyEi5tZ210LnYxYWxwaGExLkpvYiIoChBEZWxldGVKb2JSZXF1ZXN0EhQKAmlkGAEgASgJQgi6SAVyA7ABASITChFEZWxldGVKb2JSZXNwb25zZSJiChlJc0pvYk5hbWVBdmFpbGFibGVSZXF1ZXN0EicKBG5hbWUYASABKAlCGbpIFnIUMhJeW2EtejAtOS1dezMsMTAwfSQSHAoKYWNjb3VudF9pZBgCIAEoCUIIukgFcgOwAQEiMgoaSXNKb2JOYW1lQXZhaWxhYmxlUmVzcG9uc2USFAoMaXNfYXZhaWxhYmxlGAEgASgIIlUKEUdldEpvYlJ1bnNSZXF1ZXN0EhoKBmpvYl9pZBgBIAEoCUIIukgFcgOwAQFIABIeCgphY2NvdW50X2lkGAIgASgJQgi6SAVyA7ABAUgAQgQKAmlkIj0KEkdldEpvYlJ1bnNSZXNwb25zZRInCghqb2JfcnVucxgBIAMoCzIVLm1nbXQudjFhbHBoYTEuSm9iUnVuIkQKEEdldEpvYlJ1blJlcXVlc3QSEgoKam9iX3J1bl9pZBgBIAEoCRIcCgphY2NvdW50X2lkGAIgASgJQgi6SAVyA7ABASI7ChFHZXRKb2JSdW5SZXNwb25zZRImCgdqb2JfcnVuGAEgASgLMhUubWdtdC52MWFscGhhMS5Kb2JSdW4iLwoTQ3JlYXRlSm9iUnVuUmVxdWVzdBIYCgZqb2JfaWQYASABKAlCCLpIBXIDsAEBIhYKFENyZWF0ZUpvYlJ1blJlc3BvbnNlIkcKE0NhbmNlbEpvYlJ1blJlcXVlc3QSEgoKam9iX3J1bl9pZBgBIAEoCRIcCgphY2NvdW50X2lkGAIgASgJQgi6SAVyA7ABASIWChRDYW5jZWxKb2JSdW5SZXNwb25zZSK8BAoDSm9iEgoKAmlkGAEgASgJEhoKEmNyZWF0ZWRfYnlfdXNlcl9pZBgCIAEoCRIuCgpjcmVhdGVkX2F0GAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIaChJ1cGRhdGVkX2J5X3VzZXJfaWQYBCABKAkSLgoKdXBkYXRlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDAoEbmFtZRgGIAEoCRIoCgZzb3VyY2UYByABKAsyGC5tZ210LnYxYWxwaGExLkpvYlNvdXJjZRIzCgxkZXN0aW5hdGlvbnMYCCADKAsyHS5tZ210LnYxYWxwaGExLkpvYkRlc3RpbmF0aW9uEisKCG1hcHBpbmdzGAkgAygLMhkubWdtdC52MWFscGhhMS5Kb2JNYXBwaW5nEhoKDWNyb25fc2NoZWR1bGUYCiABKAlIAIgBARISCgphY2NvdW50X2lkGAsgASgJEjQKDHN5bmNfb3B0aW9ucxgMIAEoCzIeLm1nbXQudjFhbHBoYTEuQWN0aXZpdHlPcHRpb25zEjgKEHdvcmtmbG93X29wdGlvbnMYDSABKAsyHi5tZ210LnYxYWxwaGExLldvcmtmbG93T3B0aW9ucxJFChR2aXJ0dWFsX2ZvcmVpZ25fa2V5cxgOIAMoCzInLm1nbXQudjFhbHBoYTEuVmlydHVhbEZvcmVpZ25Db25zdHJhaW50QhAKDl9jcm9uX3NjaGVkdWxlIlIKDEpvYlJlY2VudFJ1bhIuCgpzdGFydF90aW1lGAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBISCgpqb2JfcnVuX2lkGAIgASgJIjMKF0dldEpvYlJlY2VudFJ1bnNSZXF1ZXN0EhgKBmpvYl9pZBgBIAEoCUIIukgFcgOwAQEiTAoYR2V0Sm9iUmVjZW50UnVuc1Jlc3BvbnNlEjAKC3JlY2VudF9ydW5zGAEgAygLMhsubWdtdC52MWFscGhhMS5Kb2JSZWNlbnRSdW4iQQoLSm9iTmV4dFJ1bnMSMgoObmV4dF9ydW5fdGltZXMYASADKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIjEKFUdldEpvYk5leHRSdW5zUmVxdWVzdBIYCgZqb2JfaWQYASABKAlCCLpIBXIDsAEBIkcKFkdldEpvYk5leHRSdW5zUmVzcG9uc2USLQoJbmV4dF9ydW5zGAEgASgLMhoubWdtdC52MWFscGhhMS5Kb2JOZXh0UnVucyIvChNHZXRKb2JTdGF0dXNSZXF1ZXN0EhgKBmpvYl9pZBgBIAEoCUIIukgFcgOwAQEiQAoUR2V0Sm9iU3RhdHVzUmVzcG9uc2USKAoGc3RhdHVzGAEgASgOMhgubWdtdC52MWFscGhhMS5Kb2JTdGF0dXMiVQoPSm9iU3RhdHVzUmVjb3JkEhgKBmpvYl9pZBgBIAEoCUIIukgFcgOwAQESKAoGc3RhdHVzGAIgASgOMhgubWdtdC52MWFscGhhMS5Kb2JTdGF0dXMiNQoVR2V0Sm9iU3RhdHVzZXNSZXF1ZXN0EhwKCmFjY291bnRfaWQYASABKAlCCLpIBXIDsAEBIkoKFkdldEpvYlN0YXR1c2VzUmVzcG9uc2USMAoIc3RhdHVzZXMYASADKAsyHi5tZ210LnYxYWxwaGExLkpvYlN0YXR1c1JlY29yZCIiCg9BY3Rpdml0eUZhaWx1cmUSDwoHbWVzc2FnZRgBIAEoCSKjAQoPUGVuZGluZ0FjdGl2aXR5Ei0KBnN0YXR1cxgBIAEoDjIdLm1nbXQudjFhbHBoYTEuQWN0aXZpdHlTdGF0dXMSFQoNYWN0aXZpdHlfbmFtZRgCIAEoCRI5CgxsYXN0X2ZhaWx1cmUYAyABKAsyHi5tZ210LnYxYWxwaGExLkFjdGl2aXR5RmFpbHVyZUgAiAEBQg8KDV9sYXN0X2ZhaWx1cmUimQIKBkpvYlJ1bhIKCgJpZBgBIAEoCRIOCgZqb2JfaWQYAiABKAkSDAoEbmFtZRgDIAEoCRIrCgZzdGF0dXMYBCABKA4yGy5tZ210LnYxYWxwaGExLkpvYlJ1blN0YXR1cxIuCgpzdGFydGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI1Cgxjb21wbGV0ZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQESOgoScGVuZGluZ19hY3Rpdml0aWVzGAggAygLMh4ubWdtdC52MWFscGhhMS5QZW5kaW5nQWN0aXZpdHlCDwoNX2NvbXBsZXRlZF9hdEoECAUQBiI8ChRKb2JSdW5FdmVudFRhc2tFcnJvchIPCgdtZXNzYWdlGAEgASgJEhMKC3JldHJ5X3N0YXRlGAIgASgJIo8BCg9Kb2JSdW5FdmVudFRhc2sSCgoCaWQYASABKAMSDAoEdHlwZRgCIAEoCRIuCgpldmVudF90aW1lGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIyCgVlcnJvchgEIAEoCzIjLm1nbXQudjFhbHBoYTEuSm9iUnVuRXZlbnRUYXNrRXJyb3IiMwoSSm9iUnVuU3luY01ldGFkYXRhEg4KBnNjaGVtYRgBIAEoCRINCgV0YWJsZRgCIAEoCSJkChNKb2JSdW5FdmVudE1ldGFkYXRhEjoKDXN5bmNfbWV0YWRhdGEYASABKAsyIS5tZ210LnYxYWxwaGExLkpvYlJ1blN5bmNNZXRhZGF0YUgAQhEKCG1ldGFkYXRhEgW6SAIIASLsAQoLSm9iUnVuRXZlbnQSCgoCaWQYASABKAMSDAoEdHlwZRgCIAEoCRIuCgpzdGFydF90aW1lGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgpjbG9zZV90aW1lGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI0CghtZXRhZGF0YRgFIAEoCzIiLm1nbXQudjFhbHBoYTEuSm9iUnVuRXZlbnRNZXRhZGF0YRItCgV0YXNrcxgGIAMoCzIeLm1nbXQudjFhbHBoYTEuSm9iUnVuRXZlbnRUYXNrIkoKFkdldEpvYlJ1bkV2ZW50c1JlcXVlc3QSEgoKam9iX3J1bl9pZBgBIAEoCRIcCgphY2NvdW50X2lkGAIgASgJQgi6SAVyA7ABASJeChdHZXRKb2JSdW5FdmVudHNSZXNwb25zZRIqCgZldmVudHMYASADKAsyGi5tZ210LnYxYWxwaGExLkpvYlJ1bkV2ZW50EhcKD2lzX3J1bl9jb21wbGV0ZRgCIAEoCCJHChNEZWxldGVKb2JSdW5SZXF1ZXN0EhIKCmpvYl9ydW5faWQYASABKAkSHAoKYWNjb3VudF9pZBgCIAEoCUIIukgFcgOwAQEiFgoURGVsZXRlSm9iUnVuUmVzcG9uc2UiSgoWVGVybWluYXRlSm9iUnVuUmVxdWVzdBISCgpqb2JfcnVuX2lkGAEgASgJEhwKCmFjY291bnRfaWQYAiABKAlCCLpIBXIDsAEBIhkKF1Rlcm1pbmF0ZUpvYlJ1blJlc3BvbnNlIvEBChpHZXRKb2JSdW5Mb2dzU3RyZWFtUmVxdWVzdBISCgpqb2JfcnVuX2lkGAEgASgJEhwKCmFjY291bnRfaWQYAiABKAlCCLpIBXIDsAEBEigKBndpbmRvdxgDIAEoDjIYLm1nbXQudjFhbHBoYTEuTG9nV2luZG93EhMKC3Nob3VsZF90YWlsGAQgASgIEiMKDW1heF9sb2dfbGluZXMYBSABKANCB7pIBCICKAFIAIgBARIrCgpsb2dfbGV2ZWxzGAYgAygOMhcubWdtdC52MWFscGhhMS5Mb2dMZXZlbEIQCg5fbWF4X2xvZ19saW5lcyJxChtHZXRKb2JSdW5Mb2dzU3RyZWFtUmVzcG9uc2USEAoIbG9nX2xpbmUYASABKAkSMgoJdGltZXN0YW1wGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBQgwKCl90aW1lc3RhbXAibgocU2V0Sm9iV29ya2Zsb3dPcHRpb25zUmVxdWVzdBIUCgJpZBgBIAEoCUIIukgFcgOwAQESOAoQd29yZmtsb3dfb3B0aW9ucxgCIAEoCzIeLm1nbXQudjFhbHBoYTEuV29ya2Zsb3dPcHRpb25zIkAKHVNldEpvYldvcmtmbG93T3B0aW9uc1Jlc3BvbnNlEh8KA2pvYhgBIAEoCzISLm1nbXQudjFhbHBoYTEuSm9iImYKGFNldEpvYlN5bmNPcHRpb25zUmVxdWVzdBIUCgJpZBgBIAEoCUIIukgFcgOwAQESNAoMc3luY19vcHRpb25zGAIgASgLMh4ubWdtdC52MWFscGhhMS5BY3Rpdml0eU9wdGlvbnMiPAoZU2V0Sm9iU3luY09wdGlvbnNSZXNwb25zZRIfCgNqb2IYASABKAsyEi5tZ210LnYxYWxwaGExLkpvYiLPAQoaVmFsaWRhdGVKb2JNYXBwaW5nc1JlcXVlc3QSHAoKYWNjb3VudF9pZBgBIAEoCUIIukgFcgOwAQESKwoIbWFwcGluZ3MYAiADKAsyGS5tZ210LnYxYWxwaGExLkpvYk1hcHBpbmcSHwoNY29ubmVjdGlvbl9pZBgDIAEoCUIIukgFcgOwAQESRQoUdmlydHVhbF9mb3JlaWduX2tleXMYBCADKAsyJy5tZ210LnYxYWxwaGExLlZpcnR1YWxGb3JlaWduQ29uc3RyYWludCJMCgtDb2x1bW5FcnJvchIOCgZzY2hlbWEYASABKAkSDQoFdGFibGUYAiABKAkSDgoGY29sdW1uGAMgASgJEg4KBmVycm9ycxgEIAMoCSIfCg1EYXRhYmFzZUVycm9yEg4KBmVycm9ycxgBIAMoCSKHAQobVmFsaWRhdGVKb2JNYXBwaW5nc1Jlc3BvbnNlEjEKDWNvbHVtbl9lcnJvcnMYASADKAsyGi5tZ210LnYxYWxwaGExLkNvbHVtbkVycm9yEjUKD2RhdGFiYXNlX2Vycm9ycxgCIAEoCzIcLm1nbXQudjFhbHBoYTEuRGF0YWJhc2VFcnJvciJDChFWaXJ0dWFsRm9yZWlnbktleRIOCgZzY2hlbWEYASABKAkSDQoFdGFibGUYAiABKAkSDwoHY29sdW1ucxgDIAMoCSKBAQoYVmlydHVhbEZvcmVpZ25Db25zdHJhaW50Eg4KBnNjaGVtYRgBIAEoCRINCgV0YWJsZRgCIAEoCRIPCgdjb2x1bW5zGAMgAygJEjUKC2ZvcmVpZ25fa2V5GAQgASgLMiAubWdtdC52MWFscGhhMS5WaXJ0dWFsRm9yZWlnbktleSJnCg1SdW5Db250ZXh0S2V5EhsKCmpvYl9ydW5faWQYASABKAlCB7pIBHICEAESHAoLZXh0ZXJuYWxfaWQYAiABKAlCB7pIBHICEAESGwoKYWNjb3VudF9pZBgDIAEoCUIHukgEcgIQASJAChRHZXRSdW5Db250ZXh0UmVxdWVzdBIoCgJpZBgBIAEoCzIcLm1nbXQudjFhbHBoYTEuUnVuQ29udGV4dEtleSImChVHZXRSdW5Db250ZXh0UmVzcG9uc2USDQoFdmFsdWUYASABKAwiTwoUU2V0UnVuQ29udGV4dFJlcXVlc3QSKAoCaWQYASABKAsyHC5tZ210LnYxYWxwaGExLlJ1bkNvbnRleHRLZXkSDQoFdmFsdWUYAiABKAwiFwoVU2V0UnVuQ29udGV4dFJlc3BvbnNlIlAKFVNldFJ1bkNvbnRleHRzUmVxdWVzdBIoCgJpZBgBIAEoCzIcLm1nbXQudjFhbHBoYTEuUnVuQ29udGV4dEtleRINCgV2YWx1ZRgCIAEoDCIYChZTZXRSdW5Db250ZXh0c1Jlc3BvbnNlIrwCCgdKb2JIb29rEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSDgoGam9iX2lkGAQgASgJEiwKBmNvbmZpZxgFIAEoCzIcLm1nbXQudjFhbHBoYTEuSm9iSG9va0NvbmZpZxIaChJjcmVhdGVkX2J5X3VzZXJfaWQYBiABKAkSLgoKY3JlYXRlZF9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASGgoSdXBkYXRlZF9ieV91c2VyX2lkGAggASgJEi4KCnVwZGF0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg8KB2VuYWJsZWQYCiABKAgSGwoIcHJpb3JpdHkYCyABKA1CCbpIBioEGGQoACKvAQoKTmV3Sm9iSG9vaxInCgRuYW1lGAEgASgJQhm6SBZyFDISXlthLXowLTktXXszLDEwMH0kEhwKC2Rlc2NyaXB0aW9uGAIgASgJQge6SARyAhABEiwKBmNvbmZpZxgDIAEoCzIcLm1nbXQudjFhbHBoYTEuSm9iSG9va0NvbmZpZxIPCgdlbmFibGVkGAQgASgIEhsKCHByaW9yaXR5GAUgASgNQgm6SAYqBBhkKAAiiAMKDUpvYkhvb2tDb25maWcSNgoDc3FsGAUgASgLMicubWdtdC52MWFscGhhMS5Kb2JIb29rQ29uZmlnLkpvYlNxbEhvb2tIABqVAgoKSm9iU3FsSG9vaxIWCgVxdWVyeRgBIAEoCUIHukgEcgIQARIfCg1jb25uZWN0aW9uX2lkGAIgASgJQgi6SAVyA7ABARI+CgZ0aW1pbmcYAyABKAsyLi5tZ210LnYxYWxwaGExLkpvYkhvb2tDb25maWcuSm9iU3FsSG9vay5UaW1pbmcajQEKBlRpbWluZxI3CghwcmVfc3luYxgDIAEoCzIjLm1nbXQudjFhbHBoYTEuSm9iSG9va1RpbWluZ1ByZVN5bmNIABI5Cglwb3N0X3N5bmMYBCABKAsyJC5tZ210LnYxYWxwaGExLkpvYkhvb2tUaW1pbmdQb3N0U3luY0gAQg8KBnRpbWluZxIFukgCCAFCDwoGY29uZmlnEgW6SAIIAUoECAEQAkoECAIQA0oECAMQBEoECAQQBSIWChRKb2JIb29rVGltaW5nUHJlU3luYyIXChVKb2JIb29rVGltaW5nUG9zdFN5bmMiLgoSR2V0Sm9iSG9va3NSZXF1ZXN0EhgKBmpvYl9pZBgBIAEoCUIIukgFcgOwAQEiPAoTR2V0Sm9iSG9va3NSZXNwb25zZRIlCgVob29rcxgBIAMoCzIWLm1nbXQudjFhbHBoYTEuSm9iSG9vayIpChFHZXRKb2JIb29rUmVxdWVzdBIUCgJpZBgBIAEoCUIIukgFcgOwAQEiOgoSR2V0Sm9iSG9va1Jlc3BvbnNlEiQKBGhvb2sYASABKAsyFi5tZ210LnYxYWxwaGExLkpvYkhvb2siTwoUQ3JlYXRlSm9iSG9va1JlcXVlc3QSDgoGam9iX2lkGAEgASgJEicKBGhvb2sYAiABKAsyGS5tZ210LnYxYWxwaGExLk5ld0pvYkhvb2siPQoVQ3JlYXRlSm9iSG9va1Jlc3BvbnNlEiQKBGhvb2sYASABKAsyFi5tZ210LnYxYWxwaGExLkpvYkhvb2siLAoURGVsZXRlSm9iSG9va1JlcXVlc3QSFAoCaWQYASABKAlCCLpIBXIDsAEBIhcKFURlbGV0ZUpvYkhvb2tSZXNwb25zZSI9Ch1Jc0pvYkhvb2tOYW1lQXZhaWxhYmxlUmVxdWVzdBIOCgZqb2JfaWQYASABKAkSDAoEbmFtZRgCIAEoCSI2Ch5Jc0pvYkhvb2tOYW1lQXZhaWxhYmxlUmVzcG9uc2USFAoMaXNfYXZhaWxhYmxlGAEgASgIIs8BChRVcGRhdGVKb2JIb29rUmVxdWVzdBIUCgJpZBgBIAEoCUIIukgFcgOwAQESJwoEbmFtZRgCIAEoCUIZukgWchQyEl5bYS16MC05LV17MywxMDB9JBIcCgtkZXNjcmlwdGlvbhgDIAEoCUIHukgEcgIQARIsCgZjb25maWcYBCABKAsyHC5tZ210LnYxYWxwaGExLkpvYkhvb2tDb25maWcSDwoHZW5hYmxlZBgFIAEoCBIbCghwcmlvcml0eRgGIAEoDUIJukgGKgQYZCgAIj0KFVVwZGF0ZUpvYkhvb2tSZXNwb25zZRIkCgRob29rGAEgASgLMhYubWdtdC52MWFscGhhMS5Kb2JIb29rIkEKGFNldEpvYkhvb2tFbmFibGVkUmVxdWVzdBIUCgJpZBgBIAEoCUIIukgFcgOwAQESDwoHZW5hYmxlZBgCIAEoCCJBChlTZXRKb2JIb29rRW5hYmxlZFJlc3BvbnNlEiQKBGhvb2sYASABKAsyFi5tZ210LnYxYWxwaGExLkpvYkhvb2sizwEKIEdldEFjdGl2ZUpvYkhvb2tzQnlUaW1pbmdSZXF1ZXN0EhgKBmpvYl9pZBgBIAEoCUIIukgFcgOwAQESRgoGdGltaW5nGAIgASgOMjYubWdtdC52MWFscGhhMS5HZXRBY3RpdmVKb2JIb29rc0J5VGltaW5nUmVxdWVzdC5UaW1pbmciSQoGVGltaW5nEhYKElRJTUlOR19VTlNQRUNJRklFRBAAEhIKDlRJTUlOR19QUkVTWU5DEAESEwoPVElNSU5HX1BPU1RTWU5DEAIiSgohR2V0QWN0aXZlSm9iSG9va3NCeVRpbWluZ1Jlc3BvbnNlEiUKBWhvb2tzGAEgAygLMhYubWdtdC52MWFscGhhMS5Kb2JIb29rKm8KCUpvYlN0YXR1cxIaChZKT0JfU1RBVFVTX1VOU1BFQ0lGSUVEEAASFgoSSk9CX1NUQVRVU19FTkFCTEVEEAESFQoRSk9CX1NUQVRVU19QQVVTRUQQAxIXChNKT0JfU1RBVFVTX0RJU0FCTEVEEAQqpwEKDkFjdGl2aXR5U3RhdHVzEh8KG0FDVElWSVRZX1NUQVRVU19VTlNQRUNJRklFRBAAEh0KGUFDVElWSVRZX1NUQVRVU19TQ0hFRFVMRUQQARIbChdBQ1RJVklUWV9TVEFUVVNfU1RBUlRFRBACEhwKGEFDVElWSVRZX1NUQVRVU19DQU5DRUxFRBADEhoKFkFDVElWSVRZX1NUQVRVU19GQUlMRUQQBCqSAgoMSm9iUnVuU3RhdHVzEh4KGkpPQl9SVU5fU1RBVFVTX1VOU1BFQ0lGSUVEEAASGgoWSk9CX1JVTl9TVEFUVVNfUEVORElORxABEhoKFkpPQl9SVU5fU1RBVFVTX1JVTk5JTkcQAhIbChdKT0JfUlVOX1NUQVRVU19DT01QTEVURRADEhgKFEpPQl9SVU5fU1RBVFVTX0VSUk9SEAQSGwoXSk9CX1JVTl9TVEFUVVNfQ0FOQ0VMRUQQBRIdChlKT0JfUlVOX1NUQVRVU19URVJNSU5BVEVEEAYSGQoVSk9CX1JVTl9TVEFUVVNfRkFJTEVEEAcSHAoYSk9CX1JVTl9TVEFUVVNfVElNRURfT1VUEAgqfAoJTG9nV2luZG93EiIKHkxPR19XSU5ET1dfTk9fVElNRV9VTlNQRUNJRklFRBAAEhoKFkxPR19XSU5ET1dfRklGVEVFTl9NSU4QARIXChNMT0dfV0lORE9XX09ORV9IT1VSEAISFgoSTE9HX1dJTkRPV19PTkVfREFZEAMqdwoITG9nTGV2ZWwSGQoVTE9HX0xFVkVMX1VOU1BFQ0lGSUVEEAASEwoPTE9HX0xFVkVMX0RFQlVHEAESEgoOTE9HX0xFVkVMX0lORk8QAhISCg5MT0dfTEVWRUxfV0FSThADEhMKD0xPR19MRVZFTF9FUlJPUhAEMvgeCgpKb2JTZXJ2aWNlEk0KB0dldEpvYnMSHS5tZ210LnYxYWxwaGExLkdldEpvYnNSZXF1ZXN0Gh4ubWdtdC52MWFscGhhMS5HZXRKb2JzUmVzcG9uc2UiA5ACARJKCgZHZXRKb2ISHC5tZ210LnYxYWxwaGExLkdldEpvYlJlcXVlc3QaHS5tZ210LnYxYWxwaGExLkdldEpvYlJlc3BvbnNlIgOQAgESUAoJQ3JlYXRlSm9iEh8ubWdtdC52MWFscGhhMS5DcmVhdGVKb2JSZXF1ZXN0GiAubWdtdC52MWFscGhhMS5DcmVhdGVKb2JSZXNwb25zZSIAElAKCURlbGV0ZUpvYhIfLm1nbXQudjFhbHBoYTEuRGVsZXRlSm9iUmVxdWVzdBogLm1nbXQudjFhbHBoYTEuRGVsZXRlSm9iUmVzcG9uc2UiABJuChJJc0pvYk5hbWVBdmFpbGFibGUSKC5tZ210LnYxYWxwaGExLklzSm9iTmFtZUF2YWlsYWJsZVJlcXVlc3QaKS5tZ210LnYxYWxwaGExLklzSm9iTmFtZUF2YWlsYWJsZVJlc3BvbnNlIgOQAgESaAoRVXBkYXRlSm9iU2NoZWR1bGUSJy5tZ210LnYxYWxwaGExLlVwZGF0ZUpvYlNjaGVkdWxlUmVxdWVzdBooLm1nbXQudjFhbHBoYTEuVXBkYXRlSm9iU2NoZWR1bGVSZXNwb25zZSIAEoABChlVcGRhdGVKb2JTb3VyY2VDb25uZWN0aW9uEi8ubWdtdC52MWFscGhhMS5VcGRhdGVKb2JTb3VyY2VDb25uZWN0aW9uUmVxdWVzdBowLm1nbXQudjFhbHBoYTEuVXBkYXRlSm9iU291cmNlQ29ubmVjdGlvblJlc3BvbnNlIgASlQEKIFNldEpvYlNvdXJjZVNxbENvbm5lY3Rpb25TdWJzZXRzEjYubWdtdC52MWFscGhhMS5TZXRKb2JTb3VyY2VTcWxDb25uZWN0aW9uU3Vic2V0c1JlcXVlc3QaNy5tZ210LnYxYWxwaGExLlNldEpvYlNvdXJjZVNxbENvbm5lY3Rpb25TdWJzZXRzUmVzcG9uc2UiABKPAQoeVXBkYXRlSm9iRGVzdGluYXRpb25Db25uZWN0aW9uEjQubWdtdC52MWFscGhhMS5VcGRhdGVKb2JEZXN0aW5hdGlvbkNvbm5lY3Rpb25SZXF1ZXN0GjUubWdtdC52MWFscGhhMS5VcGRhdGVKb2JEZXN0aW5hdGlvbkNvbm5lY3Rpb25SZXNwb25zZSIAEo8BCh5EZWxldGVKb2JEZXN0aW5hdGlvbkNvbm5lY3Rpb24SNC5tZ210LnYxYWxwaGExLkRlbGV0ZUpvYkRlc3RpbmF0aW9uQ29ubmVjdGlvblJlcXVlc3QaNS5tZ210LnYxYWxwaGExLkRlbGV0ZUpvYkRlc3RpbmF0aW9uQ29ubmVjdGlvblJlc3BvbnNlIgASkgEKH0NyZWF0ZUpvYkRlc3RpbmF0aW9uQ29ubmVjdGlvbnMSNS5tZ210LnYxYWxwaGExLkNyZWF0ZUpvYkRlc3RpbmF0aW9uQ29ubmVjdGlvbnNSZXF1ZXN0GjYubWdtdC52MWFscGhhMS5DcmVhdGVKb2JEZXN0aW5hdGlvbkNvbm5lY3Rpb25zUmVzcG9uc2UiABJNCghQYXVzZUpvYhIeLm1nbXQudjFhbHBoYTEuUGF1c2VKb2JSZXF1ZXN0Gh8ubWdtdC52MWFscGhhMS5QYXVzZUpvYlJlc3BvbnNlIgASaAoQR2V0Sm9iUmVjZW50UnVucxImLm1nbXQudjFhbHBoYTEuR2V0Sm9iUmVjZW50UnVuc1JlcXVlc3QaJy5tZ210LnYxYWxwaGExLkdldEpvYlJlY2VudFJ1bnNSZXNwb25zZSIDkAIBEmIKDkdldEpvYk5leHRSdW5zEiQubWdtdC52MWFscGhhMS5HZXRKb2JOZXh0UnVuc1JlcXVlc3QaJS5tZ210LnYxYWxwaGExLkdldEpvYk5leHRSdW5zUmVzcG9uc2UiA5ACARJcCgxHZXRKb2JTdGF0dXMSIi5tZ210LnYxYWxwaGExLkdldEpvYlN0YXR1c1JlcXVlc3QaIy5tZ210LnYxYWxwaGExLkdldEpvYlN0YXR1c1Jlc3BvbnNlIgOQAgESYgoOR2V0Sm9iU3RhdHVzZXMSJC5tZ210LnYxYWxwaGExLkdldEpvYlN0YXR1c2VzUmVxdWVzdBolLm1nbXQudjFhbHBoYTEuR2V0Sm9iU3RhdHVzZXNSZXNwb25zZSIDkAIBElYKCkdldEpvYlJ1bnMSIC5tZ210LnYxYWxwaGExLkdldEpvYlJ1bnNSZXF1ZXN0GiEubWdtdC52MWFscGhhMS5HZXRKb2JSdW5zUmVzcG9uc2UiA5ACARJlCg9HZXRKb2JSdW5FdmVudHMSJS5tZ210LnYxYWxwaGExLkdldEpvYlJ1bkV2ZW50c1JlcXVlc3QaJi5tZ210LnYxYWxwaGExLkdldEpvYlJ1bkV2ZW50c1Jlc3BvbnNlIgOQAgESUwoJR2V0Sm9iUnVuEh8ubWdtdC52MWFscGhhMS5HZXRKb2JSdW5SZXF1ZXN0GiAubWdtdC52MWFscGhhMS5HZXRKb2JSdW5SZXNwb25zZSIDkAIBElkKDERlbGV0ZUpvYlJ1bhIiLm1nbXQudjFhbHBoYTEuRGVsZXRlSm9iUnVuUmVxdWVzdBojLm1nbXQudjFhbHBoYTEuRGVsZXRlSm9iUnVuUmVzcG9uc2UiABJZCgxDcmVhdGVKb2JSdW4SIi5tZ210LnYxYWxwaGExLkNyZWF0ZUpvYlJ1blJlcXVlc3QaIy5tZ210LnYxYWxwaGExLkNyZWF0ZUpvYlJ1blJlc3BvbnNlIgASWQoMQ2FuY2VsSm9iUnVuEiIubWdtdC52MWFscGhhMS5DYW5jZWxKb2JSdW5SZXF1ZXN0GiMubWdtdC52MWFscGhhMS5DYW5jZWxKb2JSdW5SZXNwb25zZSIAEmIKD1Rlcm1pbmF0ZUpvYlJ1bhIlLm1nbXQudjFhbHBoYTEuVGVybWluYXRlSm9iUnVuUmVxdWVzdBomLm1nbXQudjFhbHBoYTEuVGVybWluYXRlSm9iUnVuUmVzcG9uc2UiABJwChNHZXRKb2JSdW5Mb2dzU3RyZWFtEikubWdtdC52MWFscGhhMS5HZXRKb2JSdW5Mb2dzU3RyZWFtUmVxdWVzdBoqLm1nbXQudjFhbHBoYTEuR2V0Sm9iUnVuTG9nc1N0cmVhbVJlc3BvbnNlIgAwARJ0ChVTZXRKb2JXb3JrZmxvd09wdGlvbnMSKy5tZ210LnYxYWxwaGExLlNldEpvYldvcmtmbG93T3B0aW9uc1JlcXVlc3QaLC5tZ210LnYxYWxwaGExLlNldEpvYldvcmtmbG93T3B0aW9uc1Jlc3BvbnNlIgASaAoRU2V0Sm9iU3luY09wdGlvbnMSJy5tZ210LnYxYWxwaGExLlNldEpvYlN5bmNPcHRpb25zUmVxdWVzdBooLm1nbXQudjFhbHBoYTEuU2V0Sm9iU3luY09wdGlvbnNSZXNwb25zZSIAEm4KE1ZhbGlkYXRlSm9iTWFwcGluZ3MSKS5tZ210LnYxYWxwaGExLlZhbGlkYXRlSm9iTWFwcGluZ3NSZXF1ZXN0GioubWdtdC52MWFscGhhMS5WYWxpZGF0ZUpvYk1hcHBpbmdzUmVzcG9uc2UiABJcCg1HZXRSdW5Db250ZXh0EiMubWdtdC52MWFscGhhMS5HZXRSdW5Db250ZXh0UmVxdWVzdBokLm1nbXQudjFhbHBoYTEuR2V0UnVuQ29udGV4dFJlc3BvbnNlIgASXAoNU2V0UnVuQ29udGV4dBIjLm1nbXQudjFhbHBoYTEuU2V0UnVuQ29udGV4dFJlcXVlc3QaJC5tZ210LnYxYWxwaGExLlNldFJ1bkNvbnRleHRSZXNwb25zZSIAEmEKDlNldFJ1bkNvbnRleHRzEiQubWdtdC52MWFscGhhMS5TZXRSdW5Db250ZXh0c1JlcXVlc3QaJS5tZ210LnYxYWxwaGExLlNldFJ1bkNvbnRleHRzUmVzcG9uc2UiACgBElkKC0dldEpvYkhvb2tzEiEubWdtdC52MWFscGhhMS5HZXRKb2JIb29rc1JlcXVlc3QaIi5tZ210LnYxYWxwaGExLkdldEpvYkhvb2tzUmVzcG9uc2UiA5ACARJWCgpHZXRKb2JIb29rEiAubWdtdC52MWFscGhhMS5HZXRKb2JIb29rUmVxdWVzdBohLm1nbXQudjFhbHBoYTEuR2V0Sm9iSG9va1Jlc3BvbnNlIgOQAgESXAoNQ3JlYXRlSm9iSG9vaxIjLm1nbXQudjFhbHBoYTEuQ3JlYXRlSm9iSG9va1JlcXVlc3QaJC5tZ210LnYxYWxwaGExLkNyZWF0ZUpvYkhvb2tSZXNwb25zZSIAElwKDURlbGV0ZUpvYkhvb2sSIy5tZ210LnYxYWxwaGExLkRlbGV0ZUpvYkhvb2tSZXF1ZXN0GiQubWdtdC52MWFscGhhMS5EZWxldGVKb2JIb29rUmVzcG9uc2UiABJ3ChZJc0pvYkhvb2tOYW1lQXZhaWxhYmxlEiwubWdtdC52MWFscGhhMS5Jc0pvYkhvb2tOYW1lQXZhaWxhYmxlUmVxdWVzdBotLm1nbXQudjFhbHBoYTEuSXNKb2JIb29rTmFtZUF2YWlsYWJsZVJlc3BvbnNlIgASXAoNVXBkYXRlSm9iSG9vaxIjLm1nbXQudjFhbHBoYTEuVXBkYXRlSm9iSG9va1JlcXVlc3QaJC5tZ210LnYxYWxwaGExLlVwZGF0ZUpvYkhvb2tSZXNwb25zZSIAEmgKEVNldEpvYkhvb2tFbmFibGVkEicubWdtdC52MWFscGhhMS5TZXRKb2JIb29rRW5hYmxlZFJlcXVlc3QaKC5tZ210LnYxYWxwaGExLlNldEpvYkhvb2tFbmFibGVkUmVzcG9uc2UiABKDAQoZR2V0QWN0aXZlSm9iSG9va3NCeVRpbWluZxIvLm1nbXQudjFhbHBoYTEuR2V0QWN0aXZlSm9iSG9va3NCeVRpbWluZ1JlcXVlc3QaMC5tZ210LnYxYWxwaGExLkdldEFjdGl2ZUpvYkhvb2tzQnlUaW1pbmdSZXNwb25zZSIDkAIBQsQBChFjb20ubWdtdC52MWFscGhhMUIISm9iUHJvdG9QAVpQZ2l0aHViLmNvbS9udWNsZXVzY2xvdWQvbmVvc3luYy9iYWNrZW5kL2dlbi9nby9wcm90b3MvbWdtdC92MWFscGhhMTttZ210djFhbHBoYTGiAgNNWFiqAg1NZ210LlYxYWxwaGExygINTWdtdFxWMWFscGhhMeICGU1nbXRcVjFhbHBoYTFcR1BCTWV0YWRhdGHqAg5NZ210OjpWMWFscGhhMWIGcHJvdG8z", [file_buf_validate_validate, file_google_protobuf_timestamp, file_mgmt_v1alpha1_transformer]); /** * @generated from message mgmt.v1alpha1.GetJobsRequest */ export type GetJobsRequest = Message<"mgmt.v1alpha1.GetJobsRequest"> & { /** + * The unique identifier of the account to get jobs for + * * @generated from field: string account_id = 1; */ accountId: string; @@ -39,6 +41,8 @@ export const GetJobsRequestSchema: GenMessage = /*@__PURE__*/ */ export type GetJobsResponse = Message<"mgmt.v1alpha1.GetJobsResponse"> & { /** + * The list of jobs + * * @generated from field: repeated mgmt.v1alpha1.Job jobs = 1; */ jobs: Job[]; @@ -56,6 +60,8 @@ export const GetJobsResponseSchema: GenMessage = /*@__PURE__*/ */ export type JobSource = Message<"mgmt.v1alpha1.JobSource"> & { /** + * The source options to use for the job + * * @generated from field: mgmt.v1alpha1.JobSourceOptions options = 1; */ options?: JobSourceOptions; @@ -138,11 +144,15 @@ export const JobSourceOptionsSchema: GenMessage = /*@__PURE__* */ export type CreateJobDestination = Message<"mgmt.v1alpha1.CreateJobDestination"> & { /** + * The connection id to use for the job destination + * * @generated from field: string connection_id = 1; */ connectionId: string; /** + * The destination options to use for the job destination + * * @generated from field: mgmt.v1alpha1.JobDestinationOptions options = 2; */ options?: JobDestinationOptions; @@ -160,16 +170,22 @@ export const CreateJobDestinationSchema: GenMessage = /*@_ */ export type JobDestination = Message<"mgmt.v1alpha1.JobDestination"> & { /** + * The connection id to use for the job destination + * * @generated from field: string connection_id = 1; */ connectionId: string; /** + * The destination options to use for the job destination + * * @generated from field: mgmt.v1alpha1.JobDestinationOptions options = 2; */ options?: JobDestinationOptions; /** + * The unique identifier of the job destination + * * @generated from field: string id = 3; */ id: string; @@ -267,7 +283,7 @@ export const AiGenerateSourceSchemaOptionSchema: GenMessage & { /** - * The table that will be used to. 1. The schema of the table will be injected into the prompt, of which the resulting data will then be inserted. + * The table that will be used to generate data for * * @generated from field: string table = 1; */ @@ -293,11 +309,15 @@ export const AiGenerateSourceTableOptionSchema: GenMessage & { /** + * The list of schemas (and their tables) along with any configuration options that will be used to generate data for. + * * @generated from field: repeated mgmt.v1alpha1.GenerateSourceSchemaOption schemas = 1; */ schemas: GenerateSourceSchemaOption[]; /** + * An optional connection id that will be used as the basis for the shape of data to be generated. + * * @generated from field: optional string fk_source_connection_id = 3; */ fkSourceConnectionId?: string; @@ -315,11 +335,15 @@ export const GenerateSourceOptionsSchema: GenMessage = /* */ export type GenerateSourceSchemaOption = Message<"mgmt.v1alpha1.GenerateSourceSchemaOption"> & { /** + * The database schema + * * @generated from field: string schema = 1; */ schema: string; /** + * The list of tables (and their configuration) that reside within the schema to receive generated data + * * @generated from field: repeated mgmt.v1alpha1.GenerateSourceTableOption tables = 2; */ tables: GenerateSourceTableOption[]; @@ -337,11 +361,15 @@ export const GenerateSourceSchemaOptionSchema: GenMessage & { /** + * The table that will be used to generate data for. + * * @generated from field: string table = 1; */ table: string; /** + * The total number of records to be generated. + * * @generated from field: int64 row_count = 2; */ rowCount: bigint; @@ -492,16 +520,22 @@ export const DynamoDBSourceTableOptionSchema: GenMessage & { /** + * The list of schemas (and their tables) along with any configuration options that will be used. + * * @generated from field: repeated mgmt.v1alpha1.PostgresSourceSchemaOption schemas = 2; */ schemas: PostgresSourceSchemaOption[]; /** + * The unique connection id to a postgres connection configuration + * * @generated from field: string connection_id = 3; */ connectionId: string; /** + * Whether to subset the table by foreign key constraints + * * @generated from field: bool subset_by_foreign_key_constraints = 4; */ subsetByForeignKeyConstraints: boolean; @@ -610,6 +644,8 @@ export type PostgresSourceConnectionOptions_ColumnRemovalStrategy = Message<"mgm case: "haltJob"; } | { /** + * continue job if a column is removed + * * @generated from field: mgmt.v1alpha1.PostgresSourceConnectionOptions.ColumnRemovalStrategy.ContinueJob continue_job = 2; */ value: PostgresSourceConnectionOptions_ColumnRemovalStrategy_ContinueJob; @@ -659,11 +695,15 @@ export const PostgresSourceConnectionOptions_ColumnRemovalStrategy_ContinueJobSc */ export type PostgresSourceSchemaOption = Message<"mgmt.v1alpha1.PostgresSourceSchemaOption"> & { /** + * The database schema + * * @generated from field: string schema = 1; */ schema: string; /** + * The list of tables (and their configuration) that reside within the schema + * * @generated from field: repeated mgmt.v1alpha1.PostgresSourceTableOption tables = 2; */ tables: PostgresSourceTableOption[]; @@ -681,11 +721,16 @@ export const PostgresSourceSchemaOptionSchema: GenMessage & { /** + * The table that will be used subset the data for. + * * @generated from field: string table = 1; */ table: string; /** + * This is not a parameterized query and must be valid. Intended to be everything after the WHERE keyword. + * Is used to subset the table. + * * @generated from field: optional string where_clause = 2; */ whereClause?: string; @@ -703,21 +748,29 @@ export const PostgresSourceTableOptionSchema: GenMessage & { /** + * Whether to halt the job if a new column is added + * * @generated from field: bool halt_on_new_column_addition = 1; */ haltOnNewColumnAddition: boolean; /** + * The list of schemas (and their tables) along with any configuration options that will be used. + * * @generated from field: repeated mgmt.v1alpha1.MysqlSourceSchemaOption schemas = 2; */ schemas: MysqlSourceSchemaOption[]; /** + * The unique connection id to a mysql connection configuration + * * @generated from field: string connection_id = 3; */ connectionId: string; /** + * Whether to subset the table by foreign key constraints + * * @generated from field: bool subset_by_foreign_key_constraints = 4; */ subsetByForeignKeyConstraints: boolean; @@ -754,6 +807,8 @@ export type MysqlSourceConnectionOptions_ColumnRemovalStrategy = Message<"mgmt.v case: "haltJob"; } | { /** + * continue job if a column is removed + * * @generated from field: mgmt.v1alpha1.MysqlSourceConnectionOptions.ColumnRemovalStrategy.ContinueJob continue_job = 2; */ value: MysqlSourceConnectionOptions_ColumnRemovalStrategy_ContinueJob; @@ -803,11 +858,15 @@ export const MysqlSourceConnectionOptions_ColumnRemovalStrategy_ContinueJobSchem */ export type MysqlSourceSchemaOption = Message<"mgmt.v1alpha1.MysqlSourceSchemaOption"> & { /** + * The database schema + * * @generated from field: string schema = 1; */ schema: string; /** + * The list of tables (and their configuration) that reside within the schema + * * @generated from field: repeated mgmt.v1alpha1.MysqlSourceTableOption tables = 2; */ tables: MysqlSourceTableOption[]; @@ -825,11 +884,16 @@ export const MysqlSourceSchemaOptionSchema: GenMessage */ export type MysqlSourceTableOption = Message<"mgmt.v1alpha1.MysqlSourceTableOption"> & { /** + * The table that will be used to subset the data for. + * * @generated from field: string table = 1; */ table: string; /** + * This is not a parameterized query and must be valid. Intended to be everything after the WHERE keyword. + * Is used to subset the table. + * * @generated from field: optional string where_clause = 2; */ whereClause?: string; @@ -847,21 +911,29 @@ export const MysqlSourceTableOptionSchema: GenMessage = */ export type MssqlSourceConnectionOptions = Message<"mgmt.v1alpha1.MssqlSourceConnectionOptions"> & { /** + * Whether to halt the job if a new column is added + * * @generated from field: bool halt_on_new_column_addition = 1; */ haltOnNewColumnAddition: boolean; /** + * The list of schemas (and their tables) along with any configuration options that will be used. + * * @generated from field: repeated mgmt.v1alpha1.MssqlSourceSchemaOption schemas = 2; */ schemas: MssqlSourceSchemaOption[]; /** + * The unique connection id to a mssql connection configuration + * * @generated from field: string connection_id = 3; */ connectionId: string; /** + * Whether to subset the table by foreign key constraints + * * @generated from field: bool subset_by_foreign_key_constraints = 4; */ subsetByForeignKeyConstraints: boolean; @@ -898,6 +970,8 @@ export type MssqlSourceConnectionOptions_ColumnRemovalStrategy = Message<"mgmt.v case: "haltJob"; } | { /** + * continue job if a column is removed + * * @generated from field: mgmt.v1alpha1.MssqlSourceConnectionOptions.ColumnRemovalStrategy.ContinueJob continue_job = 2; */ value: MssqlSourceConnectionOptions_ColumnRemovalStrategy_ContinueJob; @@ -947,11 +1021,15 @@ export const MssqlSourceConnectionOptions_ColumnRemovalStrategy_ContinueJobSchem */ export type MssqlSourceSchemaOption = Message<"mgmt.v1alpha1.MssqlSourceSchemaOption"> & { /** + * The database schema + * * @generated from field: string schema = 1; */ schema: string; /** + * The list of tables (and their configuration) that reside within the schema + * * @generated from field: repeated mgmt.v1alpha1.MssqlSourceTableOption tables = 2; */ tables: MssqlSourceTableOption[]; @@ -969,11 +1047,16 @@ export const MssqlSourceSchemaOptionSchema: GenMessage */ export type MssqlSourceTableOption = Message<"mgmt.v1alpha1.MssqlSourceTableOption"> & { /** + * The table that will be used to subset the data for. + * * @generated from field: string table = 1; */ table: string; /** + * This is not a parameterized query and must be valid. Intended to be everything after the WHERE keyword. + * Is used to subset the table. + * * @generated from field: optional string where_clause = 2; */ whereClause?: string; @@ -991,6 +1074,8 @@ export const MssqlSourceTableOptionSchema: GenMessage = */ export type AwsS3SourceConnectionOptions = Message<"mgmt.v1alpha1.AwsS3SourceConnectionOptions"> & { /** + * The unique connection id to a aws s3 connection configuration + * * @generated from field: string connection_id = 1; */ connectionId: string; @@ -1150,22 +1235,28 @@ export const DynamoDBDestinationTableMappingSchema: GenMessage & { /** + * Whether to truncate the table before inserting data + * * @generated from field: mgmt.v1alpha1.PostgresTruncateTableConfig truncate_table = 1; */ truncateTable?: PostgresTruncateTableConfig; /** + * Whether to initialize the table schema before inserting data + * * @generated from field: bool init_table_schema = 2; */ initTableSchema: boolean; /** + * The configuration for handling conflicts when inserting data + * * @generated from field: mgmt.v1alpha1.PostgresOnConflictConfig on_conflict = 3; */ onConflict?: PostgresOnConflictConfig; /** - * Insert all valid records, skipping any that violate foreign key constraints. + * Whether to skip records that violate foreign key constraints * * @generated from field: bool skip_foreign_key_violations = 4; */ @@ -1271,11 +1362,15 @@ export const PostgresOnConflictConfig_PostgresOnConflictUpdateSchema: GenMessage */ export type PostgresTruncateTableConfig = Message<"mgmt.v1alpha1.PostgresTruncateTableConfig"> & { /** + * Whether to truncate the table before inserting data + * * @generated from field: bool truncate_before_insert = 1; */ truncateBeforeInsert: boolean; /** + * Whether to cascade the truncate to child tables + * * @generated from field: bool cascade = 2; */ cascade: boolean; @@ -1293,16 +1388,22 @@ export const PostgresTruncateTableConfigSchema: GenMessage & { /** + * Whether to truncate the table before inserting data + * * @generated from field: mgmt.v1alpha1.MysqlTruncateTableConfig truncate_table = 1; */ truncateTable?: MysqlTruncateTableConfig; /** + * Whether to initialize the table schema before inserting data + * * @generated from field: bool init_table_schema = 2; */ initTableSchema: boolean; /** + * The configuration for handling conflicts when inserting data + * * @generated from field: mgmt.v1alpha1.MysqlOnConflictConfig on_conflict = 3; */ onConflict?: MysqlOnConflictConfig; @@ -1341,6 +1442,8 @@ export const MysqlDestinationConnectionOptionsSchema: GenMessage & { /** + * Whether to truncate the table before inserting data + * * @generated from field: bool truncate_before_insert = 1; */ truncateBeforeInsert: boolean; @@ -1431,19 +1534,21 @@ export const MysqlOnConflictConfig_MysqlOnConflictUpdateSchema: GenMessage & { /** + * Whether to truncate the table before inserting data + * * @generated from field: mgmt.v1alpha1.MssqlTruncateTableConfig truncate_table = 1; */ truncateTable?: MssqlTruncateTableConfig; /** - * Currently not supported and a placeholder for future implementation + * Whether to initialize the table schema before inserting data * * @generated from field: bool init_table_schema = 2; */ initTableSchema: boolean; /** - * Currently not supported and a placeholder for future implementation + * The configuration for handling conflicts when inserting data * * @generated from field: mgmt.v1alpha1.MssqlOnConflictConfig on_conflict = 3; */ @@ -1483,6 +1588,8 @@ export const MssqlDestinationConnectionOptionsSchema: GenMessage & { /** + * Whether to truncate the table before inserting data + * * @generated from field: bool truncate_before_insert = 1; */ truncateBeforeInsert: boolean; @@ -1500,6 +1607,8 @@ export const MssqlTruncateTableConfigSchema: GenMessage & { /** + * Whether to do nothing when a conflict occurs + * * @generated from field: bool do_nothing = 1; */ doNothing: boolean; @@ -1656,16 +1765,22 @@ export type CreateJobRequest = Message<"mgmt.v1alpha1.CreateJobRequest"> & { cronSchedule?: string; /** + * The list of mappings that will be used to transform the data + * * @generated from field: repeated mgmt.v1alpha1.JobMapping mappings = 4; */ mappings: JobMapping[]; /** + * The source connection configuration + * * @generated from field: mgmt.v1alpha1.JobSource source = 5; */ source?: JobSource; /** + * The list of destinations that will be used to store the data + * * @generated from field: repeated mgmt.v1alpha1.CreateJobDestination destinations = 6; */ destinations: CreateJobDestination[]; @@ -1694,6 +1809,8 @@ export type CreateJobRequest = Message<"mgmt.v1alpha1.CreateJobRequest"> & { syncOptions?: ActivityOptions; /** + * The list of virtual foreign keys that will be used to further constrain the data ontop of the database defined constraints + * * @generated from field: repeated mgmt.v1alpha1.VirtualForeignConstraint virtual_foreign_keys = 10; */ virtualForeignKeys: VirtualForeignConstraint[]; @@ -1796,6 +1913,8 @@ export const RetryPolicySchema: GenMessage = /*@__PURE__*/ */ export type CreateJobResponse = Message<"mgmt.v1alpha1.CreateJobResponse"> & { /** + * The job that was created + * * @generated from field: mgmt.v1alpha1.Job job = 1; */ job?: Job; @@ -1813,6 +1932,8 @@ export const CreateJobResponseSchema: GenMessage = /*@__PURE_ */ export type JobMappingTransformer = Message<"mgmt.v1alpha1.JobMappingTransformer"> & { /** + * The transformer configuration + * * @generated from field: mgmt.v1alpha1.TransformerConfig config = 3; */ config?: TransformerConfig; @@ -1830,21 +1951,29 @@ export const JobMappingTransformerSchema: GenMessage = /* */ export type JobMapping = Message<"mgmt.v1alpha1.JobMapping"> & { /** + * The database schema + * * @generated from field: string schema = 1; */ schema: string; /** + * The database table. + * * @generated from field: string table = 2; */ table: string; /** + * The column in the configured schema.table + * * @generated from field: string column = 3; */ column: string; /** + * The transformer configuration that will be applied to each cell in the column + * * @generated from field: mgmt.v1alpha1.JobMappingTransformer transformer = 5; */ transformer?: JobMappingTransformer; @@ -1862,6 +1991,8 @@ export const JobMappingSchema: GenMessage = /*@__PURE__*/ */ export type GetJobRequest = Message<"mgmt.v1alpha1.GetJobRequest"> & { /** + * The unique identifier of the job + * * @generated from field: string id = 1; */ id: string; @@ -1879,6 +2010,8 @@ export const GetJobRequestSchema: GenMessage = /*@__PURE__*/ */ export type GetJobResponse = Message<"mgmt.v1alpha1.GetJobResponse"> & { /** + * The job that was retrieved + * * @generated from field: mgmt.v1alpha1.Job job = 1; */ job?: Job; @@ -1896,11 +2029,15 @@ export const GetJobResponseSchema: GenMessage = /*@__PURE__*/ */ export type UpdateJobScheduleRequest = Message<"mgmt.v1alpha1.UpdateJobScheduleRequest"> & { /** + * The unique identifier of the job + * * @generated from field: string id = 1; */ id: string; /** + * The new cron schedule + * * @generated from field: optional string cron_schedule = 2; */ cronSchedule?: string; @@ -1918,6 +2055,8 @@ export const UpdateJobScheduleRequestSchema: GenMessage & { /** + * The job that was updated + * * @generated from field: mgmt.v1alpha1.Job job = 1; */ job?: Job; @@ -1935,16 +2074,22 @@ export const UpdateJobScheduleResponseSchema: GenMessage & { /** + * The unique identifier of the job + * * @generated from field: string id = 1; */ id: string; /** + * Whether to pause or unpause the job + * * @generated from field: bool pause = 2; */ pause: boolean; /** + * An optional note to be associated with the pause + * * @generated from field: optional string note = 3; */ note?: string; @@ -1962,6 +2107,8 @@ export const PauseJobRequestSchema: GenMessage = /*@__PURE__*/ */ export type PauseJobResponse = Message<"mgmt.v1alpha1.PauseJobResponse"> & { /** + * The job that was updated + * * @generated from field: mgmt.v1alpha1.Job job = 1; */ job?: Job; @@ -1979,21 +2126,29 @@ export const PauseJobResponseSchema: GenMessage = /*@__PURE__* */ export type UpdateJobSourceConnectionRequest = Message<"mgmt.v1alpha1.UpdateJobSourceConnectionRequest"> & { /** + * The unique identifier of the job + * * @generated from field: string id = 1; */ id: string; /** + * The new source connection configuration + * * @generated from field: mgmt.v1alpha1.JobSource source = 2; */ source?: JobSource; /** + * The new list of mappings that will be used to transform the data + * * @generated from field: repeated mgmt.v1alpha1.JobMapping mappings = 3; */ mappings: JobMapping[]; /** + * The new list of virtual foreign keys that will be used to further constrain the data ontop of the database defined constraints + * * @generated from field: repeated mgmt.v1alpha1.VirtualForeignConstraint virtual_foreign_keys = 4; */ virtualForeignKeys: VirtualForeignConstraint[]; @@ -2028,6 +2183,8 @@ export const UpdateJobSourceConnectionResponseSchema: GenMessage & { /** + * The list of schemas (and their tables) along with any configuration options that will be used. + * * @generated from field: repeated mgmt.v1alpha1.PostgresSourceSchemaOption postgres_schemas = 1; */ postgresSchemas: PostgresSourceSchemaOption[]; @@ -2045,6 +2202,8 @@ export const PostgresSourceSchemaSubsetSchema: GenMessage & { /** + * The list of schemas (and their tables) along with any configuration options that will be used. + * * @generated from field: repeated mgmt.v1alpha1.MysqlSourceSchemaOption mysql_schemas = 1; */ mysqlSchemas: MysqlSourceSchemaOption[]; @@ -2062,6 +2221,8 @@ export const MysqlSourceSchemaSubsetSchema: GenMessage */ export type DynamoDBSourceSchemaSubset = Message<"mgmt.v1alpha1.DynamoDBSourceSchemaSubset"> & { /** + * The list of tables (and their configuration) that reside within the schema + * * @generated from field: repeated mgmt.v1alpha1.DynamoDBSourceTableOption tables = 1; */ tables: DynamoDBSourceTableOption[]; @@ -2079,6 +2240,8 @@ export const DynamoDBSourceSchemaSubsetSchema: GenMessage & { /** + * The list of schemas (and their tables) along with any configuration options that will be used. + * * @generated from field: repeated mgmt.v1alpha1.MssqlSourceSchemaOption mssql_schemas = 1; */ mssqlSchemas: MssqlSourceSchemaOption[]; @@ -2100,24 +2263,32 @@ export type JobSourceSqlSubetSchemas = Message<"mgmt.v1alpha1.JobSourceSqlSubetS */ schemas: { /** + * The list of schemas (and their tables) along with any configuration options that will be used. + * * @generated from field: mgmt.v1alpha1.PostgresSourceSchemaSubset postgres_subset = 2; */ value: PostgresSourceSchemaSubset; case: "postgresSubset"; } | { /** + * The list of schemas (and their tables) along with any configuration options that will be used. + * * @generated from field: mgmt.v1alpha1.MysqlSourceSchemaSubset mysql_subset = 3; */ value: MysqlSourceSchemaSubset; case: "mysqlSubset"; } | { /** + * The list of tables (and their configuration) that reside within the schema + * * @generated from field: mgmt.v1alpha1.DynamoDBSourceSchemaSubset dynamodb_subset = 4; */ value: DynamoDBSourceSchemaSubset; case: "dynamodbSubset"; } | { /** + * The list of schemas (and their tables) along with any configuration options that will be used. + * * @generated from field: mgmt.v1alpha1.MssqlSourceSchemaSubset mssql_subset = 5; */ value: MssqlSourceSchemaSubset; @@ -2170,6 +2341,8 @@ export const SetJobSourceSqlConnectionSubsetsRequestSchema: GenMessage & { /** + * The job that was updated + * * @generated from field: mgmt.v1alpha1.Job job = 1; */ job?: Job; @@ -2187,21 +2360,29 @@ export const SetJobSourceSqlConnectionSubsetsResponseSchema: GenMessage & { /** + * The unique identifier of the job + * * @generated from field: string job_id = 1; */ jobId: string; /** + * The unique identifier of the connection + * * @generated from field: string connection_id = 2; */ connectionId: string; /** + * The destination connection options + * * @generated from field: mgmt.v1alpha1.JobDestinationOptions options = 3; */ options?: JobDestinationOptions; /** + * The unique identifier of the destination + * * @generated from field: string destination_id = 4; */ destinationId: string; @@ -2219,6 +2400,8 @@ export const UpdateJobDestinationConnectionRequestSchema: GenMessage & { /** + * The job that was updated + * * @generated from field: mgmt.v1alpha1.Job job = 1; */ job?: Job; @@ -2236,6 +2419,8 @@ export const UpdateJobDestinationConnectionResponseSchema: GenMessage & { /** + * The unique identifier of the destination to delete + * * @generated from field: string destination_id = 1; */ destinationId: string; @@ -2266,11 +2451,15 @@ export const DeleteJobDestinationConnectionResponseSchema: GenMessage & { /** + * The unique identifier of the job + * * @generated from field: string job_id = 1; */ jobId: string; /** + * The list of destinations to create and associate with the job + * * @generated from field: repeated mgmt.v1alpha1.CreateJobDestination destinations = 2; */ destinations: CreateJobDestination[]; @@ -2288,6 +2477,8 @@ export const CreateJobDestinationConnectionsRequestSchema: GenMessage & { /** + * The job that was updated + * * @generated from field: mgmt.v1alpha1.Job job = 1; */ job?: Job; @@ -2305,6 +2496,8 @@ export const CreateJobDestinationConnectionsResponseSchema: GenMessage & { /** + * The unique identifier of the job to delete + * * @generated from field: string id = 1; */ id: string; @@ -2335,11 +2528,15 @@ export const DeleteJobResponseSchema: GenMessage = /*@__PURE_ */ export type IsJobNameAvailableRequest = Message<"mgmt.v1alpha1.IsJobNameAvailableRequest"> & { /** + * The name to check for availability + * * @generated from field: string name = 1; */ name: string; /** + * The unique identifier of the account to check for availability + * * @generated from field: string account_id = 2; */ accountId: string; @@ -2357,6 +2554,8 @@ export const IsJobNameAvailableRequestSchema: GenMessage & { /** + * Whether the name is available + * * @generated from field: bool is_available = 1; */ isAvailable: boolean; @@ -2378,12 +2577,16 @@ export type GetJobRunsRequest = Message<"mgmt.v1alpha1.GetJobRunsRequest"> & { */ id: { /** + * Retireve runs for a specific job + * * @generated from field: string job_id = 1; */ value: string; case: "jobId"; } | { /** + * Retrieve runs for all jobs in an account + * * @generated from field: string account_id = 2; */ value: string; @@ -2403,6 +2606,8 @@ export const GetJobRunsRequestSchema: GenMessage = /*@__PURE_ */ export type GetJobRunsResponse = Message<"mgmt.v1alpha1.GetJobRunsResponse"> & { /** + * The list of job runs + * * @generated from field: repeated mgmt.v1alpha1.JobRun job_runs = 1; */ jobRuns: JobRun[]; @@ -2420,11 +2625,15 @@ export const GetJobRunsResponseSchema: GenMessage = /*@__PUR */ export type GetJobRunRequest = Message<"mgmt.v1alpha1.GetJobRunRequest"> & { /** + * The unique identifier of the job run + * * @generated from field: string job_run_id = 1; */ jobRunId: string; /** + * The unique identifier of the account + * * @generated from field: string account_id = 2; */ accountId: string; @@ -2442,6 +2651,8 @@ export const GetJobRunRequestSchema: GenMessage = /*@__PURE__* */ export type GetJobRunResponse = Message<"mgmt.v1alpha1.GetJobRunResponse"> & { /** + * The job run that was retrieved + * * @generated from field: mgmt.v1alpha1.JobRun job_run = 1; */ jobRun?: JobRun; @@ -2459,6 +2670,8 @@ export const GetJobRunResponseSchema: GenMessage = /*@__PURE_ */ export type CreateJobRunRequest = Message<"mgmt.v1alpha1.CreateJobRunRequest"> & { /** + * The unique identifier of the job + * * @generated from field: string job_id = 1; */ jobId: string; @@ -2489,11 +2702,15 @@ export const CreateJobRunResponseSchema: GenMessage = /*@_ */ export type CancelJobRunRequest = Message<"mgmt.v1alpha1.CancelJobRunRequest"> & { /** + * The unique identifier of the job run + * * @generated from field: string job_run_id = 1; */ jobRunId: string; /** + * The unique identifier of the account + * * @generated from field: string account_id = 2; */ accountId: string; @@ -2558,21 +2775,29 @@ export type Job = Message<"mgmt.v1alpha1.Job"> & { name: string; /** + * The source connection configuration + * * @generated from field: mgmt.v1alpha1.JobSource source = 7; */ source?: JobSource; /** + * The list of destinations that will be used to store the data + * * @generated from field: repeated mgmt.v1alpha1.JobDestination destinations = 8; */ destinations: JobDestination[]; /** + * The list of mappings that will be used to transform the data + * * @generated from field: repeated mgmt.v1alpha1.JobMapping mappings = 9; */ mappings: JobMapping[]; /** + * The cron schedule that will be used to trigger the job + * * @generated from field: optional string cron_schedule = 10; */ cronSchedule?: string; @@ -2620,11 +2845,15 @@ export const JobSchema: GenMessage = /*@__PURE__*/ */ export type JobRecentRun = Message<"mgmt.v1alpha1.JobRecentRun"> & { /** + * The start time of the job run + * * @generated from field: google.protobuf.Timestamp start_time = 1; */ startTime?: Timestamp; /** + * The unique identifier of the job run + * * @generated from field: string job_run_id = 2; */ jobRunId: string; @@ -2642,6 +2871,8 @@ export const JobRecentRunSchema: GenMessage = /*@__PURE__*/ */ export type GetJobRecentRunsRequest = Message<"mgmt.v1alpha1.GetJobRecentRunsRequest"> & { /** + * The unique identifier of the job + * * @generated from field: string job_id = 1; */ jobId: string; @@ -2659,6 +2890,8 @@ export const GetJobRecentRunsRequestSchema: GenMessage */ export type GetJobRecentRunsResponse = Message<"mgmt.v1alpha1.GetJobRecentRunsResponse"> & { /** + * The list of recent job runs + * * @generated from field: repeated mgmt.v1alpha1.JobRecentRun recent_runs = 1; */ recentRuns: JobRecentRun[]; @@ -2676,6 +2909,8 @@ export const GetJobRecentRunsResponseSchema: GenMessage & { /** + * The list of next run times + * * @generated from field: repeated google.protobuf.Timestamp next_run_times = 1; */ nextRunTimes: Timestamp[]; @@ -2693,6 +2928,8 @@ export const JobNextRunsSchema: GenMessage = /*@__PURE__*/ */ export type GetJobNextRunsRequest = Message<"mgmt.v1alpha1.GetJobNextRunsRequest"> & { /** + * The unique identifier of the job + * * @generated from field: string job_id = 1; */ jobId: string; @@ -2710,6 +2947,8 @@ export const GetJobNextRunsRequestSchema: GenMessage = /* */ export type GetJobNextRunsResponse = Message<"mgmt.v1alpha1.GetJobNextRunsResponse"> & { /** + * The list of next run times + * * @generated from field: mgmt.v1alpha1.JobNextRuns next_runs = 1; */ nextRuns?: JobNextRuns; @@ -2727,6 +2966,8 @@ export const GetJobNextRunsResponseSchema: GenMessage = */ export type GetJobStatusRequest = Message<"mgmt.v1alpha1.GetJobStatusRequest"> & { /** + * The unique identifier of the job + * * @generated from field: string job_id = 1; */ jobId: string; @@ -2744,6 +2985,8 @@ export const GetJobStatusRequestSchema: GenMessage = /*@__P */ export type GetJobStatusResponse = Message<"mgmt.v1alpha1.GetJobStatusResponse"> & { /** + * The status of the job + * * @generated from field: mgmt.v1alpha1.JobStatus status = 1; */ status: JobStatus; @@ -2761,11 +3004,15 @@ export const GetJobStatusResponseSchema: GenMessage = /*@_ */ export type JobStatusRecord = Message<"mgmt.v1alpha1.JobStatusRecord"> & { /** + * The unique identifier of the job + * * @generated from field: string job_id = 1; */ jobId: string; /** + * The status of the job + * * @generated from field: mgmt.v1alpha1.JobStatus status = 2; */ status: JobStatus; @@ -2783,6 +3030,8 @@ export const JobStatusRecordSchema: GenMessage = /*@__PURE__*/ */ export type GetJobStatusesRequest = Message<"mgmt.v1alpha1.GetJobStatusesRequest"> & { /** + * The unique identifier of the account + * * @generated from field: string account_id = 1; */ accountId: string; @@ -2800,6 +3049,8 @@ export const GetJobStatusesRequestSchema: GenMessage = /* */ export type GetJobStatusesResponse = Message<"mgmt.v1alpha1.GetJobStatusesResponse"> & { /** + * The list of job statuses + * * @generated from field: repeated mgmt.v1alpha1.JobStatusRecord statuses = 1; */ statuses: JobStatusRecord[]; @@ -2817,6 +3068,8 @@ export const GetJobStatusesResponseSchema: GenMessage = */ export type ActivityFailure = Message<"mgmt.v1alpha1.ActivityFailure"> & { /** + * The message of the failure + * * @generated from field: string message = 1; */ message: string; @@ -2834,16 +3087,22 @@ export const ActivityFailureSchema: GenMessage = /*@__PURE__*/ */ export type PendingActivity = Message<"mgmt.v1alpha1.PendingActivity"> & { /** + * The status of the activity + * * @generated from field: mgmt.v1alpha1.ActivityStatus status = 1; */ status: ActivityStatus; /** + * The name of the activity + * * @generated from field: string activity_name = 2; */ activityName: string; /** + * The last failure of the activity + * * @generated from field: optional mgmt.v1alpha1.ActivityFailure last_failure = 3; */ lastFailure?: ActivityFailure; @@ -2922,11 +3181,15 @@ export const JobRunSchema: GenMessage = /*@__PURE__*/ */ export type JobRunEventTaskError = Message<"mgmt.v1alpha1.JobRunEventTaskError"> & { /** + * The message of the error + * * @generated from field: string message = 1; */ message: string; /** + * The retry state of the error + * * @generated from field: string retry_state = 2; */ retryState: string; @@ -2944,21 +3207,29 @@ export const JobRunEventTaskErrorSchema: GenMessage = /*@_ */ export type JobRunEventTask = Message<"mgmt.v1alpha1.JobRunEventTask"> & { /** + * The unique identifier of the task + * * @generated from field: int64 id = 1; */ id: bigint; /** + * The type of the task + * * @generated from field: string type = 2; */ type: string; /** + * The time of the event + * * @generated from field: google.protobuf.Timestamp event_time = 3; */ eventTime?: Timestamp; /** + * The error of the task + * * @generated from field: mgmt.v1alpha1.JobRunEventTaskError error = 4; */ error?: JobRunEventTaskError; @@ -2976,11 +3247,15 @@ export const JobRunEventTaskSchema: GenMessage = /*@__PURE__*/ */ export type JobRunSyncMetadata = Message<"mgmt.v1alpha1.JobRunSyncMetadata"> & { /** + * The schema of the table + * * @generated from field: string schema = 1; */ schema: string; /** + * The table of the sync + * * @generated from field: string table = 2; */ table: string; @@ -3002,6 +3277,8 @@ export type JobRunEventMetadata = Message<"mgmt.v1alpha1.JobRunEventMetadata"> & */ metadata: { /** + * The metadata of the sync + * * @generated from field: mgmt.v1alpha1.JobRunSyncMetadata sync_metadata = 1; */ value: JobRunSyncMetadata; @@ -3021,31 +3298,43 @@ export const JobRunEventMetadataSchema: GenMessage = /*@__P */ export type JobRunEvent = Message<"mgmt.v1alpha1.JobRunEvent"> & { /** + * The unique identifier of the event + * * @generated from field: int64 id = 1; */ id: bigint; /** + * The type of the event + * * @generated from field: string type = 2; */ type: string; /** + * The start time of the event + * * @generated from field: google.protobuf.Timestamp start_time = 3; */ startTime?: Timestamp; /** + * The close time of the event + * * @generated from field: google.protobuf.Timestamp close_time = 4; */ closeTime?: Timestamp; /** + * The metadata of the event + * * @generated from field: mgmt.v1alpha1.JobRunEventMetadata metadata = 5; */ metadata?: JobRunEventMetadata; /** + * The list of tasks associated with the event + * * @generated from field: repeated mgmt.v1alpha1.JobRunEventTask tasks = 6; */ tasks: JobRunEventTask[]; @@ -3063,11 +3352,15 @@ export const JobRunEventSchema: GenMessage = /*@__PURE__*/ */ export type GetJobRunEventsRequest = Message<"mgmt.v1alpha1.GetJobRunEventsRequest"> & { /** + * The unique identifier of the job run + * * @generated from field: string job_run_id = 1; */ jobRunId: string; /** + * The unique identifier of the account + * * @generated from field: string account_id = 2; */ accountId: string; @@ -3085,11 +3378,15 @@ export const GetJobRunEventsRequestSchema: GenMessage = */ export type GetJobRunEventsResponse = Message<"mgmt.v1alpha1.GetJobRunEventsResponse"> & { /** + * The list of events + * * @generated from field: repeated mgmt.v1alpha1.JobRunEvent events = 1; */ events: JobRunEvent[]; /** + * Whether the run is complete + * * @generated from field: bool is_run_complete = 2; */ isRunComplete: boolean; @@ -3107,11 +3404,15 @@ export const GetJobRunEventsResponseSchema: GenMessage */ export type DeleteJobRunRequest = Message<"mgmt.v1alpha1.DeleteJobRunRequest"> & { /** + * The unique identifier of the job run + * * @generated from field: string job_run_id = 1; */ jobRunId: string; /** + * The unique identifier of the account + * * @generated from field: string account_id = 2; */ accountId: string; @@ -3142,11 +3443,15 @@ export const DeleteJobRunResponseSchema: GenMessage = /*@_ */ export type TerminateJobRunRequest = Message<"mgmt.v1alpha1.TerminateJobRunRequest"> & { /** + * The unique identifier of the job run + * * @generated from field: string job_run_id = 1; */ jobRunId: string; /** + * The unique identifier of the account + * * @generated from field: string account_id = 2; */ accountId: string; @@ -3177,11 +3482,15 @@ export const TerminateJobRunResponseSchema: GenMessage */ export type GetJobRunLogsStreamRequest = Message<"mgmt.v1alpha1.GetJobRunLogsStreamRequest"> & { /** + * The unique identifier of the job run + * * @generated from field: string job_run_id = 1; */ jobRunId: string; /** + * The unique identifier of the account + * * @generated from field: string account_id = 2; */ accountId: string; @@ -3227,11 +3536,15 @@ export const GetJobRunLogsStreamRequestSchema: GenMessage & { /** + * The log line + * * @generated from field: string log_line = 1; */ logLine: string; /** + * The timestamp of the log line + * * @generated from field: optional google.protobuf.Timestamp timestamp = 2; */ timestamp?: Timestamp; @@ -3275,6 +3588,8 @@ export const SetJobWorkflowOptionsRequestSchema: GenMessage & { /** + * The updated job + * * @generated from field: mgmt.v1alpha1.Job job = 1; */ job?: Job; @@ -3318,6 +3633,8 @@ export const SetJobSyncOptionsRequestSchema: GenMessage & { /** + * The updated job + * * @generated from field: mgmt.v1alpha1.Job job = 1; */ job?: Job; @@ -3335,23 +3652,29 @@ export const SetJobSyncOptionsResponseSchema: GenMessage & { /** - * The unique account identifier that this job will be associated with + * The unique identifier of the account * * @generated from field: string account_id = 1; */ accountId: string; /** + * The list of mappings to validate + * * @generated from field: repeated mgmt.v1alpha1.JobMapping mappings = 2; */ mappings: JobMapping[]; /** + * The unique identifier of the connection + * * @generated from field: string connection_id = 3; */ connectionId: string; /** + * The list of virtual foreign keys + * * @generated from field: repeated mgmt.v1alpha1.VirtualForeignConstraint virtual_foreign_keys = 4; */ virtualForeignKeys: VirtualForeignConstraint[]; @@ -3369,21 +3692,29 @@ export const ValidateJobMappingsRequestSchema: GenMessage & { /** + * The schema of the table + * * @generated from field: string schema = 1; */ schema: string; /** + * The table of the column + * * @generated from field: string table = 2; */ table: string; /** + * The column of the error + * * @generated from field: string column = 3; */ column: string; /** + * The list of errors + * * @generated from field: repeated string errors = 4; */ errors: string[]; @@ -3401,6 +3732,8 @@ export const ColumnErrorSchema: GenMessage = /*@__PURE__*/ */ export type DatabaseError = Message<"mgmt.v1alpha1.DatabaseError"> & { /** + * The list of errors + * * @generated from field: repeated string errors = 1; */ errors: string[]; @@ -3418,11 +3751,15 @@ export const DatabaseErrorSchema: GenMessage = /*@__PURE__*/ */ export type ValidateJobMappingsResponse = Message<"mgmt.v1alpha1.ValidateJobMappingsResponse"> & { /** + * The list of column errors + * * @generated from field: repeated mgmt.v1alpha1.ColumnError column_errors = 1; */ columnErrors: ColumnError[]; /** + * The database error + * * @generated from field: mgmt.v1alpha1.DatabaseError database_errors = 2; */ databaseErrors?: DatabaseError; @@ -3440,16 +3777,22 @@ export const ValidateJobMappingsResponseSchema: GenMessage & { /** + * The schema of the table + * * @generated from field: string schema = 1; */ schema: string; /** + * The table of the virtual foreign key + * * @generated from field: string table = 2; */ table: string; /** + * The list of columns + * * @generated from field: repeated string columns = 3; */ columns: string[]; @@ -3467,21 +3810,29 @@ export const VirtualForeignKeySchema: GenMessage = /*@__PURE_ */ export type VirtualForeignConstraint = Message<"mgmt.v1alpha1.VirtualForeignConstraint"> & { /** + * The schema of the table + * * @generated from field: string schema = 1; */ schema: string; /** + * The table of the virtual foreign key + * * @generated from field: string table = 2; */ table: string; /** + * The list of columns + * * @generated from field: repeated string columns = 3; */ columns: string[]; /** + * The foreign key + * * @generated from field: mgmt.v1alpha1.VirtualForeignKey foreign_key = 4; */ foreignKey?: VirtualForeignKey; @@ -3532,6 +3883,8 @@ export const RunContextKeySchema: GenMessage = /*@__PURE__*/ */ export type GetRunContextRequest = Message<"mgmt.v1alpha1.GetRunContextRequest"> & { /** + * The run context key + * * @generated from field: mgmt.v1alpha1.RunContextKey id = 1; */ id?: RunContextKey; @@ -3549,6 +3902,8 @@ export const GetRunContextRequestSchema: GenMessage = /*@_ */ export type GetRunContextResponse = Message<"mgmt.v1alpha1.GetRunContextResponse"> & { /** + * The returned value in bytes. The format is determined by the key when it is set. + * * @generated from field: bytes value = 1; */ value: Uint8Array; @@ -3566,6 +3921,8 @@ export const GetRunContextResponseSchema: GenMessage = /* */ export type SetRunContextRequest = Message<"mgmt.v1alpha1.SetRunContextRequest"> & { /** + * The run context key + * * @generated from field: mgmt.v1alpha1.RunContextKey id = 1; */ id?: RunContextKey; @@ -3603,6 +3960,8 @@ export const SetRunContextResponseSchema: GenMessage = /* */ export type SetRunContextsRequest = Message<"mgmt.v1alpha1.SetRunContextsRequest"> & { /** + * The run context key + * * @generated from field: mgmt.v1alpha1.RunContextKey id = 1; */ id?: RunContextKey; @@ -4508,10 +4867,14 @@ export const LogLevelSchema: GenEnum = /*@__PURE__*/ enumDesc(file_mgmt_v1alpha1_job, 4); /** + * Service that handles jobs, runs, and hooks + * * @generated from service mgmt.v1alpha1.JobService */ export const JobService: GenService<{ /** + * Returns a list of jobs by either account or job + * * @generated from rpc mgmt.v1alpha1.JobService.GetJobs */ getJobs: { @@ -4520,6 +4883,8 @@ export const JobService: GenService<{ output: typeof GetJobsResponseSchema; }, /** + * Returns a specific job + * * @generated from rpc mgmt.v1alpha1.JobService.GetJob */ getJob: { @@ -4528,6 +4893,8 @@ export const JobService: GenService<{ output: typeof GetJobResponseSchema; }, /** + * Creates a new job + * * @generated from rpc mgmt.v1alpha1.JobService.CreateJob */ createJob: { @@ -4536,6 +4903,8 @@ export const JobService: GenService<{ output: typeof CreateJobResponseSchema; }, /** + * Deletes a job + * * @generated from rpc mgmt.v1alpha1.JobService.DeleteJob */ deleteJob: { @@ -4544,6 +4913,8 @@ export const JobService: GenService<{ output: typeof DeleteJobResponseSchema; }, /** + * Checks if a job name is available + * * @generated from rpc mgmt.v1alpha1.JobService.IsJobNameAvailable */ isJobNameAvailable: { @@ -4552,6 +4923,8 @@ export const JobService: GenService<{ output: typeof IsJobNameAvailableResponseSchema; }, /** + * Updates the schedule of a job + * * @generated from rpc mgmt.v1alpha1.JobService.UpdateJobSchedule */ updateJobSchedule: { @@ -4560,6 +4933,8 @@ export const JobService: GenService<{ output: typeof UpdateJobScheduleResponseSchema; }, /** + * Updates the source connection of a job + * * @generated from rpc mgmt.v1alpha1.JobService.UpdateJobSourceConnection */ updateJobSourceConnection: { @@ -4568,6 +4943,8 @@ export const JobService: GenService<{ output: typeof UpdateJobSourceConnectionResponseSchema; }, /** + * Sets the source sql connection subsets of a job + * * @generated from rpc mgmt.v1alpha1.JobService.SetJobSourceSqlConnectionSubsets */ setJobSourceSqlConnectionSubsets: { @@ -4576,6 +4953,8 @@ export const JobService: GenService<{ output: typeof SetJobSourceSqlConnectionSubsetsResponseSchema; }, /** + * Updates the destination connection of a job + * * @generated from rpc mgmt.v1alpha1.JobService.UpdateJobDestinationConnection */ updateJobDestinationConnection: { @@ -4584,6 +4963,8 @@ export const JobService: GenService<{ output: typeof UpdateJobDestinationConnectionResponseSchema; }, /** + * Deletes the destination connection of a job + * * @generated from rpc mgmt.v1alpha1.JobService.DeleteJobDestinationConnection */ deleteJobDestinationConnection: { @@ -4592,6 +4973,8 @@ export const JobService: GenService<{ output: typeof DeleteJobDestinationConnectionResponseSchema; }, /** + * Creates the destination connections of a job + * * @generated from rpc mgmt.v1alpha1.JobService.CreateJobDestinationConnections */ createJobDestinationConnections: { @@ -4600,6 +4983,8 @@ export const JobService: GenService<{ output: typeof CreateJobDestinationConnectionsResponseSchema; }, /** + * Pauses or unpauses a job + * * @generated from rpc mgmt.v1alpha1.JobService.PauseJob */ pauseJob: { @@ -4608,7 +4993,7 @@ export const JobService: GenService<{ output: typeof PauseJobResponseSchema; }, /** - * Returns a list of recently invoked job runs baseds on the Temporal cron scheduler. This will return a list of job runs that include archived runs + * Returns a list of recently invoked job runs based on the Temporal cron scheduler. This will return a list of job runs that include archived runs * * @generated from rpc mgmt.v1alpha1.JobService.GetJobRecentRuns */ @@ -4628,6 +5013,8 @@ export const JobService: GenService<{ output: typeof GetJobNextRunsResponseSchema; }, /** + * Returns the status of a job + * * @generated from rpc mgmt.v1alpha1.JobService.GetJobStatus */ getJobStatus: { @@ -4636,6 +5023,8 @@ export const JobService: GenService<{ output: typeof GetJobStatusResponseSchema; }, /** + * Returns the statuses of jobs within an account + * * @generated from rpc mgmt.v1alpha1.JobService.GetJobStatuses */ getJobStatuses: { @@ -4654,6 +5043,8 @@ export const JobService: GenService<{ output: typeof GetJobRunsResponseSchema; }, /** + * Returns a list of events for a job run to understand more details of the run itself + * * @generated from rpc mgmt.v1alpha1.JobService.GetJobRunEvents */ getJobRunEvents: { @@ -4672,6 +5063,8 @@ export const JobService: GenService<{ output: typeof GetJobRunResponseSchema; }, /** + * Deletes a job run + * * @generated from rpc mgmt.v1alpha1.JobService.DeleteJobRun */ deleteJobRun: { @@ -4680,6 +5073,8 @@ export const JobService: GenService<{ output: typeof DeleteJobRunResponseSchema; }, /** + * Creates a new job run + * * @generated from rpc mgmt.v1alpha1.JobService.CreateJobRun */ createJobRun: { @@ -4688,6 +5083,8 @@ export const JobService: GenService<{ output: typeof CreateJobRunResponseSchema; }, /** + * Cancels a job run. This is a graceful termination and allows the workflow to clean up and exit gracefully. + * * @generated from rpc mgmt.v1alpha1.JobService.CancelJobRun */ cancelJobRun: { @@ -4696,6 +5093,8 @@ export const JobService: GenService<{ output: typeof CancelJobRunResponseSchema; }, /** + * Terminates a job run. This is an immediate termination and will not allow the workflow to clean up and exit gracefully. + * * @generated from rpc mgmt.v1alpha1.JobService.TerminateJobRun */ terminateJobRun: { @@ -4734,7 +5133,7 @@ export const JobService: GenService<{ output: typeof SetJobSyncOptionsResponseSchema; }, /** - * validates that the jobmapping configured can run with table constraints + * Validates that the jobmapping configured can run with table constraints * * @generated from rpc mgmt.v1alpha1.JobService.ValidateJobMappings */ diff --git a/frontend/packages/sdk/src/client/mgmt/v1alpha1/metrics_pb.ts b/frontend/packages/sdk/src/client/mgmt/v1alpha1/metrics_pb.ts index 13340d45c6..665c60f85b 100644 --- a/frontend/packages/sdk/src/client/mgmt/v1alpha1/metrics_pb.ts +++ b/frontend/packages/sdk/src/client/mgmt/v1alpha1/metrics_pb.ts @@ -11,7 +11,7 @@ import type { Message } from "@bufbuild/protobuf"; * Describes the file mgmt/v1alpha1/metrics.proto. */ export const file_mgmt_v1alpha1_metrics: GenFile = /*@__PURE__*/ - fileDesc("ChttZ210L3YxYWxwaGExL21ldHJpY3MucHJvdG8SDW1nbXQudjFhbHBoYTEiUgoERGF0ZRIYCgR5ZWFyGAEgASgNQgq6SAcqBRiPTigAEhgKBW1vbnRoGAIgASgNQgm6SAYqBBgfKAASFgoDZGF5GAMgASgNQgm6SAYqBBgfKAAi+QEKGkdldERhaWx5TWV0cmljQ291bnRSZXF1ZXN0EiIKBXN0YXJ0GAEgASgLMhMubWdtdC52MWFscGhhMS5EYXRlEiAKA2VuZBgCIAEoCzITLm1nbXQudjFhbHBoYTEuRGF0ZRIvCgZtZXRyaWMYAyABKA4yHy5tZ210LnYxYWxwaGExLlJhbmdlZE1ldHJpY05hbWUSHgoKYWNjb3VudF9pZBgEIAEoCUIIukgFcgOwAQFIABIaCgZqb2JfaWQYBSABKAlCCLpIBXIDsAEBSAASGgoGcnVuX2lkGAYgASgJQgi6SAVyA7ABAUgAQgwKCmlkZW50aWZpZXIiSAobR2V0RGFpbHlNZXRyaWNDb3VudFJlc3BvbnNlEikKB3Jlc3VsdHMYASADKAsyGC5tZ210LnYxYWxwaGExLkRheVJlc3VsdCI9CglEYXlSZXN1bHQSIQoEZGF0ZRgBIAEoCzITLm1nbXQudjFhbHBoYTEuRGF0ZRINCgVjb3VudBgCIAEoBCKIAgoVR2V0TWV0cmljQ291bnRSZXF1ZXN0Ei8KBm1ldHJpYxgDIAEoDjIfLm1nbXQudjFhbHBoYTEuUmFuZ2VkTWV0cmljTmFtZRIeCgphY2NvdW50X2lkGAQgASgJQgi6SAVyA7ABAUgAEhoKBmpvYl9pZBgFIAEoCUIIukgFcgOwAQFIABIaCgZydW5faWQYBiABKAlCCLpIBXIDsAEBSAASJgoJc3RhcnRfZGF5GAcgASgLMhMubWdtdC52MWFscGhhMS5EYXRlEiQKB2VuZF9kYXkYCCABKAsyEy5tZ210LnYxYWxwaGExLkRhdGVCDAoKaWRlbnRpZmllckoECAEQAkoECAIQAyInChZHZXRNZXRyaWNDb3VudFJlc3BvbnNlEg0KBWNvdW50GAEgASgEKl0KEFJhbmdlZE1ldHJpY05hbWUSIgoeUkFOR0VEX01FVFJJQ19OQU1FX1VOU1BFQ0lGSUVEEAASJQohUkFOR0VEX01FVFJJQ19OQU1FX0lOUFVUX1JFQ0VJVkVEEAEy4QEKDk1ldHJpY3NTZXJ2aWNlEm4KE0dldERhaWx5TWV0cmljQ291bnQSKS5tZ210LnYxYWxwaGExLkdldERhaWx5TWV0cmljQ291bnRSZXF1ZXN0GioubWdtdC52MWFscGhhMS5HZXREYWlseU1ldHJpY0NvdW50UmVzcG9uc2UiABJfCg5HZXRNZXRyaWNDb3VudBIkLm1nbXQudjFhbHBoYTEuR2V0TWV0cmljQ291bnRSZXF1ZXN0GiUubWdtdC52MWFscGhhMS5HZXRNZXRyaWNDb3VudFJlc3BvbnNlIgBCyAEKEWNvbS5tZ210LnYxYWxwaGExQgxNZXRyaWNzUHJvdG9QAVpQZ2l0aHViLmNvbS9udWNsZXVzY2xvdWQvbmVvc3luYy9iYWNrZW5kL2dlbi9nby9wcm90b3MvbWdtdC92MWFscGhhMTttZ210djFhbHBoYTGiAgNNWFiqAg1NZ210LlYxYWxwaGExygINTWdtdFxWMWFscGhhMeICGU1nbXRcVjFhbHBoYTFcR1BCTWV0YWRhdGHqAg5NZ210OjpWMWFscGhhMWIGcHJvdG8z", [file_buf_validate_validate]); + fileDesc("ChttZ210L3YxYWxwaGExL21ldHJpY3MucHJvdG8SDW1nbXQudjFhbHBoYTEiUgoERGF0ZRIYCgR5ZWFyGAEgASgNQgq6SAcqBRiPTigAEhgKBW1vbnRoGAIgASgNQgm6SAYqBBgfKAASFgoDZGF5GAMgASgNQgm6SAYqBBgfKAAi+QEKGkdldERhaWx5TWV0cmljQ291bnRSZXF1ZXN0EiIKBXN0YXJ0GAEgASgLMhMubWdtdC52MWFscGhhMS5EYXRlEiAKA2VuZBgCIAEoCzITLm1nbXQudjFhbHBoYTEuRGF0ZRIvCgZtZXRyaWMYAyABKA4yHy5tZ210LnYxYWxwaGExLlJhbmdlZE1ldHJpY05hbWUSHgoKYWNjb3VudF9pZBgEIAEoCUIIukgFcgOwAQFIABIaCgZqb2JfaWQYBSABKAlCCLpIBXIDsAEBSAASGgoGcnVuX2lkGAYgASgJQgi6SAVyA7ABAUgAQgwKCmlkZW50aWZpZXIiSAobR2V0RGFpbHlNZXRyaWNDb3VudFJlc3BvbnNlEikKB3Jlc3VsdHMYASADKAsyGC5tZ210LnYxYWxwaGExLkRheVJlc3VsdCI9CglEYXlSZXN1bHQSIQoEZGF0ZRgBIAEoCzITLm1nbXQudjFhbHBoYTEuRGF0ZRINCgVjb3VudBgCIAEoBCKIAgoVR2V0TWV0cmljQ291bnRSZXF1ZXN0Ei8KBm1ldHJpYxgDIAEoDjIfLm1nbXQudjFhbHBoYTEuUmFuZ2VkTWV0cmljTmFtZRIeCgphY2NvdW50X2lkGAQgASgJQgi6SAVyA7ABAUgAEhoKBmpvYl9pZBgFIAEoCUIIukgFcgOwAQFIABIaCgZydW5faWQYBiABKAlCCLpIBXIDsAEBSAASJgoJc3RhcnRfZGF5GAcgASgLMhMubWdtdC52MWFscGhhMS5EYXRlEiQKB2VuZF9kYXkYCCABKAsyEy5tZ210LnYxYWxwaGExLkRhdGVCDAoKaWRlbnRpZmllckoECAEQAkoECAIQAyInChZHZXRNZXRyaWNDb3VudFJlc3BvbnNlEg0KBWNvdW50GAEgASgEKl0KEFJhbmdlZE1ldHJpY05hbWUSIgoeUkFOR0VEX01FVFJJQ19OQU1FX1VOU1BFQ0lGSUVEEAASJQohUkFOR0VEX01FVFJJQ19OQU1FX0lOUFVUX1JFQ0VJVkVEEAEy5wEKDk1ldHJpY3NTZXJ2aWNlEnEKE0dldERhaWx5TWV0cmljQ291bnQSKS5tZ210LnYxYWxwaGExLkdldERhaWx5TWV0cmljQ291bnRSZXF1ZXN0GioubWdtdC52MWFscGhhMS5HZXREYWlseU1ldHJpY0NvdW50UmVzcG9uc2UiA5ACARJiCg5HZXRNZXRyaWNDb3VudBIkLm1nbXQudjFhbHBoYTEuR2V0TWV0cmljQ291bnRSZXF1ZXN0GiUubWdtdC52MWFscGhhMS5HZXRNZXRyaWNDb3VudFJlc3BvbnNlIgOQAgFCyAEKEWNvbS5tZ210LnYxYWxwaGExQgxNZXRyaWNzUHJvdG9QAVpQZ2l0aHViLmNvbS9udWNsZXVzY2xvdWQvbmVvc3luYy9iYWNrZW5kL2dlbi9nby9wcm90b3MvbWdtdC92MWFscGhhMTttZ210djFhbHBoYTGiAgNNWFiqAg1NZ210LlYxYWxwaGExygINTWdtdFxWMWFscGhhMeICGU1nbXRcVjFhbHBoYTFcR1BCTWV0YWRhdGHqAg5NZ210OjpWMWFscGhhMWIGcHJvdG8z", [file_buf_validate_validate]); /** * Represents a whole or partial calendar date, such as a birthday. The time of @@ -131,6 +131,8 @@ export const GetDailyMetricCountRequestSchema: GenMessage & { /** + * The list of results for the given metric and date range + * * @generated from field: repeated mgmt.v1alpha1.DayResult results = 1; */ results: DayResult[]; @@ -148,11 +150,15 @@ export const GetDailyMetricCountResponseSchema: GenMessage & { /** + * The date of the result + * * @generated from field: mgmt.v1alpha1.Date date = 1; */ date?: Date; /** + * The count of the metric for the given date + * * @generated from field: uint64 count = 2; */ count: bigint; @@ -268,6 +274,8 @@ export const RangedMetricNameSchema: GenEnum = /*@__PURE__*/ enumDesc(file_mgmt_v1alpha1_metrics, 0); /** + * Service that handles serving up usage metrics + * * @generated from service mgmt.v1alpha1.MetricsService */ export const MetricsService: GenService<{ diff --git a/frontend/packages/sdk/src/client/mgmt/v1alpha1/transformer_pb.ts b/frontend/packages/sdk/src/client/mgmt/v1alpha1/transformer_pb.ts index 63760c6f93..5ee1301eb9 100644 --- a/frontend/packages/sdk/src/client/mgmt/v1alpha1/transformer_pb.ts +++ b/frontend/packages/sdk/src/client/mgmt/v1alpha1/transformer_pb.ts @@ -13,7 +13,7 @@ import type { Message } from "@bufbuild/protobuf"; * Describes the file mgmt/v1alpha1/transformer.proto. */ export const file_mgmt_v1alpha1_transformer: GenFile = /*@__PURE__*/ - fileDesc("Ch9tZ210L3YxYWxwaGExL3RyYW5zZm9ybWVyLnByb3RvEg1tZ210LnYxYWxwaGExIh4KHEdldFN5c3RlbVRyYW5zZm9ybWVyc1JlcXVlc3QiVwodR2V0U3lzdGVtVHJhbnNmb3JtZXJzUmVzcG9uc2USNgoMdHJhbnNmb3JtZXJzGAEgAygLMiAubWdtdC52MWFscGhhMS5TeXN0ZW1UcmFuc2Zvcm1lciJXCiNHZXRTeXN0ZW1UcmFuc2Zvcm1lckJ5U291cmNlUmVxdWVzdBIwCgZzb3VyY2UYASABKA4yIC5tZ210LnYxYWxwaGExLlRyYW5zZm9ybWVyU291cmNlIl0KJEdldFN5c3RlbVRyYW5zZm9ybWVyQnlTb3VyY2VSZXNwb25zZRI1Cgt0cmFuc2Zvcm1lchgBIAEoCzIgLm1nbXQudjFhbHBoYTEuU3lzdGVtVHJhbnNmb3JtZXIiQQohR2V0VXNlckRlZmluZWRUcmFuc2Zvcm1lcnNSZXF1ZXN0EhwKCmFjY291bnRfaWQYASABKAlCCLpIBXIDsAEBImEKIkdldFVzZXJEZWZpbmVkVHJhbnNmb3JtZXJzUmVzcG9uc2USOwoMdHJhbnNmb3JtZXJzGAEgAygLMiUubWdtdC52MWFscGhhMS5Vc2VyRGVmaW5lZFRyYW5zZm9ybWVyIkgKJEdldFVzZXJEZWZpbmVkVHJhbnNmb3JtZXJCeUlkUmVxdWVzdBIgCg50cmFuc2Zvcm1lcl9pZBgBIAEoCUIIukgFcgOwAQEiYwolR2V0VXNlckRlZmluZWRUcmFuc2Zvcm1lckJ5SWRSZXNwb25zZRI6Cgt0cmFuc2Zvcm1lchgBIAEoCzIlLm1nbXQudjFhbHBoYTEuVXNlckRlZmluZWRUcmFuc2Zvcm1lciL3AQojQ3JlYXRlVXNlckRlZmluZWRUcmFuc2Zvcm1lclJlcXVlc3QSHAoKYWNjb3VudF9pZBgBIAEoCUIIukgFcgOwAQESJwoEbmFtZRgCIAEoCUIZukgWchQyEl5bYS16MC05LV17MywxMDB9JBITCgtkZXNjcmlwdGlvbhgDIAEoCRIwCgZzb3VyY2UYBSABKA4yIC5tZ210LnYxYWxwaGExLlRyYW5zZm9ybWVyU291cmNlEjwKEnRyYW5zZm9ybWVyX2NvbmZpZxgGIAEoCzIgLm1nbXQudjFhbHBoYTEuVHJhbnNmb3JtZXJDb25maWdKBAgEEAUiYgokQ3JlYXRlVXNlckRlZmluZWRUcmFuc2Zvcm1lclJlc3BvbnNlEjoKC3RyYW5zZm9ybWVyGAEgASgLMiUubWdtdC52MWFscGhhMS5Vc2VyRGVmaW5lZFRyYW5zZm9ybWVyIkcKI0RlbGV0ZVVzZXJEZWZpbmVkVHJhbnNmb3JtZXJSZXF1ZXN0EiAKDnRyYW5zZm9ybWVyX2lkGAEgASgJQgi6SAVyA7ABASImCiREZWxldGVVc2VyRGVmaW5lZFRyYW5zZm9ybWVyUmVzcG9uc2UiwwEKI1VwZGF0ZVVzZXJEZWZpbmVkVHJhbnNmb3JtZXJSZXF1ZXN0EiAKDnRyYW5zZm9ybWVyX2lkGAEgASgJQgi6SAVyA7ABARInCgRuYW1lGAIgASgJQhm6SBZyFDISXlthLXowLTktXXszLDEwMH0kEhMKC2Rlc2NyaXB0aW9uGAMgASgJEjwKEnRyYW5zZm9ybWVyX2NvbmZpZxgEIAEoCzIgLm1nbXQudjFhbHBoYTEuVHJhbnNmb3JtZXJDb25maWciYgokVXBkYXRlVXNlckRlZmluZWRUcmFuc2Zvcm1lclJlc3BvbnNlEjoKC3RyYW5zZm9ybWVyGAEgASgLMiUubWdtdC52MWFscGhhMS5Vc2VyRGVmaW5lZFRyYW5zZm9ybWVyInYKIUlzVHJhbnNmb3JtZXJOYW1lQXZhaWxhYmxlUmVxdWVzdBIcCgphY2NvdW50X2lkGAEgASgJQgi6SAVyA7ABARIzChB0cmFuc2Zvcm1lcl9uYW1lGAIgASgJQhm6SBZyFDISXlthLXowLTktXXszLDEwMH0kIjoKIklzVHJhbnNmb3JtZXJOYW1lQXZhaWxhYmxlUmVzcG9uc2USFAoMaXNfYXZhaWxhYmxlGAEgASgIIpgDChZVc2VyRGVmaW5lZFRyYW5zZm9ybWVyEhQKAmlkGAEgASgJQgi6SAVyA7ABARIMCgRuYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEjUKCWRhdGFfdHlwZRgFIAEoDjIiLm1nbXQudjFhbHBoYTEuVHJhbnNmb3JtZXJEYXRhVHlwZRIwCgZzb3VyY2UYBiABKA4yIC5tZ210LnYxYWxwaGExLlRyYW5zZm9ybWVyU291cmNlEjAKBmNvbmZpZxgHIAEoCzIgLm1nbXQudjFhbHBoYTEuVHJhbnNmb3JtZXJDb25maWcSLgoKY3JlYXRlZF9hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEgoKYWNjb3VudF9pZBgKIAEoCRI2CgpkYXRhX3R5cGVzGAsgAygOMiIubWdtdC52MWFscGhhMS5UcmFuc2Zvcm1lckRhdGFUeXBlIscCChFTeXN0ZW1UcmFuc2Zvcm1lchIMCgRuYW1lGAEgASgJEhMKC2Rlc2NyaXB0aW9uGAIgASgJEjUKCWRhdGFfdHlwZRgDIAEoDjIiLm1nbXQudjFhbHBoYTEuVHJhbnNmb3JtZXJEYXRhVHlwZRIwCgZzb3VyY2UYBCABKA4yIC5tZ210LnYxYWxwaGExLlRyYW5zZm9ybWVyU291cmNlEjAKBmNvbmZpZxgFIAEoCzIgLm1nbXQudjFhbHBoYTEuVHJhbnNmb3JtZXJDb25maWcSNgoKZGF0YV90eXBlcxgGIAMoDjIiLm1nbXQudjFhbHBoYTEuVHJhbnNmb3JtZXJEYXRhVHlwZRI8ChNzdXBwb3J0ZWRfam9iX3R5cGVzGAcgAygOMh8ubWdtdC52MWFscGhhMS5TdXBwb3J0ZWRKb2JUeXBlIr0aChFUcmFuc2Zvcm1lckNvbmZpZxI9ChVnZW5lcmF0ZV9lbWFpbF9jb25maWcYASABKAsyHC5tZ210LnYxYWxwaGExLkdlbmVyYXRlRW1haWxIABI/ChZ0cmFuc2Zvcm1fZW1haWxfY29uZmlnGAIgASgLMh0ubWdtdC52MWFscGhhMS5UcmFuc2Zvcm1FbWFpbEgAEjsKFGdlbmVyYXRlX2Jvb2xfY29uZmlnGAMgASgLMhsubWdtdC52MWFscGhhMS5HZW5lcmF0ZUJvb2xIABJIChtnZW5lcmF0ZV9jYXJkX251bWJlcl9jb25maWcYBCABKAsyIS5tZ210LnYxYWxwaGExLkdlbmVyYXRlQ2FyZE51bWJlckgAEjsKFGdlbmVyYXRlX2NpdHlfY29uZmlnGAUgASgLMhsubWdtdC52MWFscGhhMS5HZW5lcmF0ZUNpdHlIABJTCiFnZW5lcmF0ZV9lMTY0X3Bob25lX251bWJlcl9jb25maWcYBiABKAsyJi5tZ210LnYxYWxwaGExLkdlbmVyYXRlRTE2NFBob25lTnVtYmVySAASRgoaZ2VuZXJhdGVfZmlyc3RfbmFtZV9jb25maWcYByABKAsyIC5tZ210LnYxYWxwaGExLkdlbmVyYXRlRmlyc3ROYW1lSAASQQoXZ2VuZXJhdGVfZmxvYXQ2NF9jb25maWcYCCABKAsyHi5tZ210LnYxYWxwaGExLkdlbmVyYXRlRmxvYXQ2NEgAEkoKHGdlbmVyYXRlX2Z1bGxfYWRkcmVzc19jb25maWcYCSABKAsyIi5tZ210LnYxYWxwaGExLkdlbmVyYXRlRnVsbEFkZHJlc3NIABJEChlnZW5lcmF0ZV9mdWxsX25hbWVfY29uZmlnGAogASgLMh8ubWdtdC52MWFscGhhMS5HZW5lcmF0ZUZ1bGxOYW1lSAASPwoWZ2VuZXJhdGVfZ2VuZGVyX2NvbmZpZxgLIAEoCzIdLm1nbXQudjFhbHBoYTEuR2VuZXJhdGVHZW5kZXJIABJVCiJnZW5lcmF0ZV9pbnQ2NF9waG9uZV9udW1iZXJfY29uZmlnGAwgASgLMicubWdtdC52MWFscGhhMS5HZW5lcmF0ZUludDY0UGhvbmVOdW1iZXJIABI9ChVnZW5lcmF0ZV9pbnQ2NF9jb25maWcYDSABKAsyHC5tZ210LnYxYWxwaGExLkdlbmVyYXRlSW50NjRIABJEChlnZW5lcmF0ZV9sYXN0X25hbWVfY29uZmlnGA4gASgLMh8ubWdtdC52MWFscGhhMS5HZW5lcmF0ZUxhc3ROYW1lSAASRwoaZ2VuZXJhdGVfc2hhMjU2aGFzaF9jb25maWcYDyABKAsyIS5tZ210LnYxYWxwaGExLkdlbmVyYXRlU2hhMjU2SGFzaEgAEjkKE2dlbmVyYXRlX3Nzbl9jb25maWcYECABKAsyGi5tZ210LnYxYWxwaGExLkdlbmVyYXRlU1NOSAASPQoVZ2VuZXJhdGVfc3RhdGVfY29uZmlnGBEgASgLMhwubWdtdC52MWFscGhhMS5HZW5lcmF0ZVN0YXRlSAASTgoeZ2VuZXJhdGVfc3RyZWV0X2FkZHJlc3NfY29uZmlnGBIgASgLMiQubWdtdC52MWFscGhhMS5HZW5lcmF0ZVN0cmVldEFkZHJlc3NIABJXCiNnZW5lcmF0ZV9zdHJpbmdfcGhvbmVfbnVtYmVyX2NvbmZpZxgTIAEoCzIoLm1nbXQudjFhbHBoYTEuR2VuZXJhdGVTdHJpbmdQaG9uZU51bWJlckgAEj8KFmdlbmVyYXRlX3N0cmluZ19jb25maWcYFCABKAsyHS5tZ210LnYxYWxwaGExLkdlbmVyYXRlU3RyaW5nSAASTQodZ2VuZXJhdGVfdW5peHRpbWVzdGFtcF9jb25maWcYFSABKAsyJC5tZ210LnYxYWxwaGExLkdlbmVyYXRlVW5peFRpbWVzdGFtcEgAEkMKGGdlbmVyYXRlX3VzZXJuYW1lX2NvbmZpZxgWIAEoCzIfLm1nbXQudjFhbHBoYTEuR2VuZXJhdGVVc2VybmFtZUgAEksKHGdlbmVyYXRlX3V0Y3RpbWVzdGFtcF9jb25maWcYFyABKAsyIy5tZ210LnYxYWxwaGExLkdlbmVyYXRlVXRjVGltZXN0YW1wSAASOwoUZ2VuZXJhdGVfdXVpZF9jb25maWcYGCABKAsyGy5tZ210LnYxYWxwaGExLkdlbmVyYXRlVXVpZEgAEkEKF2dlbmVyYXRlX3ppcGNvZGVfY29uZmlnGBkgASgLMh4ubWdtdC52MWFscGhhMS5HZW5lcmF0ZVppcGNvZGVIABJVCiJ0cmFuc2Zvcm1fZTE2NF9waG9uZV9udW1iZXJfY29uZmlnGBogASgLMicubWdtdC52MWFscGhhMS5UcmFuc2Zvcm1FMTY0UGhvbmVOdW1iZXJIABJICht0cmFuc2Zvcm1fZmlyc3RfbmFtZV9jb25maWcYGyABKAsyIS5tZ210LnYxYWxwaGExLlRyYW5zZm9ybUZpcnN0TmFtZUgAEkMKGHRyYW5zZm9ybV9mbG9hdDY0X2NvbmZpZxgcIAEoCzIfLm1nbXQudjFhbHBoYTEuVHJhbnNmb3JtRmxvYXQ2NEgAEkYKGnRyYW5zZm9ybV9mdWxsX25hbWVfY29uZmlnGB0gASgLMiAubWdtdC52MWFscGhhMS5UcmFuc2Zvcm1GdWxsTmFtZUgAElcKI3RyYW5zZm9ybV9pbnQ2NF9waG9uZV9udW1iZXJfY29uZmlnGB4gASgLMigubWdtdC52MWFscGhhMS5UcmFuc2Zvcm1JbnQ2NFBob25lTnVtYmVySAASPwoWdHJhbnNmb3JtX2ludDY0X2NvbmZpZxgfIAEoCzIdLm1nbXQudjFhbHBoYTEuVHJhbnNmb3JtSW50NjRIABJGChp0cmFuc2Zvcm1fbGFzdF9uYW1lX2NvbmZpZxggIAEoCzIgLm1nbXQudjFhbHBoYTEuVHJhbnNmb3JtTGFzdE5hbWVIABJMCh10cmFuc2Zvcm1fcGhvbmVfbnVtYmVyX2NvbmZpZxghIAEoCzIjLm1nbXQudjFhbHBoYTEuVHJhbnNmb3JtUGhvbmVOdW1iZXJIABJBChd0cmFuc2Zvcm1fc3RyaW5nX2NvbmZpZxgiIAEoCzIeLm1nbXQudjFhbHBoYTEuVHJhbnNmb3JtU3RyaW5nSAASOAoScGFzc3Rocm91Z2hfY29uZmlnGCMgASgLMhoubWdtdC52MWFscGhhMS5QYXNzdGhyb3VnaEgAEikKCm51bGxjb25maWcYJCABKAsyEy5tZ210LnYxYWxwaGExLk51bGxIABJWCh91c2VyX2RlZmluZWRfdHJhbnNmb3JtZXJfY29uZmlnGCUgASgLMisubWdtdC52MWFscGhhMS5Vc2VyRGVmaW5lZFRyYW5zZm9ybWVyQ29uZmlnSAASQQoXZ2VuZXJhdGVfZGVmYXVsdF9jb25maWcYJiABKAsyHi5tZ210LnYxYWxwaGExLkdlbmVyYXRlRGVmYXVsdEgAEkkKG3RyYW5zZm9ybV9qYXZhc2NyaXB0X2NvbmZpZxgnIAEoCzIiLm1nbXQudjFhbHBoYTEuVHJhbnNmb3JtSmF2YXNjcmlwdEgAEkkKG2dlbmVyYXRlX2NhdGVnb3JpY2FsX2NvbmZpZxgoIAEoCzIiLm1nbXQudjFhbHBoYTEuR2VuZXJhdGVDYXRlZ29yaWNhbEgAElgKI3RyYW5zZm9ybV9jaGFyYWN0ZXJfc2NyYW1ibGVfY29uZmlnGCkgASgLMikubWdtdC52MWFscGhhMS5UcmFuc2Zvcm1DaGFyYWN0ZXJTY3JhbWJsZUgAEkcKGmdlbmVyYXRlX2phdmFzY3JpcHRfY29uZmlnGCogASgLMiEubWdtdC52MWFscGhhMS5HZW5lcmF0ZUphdmFzY3JpcHRIABJBChdnZW5lcmF0ZV9jb3VudHJ5X2NvbmZpZxgrIAEoCzIeLm1nbXQudjFhbHBoYTEuR2VuZXJhdGVDb3VudHJ5SAASRAoZdHJhbnNmb3JtX3BpaV90ZXh0X2NvbmZpZxgsIAEoCzIfLm1nbXQudjFhbHBoYTEuVHJhbnNmb3JtUGlpVGV4dEgAEkwKHWdlbmVyYXRlX2J1c2luZXNzX25hbWVfY29uZmlnGC0gASgLMiMubWdtdC52MWFscGhhMS5HZW5lcmF0ZUJ1c2luZXNzTmFtZUgAEkYKGmdlbmVyYXRlX2lwX2FkZHJlc3NfY29uZmlnGC4gASgLMiAubWdtdC52MWFscGhhMS5HZW5lcmF0ZUlwQWRkcmVzc0gAEj0KFXRyYW5zZm9ybV91dWlkX2NvbmZpZxgvIAEoCzIcLm1nbXQudjFhbHBoYTEuVHJhbnNmb3JtVXVpZEgAQg8KBmNvbmZpZxIFukgCCAEiwwMKEFRyYW5zZm9ybVBpaVRleHQSKAoPc2NvcmVfdGhyZXNob2xkGAEgASgCQg+6SAwKCh0AAIA/LQAAAAASOAoSZGVmYXVsdF9hbm9ueW1pemVyGAIgASgLMhwubWdtdC52MWFscGhhMS5QaWlBbm9ueW1pemVyEjoKEGRlbnlfcmVjb2duaXplcnMYAyADKAsyIC5tZ210LnYxYWxwaGExLlBpaURlbnlSZWNvZ25pemVyEiYKEGFsbG93ZWRfZW50aXRpZXMYBCADKAlCDLpICZIBBiIEcgIQARIXCg9hbGxvd2VkX3BocmFzZXMYBSADKAkSFQoIbGFuZ3VhZ2UYBiABKAlIAIgBARJSChJlbnRpdHlfYW5vbnltaXplcnMYByADKAsyNi5tZ210LnYxYWxwaGExLlRyYW5zZm9ybVBpaVRleHQuRW50aXR5QW5vbnltaXplcnNFbnRyeRpWChZFbnRpdHlBbm9ueW1pemVyc0VudHJ5EgsKA2tleRgBIAEoCRIrCgV2YWx1ZRgCIAEoCzIcLm1nbXQudjFhbHBoYTEuUGlpQW5vbnltaXplcjoCOAFCCwoJX2xhbmd1YWdlIl8KEVBpaURlbnlSZWNvZ25pemVyEigKBG5hbWUYASABKAlCGrpIF3IVMhNeW2EtejAtOS1fXXsxLDEwMH0kEiAKCmRlbnlfd29yZHMYAiADKAlCDLpICZIBBiIEcgIQASLcBQoNUGlpQW5vbnltaXplchI3CgdyZXBsYWNlGAEgASgLMiQubWdtdC52MWFscGhhMS5QaWlBbm9ueW1pemVyLlJlcGxhY2VIABI1CgZyZWRhY3QYAiABKAsyIy5tZ210LnYxYWxwaGExLlBpaUFub255bWl6ZXIuUmVkYWN0SAASMQoEbWFzaxgDIAEoCzIhLm1nbXQudjFhbHBoYTEuUGlpQW5vbnltaXplci5NYXNrSAASMQoEaGFzaBgEIAEoCzIhLm1nbXQudjFhbHBoYTEuUGlpQW5vbnltaXplci5IYXNoSAASOwoJdHJhbnNmb3JtGAUgASgLMiYubWdtdC52MWFscGhhMS5QaWlBbm9ueW1pemVyLlRyYW5zZm9ybUgAGicKB1JlcGxhY2USEgoFdmFsdWUYASABKAlIAIgBAUIICgZfdmFsdWUaCAoGUmVkYWN0GoQBCgRNYXNrEhkKDG1hc2tpbmdfY2hhchgBIAEoCUgAiAEBEhoKDWNoYXJzX3RvX21hc2sYAiABKAVIAYgBARIVCghmcm9tX2VuZBgDIAEoCEgCiAEBQg8KDV9tYXNraW5nX2NoYXJCEAoOX2NoYXJzX3RvX21hc2tCCwoJX2Zyb21fZW5kGrQBCgRIYXNoEj0KBGFsZ28YASABKA4yKi5tZ210LnYxYWxwaGExLlBpaUFub255bWl6ZXIuSGFzaC5IYXNoVHlwZUgAiAEBImQKCEhhc2hUeXBlEhkKFUhBU0hfVFlQRV9VTlNQRUNJRklFRBAAEhEKDUhBU0hfVFlQRV9NRDUQARIUChBIQVNIX1RZUEVfU0hBMjU2EAISFAoQSEFTSF9UWVBFX1NIQTUxMhADQgcKBV9hbGdvGj0KCVRyYW5zZm9ybRIwCgZjb25maWcYASABKAsyIC5tZ210LnYxYWxwaGExLlRyYW5zZm9ybWVyQ29uZmlnQggKBmNvbmZpZyJZCg1HZW5lcmF0ZUVtYWlsEjkKCmVtYWlsX3R5cGUYASABKA4yIC5tZ210LnYxYWxwaGExLkdlbmVyYXRlRW1haWxUeXBlSACIAQFCDQoLX2VtYWlsX3R5cGUitwIKDlRyYW5zZm9ybUVtYWlsEhwKD3ByZXNlcnZlX2RvbWFpbhgBIAEoCEgAiAEBEhwKD3ByZXNlcnZlX2xlbmd0aBgCIAEoCEgBiAEBEhgKEGV4Y2x1ZGVkX2RvbWFpbnMYAyADKAkSOQoKZW1haWxfdHlwZRgEIAEoDjIgLm1nbXQudjFhbHBoYTEuR2VuZXJhdGVFbWFpbFR5cGVIAogBARJEChRpbnZhbGlkX2VtYWlsX2FjdGlvbhgFIAEoDjIhLm1nbXQudjFhbHBoYTEuSW52YWxpZEVtYWlsQWN0aW9uSAOIAQFCEgoQX3ByZXNlcnZlX2RvbWFpbkISChBfcHJlc2VydmVfbGVuZ3RoQg0KC19lbWFpbF90eXBlQhcKFV9pbnZhbGlkX2VtYWlsX2FjdGlvbiIOCgxHZW5lcmF0ZUJvb2wiPAoSR2VuZXJhdGVDYXJkTnVtYmVyEhcKCnZhbGlkX2x1aG4YASABKAhIAIgBAUINCgtfdmFsaWRfbHVobiIOCgxHZW5lcmF0ZUNpdHkiEQoPR2VuZXJhdGVEZWZhdWx0Ik0KF0dlbmVyYXRlRTE2NFBob25lTnVtYmVyEhAKA21pbhgBIAEoA0gAiAEBEhAKA21heBgCIAEoA0gBiAEBQgYKBF9taW5CBgoEX21heCITChFHZW5lcmF0ZUZpcnN0TmFtZSKbAQoPR2VuZXJhdGVGbG9hdDY0EhsKDnJhbmRvbWl6ZV9zaWduGAEgASgISACIAQESEAoDbWluGAIgASgBSAGIAQESEAoDbWF4GAMgASgBSAKIAQESFgoJcHJlY2lzaW9uGAQgASgDSAOIAQFCEQoPX3JhbmRvbWl6ZV9zaWduQgYKBF9taW5CBgoEX21heEIMCgpfcHJlY2lzaW9uIhUKE0dlbmVyYXRlRnVsbEFkZHJlc3MiEgoQR2VuZXJhdGVGdWxsTmFtZSI4Cg5HZW5lcmF0ZUdlbmRlchIXCgphYmJyZXZpYXRlGAEgASgISACIAQFCDQoLX2FiYnJldmlhdGUiGgoYR2VuZXJhdGVJbnQ2NFBob25lTnVtYmVyInMKDUdlbmVyYXRlSW50NjQSGwoOcmFuZG9taXplX3NpZ24YASABKAhIAIgBARIQCgNtaW4YAiABKANIAYgBARIQCgNtYXgYAyABKANIAogBAUIRCg9fcmFuZG9taXplX3NpZ25CBgoEX21pbkIGCgRfbWF4IhIKEEdlbmVyYXRlTGFzdE5hbWUiFAoSR2VuZXJhdGVTaGEyNTZIYXNoIg0KC0dlbmVyYXRlU1NOIkcKDUdlbmVyYXRlU3RhdGUSHwoSZ2VuZXJhdGVfZnVsbF9uYW1lGAEgASgISACIAQFCFQoTX2dlbmVyYXRlX2Z1bGxfbmFtZSIXChVHZW5lcmF0ZVN0cmVldEFkZHJlc3MiTwoZR2VuZXJhdGVTdHJpbmdQaG9uZU51bWJlchIQCgNtaW4YAiABKANIAIgBARIQCgNtYXgYAyABKANIAYgBAUIGCgRfbWluQgYKBF9tYXgiRAoOR2VuZXJhdGVTdHJpbmcSEAoDbWluGAEgASgDSACIAQESEAoDbWF4GAIgASgDSAGIAQFCBgoEX21pbkIGCgRfbWF4IhcKFUdlbmVyYXRlVW5peFRpbWVzdGFtcCISChBHZW5lcmF0ZVVzZXJuYW1lIhYKFEdlbmVyYXRlVXRjVGltZXN0YW1wIkAKDEdlbmVyYXRlVXVpZBIcCg9pbmNsdWRlX2h5cGhlbnMYASABKAhIAIgBAUISChBfaW5jbHVkZV9oeXBoZW5zIhEKD0dlbmVyYXRlWmlwY29kZSJMChhUcmFuc2Zvcm1FMTY0UGhvbmVOdW1iZXISHAoPcHJlc2VydmVfbGVuZ3RoGAEgASgISACIAQFCEgoQX3ByZXNlcnZlX2xlbmd0aCJGChJUcmFuc2Zvcm1GaXJzdE5hbWUSHAoPcHJlc2VydmVfbGVuZ3RoGAEgASgISACIAQFCEgoQX3ByZXNlcnZlX2xlbmd0aCKWAQoQVHJhbnNmb3JtRmxvYXQ2NBIkChdyYW5kb21pemF0aW9uX3JhbmdlX21pbhgBIAEoAUgAiAEBEiQKF3JhbmRvbWl6YXRpb25fcmFuZ2VfbWF4GAIgASgBSAGIAQFCGgoYX3JhbmRvbWl6YXRpb25fcmFuZ2VfbWluQhoKGF9yYW5kb21pemF0aW9uX3JhbmdlX21heCJFChFUcmFuc2Zvcm1GdWxsTmFtZRIcCg9wcmVzZXJ2ZV9sZW5ndGgYASABKAhIAIgBAUISChBfcHJlc2VydmVfbGVuZ3RoIk0KGVRyYW5zZm9ybUludDY0UGhvbmVOdW1iZXISHAoPcHJlc2VydmVfbGVuZ3RoGAEgASgISACIAQFCEgoQX3ByZXNlcnZlX2xlbmd0aCKUAQoOVHJhbnNmb3JtSW50NjQSJAoXcmFuZG9taXphdGlvbl9yYW5nZV9taW4YASABKANIAIgBARIkChdyYW5kb21pemF0aW9uX3JhbmdlX21heBgCIAEoA0gBiAEBQhoKGF9yYW5kb21pemF0aW9uX3JhbmdlX21pbkIaChhfcmFuZG9taXphdGlvbl9yYW5nZV9tYXgiRQoRVHJhbnNmb3JtTGFzdE5hbWUSHAoPcHJlc2VydmVfbGVuZ3RoGAEgASgISACIAQFCEgoQX3ByZXNlcnZlX2xlbmd0aCJIChRUcmFuc2Zvcm1QaG9uZU51bWJlchIcCg9wcmVzZXJ2ZV9sZW5ndGgYASABKAhIAIgBAUISChBfcHJlc2VydmVfbGVuZ3RoIkMKD1RyYW5zZm9ybVN0cmluZxIcCg9wcmVzZXJ2ZV9sZW5ndGgYASABKAhIAIgBAUISChBfcHJlc2VydmVfbGVuZ3RoIg0KC1Bhc3N0aHJvdWdoIgYKBE51bGwiIwoTVHJhbnNmb3JtSmF2YXNjcmlwdBIMCgRjb2RlGAEgASgJIjQKHFVzZXJEZWZpbmVkVHJhbnNmb3JtZXJDb25maWcSFAoCaWQYASABKAlCCLpIBXIDsAEBIkAKIVZhbGlkYXRlVXNlckphdmFzY3JpcHRDb2RlUmVxdWVzdBIVCgRjb2RlGAIgASgJQge6SARyAhABSgQIARACIjMKIlZhbGlkYXRlVXNlckphdmFzY3JpcHRDb2RlUmVzcG9uc2USDQoFdmFsaWQYASABKAgiPQoTR2VuZXJhdGVDYXRlZ29yaWNhbBIXCgpjYXRlZ29yaWVzGAEgASgJSACIAQFCDQoLX2NhdGVnb3JpZXMiVgoaVHJhbnNmb3JtQ2hhcmFjdGVyU2NyYW1ibGUSIAoTdXNlcl9wcm92aWRlZF9yZWdleBgBIAEoCUgAiAEBQhYKFF91c2VyX3Byb3ZpZGVkX3JlZ2V4IiIKEkdlbmVyYXRlSmF2YXNjcmlwdBIMCgRjb2RlGAEgASgJIkEKHFZhbGlkYXRlVXNlclJlZ2V4Q29kZVJlcXVlc3QSGwoTdXNlcl9wcm92aWRlZF9yZWdleBgCIAEoCUoECAEQAiIuCh1WYWxpZGF0ZVVzZXJSZWdleENvZGVSZXNwb25zZRINCgV2YWxpZBgBIAEoCCJJCg9HZW5lcmF0ZUNvdW50cnkSHwoSZ2VuZXJhdGVfZnVsbF9uYW1lGAEgASgISACIAQFCFQoTX2dlbmVyYXRlX2Z1bGxfbmFtZSI+Ch5HZXRUcmFuc2Zvcm1QaWlFbnRpdGllc1JlcXVlc3QSHAoKYWNjb3VudF9pZBgBIAEoCUIIukgFcgOwAQEiMwofR2V0VHJhbnNmb3JtUGlpRW50aXRpZXNSZXNwb25zZRIQCghlbnRpdGllcxgBIAMoCSIWChRHZW5lcmF0ZUJ1c2luZXNzTmFtZSJbChFHZW5lcmF0ZUlwQWRkcmVzcxI6CgdpcF90eXBlGAEgASgOMiQubWdtdC52MWFscGhhMS5HZW5lcmF0ZUlwQWRkcmVzc1R5cGVIAIgBAUIKCghfaXBfdHlwZSIPCg1UcmFuc2Zvcm1VdWlkKocRChFUcmFuc2Zvcm1lclNvdXJjZRIiCh5UUkFOU0ZPUk1FUl9TT1VSQ0VfVU5TUEVDSUZJRUQQABIiCh5UUkFOU0ZPUk1FUl9TT1VSQ0VfUEFTU1RIUk9VR0gQARInCiNUUkFOU0ZPUk1FUl9TT1VSQ0VfR0VORVJBVEVfREVGQVVMVBACEisKJ1RSQU5TRk9STUVSX1NPVVJDRV9UUkFOU0ZPUk1fSkFWQVNDUklQVBADEiUKIVRSQU5TRk9STUVSX1NPVVJDRV9HRU5FUkFURV9FTUFJTBAEEiYKIlRSQU5TRk9STUVSX1NPVVJDRV9UUkFOU0ZPUk1fRU1BSUwQBRIkCiBUUkFOU0ZPUk1FUl9TT1VSQ0VfR0VORVJBVEVfQk9PTBAGEisKJ1RSQU5TRk9STUVSX1NPVVJDRV9HRU5FUkFURV9DQVJEX05VTUJFUhAHEiQKIFRSQU5TRk9STUVSX1NPVVJDRV9HRU5FUkFURV9DSVRZEAgSMQotVFJBTlNGT1JNRVJfU09VUkNFX0dFTkVSQVRFX0UxNjRfUEhPTkVfTlVNQkVSEAkSKgomVFJBTlNGT1JNRVJfU09VUkNFX0dFTkVSQVRFX0ZJUlNUX05BTUUQChInCiNUUkFOU0ZPUk1FUl9TT1VSQ0VfR0VORVJBVEVfRkxPQVQ2NBALEiwKKFRSQU5TRk9STUVSX1NPVVJDRV9HRU5FUkFURV9GVUxMX0FERFJFU1MQDBIpCiVUUkFOU0ZPUk1FUl9TT1VSQ0VfR0VORVJBVEVfRlVMTF9OQU1FEA0SJgoiVFJBTlNGT1JNRVJfU09VUkNFX0dFTkVSQVRFX0dFTkRFUhAOEjIKLlRSQU5TRk9STUVSX1NPVVJDRV9HRU5FUkFURV9JTlQ2NF9QSE9ORV9OVU1CRVIQDxIlCiFUUkFOU0ZPUk1FUl9TT1VSQ0VfR0VORVJBVEVfSU5UNjQQEBIsCihUUkFOU0ZPUk1FUl9TT1VSQ0VfR0VORVJBVEVfUkFORE9NX0lOVDY0EBESKQolVFJBTlNGT1JNRVJfU09VUkNFX0dFTkVSQVRFX0xBU1RfTkFNRRASEioKJlRSQU5TRk9STUVSX1NPVVJDRV9HRU5FUkFURV9TSEEyNTZIQVNIEBMSIwofVFJBTlNGT1JNRVJfU09VUkNFX0dFTkVSQVRFX1NTThAUEiUKIVRSQU5TRk9STUVSX1NPVVJDRV9HRU5FUkFURV9TVEFURRAVEi4KKlRSQU5TRk9STUVSX1NPVVJDRV9HRU5FUkFURV9TVFJFRVRfQUREUkVTUxAWEjMKL1RSQU5TRk9STUVSX1NPVVJDRV9HRU5FUkFURV9TVFJJTkdfUEhPTkVfTlVNQkVSEBcSJgoiVFJBTlNGT1JNRVJfU09VUkNFX0dFTkVSQVRFX1NUUklORxAYEi0KKVRSQU5TRk9STUVSX1NPVVJDRV9HRU5FUkFURV9SQU5ET01fU1RSSU5HEBkSLQopVFJBTlNGT1JNRVJfU09VUkNFX0dFTkVSQVRFX1VOSVhUSU1FU1RBTVAQGhIoCiRUUkFOU0ZPUk1FUl9TT1VSQ0VfR0VORVJBVEVfVVNFUk5BTUUQGxIsCihUUkFOU0ZPUk1FUl9TT1VSQ0VfR0VORVJBVEVfVVRDVElNRVNUQU1QEBwSJAogVFJBTlNGT1JNRVJfU09VUkNFX0dFTkVSQVRFX1VVSUQQHRInCiNUUkFOU0ZPUk1FUl9TT1VSQ0VfR0VORVJBVEVfWklQQ09ERRAeEjIKLlRSQU5TRk9STUVSX1NPVVJDRV9UUkFOU0ZPUk1fRTE2NF9QSE9ORV9OVU1CRVIQHxIrCidUUkFOU0ZPUk1FUl9TT1VSQ0VfVFJBTlNGT1JNX0ZJUlNUX05BTUUQIBIoCiRUUkFOU0ZPUk1FUl9TT1VSQ0VfVFJBTlNGT1JNX0ZMT0FUNjQQIRIqCiZUUkFOU0ZPUk1FUl9TT1VSQ0VfVFJBTlNGT1JNX0ZVTExfTkFNRRAiEjMKL1RSQU5TRk9STUVSX1NPVVJDRV9UUkFOU0ZPUk1fSU5UNjRfUEhPTkVfTlVNQkVSECMSJgoiVFJBTlNGT1JNRVJfU09VUkNFX1RSQU5TRk9STV9JTlQ2NBAkEioKJlRSQU5TRk9STUVSX1NPVVJDRV9UUkFOU0ZPUk1fTEFTVF9OQU1FECUSLQopVFJBTlNGT1JNRVJfU09VUkNFX1RSQU5TRk9STV9QSE9ORV9OVU1CRVIQJhInCiNUUkFOU0ZPUk1FUl9TT1VSQ0VfVFJBTlNGT1JNX1NUUklORxAnEiQKIFRSQU5TRk9STUVSX1NPVVJDRV9HRU5FUkFURV9OVUxMECgSKwonVFJBTlNGT1JNRVJfU09VUkNFX0dFTkVSQVRFX0NBVEVHT1JJQ0FMECoSMwovVFJBTlNGT1JNRVJfU09VUkNFX1RSQU5TRk9STV9DSEFSQUNURVJfU0NSQU1CTEUQKxIjCh9UUkFOU0ZPUk1FUl9TT1VSQ0VfVVNFUl9ERUZJTkVEECwSKgomVFJBTlNGT1JNRVJfU09VUkNFX0dFTkVSQVRFX0pBVkFTQ1JJUFQQLRInCiNUUkFOU0ZPUk1FUl9TT1VSQ0VfR0VORVJBVEVfQ09VTlRSWRAuEikKJVRSQU5TRk9STUVSX1NPVVJDRV9UUkFOU0ZPUk1fUElJX1RFWFQQLxItCilUUkFOU0ZPUk1FUl9TT1VSQ0VfR0VORVJBVEVfQlVTSU5FU1NfTkFNRRAwEioKJlRSQU5TRk9STUVSX1NPVVJDRV9HRU5FUkFURV9JUF9BRERSRVNTEDESJQohVFJBTlNGT1JNRVJfU09VUkNFX1RSQU5TRk9STV9VVUlEEDIqxAIKE1RyYW5zZm9ybWVyRGF0YVR5cGUSJQohVFJBTlNGT1JNRVJfREFUQV9UWVBFX1VOU1BFQ0lGSUVEEAASIAocVFJBTlNGT1JNRVJfREFUQV9UWVBFX1NUUklORxABEh8KG1RSQU5TRk9STUVSX0RBVEFfVFlQRV9JTlQ2NBACEiEKHVRSQU5TRk9STUVSX0RBVEFfVFlQRV9CT09MRUFOEAMSIQodVFJBTlNGT1JNRVJfREFUQV9UWVBFX0ZMT0FUNjQQBBIeChpUUkFOU0ZPUk1FUl9EQVRBX1RZUEVfTlVMTBAFEh0KGVRSQU5TRk9STUVSX0RBVEFfVFlQRV9BTlkQBhIeChpUUkFOU0ZPUk1FUl9EQVRBX1RZUEVfVElNRRAHEh4KGlRSQU5TRk9STUVSX0RBVEFfVFlQRV9VVUlEEAgqdAoQU3VwcG9ydGVkSm9iVHlwZRIiCh5TVVBQT1JURURfSk9CX1RZUEVfVU5TUEVDSUZJRUQQABIbChdTVVBQT1JURURfSk9CX1RZUEVfU1lOQxABEh8KG1NVUFBPUlRFRF9KT0JfVFlQRV9HRU5FUkFURRACKnsKEUdlbmVyYXRlRW1haWxUeXBlEiMKH0dFTkVSQVRFX0VNQUlMX1RZUEVfVU5TUEVDSUZJRUQQABIfChtHRU5FUkFURV9FTUFJTF9UWVBFX1VVSURfVjQQARIgChxHRU5FUkFURV9FTUFJTF9UWVBFX0ZVTExOQU1FEAIqwwEKEkludmFsaWRFbWFpbEFjdGlvbhIkCiBJTlZBTElEX0VNQUlMX0FDVElPTl9VTlNQRUNJRklFRBAAEh8KG0lOVkFMSURfRU1BSUxfQUNUSU9OX1JFSkVDVBABEh0KGUlOVkFMSURfRU1BSUxfQUNUSU9OX05VTEwQAhIkCiBJTlZBTElEX0VNQUlMX0FDVElPTl9QQVNTVEhST1VHSBADEiEKHUlOVkFMSURfRU1BSUxfQUNUSU9OX0dFTkVSQVRFEAQqjAMKFUdlbmVyYXRlSXBBZGRyZXNzVHlwZRIoCiRHRU5FUkFURV9JUF9BRERSRVNTX1RZUEVfVU5TUEVDSUZJRUQQABImCiJHRU5FUkFURV9JUF9BRERSRVNTX1RZUEVfVjRfUFVCTElDEAESKQolR0VORVJBVEVfSVBfQUREUkVTU19UWVBFX1Y0X1BSSVZBVEVfQRACEikKJUdFTkVSQVRFX0lQX0FERFJFU1NfVFlQRV9WNF9QUklWQVRFX0IQAxIpCiVHRU5FUkFURV9JUF9BRERSRVNTX1RZUEVfVjRfUFJJVkFURV9DEAQSKgomR0VORVJBVEVfSVBfQUREUkVTU19UWVBFX1Y0X0xJTktfTE9DQUwQBRIpCiVHRU5FUkFURV9JUF9BRERSRVNTX1RZUEVfVjRfTVVMVElDQVNUEAYSKAokR0VORVJBVEVfSVBfQUREUkVTU19UWVBFX1Y0X0xPT1BCQUNLEAcSHwobR0VORVJBVEVfSVBfQUREUkVTU19UWVBFX1Y2EAgy0QsKE1RyYW5zZm9ybWVyc1NlcnZpY2USdAoVR2V0U3lzdGVtVHJhbnNmb3JtZXJzEisubWdtdC52MWFscGhhMS5HZXRTeXN0ZW1UcmFuc2Zvcm1lcnNSZXF1ZXN0GiwubWdtdC52MWFscGhhMS5HZXRTeXN0ZW1UcmFuc2Zvcm1lcnNSZXNwb25zZSIAEokBChxHZXRTeXN0ZW1UcmFuc2Zvcm1lckJ5U291cmNlEjIubWdtdC52MWFscGhhMS5HZXRTeXN0ZW1UcmFuc2Zvcm1lckJ5U291cmNlUmVxdWVzdBozLm1nbXQudjFhbHBoYTEuR2V0U3lzdGVtVHJhbnNmb3JtZXJCeVNvdXJjZVJlc3BvbnNlIgASgwEKGkdldFVzZXJEZWZpbmVkVHJhbnNmb3JtZXJzEjAubWdtdC52MWFscGhhMS5HZXRVc2VyRGVmaW5lZFRyYW5zZm9ybWVyc1JlcXVlc3QaMS5tZ210LnYxYWxwaGExLkdldFVzZXJEZWZpbmVkVHJhbnNmb3JtZXJzUmVzcG9uc2UiABKMAQodR2V0VXNlckRlZmluZWRUcmFuc2Zvcm1lckJ5SWQSMy5tZ210LnYxYWxwaGExLkdldFVzZXJEZWZpbmVkVHJhbnNmb3JtZXJCeUlkUmVxdWVzdBo0Lm1nbXQudjFhbHBoYTEuR2V0VXNlckRlZmluZWRUcmFuc2Zvcm1lckJ5SWRSZXNwb25zZSIAEokBChxDcmVhdGVVc2VyRGVmaW5lZFRyYW5zZm9ybWVyEjIubWdtdC52MWFscGhhMS5DcmVhdGVVc2VyRGVmaW5lZFRyYW5zZm9ybWVyUmVxdWVzdBozLm1nbXQudjFhbHBoYTEuQ3JlYXRlVXNlckRlZmluZWRUcmFuc2Zvcm1lclJlc3BvbnNlIgASiQEKHERlbGV0ZVVzZXJEZWZpbmVkVHJhbnNmb3JtZXISMi5tZ210LnYxYWxwaGExLkRlbGV0ZVVzZXJEZWZpbmVkVHJhbnNmb3JtZXJSZXF1ZXN0GjMubWdtdC52MWFscGhhMS5EZWxldGVVc2VyRGVmaW5lZFRyYW5zZm9ybWVyUmVzcG9uc2UiABKJAQocVXBkYXRlVXNlckRlZmluZWRUcmFuc2Zvcm1lchIyLm1nbXQudjFhbHBoYTEuVXBkYXRlVXNlckRlZmluZWRUcmFuc2Zvcm1lclJlcXVlc3QaMy5tZ210LnYxYWxwaGExLlVwZGF0ZVVzZXJEZWZpbmVkVHJhbnNmb3JtZXJSZXNwb25zZSIAEoMBChpJc1RyYW5zZm9ybWVyTmFtZUF2YWlsYWJsZRIwLm1nbXQudjFhbHBoYTEuSXNUcmFuc2Zvcm1lck5hbWVBdmFpbGFibGVSZXF1ZXN0GjEubWdtdC52MWFscGhhMS5Jc1RyYW5zZm9ybWVyTmFtZUF2YWlsYWJsZVJlc3BvbnNlIgASgwEKGlZhbGlkYXRlVXNlckphdmFzY3JpcHRDb2RlEjAubWdtdC52MWFscGhhMS5WYWxpZGF0ZVVzZXJKYXZhc2NyaXB0Q29kZVJlcXVlc3QaMS5tZ210LnYxYWxwaGExLlZhbGlkYXRlVXNlckphdmFzY3JpcHRDb2RlUmVzcG9uc2UiABJ0ChVWYWxpZGF0ZVVzZXJSZWdleENvZGUSKy5tZ210LnYxYWxwaGExLlZhbGlkYXRlVXNlclJlZ2V4Q29kZVJlcXVlc3QaLC5tZ210LnYxYWxwaGExLlZhbGlkYXRlVXNlclJlZ2V4Q29kZVJlc3BvbnNlIgASfQoXR2V0VHJhbnNmb3JtUGlpRW50aXRpZXMSLS5tZ210LnYxYWxwaGExLkdldFRyYW5zZm9ybVBpaUVudGl0aWVzUmVxdWVzdBouLm1nbXQudjFhbHBoYTEuR2V0VHJhbnNmb3JtUGlpRW50aXRpZXNSZXNwb25zZSIDkAIBQswBChFjb20ubWdtdC52MWFscGhhMUIQVHJhbnNmb3JtZXJQcm90b1ABWlBnaXRodWIuY29tL251Y2xldXNjbG91ZC9uZW9zeW5jL2JhY2tlbmQvZ2VuL2dvL3Byb3Rvcy9tZ210L3YxYWxwaGExO21nbXR2MWFscGhhMaICA01YWKoCDU1nbXQuVjFhbHBoYTHKAg1NZ210XFYxYWxwaGEx4gIZTWdtdFxWMWFscGhhMVxHUEJNZXRhZGF0YeoCDk1nbXQ6OlYxYWxwaGExYgZwcm90bzM", [file_buf_validate_validate, file_google_protobuf_timestamp]); + fileDesc("Ch9tZ210L3YxYWxwaGExL3RyYW5zZm9ybWVyLnByb3RvEg1tZ210LnYxYWxwaGExIh4KHEdldFN5c3RlbVRyYW5zZm9ybWVyc1JlcXVlc3QiVwodR2V0U3lzdGVtVHJhbnNmb3JtZXJzUmVzcG9uc2USNgoMdHJhbnNmb3JtZXJzGAEgAygLMiAubWdtdC52MWFscGhhMS5TeXN0ZW1UcmFuc2Zvcm1lciJXCiNHZXRTeXN0ZW1UcmFuc2Zvcm1lckJ5U291cmNlUmVxdWVzdBIwCgZzb3VyY2UYASABKA4yIC5tZ210LnYxYWxwaGExLlRyYW5zZm9ybWVyU291cmNlIl0KJEdldFN5c3RlbVRyYW5zZm9ybWVyQnlTb3VyY2VSZXNwb25zZRI1Cgt0cmFuc2Zvcm1lchgBIAEoCzIgLm1nbXQudjFhbHBoYTEuU3lzdGVtVHJhbnNmb3JtZXIiQQohR2V0VXNlckRlZmluZWRUcmFuc2Zvcm1lcnNSZXF1ZXN0EhwKCmFjY291bnRfaWQYASABKAlCCLpIBXIDsAEBImEKIkdldFVzZXJEZWZpbmVkVHJhbnNmb3JtZXJzUmVzcG9uc2USOwoMdHJhbnNmb3JtZXJzGAEgAygLMiUubWdtdC52MWFscGhhMS5Vc2VyRGVmaW5lZFRyYW5zZm9ybWVyIkgKJEdldFVzZXJEZWZpbmVkVHJhbnNmb3JtZXJCeUlkUmVxdWVzdBIgCg50cmFuc2Zvcm1lcl9pZBgBIAEoCUIIukgFcgOwAQEiYwolR2V0VXNlckRlZmluZWRUcmFuc2Zvcm1lckJ5SWRSZXNwb25zZRI6Cgt0cmFuc2Zvcm1lchgBIAEoCzIlLm1nbXQudjFhbHBoYTEuVXNlckRlZmluZWRUcmFuc2Zvcm1lciL3AQojQ3JlYXRlVXNlckRlZmluZWRUcmFuc2Zvcm1lclJlcXVlc3QSHAoKYWNjb3VudF9pZBgBIAEoCUIIukgFcgOwAQESJwoEbmFtZRgCIAEoCUIZukgWchQyEl5bYS16MC05LV17MywxMDB9JBITCgtkZXNjcmlwdGlvbhgDIAEoCRIwCgZzb3VyY2UYBSABKA4yIC5tZ210LnYxYWxwaGExLlRyYW5zZm9ybWVyU291cmNlEjwKEnRyYW5zZm9ybWVyX2NvbmZpZxgGIAEoCzIgLm1nbXQudjFhbHBoYTEuVHJhbnNmb3JtZXJDb25maWdKBAgEEAUiYgokQ3JlYXRlVXNlckRlZmluZWRUcmFuc2Zvcm1lclJlc3BvbnNlEjoKC3RyYW5zZm9ybWVyGAEgASgLMiUubWdtdC52MWFscGhhMS5Vc2VyRGVmaW5lZFRyYW5zZm9ybWVyIkcKI0RlbGV0ZVVzZXJEZWZpbmVkVHJhbnNmb3JtZXJSZXF1ZXN0EiAKDnRyYW5zZm9ybWVyX2lkGAEgASgJQgi6SAVyA7ABASImCiREZWxldGVVc2VyRGVmaW5lZFRyYW5zZm9ybWVyUmVzcG9uc2UiwwEKI1VwZGF0ZVVzZXJEZWZpbmVkVHJhbnNmb3JtZXJSZXF1ZXN0EiAKDnRyYW5zZm9ybWVyX2lkGAEgASgJQgi6SAVyA7ABARInCgRuYW1lGAIgASgJQhm6SBZyFDISXlthLXowLTktXXszLDEwMH0kEhMKC2Rlc2NyaXB0aW9uGAMgASgJEjwKEnRyYW5zZm9ybWVyX2NvbmZpZxgEIAEoCzIgLm1nbXQudjFhbHBoYTEuVHJhbnNmb3JtZXJDb25maWciYgokVXBkYXRlVXNlckRlZmluZWRUcmFuc2Zvcm1lclJlc3BvbnNlEjoKC3RyYW5zZm9ybWVyGAEgASgLMiUubWdtdC52MWFscGhhMS5Vc2VyRGVmaW5lZFRyYW5zZm9ybWVyInYKIUlzVHJhbnNmb3JtZXJOYW1lQXZhaWxhYmxlUmVxdWVzdBIcCgphY2NvdW50X2lkGAEgASgJQgi6SAVyA7ABARIzChB0cmFuc2Zvcm1lcl9uYW1lGAIgASgJQhm6SBZyFDISXlthLXowLTktXXszLDEwMH0kIjoKIklzVHJhbnNmb3JtZXJOYW1lQXZhaWxhYmxlUmVzcG9uc2USFAoMaXNfYXZhaWxhYmxlGAEgASgIIqIDChZVc2VyRGVmaW5lZFRyYW5zZm9ybWVyEhQKAmlkGAEgASgJQgi6SAVyA7ABARIMCgRuYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEjkKCWRhdGFfdHlwZRgFIAEoDjIiLm1nbXQudjFhbHBoYTEuVHJhbnNmb3JtZXJEYXRhVHlwZUICGAESMAoGc291cmNlGAYgASgOMiAubWdtdC52MWFscGhhMS5UcmFuc2Zvcm1lclNvdXJjZRIwCgZjb25maWcYByABKAsyIC5tZ210LnYxYWxwaGExLlRyYW5zZm9ybWVyQ29uZmlnEi4KCmNyZWF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhIKCmFjY291bnRfaWQYCiABKAkSNgoKZGF0YV90eXBlcxgLIAMoDjIiLm1nbXQudjFhbHBoYTEuVHJhbnNmb3JtZXJEYXRhVHlwZUoECAQQBSLLAgoRU3lzdGVtVHJhbnNmb3JtZXISDAoEbmFtZRgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCRI5CglkYXRhX3R5cGUYAyABKA4yIi5tZ210LnYxYWxwaGExLlRyYW5zZm9ybWVyRGF0YVR5cGVCAhgBEjAKBnNvdXJjZRgEIAEoDjIgLm1nbXQudjFhbHBoYTEuVHJhbnNmb3JtZXJTb3VyY2USMAoGY29uZmlnGAUgASgLMiAubWdtdC52MWFscGhhMS5UcmFuc2Zvcm1lckNvbmZpZxI2CgpkYXRhX3R5cGVzGAYgAygOMiIubWdtdC52MWFscGhhMS5UcmFuc2Zvcm1lckRhdGFUeXBlEjwKE3N1cHBvcnRlZF9qb2JfdHlwZXMYByADKA4yHy5tZ210LnYxYWxwaGExLlN1cHBvcnRlZEpvYlR5cGUivRoKEVRyYW5zZm9ybWVyQ29uZmlnEj0KFWdlbmVyYXRlX2VtYWlsX2NvbmZpZxgBIAEoCzIcLm1nbXQudjFhbHBoYTEuR2VuZXJhdGVFbWFpbEgAEj8KFnRyYW5zZm9ybV9lbWFpbF9jb25maWcYAiABKAsyHS5tZ210LnYxYWxwaGExLlRyYW5zZm9ybUVtYWlsSAASOwoUZ2VuZXJhdGVfYm9vbF9jb25maWcYAyABKAsyGy5tZ210LnYxYWxwaGExLkdlbmVyYXRlQm9vbEgAEkgKG2dlbmVyYXRlX2NhcmRfbnVtYmVyX2NvbmZpZxgEIAEoCzIhLm1nbXQudjFhbHBoYTEuR2VuZXJhdGVDYXJkTnVtYmVySAASOwoUZ2VuZXJhdGVfY2l0eV9jb25maWcYBSABKAsyGy5tZ210LnYxYWxwaGExLkdlbmVyYXRlQ2l0eUgAElMKIWdlbmVyYXRlX2UxNjRfcGhvbmVfbnVtYmVyX2NvbmZpZxgGIAEoCzImLm1nbXQudjFhbHBoYTEuR2VuZXJhdGVFMTY0UGhvbmVOdW1iZXJIABJGChpnZW5lcmF0ZV9maXJzdF9uYW1lX2NvbmZpZxgHIAEoCzIgLm1nbXQudjFhbHBoYTEuR2VuZXJhdGVGaXJzdE5hbWVIABJBChdnZW5lcmF0ZV9mbG9hdDY0X2NvbmZpZxgIIAEoCzIeLm1nbXQudjFhbHBoYTEuR2VuZXJhdGVGbG9hdDY0SAASSgocZ2VuZXJhdGVfZnVsbF9hZGRyZXNzX2NvbmZpZxgJIAEoCzIiLm1nbXQudjFhbHBoYTEuR2VuZXJhdGVGdWxsQWRkcmVzc0gAEkQKGWdlbmVyYXRlX2Z1bGxfbmFtZV9jb25maWcYCiABKAsyHy5tZ210LnYxYWxwaGExLkdlbmVyYXRlRnVsbE5hbWVIABI/ChZnZW5lcmF0ZV9nZW5kZXJfY29uZmlnGAsgASgLMh0ubWdtdC52MWFscGhhMS5HZW5lcmF0ZUdlbmRlckgAElUKImdlbmVyYXRlX2ludDY0X3Bob25lX251bWJlcl9jb25maWcYDCABKAsyJy5tZ210LnYxYWxwaGExLkdlbmVyYXRlSW50NjRQaG9uZU51bWJlckgAEj0KFWdlbmVyYXRlX2ludDY0X2NvbmZpZxgNIAEoCzIcLm1nbXQudjFhbHBoYTEuR2VuZXJhdGVJbnQ2NEgAEkQKGWdlbmVyYXRlX2xhc3RfbmFtZV9jb25maWcYDiABKAsyHy5tZ210LnYxYWxwaGExLkdlbmVyYXRlTGFzdE5hbWVIABJHChpnZW5lcmF0ZV9zaGEyNTZoYXNoX2NvbmZpZxgPIAEoCzIhLm1nbXQudjFhbHBoYTEuR2VuZXJhdGVTaGEyNTZIYXNoSAASOQoTZ2VuZXJhdGVfc3NuX2NvbmZpZxgQIAEoCzIaLm1nbXQudjFhbHBoYTEuR2VuZXJhdGVTU05IABI9ChVnZW5lcmF0ZV9zdGF0ZV9jb25maWcYESABKAsyHC5tZ210LnYxYWxwaGExLkdlbmVyYXRlU3RhdGVIABJOCh5nZW5lcmF0ZV9zdHJlZXRfYWRkcmVzc19jb25maWcYEiABKAsyJC5tZ210LnYxYWxwaGExLkdlbmVyYXRlU3RyZWV0QWRkcmVzc0gAElcKI2dlbmVyYXRlX3N0cmluZ19waG9uZV9udW1iZXJfY29uZmlnGBMgASgLMigubWdtdC52MWFscGhhMS5HZW5lcmF0ZVN0cmluZ1Bob25lTnVtYmVySAASPwoWZ2VuZXJhdGVfc3RyaW5nX2NvbmZpZxgUIAEoCzIdLm1nbXQudjFhbHBoYTEuR2VuZXJhdGVTdHJpbmdIABJNCh1nZW5lcmF0ZV91bml4dGltZXN0YW1wX2NvbmZpZxgVIAEoCzIkLm1nbXQudjFhbHBoYTEuR2VuZXJhdGVVbml4VGltZXN0YW1wSAASQwoYZ2VuZXJhdGVfdXNlcm5hbWVfY29uZmlnGBYgASgLMh8ubWdtdC52MWFscGhhMS5HZW5lcmF0ZVVzZXJuYW1lSAASSwocZ2VuZXJhdGVfdXRjdGltZXN0YW1wX2NvbmZpZxgXIAEoCzIjLm1nbXQudjFhbHBoYTEuR2VuZXJhdGVVdGNUaW1lc3RhbXBIABI7ChRnZW5lcmF0ZV91dWlkX2NvbmZpZxgYIAEoCzIbLm1nbXQudjFhbHBoYTEuR2VuZXJhdGVVdWlkSAASQQoXZ2VuZXJhdGVfemlwY29kZV9jb25maWcYGSABKAsyHi5tZ210LnYxYWxwaGExLkdlbmVyYXRlWmlwY29kZUgAElUKInRyYW5zZm9ybV9lMTY0X3Bob25lX251bWJlcl9jb25maWcYGiABKAsyJy5tZ210LnYxYWxwaGExLlRyYW5zZm9ybUUxNjRQaG9uZU51bWJlckgAEkgKG3RyYW5zZm9ybV9maXJzdF9uYW1lX2NvbmZpZxgbIAEoCzIhLm1nbXQudjFhbHBoYTEuVHJhbnNmb3JtRmlyc3ROYW1lSAASQwoYdHJhbnNmb3JtX2Zsb2F0NjRfY29uZmlnGBwgASgLMh8ubWdtdC52MWFscGhhMS5UcmFuc2Zvcm1GbG9hdDY0SAASRgoadHJhbnNmb3JtX2Z1bGxfbmFtZV9jb25maWcYHSABKAsyIC5tZ210LnYxYWxwaGExLlRyYW5zZm9ybUZ1bGxOYW1lSAASVwojdHJhbnNmb3JtX2ludDY0X3Bob25lX251bWJlcl9jb25maWcYHiABKAsyKC5tZ210LnYxYWxwaGExLlRyYW5zZm9ybUludDY0UGhvbmVOdW1iZXJIABI/ChZ0cmFuc2Zvcm1faW50NjRfY29uZmlnGB8gASgLMh0ubWdtdC52MWFscGhhMS5UcmFuc2Zvcm1JbnQ2NEgAEkYKGnRyYW5zZm9ybV9sYXN0X25hbWVfY29uZmlnGCAgASgLMiAubWdtdC52MWFscGhhMS5UcmFuc2Zvcm1MYXN0TmFtZUgAEkwKHXRyYW5zZm9ybV9waG9uZV9udW1iZXJfY29uZmlnGCEgASgLMiMubWdtdC52MWFscGhhMS5UcmFuc2Zvcm1QaG9uZU51bWJlckgAEkEKF3RyYW5zZm9ybV9zdHJpbmdfY29uZmlnGCIgASgLMh4ubWdtdC52MWFscGhhMS5UcmFuc2Zvcm1TdHJpbmdIABI4ChJwYXNzdGhyb3VnaF9jb25maWcYIyABKAsyGi5tZ210LnYxYWxwaGExLlBhc3N0aHJvdWdoSAASKQoKbnVsbGNvbmZpZxgkIAEoCzITLm1nbXQudjFhbHBoYTEuTnVsbEgAElYKH3VzZXJfZGVmaW5lZF90cmFuc2Zvcm1lcl9jb25maWcYJSABKAsyKy5tZ210LnYxYWxwaGExLlVzZXJEZWZpbmVkVHJhbnNmb3JtZXJDb25maWdIABJBChdnZW5lcmF0ZV9kZWZhdWx0X2NvbmZpZxgmIAEoCzIeLm1nbXQudjFhbHBoYTEuR2VuZXJhdGVEZWZhdWx0SAASSQobdHJhbnNmb3JtX2phdmFzY3JpcHRfY29uZmlnGCcgASgLMiIubWdtdC52MWFscGhhMS5UcmFuc2Zvcm1KYXZhc2NyaXB0SAASSQobZ2VuZXJhdGVfY2F0ZWdvcmljYWxfY29uZmlnGCggASgLMiIubWdtdC52MWFscGhhMS5HZW5lcmF0ZUNhdGVnb3JpY2FsSAASWAojdHJhbnNmb3JtX2NoYXJhY3Rlcl9zY3JhbWJsZV9jb25maWcYKSABKAsyKS5tZ210LnYxYWxwaGExLlRyYW5zZm9ybUNoYXJhY3RlclNjcmFtYmxlSAASRwoaZ2VuZXJhdGVfamF2YXNjcmlwdF9jb25maWcYKiABKAsyIS5tZ210LnYxYWxwaGExLkdlbmVyYXRlSmF2YXNjcmlwdEgAEkEKF2dlbmVyYXRlX2NvdW50cnlfY29uZmlnGCsgASgLMh4ubWdtdC52MWFscGhhMS5HZW5lcmF0ZUNvdW50cnlIABJEChl0cmFuc2Zvcm1fcGlpX3RleHRfY29uZmlnGCwgASgLMh8ubWdtdC52MWFscGhhMS5UcmFuc2Zvcm1QaWlUZXh0SAASTAodZ2VuZXJhdGVfYnVzaW5lc3NfbmFtZV9jb25maWcYLSABKAsyIy5tZ210LnYxYWxwaGExLkdlbmVyYXRlQnVzaW5lc3NOYW1lSAASRgoaZ2VuZXJhdGVfaXBfYWRkcmVzc19jb25maWcYLiABKAsyIC5tZ210LnYxYWxwaGExLkdlbmVyYXRlSXBBZGRyZXNzSAASPQoVdHJhbnNmb3JtX3V1aWRfY29uZmlnGC8gASgLMhwubWdtdC52MWFscGhhMS5UcmFuc2Zvcm1VdWlkSABCDwoGY29uZmlnEgW6SAIIASLDAwoQVHJhbnNmb3JtUGlpVGV4dBIoCg9zY29yZV90aHJlc2hvbGQYASABKAJCD7pIDAoKHQAAgD8tAAAAABI4ChJkZWZhdWx0X2Fub255bWl6ZXIYAiABKAsyHC5tZ210LnYxYWxwaGExLlBpaUFub255bWl6ZXISOgoQZGVueV9yZWNvZ25pemVycxgDIAMoCzIgLm1nbXQudjFhbHBoYTEuUGlpRGVueVJlY29nbml6ZXISJgoQYWxsb3dlZF9lbnRpdGllcxgEIAMoCUIMukgJkgEGIgRyAhABEhcKD2FsbG93ZWRfcGhyYXNlcxgFIAMoCRIVCghsYW5ndWFnZRgGIAEoCUgAiAEBElIKEmVudGl0eV9hbm9ueW1pemVycxgHIAMoCzI2Lm1nbXQudjFhbHBoYTEuVHJhbnNmb3JtUGlpVGV4dC5FbnRpdHlBbm9ueW1pemVyc0VudHJ5GlYKFkVudGl0eUFub255bWl6ZXJzRW50cnkSCwoDa2V5GAEgASgJEisKBXZhbHVlGAIgASgLMhwubWdtdC52MWFscGhhMS5QaWlBbm9ueW1pemVyOgI4AUILCglfbGFuZ3VhZ2UiXwoRUGlpRGVueVJlY29nbml6ZXISKAoEbmFtZRgBIAEoCUIaukgXchUyE15bYS16MC05LV9dezEsMTAwfSQSIAoKZGVueV93b3JkcxgCIAMoCUIMukgJkgEGIgRyAhABItwFCg1QaWlBbm9ueW1pemVyEjcKB3JlcGxhY2UYASABKAsyJC5tZ210LnYxYWxwaGExLlBpaUFub255bWl6ZXIuUmVwbGFjZUgAEjUKBnJlZGFjdBgCIAEoCzIjLm1nbXQudjFhbHBoYTEuUGlpQW5vbnltaXplci5SZWRhY3RIABIxCgRtYXNrGAMgASgLMiEubWdtdC52MWFscGhhMS5QaWlBbm9ueW1pemVyLk1hc2tIABIxCgRoYXNoGAQgASgLMiEubWdtdC52MWFscGhhMS5QaWlBbm9ueW1pemVyLkhhc2hIABI7Cgl0cmFuc2Zvcm0YBSABKAsyJi5tZ210LnYxYWxwaGExLlBpaUFub255bWl6ZXIuVHJhbnNmb3JtSAAaJwoHUmVwbGFjZRISCgV2YWx1ZRgBIAEoCUgAiAEBQggKBl92YWx1ZRoICgZSZWRhY3QahAEKBE1hc2sSGQoMbWFza2luZ19jaGFyGAEgASgJSACIAQESGgoNY2hhcnNfdG9fbWFzaxgCIAEoBUgBiAEBEhUKCGZyb21fZW5kGAMgASgISAKIAQFCDwoNX21hc2tpbmdfY2hhckIQCg5fY2hhcnNfdG9fbWFza0ILCglfZnJvbV9lbmQatAEKBEhhc2gSPQoEYWxnbxgBIAEoDjIqLm1nbXQudjFhbHBoYTEuUGlpQW5vbnltaXplci5IYXNoLkhhc2hUeXBlSACIAQEiZAoISGFzaFR5cGUSGQoVSEFTSF9UWVBFX1VOU1BFQ0lGSUVEEAASEQoNSEFTSF9UWVBFX01ENRABEhQKEEhBU0hfVFlQRV9TSEEyNTYQAhIUChBIQVNIX1RZUEVfU0hBNTEyEANCBwoFX2FsZ28aPQoJVHJhbnNmb3JtEjAKBmNvbmZpZxgBIAEoCzIgLm1nbXQudjFhbHBoYTEuVHJhbnNmb3JtZXJDb25maWdCCAoGY29uZmlnIlkKDUdlbmVyYXRlRW1haWwSOQoKZW1haWxfdHlwZRgBIAEoDjIgLm1nbXQudjFhbHBoYTEuR2VuZXJhdGVFbWFpbFR5cGVIAIgBAUINCgtfZW1haWxfdHlwZSK3AgoOVHJhbnNmb3JtRW1haWwSHAoPcHJlc2VydmVfZG9tYWluGAEgASgISACIAQESHAoPcHJlc2VydmVfbGVuZ3RoGAIgASgISAGIAQESGAoQZXhjbHVkZWRfZG9tYWlucxgDIAMoCRI5CgplbWFpbF90eXBlGAQgASgOMiAubWdtdC52MWFscGhhMS5HZW5lcmF0ZUVtYWlsVHlwZUgCiAEBEkQKFGludmFsaWRfZW1haWxfYWN0aW9uGAUgASgOMiEubWdtdC52MWFscGhhMS5JbnZhbGlkRW1haWxBY3Rpb25IA4gBAUISChBfcHJlc2VydmVfZG9tYWluQhIKEF9wcmVzZXJ2ZV9sZW5ndGhCDQoLX2VtYWlsX3R5cGVCFwoVX2ludmFsaWRfZW1haWxfYWN0aW9uIg4KDEdlbmVyYXRlQm9vbCI8ChJHZW5lcmF0ZUNhcmROdW1iZXISFwoKdmFsaWRfbHVobhgBIAEoCEgAiAEBQg0KC192YWxpZF9sdWhuIg4KDEdlbmVyYXRlQ2l0eSIRCg9HZW5lcmF0ZURlZmF1bHQiTQoXR2VuZXJhdGVFMTY0UGhvbmVOdW1iZXISEAoDbWluGAEgASgDSACIAQESEAoDbWF4GAIgASgDSAGIAQFCBgoEX21pbkIGCgRfbWF4IhMKEUdlbmVyYXRlRmlyc3ROYW1lIpsBCg9HZW5lcmF0ZUZsb2F0NjQSGwoOcmFuZG9taXplX3NpZ24YASABKAhIAIgBARIQCgNtaW4YAiABKAFIAYgBARIQCgNtYXgYAyABKAFIAogBARIWCglwcmVjaXNpb24YBCABKANIA4gBAUIRCg9fcmFuZG9taXplX3NpZ25CBgoEX21pbkIGCgRfbWF4QgwKCl9wcmVjaXNpb24iFQoTR2VuZXJhdGVGdWxsQWRkcmVzcyISChBHZW5lcmF0ZUZ1bGxOYW1lIjgKDkdlbmVyYXRlR2VuZGVyEhcKCmFiYnJldmlhdGUYASABKAhIAIgBAUINCgtfYWJicmV2aWF0ZSIaChhHZW5lcmF0ZUludDY0UGhvbmVOdW1iZXIicwoNR2VuZXJhdGVJbnQ2NBIbCg5yYW5kb21pemVfc2lnbhgBIAEoCEgAiAEBEhAKA21pbhgCIAEoA0gBiAEBEhAKA21heBgDIAEoA0gCiAEBQhEKD19yYW5kb21pemVfc2lnbkIGCgRfbWluQgYKBF9tYXgiEgoQR2VuZXJhdGVMYXN0TmFtZSIUChJHZW5lcmF0ZVNoYTI1Nkhhc2giDQoLR2VuZXJhdGVTU04iRwoNR2VuZXJhdGVTdGF0ZRIfChJnZW5lcmF0ZV9mdWxsX25hbWUYASABKAhIAIgBAUIVChNfZ2VuZXJhdGVfZnVsbF9uYW1lIhcKFUdlbmVyYXRlU3RyZWV0QWRkcmVzcyJVChlHZW5lcmF0ZVN0cmluZ1Bob25lTnVtYmVyEhAKA21pbhgCIAEoA0gAiAEBEhAKA21heBgDIAEoA0gBiAEBQgYKBF9taW5CBgoEX21heEoECAEQAiJECg5HZW5lcmF0ZVN0cmluZxIQCgNtaW4YASABKANIAIgBARIQCgNtYXgYAiABKANIAYgBAUIGCgRfbWluQgYKBF9tYXgiFwoVR2VuZXJhdGVVbml4VGltZXN0YW1wIhIKEEdlbmVyYXRlVXNlcm5hbWUiFgoUR2VuZXJhdGVVdGNUaW1lc3RhbXAiQAoMR2VuZXJhdGVVdWlkEhwKD2luY2x1ZGVfaHlwaGVucxgBIAEoCEgAiAEBQhIKEF9pbmNsdWRlX2h5cGhlbnMiEQoPR2VuZXJhdGVaaXBjb2RlIkwKGFRyYW5zZm9ybUUxNjRQaG9uZU51bWJlchIcCg9wcmVzZXJ2ZV9sZW5ndGgYASABKAhIAIgBAUISChBfcHJlc2VydmVfbGVuZ3RoIkYKElRyYW5zZm9ybUZpcnN0TmFtZRIcCg9wcmVzZXJ2ZV9sZW5ndGgYASABKAhIAIgBAUISChBfcHJlc2VydmVfbGVuZ3RoIpYBChBUcmFuc2Zvcm1GbG9hdDY0EiQKF3JhbmRvbWl6YXRpb25fcmFuZ2VfbWluGAEgASgBSACIAQESJAoXcmFuZG9taXphdGlvbl9yYW5nZV9tYXgYAiABKAFIAYgBAUIaChhfcmFuZG9taXphdGlvbl9yYW5nZV9taW5CGgoYX3JhbmRvbWl6YXRpb25fcmFuZ2VfbWF4IkUKEVRyYW5zZm9ybUZ1bGxOYW1lEhwKD3ByZXNlcnZlX2xlbmd0aBgBIAEoCEgAiAEBQhIKEF9wcmVzZXJ2ZV9sZW5ndGgiTQoZVHJhbnNmb3JtSW50NjRQaG9uZU51bWJlchIcCg9wcmVzZXJ2ZV9sZW5ndGgYASABKAhIAIgBAUISChBfcHJlc2VydmVfbGVuZ3RoIpQBCg5UcmFuc2Zvcm1JbnQ2NBIkChdyYW5kb21pemF0aW9uX3JhbmdlX21pbhgBIAEoA0gAiAEBEiQKF3JhbmRvbWl6YXRpb25fcmFuZ2VfbWF4GAIgASgDSAGIAQFCGgoYX3JhbmRvbWl6YXRpb25fcmFuZ2VfbWluQhoKGF9yYW5kb21pemF0aW9uX3JhbmdlX21heCJFChFUcmFuc2Zvcm1MYXN0TmFtZRIcCg9wcmVzZXJ2ZV9sZW5ndGgYASABKAhIAIgBAUISChBfcHJlc2VydmVfbGVuZ3RoIkgKFFRyYW5zZm9ybVBob25lTnVtYmVyEhwKD3ByZXNlcnZlX2xlbmd0aBgBIAEoCEgAiAEBQhIKEF9wcmVzZXJ2ZV9sZW5ndGgiQwoPVHJhbnNmb3JtU3RyaW5nEhwKD3ByZXNlcnZlX2xlbmd0aBgBIAEoCEgAiAEBQhIKEF9wcmVzZXJ2ZV9sZW5ndGgiDQoLUGFzc3Rocm91Z2giBgoETnVsbCIjChNUcmFuc2Zvcm1KYXZhc2NyaXB0EgwKBGNvZGUYASABKAkiNAocVXNlckRlZmluZWRUcmFuc2Zvcm1lckNvbmZpZxIUCgJpZBgBIAEoCUIIukgFcgOwAQEiQAohVmFsaWRhdGVVc2VySmF2YXNjcmlwdENvZGVSZXF1ZXN0EhUKBGNvZGUYAiABKAlCB7pIBHICEAFKBAgBEAIiMwoiVmFsaWRhdGVVc2VySmF2YXNjcmlwdENvZGVSZXNwb25zZRINCgV2YWxpZBgBIAEoCCI9ChNHZW5lcmF0ZUNhdGVnb3JpY2FsEhcKCmNhdGVnb3JpZXMYASABKAlIAIgBAUINCgtfY2F0ZWdvcmllcyJWChpUcmFuc2Zvcm1DaGFyYWN0ZXJTY3JhbWJsZRIgChN1c2VyX3Byb3ZpZGVkX3JlZ2V4GAEgASgJSACIAQFCFgoUX3VzZXJfcHJvdmlkZWRfcmVnZXgiIgoSR2VuZXJhdGVKYXZhc2NyaXB0EgwKBGNvZGUYASABKAkiQQocVmFsaWRhdGVVc2VyUmVnZXhDb2RlUmVxdWVzdBIbChN1c2VyX3Byb3ZpZGVkX3JlZ2V4GAIgASgJSgQIARACIi4KHVZhbGlkYXRlVXNlclJlZ2V4Q29kZVJlc3BvbnNlEg0KBXZhbGlkGAEgASgIIkkKD0dlbmVyYXRlQ291bnRyeRIfChJnZW5lcmF0ZV9mdWxsX25hbWUYASABKAhIAIgBAUIVChNfZ2VuZXJhdGVfZnVsbF9uYW1lIj4KHkdldFRyYW5zZm9ybVBpaUVudGl0aWVzUmVxdWVzdBIcCgphY2NvdW50X2lkGAEgASgJQgi6SAVyA7ABASIzCh9HZXRUcmFuc2Zvcm1QaWlFbnRpdGllc1Jlc3BvbnNlEhAKCGVudGl0aWVzGAEgAygJIhYKFEdlbmVyYXRlQnVzaW5lc3NOYW1lIlsKEUdlbmVyYXRlSXBBZGRyZXNzEjoKB2lwX3R5cGUYASABKA4yJC5tZ210LnYxYWxwaGExLkdlbmVyYXRlSXBBZGRyZXNzVHlwZUgAiAEBQgoKCF9pcF90eXBlIg8KDVRyYW5zZm9ybVV1aWQqhxEKEVRyYW5zZm9ybWVyU291cmNlEiIKHlRSQU5TRk9STUVSX1NPVVJDRV9VTlNQRUNJRklFRBAAEiIKHlRSQU5TRk9STUVSX1NPVVJDRV9QQVNTVEhST1VHSBABEicKI1RSQU5TRk9STUVSX1NPVVJDRV9HRU5FUkFURV9ERUZBVUxUEAISKwonVFJBTlNGT1JNRVJfU09VUkNFX1RSQU5TRk9STV9KQVZBU0NSSVBUEAMSJQohVFJBTlNGT1JNRVJfU09VUkNFX0dFTkVSQVRFX0VNQUlMEAQSJgoiVFJBTlNGT1JNRVJfU09VUkNFX1RSQU5TRk9STV9FTUFJTBAFEiQKIFRSQU5TRk9STUVSX1NPVVJDRV9HRU5FUkFURV9CT09MEAYSKwonVFJBTlNGT1JNRVJfU09VUkNFX0dFTkVSQVRFX0NBUkRfTlVNQkVSEAcSJAogVFJBTlNGT1JNRVJfU09VUkNFX0dFTkVSQVRFX0NJVFkQCBIxCi1UUkFOU0ZPUk1FUl9TT1VSQ0VfR0VORVJBVEVfRTE2NF9QSE9ORV9OVU1CRVIQCRIqCiZUUkFOU0ZPUk1FUl9TT1VSQ0VfR0VORVJBVEVfRklSU1RfTkFNRRAKEicKI1RSQU5TRk9STUVSX1NPVVJDRV9HRU5FUkFURV9GTE9BVDY0EAsSLAooVFJBTlNGT1JNRVJfU09VUkNFX0dFTkVSQVRFX0ZVTExfQUREUkVTUxAMEikKJVRSQU5TRk9STUVSX1NPVVJDRV9HRU5FUkFURV9GVUxMX05BTUUQDRImCiJUUkFOU0ZPUk1FUl9TT1VSQ0VfR0VORVJBVEVfR0VOREVSEA4SMgouVFJBTlNGT1JNRVJfU09VUkNFX0dFTkVSQVRFX0lOVDY0X1BIT05FX05VTUJFUhAPEiUKIVRSQU5TRk9STUVSX1NPVVJDRV9HRU5FUkFURV9JTlQ2NBAQEiwKKFRSQU5TRk9STUVSX1NPVVJDRV9HRU5FUkFURV9SQU5ET01fSU5UNjQQERIpCiVUUkFOU0ZPUk1FUl9TT1VSQ0VfR0VORVJBVEVfTEFTVF9OQU1FEBISKgomVFJBTlNGT1JNRVJfU09VUkNFX0dFTkVSQVRFX1NIQTI1NkhBU0gQExIjCh9UUkFOU0ZPUk1FUl9TT1VSQ0VfR0VORVJBVEVfU1NOEBQSJQohVFJBTlNGT1JNRVJfU09VUkNFX0dFTkVSQVRFX1NUQVRFEBUSLgoqVFJBTlNGT1JNRVJfU09VUkNFX0dFTkVSQVRFX1NUUkVFVF9BRERSRVNTEBYSMwovVFJBTlNGT1JNRVJfU09VUkNFX0dFTkVSQVRFX1NUUklOR19QSE9ORV9OVU1CRVIQFxImCiJUUkFOU0ZPUk1FUl9TT1VSQ0VfR0VORVJBVEVfU1RSSU5HEBgSLQopVFJBTlNGT1JNRVJfU09VUkNFX0dFTkVSQVRFX1JBTkRPTV9TVFJJTkcQGRItCilUUkFOU0ZPUk1FUl9TT1VSQ0VfR0VORVJBVEVfVU5JWFRJTUVTVEFNUBAaEigKJFRSQU5TRk9STUVSX1NPVVJDRV9HRU5FUkFURV9VU0VSTkFNRRAbEiwKKFRSQU5TRk9STUVSX1NPVVJDRV9HRU5FUkFURV9VVENUSU1FU1RBTVAQHBIkCiBUUkFOU0ZPUk1FUl9TT1VSQ0VfR0VORVJBVEVfVVVJRBAdEicKI1RSQU5TRk9STUVSX1NPVVJDRV9HRU5FUkFURV9aSVBDT0RFEB4SMgouVFJBTlNGT1JNRVJfU09VUkNFX1RSQU5TRk9STV9FMTY0X1BIT05FX05VTUJFUhAfEisKJ1RSQU5TRk9STUVSX1NPVVJDRV9UUkFOU0ZPUk1fRklSU1RfTkFNRRAgEigKJFRSQU5TRk9STUVSX1NPVVJDRV9UUkFOU0ZPUk1fRkxPQVQ2NBAhEioKJlRSQU5TRk9STUVSX1NPVVJDRV9UUkFOU0ZPUk1fRlVMTF9OQU1FECISMwovVFJBTlNGT1JNRVJfU09VUkNFX1RSQU5TRk9STV9JTlQ2NF9QSE9ORV9OVU1CRVIQIxImCiJUUkFOU0ZPUk1FUl9TT1VSQ0VfVFJBTlNGT1JNX0lOVDY0ECQSKgomVFJBTlNGT1JNRVJfU09VUkNFX1RSQU5TRk9STV9MQVNUX05BTUUQJRItCilUUkFOU0ZPUk1FUl9TT1VSQ0VfVFJBTlNGT1JNX1BIT05FX05VTUJFUhAmEicKI1RSQU5TRk9STUVSX1NPVVJDRV9UUkFOU0ZPUk1fU1RSSU5HECcSJAogVFJBTlNGT1JNRVJfU09VUkNFX0dFTkVSQVRFX05VTEwQKBIrCidUUkFOU0ZPUk1FUl9TT1VSQ0VfR0VORVJBVEVfQ0FURUdPUklDQUwQKhIzCi9UUkFOU0ZPUk1FUl9TT1VSQ0VfVFJBTlNGT1JNX0NIQVJBQ1RFUl9TQ1JBTUJMRRArEiMKH1RSQU5TRk9STUVSX1NPVVJDRV9VU0VSX0RFRklORUQQLBIqCiZUUkFOU0ZPUk1FUl9TT1VSQ0VfR0VORVJBVEVfSkFWQVNDUklQVBAtEicKI1RSQU5TRk9STUVSX1NPVVJDRV9HRU5FUkFURV9DT1VOVFJZEC4SKQolVFJBTlNGT1JNRVJfU09VUkNFX1RSQU5TRk9STV9QSUlfVEVYVBAvEi0KKVRSQU5TRk9STUVSX1NPVVJDRV9HRU5FUkFURV9CVVNJTkVTU19OQU1FEDASKgomVFJBTlNGT1JNRVJfU09VUkNFX0dFTkVSQVRFX0lQX0FERFJFU1MQMRIlCiFUUkFOU0ZPUk1FUl9TT1VSQ0VfVFJBTlNGT1JNX1VVSUQQMirEAgoTVHJhbnNmb3JtZXJEYXRhVHlwZRIlCiFUUkFOU0ZPUk1FUl9EQVRBX1RZUEVfVU5TUEVDSUZJRUQQABIgChxUUkFOU0ZPUk1FUl9EQVRBX1RZUEVfU1RSSU5HEAESHwobVFJBTlNGT1JNRVJfREFUQV9UWVBFX0lOVDY0EAISIQodVFJBTlNGT1JNRVJfREFUQV9UWVBFX0JPT0xFQU4QAxIhCh1UUkFOU0ZPUk1FUl9EQVRBX1RZUEVfRkxPQVQ2NBAEEh4KGlRSQU5TRk9STUVSX0RBVEFfVFlQRV9OVUxMEAUSHQoZVFJBTlNGT1JNRVJfREFUQV9UWVBFX0FOWRAGEh4KGlRSQU5TRk9STUVSX0RBVEFfVFlQRV9USU1FEAcSHgoaVFJBTlNGT1JNRVJfREFUQV9UWVBFX1VVSUQQCCp0ChBTdXBwb3J0ZWRKb2JUeXBlEiIKHlNVUFBPUlRFRF9KT0JfVFlQRV9VTlNQRUNJRklFRBAAEhsKF1NVUFBPUlRFRF9KT0JfVFlQRV9TWU5DEAESHwobU1VQUE9SVEVEX0pPQl9UWVBFX0dFTkVSQVRFEAIqewoRR2VuZXJhdGVFbWFpbFR5cGUSIwofR0VORVJBVEVfRU1BSUxfVFlQRV9VTlNQRUNJRklFRBAAEh8KG0dFTkVSQVRFX0VNQUlMX1RZUEVfVVVJRF9WNBABEiAKHEdFTkVSQVRFX0VNQUlMX1RZUEVfRlVMTE5BTUUQAirDAQoSSW52YWxpZEVtYWlsQWN0aW9uEiQKIElOVkFMSURfRU1BSUxfQUNUSU9OX1VOU1BFQ0lGSUVEEAASHwobSU5WQUxJRF9FTUFJTF9BQ1RJT05fUkVKRUNUEAESHQoZSU5WQUxJRF9FTUFJTF9BQ1RJT05fTlVMTBACEiQKIElOVkFMSURfRU1BSUxfQUNUSU9OX1BBU1NUSFJPVUdIEAMSIQodSU5WQUxJRF9FTUFJTF9BQ1RJT05fR0VORVJBVEUQBCqMAwoVR2VuZXJhdGVJcEFkZHJlc3NUeXBlEigKJEdFTkVSQVRFX0lQX0FERFJFU1NfVFlQRV9VTlNQRUNJRklFRBAAEiYKIkdFTkVSQVRFX0lQX0FERFJFU1NfVFlQRV9WNF9QVUJMSUMQARIpCiVHRU5FUkFURV9JUF9BRERSRVNTX1RZUEVfVjRfUFJJVkFURV9BEAISKQolR0VORVJBVEVfSVBfQUREUkVTU19UWVBFX1Y0X1BSSVZBVEVfQhADEikKJUdFTkVSQVRFX0lQX0FERFJFU1NfVFlQRV9WNF9QUklWQVRFX0MQBBIqCiZHRU5FUkFURV9JUF9BRERSRVNTX1RZUEVfVjRfTElOS19MT0NBTBAFEikKJUdFTkVSQVRFX0lQX0FERFJFU1NfVFlQRV9WNF9NVUxUSUNBU1QQBhIoCiRHRU5FUkFURV9JUF9BRERSRVNTX1RZUEVfVjRfTE9PUEJBQ0sQBxIfChtHRU5FUkFURV9JUF9BRERSRVNTX1RZUEVfVjYQCDLdCwoTVHJhbnNmb3JtZXJzU2VydmljZRJ3ChVHZXRTeXN0ZW1UcmFuc2Zvcm1lcnMSKy5tZ210LnYxYWxwaGExLkdldFN5c3RlbVRyYW5zZm9ybWVyc1JlcXVlc3QaLC5tZ210LnYxYWxwaGExLkdldFN5c3RlbVRyYW5zZm9ybWVyc1Jlc3BvbnNlIgOQAgESjAEKHEdldFN5c3RlbVRyYW5zZm9ybWVyQnlTb3VyY2USMi5tZ210LnYxYWxwaGExLkdldFN5c3RlbVRyYW5zZm9ybWVyQnlTb3VyY2VSZXF1ZXN0GjMubWdtdC52MWFscGhhMS5HZXRTeXN0ZW1UcmFuc2Zvcm1lckJ5U291cmNlUmVzcG9uc2UiA5ACARKGAQoaR2V0VXNlckRlZmluZWRUcmFuc2Zvcm1lcnMSMC5tZ210LnYxYWxwaGExLkdldFVzZXJEZWZpbmVkVHJhbnNmb3JtZXJzUmVxdWVzdBoxLm1nbXQudjFhbHBoYTEuR2V0VXNlckRlZmluZWRUcmFuc2Zvcm1lcnNSZXNwb25zZSIDkAIBEo8BCh1HZXRVc2VyRGVmaW5lZFRyYW5zZm9ybWVyQnlJZBIzLm1nbXQudjFhbHBoYTEuR2V0VXNlckRlZmluZWRUcmFuc2Zvcm1lckJ5SWRSZXF1ZXN0GjQubWdtdC52MWFscGhhMS5HZXRVc2VyRGVmaW5lZFRyYW5zZm9ybWVyQnlJZFJlc3BvbnNlIgOQAgESiQEKHENyZWF0ZVVzZXJEZWZpbmVkVHJhbnNmb3JtZXISMi5tZ210LnYxYWxwaGExLkNyZWF0ZVVzZXJEZWZpbmVkVHJhbnNmb3JtZXJSZXF1ZXN0GjMubWdtdC52MWFscGhhMS5DcmVhdGVVc2VyRGVmaW5lZFRyYW5zZm9ybWVyUmVzcG9uc2UiABKJAQocRGVsZXRlVXNlckRlZmluZWRUcmFuc2Zvcm1lchIyLm1nbXQudjFhbHBoYTEuRGVsZXRlVXNlckRlZmluZWRUcmFuc2Zvcm1lclJlcXVlc3QaMy5tZ210LnYxYWxwaGExLkRlbGV0ZVVzZXJEZWZpbmVkVHJhbnNmb3JtZXJSZXNwb25zZSIAEokBChxVcGRhdGVVc2VyRGVmaW5lZFRyYW5zZm9ybWVyEjIubWdtdC52MWFscGhhMS5VcGRhdGVVc2VyRGVmaW5lZFRyYW5zZm9ybWVyUmVxdWVzdBozLm1nbXQudjFhbHBoYTEuVXBkYXRlVXNlckRlZmluZWRUcmFuc2Zvcm1lclJlc3BvbnNlIgASgwEKGklzVHJhbnNmb3JtZXJOYW1lQXZhaWxhYmxlEjAubWdtdC52MWFscGhhMS5Jc1RyYW5zZm9ybWVyTmFtZUF2YWlsYWJsZVJlcXVlc3QaMS5tZ210LnYxYWxwaGExLklzVHJhbnNmb3JtZXJOYW1lQXZhaWxhYmxlUmVzcG9uc2UiABKDAQoaVmFsaWRhdGVVc2VySmF2YXNjcmlwdENvZGUSMC5tZ210LnYxYWxwaGExLlZhbGlkYXRlVXNlckphdmFzY3JpcHRDb2RlUmVxdWVzdBoxLm1nbXQudjFhbHBoYTEuVmFsaWRhdGVVc2VySmF2YXNjcmlwdENvZGVSZXNwb25zZSIAEnQKFVZhbGlkYXRlVXNlclJlZ2V4Q29kZRIrLm1nbXQudjFhbHBoYTEuVmFsaWRhdGVVc2VyUmVnZXhDb2RlUmVxdWVzdBosLm1nbXQudjFhbHBoYTEuVmFsaWRhdGVVc2VyUmVnZXhDb2RlUmVzcG9uc2UiABJ9ChdHZXRUcmFuc2Zvcm1QaWlFbnRpdGllcxItLm1nbXQudjFhbHBoYTEuR2V0VHJhbnNmb3JtUGlpRW50aXRpZXNSZXF1ZXN0Gi4ubWdtdC52MWFscGhhMS5HZXRUcmFuc2Zvcm1QaWlFbnRpdGllc1Jlc3BvbnNlIgOQAgFCzAEKEWNvbS5tZ210LnYxYWxwaGExQhBUcmFuc2Zvcm1lclByb3RvUAFaUGdpdGh1Yi5jb20vbnVjbGV1c2Nsb3VkL25lb3N5bmMvYmFja2VuZC9nZW4vZ28vcHJvdG9zL21nbXQvdjFhbHBoYTE7bWdtdHYxYWxwaGExogIDTVhYqgINTWdtdC5WMWFscGhhMcoCDU1nbXRcVjFhbHBoYTHiAhlNZ210XFYxYWxwaGExXEdQQk1ldGFkYXRh6gIOTWdtdDo6VjFhbHBoYTFiBnByb3RvMw", [file_buf_validate_validate, file_google_protobuf_timestamp]); /** * @generated from message mgmt.v1alpha1.GetSystemTransformersRequest @@ -50,6 +50,8 @@ export const GetSystemTransformersResponseSchema: GenMessage & { /** + * The source of the transformer to retrieve. + * * @generated from field: mgmt.v1alpha1.TransformerSource source = 1; */ source: TransformerSource; @@ -84,6 +86,8 @@ export const GetSystemTransformerBySourceResponseSchema: GenMessage & { /** + * The unique identifier of the account to get the user defined transformers for. + * * @generated from field: string account_id = 1; */ accountId: string; @@ -118,6 +122,8 @@ export const GetUserDefinedTransformersResponseSchema: GenMessage & { /** + * The unique identifier of the user defined transformer to get. + * * @generated from field: string transformer_id = 1; */ transformerId: string; @@ -152,26 +158,36 @@ export const GetUserDefinedTransformerByIdResponseSchema: GenMessage & { /** + * The unique identifier of the account to create the user defined transformer for. + * * @generated from field: string account_id = 1; */ accountId: string; /** + * The name of the user defined transformer. + * * @generated from field: string name = 2; */ name: string; /** + * The description of the user defined transformer. + * * @generated from field: string description = 3; */ description: string; /** + * The source of the user defined transformer. + * * @generated from field: mgmt.v1alpha1.TransformerSource source = 5; */ source: TransformerSource; /** + * The configuration of the user defined transformer. + * * @generated from field: mgmt.v1alpha1.TransformerConfig transformer_config = 6; */ transformerConfig?: TransformerConfig; @@ -206,6 +222,8 @@ export const CreateUserDefinedTransformerResponseSchema: GenMessage & { /** + * The unique identifier of the user defined transformer to delete. + * * @generated from field: string transformer_id = 1; */ transformerId: string; @@ -236,21 +254,29 @@ export const DeleteUserDefinedTransformerResponseSchema: GenMessage & { /** + * The unique identifier of the user defined transformer to update. + * * @generated from field: string transformer_id = 1; */ transformerId: string; /** + * The name of the user defined transformer. + * * @generated from field: string name = 2; */ name: string; /** + * The description of the user defined transformer. + * * @generated from field: string description = 3; */ description: string; /** + * The configuration of the user defined transformer. + * * @generated from field: mgmt.v1alpha1.TransformerConfig transformer_config = 4; */ transformerConfig?: TransformerConfig; @@ -285,11 +311,15 @@ export const UpdateUserDefinedTransformerResponseSchema: GenMessage & { /** + * The unique identifier of the account to check for the availability of the transformer name. + * * @generated from field: string account_id = 1; */ accountId: string; /** + * The name of the transformer to check for availability. + * * @generated from field: string transformer_name = 2; */ transformerName: string; @@ -307,6 +337,8 @@ export const IsTransformerNameAvailableRequestSchema: GenMessage & { /** + * Whether or not the transformer name is available. + * * @generated from field: bool is_available = 1; */ isAvailable: boolean; @@ -324,53 +356,72 @@ export const IsTransformerNameAvailableResponseSchema: GenMessage & { /** + * The unique identifier of the user defined transformer. + * * @generated from field: string id = 1; */ id: string; /** + * The name of the user defined transformer. + * * @generated from field: string name = 2; */ name: string; /** + * The description of the user defined transformer. + * * @generated from field: string description = 3; */ description: string; /** - * This property is readonly and is calculated based off the origin system transformer + * @deprecated: data_type is deprecated and will be removed in a future release. Use data_types instead. * - * @generated from field: mgmt.v1alpha1.TransformerDataType data_type = 5; + * @generated from field: mgmt.v1alpha1.TransformerDataType data_type = 5 [deprecated = true]; + * @deprecated */ dataType: TransformerDataType; /** + * The source of the user defined transformer. + * * @generated from field: mgmt.v1alpha1.TransformerSource source = 6; */ source: TransformerSource; /** + * The configuration of the user defined transformer. + * * @generated from field: mgmt.v1alpha1.TransformerConfig config = 7; */ config?: TransformerConfig; /** + * The date and time the user defined transformer was created. + * * @generated from field: google.protobuf.Timestamp created_at = 8; */ createdAt?: Timestamp; /** + * The date and time the user defined transformer was last updated. + * * @generated from field: google.protobuf.Timestamp updated_at = 9; */ updatedAt?: Timestamp; /** + * The unique identifier of the account that owns the user defined transformer. + * * @generated from field: string account_id = 10; */ accountId: string; /** + * The data types supported by the user defined transformer. This is currently calculated based off the origin system transformer. + * * @generated from field: repeated mgmt.v1alpha1.TransformerDataType data_types = 11; */ dataTypes: TransformerDataType[]; @@ -384,35 +435,51 @@ export const UserDefinedTransformerSchema: GenMessage = messageDesc(file_mgmt_v1alpha1_transformer, 16); /** + * A system transformer is a transformer that is built into the Neosync platform. + * It can be used directly in job mappings or used in user-defined transformers to snapshot a specific configuration. + * * @generated from message mgmt.v1alpha1.SystemTransformer */ export type SystemTransformer = Message<"mgmt.v1alpha1.SystemTransformer"> & { /** + * The name of the transformer. + * * @generated from field: string name = 1; */ name: string; /** + * The description of the transformer. + * * @generated from field: string description = 2; */ description: string; /** - * @generated from field: mgmt.v1alpha1.TransformerDataType data_type = 3; + * @deprecated: data_types is deprecated and will be removed in a future release. Use data_types instead. + * + * @generated from field: mgmt.v1alpha1.TransformerDataType data_type = 3 [deprecated = true]; + * @deprecated */ dataType: TransformerDataType; /** + * The source of the transformer. + * * @generated from field: mgmt.v1alpha1.TransformerSource source = 4; */ source: TransformerSource; /** + * The configuration of the transformer. + * * @generated from field: mgmt.v1alpha1.TransformerConfig config = 5; */ config?: TransformerConfig; /** + * The data types supported by the transformer. + * * @generated from field: repeated mgmt.v1alpha1.TransformerDataType data_types = 6; */ dataTypes: TransformerDataType[]; @@ -431,6 +498,8 @@ export const SystemTransformerSchema: GenMessage = /*@__PURE_ messageDesc(file_mgmt_v1alpha1_transformer, 17); /** + * The configuration for a transformer. This determines what type of transformation or generation is performed. + * * @generated from message mgmt.v1alpha1.TransformerConfig */ export type TransformerConfig = Message<"mgmt.v1alpha1.TransformerConfig"> & { @@ -1110,6 +1179,8 @@ export const GenerateBoolSchema: GenMessage = /*@__PURE__*/ */ export type GenerateCardNumber = Message<"mgmt.v1alpha1.GenerateCardNumber"> & { /** + * Whether or not to validate the card number using the Luhn algorithm. + * * @generated from field: optional bool valid_luhn = 1; */ validLuhn?: boolean; @@ -1153,11 +1224,15 @@ export const GenerateDefaultSchema: GenMessage = /*@__PURE__*/ */ export type GenerateE164PhoneNumber = Message<"mgmt.v1alpha1.GenerateE164PhoneNumber"> & { /** + * The minimum length of the phone number to generate. + * * @generated from field: optional int64 min = 1; */ min?: bigint; /** + * The maximum length of the phone number to generate. + * * @generated from field: optional int64 max = 2; */ max?: bigint; @@ -1188,21 +1263,29 @@ export const GenerateFirstNameSchema: GenMessage = /*@__PURE_ */ export type GenerateFloat64 = Message<"mgmt.v1alpha1.GenerateFloat64"> & { /** + * Whether or not to randomize the sign of the float64. + * * @generated from field: optional bool randomize_sign = 1; */ randomizeSign?: boolean; /** + * The minimum value to randomize the float64 to. + * * @generated from field: optional double min = 2; */ min?: number; /** + * The maximum value to randomize the float64 to. + * * @generated from field: optional double max = 3; */ max?: number; /** + * The precision of the float64 to generate. + * * @generated from field: optional int64 precision = 4; */ precision?: bigint; @@ -1246,6 +1329,8 @@ export const GenerateFullNameSchema: GenMessage = /*@__PURE__* */ export type GenerateGender = Message<"mgmt.v1alpha1.GenerateGender"> & { /** + * Whether or not to abbreviate the gender. + * * @generated from field: optional bool abbreviate = 1; */ abbreviate?: boolean; @@ -1276,16 +1361,22 @@ export const GenerateInt64PhoneNumberSchema: GenMessage & { /** + * Whether or not to randomize the sign of the int64. + * * @generated from field: optional bool randomize_sign = 1; */ randomizeSign?: boolean; /** + * The minimum value to randomize the int64 to. + * * @generated from field: optional int64 min = 2; */ min?: bigint; /** + * The maximum value to randomize the int64 to. + * * @generated from field: optional int64 max = 3; */ max?: bigint; @@ -1374,11 +1465,15 @@ export const GenerateStreetAddressSchema: GenMessage = /* */ export type GenerateStringPhoneNumber = Message<"mgmt.v1alpha1.GenerateStringPhoneNumber"> & { /** + * The minimum length of the phone number to generate. + * * @generated from field: optional int64 min = 2; */ min?: bigint; /** + * The maximum length of the phone number to generate. + * * @generated from field: optional int64 max = 3; */ max?: bigint; @@ -1396,11 +1491,15 @@ export const GenerateStringPhoneNumberSchema: GenMessage & { /** + * The minimum length of the string to generate. + * * @generated from field: optional int64 min = 1; */ min?: bigint; /** + * The maximum length of the string to generate. + * * @generated from field: optional int64 max = 2; */ max?: bigint; @@ -1457,6 +1556,8 @@ export const GenerateUtcTimestampSchema: GenMessage = /*@_ */ export type GenerateUuid = Message<"mgmt.v1alpha1.GenerateUuid"> & { /** + * Whether or not to include hyphens in the uuid. Defaults to true. If false, the uuid will be returned without hyphens. + * * @generated from field: optional bool include_hyphens = 1; */ includeHyphens?: boolean; @@ -1487,6 +1588,8 @@ export const GenerateZipcodeSchema: GenMessage = /*@__PURE__*/ */ export type TransformE164PhoneNumber = Message<"mgmt.v1alpha1.TransformE164PhoneNumber"> & { /** + * Whether or not to preserve the original length of the phone number. This causes the transformed phone number to retain the original length. + * * @generated from field: optional bool preserve_length = 1; */ preserveLength?: boolean; @@ -1504,6 +1607,8 @@ export const TransformE164PhoneNumberSchema: GenMessage & { /** + * Whether or not to preserve the original length of the first name. This causes the transformed first name to retain the original length. + * * @generated from field: optional bool preserve_length = 1; */ preserveLength?: boolean; @@ -1521,11 +1626,15 @@ export const TransformFirstNameSchema: GenMessage = /*@__PUR */ export type TransformFloat64 = Message<"mgmt.v1alpha1.TransformFloat64"> & { /** + * The minimum value to randomize the float64 to. This will be relative to the original value. + * * @generated from field: optional double randomization_range_min = 1; */ randomizationRangeMin?: number; /** + * The maximum value to randomize the float64 to. This will be relative to the original value. + * * @generated from field: optional double randomization_range_max = 2; */ randomizationRangeMax?: number; @@ -1543,6 +1652,8 @@ export const TransformFloat64Schema: GenMessage = /*@__PURE__* */ export type TransformFullName = Message<"mgmt.v1alpha1.TransformFullName"> & { /** + * Whether or not to preserve the original length of the full name. This causes the transformed full name to retain the original length. + * * @generated from field: optional bool preserve_length = 1; */ preserveLength?: boolean; @@ -1560,6 +1671,8 @@ export const TransformFullNameSchema: GenMessage = /*@__PURE_ */ export type TransformInt64PhoneNumber = Message<"mgmt.v1alpha1.TransformInt64PhoneNumber"> & { /** + * Whether or not to preserve the original length of the phone number. This causes the transformed phone number to retain the original length. + * * @generated from field: optional bool preserve_length = 1; */ preserveLength?: boolean; @@ -1577,11 +1690,15 @@ export const TransformInt64PhoneNumberSchema: GenMessage & { /** + * The minimum value to randomize the int64 to. This will be relative to the original value. + * * @generated from field: optional int64 randomization_range_min = 1; */ randomizationRangeMin?: bigint; /** + * The maximum value to randomize the int64 to. This will be relative to the original value. + * * @generated from field: optional int64 randomization_range_max = 2; */ randomizationRangeMax?: bigint; @@ -1599,6 +1716,8 @@ export const TransformInt64Schema: GenMessage = /*@__PURE__*/ */ export type TransformLastName = Message<"mgmt.v1alpha1.TransformLastName"> & { /** + * Whether or not to preserve the original length of the last name. This causes the transformed last name to retain the original length. + * * @generated from field: optional bool preserve_length = 1; */ preserveLength?: boolean; @@ -1616,6 +1735,8 @@ export const TransformLastNameSchema: GenMessage = /*@__PURE_ */ export type TransformPhoneNumber = Message<"mgmt.v1alpha1.TransformPhoneNumber"> & { /** + * Whether or not to preserve the original length of the phone number. This causes the transformed phone number to retain the original length. + * * @generated from field: optional bool preserve_length = 1; */ preserveLength?: boolean; @@ -1633,6 +1754,8 @@ export const TransformPhoneNumberSchema: GenMessage = /*@_ */ export type TransformString = Message<"mgmt.v1alpha1.TransformString"> & { /** + * Whether or not to preserve the original length of the string. This causes the transformed string to retain the original length. + * * @generated from field: optional bool preserve_length = 1; */ preserveLength?: boolean; @@ -1676,6 +1799,8 @@ export const NullSchema: GenMessage = /*@__PURE__*/ */ export type TransformJavascript = Message<"mgmt.v1alpha1.TransformJavascript"> & { /** + * The user provided javascript code that will be executed in the transformer + * * @generated from field: string code = 1; */ code: string; @@ -1693,6 +1818,8 @@ export const TransformJavascriptSchema: GenMessage = /*@__P */ export type UserDefinedTransformerConfig = Message<"mgmt.v1alpha1.UserDefinedTransformerConfig"> & { /** + * The id of the user defined transformer. When used in a job mapping, this will be used to reference the underlying system transformer along with it's configuration that was chosen. + * * @generated from field: string id = 1; */ id: string; @@ -1710,6 +1837,8 @@ export const UserDefinedTransformerConfigSchema: GenMessage & { /** + * The user provided javascript code that will be validated. + * * @generated from field: string code = 2; */ code: string; @@ -1744,6 +1873,8 @@ export const ValidateUserJavascriptCodeResponseSchema: GenMessage & { /** + * A comma separated list of categories that will be used to generate a random value from. + * * @generated from field: optional string categories = 1; */ categories?: string; @@ -1761,7 +1892,7 @@ export const GenerateCategoricalSchema: GenMessage = /*@__P */ export type TransformCharacterScramble = Message<"mgmt.v1alpha1.TransformCharacterScramble"> & { /** - * a user provided regular expression that they wish to validate if it compiles in GO + * A user provided regular expression that will be used to scramble the characters in the input string. Must be a valid Golang regex. * * @generated from field: optional string user_provided_regex = 1; */ @@ -1780,6 +1911,8 @@ export const TransformCharacterScrambleSchema: GenMessage & { /** + * The user provided javascript code that will be executed in the transformer + * * @generated from field: string code = 1; */ code: string; @@ -1797,6 +1930,8 @@ export const GenerateJavascriptSchema: GenMessage = /*@__PUR */ export type ValidateUserRegexCodeRequest = Message<"mgmt.v1alpha1.ValidateUserRegexCodeRequest"> & { /** + * The user provided regex to validate + * * @generated from field: string user_provided_regex = 2; */ userProvidedRegex: string; @@ -1814,6 +1949,8 @@ export const ValidateUserRegexCodeRequestSchema: GenMessage & { /** + * Whether the regex is valid + * * @generated from field: bool valid = 1; */ valid: boolean; @@ -1901,6 +2038,8 @@ export const GenerateBusinessNameSchema: GenMessage = /*@_ */ export type GenerateIpAddress = Message<"mgmt.v1alpha1.GenerateIpAddress"> & { /** + * Optionally specify the type of ip address to generate. + * * @generated from field: optional mgmt.v1alpha1.GenerateIpAddressType ip_type = 1; */ ipType?: GenerateIpAddressType; @@ -2255,11 +2394,15 @@ export enum SupportedJobType { UNSPECIFIED = 0, /** + * Determines if a transformer is supported for a sync job. + * * @generated from enum value: SUPPORTED_JOB_TYPE_SYNC = 1; */ SYNC = 1, /** + * Determines if a transformer is supported for a generate job. + * * @generated from enum value: SUPPORTED_JOB_TYPE_GENERATE = 2; */ GENERATE = 2, @@ -2426,10 +2569,14 @@ export const GenerateIpAddressTypeSchema: GenEnum = /*@__ enumDesc(file_mgmt_v1alpha1_transformer, 5); /** + * Service that manages system and user defined transformers + * * @generated from service mgmt.v1alpha1.TransformersService */ export const TransformersService: GenService<{ /** + * Get a list of all system transformers + * * @generated from rpc mgmt.v1alpha1.TransformersService.GetSystemTransformers */ getSystemTransformers: { @@ -2438,6 +2585,8 @@ export const TransformersService: GenService<{ output: typeof GetSystemTransformersResponseSchema; }, /** + * Get a system transformer by its source + * * @generated from rpc mgmt.v1alpha1.TransformersService.GetSystemTransformerBySource */ getSystemTransformerBySource: { @@ -2446,6 +2595,8 @@ export const TransformersService: GenService<{ output: typeof GetSystemTransformerBySourceResponseSchema; }, /** + * Get a list of all user defined transformers + * * @generated from rpc mgmt.v1alpha1.TransformersService.GetUserDefinedTransformers */ getUserDefinedTransformers: { @@ -2454,6 +2605,8 @@ export const TransformersService: GenService<{ output: typeof GetUserDefinedTransformersResponseSchema; }, /** + * Get a user defined transformer by its id + * * @generated from rpc mgmt.v1alpha1.TransformersService.GetUserDefinedTransformerById */ getUserDefinedTransformerById: { @@ -2462,6 +2615,8 @@ export const TransformersService: GenService<{ output: typeof GetUserDefinedTransformerByIdResponseSchema; }, /** + * Create a user defined transformer + * * @generated from rpc mgmt.v1alpha1.TransformersService.CreateUserDefinedTransformer */ createUserDefinedTransformer: { @@ -2470,6 +2625,8 @@ export const TransformersService: GenService<{ output: typeof CreateUserDefinedTransformerResponseSchema; }, /** + * Delete a user defined transformer + * * @generated from rpc mgmt.v1alpha1.TransformersService.DeleteUserDefinedTransformer */ deleteUserDefinedTransformer: { @@ -2478,6 +2635,8 @@ export const TransformersService: GenService<{ output: typeof DeleteUserDefinedTransformerResponseSchema; }, /** + * Update a user defined transformer + * * @generated from rpc mgmt.v1alpha1.TransformersService.UpdateUserDefinedTransformer */ updateUserDefinedTransformer: { @@ -2486,6 +2645,8 @@ export const TransformersService: GenService<{ output: typeof UpdateUserDefinedTransformerResponseSchema; }, /** + * Check if a transformer name is available in your account + * * @generated from rpc mgmt.v1alpha1.TransformersService.IsTransformerNameAvailable */ isTransformerNameAvailable: { @@ -2494,6 +2655,8 @@ export const TransformersService: GenService<{ output: typeof IsTransformerNameAvailableResponseSchema; }, /** + * Validate user provided javascript code before saving it to a user defined transformer or within a job mapping + * * @generated from rpc mgmt.v1alpha1.TransformersService.ValidateUserJavascriptCode */ validateUserJavascriptCode: { @@ -2502,6 +2665,8 @@ export const TransformersService: GenService<{ output: typeof ValidateUserJavascriptCodeResponseSchema; }, /** + * Validate user provided regex code before saving it to a user defined transformer + * * @generated from rpc mgmt.v1alpha1.TransformersService.ValidateUserRegexCode */ validateUserRegexCode: { diff --git a/frontend/packages/sdk/src/client/mgmt/v1alpha1/user_account_pb.ts b/frontend/packages/sdk/src/client/mgmt/v1alpha1/user_account_pb.ts index 421a323396..2be3665036 100644 --- a/frontend/packages/sdk/src/client/mgmt/v1alpha1/user_account_pb.ts +++ b/frontend/packages/sdk/src/client/mgmt/v1alpha1/user_account_pb.ts @@ -13,7 +13,7 @@ import type { Message } from "@bufbuild/protobuf"; * Describes the file mgmt/v1alpha1/user_account.proto. */ export const file_mgmt_v1alpha1_user_account: GenFile = /*@__PURE__*/ - fileDesc("CiBtZ210L3YxYWxwaGExL3VzZXJfYWNjb3VudC5wcm90bxINbWdtdC52MWFscGhhMSIQCg5HZXRVc2VyUmVxdWVzdCIiCg9HZXRVc2VyUmVzcG9uc2USDwoHdXNlcl9pZBgBIAEoCSIQCg5TZXRVc2VyUmVxdWVzdCIiCg9TZXRVc2VyUmVzcG9uc2USDwoHdXNlcl9pZBgBIAEoCSIYChZHZXRVc2VyQWNjb3VudHNSZXF1ZXN0IkcKF0dldFVzZXJBY2NvdW50c1Jlc3BvbnNlEiwKCGFjY291bnRzGAEgAygLMhoubWdtdC52MWFscGhhMS5Vc2VyQWNjb3VudCJ1CgtVc2VyQWNjb3VudBIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEiwKBHR5cGUYAyABKA4yHi5tZ210LnYxYWxwaGExLlVzZXJBY2NvdW50VHlwZRIeChZoYXNfc3RyaXBlX2N1c3RvbWVyX2lkGAQgASgIIoABCiNDb252ZXJ0UGVyc29uYWxUb1RlYW1BY2NvdW50UmVxdWVzdBInCgRuYW1lGAEgASgJQhm6SBZyFDISXlthLXowLTktXXszLDEwMH0kEiEKCmFjY291bnRfaWQYAiABKAlCCLpIBXIDsAEBSACIAQFCDQoLX2FjY291bnRfaWQilwEKJENvbnZlcnRQZXJzb25hbFRvVGVhbUFjY291bnRSZXNwb25zZRISCgphY2NvdW50X2lkGAEgASgJEiEKFGNoZWNrb3V0X3Nlc3Npb25fdXJsGAIgASgJSACIAQESHwoXbmV3X3BlcnNvbmFsX2FjY291bnRfaWQYAyABKAlCFwoVX2NoZWNrb3V0X3Nlc3Npb25fdXJsIhsKGVNldFBlcnNvbmFsQWNjb3VudFJlcXVlc3QiMAoaU2V0UGVyc29uYWxBY2NvdW50UmVzcG9uc2USEgoKYWNjb3VudF9pZBgBIAEoCSI2ChZJc1VzZXJJbkFjY291bnRSZXF1ZXN0EhwKCmFjY291bnRfaWQYASABKAlCCLpIBXIDsAEBIiUKF0lzVXNlckluQWNjb3VudFJlc3BvbnNlEgoKAm9rGAEgASgIIj8KH0dldEFjY291bnRUZW1wb3JhbENvbmZpZ1JlcXVlc3QSHAoKYWNjb3VudF9pZBgBIAEoCUIIukgFcgOwAQEiWAogR2V0QWNjb3VudFRlbXBvcmFsQ29uZmlnUmVzcG9uc2USNAoGY29uZmlnGAEgASgLMiQubWdtdC52MWFscGhhMS5BY2NvdW50VGVtcG9yYWxDb25maWcidQofU2V0QWNjb3VudFRlbXBvcmFsQ29uZmlnUmVxdWVzdBIcCgphY2NvdW50X2lkGAEgASgJQgi6SAVyA7ABARI0CgZjb25maWcYAiABKAsyJC5tZ210LnYxYWxwaGExLkFjY291bnRUZW1wb3JhbENvbmZpZyJYCiBTZXRBY2NvdW50VGVtcG9yYWxDb25maWdSZXNwb25zZRI0CgZjb25maWcYASABKAsyJC5tZ210LnYxYWxwaGExLkFjY291bnRUZW1wb3JhbENvbmZpZyJvChVBY2NvdW50VGVtcG9yYWxDb25maWcSFAoDdXJsGAEgASgJQge6SARyAhABEhoKCW5hbWVzcGFjZRgCIAEoCUIHukgEcgIQARIkChNzeW5jX2pvYl9xdWV1ZV9uYW1lGAMgASgJQge6SARyAhABIkMKGENyZWF0ZVRlYW1BY2NvdW50UmVxdWVzdBInCgRuYW1lGAEgASgJQhm6SBZyFDISXlthLXowLTktXXszLDEwMH0kImsKGUNyZWF0ZVRlYW1BY2NvdW50UmVzcG9uc2USEgoKYWNjb3VudF9pZBgBIAEoCRIhChRjaGVja291dF9zZXNzaW9uX3VybBgCIAEoCUgAiAEBQhcKFV9jaGVja291dF9zZXNzaW9uX3VybCJvCgtBY2NvdW50VXNlchIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEg0KBWltYWdlGAMgASgJEg0KBWVtYWlsGAQgASgJEigKBHJvbGUYBSABKA4yGi5tZ210LnYxYWxwaGExLkFjY291bnRSb2xlIjwKHEdldFRlYW1BY2NvdW50TWVtYmVyc1JlcXVlc3QSHAoKYWNjb3VudF9pZBgBIAEoCUIIukgFcgOwAQEiSgodR2V0VGVhbUFjY291bnRNZW1iZXJzUmVzcG9uc2USKQoFdXNlcnMYASADKAsyGi5tZ210LnYxYWxwaGExLkFjY291bnRVc2VyIlkKHlJlbW92ZVRlYW1BY2NvdW50TWVtYmVyUmVxdWVzdBIZCgd1c2VyX2lkGAEgASgJQgi6SAVyA7ABARIcCgphY2NvdW50X2lkGAIgASgJQgi6SAVyA7ABASIhCh9SZW1vdmVUZWFtQWNjb3VudE1lbWJlclJlc3BvbnNlIo4BCh5JbnZpdGVVc2VyVG9UZWFtQWNjb3VudFJlcXVlc3QSHAoKYWNjb3VudF9pZBgBIAEoCUIIukgFcgOwAQESFgoFZW1haWwYAiABKAlCB7pIBHICEAESLQoEcm9sZRgDIAEoDjIaLm1nbXQudjFhbHBoYTEuQWNjb3VudFJvbGVIAIgBAUIHCgVfcm9sZSKxAgoNQWNjb3VudEludml0ZRIKCgJpZBgBIAEoCRISCgphY2NvdW50X2lkGAIgASgJEhYKDnNlbmRlcl91c2VyX2lkGAMgASgJEg0KBWVtYWlsGAQgASgJEg0KBXRva2VuGAUgASgJEhAKCGFjY2VwdGVkGAYgASgIEi4KCmNyZWF0ZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCmV4cGlyZXNfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEigKBHJvbGUYCiABKA4yGi5tZ210LnYxYWxwaGExLkFjY291bnRSb2xlIk8KH0ludml0ZVVzZXJUb1RlYW1BY2NvdW50UmVzcG9uc2USLAoGaW52aXRlGAEgASgLMhwubWdtdC52MWFscGhhMS5BY2NvdW50SW52aXRlIjwKHEdldFRlYW1BY2NvdW50SW52aXRlc1JlcXVlc3QSHAoKYWNjb3VudF9pZBgBIAEoCUIIukgFcgOwAQEiTgodR2V0VGVhbUFjY291bnRJbnZpdGVzUmVzcG9uc2USLQoHaW52aXRlcxgBIAMoCzIcLm1nbXQudjFhbHBoYTEuQWNjb3VudEludml0ZSI2Ch5SZW1vdmVUZWFtQWNjb3VudEludml0ZVJlcXVlc3QSFAoCaWQYASABKAlCCLpIBXIDsAEBIiEKH1JlbW92ZVRlYW1BY2NvdW50SW52aXRlUmVzcG9uc2UiOAoeQWNjZXB0VGVhbUFjY291bnRJbnZpdGVSZXF1ZXN0EhYKBXRva2VuGAEgASgJQge6SARyAhABIk4KH0FjY2VwdFRlYW1BY2NvdW50SW52aXRlUmVzcG9uc2USKwoHYWNjb3VudBgBIAEoCzIaLm1nbXQudjFhbHBoYTEuVXNlckFjY291bnQiHQobR2V0U3lzdGVtSW5mb3JtYXRpb25SZXF1ZXN0IsIBChxHZXRTeXN0ZW1JbmZvcm1hdGlvblJlc3BvbnNlEg8KB3ZlcnNpb24YASABKAkSDgoGY29tbWl0GAIgASgJEhAKCGNvbXBpbGVyGAMgASgJEhAKCHBsYXRmb3JtGAQgASgJEi4KCmJ1aWxkX2RhdGUYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi0KB2xpY2Vuc2UYBiABKAsyHC5tZ210LnYxYWxwaGExLlN5c3RlbUxpY2Vuc2UiawoNU3lzdGVtTGljZW5zZRIQCghpc192YWxpZBgBIAEoCBIuCgpleHBpcmVzX2F0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIYChBpc19uZW9zeW5jX2Nsb3VkGAMgASgIIkEKIUdldEFjY291bnRPbmJvYXJkaW5nQ29uZmlnUmVxdWVzdBIcCgphY2NvdW50X2lkGAEgASgJQgi6SAVyA7ABASJcCiJHZXRBY2NvdW50T25ib2FyZGluZ0NvbmZpZ1Jlc3BvbnNlEjYKBmNvbmZpZxgBIAEoCzImLm1nbXQudjFhbHBoYTEuQWNjb3VudE9uYm9hcmRpbmdDb25maWcieQohU2V0QWNjb3VudE9uYm9hcmRpbmdDb25maWdSZXF1ZXN0EhwKCmFjY291bnRfaWQYASABKAlCCLpIBXIDsAEBEjYKBmNvbmZpZxgCIAEoCzImLm1nbXQudjFhbHBoYTEuQWNjb3VudE9uYm9hcmRpbmdDb25maWciXAoiU2V0QWNjb3VudE9uYm9hcmRpbmdDb25maWdSZXNwb25zZRI2CgZjb25maWcYASABKAsyJi5tZ210LnYxYWxwaGExLkFjY291bnRPbmJvYXJkaW5nQ29uZmlnIlMKF0FjY291bnRPbmJvYXJkaW5nQ29uZmlnEiAKGGhhc19jb21wbGV0ZWRfb25ib2FyZGluZxgFIAEoCEoECAEQAkoECAIQA0oECAMQBEoECAQQBSI3ChdHZXRBY2NvdW50U3RhdHVzUmVxdWVzdBIcCgphY2NvdW50X2lkGAEgASgJQgi6SAVyA7ABASKsAQoYR2V0QWNjb3VudFN0YXR1c1Jlc3BvbnNlEhkKEXVzZWRfcmVjb3JkX2NvdW50GAEgASgEEiEKFGFsbG93ZWRfcmVjb3JkX2NvdW50GAIgASgESACIAQESOQoTc3Vic2NyaXB0aW9uX3N0YXR1cxgDIAEoDjIcLm1nbXQudjFhbHBoYTEuQmlsbGluZ1N0YXR1c0IXChVfYWxsb3dlZF9yZWNvcmRfY291bnQiewobSXNBY2NvdW50U3RhdHVzVmFsaWRSZXF1ZXN0EhwKCmFjY291bnRfaWQYASABKAlCCLpIBXIDsAEBEiMKFnJlcXVlc3RlZF9yZWNvcmRfY291bnQYAiABKARIAIgBAUIZChdfcmVxdWVzdGVkX3JlY29yZF9jb3VudCL3AQocSXNBY2NvdW50U3RhdHVzVmFsaWRSZXNwb25zZRIQCghpc192YWxpZBgBIAEoCBITCgZyZWFzb24YAiABKAlIAIgBARITCgtzaG91bGRfcG9sbBgDIAEoCBI0Cg5hY2NvdW50X3N0YXR1cxgGIAEoDjIcLm1nbXQudjFhbHBoYTEuQWNjb3VudFN0YXR1cxI5ChB0cmlhbF9leHBpcmVzX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgBiAEBQgkKB19yZWFzb25CEwoRX3RyaWFsX2V4cGlyZXNfYXRKBAgEEAVKBAgFEAYiRwonR2V0QWNjb3VudEJpbGxpbmdDaGVja291dFNlc3Npb25SZXF1ZXN0EhwKCmFjY291bnRfaWQYASABKAlCCLpIBXIDsAEBIkgKKEdldEFjY291bnRCaWxsaW5nQ2hlY2tvdXRTZXNzaW9uUmVzcG9uc2USHAoUY2hlY2tvdXRfc2Vzc2lvbl91cmwYASABKAkiRQolR2V0QWNjb3VudEJpbGxpbmdQb3J0YWxTZXNzaW9uUmVxdWVzdBIcCgphY2NvdW50X2lkGAEgASgJQgi6SAVyA7ABASJECiZHZXRBY2NvdW50QmlsbGluZ1BvcnRhbFNlc3Npb25SZXNwb25zZRIaChJwb3J0YWxfc2Vzc2lvbl91cmwYASABKAkiMAoZR2V0QmlsbGluZ0FjY291bnRzUmVxdWVzdBITCgthY2NvdW50X2lkcxgBIAMoCSJKChpHZXRCaWxsaW5nQWNjb3VudHNSZXNwb25zZRIsCghhY2NvdW50cxgBIAMoCzIaLm1nbXQudjFhbHBoYTEuVXNlckFjY291bnQisQEKG1NldEJpbGxpbmdNZXRlckV2ZW50UmVxdWVzdBIcCgphY2NvdW50X2lkGAEgASgJQgi6SAVyA7ABARIbCgpldmVudF9uYW1lGAIgASgJQge6SARyAhABEhYKBXZhbHVlGAMgASgJQge6SARyAhABEhkKCGV2ZW50X2lkGAQgASgJQge6SARyAhABEhYKCXRpbWVzdGFtcBgFIAEoBEgAiAEBQgwKCl90aW1lc3RhbXAiHgocU2V0QmlsbGluZ01ldGVyRXZlbnRSZXNwb25zZSJ3ChJTZXRVc2VyUm9sZVJlcXVlc3QSHAoKYWNjb3VudF9pZBgBIAEoCUIIukgFcgOwAQESGQoHdXNlcl9pZBgCIAEoCUIIukgFcgOwAQESKAoEcm9sZRgDIAEoDjIaLm1nbXQudjFhbHBoYTEuQWNjb3VudFJvbGUiFQoTU2V0VXNlclJvbGVSZXNwb25zZSqSAQoPVXNlckFjY291bnRUeXBlEiEKHVVTRVJfQUNDT1VOVF9UWVBFX1VOU1BFQ0lGSUVEEAASHgoaVVNFUl9BQ0NPVU5UX1RZUEVfUEVSU09OQUwQARIaChZVU0VSX0FDQ09VTlRfVFlQRV9URUFNEAISIAocVVNFUl9BQ0NPVU5UX1RZUEVfRU5URVJQUklTRRADKqkBCg1CaWxsaW5nU3RhdHVzEh4KGkJJTExJTkdfU1RBVFVTX1VOU1BFQ0lGSUVEEAASGQoVQklMTElOR19TVEFUVVNfQUNUSVZFEAESGgoWQklMTElOR19TVEFUVVNfRVhQSVJFRBACEh8KG0JJTExJTkdfU1RBVFVTX1RSSUFMX0FDVElWRRADEiAKHEJJTExJTkdfU1RBVFVTX1RSSUFMX0VYUElSRUQQBCqQAgoNQWNjb3VudFN0YXR1cxIlCiFBQ0NPVU5UX1NUQVRVU19SRUFTT05fVU5TUEVDSUZJRUQQABIrCidBQ0NPVU5UX1NUQVRVU19BQ0NPVU5UX0lOX0VYUElSRURfU1RBVEUQAxInCiNBQ0NPVU5UX1NUQVRVU19BQ0NPVU5UX1RSSUFMX0FDVElWRRAEEigKJEFDQ09VTlRfU1RBVFVTX0FDQ09VTlRfVFJJQUxfRVhQSVJFRBAFIgQIARABIgQIAhACKiRBQ0NPVU5UX1NUQVRVU19FWENFRURTX0FMTE9XRURfTElNSVQqJkFDQ09VTlRfU1RBVFVTX1JFUVVFU1RFRF9FWENFRURTX0xJTUlUKp8BCgtBY2NvdW50Um9sZRIcChhBQ0NPVU5UX1JPTEVfVU5TUEVDSUZJRUQQABIWChJBQ0NPVU5UX1JPTEVfQURNSU4QARIeChpBQ0NPVU5UX1JPTEVfSk9CX0RFVkVMT1BFUhACEhsKF0FDQ09VTlRfUk9MRV9KT0JfVklFV0VSEAMSHQoZQUNDT1VOVF9ST0xFX0pPQl9FWEVDVVRPUhAEMvgWChJVc2VyQWNjb3VudFNlcnZpY2USSgoHR2V0VXNlchIdLm1nbXQudjFhbHBoYTEuR2V0VXNlclJlcXVlc3QaHi5tZ210LnYxYWxwaGExLkdldFVzZXJSZXNwb25zZSIAEkoKB1NldFVzZXISHS5tZ210LnYxYWxwaGExLlNldFVzZXJSZXF1ZXN0Gh4ubWdtdC52MWFscGhhMS5TZXRVc2VyUmVzcG9uc2UiABJiCg9HZXRVc2VyQWNjb3VudHMSJS5tZ210LnYxYWxwaGExLkdldFVzZXJBY2NvdW50c1JlcXVlc3QaJi5tZ210LnYxYWxwaGExLkdldFVzZXJBY2NvdW50c1Jlc3BvbnNlIgASawoSU2V0UGVyc29uYWxBY2NvdW50EigubWdtdC52MWFscGhhMS5TZXRQZXJzb25hbEFjY291bnRSZXF1ZXN0GikubWdtdC52MWFscGhhMS5TZXRQZXJzb25hbEFjY291bnRSZXNwb25zZSIAEokBChxDb252ZXJ0UGVyc29uYWxUb1RlYW1BY2NvdW50EjIubWdtdC52MWFscGhhMS5Db252ZXJ0UGVyc29uYWxUb1RlYW1BY2NvdW50UmVxdWVzdBozLm1nbXQudjFhbHBoYTEuQ29udmVydFBlcnNvbmFsVG9UZWFtQWNjb3VudFJlc3BvbnNlIgASaAoRQ3JlYXRlVGVhbUFjY291bnQSJy5tZ210LnYxYWxwaGExLkNyZWF0ZVRlYW1BY2NvdW50UmVxdWVzdBooLm1nbXQudjFhbHBoYTEuQ3JlYXRlVGVhbUFjY291bnRSZXNwb25zZSIAEmIKD0lzVXNlckluQWNjb3VudBIlLm1nbXQudjFhbHBoYTEuSXNVc2VySW5BY2NvdW50UmVxdWVzdBomLm1nbXQudjFhbHBoYTEuSXNVc2VySW5BY2NvdW50UmVzcG9uc2UiABJ9ChhHZXRBY2NvdW50VGVtcG9yYWxDb25maWcSLi5tZ210LnYxYWxwaGExLkdldEFjY291bnRUZW1wb3JhbENvbmZpZ1JlcXVlc3QaLy5tZ210LnYxYWxwaGExLkdldEFjY291bnRUZW1wb3JhbENvbmZpZ1Jlc3BvbnNlIgASfQoYU2V0QWNjb3VudFRlbXBvcmFsQ29uZmlnEi4ubWdtdC52MWFscGhhMS5TZXRBY2NvdW50VGVtcG9yYWxDb25maWdSZXF1ZXN0Gi8ubWdtdC52MWFscGhhMS5TZXRBY2NvdW50VGVtcG9yYWxDb25maWdSZXNwb25zZSIAEnQKFUdldFRlYW1BY2NvdW50TWVtYmVycxIrLm1nbXQudjFhbHBoYTEuR2V0VGVhbUFjY291bnRNZW1iZXJzUmVxdWVzdBosLm1nbXQudjFhbHBoYTEuR2V0VGVhbUFjY291bnRNZW1iZXJzUmVzcG9uc2UiABJ6ChdSZW1vdmVUZWFtQWNjb3VudE1lbWJlchItLm1nbXQudjFhbHBoYTEuUmVtb3ZlVGVhbUFjY291bnRNZW1iZXJSZXF1ZXN0Gi4ubWdtdC52MWFscGhhMS5SZW1vdmVUZWFtQWNjb3VudE1lbWJlclJlc3BvbnNlIgASegoXSW52aXRlVXNlclRvVGVhbUFjY291bnQSLS5tZ210LnYxYWxwaGExLkludml0ZVVzZXJUb1RlYW1BY2NvdW50UmVxdWVzdBouLm1nbXQudjFhbHBoYTEuSW52aXRlVXNlclRvVGVhbUFjY291bnRSZXNwb25zZSIAEnQKFUdldFRlYW1BY2NvdW50SW52aXRlcxIrLm1nbXQudjFhbHBoYTEuR2V0VGVhbUFjY291bnRJbnZpdGVzUmVxdWVzdBosLm1nbXQudjFhbHBoYTEuR2V0VGVhbUFjY291bnRJbnZpdGVzUmVzcG9uc2UiABJ6ChdSZW1vdmVUZWFtQWNjb3VudEludml0ZRItLm1nbXQudjFhbHBoYTEuUmVtb3ZlVGVhbUFjY291bnRJbnZpdGVSZXF1ZXN0Gi4ubWdtdC52MWFscGhhMS5SZW1vdmVUZWFtQWNjb3VudEludml0ZVJlc3BvbnNlIgASegoXQWNjZXB0VGVhbUFjY291bnRJbnZpdGUSLS5tZ210LnYxYWxwaGExLkFjY2VwdFRlYW1BY2NvdW50SW52aXRlUmVxdWVzdBouLm1nbXQudjFhbHBoYTEuQWNjZXB0VGVhbUFjY291bnRJbnZpdGVSZXNwb25zZSIAEnQKFEdldFN5c3RlbUluZm9ybWF0aW9uEioubWdtdC52MWFscGhhMS5HZXRTeXN0ZW1JbmZvcm1hdGlvblJlcXVlc3QaKy5tZ210LnYxYWxwaGExLkdldFN5c3RlbUluZm9ybWF0aW9uUmVzcG9uc2UiA5ACARKDAQoaR2V0QWNjb3VudE9uYm9hcmRpbmdDb25maWcSMC5tZ210LnYxYWxwaGExLkdldEFjY291bnRPbmJvYXJkaW5nQ29uZmlnUmVxdWVzdBoxLm1nbXQudjFhbHBoYTEuR2V0QWNjb3VudE9uYm9hcmRpbmdDb25maWdSZXNwb25zZSIAEoMBChpTZXRBY2NvdW50T25ib2FyZGluZ0NvbmZpZxIwLm1nbXQudjFhbHBoYTEuU2V0QWNjb3VudE9uYm9hcmRpbmdDb25maWdSZXF1ZXN0GjEubWdtdC52MWFscGhhMS5TZXRBY2NvdW50T25ib2FyZGluZ0NvbmZpZ1Jlc3BvbnNlIgASaAoQR2V0QWNjb3VudFN0YXR1cxImLm1nbXQudjFhbHBoYTEuR2V0QWNjb3VudFN0YXR1c1JlcXVlc3QaJy5tZ210LnYxYWxwaGExLkdldEFjY291bnRTdGF0dXNSZXNwb25zZSIDkAIBEnQKFElzQWNjb3VudFN0YXR1c1ZhbGlkEioubWdtdC52MWFscGhhMS5Jc0FjY291bnRTdGF0dXNWYWxpZFJlcXVlc3QaKy5tZ210LnYxYWxwaGExLklzQWNjb3VudFN0YXR1c1ZhbGlkUmVzcG9uc2UiA5ACARKVAQogR2V0QWNjb3VudEJpbGxpbmdDaGVja291dFNlc3Npb24SNi5tZ210LnYxYWxwaGExLkdldEFjY291bnRCaWxsaW5nQ2hlY2tvdXRTZXNzaW9uUmVxdWVzdBo3Lm1nbXQudjFhbHBoYTEuR2V0QWNjb3VudEJpbGxpbmdDaGVja291dFNlc3Npb25SZXNwb25zZSIAEo8BCh5HZXRBY2NvdW50QmlsbGluZ1BvcnRhbFNlc3Npb24SNC5tZ210LnYxYWxwaGExLkdldEFjY291bnRCaWxsaW5nUG9ydGFsU2Vzc2lvblJlcXVlc3QaNS5tZ210LnYxYWxwaGExLkdldEFjY291bnRCaWxsaW5nUG9ydGFsU2Vzc2lvblJlc3BvbnNlIgASbgoSR2V0QmlsbGluZ0FjY291bnRzEigubWdtdC52MWFscGhhMS5HZXRCaWxsaW5nQWNjb3VudHNSZXF1ZXN0GikubWdtdC52MWFscGhhMS5HZXRCaWxsaW5nQWNjb3VudHNSZXNwb25zZSIDkAIBEnEKFFNldEJpbGxpbmdNZXRlckV2ZW50EioubWdtdC52MWFscGhhMS5TZXRCaWxsaW5nTWV0ZXJFdmVudFJlcXVlc3QaKy5tZ210LnYxYWxwaGExLlNldEJpbGxpbmdNZXRlckV2ZW50UmVzcG9uc2UiABJWCgtTZXRVc2VyUm9sZRIhLm1nbXQudjFhbHBoYTEuU2V0VXNlclJvbGVSZXF1ZXN0GiIubWdtdC52MWFscGhhMS5TZXRVc2VyUm9sZVJlc3BvbnNlIgBCzAEKEWNvbS5tZ210LnYxYWxwaGExQhBVc2VyQWNjb3VudFByb3RvUAFaUGdpdGh1Yi5jb20vbnVjbGV1c2Nsb3VkL25lb3N5bmMvYmFja2VuZC9nZW4vZ28vcHJvdG9zL21nbXQvdjFhbHBoYTE7bWdtdHYxYWxwaGExogIDTVhYqgINTWdtdC5WMWFscGhhMcoCDU1nbXRcVjFhbHBoYTHiAhlNZ210XFYxYWxwaGExXEdQQk1ldGFkYXRh6gIOTWdtdDo6VjFhbHBoYTFiBnByb3RvMw", [file_buf_validate_validate, file_google_protobuf_timestamp]); + fileDesc("CiBtZ210L3YxYWxwaGExL3VzZXJfYWNjb3VudC5wcm90bxINbWdtdC52MWFscGhhMSIQCg5HZXRVc2VyUmVxdWVzdCIiCg9HZXRVc2VyUmVzcG9uc2USDwoHdXNlcl9pZBgBIAEoCSIQCg5TZXRVc2VyUmVxdWVzdCIiCg9TZXRVc2VyUmVzcG9uc2USDwoHdXNlcl9pZBgBIAEoCSIYChZHZXRVc2VyQWNjb3VudHNSZXF1ZXN0IkcKF0dldFVzZXJBY2NvdW50c1Jlc3BvbnNlEiwKCGFjY291bnRzGAEgAygLMhoubWdtdC52MWFscGhhMS5Vc2VyQWNjb3VudCJ1CgtVc2VyQWNjb3VudBIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEiwKBHR5cGUYAyABKA4yHi5tZ210LnYxYWxwaGExLlVzZXJBY2NvdW50VHlwZRIeChZoYXNfc3RyaXBlX2N1c3RvbWVyX2lkGAQgASgIIoABCiNDb252ZXJ0UGVyc29uYWxUb1RlYW1BY2NvdW50UmVxdWVzdBInCgRuYW1lGAEgASgJQhm6SBZyFDISXlthLXowLTktXXszLDEwMH0kEiEKCmFjY291bnRfaWQYAiABKAlCCLpIBXIDsAEBSACIAQFCDQoLX2FjY291bnRfaWQilwEKJENvbnZlcnRQZXJzb25hbFRvVGVhbUFjY291bnRSZXNwb25zZRISCgphY2NvdW50X2lkGAEgASgJEiEKFGNoZWNrb3V0X3Nlc3Npb25fdXJsGAIgASgJSACIAQESHwoXbmV3X3BlcnNvbmFsX2FjY291bnRfaWQYAyABKAlCFwoVX2NoZWNrb3V0X3Nlc3Npb25fdXJsIhsKGVNldFBlcnNvbmFsQWNjb3VudFJlcXVlc3QiMAoaU2V0UGVyc29uYWxBY2NvdW50UmVzcG9uc2USEgoKYWNjb3VudF9pZBgBIAEoCSI2ChZJc1VzZXJJbkFjY291bnRSZXF1ZXN0EhwKCmFjY291bnRfaWQYASABKAlCCLpIBXIDsAEBIiUKF0lzVXNlckluQWNjb3VudFJlc3BvbnNlEgoKAm9rGAEgASgIIj8KH0dldEFjY291bnRUZW1wb3JhbENvbmZpZ1JlcXVlc3QSHAoKYWNjb3VudF9pZBgBIAEoCUIIukgFcgOwAQEiWAogR2V0QWNjb3VudFRlbXBvcmFsQ29uZmlnUmVzcG9uc2USNAoGY29uZmlnGAEgASgLMiQubWdtdC52MWFscGhhMS5BY2NvdW50VGVtcG9yYWxDb25maWcidQofU2V0QWNjb3VudFRlbXBvcmFsQ29uZmlnUmVxdWVzdBIcCgphY2NvdW50X2lkGAEgASgJQgi6SAVyA7ABARI0CgZjb25maWcYAiABKAsyJC5tZ210LnYxYWxwaGExLkFjY291bnRUZW1wb3JhbENvbmZpZyJYCiBTZXRBY2NvdW50VGVtcG9yYWxDb25maWdSZXNwb25zZRI0CgZjb25maWcYASABKAsyJC5tZ210LnYxYWxwaGExLkFjY291bnRUZW1wb3JhbENvbmZpZyJvChVBY2NvdW50VGVtcG9yYWxDb25maWcSFAoDdXJsGAEgASgJQge6SARyAhABEhoKCW5hbWVzcGFjZRgCIAEoCUIHukgEcgIQARIkChNzeW5jX2pvYl9xdWV1ZV9uYW1lGAMgASgJQge6SARyAhABIkMKGENyZWF0ZVRlYW1BY2NvdW50UmVxdWVzdBInCgRuYW1lGAEgASgJQhm6SBZyFDISXlthLXowLTktXXszLDEwMH0kImsKGUNyZWF0ZVRlYW1BY2NvdW50UmVzcG9uc2USEgoKYWNjb3VudF9pZBgBIAEoCRIhChRjaGVja291dF9zZXNzaW9uX3VybBgCIAEoCUgAiAEBQhcKFV9jaGVja291dF9zZXNzaW9uX3VybCJvCgtBY2NvdW50VXNlchIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEg0KBWltYWdlGAMgASgJEg0KBWVtYWlsGAQgASgJEigKBHJvbGUYBSABKA4yGi5tZ210LnYxYWxwaGExLkFjY291bnRSb2xlIjwKHEdldFRlYW1BY2NvdW50TWVtYmVyc1JlcXVlc3QSHAoKYWNjb3VudF9pZBgBIAEoCUIIukgFcgOwAQEiSgodR2V0VGVhbUFjY291bnRNZW1iZXJzUmVzcG9uc2USKQoFdXNlcnMYASADKAsyGi5tZ210LnYxYWxwaGExLkFjY291bnRVc2VyIlkKHlJlbW92ZVRlYW1BY2NvdW50TWVtYmVyUmVxdWVzdBIZCgd1c2VyX2lkGAEgASgJQgi6SAVyA7ABARIcCgphY2NvdW50X2lkGAIgASgJQgi6SAVyA7ABASIhCh9SZW1vdmVUZWFtQWNjb3VudE1lbWJlclJlc3BvbnNlIo4BCh5JbnZpdGVVc2VyVG9UZWFtQWNjb3VudFJlcXVlc3QSHAoKYWNjb3VudF9pZBgBIAEoCUIIukgFcgOwAQESFgoFZW1haWwYAiABKAlCB7pIBHICEAESLQoEcm9sZRgDIAEoDjIaLm1nbXQudjFhbHBoYTEuQWNjb3VudFJvbGVIAIgBAUIHCgVfcm9sZSKxAgoNQWNjb3VudEludml0ZRIKCgJpZBgBIAEoCRISCgphY2NvdW50X2lkGAIgASgJEhYKDnNlbmRlcl91c2VyX2lkGAMgASgJEg0KBWVtYWlsGAQgASgJEg0KBXRva2VuGAUgASgJEhAKCGFjY2VwdGVkGAYgASgIEi4KCmNyZWF0ZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCmV4cGlyZXNfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEigKBHJvbGUYCiABKA4yGi5tZ210LnYxYWxwaGExLkFjY291bnRSb2xlIk8KH0ludml0ZVVzZXJUb1RlYW1BY2NvdW50UmVzcG9uc2USLAoGaW52aXRlGAEgASgLMhwubWdtdC52MWFscGhhMS5BY2NvdW50SW52aXRlIjwKHEdldFRlYW1BY2NvdW50SW52aXRlc1JlcXVlc3QSHAoKYWNjb3VudF9pZBgBIAEoCUIIukgFcgOwAQEiTgodR2V0VGVhbUFjY291bnRJbnZpdGVzUmVzcG9uc2USLQoHaW52aXRlcxgBIAMoCzIcLm1nbXQudjFhbHBoYTEuQWNjb3VudEludml0ZSI2Ch5SZW1vdmVUZWFtQWNjb3VudEludml0ZVJlcXVlc3QSFAoCaWQYASABKAlCCLpIBXIDsAEBIiEKH1JlbW92ZVRlYW1BY2NvdW50SW52aXRlUmVzcG9uc2UiOAoeQWNjZXB0VGVhbUFjY291bnRJbnZpdGVSZXF1ZXN0EhYKBXRva2VuGAEgASgJQge6SARyAhABIk4KH0FjY2VwdFRlYW1BY2NvdW50SW52aXRlUmVzcG9uc2USKwoHYWNjb3VudBgBIAEoCzIaLm1nbXQudjFhbHBoYTEuVXNlckFjY291bnQiHQobR2V0U3lzdGVtSW5mb3JtYXRpb25SZXF1ZXN0IsIBChxHZXRTeXN0ZW1JbmZvcm1hdGlvblJlc3BvbnNlEg8KB3ZlcnNpb24YASABKAkSDgoGY29tbWl0GAIgASgJEhAKCGNvbXBpbGVyGAMgASgJEhAKCHBsYXRmb3JtGAQgASgJEi4KCmJ1aWxkX2RhdGUYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi0KB2xpY2Vuc2UYBiABKAsyHC5tZ210LnYxYWxwaGExLlN5c3RlbUxpY2Vuc2UiawoNU3lzdGVtTGljZW5zZRIQCghpc192YWxpZBgBIAEoCBIuCgpleHBpcmVzX2F0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIYChBpc19uZW9zeW5jX2Nsb3VkGAMgASgIIkEKIUdldEFjY291bnRPbmJvYXJkaW5nQ29uZmlnUmVxdWVzdBIcCgphY2NvdW50X2lkGAEgASgJQgi6SAVyA7ABASJcCiJHZXRBY2NvdW50T25ib2FyZGluZ0NvbmZpZ1Jlc3BvbnNlEjYKBmNvbmZpZxgBIAEoCzImLm1nbXQudjFhbHBoYTEuQWNjb3VudE9uYm9hcmRpbmdDb25maWcieQohU2V0QWNjb3VudE9uYm9hcmRpbmdDb25maWdSZXF1ZXN0EhwKCmFjY291bnRfaWQYASABKAlCCLpIBXIDsAEBEjYKBmNvbmZpZxgCIAEoCzImLm1nbXQudjFhbHBoYTEuQWNjb3VudE9uYm9hcmRpbmdDb25maWciXAoiU2V0QWNjb3VudE9uYm9hcmRpbmdDb25maWdSZXNwb25zZRI2CgZjb25maWcYASABKAsyJi5tZ210LnYxYWxwaGExLkFjY291bnRPbmJvYXJkaW5nQ29uZmlnIlMKF0FjY291bnRPbmJvYXJkaW5nQ29uZmlnEiAKGGhhc19jb21wbGV0ZWRfb25ib2FyZGluZxgFIAEoCEoECAEQAkoECAIQA0oECAMQBEoECAQQBSI3ChdHZXRBY2NvdW50U3RhdHVzUmVxdWVzdBIcCgphY2NvdW50X2lkGAEgASgJQgi6SAVyA7ABASKsAQoYR2V0QWNjb3VudFN0YXR1c1Jlc3BvbnNlEhkKEXVzZWRfcmVjb3JkX2NvdW50GAEgASgEEiEKFGFsbG93ZWRfcmVjb3JkX2NvdW50GAIgASgESACIAQESOQoTc3Vic2NyaXB0aW9uX3N0YXR1cxgDIAEoDjIcLm1nbXQudjFhbHBoYTEuQmlsbGluZ1N0YXR1c0IXChVfYWxsb3dlZF9yZWNvcmRfY291bnQiewobSXNBY2NvdW50U3RhdHVzVmFsaWRSZXF1ZXN0EhwKCmFjY291bnRfaWQYASABKAlCCLpIBXIDsAEBEiMKFnJlcXVlc3RlZF9yZWNvcmRfY291bnQYAiABKARIAIgBAUIZChdfcmVxdWVzdGVkX3JlY29yZF9jb3VudCL3AQocSXNBY2NvdW50U3RhdHVzVmFsaWRSZXNwb25zZRIQCghpc192YWxpZBgBIAEoCBITCgZyZWFzb24YAiABKAlIAIgBARITCgtzaG91bGRfcG9sbBgDIAEoCBI0Cg5hY2NvdW50X3N0YXR1cxgGIAEoDjIcLm1nbXQudjFhbHBoYTEuQWNjb3VudFN0YXR1cxI5ChB0cmlhbF9leHBpcmVzX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgBiAEBQgkKB19yZWFzb25CEwoRX3RyaWFsX2V4cGlyZXNfYXRKBAgEEAVKBAgFEAYiRwonR2V0QWNjb3VudEJpbGxpbmdDaGVja291dFNlc3Npb25SZXF1ZXN0EhwKCmFjY291bnRfaWQYASABKAlCCLpIBXIDsAEBIkgKKEdldEFjY291bnRCaWxsaW5nQ2hlY2tvdXRTZXNzaW9uUmVzcG9uc2USHAoUY2hlY2tvdXRfc2Vzc2lvbl91cmwYASABKAkiRQolR2V0QWNjb3VudEJpbGxpbmdQb3J0YWxTZXNzaW9uUmVxdWVzdBIcCgphY2NvdW50X2lkGAEgASgJQgi6SAVyA7ABASJECiZHZXRBY2NvdW50QmlsbGluZ1BvcnRhbFNlc3Npb25SZXNwb25zZRIaChJwb3J0YWxfc2Vzc2lvbl91cmwYASABKAkiMAoZR2V0QmlsbGluZ0FjY291bnRzUmVxdWVzdBITCgthY2NvdW50X2lkcxgBIAMoCSJKChpHZXRCaWxsaW5nQWNjb3VudHNSZXNwb25zZRIsCghhY2NvdW50cxgBIAMoCzIaLm1nbXQudjFhbHBoYTEuVXNlckFjY291bnQisQEKG1NldEJpbGxpbmdNZXRlckV2ZW50UmVxdWVzdBIcCgphY2NvdW50X2lkGAEgASgJQgi6SAVyA7ABARIbCgpldmVudF9uYW1lGAIgASgJQge6SARyAhABEhYKBXZhbHVlGAMgASgJQge6SARyAhABEhkKCGV2ZW50X2lkGAQgASgJQge6SARyAhABEhYKCXRpbWVzdGFtcBgFIAEoBEgAiAEBQgwKCl90aW1lc3RhbXAiHgocU2V0QmlsbGluZ01ldGVyRXZlbnRSZXNwb25zZSJ3ChJTZXRVc2VyUm9sZVJlcXVlc3QSHAoKYWNjb3VudF9pZBgBIAEoCUIIukgFcgOwAQESGQoHdXNlcl9pZBgCIAEoCUIIukgFcgOwAQESKAoEcm9sZRgDIAEoDjIaLm1nbXQudjFhbHBoYTEuQWNjb3VudFJvbGUiFQoTU2V0VXNlclJvbGVSZXNwb25zZSqSAQoPVXNlckFjY291bnRUeXBlEiEKHVVTRVJfQUNDT1VOVF9UWVBFX1VOU1BFQ0lGSUVEEAASHgoaVVNFUl9BQ0NPVU5UX1RZUEVfUEVSU09OQUwQARIaChZVU0VSX0FDQ09VTlRfVFlQRV9URUFNEAISIAocVVNFUl9BQ0NPVU5UX1RZUEVfRU5URVJQUklTRRADKqkBCg1CaWxsaW5nU3RhdHVzEh4KGkJJTExJTkdfU1RBVFVTX1VOU1BFQ0lGSUVEEAASGQoVQklMTElOR19TVEFUVVNfQUNUSVZFEAESGgoWQklMTElOR19TVEFUVVNfRVhQSVJFRBACEh8KG0JJTExJTkdfU1RBVFVTX1RSSUFMX0FDVElWRRADEiAKHEJJTExJTkdfU1RBVFVTX1RSSUFMX0VYUElSRUQQBCqQAgoNQWNjb3VudFN0YXR1cxIlCiFBQ0NPVU5UX1NUQVRVU19SRUFTT05fVU5TUEVDSUZJRUQQABIrCidBQ0NPVU5UX1NUQVRVU19BQ0NPVU5UX0lOX0VYUElSRURfU1RBVEUQAxInCiNBQ0NPVU5UX1NUQVRVU19BQ0NPVU5UX1RSSUFMX0FDVElWRRAEEigKJEFDQ09VTlRfU1RBVFVTX0FDQ09VTlRfVFJJQUxfRVhQSVJFRBAFIgQIARABIgQIAhACKiRBQ0NPVU5UX1NUQVRVU19FWENFRURTX0FMTE9XRURfTElNSVQqJkFDQ09VTlRfU1RBVFVTX1JFUVVFU1RFRF9FWENFRURTX0xJTUlUKp8BCgtBY2NvdW50Um9sZRIcChhBQ0NPVU5UX1JPTEVfVU5TUEVDSUZJRUQQABIWChJBQ0NPVU5UX1JPTEVfQURNSU4QARIeChpBQ0NPVU5UX1JPTEVfSk9CX0RFVkVMT1BFUhACEhsKF0FDQ09VTlRfUk9MRV9KT0JfVklFV0VSEAMSHQoZQUNDT1VOVF9ST0xFX0pPQl9FWEVDVVRPUhAEMpEXChJVc2VyQWNjb3VudFNlcnZpY2USTQoHR2V0VXNlchIdLm1nbXQudjFhbHBoYTEuR2V0VXNlclJlcXVlc3QaHi5tZ210LnYxYWxwaGExLkdldFVzZXJSZXNwb25zZSIDkAIBEkoKB1NldFVzZXISHS5tZ210LnYxYWxwaGExLlNldFVzZXJSZXF1ZXN0Gh4ubWdtdC52MWFscGhhMS5TZXRVc2VyUmVzcG9uc2UiABJlCg9HZXRVc2VyQWNjb3VudHMSJS5tZ210LnYxYWxwaGExLkdldFVzZXJBY2NvdW50c1JlcXVlc3QaJi5tZ210LnYxYWxwaGExLkdldFVzZXJBY2NvdW50c1Jlc3BvbnNlIgOQAgESawoSU2V0UGVyc29uYWxBY2NvdW50EigubWdtdC52MWFscGhhMS5TZXRQZXJzb25hbEFjY291bnRSZXF1ZXN0GikubWdtdC52MWFscGhhMS5TZXRQZXJzb25hbEFjY291bnRSZXNwb25zZSIAEokBChxDb252ZXJ0UGVyc29uYWxUb1RlYW1BY2NvdW50EjIubWdtdC52MWFscGhhMS5Db252ZXJ0UGVyc29uYWxUb1RlYW1BY2NvdW50UmVxdWVzdBozLm1nbXQudjFhbHBoYTEuQ29udmVydFBlcnNvbmFsVG9UZWFtQWNjb3VudFJlc3BvbnNlIgASaAoRQ3JlYXRlVGVhbUFjY291bnQSJy5tZ210LnYxYWxwaGExLkNyZWF0ZVRlYW1BY2NvdW50UmVxdWVzdBooLm1nbXQudjFhbHBoYTEuQ3JlYXRlVGVhbUFjY291bnRSZXNwb25zZSIAEmIKD0lzVXNlckluQWNjb3VudBIlLm1nbXQudjFhbHBoYTEuSXNVc2VySW5BY2NvdW50UmVxdWVzdBomLm1nbXQudjFhbHBoYTEuSXNVc2VySW5BY2NvdW50UmVzcG9uc2UiABKAAQoYR2V0QWNjb3VudFRlbXBvcmFsQ29uZmlnEi4ubWdtdC52MWFscGhhMS5HZXRBY2NvdW50VGVtcG9yYWxDb25maWdSZXF1ZXN0Gi8ubWdtdC52MWFscGhhMS5HZXRBY2NvdW50VGVtcG9yYWxDb25maWdSZXNwb25zZSIDkAIBEn0KGFNldEFjY291bnRUZW1wb3JhbENvbmZpZxIuLm1nbXQudjFhbHBoYTEuU2V0QWNjb3VudFRlbXBvcmFsQ29uZmlnUmVxdWVzdBovLm1nbXQudjFhbHBoYTEuU2V0QWNjb3VudFRlbXBvcmFsQ29uZmlnUmVzcG9uc2UiABJ3ChVHZXRUZWFtQWNjb3VudE1lbWJlcnMSKy5tZ210LnYxYWxwaGExLkdldFRlYW1BY2NvdW50TWVtYmVyc1JlcXVlc3QaLC5tZ210LnYxYWxwaGExLkdldFRlYW1BY2NvdW50TWVtYmVyc1Jlc3BvbnNlIgOQAgESegoXUmVtb3ZlVGVhbUFjY291bnRNZW1iZXISLS5tZ210LnYxYWxwaGExLlJlbW92ZVRlYW1BY2NvdW50TWVtYmVyUmVxdWVzdBouLm1nbXQudjFhbHBoYTEuUmVtb3ZlVGVhbUFjY291bnRNZW1iZXJSZXNwb25zZSIAEnoKF0ludml0ZVVzZXJUb1RlYW1BY2NvdW50Ei0ubWdtdC52MWFscGhhMS5JbnZpdGVVc2VyVG9UZWFtQWNjb3VudFJlcXVlc3QaLi5tZ210LnYxYWxwaGExLkludml0ZVVzZXJUb1RlYW1BY2NvdW50UmVzcG9uc2UiABJ3ChVHZXRUZWFtQWNjb3VudEludml0ZXMSKy5tZ210LnYxYWxwaGExLkdldFRlYW1BY2NvdW50SW52aXRlc1JlcXVlc3QaLC5tZ210LnYxYWxwaGExLkdldFRlYW1BY2NvdW50SW52aXRlc1Jlc3BvbnNlIgOQAgESegoXUmVtb3ZlVGVhbUFjY291bnRJbnZpdGUSLS5tZ210LnYxYWxwaGExLlJlbW92ZVRlYW1BY2NvdW50SW52aXRlUmVxdWVzdBouLm1nbXQudjFhbHBoYTEuUmVtb3ZlVGVhbUFjY291bnRJbnZpdGVSZXNwb25zZSIAEnoKF0FjY2VwdFRlYW1BY2NvdW50SW52aXRlEi0ubWdtdC52MWFscGhhMS5BY2NlcHRUZWFtQWNjb3VudEludml0ZVJlcXVlc3QaLi5tZ210LnYxYWxwaGExLkFjY2VwdFRlYW1BY2NvdW50SW52aXRlUmVzcG9uc2UiABJ0ChRHZXRTeXN0ZW1JbmZvcm1hdGlvbhIqLm1nbXQudjFhbHBoYTEuR2V0U3lzdGVtSW5mb3JtYXRpb25SZXF1ZXN0GisubWdtdC52MWFscGhhMS5HZXRTeXN0ZW1JbmZvcm1hdGlvblJlc3BvbnNlIgOQAgEShgEKGkdldEFjY291bnRPbmJvYXJkaW5nQ29uZmlnEjAubWdtdC52MWFscGhhMS5HZXRBY2NvdW50T25ib2FyZGluZ0NvbmZpZ1JlcXVlc3QaMS5tZ210LnYxYWxwaGExLkdldEFjY291bnRPbmJvYXJkaW5nQ29uZmlnUmVzcG9uc2UiA5ACARKDAQoaU2V0QWNjb3VudE9uYm9hcmRpbmdDb25maWcSMC5tZ210LnYxYWxwaGExLlNldEFjY291bnRPbmJvYXJkaW5nQ29uZmlnUmVxdWVzdBoxLm1nbXQudjFhbHBoYTEuU2V0QWNjb3VudE9uYm9hcmRpbmdDb25maWdSZXNwb25zZSIAEmgKEEdldEFjY291bnRTdGF0dXMSJi5tZ210LnYxYWxwaGExLkdldEFjY291bnRTdGF0dXNSZXF1ZXN0GicubWdtdC52MWFscGhhMS5HZXRBY2NvdW50U3RhdHVzUmVzcG9uc2UiA5ACARJ0ChRJc0FjY291bnRTdGF0dXNWYWxpZBIqLm1nbXQudjFhbHBoYTEuSXNBY2NvdW50U3RhdHVzVmFsaWRSZXF1ZXN0GisubWdtdC52MWFscGhhMS5Jc0FjY291bnRTdGF0dXNWYWxpZFJlc3BvbnNlIgOQAgESmAEKIEdldEFjY291bnRCaWxsaW5nQ2hlY2tvdXRTZXNzaW9uEjYubWdtdC52MWFscGhhMS5HZXRBY2NvdW50QmlsbGluZ0NoZWNrb3V0U2Vzc2lvblJlcXVlc3QaNy5tZ210LnYxYWxwaGExLkdldEFjY291bnRCaWxsaW5nQ2hlY2tvdXRTZXNzaW9uUmVzcG9uc2UiA5ACARKSAQoeR2V0QWNjb3VudEJpbGxpbmdQb3J0YWxTZXNzaW9uEjQubWdtdC52MWFscGhhMS5HZXRBY2NvdW50QmlsbGluZ1BvcnRhbFNlc3Npb25SZXF1ZXN0GjUubWdtdC52MWFscGhhMS5HZXRBY2NvdW50QmlsbGluZ1BvcnRhbFNlc3Npb25SZXNwb25zZSIDkAIBEm4KEkdldEJpbGxpbmdBY2NvdW50cxIoLm1nbXQudjFhbHBoYTEuR2V0QmlsbGluZ0FjY291bnRzUmVxdWVzdBopLm1nbXQudjFhbHBoYTEuR2V0QmlsbGluZ0FjY291bnRzUmVzcG9uc2UiA5ACARJxChRTZXRCaWxsaW5nTWV0ZXJFdmVudBIqLm1nbXQudjFhbHBoYTEuU2V0QmlsbGluZ01ldGVyRXZlbnRSZXF1ZXN0GisubWdtdC52MWFscGhhMS5TZXRCaWxsaW5nTWV0ZXJFdmVudFJlc3BvbnNlIgASVgoLU2V0VXNlclJvbGUSIS5tZ210LnYxYWxwaGExLlNldFVzZXJSb2xlUmVxdWVzdBoiLm1nbXQudjFhbHBoYTEuU2V0VXNlclJvbGVSZXNwb25zZSIAQswBChFjb20ubWdtdC52MWFscGhhMUIQVXNlckFjY291bnRQcm90b1ABWlBnaXRodWIuY29tL251Y2xldXNjbG91ZC9uZW9zeW5jL2JhY2tlbmQvZ2VuL2dvL3Byb3Rvcy9tZ210L3YxYWxwaGExO21nbXR2MWFscGhhMaICA01YWKoCDU1nbXQuVjFhbHBoYTHKAg1NZ210XFYxYWxwaGEx4gIZTWdtdFxWMWFscGhhMVxHUEJNZXRhZGF0YeoCDk1nbXQ6OlYxYWxwaGExYgZwcm90bzM", [file_buf_validate_validate, file_google_protobuf_timestamp]); /** * @generated from message mgmt.v1alpha1.GetUserRequest @@ -33,6 +33,8 @@ export const GetUserRequestSchema: GenMessage = /*@__PURE__*/ */ export type GetUserResponse = Message<"mgmt.v1alpha1.GetUserResponse"> & { /** + * The unique identifier of the user that was retrieved. + * * @generated from field: string user_id = 1; */ userId: string; @@ -63,6 +65,8 @@ export const SetUserRequestSchema: GenMessage = /*@__PURE__*/ */ export type SetUserResponse = Message<"mgmt.v1alpha1.SetUserResponse"> & { /** + * The unique identifier of the user that was created. + * * @generated from field: string user_id = 1; */ userId: string; @@ -93,6 +97,8 @@ export const GetUserAccountsRequestSchema: GenMessage = */ export type GetUserAccountsResponse = Message<"mgmt.v1alpha1.GetUserAccountsResponse"> & { /** + * The list of accounts that the user belongs to. + * * @generated from field: repeated mgmt.v1alpha1.UserAccount accounts = 1; */ accounts: UserAccount[]; @@ -223,6 +229,8 @@ export const SetPersonalAccountRequestSchema: GenMessage & { /** + * The unique identifier of the personal account that was created. + * * @generated from field: string account_id = 1; */ accountId: string; @@ -240,6 +248,8 @@ export const SetPersonalAccountResponseSchema: GenMessage & { /** + * The unique identifier of the account to check if the user is in. + * * @generated from field: string account_id = 1; */ accountId: string; @@ -257,6 +267,8 @@ export const IsUserInAccountRequestSchema: GenMessage = */ export type IsUserInAccountResponse = Message<"mgmt.v1alpha1.IsUserInAccountResponse"> & { /** + * Whether or not the user is in the account. + * * @generated from field: bool ok = 1; */ ok: boolean; @@ -274,6 +286,8 @@ export const IsUserInAccountResponseSchema: GenMessage */ export type GetAccountTemporalConfigRequest = Message<"mgmt.v1alpha1.GetAccountTemporalConfigRequest"> & { /** + * The unique identifier of the account to get the temporal config for. + * * @generated from field: string account_id = 1; */ accountId: string; @@ -291,6 +305,8 @@ export const GetAccountTemporalConfigRequestSchema: GenMessage & { /** + * The temporal config for the account. + * * @generated from field: mgmt.v1alpha1.AccountTemporalConfig config = 1; */ config?: AccountTemporalConfig; @@ -308,11 +324,15 @@ export const GetAccountTemporalConfigResponseSchema: GenMessage & { /** + * The unique identifier of the account to set the temporal config for. + * * @generated from field: string account_id = 1; */ accountId: string; /** + * The temporal config to set for the account. + * * @generated from field: mgmt.v1alpha1.AccountTemporalConfig config = 2; */ config?: AccountTemporalConfig; @@ -330,6 +350,8 @@ export const SetAccountTemporalConfigRequestSchema: GenMessage & { /** + * The temporal config that was set for the account. + * * @generated from field: mgmt.v1alpha1.AccountTemporalConfig config = 1; */ config?: AccountTemporalConfig; @@ -347,16 +369,22 @@ export const SetAccountTemporalConfigResponseSchema: GenMessage & { /** + * The temporal url for the account. + * * @generated from field: string url = 1; */ url: string; /** + * The temporal namespace for the account. + * * @generated from field: string namespace = 2; */ namespace: string; /** + * The temporal sync job queue name for the account. + * * @generated from field: string sync_job_queue_name = 3; */ syncJobQueueName: string; @@ -393,6 +421,8 @@ export const CreateTeamAccountRequestSchema: GenMessage & { /** + * The unique identifier of the team account that was created. + * * @generated from field: string account_id = 1; */ accountId: string; @@ -417,21 +447,29 @@ export const CreateTeamAccountResponseSchema: GenMessage & { /** + * The unique identifier of the user. + * * @generated from field: string id = 1; */ id: string; /** + * The name of the user (if there is one) + * * @generated from field: string name = 2; */ name: string; /** + * The image of the user (if there is one) + * * @generated from field: string image = 3; */ image: string; /** + * The email of the user. + * * @generated from field: string email = 4; */ email: string; @@ -456,6 +494,8 @@ export const AccountUserSchema: GenMessage = /*@__PURE__*/ */ export type GetTeamAccountMembersRequest = Message<"mgmt.v1alpha1.GetTeamAccountMembersRequest"> & { /** + * The unique identifier of the account to get the members for. + * * @generated from field: string account_id = 1; */ accountId: string; @@ -490,11 +530,15 @@ export const GetTeamAccountMembersResponseSchema: GenMessage & { /** + * The unique identifier of the user to remove from the account. + * * @generated from field: string user_id = 1; */ userId: string; /** + * The unique identifier of the account to remove the user from. + * * @generated from field: string account_id = 2; */ accountId: string; @@ -525,14 +569,14 @@ export const RemoveTeamAccountMemberResponseSchema: GenMessage & { /** - * The account id to invite the user to + * The unique identifier of the account to invite the user to. * * @generated from field: string account_id = 1; */ accountId: string; /** - * The email of the user to invite + * The email of the user to invite. * * @generated from field: string email = 2; */ @@ -558,46 +602,64 @@ export const InviteUserToTeamAccountRequestSchema: GenMessage & { /** + * The unique identifier of the invite. + * * @generated from field: string id = 1; */ id: string; /** + * The unique identifier of the account to invite the user to. + * * @generated from field: string account_id = 2; */ accountId: string; /** + * The unique identifier of the user that sent the invite. + * * @generated from field: string sender_user_id = 3; */ senderUserId: string; /** + * The email of the user to invite. + * * @generated from field: string email = 4; */ email: string; /** + * The token that the user will use to accept the invite. + * * @generated from field: string token = 5; */ token: string; /** + * Whether or not the invite has been accepted. + * * @generated from field: bool accepted = 6; */ accepted: boolean; /** + * The time when the invite was created. + * * @generated from field: google.protobuf.Timestamp created_at = 7; */ createdAt?: Timestamp; /** + * The time when the invite was last updated. + * * @generated from field: google.protobuf.Timestamp updated_at = 8; */ updatedAt?: Timestamp; /** + * The time when the invite expires. + * * @generated from field: google.protobuf.Timestamp expires_at = 9; */ expiresAt?: Timestamp; @@ -622,6 +684,8 @@ export const AccountInviteSchema: GenMessage = /*@__PURE__*/ */ export type InviteUserToTeamAccountResponse = Message<"mgmt.v1alpha1.InviteUserToTeamAccountResponse"> & { /** + * The invite that was created. + * * @generated from field: mgmt.v1alpha1.AccountInvite invite = 1; */ invite?: AccountInvite; @@ -639,6 +703,8 @@ export const InviteUserToTeamAccountResponseSchema: GenMessage & { /** + * The unique identifier of the account to get the invites for. + * * @generated from field: string account_id = 1; */ accountId: string; @@ -656,6 +722,8 @@ export const GetTeamAccountInvitesRequestSchema: GenMessage & { /** + * The list of invites for the account. + * * @generated from field: repeated mgmt.v1alpha1.AccountInvite invites = 1; */ invites: AccountInvite[]; @@ -673,6 +741,8 @@ export const GetTeamAccountInvitesResponseSchema: GenMessage & { /** + * The unique identifier of the invite to remove. + * * @generated from field: string id = 1; */ id: string; @@ -703,6 +773,8 @@ export const RemoveTeamAccountInviteResponseSchema: GenMessage & { /** + * The token that the user will use to accept the invite. + * * @generated from field: string token = 1; */ token: string; @@ -720,6 +792,8 @@ export const AcceptTeamAccountInviteRequestSchema: GenMessage & { /** + * The account that the user was invited to. + * * @generated from field: mgmt.v1alpha1.UserAccount account = 1; */ account?: UserAccount; @@ -837,6 +911,8 @@ export const SystemLicenseSchema: GenMessage = /*@__PURE__*/ */ export type GetAccountOnboardingConfigRequest = Message<"mgmt.v1alpha1.GetAccountOnboardingConfigRequest"> & { /** + * The unique identifier of the account to get the onboarding config for. + * * @generated from field: string account_id = 1; */ accountId: string; @@ -854,6 +930,8 @@ export const GetAccountOnboardingConfigRequestSchema: GenMessage & { /** + * The onboarding config for the account. + * * @generated from field: mgmt.v1alpha1.AccountOnboardingConfig config = 1; */ config?: AccountOnboardingConfig; @@ -871,11 +949,15 @@ export const GetAccountOnboardingConfigResponseSchema: GenMessage & { /** + * The unique identifier of the account to set the onboarding config for. + * * @generated from field: string account_id = 1; */ accountId: string; /** + * The onboarding config to set for the account. + * * @generated from field: mgmt.v1alpha1.AccountOnboardingConfig config = 2; */ config?: AccountOnboardingConfig; @@ -893,6 +975,8 @@ export const SetAccountOnboardingConfigRequestSchema: GenMessage & { /** + * The onboarding config that was set for the account. + * * @generated from field: mgmt.v1alpha1.AccountOnboardingConfig config = 1; */ config?: AccountOnboardingConfig; @@ -910,6 +994,8 @@ export const SetAccountOnboardingConfigResponseSchema: GenMessage & { /** + * Whether or not the account has completed onboarding. + * * @generated from field: bool has_completed_onboarding = 5; */ hasCompletedOnboarding: boolean; @@ -927,6 +1013,8 @@ export const AccountOnboardingConfigSchema: GenMessage */ export type GetAccountStatusRequest = Message<"mgmt.v1alpha1.GetAccountStatusRequest"> & { /** + * The unique identifier of the account to get the status for. + * * @generated from field: string account_id = 1; */ accountId: string; @@ -978,6 +1066,8 @@ export const GetAccountStatusResponseSchema: GenMessage & { /** + * The unique identifier of the account to get the status for. + * * @generated from field: string account_id = 1; */ accountId: string; @@ -1002,6 +1092,8 @@ export const IsAccountStatusValidRequestSchema: GenMessage & { /** + * Whether or not the account is valid. + * * @generated from field: bool is_valid = 1; */ isValid: boolean; @@ -1047,6 +1139,8 @@ export const IsAccountStatusValidResponseSchema: GenMessage & { /** + * The unique identifier of the account to get the billing checkout session for. + * * @generated from field: string account_id = 1; */ accountId: string; @@ -1083,6 +1177,8 @@ export const GetAccountBillingCheckoutSessionResponseSchema: GenMessage & { /** + * The unique identifier of the account to get the billing portal session for. + * * @generated from field: string account_id = 1; */ accountId: string; @@ -1138,6 +1234,8 @@ export const GetBillingAccountsRequestSchema: GenMessage & { /** + * The list of accounts that have a billing id. + * * @generated from field: repeated mgmt.v1alpha1.UserAccount accounts = 1; */ accounts: UserAccount[]; @@ -1155,7 +1253,7 @@ export const GetBillingAccountsResponseSchema: GenMessage & { /** - * The account id to apply this metered event to + * The unique identifier of the account to apply this metered event to. * * @generated from field: string account_id = 1; */ @@ -1215,21 +1313,21 @@ export const SetBillingMeterEventResponseSchema: GenMessage & { /** - * The account id to apply this role to + * The unique identifier of the account to apply this role to. * * @generated from field: string account_id = 1; */ accountId: string; /** - * The user that this will be applied to + * The unique identifier of the user that this will be applied to. * * @generated from field: string user_id = 2; */ userId: string; /** - * The role that this user will obtain + * The role that this user will obtain. * * @generated from field: mgmt.v1alpha1.AccountRole role = 3; */ @@ -1266,16 +1364,22 @@ export enum UserAccountType { UNSPECIFIED = 0, /** + * A personal account is an account that is owned by a single user. + * * @generated from enum value: USER_ACCOUNT_TYPE_PERSONAL = 1; */ PERSONAL = 1, /** + * A team account is an account that is owned by a team of users. + * * @generated from enum value: USER_ACCOUNT_TYPE_TEAM = 2; */ TEAM = 2, /** + * An enterprise account is an account that is owned by an enterprise. + * * @generated from enum value: USER_ACCOUNT_TYPE_ENTERPRISE = 3; */ ENTERPRISE = 3, @@ -1418,10 +1522,14 @@ export const AccountRoleSchema: GenEnum = /*@__PURE__*/ enumDesc(file_mgmt_v1alpha1_user_account, 3); /** + * Service that manages users, accounts, and billing + * * @generated from service mgmt.v1alpha1.UserAccountService */ export const UserAccountService: GenService<{ /** + * Retrieves the current user. + * * @generated from rpc mgmt.v1alpha1.UserAccountService.GetUser */ getUser: { @@ -1430,6 +1538,8 @@ export const UserAccountService: GenService<{ output: typeof GetUserResponseSchema; }, /** + * Sets the current user. + * * @generated from rpc mgmt.v1alpha1.UserAccountService.SetUser */ setUser: { @@ -1438,6 +1548,8 @@ export const UserAccountService: GenService<{ output: typeof SetUserResponseSchema; }, /** + * Retrieves the list of accounts that the user belongs to. + * * @generated from rpc mgmt.v1alpha1.UserAccountService.GetUserAccounts */ getUserAccounts: { @@ -1446,6 +1558,8 @@ export const UserAccountService: GenService<{ output: typeof GetUserAccountsResponseSchema; }, /** + * Sets the current personal account. + * * @generated from rpc mgmt.v1alpha1.UserAccountService.SetPersonalAccount */ setPersonalAccount: { @@ -1474,6 +1588,8 @@ export const UserAccountService: GenService<{ output: typeof CreateTeamAccountResponseSchema; }, /** + * Checks if the user is in the account. + * * @generated from rpc mgmt.v1alpha1.UserAccountService.IsUserInAccount */ isUserInAccount: { @@ -1482,6 +1598,8 @@ export const UserAccountService: GenService<{ output: typeof IsUserInAccountResponseSchema; }, /** + * Retrieves the temporal config for the account. + * * @generated from rpc mgmt.v1alpha1.UserAccountService.GetAccountTemporalConfig */ getAccountTemporalConfig: { @@ -1490,6 +1608,8 @@ export const UserAccountService: GenService<{ output: typeof GetAccountTemporalConfigResponseSchema; }, /** + * Sets the temporal config for the account. + * * @generated from rpc mgmt.v1alpha1.UserAccountService.SetAccountTemporalConfig */ setAccountTemporalConfig: { @@ -1498,6 +1618,8 @@ export const UserAccountService: GenService<{ output: typeof SetAccountTemporalConfigResponseSchema; }, /** + * Retrieves the list of members in the team account. + * * @generated from rpc mgmt.v1alpha1.UserAccountService.GetTeamAccountMembers */ getTeamAccountMembers: { @@ -1506,6 +1628,8 @@ export const UserAccountService: GenService<{ output: typeof GetTeamAccountMembersResponseSchema; }, /** + * Removes a member from the team account. + * * @generated from rpc mgmt.v1alpha1.UserAccountService.RemoveTeamAccountMember */ removeTeamAccountMember: { @@ -1514,6 +1638,8 @@ export const UserAccountService: GenService<{ output: typeof RemoveTeamAccountMemberResponseSchema; }, /** + * Invites a user to the team account. + * * @generated from rpc mgmt.v1alpha1.UserAccountService.InviteUserToTeamAccount */ inviteUserToTeamAccount: { @@ -1522,6 +1648,8 @@ export const UserAccountService: GenService<{ output: typeof InviteUserToTeamAccountResponseSchema; }, /** + * Retrieves the list of invites for the team account. + * * @generated from rpc mgmt.v1alpha1.UserAccountService.GetTeamAccountInvites */ getTeamAccountInvites: { @@ -1530,6 +1658,8 @@ export const UserAccountService: GenService<{ output: typeof GetTeamAccountInvitesResponseSchema; }, /** + * Removes an invite from the team account. + * * @generated from rpc mgmt.v1alpha1.UserAccountService.RemoveTeamAccountInvite */ removeTeamAccountInvite: { @@ -1538,6 +1668,8 @@ export const UserAccountService: GenService<{ output: typeof RemoveTeamAccountInviteResponseSchema; }, /** + * Accepts an invite to the team account. + * * @generated from rpc mgmt.v1alpha1.UserAccountService.AcceptTeamAccountInvite */ acceptTeamAccountInvite: { @@ -1546,6 +1678,8 @@ export const UserAccountService: GenService<{ output: typeof AcceptTeamAccountInviteResponseSchema; }, /** + * Retrieves the system information. + * * @generated from rpc mgmt.v1alpha1.UserAccountService.GetSystemInformation */ getSystemInformation: { @@ -1554,6 +1688,8 @@ export const UserAccountService: GenService<{ output: typeof GetSystemInformationResponseSchema; }, /** + * Retrieves the onboarding config for the account. + * * @generated from rpc mgmt.v1alpha1.UserAccountService.GetAccountOnboardingConfig */ getAccountOnboardingConfig: { @@ -1562,6 +1698,8 @@ export const UserAccountService: GenService<{ output: typeof GetAccountOnboardingConfigResponseSchema; }, /** + * Sets the onboarding config for the account. + * * @generated from rpc mgmt.v1alpha1.UserAccountService.SetAccountOnboardingConfig */ setAccountOnboardingConfig: { diff --git a/python/src/neosync/mgmt/v1alpha1/anonymization_pb2_grpc.py b/python/src/neosync/mgmt/v1alpha1/anonymization_pb2_grpc.py index 5ac3097f12..28f7d8b2cc 100644 --- a/python/src/neosync/mgmt/v1alpha1/anonymization_pb2_grpc.py +++ b/python/src/neosync/mgmt/v1alpha1/anonymization_pb2_grpc.py @@ -6,7 +6,8 @@ class AnonymizationServiceStub(object): - """Missing associated documentation comment in .proto file.""" + """Service that transactionally anonymizes data, regardless of the connection type. + """ def __init__(self, channel): """Constructor. @@ -27,10 +28,11 @@ def __init__(self, channel): class AnonymizationServiceServicer(object): - """Missing associated documentation comment in .proto file.""" + """Service that transactionally anonymizes data, regardless of the connection type. + """ def AnonymizeMany(self, request, context): - """Anonymizes many JSON strings by applying specified transformation mappings. + """Anonymizes many JSON strings by applying specified transformation mappings. This is the bulk version of the `AnonymizeSingle` method. """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') @@ -65,7 +67,8 @@ def add_AnonymizationServiceServicer_to_server(servicer, server): # This class is part of an EXPERIMENTAL API. class AnonymizationService(object): - """Missing associated documentation comment in .proto file.""" + """Service that transactionally anonymizes data, regardless of the connection type. + """ @staticmethod def AnonymizeMany(request, diff --git a/python/src/neosync/mgmt/v1alpha1/api_key_pb2.py b/python/src/neosync/mgmt/v1alpha1/api_key_pb2.py index eb6b330e05..4cc6a59b3a 100644 --- a/python/src/neosync/mgmt/v1alpha1/api_key_pb2.py +++ b/python/src/neosync/mgmt/v1alpha1/api_key_pb2.py @@ -26,7 +26,7 @@ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bmgmt/v1alpha1/api_key.proto\x12\rmgmt.v1alpha1\x1a\x1b\x62uf/validate/validate.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xc3\x01\n\x1a\x43reateAccountApiKeyRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12-\n\x04name\x18\x02 \x01(\tB\x19\xbaH\x16r\x14\x32\x12^[a-z0-9-]{3,100}$R\x04name\x12M\n\nexpires_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x12\xbaH\x0f\xb2\x01\t@\x01J\x05\x08\x80\xe7\x84\x0f\xc8\x01\x01R\texpiresAt\"T\n\x1b\x43reateAccountApiKeyResponse\x12\x35\n\x07\x61pi_key\x18\x01 \x01(\x0b\x32\x1c.mgmt.v1alpha1.AccountApiKeyR\x06\x61piKey\"\x94\x03\n\rAccountApiKey\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x1d\n\naccount_id\x18\x03 \x01(\tR\taccountId\x12\"\n\rcreated_by_id\x18\x04 \x01(\tR\x0b\x63reatedById\x12\x39\n\ncreated_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\"\n\rupdated_by_id\x18\x06 \x01(\tR\x0bupdatedById\x12\x39\n\nupdated_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tupdatedAt\x12 \n\tkey_value\x18\x08 \x01(\tH\x00R\x08keyValue\x88\x01\x01\x12\x17\n\x07user_id\x18\t \x01(\tR\x06userId\x12\x39\n\nexpires_at\x18\n \x01(\x0b\x32\x1a.google.protobuf.TimestampR\texpiresAtB\x0c\n\n_key_value\"C\n\x18GetAccountApiKeysRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"T\n\x19GetAccountApiKeysResponse\x12\x37\n\x08\x61pi_keys\x18\x01 \x03(\x0b\x32\x1c.mgmt.v1alpha1.AccountApiKeyR\x07\x61piKeys\"3\n\x17GetAccountApiKeyRequest\x12\x18\n\x02id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x02id\"Q\n\x18GetAccountApiKeyResponse\x12\x35\n\x07\x61pi_key\x18\x01 \x01(\x0b\x32\x1c.mgmt.v1alpha1.AccountApiKeyR\x06\x61piKey\"\x89\x01\n\x1eRegenerateAccountApiKeyRequest\x12\x18\n\x02id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x02id\x12M\n\nexpires_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x12\xbaH\x0f\xb2\x01\t@\x01J\x05\x08\x80\xe7\x84\x0f\xc8\x01\x01R\texpiresAt\"X\n\x1fRegenerateAccountApiKeyResponse\x12\x35\n\x07\x61pi_key\x18\x01 \x01(\x0b\x32\x1c.mgmt.v1alpha1.AccountApiKeyR\x06\x61piKey\"6\n\x1a\x44\x65leteAccountApiKeyRequest\x12\x18\n\x02id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x02id\"\x1d\n\x1b\x44\x65leteAccountApiKeyResponse2\xbc\x04\n\rApiKeyService\x12h\n\x11GetAccountApiKeys\x12\'.mgmt.v1alpha1.GetAccountApiKeysRequest\x1a(.mgmt.v1alpha1.GetAccountApiKeysResponse\"\x00\x12\x65\n\x10GetAccountApiKey\x12&.mgmt.v1alpha1.GetAccountApiKeyRequest\x1a\'.mgmt.v1alpha1.GetAccountApiKeyResponse\"\x00\x12n\n\x13\x43reateAccountApiKey\x12).mgmt.v1alpha1.CreateAccountApiKeyRequest\x1a*.mgmt.v1alpha1.CreateAccountApiKeyResponse\"\x00\x12z\n\x17RegenerateAccountApiKey\x12-.mgmt.v1alpha1.RegenerateAccountApiKeyRequest\x1a..mgmt.v1alpha1.RegenerateAccountApiKeyResponse\"\x00\x12n\n\x13\x44\x65leteAccountApiKey\x12).mgmt.v1alpha1.DeleteAccountApiKeyRequest\x1a*.mgmt.v1alpha1.DeleteAccountApiKeyResponse\"\x00\x42\xc7\x01\n\x11\x63om.mgmt.v1alpha1B\x0b\x41piKeyProtoP\x01ZPgithub.com/nucleuscloud/neosync/backend/gen/go/protos/mgmt/v1alpha1;mgmtv1alpha1\xa2\x02\x03MXX\xaa\x02\rMgmt.V1alpha1\xca\x02\rMgmt\\V1alpha1\xe2\x02\x19Mgmt\\V1alpha1\\GPBMetadata\xea\x02\x0eMgmt::V1alpha1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bmgmt/v1alpha1/api_key.proto\x12\rmgmt.v1alpha1\x1a\x1b\x62uf/validate/validate.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xc3\x01\n\x1a\x43reateAccountApiKeyRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12-\n\x04name\x18\x02 \x01(\tB\x19\xbaH\x16r\x14\x32\x12^[a-z0-9-]{3,100}$R\x04name\x12M\n\nexpires_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x12\xbaH\x0f\xb2\x01\t@\x01J\x05\x08\x80\xe7\x84\x0f\xc8\x01\x01R\texpiresAt\"T\n\x1b\x43reateAccountApiKeyResponse\x12\x35\n\x07\x61pi_key\x18\x01 \x01(\x0b\x32\x1c.mgmt.v1alpha1.AccountApiKeyR\x06\x61piKey\"\x94\x03\n\rAccountApiKey\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x1d\n\naccount_id\x18\x03 \x01(\tR\taccountId\x12\"\n\rcreated_by_id\x18\x04 \x01(\tR\x0b\x63reatedById\x12\x39\n\ncreated_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\"\n\rupdated_by_id\x18\x06 \x01(\tR\x0bupdatedById\x12\x39\n\nupdated_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tupdatedAt\x12 \n\tkey_value\x18\x08 \x01(\tH\x00R\x08keyValue\x88\x01\x01\x12\x17\n\x07user_id\x18\t \x01(\tR\x06userId\x12\x39\n\nexpires_at\x18\n \x01(\x0b\x32\x1a.google.protobuf.TimestampR\texpiresAtB\x0c\n\n_key_value\"C\n\x18GetAccountApiKeysRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"T\n\x19GetAccountApiKeysResponse\x12\x37\n\x08\x61pi_keys\x18\x01 \x03(\x0b\x32\x1c.mgmt.v1alpha1.AccountApiKeyR\x07\x61piKeys\"3\n\x17GetAccountApiKeyRequest\x12\x18\n\x02id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x02id\"Q\n\x18GetAccountApiKeyResponse\x12\x35\n\x07\x61pi_key\x18\x01 \x01(\x0b\x32\x1c.mgmt.v1alpha1.AccountApiKeyR\x06\x61piKey\"\x89\x01\n\x1eRegenerateAccountApiKeyRequest\x12\x18\n\x02id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x02id\x12M\n\nexpires_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x12\xbaH\x0f\xb2\x01\t@\x01J\x05\x08\x80\xe7\x84\x0f\xc8\x01\x01R\texpiresAt\"X\n\x1fRegenerateAccountApiKeyResponse\x12\x35\n\x07\x61pi_key\x18\x01 \x01(\x0b\x32\x1c.mgmt.v1alpha1.AccountApiKeyR\x06\x61piKey\"6\n\x1a\x44\x65leteAccountApiKeyRequest\x12\x18\n\x02id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x02id\"\x1d\n\x1b\x44\x65leteAccountApiKeyResponse2\xc2\x04\n\rApiKeyService\x12k\n\x11GetAccountApiKeys\x12\'.mgmt.v1alpha1.GetAccountApiKeysRequest\x1a(.mgmt.v1alpha1.GetAccountApiKeysResponse\"\x03\x90\x02\x01\x12h\n\x10GetAccountApiKey\x12&.mgmt.v1alpha1.GetAccountApiKeyRequest\x1a\'.mgmt.v1alpha1.GetAccountApiKeyResponse\"\x03\x90\x02\x01\x12n\n\x13\x43reateAccountApiKey\x12).mgmt.v1alpha1.CreateAccountApiKeyRequest\x1a*.mgmt.v1alpha1.CreateAccountApiKeyResponse\"\x00\x12z\n\x17RegenerateAccountApiKey\x12-.mgmt.v1alpha1.RegenerateAccountApiKeyRequest\x1a..mgmt.v1alpha1.RegenerateAccountApiKeyResponse\"\x00\x12n\n\x13\x44\x65leteAccountApiKey\x12).mgmt.v1alpha1.DeleteAccountApiKeyRequest\x1a*.mgmt.v1alpha1.DeleteAccountApiKeyResponse\"\x00\x42\xc7\x01\n\x11\x63om.mgmt.v1alpha1B\x0b\x41piKeyProtoP\x01ZPgithub.com/nucleuscloud/neosync/backend/gen/go/protos/mgmt/v1alpha1;mgmtv1alpha1\xa2\x02\x03MXX\xaa\x02\rMgmt.V1alpha1\xca\x02\rMgmt\\V1alpha1\xe2\x02\x19Mgmt\\V1alpha1\\GPBMetadata\xea\x02\x0eMgmt::V1alpha1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -50,6 +50,10 @@ _globals['_REGENERATEACCOUNTAPIKEYREQUEST'].fields_by_name['expires_at']._serialized_options = b'\272H\017\262\001\t@\001J\005\010\200\347\204\017\310\001\001' _globals['_DELETEACCOUNTAPIKEYREQUEST'].fields_by_name['id']._loaded_options = None _globals['_DELETEACCOUNTAPIKEYREQUEST'].fields_by_name['id']._serialized_options = b'\272H\005r\003\260\001\001' + _globals['_APIKEYSERVICE'].methods_by_name['GetAccountApiKeys']._loaded_options = None + _globals['_APIKEYSERVICE'].methods_by_name['GetAccountApiKeys']._serialized_options = b'\220\002\001' + _globals['_APIKEYSERVICE'].methods_by_name['GetAccountApiKey']._loaded_options = None + _globals['_APIKEYSERVICE'].methods_by_name['GetAccountApiKey']._serialized_options = b'\220\002\001' _globals['_CREATEACCOUNTAPIKEYREQUEST']._serialized_start=109 _globals['_CREATEACCOUNTAPIKEYREQUEST']._serialized_end=304 _globals['_CREATEACCOUNTAPIKEYRESPONSE']._serialized_start=306 @@ -73,5 +77,5 @@ _globals['_DELETEACCOUNTAPIKEYRESPONSE']._serialized_start=1376 _globals['_DELETEACCOUNTAPIKEYRESPONSE']._serialized_end=1405 _globals['_APIKEYSERVICE']._serialized_start=1408 - _globals['_APIKEYSERVICE']._serialized_end=1980 + _globals['_APIKEYSERVICE']._serialized_end=1986 # @@protoc_insertion_point(module_scope) diff --git a/python/src/neosync/mgmt/v1alpha1/auth_pb2.py b/python/src/neosync/mgmt/v1alpha1/auth_pb2.py index 21be34020e..b6d592f5f4 100644 --- a/python/src/neosync/mgmt/v1alpha1/auth_pb2.py +++ b/python/src/neosync/mgmt/v1alpha1/auth_pb2.py @@ -25,7 +25,7 @@ from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x18mgmt/v1alpha1/auth.proto\x12\rmgmt.v1alpha1\x1a\x1b\x62uf/validate/validate.proto\"Z\n\x0fLoginCliRequest\x12\x1b\n\x04\x63ode\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x04\x63ode\x12*\n\x0credirect_uri\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x0bredirectUri\"Q\n\x10LoginCliResponse\x12=\n\x0c\x61\x63\x63\x65ss_token\x18\x01 \x01(\x0b\x32\x1a.mgmt.v1alpha1.AccessTokenR\x0b\x61\x63\x63\x65ssToken\"\x16\n\x14GetAuthStatusRequest\"6\n\x15GetAuthStatusResponse\x12\x1d\n\nis_enabled\x18\x01 \x01(\x08R\tisEnabled\"\xed\x01\n\x0b\x41\x63\x63\x65ssToken\x12!\n\x0c\x61\x63\x63\x65ss_token\x18\x01 \x01(\tR\x0b\x61\x63\x63\x65ssToken\x12(\n\rrefresh_token\x18\x02 \x01(\tH\x00R\x0crefreshToken\x88\x01\x01\x12\x1d\n\nexpires_in\x18\x03 \x01(\x03R\texpiresIn\x12\x14\n\x05scope\x18\x04 \x01(\tR\x05scope\x12\x1e\n\x08id_token\x18\x05 \x01(\tH\x01R\x07idToken\x88\x01\x01\x12\x1d\n\ntoken_type\x18\x06 \x01(\tR\ttokenTypeB\x10\n\x0e_refresh_tokenB\x0b\n\t_id_token\"\x82\x01\n\x16GetAuthorizeUrlRequest\x12\x1d\n\x05state\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x05state\x12*\n\x0credirect_uri\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x0bredirectUri\x12\x1d\n\x05scope\x18\x03 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x05scope\"+\n\x17GetAuthorizeUrlResponse\x12\x10\n\x03url\x18\x01 \x01(\tR\x03url\"A\n\x11RefreshCliRequest\x12,\n\rrefresh_token\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x0crefreshToken\"S\n\x12RefreshCliResponse\x12=\n\x0c\x61\x63\x63\x65ss_token\x18\x01 \x01(\x0b\x32\x1a.mgmt.v1alpha1.AccessTokenR\x0b\x61\x63\x63\x65ssToken\"\x13\n\x11\x43heckTokenRequest\"\x14\n\x12\x43heckTokenResponse2\xc8\x03\n\x0b\x41uthService\x12M\n\x08LoginCli\x12\x1e.mgmt.v1alpha1.LoginCliRequest\x1a\x1f.mgmt.v1alpha1.LoginCliResponse\"\x00\x12S\n\nRefreshCli\x12 .mgmt.v1alpha1.RefreshCliRequest\x1a!.mgmt.v1alpha1.RefreshCliResponse\"\x00\x12S\n\nCheckToken\x12 .mgmt.v1alpha1.CheckTokenRequest\x1a!.mgmt.v1alpha1.CheckTokenResponse\"\x00\x12\x62\n\x0fGetAuthorizeUrl\x12%.mgmt.v1alpha1.GetAuthorizeUrlRequest\x1a&.mgmt.v1alpha1.GetAuthorizeUrlResponse\"\x00\x12\\\n\rGetAuthStatus\x12#.mgmt.v1alpha1.GetAuthStatusRequest\x1a$.mgmt.v1alpha1.GetAuthStatusResponse\"\x00\x42\xc5\x01\n\x11\x63om.mgmt.v1alpha1B\tAuthProtoP\x01ZPgithub.com/nucleuscloud/neosync/backend/gen/go/protos/mgmt/v1alpha1;mgmtv1alpha1\xa2\x02\x03MXX\xaa\x02\rMgmt.V1alpha1\xca\x02\rMgmt\\V1alpha1\xe2\x02\x19Mgmt\\V1alpha1\\GPBMetadata\xea\x02\x0eMgmt::V1alpha1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x18mgmt/v1alpha1/auth.proto\x12\rmgmt.v1alpha1\x1a\x1b\x62uf/validate/validate.proto\"Z\n\x0fLoginCliRequest\x12\x1b\n\x04\x63ode\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x04\x63ode\x12*\n\x0credirect_uri\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x0bredirectUri\"Q\n\x10LoginCliResponse\x12=\n\x0c\x61\x63\x63\x65ss_token\x18\x01 \x01(\x0b\x32\x1a.mgmt.v1alpha1.AccessTokenR\x0b\x61\x63\x63\x65ssToken\"\x16\n\x14GetAuthStatusRequest\"6\n\x15GetAuthStatusResponse\x12\x1d\n\nis_enabled\x18\x01 \x01(\x08R\tisEnabled\"\xed\x01\n\x0b\x41\x63\x63\x65ssToken\x12!\n\x0c\x61\x63\x63\x65ss_token\x18\x01 \x01(\tR\x0b\x61\x63\x63\x65ssToken\x12(\n\rrefresh_token\x18\x02 \x01(\tH\x00R\x0crefreshToken\x88\x01\x01\x12\x1d\n\nexpires_in\x18\x03 \x01(\x03R\texpiresIn\x12\x14\n\x05scope\x18\x04 \x01(\tR\x05scope\x12\x1e\n\x08id_token\x18\x05 \x01(\tH\x01R\x07idToken\x88\x01\x01\x12\x1d\n\ntoken_type\x18\x06 \x01(\tR\ttokenTypeB\x10\n\x0e_refresh_tokenB\x0b\n\t_id_token\"\x82\x01\n\x16GetAuthorizeUrlRequest\x12\x1d\n\x05state\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x05state\x12*\n\x0credirect_uri\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x0bredirectUri\x12\x1d\n\x05scope\x18\x03 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x05scope\"+\n\x17GetAuthorizeUrlResponse\x12\x10\n\x03url\x18\x01 \x01(\tR\x03url\"A\n\x11RefreshCliRequest\x12,\n\rrefresh_token\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x0crefreshToken\"S\n\x12RefreshCliResponse\x12=\n\x0c\x61\x63\x63\x65ss_token\x18\x01 \x01(\x0b\x32\x1a.mgmt.v1alpha1.AccessTokenR\x0b\x61\x63\x63\x65ssToken\"\x13\n\x11\x43heckTokenRequest\"\x14\n\x12\x43heckTokenResponse2\xce\x03\n\x0b\x41uthService\x12M\n\x08LoginCli\x12\x1e.mgmt.v1alpha1.LoginCliRequest\x1a\x1f.mgmt.v1alpha1.LoginCliResponse\"\x00\x12S\n\nRefreshCli\x12 .mgmt.v1alpha1.RefreshCliRequest\x1a!.mgmt.v1alpha1.RefreshCliResponse\"\x00\x12S\n\nCheckToken\x12 .mgmt.v1alpha1.CheckTokenRequest\x1a!.mgmt.v1alpha1.CheckTokenResponse\"\x00\x12\x65\n\x0fGetAuthorizeUrl\x12%.mgmt.v1alpha1.GetAuthorizeUrlRequest\x1a&.mgmt.v1alpha1.GetAuthorizeUrlResponse\"\x03\x90\x02\x01\x12_\n\rGetAuthStatus\x12#.mgmt.v1alpha1.GetAuthStatusRequest\x1a$.mgmt.v1alpha1.GetAuthStatusResponse\"\x03\x90\x02\x01\x42\xc5\x01\n\x11\x63om.mgmt.v1alpha1B\tAuthProtoP\x01ZPgithub.com/nucleuscloud/neosync/backend/gen/go/protos/mgmt/v1alpha1;mgmtv1alpha1\xa2\x02\x03MXX\xaa\x02\rMgmt.V1alpha1\xca\x02\rMgmt\\V1alpha1\xe2\x02\x19Mgmt\\V1alpha1\\GPBMetadata\xea\x02\x0eMgmt::V1alpha1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -45,6 +45,10 @@ _globals['_GETAUTHORIZEURLREQUEST'].fields_by_name['scope']._serialized_options = b'\272H\004r\002\020\001' _globals['_REFRESHCLIREQUEST'].fields_by_name['refresh_token']._loaded_options = None _globals['_REFRESHCLIREQUEST'].fields_by_name['refresh_token']._serialized_options = b'\272H\004r\002\020\001' + _globals['_AUTHSERVICE'].methods_by_name['GetAuthorizeUrl']._loaded_options = None + _globals['_AUTHSERVICE'].methods_by_name['GetAuthorizeUrl']._serialized_options = b'\220\002\001' + _globals['_AUTHSERVICE'].methods_by_name['GetAuthStatus']._loaded_options = None + _globals['_AUTHSERVICE'].methods_by_name['GetAuthStatus']._serialized_options = b'\220\002\001' _globals['_LOGINCLIREQUEST']._serialized_start=72 _globals['_LOGINCLIREQUEST']._serialized_end=162 _globals['_LOGINCLIRESPONSE']._serialized_start=164 @@ -68,5 +72,5 @@ _globals['_CHECKTOKENRESPONSE']._serialized_start=918 _globals['_CHECKTOKENRESPONSE']._serialized_end=938 _globals['_AUTHSERVICE']._serialized_start=941 - _globals['_AUTHSERVICE']._serialized_end=1397 + _globals['_AUTHSERVICE']._serialized_end=1403 # @@protoc_insertion_point(module_scope) diff --git a/python/src/neosync/mgmt/v1alpha1/connection_data_pb2.py b/python/src/neosync/mgmt/v1alpha1/connection_data_pb2.py index d4fb1e8cfb..362fcb0dbb 100644 --- a/python/src/neosync/mgmt/v1alpha1/connection_data_pb2.py +++ b/python/src/neosync/mgmt/v1alpha1/connection_data_pb2.py @@ -26,7 +26,7 @@ from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#mgmt/v1alpha1/connection_data.proto\x12\rmgmt.v1alpha1\x1a\x1b\x62uf/validate/validate.proto\x1a\x1cgoogle/protobuf/struct.proto\"\x16\n\x14PostgresStreamConfig\"\x13\n\x11MysqlStreamConfig\"\x19\n\x17\x41wsDynamoDBStreamConfig\"e\n\x11\x41wsS3StreamConfig\x12!\n\x06job_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x05jobId\x12\'\n\njob_run_id\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x10\x01H\x00R\x08jobRunIdB\x04\n\x02id\"o\n\x1bGcpCloudStorageStreamConfig\x12!\n\x06job_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x05jobId\x12\'\n\njob_run_id\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x10\x01H\x00R\x08jobRunIdB\x04\n\x02id\"\xb5\x03\n\x16\x43onnectionStreamConfig\x12\x42\n\tpg_config\x18\x01 \x01(\x0b\x32#.mgmt.v1alpha1.PostgresStreamConfigH\x00R\x08pgConfig\x12\x46\n\raws_s3_config\x18\x02 \x01(\x0b\x32 .mgmt.v1alpha1.AwsS3StreamConfigH\x00R\x0b\x61wsS3Config\x12\x45\n\x0cmysql_config\x18\x03 \x01(\x0b\x32 .mgmt.v1alpha1.MysqlStreamConfigH\x00R\x0bmysqlConfig\x12\x64\n\x17gcp_cloudstorage_config\x18\x04 \x01(\x0b\x32*.mgmt.v1alpha1.GcpCloudStorageStreamConfigH\x00R\x15gcpCloudstorageConfig\x12Q\n\x0f\x64ynamodb_config\x18\x05 \x01(\x0b\x32&.mgmt.v1alpha1.AwsDynamoDBStreamConfigH\x00R\x0e\x64ynamodbConfigB\x0f\n\x06\x63onfig\x12\x05\xbaH\x02\x08\x01\"\xc9\x01\n\x1eGetConnectionDataStreamRequest\x12-\n\rconnection_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x0c\x63onnectionId\x12J\n\rstream_config\x18\x02 \x01(\x0b\x32%.mgmt.v1alpha1.ConnectionStreamConfigR\x0cstreamConfig\x12\x16\n\x06schema\x18\x03 \x01(\tR\x06schema\x12\x14\n\x05table\x18\x04 \x01(\tR\x05table\"D\n\x1fGetConnectionDataStreamResponse\x12\x1b\n\trow_bytes\x18\x02 \x01(\x0cR\x08rowBytesJ\x04\x08\x01\x10\x02\"\x16\n\x14PostgresSchemaConfig\"\x13\n\x11MysqlSchemaConfig\"\x13\n\x11MssqlSchemaConfig\"e\n\x11\x41wsS3SchemaConfig\x12!\n\x06job_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x05jobId\x12\'\n\njob_run_id\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x10\x01H\x00R\x08jobRunIdB\x04\n\x02id\"\x13\n\x11MongoSchemaConfig\"\x16\n\x14\x44ynamoDBSchemaConfig\"o\n\x1bGcpCloudStorageSchemaConfig\x12!\n\x06job_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x05jobId\x12\'\n\njob_run_id\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x10\x01H\x00R\x08jobRunIdB\x04\n\x02id\"\xc0\x04\n\x16\x43onnectionSchemaConfig\x12\x42\n\tpg_config\x18\x01 \x01(\x0b\x32#.mgmt.v1alpha1.PostgresSchemaConfigH\x00R\x08pgConfig\x12\x46\n\raws_s3_config\x18\x02 \x01(\x0b\x32 .mgmt.v1alpha1.AwsS3SchemaConfigH\x00R\x0b\x61wsS3Config\x12\x45\n\x0cmysql_config\x18\x03 \x01(\x0b\x32 .mgmt.v1alpha1.MysqlSchemaConfigH\x00R\x0bmysqlConfig\x12\x45\n\x0cmongo_config\x18\x04 \x01(\x0b\x32 .mgmt.v1alpha1.MongoSchemaConfigH\x00R\x0bmongoConfig\x12\x64\n\x17gcp_cloudstorage_config\x18\x05 \x01(\x0b\x32*.mgmt.v1alpha1.GcpCloudStorageSchemaConfigH\x00R\x15gcpCloudstorageConfig\x12N\n\x0f\x64ynamodb_config\x18\x06 \x01(\x0b\x32#.mgmt.v1alpha1.DynamoDBSchemaConfigH\x00R\x0e\x64ynamodbConfig\x12\x45\n\x0cmssql_config\x18\x07 \x01(\x0b\x32 .mgmt.v1alpha1.MssqlSchemaConfigH\x00R\x0bmssqlConfigB\x0f\n\x06\x63onfig\x12\x05\xbaH\x02\x08\x01\"\xe0\x02\n\x0e\x44\x61tabaseColumn\x12\x16\n\x06schema\x18\x01 \x01(\tR\x06schema\x12\x14\n\x05table\x18\x02 \x01(\tR\x05table\x12\x16\n\x06\x63olumn\x18\x03 \x01(\tR\x06\x63olumn\x12\x1b\n\tdata_type\x18\x04 \x01(\tR\x08\x64\x61taType\x12\x1f\n\x0bis_nullable\x18\x05 \x01(\tR\nisNullable\x12*\n\x0e\x63olumn_default\x18\x06 \x01(\tH\x00R\rcolumnDefault\x88\x01\x01\x12*\n\x0egenerated_type\x18\x07 \x01(\tH\x01R\rgeneratedType\x88\x01\x01\x12\x34\n\x13identity_generation\x18\x08 \x01(\tH\x02R\x12identityGeneration\x88\x01\x01\x42\x11\n\x0f_column_defaultB\x11\n\x0f_generated_typeB\x16\n\x14_identity_generation\"\x97\x01\n\x1aGetConnectionSchemaRequest\x12-\n\rconnection_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x0c\x63onnectionId\x12J\n\rschema_config\x18\x02 \x01(\x0b\x32%.mgmt.v1alpha1.ConnectionSchemaConfigR\x0cschemaConfig\"V\n\x1bGetConnectionSchemaResponse\x12\x37\n\x07schemas\x18\x01 \x03(\x0b\x32\x1d.mgmt.v1alpha1.DatabaseColumnR\x07schemas\"\x9a\x01\n\x1dGetConnectionSchemaMapRequest\x12-\n\rconnection_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x0c\x63onnectionId\x12J\n\rschema_config\x18\x02 \x01(\x0b\x32%.mgmt.v1alpha1.ConnectionSchemaConfigR\x0cschemaConfig\"\xe7\x01\n\x1eGetConnectionSchemaMapResponse\x12[\n\nschema_map\x18\x01 \x03(\x0b\x32<.mgmt.v1alpha1.GetConnectionSchemaMapResponse.SchemaMapEntryR\tschemaMap\x1ah\n\x0eSchemaMapEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12@\n\x05value\x18\x02 \x01(\x0b\x32*.mgmt.v1alpha1.GetConnectionSchemaResponseR\x05value:\x02\x38\x01\"j\n\x1eGetConnectionSchemaMapsRequest\x12H\n\x08requests\x18\x01 \x03(\x0b\x32,.mgmt.v1alpha1.GetConnectionSchemaMapRequestR\x08requests\"\x95\x01\n\x1fGetConnectionSchemaMapsResponse\x12K\n\tresponses\x18\x01 \x03(\x0b\x32-.mgmt.v1alpha1.GetConnectionSchemaMapResponseR\tresponses\x12%\n\x0e\x63onnection_ids\x18\x02 \x03(\tR\rconnectionIds\"B\n\nForeignKey\x12\x14\n\x05table\x18\x01 \x01(\tR\x05table\x12\x18\n\x07\x63olumns\x18\x03 \x03(\tR\x07\x63olumnsJ\x04\x08\x02\x10\x03\"\x98\x01\n\x11\x46oreignConstraint\x12:\n\x0b\x66oreign_key\x18\x03 \x01(\x0b\x32\x19.mgmt.v1alpha1.ForeignKeyR\nforeignKey\x12\x18\n\x07\x63olumns\x18\x04 \x03(\tR\x07\x63olumns\x12!\n\x0cnot_nullable\x18\x05 \x03(\x08R\x0bnotNullableJ\x04\x08\x01\x10\x02J\x04\x08\x02\x10\x03\"]\n\x17\x46oreignConstraintTables\x12\x42\n\x0b\x63onstraints\x18\x01 \x03(\x0b\x32 .mgmt.v1alpha1.ForeignConstraintR\x0b\x63onstraints\"\x98\x01\n\x14InitStatementOptions\x12\x1f\n\x0binit_schema\x18\x01 \x01(\x08R\ninitSchema\x12\x34\n\x16truncate_before_insert\x18\x02 \x01(\x08R\x14truncateBeforeInsert\x12)\n\x10truncate_cascade\x18\x03 \x01(\x08R\x0ftruncateCascade\"\x92\x01\n\"GetConnectionInitStatementsRequest\x12-\n\rconnection_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x0c\x63onnectionId\x12=\n\x07options\x18\x02 \x01(\x0b\x32#.mgmt.v1alpha1.InitStatementOptionsR\x07options\"L\n\x14SchemaInitStatements\x12\x14\n\x05label\x18\x01 \x01(\tR\x05label\x12\x1e\n\nstatements\x18\x02 \x03(\tR\nstatements\"\xa3\x04\n#GetConnectionInitStatementsResponse\x12\x7f\n\x15table_init_statements\x18\x01 \x03(\x0b\x32K.mgmt.v1alpha1.GetConnectionInitStatementsResponse.TableInitStatementsEntryR\x13tableInitStatements\x12\x8b\x01\n\x19table_truncate_statements\x18\x02 \x03(\x0b\x32O.mgmt.v1alpha1.GetConnectionInitStatementsResponse.TableTruncateStatementsEntryR\x17tableTruncateStatements\x12Y\n\x16schema_init_statements\x18\x03 \x03(\x0b\x32#.mgmt.v1alpha1.SchemaInitStatementsR\x14schemaInitStatements\x1a\x46\n\x18TableInitStatementsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x1aJ\n\x1cTableTruncateStatementsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"-\n\x11PrimaryConstraint\x12\x18\n\x07\x63olumns\x18\x01 \x03(\tR\x07\x63olumns\",\n\x10UniqueConstraint\x12\x18\n\x07\x63olumns\x18\x01 \x03(\tR\x07\x63olumns\"\xba\x02\n\x19GetAiGeneratedDataRequest\x12\x32\n\x10\x61i_connection_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x0e\x61iConnectionId\x12\x1f\n\x05\x63ount\x18\x02 \x01(\x03\x42\t\xbaH\x06\"\x04\x18\n(\x01R\x05\x63ount\x12&\n\nmodel_name\x18\x03 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\tmodelName\x12$\n\x0buser_prompt\x18\x04 \x01(\tH\x00R\nuserPrompt\x88\x01\x01\x12\x36\n\x12\x64\x61ta_connection_id\x18\x05 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x10\x64\x61taConnectionId\x12\x32\n\x05table\x18\x06 \x01(\x0b\x32\x1c.mgmt.v1alpha1.DatabaseTableR\x05tableB\x0e\n\x0c_user_prompt\"O\n\rDatabaseTable\x12\x1f\n\x06schema\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x06schema\x12\x1d\n\x05table\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x05table\"O\n\x1aGetAiGeneratedDataResponse\x12\x31\n\x07records\x18\x01 \x03(\x0b\x32\x17.google.protobuf.StructR\x07records\"U\n$GetConnectionTableConstraintsRequest\x12-\n\rconnection_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x0c\x63onnectionId\"V\n\x11UniqueConstraints\x12\x41\n\x0b\x63onstraints\x18\x01 \x03(\x0b\x32\x1f.mgmt.v1alpha1.UniqueConstraintR\x0b\x63onstraints\"\xfd\x05\n%GetConnectionTableConstraintsResponse\x12\x87\x01\n\x17\x66oreign_key_constraints\x18\x01 \x03(\x0b\x32O.mgmt.v1alpha1.GetConnectionTableConstraintsResponse.ForeignKeyConstraintsEntryR\x15\x66oreignKeyConstraints\x12\x87\x01\n\x17primary_key_constraints\x18\x02 \x03(\x0b\x32O.mgmt.v1alpha1.GetConnectionTableConstraintsResponse.PrimaryKeyConstraintsEntryR\x15primaryKeyConstraints\x12z\n\x12unique_constraints\x18\x03 \x03(\x0b\x32K.mgmt.v1alpha1.GetConnectionTableConstraintsResponse.UniqueConstraintsEntryR\x11uniqueConstraints\x1ap\n\x1a\x46oreignKeyConstraintsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12<\n\x05value\x18\x02 \x01(\x0b\x32&.mgmt.v1alpha1.ForeignConstraintTablesR\x05value:\x02\x38\x01\x1aj\n\x1aPrimaryKeyConstraintsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x36\n\x05value\x18\x02 \x01(\x0b\x32 .mgmt.v1alpha1.PrimaryConstraintR\x05value:\x02\x38\x01\x1a\x66\n\x16UniqueConstraintsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x36\n\x05value\x18\x02 \x01(\x0b\x32 .mgmt.v1alpha1.UniqueConstraintsR\x05value:\x02\x38\x01\"\xa5\x01\n\x17GetTableRowCountRequest\x12#\n\rconnection_id\x18\x01 \x01(\tR\x0c\x63onnectionId\x12\x16\n\x06schema\x18\x02 \x01(\tR\x06schema\x12\x14\n\x05table\x18\x03 \x01(\tR\x05table\x12&\n\x0cwhere_clause\x18\x04 \x01(\tH\x00R\x0bwhereClause\x88\x01\x01\x42\x0f\n\r_where_clause\"0\n\x18GetTableRowCountResponse\x12\x14\n\x05\x63ount\x18\x01 \x01(\x03R\x05\x63ount2\xe6\x07\n\x15\x43onnectionDataService\x12|\n\x17GetConnectionDataStream\x12-.mgmt.v1alpha1.GetConnectionDataStreamRequest\x1a..mgmt.v1alpha1.GetConnectionDataStreamResponse\"\x00\x30\x01\x12n\n\x13GetConnectionSchema\x12).mgmt.v1alpha1.GetConnectionSchemaRequest\x1a*.mgmt.v1alpha1.GetConnectionSchemaResponse\"\x00\x12w\n\x16GetConnectionSchemaMap\x12,.mgmt.v1alpha1.GetConnectionSchemaMapRequest\x1a-.mgmt.v1alpha1.GetConnectionSchemaMapResponse\"\x00\x12z\n\x17GetConnectionSchemaMaps\x12-.mgmt.v1alpha1.GetConnectionSchemaMapsRequest\x1a..mgmt.v1alpha1.GetConnectionSchemaMapsResponse\"\x00\x12\x8c\x01\n\x1dGetConnectionTableConstraints\x12\x33.mgmt.v1alpha1.GetConnectionTableConstraintsRequest\x1a\x34.mgmt.v1alpha1.GetConnectionTableConstraintsResponse\"\x00\x12\x86\x01\n\x1bGetConnectionInitStatements\x12\x31.mgmt.v1alpha1.GetConnectionInitStatementsRequest\x1a\x32.mgmt.v1alpha1.GetConnectionInitStatementsResponse\"\x00\x12k\n\x12GetAiGeneratedData\x12(.mgmt.v1alpha1.GetAiGeneratedDataRequest\x1a).mgmt.v1alpha1.GetAiGeneratedDataResponse\"\x00\x12\x65\n\x10GetTableRowCount\x12&.mgmt.v1alpha1.GetTableRowCountRequest\x1a\'.mgmt.v1alpha1.GetTableRowCountResponse\"\x00\x42\xcf\x01\n\x11\x63om.mgmt.v1alpha1B\x13\x43onnectionDataProtoP\x01ZPgithub.com/nucleuscloud/neosync/backend/gen/go/protos/mgmt/v1alpha1;mgmtv1alpha1\xa2\x02\x03MXX\xaa\x02\rMgmt.V1alpha1\xca\x02\rMgmt\\V1alpha1\xe2\x02\x19Mgmt\\V1alpha1\\GPBMetadata\xea\x02\x0eMgmt::V1alpha1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#mgmt/v1alpha1/connection_data.proto\x12\rmgmt.v1alpha1\x1a\x1b\x62uf/validate/validate.proto\x1a\x1cgoogle/protobuf/struct.proto\"\x16\n\x14PostgresStreamConfig\"\x13\n\x11MysqlStreamConfig\"\x19\n\x17\x41wsDynamoDBStreamConfig\"e\n\x11\x41wsS3StreamConfig\x12!\n\x06job_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x05jobId\x12\'\n\njob_run_id\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x10\x01H\x00R\x08jobRunIdB\x04\n\x02id\"o\n\x1bGcpCloudStorageStreamConfig\x12!\n\x06job_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x05jobId\x12\'\n\njob_run_id\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x10\x01H\x00R\x08jobRunIdB\x04\n\x02id\"\xb5\x03\n\x16\x43onnectionStreamConfig\x12\x42\n\tpg_config\x18\x01 \x01(\x0b\x32#.mgmt.v1alpha1.PostgresStreamConfigH\x00R\x08pgConfig\x12\x46\n\raws_s3_config\x18\x02 \x01(\x0b\x32 .mgmt.v1alpha1.AwsS3StreamConfigH\x00R\x0b\x61wsS3Config\x12\x45\n\x0cmysql_config\x18\x03 \x01(\x0b\x32 .mgmt.v1alpha1.MysqlStreamConfigH\x00R\x0bmysqlConfig\x12\x64\n\x17gcp_cloudstorage_config\x18\x04 \x01(\x0b\x32*.mgmt.v1alpha1.GcpCloudStorageStreamConfigH\x00R\x15gcpCloudstorageConfig\x12Q\n\x0f\x64ynamodb_config\x18\x05 \x01(\x0b\x32&.mgmt.v1alpha1.AwsDynamoDBStreamConfigH\x00R\x0e\x64ynamodbConfigB\x0f\n\x06\x63onfig\x12\x05\xbaH\x02\x08\x01\"\xc9\x01\n\x1eGetConnectionDataStreamRequest\x12-\n\rconnection_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x0c\x63onnectionId\x12J\n\rstream_config\x18\x02 \x01(\x0b\x32%.mgmt.v1alpha1.ConnectionStreamConfigR\x0cstreamConfig\x12\x16\n\x06schema\x18\x03 \x01(\tR\x06schema\x12\x14\n\x05table\x18\x04 \x01(\tR\x05table\"D\n\x1fGetConnectionDataStreamResponse\x12\x1b\n\trow_bytes\x18\x02 \x01(\x0cR\x08rowBytesJ\x04\x08\x01\x10\x02\"\x16\n\x14PostgresSchemaConfig\"\x13\n\x11MysqlSchemaConfig\"\x13\n\x11MssqlSchemaConfig\"e\n\x11\x41wsS3SchemaConfig\x12!\n\x06job_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x05jobId\x12\'\n\njob_run_id\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x10\x01H\x00R\x08jobRunIdB\x04\n\x02id\"\x13\n\x11MongoSchemaConfig\"\x16\n\x14\x44ynamoDBSchemaConfig\"o\n\x1bGcpCloudStorageSchemaConfig\x12!\n\x06job_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x05jobId\x12\'\n\njob_run_id\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x10\x01H\x00R\x08jobRunIdB\x04\n\x02id\"\xc0\x04\n\x16\x43onnectionSchemaConfig\x12\x42\n\tpg_config\x18\x01 \x01(\x0b\x32#.mgmt.v1alpha1.PostgresSchemaConfigH\x00R\x08pgConfig\x12\x46\n\raws_s3_config\x18\x02 \x01(\x0b\x32 .mgmt.v1alpha1.AwsS3SchemaConfigH\x00R\x0b\x61wsS3Config\x12\x45\n\x0cmysql_config\x18\x03 \x01(\x0b\x32 .mgmt.v1alpha1.MysqlSchemaConfigH\x00R\x0bmysqlConfig\x12\x45\n\x0cmongo_config\x18\x04 \x01(\x0b\x32 .mgmt.v1alpha1.MongoSchemaConfigH\x00R\x0bmongoConfig\x12\x64\n\x17gcp_cloudstorage_config\x18\x05 \x01(\x0b\x32*.mgmt.v1alpha1.GcpCloudStorageSchemaConfigH\x00R\x15gcpCloudstorageConfig\x12N\n\x0f\x64ynamodb_config\x18\x06 \x01(\x0b\x32#.mgmt.v1alpha1.DynamoDBSchemaConfigH\x00R\x0e\x64ynamodbConfig\x12\x45\n\x0cmssql_config\x18\x07 \x01(\x0b\x32 .mgmt.v1alpha1.MssqlSchemaConfigH\x00R\x0bmssqlConfigB\x0f\n\x06\x63onfig\x12\x05\xbaH\x02\x08\x01\"\xe0\x02\n\x0e\x44\x61tabaseColumn\x12\x16\n\x06schema\x18\x01 \x01(\tR\x06schema\x12\x14\n\x05table\x18\x02 \x01(\tR\x05table\x12\x16\n\x06\x63olumn\x18\x03 \x01(\tR\x06\x63olumn\x12\x1b\n\tdata_type\x18\x04 \x01(\tR\x08\x64\x61taType\x12\x1f\n\x0bis_nullable\x18\x05 \x01(\tR\nisNullable\x12*\n\x0e\x63olumn_default\x18\x06 \x01(\tH\x00R\rcolumnDefault\x88\x01\x01\x12*\n\x0egenerated_type\x18\x07 \x01(\tH\x01R\rgeneratedType\x88\x01\x01\x12\x34\n\x13identity_generation\x18\x08 \x01(\tH\x02R\x12identityGeneration\x88\x01\x01\x42\x11\n\x0f_column_defaultB\x11\n\x0f_generated_typeB\x16\n\x14_identity_generation\"\x97\x01\n\x1aGetConnectionSchemaRequest\x12-\n\rconnection_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x0c\x63onnectionId\x12J\n\rschema_config\x18\x02 \x01(\x0b\x32%.mgmt.v1alpha1.ConnectionSchemaConfigR\x0cschemaConfig\"V\n\x1bGetConnectionSchemaResponse\x12\x37\n\x07schemas\x18\x01 \x03(\x0b\x32\x1d.mgmt.v1alpha1.DatabaseColumnR\x07schemas\"\x9a\x01\n\x1dGetConnectionSchemaMapRequest\x12-\n\rconnection_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x0c\x63onnectionId\x12J\n\rschema_config\x18\x02 \x01(\x0b\x32%.mgmt.v1alpha1.ConnectionSchemaConfigR\x0cschemaConfig\"\xe7\x01\n\x1eGetConnectionSchemaMapResponse\x12[\n\nschema_map\x18\x01 \x03(\x0b\x32<.mgmt.v1alpha1.GetConnectionSchemaMapResponse.SchemaMapEntryR\tschemaMap\x1ah\n\x0eSchemaMapEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12@\n\x05value\x18\x02 \x01(\x0b\x32*.mgmt.v1alpha1.GetConnectionSchemaResponseR\x05value:\x02\x38\x01\"j\n\x1eGetConnectionSchemaMapsRequest\x12H\n\x08requests\x18\x01 \x03(\x0b\x32,.mgmt.v1alpha1.GetConnectionSchemaMapRequestR\x08requests\"\x95\x01\n\x1fGetConnectionSchemaMapsResponse\x12K\n\tresponses\x18\x01 \x03(\x0b\x32-.mgmt.v1alpha1.GetConnectionSchemaMapResponseR\tresponses\x12%\n\x0e\x63onnection_ids\x18\x02 \x03(\tR\rconnectionIds\"B\n\nForeignKey\x12\x14\n\x05table\x18\x01 \x01(\tR\x05table\x12\x18\n\x07\x63olumns\x18\x03 \x03(\tR\x07\x63olumnsJ\x04\x08\x02\x10\x03\"\x98\x01\n\x11\x46oreignConstraint\x12:\n\x0b\x66oreign_key\x18\x03 \x01(\x0b\x32\x19.mgmt.v1alpha1.ForeignKeyR\nforeignKey\x12\x18\n\x07\x63olumns\x18\x04 \x03(\tR\x07\x63olumns\x12!\n\x0cnot_nullable\x18\x05 \x03(\x08R\x0bnotNullableJ\x04\x08\x01\x10\x02J\x04\x08\x02\x10\x03\"]\n\x17\x46oreignConstraintTables\x12\x42\n\x0b\x63onstraints\x18\x01 \x03(\x0b\x32 .mgmt.v1alpha1.ForeignConstraintR\x0b\x63onstraints\"\x98\x01\n\x14InitStatementOptions\x12\x1f\n\x0binit_schema\x18\x01 \x01(\x08R\ninitSchema\x12\x34\n\x16truncate_before_insert\x18\x02 \x01(\x08R\x14truncateBeforeInsert\x12)\n\x10truncate_cascade\x18\x03 \x01(\x08R\x0ftruncateCascade\"\x92\x01\n\"GetConnectionInitStatementsRequest\x12-\n\rconnection_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x0c\x63onnectionId\x12=\n\x07options\x18\x02 \x01(\x0b\x32#.mgmt.v1alpha1.InitStatementOptionsR\x07options\"L\n\x14SchemaInitStatements\x12\x14\n\x05label\x18\x01 \x01(\tR\x05label\x12\x1e\n\nstatements\x18\x02 \x03(\tR\nstatements\"\xa3\x04\n#GetConnectionInitStatementsResponse\x12\x7f\n\x15table_init_statements\x18\x01 \x03(\x0b\x32K.mgmt.v1alpha1.GetConnectionInitStatementsResponse.TableInitStatementsEntryR\x13tableInitStatements\x12\x8b\x01\n\x19table_truncate_statements\x18\x02 \x03(\x0b\x32O.mgmt.v1alpha1.GetConnectionInitStatementsResponse.TableTruncateStatementsEntryR\x17tableTruncateStatements\x12Y\n\x16schema_init_statements\x18\x03 \x03(\x0b\x32#.mgmt.v1alpha1.SchemaInitStatementsR\x14schemaInitStatements\x1a\x46\n\x18TableInitStatementsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x1aJ\n\x1cTableTruncateStatementsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"-\n\x11PrimaryConstraint\x12\x18\n\x07\x63olumns\x18\x01 \x03(\tR\x07\x63olumns\",\n\x10UniqueConstraint\x12\x18\n\x07\x63olumns\x18\x01 \x03(\tR\x07\x63olumns\"\xba\x02\n\x19GetAiGeneratedDataRequest\x12\x32\n\x10\x61i_connection_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x0e\x61iConnectionId\x12\x1f\n\x05\x63ount\x18\x02 \x01(\x03\x42\t\xbaH\x06\"\x04\x18\n(\x01R\x05\x63ount\x12&\n\nmodel_name\x18\x03 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\tmodelName\x12$\n\x0buser_prompt\x18\x04 \x01(\tH\x00R\nuserPrompt\x88\x01\x01\x12\x36\n\x12\x64\x61ta_connection_id\x18\x05 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x10\x64\x61taConnectionId\x12\x32\n\x05table\x18\x06 \x01(\x0b\x32\x1c.mgmt.v1alpha1.DatabaseTableR\x05tableB\x0e\n\x0c_user_prompt\"O\n\rDatabaseTable\x12\x1f\n\x06schema\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x06schema\x12\x1d\n\x05table\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x05table\"O\n\x1aGetAiGeneratedDataResponse\x12\x31\n\x07records\x18\x01 \x03(\x0b\x32\x17.google.protobuf.StructR\x07records\"U\n$GetConnectionTableConstraintsRequest\x12-\n\rconnection_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x0c\x63onnectionId\"V\n\x11UniqueConstraints\x12\x41\n\x0b\x63onstraints\x18\x01 \x03(\x0b\x32\x1f.mgmt.v1alpha1.UniqueConstraintR\x0b\x63onstraints\"\xfd\x05\n%GetConnectionTableConstraintsResponse\x12\x87\x01\n\x17\x66oreign_key_constraints\x18\x01 \x03(\x0b\x32O.mgmt.v1alpha1.GetConnectionTableConstraintsResponse.ForeignKeyConstraintsEntryR\x15\x66oreignKeyConstraints\x12\x87\x01\n\x17primary_key_constraints\x18\x02 \x03(\x0b\x32O.mgmt.v1alpha1.GetConnectionTableConstraintsResponse.PrimaryKeyConstraintsEntryR\x15primaryKeyConstraints\x12z\n\x12unique_constraints\x18\x03 \x03(\x0b\x32K.mgmt.v1alpha1.GetConnectionTableConstraintsResponse.UniqueConstraintsEntryR\x11uniqueConstraints\x1ap\n\x1a\x46oreignKeyConstraintsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12<\n\x05value\x18\x02 \x01(\x0b\x32&.mgmt.v1alpha1.ForeignConstraintTablesR\x05value:\x02\x38\x01\x1aj\n\x1aPrimaryKeyConstraintsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x36\n\x05value\x18\x02 \x01(\x0b\x32 .mgmt.v1alpha1.PrimaryConstraintR\x05value:\x02\x38\x01\x1a\x66\n\x16UniqueConstraintsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x36\n\x05value\x18\x02 \x01(\x0b\x32 .mgmt.v1alpha1.UniqueConstraintsR\x05value:\x02\x38\x01\"\xc1\x01\n\x17GetTableRowCountRequest\x12-\n\rconnection_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x0c\x63onnectionId\x12\x1f\n\x06schema\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x06schema\x12\x1d\n\x05table\x18\x03 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x05table\x12&\n\x0cwhere_clause\x18\x04 \x01(\tH\x00R\x0bwhereClause\x88\x01\x01\x42\x0f\n\r_where_clause\"0\n\x18GetTableRowCountResponse\x12\x14\n\x05\x63ount\x18\x01 \x01(\x03R\x05\x63ount2\xe9\x07\n\x15\x43onnectionDataService\x12|\n\x17GetConnectionDataStream\x12-.mgmt.v1alpha1.GetConnectionDataStreamRequest\x1a..mgmt.v1alpha1.GetConnectionDataStreamResponse\"\x00\x30\x01\x12n\n\x13GetConnectionSchema\x12).mgmt.v1alpha1.GetConnectionSchemaRequest\x1a*.mgmt.v1alpha1.GetConnectionSchemaResponse\"\x00\x12w\n\x16GetConnectionSchemaMap\x12,.mgmt.v1alpha1.GetConnectionSchemaMapRequest\x1a-.mgmt.v1alpha1.GetConnectionSchemaMapResponse\"\x00\x12z\n\x17GetConnectionSchemaMaps\x12-.mgmt.v1alpha1.GetConnectionSchemaMapsRequest\x1a..mgmt.v1alpha1.GetConnectionSchemaMapsResponse\"\x00\x12\x8c\x01\n\x1dGetConnectionTableConstraints\x12\x33.mgmt.v1alpha1.GetConnectionTableConstraintsRequest\x1a\x34.mgmt.v1alpha1.GetConnectionTableConstraintsResponse\"\x00\x12\x86\x01\n\x1bGetConnectionInitStatements\x12\x31.mgmt.v1alpha1.GetConnectionInitStatementsRequest\x1a\x32.mgmt.v1alpha1.GetConnectionInitStatementsResponse\"\x00\x12k\n\x12GetAiGeneratedData\x12(.mgmt.v1alpha1.GetAiGeneratedDataRequest\x1a).mgmt.v1alpha1.GetAiGeneratedDataResponse\"\x00\x12h\n\x10GetTableRowCount\x12&.mgmt.v1alpha1.GetTableRowCountRequest\x1a\'.mgmt.v1alpha1.GetTableRowCountResponse\"\x03\x90\x02\x01\x42\xcf\x01\n\x11\x63om.mgmt.v1alpha1B\x13\x43onnectionDataProtoP\x01ZPgithub.com/nucleuscloud/neosync/backend/gen/go/protos/mgmt/v1alpha1;mgmtv1alpha1\xa2\x02\x03MXX\xaa\x02\rMgmt.V1alpha1\xca\x02\rMgmt\\V1alpha1\xe2\x02\x19Mgmt\\V1alpha1\\GPBMetadata\xea\x02\x0eMgmt::V1alpha1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -88,6 +88,14 @@ _globals['_GETCONNECTIONTABLECONSTRAINTSRESPONSE_PRIMARYKEYCONSTRAINTSENTRY']._serialized_options = b'8\001' _globals['_GETCONNECTIONTABLECONSTRAINTSRESPONSE_UNIQUECONSTRAINTSENTRY']._loaded_options = None _globals['_GETCONNECTIONTABLECONSTRAINTSRESPONSE_UNIQUECONSTRAINTSENTRY']._serialized_options = b'8\001' + _globals['_GETTABLEROWCOUNTREQUEST'].fields_by_name['connection_id']._loaded_options = None + _globals['_GETTABLEROWCOUNTREQUEST'].fields_by_name['connection_id']._serialized_options = b'\272H\005r\003\260\001\001' + _globals['_GETTABLEROWCOUNTREQUEST'].fields_by_name['schema']._loaded_options = None + _globals['_GETTABLEROWCOUNTREQUEST'].fields_by_name['schema']._serialized_options = b'\272H\004r\002\020\001' + _globals['_GETTABLEROWCOUNTREQUEST'].fields_by_name['table']._loaded_options = None + _globals['_GETTABLEROWCOUNTREQUEST'].fields_by_name['table']._serialized_options = b'\272H\004r\002\020\001' + _globals['_CONNECTIONDATASERVICE'].methods_by_name['GetTableRowCount']._loaded_options = None + _globals['_CONNECTIONDATASERVICE'].methods_by_name['GetTableRowCount']._serialized_options = b'\220\002\001' _globals['_POSTGRESSTREAMCONFIG']._serialized_start=113 _globals['_POSTGRESSTREAMCONFIG']._serialized_end=135 _globals['_MYSQLSTREAMCONFIG']._serialized_start=137 @@ -177,9 +185,9 @@ _globals['_GETCONNECTIONTABLECONSTRAINTSRESPONSE_UNIQUECONSTRAINTSENTRY']._serialized_start=5930 _globals['_GETCONNECTIONTABLECONSTRAINTSRESPONSE_UNIQUECONSTRAINTSENTRY']._serialized_end=6032 _globals['_GETTABLEROWCOUNTREQUEST']._serialized_start=6035 - _globals['_GETTABLEROWCOUNTREQUEST']._serialized_end=6200 - _globals['_GETTABLEROWCOUNTRESPONSE']._serialized_start=6202 - _globals['_GETTABLEROWCOUNTRESPONSE']._serialized_end=6250 - _globals['_CONNECTIONDATASERVICE']._serialized_start=6253 - _globals['_CONNECTIONDATASERVICE']._serialized_end=7251 + _globals['_GETTABLEROWCOUNTREQUEST']._serialized_end=6228 + _globals['_GETTABLEROWCOUNTRESPONSE']._serialized_start=6230 + _globals['_GETTABLEROWCOUNTRESPONSE']._serialized_end=6278 + _globals['_CONNECTIONDATASERVICE']._serialized_start=6281 + _globals['_CONNECTIONDATASERVICE']._serialized_end=7282 # @@protoc_insertion_point(module_scope) diff --git a/python/src/neosync/mgmt/v1alpha1/connection_pb2.py b/python/src/neosync/mgmt/v1alpha1/connection_pb2.py index 2de042e0e6..f2da20ae38 100644 --- a/python/src/neosync/mgmt/v1alpha1/connection_pb2.py +++ b/python/src/neosync/mgmt/v1alpha1/connection_pb2.py @@ -26,7 +26,7 @@ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1emgmt/v1alpha1/connection.proto\x12\rmgmt.v1alpha1\x1a\x1b\x62uf/validate/validate.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"@\n\x15GetConnectionsRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"U\n\x16GetConnectionsResponse\x12;\n\x0b\x63onnections\x18\x01 \x03(\x0b\x32\x19.mgmt.v1alpha1.ConnectionR\x0b\x63onnections\"0\n\x14GetConnectionRequest\x12\x18\n\x02id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x02id\"R\n\x15GetConnectionResponse\x12\x39\n\nconnection\x18\x01 \x01(\x0b\x32\x19.mgmt.v1alpha1.ConnectionR\nconnection\"\xbf\x01\n\x17\x43reateConnectionRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12-\n\x04name\x18\x02 \x01(\tB\x19\xbaH\x16r\x14\x32\x12^[a-z0-9-]{3,100}$R\x04name\x12L\n\x11\x63onnection_config\x18\x03 \x01(\x0b\x32\x1f.mgmt.v1alpha1.ConnectionConfigR\x10\x63onnectionConfig\"U\n\x18\x43reateConnectionResponse\x12\x39\n\nconnection\x18\x01 \x01(\x0b\x32\x19.mgmt.v1alpha1.ConnectionR\nconnection\"\xb0\x01\n\x17UpdateConnectionRequest\x12\x18\n\x02id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x02id\x12-\n\x04name\x18\x02 \x01(\tB\x19\xbaH\x16r\x14\x32\x12^[a-z0-9-]{3,100}$R\x04name\x12L\n\x11\x63onnection_config\x18\x03 \x01(\x0b\x32\x1f.mgmt.v1alpha1.ConnectionConfigR\x10\x63onnectionConfig\"U\n\x18UpdateConnectionResponse\x12\x39\n\nconnection\x18\x01 \x01(\x0b\x32\x19.mgmt.v1alpha1.ConnectionR\nconnection\"3\n\x17\x44\x65leteConnectionRequest\x12\x18\n\x02id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x02id\"\x1a\n\x18\x44\x65leteConnectionResponse\"l\n\x1c\x43heckConnectionConfigRequest\x12L\n\x11\x63onnection_config\x18\x01 \x01(\x0b\x32\x1f.mgmt.v1alpha1.ConnectionConfigR\x10\x63onnectionConfig\"<\n CheckConnectionConfigByIdRequest\x12\x18\n\x02id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x02id\"\xd3\x01\n!CheckConnectionConfigByIdResponse\x12!\n\x0cis_connected\x18\x01 \x01(\x08R\x0bisConnected\x12.\n\x10\x63onnection_error\x18\x02 \x01(\tH\x00R\x0f\x63onnectionError\x88\x01\x01\x12\x46\n\nprivileges\x18\x03 \x03(\x0b\x32&.mgmt.v1alpha1.ConnectionRolePrivilegeR\nprivilegesB\x13\n\x11_connection_error\"\xcf\x01\n\x1d\x43heckConnectionConfigResponse\x12!\n\x0cis_connected\x18\x01 \x01(\x08R\x0bisConnected\x12.\n\x10\x63onnection_error\x18\x02 \x01(\tH\x00R\x0f\x63onnectionError\x88\x01\x01\x12\x46\n\nprivileges\x18\x03 \x03(\x0b\x32&.mgmt.v1alpha1.ConnectionRolePrivilegeR\nprivilegesB\x13\n\x11_connection_error\"\x88\x01\n\x17\x43onnectionRolePrivilege\x12\x18\n\x07grantee\x18\x01 \x01(\tR\x07grantee\x12\x16\n\x06schema\x18\x02 \x01(\tR\x06schema\x12\x14\n\x05table\x18\x03 \x01(\tR\x05table\x12%\n\x0eprivilege_type\x18\x04 \x03(\tR\rprivilegeType\"\xed\x02\n\nConnection\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12L\n\x11\x63onnection_config\x18\x03 \x01(\x0b\x32\x1f.mgmt.v1alpha1.ConnectionConfigR\x10\x63onnectionConfig\x12+\n\x12\x63reated_by_user_id\x18\x04 \x01(\tR\x0f\x63reatedByUserId\x12\x39\n\ncreated_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12+\n\x12updated_by_user_id\x18\x06 \x01(\tR\x0fupdatedByUserId\x12\x39\n\nupdated_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tupdatedAt\x12\x1d\n\naccount_id\x18\x08 \x01(\tR\taccountId\"\xff\x05\n\x10\x43onnectionConfig\x12\x46\n\tpg_config\x18\x01 \x01(\x0b\x32\'.mgmt.v1alpha1.PostgresConnectionConfigH\x00R\x08pgConfig\x12J\n\raws_s3_config\x18\x02 \x01(\x0b\x32$.mgmt.v1alpha1.AwsS3ConnectionConfigH\x00R\x0b\x61wsS3Config\x12I\n\x0cmysql_config\x18\x03 \x01(\x0b\x32$.mgmt.v1alpha1.MysqlConnectionConfigH\x00R\x0bmysqlConfig\x12Y\n\x10local_dir_config\x18\x04 \x01(\x0b\x32-.mgmt.v1alpha1.LocalDirectoryConnectionConfigH\x00R\x0elocalDirConfig\x12L\n\ropenai_config\x18\x05 \x01(\x0b\x32%.mgmt.v1alpha1.OpenAiConnectionConfigH\x00R\x0copenaiConfig\x12I\n\x0cmongo_config\x18\x06 \x01(\x0b\x32$.mgmt.v1alpha1.MongoConnectionConfigH\x00R\x0bmongoConfig\x12h\n\x17gcp_cloudstorage_config\x18\x07 \x01(\x0b\x32..mgmt.v1alpha1.GcpCloudStorageConnectionConfigH\x00R\x15gcpCloudstorageConfig\x12R\n\x0f\x64ynamodb_config\x18\x08 \x01(\x0b\x32\'.mgmt.v1alpha1.DynamoDBConnectionConfigH\x00R\x0e\x64ynamodbConfig\x12I\n\x0cmssql_config\x18\t \x01(\x0b\x32$.mgmt.v1alpha1.MssqlConnectionConfigH\x00R\x0bmssqlConfigB\x0f\n\x06\x63onfig\x12\x05\xbaH\x02\x08\x01\"\xb0\x02\n\x15MssqlConnectionConfig\x12\x12\n\x03url\x18\x01 \x01(\tH\x00R\x03url\x12\"\n\x0curl_from_env\x18\x05 \x01(\tH\x00R\nurlFromEnv\x12R\n\x12\x63onnection_options\x18\x02 \x01(\x0b\x32#.mgmt.v1alpha1.SqlConnectionOptionsR\x11\x63onnectionOptions\x12\x30\n\x06tunnel\x18\x03 \x01(\x0b\x32\x18.mgmt.v1alpha1.SSHTunnelR\x06tunnel\x12=\n\nclient_tls\x18\x04 \x01(\x0b\x32\x1e.mgmt.v1alpha1.ClientTlsConfigR\tclientTlsB\x1a\n\x11\x63onnection_config\x12\x05\xbaH\x02\x08\x01\"\xc8\x01\n\x18\x44ynamoDBConnectionConfig\x12\x46\n\x0b\x63redentials\x18\x01 \x01(\x0b\x32\x1f.mgmt.v1alpha1.AwsS3CredentialsH\x00R\x0b\x63redentials\x88\x01\x01\x12\x1b\n\x06region\x18\x02 \x01(\tH\x01R\x06region\x88\x01\x01\x12\x1f\n\x08\x65ndpoint\x18\x03 \x01(\tH\x02R\x08\x65ndpoint\x88\x01\x01\x42\x0e\n\x0c_credentialsB\t\n\x07_regionB\x0b\n\t_endpoint\"\xb8\x01\n\x15MongoConnectionConfig\x12\x12\n\x03url\x18\x01 \x01(\tH\x00R\x03url\x12\x30\n\x06tunnel\x18\x02 \x01(\x0b\x32\x18.mgmt.v1alpha1.SSHTunnelR\x06tunnel\x12=\n\nclient_tls\x18\x03 \x01(\x0b\x32\x1e.mgmt.v1alpha1.ClientTlsConfigR\tclientTlsB\x1a\n\x11\x63onnection_config\x12\x05\xbaH\x02\x08\x01\"J\n\x16OpenAiConnectionConfig\x12\x17\n\x07\x61pi_key\x18\x01 \x01(\tR\x06\x61piKey\x12\x17\n\x07\x61pi_url\x18\x02 \x01(\tR\x06\x61piUrl\"=\n\x1eLocalDirectoryConnectionConfig\x12\x1b\n\x04path\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x04path\"\xf8\x02\n\x18PostgresConnectionConfig\x12\x12\n\x03url\x18\x01 \x01(\tH\x00R\x03url\x12\x43\n\nconnection\x18\x02 \x01(\x0b\x32!.mgmt.v1alpha1.PostgresConnectionH\x00R\nconnection\x12\"\n\x0curl_from_env\x18\x06 \x01(\tH\x00R\nurlFromEnv\x12\x30\n\x06tunnel\x18\x03 \x01(\x0b\x32\x18.mgmt.v1alpha1.SSHTunnelR\x06tunnel\x12R\n\x12\x63onnection_options\x18\x04 \x01(\x0b\x32#.mgmt.v1alpha1.SqlConnectionOptionsR\x11\x63onnectionOptions\x12=\n\nclient_tls\x18\x05 \x01(\x0b\x32\x1e.mgmt.v1alpha1.ClientTlsConfigR\tclientTlsB\x1a\n\x11\x63onnection_config\x12\x05\xbaH\x02\x08\x01\"\xe0\x01\n\x0f\x43lientTlsConfig\x12 \n\troot_cert\x18\x01 \x01(\tH\x00R\x08rootCert\x88\x01\x01\x12$\n\x0b\x63lient_cert\x18\x02 \x01(\tH\x01R\nclientCert\x88\x01\x01\x12\"\n\nclient_key\x18\x03 \x01(\tH\x02R\tclientKey\x88\x01\x01\x12$\n\x0bserver_name\x18\x04 \x01(\tH\x03R\nserverName\x88\x01\x01\x42\x0c\n\n_root_certB\x0e\n\x0c_client_certB\r\n\x0b_client_keyB\x0e\n\x0c_server_name\"\xc4\x02\n\x14SqlConnectionOptions\x12\x35\n\x14max_connection_limit\x18\x01 \x01(\x05H\x00R\x12maxConnectionLimit\x88\x01\x01\x12\x35\n\x14max_idle_connections\x18\x02 \x01(\x05H\x01R\x12maxIdleConnections\x88\x01\x01\x12/\n\x11max_idle_duration\x18\x03 \x01(\tH\x02R\x0fmaxIdleDuration\x88\x01\x01\x12/\n\x11max_open_duration\x18\x04 \x01(\tH\x03R\x0fmaxOpenDuration\x88\x01\x01\x42\x17\n\x15_max_connection_limitB\x17\n\x15_max_idle_connectionsB\x14\n\x12_max_idle_durationB\x14\n\x12_max_open_duration\"\x87\x02\n\tSSHTunnel\x12\x1b\n\x04host\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x04host\x12\x1b\n\x04port\x18\x02 \x01(\x05\x42\x07\xbaH\x04\x1a\x02(\x00R\x04port\x12\x1b\n\x04user\x18\x03 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x04user\x12?\n\x15known_host_public_key\x18\x04 \x01(\tB\x07\xbaH\x04r\x02\x10\x01H\x00R\x12knownHostPublicKey\x88\x01\x01\x12H\n\x0e\x61uthentication\x18\x05 \x01(\x0b\x32 .mgmt.v1alpha1.SSHAuthenticationR\x0e\x61uthenticationB\x18\n\x16_known_host_public_key\"\xaa\x01\n\x11SSHAuthentication\x12>\n\npassphrase\x18\x01 \x01(\x0b\x32\x1c.mgmt.v1alpha1.SSHPassphraseH\x00R\npassphrase\x12?\n\x0bprivate_key\x18\x02 \x01(\x0b\x32\x1c.mgmt.v1alpha1.SSHPrivateKeyH\x00R\nprivateKeyB\x14\n\x0b\x61uth_config\x12\x05\xbaH\x02\x08\x01\".\n\rSSHPassphrase\x12\x1d\n\x05value\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x05value\"b\n\rSSHPrivateKey\x12\x1d\n\x05value\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x05value\x12#\n\npassphrase\x18\x02 \x01(\tH\x00R\npassphrase\x88\x01\x01\x42\r\n\x0b_passphrase\"\xa5\x01\n\x12PostgresConnection\x12\x12\n\x04host\x18\x01 \x01(\tR\x04host\x12\x12\n\x04port\x18\x02 \x01(\x05R\x04port\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12\x12\n\x04user\x18\x04 \x01(\tR\x04user\x12\x12\n\x04pass\x18\x05 \x01(\tR\x04pass\x12\x1e\n\x08ssl_mode\x18\x06 \x01(\tH\x00R\x07sslMode\x88\x01\x01\x42\x0b\n\t_ssl_mode\"\x91\x01\n\x0fMysqlConnection\x12\x12\n\x04user\x18\x01 \x01(\tR\x04user\x12\x12\n\x04pass\x18\x02 \x01(\tR\x04pass\x12\x1a\n\x08protocol\x18\x03 \x01(\tR\x08protocol\x12\x12\n\x04host\x18\x04 \x01(\tR\x04host\x12\x12\n\x04port\x18\x05 \x01(\x05R\x04port\x12\x12\n\x04name\x18\x06 \x01(\tR\x04name\"\xf2\x02\n\x15MysqlConnectionConfig\x12\x12\n\x03url\x18\x01 \x01(\tH\x00R\x03url\x12@\n\nconnection\x18\x02 \x01(\x0b\x32\x1e.mgmt.v1alpha1.MysqlConnectionH\x00R\nconnection\x12\"\n\x0curl_from_env\x18\x06 \x01(\tH\x00R\nurlFromEnv\x12\x30\n\x06tunnel\x18\x03 \x01(\x0b\x32\x18.mgmt.v1alpha1.SSHTunnelR\x06tunnel\x12R\n\x12\x63onnection_options\x18\x04 \x01(\x0b\x32#.mgmt.v1alpha1.SqlConnectionOptionsR\x11\x63onnectionOptions\x12=\n\nclient_tls\x18\x05 \x01(\x0b\x32\x1e.mgmt.v1alpha1.ClientTlsConfigR\tclientTlsB\x1a\n\x11\x63onnection_config\x12\x05\xbaH\x02\x08\x01\"\xa2\x02\n\x15\x41wsS3ConnectionConfig\x12$\n\x0bpath_prefix\x18\x02 \x01(\tH\x00R\npathPrefix\x88\x01\x01\x12\x46\n\x0b\x63redentials\x18\x03 \x01(\x0b\x32\x1f.mgmt.v1alpha1.AwsS3CredentialsH\x01R\x0b\x63redentials\x88\x01\x01\x12\x1b\n\x06region\x18\x04 \x01(\tH\x02R\x06region\x88\x01\x01\x12\x1f\n\x08\x65ndpoint\x18\x05 \x01(\tH\x03R\x08\x65ndpoint\x88\x01\x01\x12\x1f\n\x06\x62ucket\x18\x06 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x06\x62ucketB\x0e\n\x0c_path_prefixB\x0e\n\x0c_credentialsB\t\n\x07_regionB\x0b\n\t_endpointJ\x04\x08\x01\x10\x02\"\xa7\x03\n\x10\x41wsS3Credentials\x12\x1d\n\x07profile\x18\x01 \x01(\tH\x00R\x07profile\x88\x01\x01\x12\'\n\raccess_key_id\x18\x02 \x01(\tH\x01R\x0b\x61\x63\x63\x65ssKeyId\x88\x01\x01\x12/\n\x11secret_access_key\x18\x03 \x01(\tH\x02R\x0fsecretAccessKey\x88\x01\x01\x12(\n\rsession_token\x18\x04 \x01(\tH\x03R\x0csessionToken\x88\x01\x01\x12\'\n\rfrom_ec2_role\x18\x05 \x01(\x08H\x04R\x0b\x66romEc2Role\x88\x01\x01\x12\x1e\n\x08role_arn\x18\x06 \x01(\tH\x05R\x07roleArn\x88\x01\x01\x12-\n\x10role_external_id\x18\x07 \x01(\tH\x06R\x0eroleExternalId\x88\x01\x01\x42\n\n\x08_profileB\x10\n\x0e_access_key_idB\x14\n\x12_secret_access_keyB\x10\n\x0e_session_tokenB\x10\n\x0e_from_ec2_roleB\x0b\n\t_role_arnB\x13\n\x11_role_external_id\"\xdd\x01\n\x1fGcpCloudStorageConnectionConfig\x12\x1f\n\x06\x62ucket\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x06\x62ucket\x12$\n\x0bpath_prefix\x18\x02 \x01(\tH\x00R\npathPrefix\x88\x01\x01\x12\x43\n\x1bservice_account_credentials\x18\x03 \x01(\tH\x01R\x19serviceAccountCredentials\x88\x01\x01\x42\x0e\n\x0c_path_prefixB\x1e\n\x1c_service_account_credentials\"\x8f\x01\n IsConnectionNameAvailableRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12\x42\n\x0f\x63onnection_name\x18\x02 \x01(\tB\x19\xbaH\x16r\x14\x32\x12^[a-z0-9-]{3,100}$R\x0e\x63onnectionName\"F\n!IsConnectionNameAvailableResponse\x12!\n\x0cis_available\x18\x01 \x01(\x08R\x0bisAvailable\"O\n\x14\x43heckSqlQueryRequest\x12\x18\n\x02id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x02id\x12\x1d\n\x05query\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x05query\"n\n\x15\x43heckSqlQueryResponse\x12\x19\n\x08is_valid\x18\x01 \x01(\x08R\x07isValid\x12(\n\rerorr_message\x18\x02 \x01(\tH\x00R\x0c\x65rorrMessage\x88\x01\x01\x42\x10\n\x0e_erorr_message2\xe1\x07\n\x11\x43onnectionService\x12_\n\x0eGetConnections\x12$.mgmt.v1alpha1.GetConnectionsRequest\x1a%.mgmt.v1alpha1.GetConnectionsResponse\"\x00\x12\\\n\rGetConnection\x12#.mgmt.v1alpha1.GetConnectionRequest\x1a$.mgmt.v1alpha1.GetConnectionResponse\"\x00\x12\x65\n\x10\x43reateConnection\x12&.mgmt.v1alpha1.CreateConnectionRequest\x1a\'.mgmt.v1alpha1.CreateConnectionResponse\"\x00\x12\x65\n\x10UpdateConnection\x12&.mgmt.v1alpha1.UpdateConnectionRequest\x1a\'.mgmt.v1alpha1.UpdateConnectionResponse\"\x00\x12\x65\n\x10\x44\x65leteConnection\x12&.mgmt.v1alpha1.DeleteConnectionRequest\x1a\'.mgmt.v1alpha1.DeleteConnectionResponse\"\x00\x12\x80\x01\n\x19IsConnectionNameAvailable\x12/.mgmt.v1alpha1.IsConnectionNameAvailableRequest\x1a\x30.mgmt.v1alpha1.IsConnectionNameAvailableResponse\"\x00\x12t\n\x15\x43heckConnectionConfig\x12+.mgmt.v1alpha1.CheckConnectionConfigRequest\x1a,.mgmt.v1alpha1.CheckConnectionConfigResponse\"\x00\x12\x80\x01\n\x19\x43heckConnectionConfigById\x12/.mgmt.v1alpha1.CheckConnectionConfigByIdRequest\x1a\x30.mgmt.v1alpha1.CheckConnectionConfigByIdResponse\"\x00\x12\\\n\rCheckSqlQuery\x12#.mgmt.v1alpha1.CheckSqlQueryRequest\x1a$.mgmt.v1alpha1.CheckSqlQueryResponse\"\x00\x42\xcb\x01\n\x11\x63om.mgmt.v1alpha1B\x0f\x43onnectionProtoP\x01ZPgithub.com/nucleuscloud/neosync/backend/gen/go/protos/mgmt/v1alpha1;mgmtv1alpha1\xa2\x02\x03MXX\xaa\x02\rMgmt.V1alpha1\xca\x02\rMgmt\\V1alpha1\xe2\x02\x19Mgmt\\V1alpha1\\GPBMetadata\xea\x02\x0eMgmt::V1alpha1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1emgmt/v1alpha1/connection.proto\x12\rmgmt.v1alpha1\x1a\x1b\x62uf/validate/validate.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"@\n\x15GetConnectionsRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"U\n\x16GetConnectionsResponse\x12;\n\x0b\x63onnections\x18\x01 \x03(\x0b\x32\x19.mgmt.v1alpha1.ConnectionR\x0b\x63onnections\"0\n\x14GetConnectionRequest\x12\x18\n\x02id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x02id\"R\n\x15GetConnectionResponse\x12\x39\n\nconnection\x18\x01 \x01(\x0b\x32\x19.mgmt.v1alpha1.ConnectionR\nconnection\"\xbf\x01\n\x17\x43reateConnectionRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12-\n\x04name\x18\x02 \x01(\tB\x19\xbaH\x16r\x14\x32\x12^[a-z0-9-]{3,100}$R\x04name\x12L\n\x11\x63onnection_config\x18\x03 \x01(\x0b\x32\x1f.mgmt.v1alpha1.ConnectionConfigR\x10\x63onnectionConfig\"U\n\x18\x43reateConnectionResponse\x12\x39\n\nconnection\x18\x01 \x01(\x0b\x32\x19.mgmt.v1alpha1.ConnectionR\nconnection\"\xb0\x01\n\x17UpdateConnectionRequest\x12\x18\n\x02id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x02id\x12-\n\x04name\x18\x02 \x01(\tB\x19\xbaH\x16r\x14\x32\x12^[a-z0-9-]{3,100}$R\x04name\x12L\n\x11\x63onnection_config\x18\x03 \x01(\x0b\x32\x1f.mgmt.v1alpha1.ConnectionConfigR\x10\x63onnectionConfig\"U\n\x18UpdateConnectionResponse\x12\x39\n\nconnection\x18\x01 \x01(\x0b\x32\x19.mgmt.v1alpha1.ConnectionR\nconnection\"3\n\x17\x44\x65leteConnectionRequest\x12\x18\n\x02id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x02id\"\x1a\n\x18\x44\x65leteConnectionResponse\"l\n\x1c\x43heckConnectionConfigRequest\x12L\n\x11\x63onnection_config\x18\x01 \x01(\x0b\x32\x1f.mgmt.v1alpha1.ConnectionConfigR\x10\x63onnectionConfig\"<\n CheckConnectionConfigByIdRequest\x12\x18\n\x02id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x02id\"\xd3\x01\n!CheckConnectionConfigByIdResponse\x12!\n\x0cis_connected\x18\x01 \x01(\x08R\x0bisConnected\x12.\n\x10\x63onnection_error\x18\x02 \x01(\tH\x00R\x0f\x63onnectionError\x88\x01\x01\x12\x46\n\nprivileges\x18\x03 \x03(\x0b\x32&.mgmt.v1alpha1.ConnectionRolePrivilegeR\nprivilegesB\x13\n\x11_connection_error\"\xcf\x01\n\x1d\x43heckConnectionConfigResponse\x12!\n\x0cis_connected\x18\x01 \x01(\x08R\x0bisConnected\x12.\n\x10\x63onnection_error\x18\x02 \x01(\tH\x00R\x0f\x63onnectionError\x88\x01\x01\x12\x46\n\nprivileges\x18\x03 \x03(\x0b\x32&.mgmt.v1alpha1.ConnectionRolePrivilegeR\nprivilegesB\x13\n\x11_connection_error\"\x88\x01\n\x17\x43onnectionRolePrivilege\x12\x18\n\x07grantee\x18\x01 \x01(\tR\x07grantee\x12\x16\n\x06schema\x18\x02 \x01(\tR\x06schema\x12\x14\n\x05table\x18\x03 \x01(\tR\x05table\x12%\n\x0eprivilege_type\x18\x04 \x03(\tR\rprivilegeType\"\xed\x02\n\nConnection\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12L\n\x11\x63onnection_config\x18\x03 \x01(\x0b\x32\x1f.mgmt.v1alpha1.ConnectionConfigR\x10\x63onnectionConfig\x12+\n\x12\x63reated_by_user_id\x18\x04 \x01(\tR\x0f\x63reatedByUserId\x12\x39\n\ncreated_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12+\n\x12updated_by_user_id\x18\x06 \x01(\tR\x0fupdatedByUserId\x12\x39\n\nupdated_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tupdatedAt\x12\x1d\n\naccount_id\x18\x08 \x01(\tR\taccountId\"\xff\x05\n\x10\x43onnectionConfig\x12\x46\n\tpg_config\x18\x01 \x01(\x0b\x32\'.mgmt.v1alpha1.PostgresConnectionConfigH\x00R\x08pgConfig\x12J\n\raws_s3_config\x18\x02 \x01(\x0b\x32$.mgmt.v1alpha1.AwsS3ConnectionConfigH\x00R\x0b\x61wsS3Config\x12I\n\x0cmysql_config\x18\x03 \x01(\x0b\x32$.mgmt.v1alpha1.MysqlConnectionConfigH\x00R\x0bmysqlConfig\x12Y\n\x10local_dir_config\x18\x04 \x01(\x0b\x32-.mgmt.v1alpha1.LocalDirectoryConnectionConfigH\x00R\x0elocalDirConfig\x12L\n\ropenai_config\x18\x05 \x01(\x0b\x32%.mgmt.v1alpha1.OpenAiConnectionConfigH\x00R\x0copenaiConfig\x12I\n\x0cmongo_config\x18\x06 \x01(\x0b\x32$.mgmt.v1alpha1.MongoConnectionConfigH\x00R\x0bmongoConfig\x12h\n\x17gcp_cloudstorage_config\x18\x07 \x01(\x0b\x32..mgmt.v1alpha1.GcpCloudStorageConnectionConfigH\x00R\x15gcpCloudstorageConfig\x12R\n\x0f\x64ynamodb_config\x18\x08 \x01(\x0b\x32\'.mgmt.v1alpha1.DynamoDBConnectionConfigH\x00R\x0e\x64ynamodbConfig\x12I\n\x0cmssql_config\x18\t \x01(\x0b\x32$.mgmt.v1alpha1.MssqlConnectionConfigH\x00R\x0bmssqlConfigB\x0f\n\x06\x63onfig\x12\x05\xbaH\x02\x08\x01\"\xb0\x02\n\x15MssqlConnectionConfig\x12\x12\n\x03url\x18\x01 \x01(\tH\x00R\x03url\x12\"\n\x0curl_from_env\x18\x05 \x01(\tH\x00R\nurlFromEnv\x12R\n\x12\x63onnection_options\x18\x02 \x01(\x0b\x32#.mgmt.v1alpha1.SqlConnectionOptionsR\x11\x63onnectionOptions\x12\x30\n\x06tunnel\x18\x03 \x01(\x0b\x32\x18.mgmt.v1alpha1.SSHTunnelR\x06tunnel\x12=\n\nclient_tls\x18\x04 \x01(\x0b\x32\x1e.mgmt.v1alpha1.ClientTlsConfigR\tclientTlsB\x1a\n\x11\x63onnection_config\x12\x05\xbaH\x02\x08\x01\"\xc8\x01\n\x18\x44ynamoDBConnectionConfig\x12\x46\n\x0b\x63redentials\x18\x01 \x01(\x0b\x32\x1f.mgmt.v1alpha1.AwsS3CredentialsH\x00R\x0b\x63redentials\x88\x01\x01\x12\x1b\n\x06region\x18\x02 \x01(\tH\x01R\x06region\x88\x01\x01\x12\x1f\n\x08\x65ndpoint\x18\x03 \x01(\tH\x02R\x08\x65ndpoint\x88\x01\x01\x42\x0e\n\x0c_credentialsB\t\n\x07_regionB\x0b\n\t_endpoint\"\xb8\x01\n\x15MongoConnectionConfig\x12\x12\n\x03url\x18\x01 \x01(\tH\x00R\x03url\x12\x30\n\x06tunnel\x18\x02 \x01(\x0b\x32\x18.mgmt.v1alpha1.SSHTunnelR\x06tunnel\x12=\n\nclient_tls\x18\x03 \x01(\x0b\x32\x1e.mgmt.v1alpha1.ClientTlsConfigR\tclientTlsB\x1a\n\x11\x63onnection_config\x12\x05\xbaH\x02\x08\x01\"J\n\x16OpenAiConnectionConfig\x12\x17\n\x07\x61pi_key\x18\x01 \x01(\tR\x06\x61piKey\x12\x17\n\x07\x61pi_url\x18\x02 \x01(\tR\x06\x61piUrl\"=\n\x1eLocalDirectoryConnectionConfig\x12\x1b\n\x04path\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x04path\"\xf8\x02\n\x18PostgresConnectionConfig\x12\x12\n\x03url\x18\x01 \x01(\tH\x00R\x03url\x12\x43\n\nconnection\x18\x02 \x01(\x0b\x32!.mgmt.v1alpha1.PostgresConnectionH\x00R\nconnection\x12\"\n\x0curl_from_env\x18\x06 \x01(\tH\x00R\nurlFromEnv\x12\x30\n\x06tunnel\x18\x03 \x01(\x0b\x32\x18.mgmt.v1alpha1.SSHTunnelR\x06tunnel\x12R\n\x12\x63onnection_options\x18\x04 \x01(\x0b\x32#.mgmt.v1alpha1.SqlConnectionOptionsR\x11\x63onnectionOptions\x12=\n\nclient_tls\x18\x05 \x01(\x0b\x32\x1e.mgmt.v1alpha1.ClientTlsConfigR\tclientTlsB\x1a\n\x11\x63onnection_config\x12\x05\xbaH\x02\x08\x01\"\xe0\x01\n\x0f\x43lientTlsConfig\x12 \n\troot_cert\x18\x01 \x01(\tH\x00R\x08rootCert\x88\x01\x01\x12$\n\x0b\x63lient_cert\x18\x02 \x01(\tH\x01R\nclientCert\x88\x01\x01\x12\"\n\nclient_key\x18\x03 \x01(\tH\x02R\tclientKey\x88\x01\x01\x12$\n\x0bserver_name\x18\x04 \x01(\tH\x03R\nserverName\x88\x01\x01\x42\x0c\n\n_root_certB\x0e\n\x0c_client_certB\r\n\x0b_client_keyB\x0e\n\x0c_server_name\"\xc4\x02\n\x14SqlConnectionOptions\x12\x35\n\x14max_connection_limit\x18\x01 \x01(\x05H\x00R\x12maxConnectionLimit\x88\x01\x01\x12\x35\n\x14max_idle_connections\x18\x02 \x01(\x05H\x01R\x12maxIdleConnections\x88\x01\x01\x12/\n\x11max_idle_duration\x18\x03 \x01(\tH\x02R\x0fmaxIdleDuration\x88\x01\x01\x12/\n\x11max_open_duration\x18\x04 \x01(\tH\x03R\x0fmaxOpenDuration\x88\x01\x01\x42\x17\n\x15_max_connection_limitB\x17\n\x15_max_idle_connectionsB\x14\n\x12_max_idle_durationB\x14\n\x12_max_open_duration\"\x87\x02\n\tSSHTunnel\x12\x1b\n\x04host\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x04host\x12\x1b\n\x04port\x18\x02 \x01(\x05\x42\x07\xbaH\x04\x1a\x02(\x00R\x04port\x12\x1b\n\x04user\x18\x03 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x04user\x12?\n\x15known_host_public_key\x18\x04 \x01(\tB\x07\xbaH\x04r\x02\x10\x01H\x00R\x12knownHostPublicKey\x88\x01\x01\x12H\n\x0e\x61uthentication\x18\x05 \x01(\x0b\x32 .mgmt.v1alpha1.SSHAuthenticationR\x0e\x61uthenticationB\x18\n\x16_known_host_public_key\"\xaa\x01\n\x11SSHAuthentication\x12>\n\npassphrase\x18\x01 \x01(\x0b\x32\x1c.mgmt.v1alpha1.SSHPassphraseH\x00R\npassphrase\x12?\n\x0bprivate_key\x18\x02 \x01(\x0b\x32\x1c.mgmt.v1alpha1.SSHPrivateKeyH\x00R\nprivateKeyB\x14\n\x0b\x61uth_config\x12\x05\xbaH\x02\x08\x01\".\n\rSSHPassphrase\x12\x1d\n\x05value\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x05value\"b\n\rSSHPrivateKey\x12\x1d\n\x05value\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x05value\x12#\n\npassphrase\x18\x02 \x01(\tH\x00R\npassphrase\x88\x01\x01\x42\r\n\x0b_passphrase\"\xa5\x01\n\x12PostgresConnection\x12\x12\n\x04host\x18\x01 \x01(\tR\x04host\x12\x12\n\x04port\x18\x02 \x01(\x05R\x04port\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12\x12\n\x04user\x18\x04 \x01(\tR\x04user\x12\x12\n\x04pass\x18\x05 \x01(\tR\x04pass\x12\x1e\n\x08ssl_mode\x18\x06 \x01(\tH\x00R\x07sslMode\x88\x01\x01\x42\x0b\n\t_ssl_mode\"\x91\x01\n\x0fMysqlConnection\x12\x12\n\x04user\x18\x01 \x01(\tR\x04user\x12\x12\n\x04pass\x18\x02 \x01(\tR\x04pass\x12\x1a\n\x08protocol\x18\x03 \x01(\tR\x08protocol\x12\x12\n\x04host\x18\x04 \x01(\tR\x04host\x12\x12\n\x04port\x18\x05 \x01(\x05R\x04port\x12\x12\n\x04name\x18\x06 \x01(\tR\x04name\"\xf2\x02\n\x15MysqlConnectionConfig\x12\x12\n\x03url\x18\x01 \x01(\tH\x00R\x03url\x12@\n\nconnection\x18\x02 \x01(\x0b\x32\x1e.mgmt.v1alpha1.MysqlConnectionH\x00R\nconnection\x12\"\n\x0curl_from_env\x18\x06 \x01(\tH\x00R\nurlFromEnv\x12\x30\n\x06tunnel\x18\x03 \x01(\x0b\x32\x18.mgmt.v1alpha1.SSHTunnelR\x06tunnel\x12R\n\x12\x63onnection_options\x18\x04 \x01(\x0b\x32#.mgmt.v1alpha1.SqlConnectionOptionsR\x11\x63onnectionOptions\x12=\n\nclient_tls\x18\x05 \x01(\x0b\x32\x1e.mgmt.v1alpha1.ClientTlsConfigR\tclientTlsB\x1a\n\x11\x63onnection_config\x12\x05\xbaH\x02\x08\x01\"\xa2\x02\n\x15\x41wsS3ConnectionConfig\x12$\n\x0bpath_prefix\x18\x02 \x01(\tH\x00R\npathPrefix\x88\x01\x01\x12\x46\n\x0b\x63redentials\x18\x03 \x01(\x0b\x32\x1f.mgmt.v1alpha1.AwsS3CredentialsH\x01R\x0b\x63redentials\x88\x01\x01\x12\x1b\n\x06region\x18\x04 \x01(\tH\x02R\x06region\x88\x01\x01\x12\x1f\n\x08\x65ndpoint\x18\x05 \x01(\tH\x03R\x08\x65ndpoint\x88\x01\x01\x12\x1f\n\x06\x62ucket\x18\x06 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x06\x62ucketB\x0e\n\x0c_path_prefixB\x0e\n\x0c_credentialsB\t\n\x07_regionB\x0b\n\t_endpointJ\x04\x08\x01\x10\x02\"\xa7\x03\n\x10\x41wsS3Credentials\x12\x1d\n\x07profile\x18\x01 \x01(\tH\x00R\x07profile\x88\x01\x01\x12\'\n\raccess_key_id\x18\x02 \x01(\tH\x01R\x0b\x61\x63\x63\x65ssKeyId\x88\x01\x01\x12/\n\x11secret_access_key\x18\x03 \x01(\tH\x02R\x0fsecretAccessKey\x88\x01\x01\x12(\n\rsession_token\x18\x04 \x01(\tH\x03R\x0csessionToken\x88\x01\x01\x12\'\n\rfrom_ec2_role\x18\x05 \x01(\x08H\x04R\x0b\x66romEc2Role\x88\x01\x01\x12\x1e\n\x08role_arn\x18\x06 \x01(\tH\x05R\x07roleArn\x88\x01\x01\x12-\n\x10role_external_id\x18\x07 \x01(\tH\x06R\x0eroleExternalId\x88\x01\x01\x42\n\n\x08_profileB\x10\n\x0e_access_key_idB\x14\n\x12_secret_access_keyB\x10\n\x0e_session_tokenB\x10\n\x0e_from_ec2_roleB\x0b\n\t_role_arnB\x13\n\x11_role_external_id\"\xdd\x01\n\x1fGcpCloudStorageConnectionConfig\x12\x1f\n\x06\x62ucket\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x06\x62ucket\x12$\n\x0bpath_prefix\x18\x02 \x01(\tH\x00R\npathPrefix\x88\x01\x01\x12\x43\n\x1bservice_account_credentials\x18\x03 \x01(\tH\x01R\x19serviceAccountCredentials\x88\x01\x01\x42\x0e\n\x0c_path_prefixB\x1e\n\x1c_service_account_credentials\"\x8f\x01\n IsConnectionNameAvailableRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12\x42\n\x0f\x63onnection_name\x18\x02 \x01(\tB\x19\xbaH\x16r\x14\x32\x12^[a-z0-9-]{3,100}$R\x0e\x63onnectionName\"F\n!IsConnectionNameAvailableResponse\x12!\n\x0cis_available\x18\x01 \x01(\x08R\x0bisAvailable\"O\n\x14\x43heckSqlQueryRequest\x12\x18\n\x02id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x02id\x12\x1d\n\x05query\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x05query\"n\n\x15\x43heckSqlQueryResponse\x12\x19\n\x08is_valid\x18\x01 \x01(\x08R\x07isValid\x12(\n\rerorr_message\x18\x02 \x01(\tH\x00R\x0c\x65rorrMessage\x88\x01\x01\x42\x10\n\x0e_erorr_message2\xe7\x07\n\x11\x43onnectionService\x12\x62\n\x0eGetConnections\x12$.mgmt.v1alpha1.GetConnectionsRequest\x1a%.mgmt.v1alpha1.GetConnectionsResponse\"\x03\x90\x02\x01\x12_\n\rGetConnection\x12#.mgmt.v1alpha1.GetConnectionRequest\x1a$.mgmt.v1alpha1.GetConnectionResponse\"\x03\x90\x02\x01\x12\x65\n\x10\x43reateConnection\x12&.mgmt.v1alpha1.CreateConnectionRequest\x1a\'.mgmt.v1alpha1.CreateConnectionResponse\"\x00\x12\x65\n\x10UpdateConnection\x12&.mgmt.v1alpha1.UpdateConnectionRequest\x1a\'.mgmt.v1alpha1.UpdateConnectionResponse\"\x00\x12\x65\n\x10\x44\x65leteConnection\x12&.mgmt.v1alpha1.DeleteConnectionRequest\x1a\'.mgmt.v1alpha1.DeleteConnectionResponse\"\x00\x12\x80\x01\n\x19IsConnectionNameAvailable\x12/.mgmt.v1alpha1.IsConnectionNameAvailableRequest\x1a\x30.mgmt.v1alpha1.IsConnectionNameAvailableResponse\"\x00\x12t\n\x15\x43heckConnectionConfig\x12+.mgmt.v1alpha1.CheckConnectionConfigRequest\x1a,.mgmt.v1alpha1.CheckConnectionConfigResponse\"\x00\x12\x80\x01\n\x19\x43heckConnectionConfigById\x12/.mgmt.v1alpha1.CheckConnectionConfigByIdRequest\x1a\x30.mgmt.v1alpha1.CheckConnectionConfigByIdResponse\"\x00\x12\\\n\rCheckSqlQuery\x12#.mgmt.v1alpha1.CheckSqlQueryRequest\x1a$.mgmt.v1alpha1.CheckSqlQueryResponse\"\x00\x42\xcb\x01\n\x11\x63om.mgmt.v1alpha1B\x0f\x43onnectionProtoP\x01ZPgithub.com/nucleuscloud/neosync/backend/gen/go/protos/mgmt/v1alpha1;mgmtv1alpha1\xa2\x02\x03MXX\xaa\x02\rMgmt.V1alpha1\xca\x02\rMgmt\\V1alpha1\xe2\x02\x19Mgmt\\V1alpha1\\GPBMetadata\xea\x02\x0eMgmt::V1alpha1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -88,6 +88,10 @@ _globals['_CHECKSQLQUERYREQUEST'].fields_by_name['id']._serialized_options = b'\272H\005r\003\260\001\001' _globals['_CHECKSQLQUERYREQUEST'].fields_by_name['query']._loaded_options = None _globals['_CHECKSQLQUERYREQUEST'].fields_by_name['query']._serialized_options = b'\272H\004r\002\020\001' + _globals['_CONNECTIONSERVICE'].methods_by_name['GetConnections']._loaded_options = None + _globals['_CONNECTIONSERVICE'].methods_by_name['GetConnections']._serialized_options = b'\220\002\001' + _globals['_CONNECTIONSERVICE'].methods_by_name['GetConnection']._loaded_options = None + _globals['_CONNECTIONSERVICE'].methods_by_name['GetConnection']._serialized_options = b'\220\002\001' _globals['_GETCONNECTIONSREQUEST']._serialized_start=111 _globals['_GETCONNECTIONSREQUEST']._serialized_end=175 _globals['_GETCONNECTIONSRESPONSE']._serialized_start=177 @@ -167,5 +171,5 @@ _globals['_CHECKSQLQUERYRESPONSE']._serialized_start=7186 _globals['_CHECKSQLQUERYRESPONSE']._serialized_end=7296 _globals['_CONNECTIONSERVICE']._serialized_start=7299 - _globals['_CONNECTIONSERVICE']._serialized_end=8292 + _globals['_CONNECTIONSERVICE']._serialized_end=8298 # @@protoc_insertion_point(module_scope) diff --git a/python/src/neosync/mgmt/v1alpha1/job_pb2.py b/python/src/neosync/mgmt/v1alpha1/job_pb2.py index 9a7fb2e384..9aae37a178 100644 --- a/python/src/neosync/mgmt/v1alpha1/job_pb2.py +++ b/python/src/neosync/mgmt/v1alpha1/job_pb2.py @@ -27,7 +27,7 @@ from mgmt.v1alpha1 import transformer_pb2 as mgmt_dot_v1alpha1_dot_transformer__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17mgmt/v1alpha1/job.proto\x12\rmgmt.v1alpha1\x1a\x1b\x62uf/validate/validate.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1fmgmt/v1alpha1/transformer.proto\"9\n\x0eGetJobsRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"9\n\x0fGetJobsResponse\x12&\n\x04jobs\x18\x01 \x03(\x0b\x32\x12.mgmt.v1alpha1.JobR\x04jobs\"N\n\tJobSource\x12\x41\n\x07options\x18\x01 \x01(\x0b\x32\x1f.mgmt.v1alpha1.JobSourceOptionsB\x06\xbaH\x03\xc8\x01\x01R\x07options\"\xe9\x04\n\x10JobSourceOptions\x12L\n\x08postgres\x18\x01 \x01(\x0b\x32..mgmt.v1alpha1.PostgresSourceConnectionOptionsH\x00R\x08postgres\x12\x44\n\x06\x61ws_s3\x18\x02 \x01(\x0b\x32+.mgmt.v1alpha1.AwsS3SourceConnectionOptionsH\x00R\x05\x61wsS3\x12\x43\n\x05mysql\x18\x03 \x01(\x0b\x32+.mgmt.v1alpha1.MysqlSourceConnectionOptionsH\x00R\x05mysql\x12\x42\n\x08generate\x18\x04 \x01(\x0b\x32$.mgmt.v1alpha1.GenerateSourceOptionsH\x00R\x08generate\x12I\n\x0b\x61i_generate\x18\x05 \x01(\x0b\x32&.mgmt.v1alpha1.AiGenerateSourceOptionsH\x00R\naiGenerate\x12I\n\x07mongodb\x18\x06 \x01(\x0b\x32-.mgmt.v1alpha1.MongoDBSourceConnectionOptionsH\x00R\x07mongodb\x12L\n\x08\x64ynamodb\x18\x07 \x01(\x0b\x32..mgmt.v1alpha1.DynamoDBSourceConnectionOptionsH\x00R\x08\x64ynamodb\x12\x43\n\x05mssql\x18\x08 \x01(\x0b\x32+.mgmt.v1alpha1.MssqlSourceConnectionOptionsH\x00R\x05mssqlB\x0f\n\x06\x63onfig\x12\x05\xbaH\x02\x08\x01\"\x85\x01\n\x14\x43reateJobDestination\x12-\n\rconnection_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x0c\x63onnectionId\x12>\n\x07options\x18\x02 \x01(\x0b\x32$.mgmt.v1alpha1.JobDestinationOptionsR\x07options\"\x85\x01\n\x0eJobDestination\x12#\n\rconnection_id\x18\x01 \x01(\tR\x0c\x63onnectionId\x12>\n\x07options\x18\x02 \x01(\x0b\x32$.mgmt.v1alpha1.JobDestinationOptionsR\x07options\x12\x0e\n\x02id\x18\x03 \x01(\tR\x02id\"\xb6\x03\n\x17\x41iGenerateSourceOptions\x12\x32\n\x10\x61i_connection_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x0e\x61iConnectionId\x12O\n\x07schemas\x18\x02 \x03(\x0b\x32+.mgmt.v1alpha1.AiGenerateSourceSchemaOptionB\x08\xbaH\x05\x92\x01\x02\x08\x01R\x07schemas\x12\x44\n\x17\x66k_source_connection_id\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x14\x66kSourceConnectionId\x88\x01\x01\x12&\n\nmodel_name\x18\x04 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\tmodelName\x12$\n\x0buser_prompt\x18\x05 \x01(\tH\x01R\nuserPrompt\x88\x01\x01\x12>\n\x13generate_batch_size\x18\x06 \x01(\x03\x42\t\xbaH\x06\"\x04\x18\x64(\x01H\x02R\x11generateBatchSize\x88\x01\x01\x42\x1a\n\x18_fk_source_connection_idB\x0e\n\x0c_user_promptB\x16\n\x14_generate_batch_size\"\x8d\x01\n\x1c\x41iGenerateSourceSchemaOption\x12\x1f\n\x06schema\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x06schema\x12L\n\x06tables\x18\x02 \x03(\x0b\x32*.mgmt.v1alpha1.AiGenerateSourceTableOptionB\x08\xbaH\x05\x92\x01\x02\x08\x01R\x06tables\"e\n\x1b\x41iGenerateSourceTableOption\x12\x1d\n\x05table\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x05table\x12\'\n\trow_count\x18\x02 \x01(\x03\x42\n\xbaH\x07\"\x05\x18\xe8\x07(\x01R\x08rowCount\"\xc8\x01\n\x15GenerateSourceOptions\x12M\n\x07schemas\x18\x01 \x03(\x0b\x32).mgmt.v1alpha1.GenerateSourceSchemaOptionB\x08\xbaH\x05\x92\x01\x02\x08\x01R\x07schemas\x12\x44\n\x17\x66k_source_connection_id\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x14\x66kSourceConnectionId\x88\x01\x01\x42\x1a\n\x18_fk_source_connection_id\"\x89\x01\n\x1aGenerateSourceSchemaOption\x12\x1f\n\x06schema\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x06schema\x12J\n\x06tables\x18\x02 \x03(\x0b\x32(.mgmt.v1alpha1.GenerateSourceTableOptionB\x08\xbaH\x05\x92\x01\x02\x08\x01R\x06tables\"`\n\x19GenerateSourceTableOption\x12\x1d\n\x05table\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x05table\x12$\n\trow_count\x18\x02 \x01(\x03\x42\x07\xbaH\x04\"\x02(\x01R\x08rowCount\"O\n\x1eMongoDBSourceConnectionOptions\x12-\n\rconnection_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x0c\x63onnectionId\"\xaf\x02\n\x1f\x44ynamoDBSourceConnectionOptions\x12-\n\rconnection_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x0c\x63onnectionId\x12@\n\x06tables\x18\x02 \x03(\x0b\x32(.mgmt.v1alpha1.DynamoDBSourceTableOptionR\x06tables\x12\x65\n\x13unmapped_transforms\x18\x03 \x01(\x0b\x32\x34.mgmt.v1alpha1.DynamoDBSourceUnmappedTransformConfigR\x12unmappedTransforms\x12\x34\n\x16\x65nable_consistent_read\x18\x04 \x01(\x08R\x14\x65nableConsistentRead\"\x83\x02\n%DynamoDBSourceUnmappedTransformConfig\x12\x32\n\x01\x62\x18\x01 \x01(\x0b\x32$.mgmt.v1alpha1.JobMappingTransformerR\x01\x62\x12>\n\x07\x62oolean\x18\x02 \x01(\x0b\x32$.mgmt.v1alpha1.JobMappingTransformerR\x07\x62oolean\x12\x32\n\x01n\x18\x04 \x01(\x0b\x32$.mgmt.v1alpha1.JobMappingTransformerR\x01n\x12\x32\n\x01s\x18\x06 \x01(\x0b\x32$.mgmt.v1alpha1.JobMappingTransformerR\x01s\"s\n\x19\x44ynamoDBSourceTableOption\x12\x1d\n\x05table\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x05table\x12&\n\x0cwhere_clause\x18\x02 \x01(\tH\x00R\x0bwhereClause\x88\x01\x01\x42\x0f\n\r_where_clause\"\xaf\x08\n\x1fPostgresSourceConnectionOptions\x12\x43\n\x07schemas\x18\x02 \x03(\x0b\x32).mgmt.v1alpha1.PostgresSourceSchemaOptionR\x07schemas\x12-\n\rconnection_id\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x0c\x63onnectionId\x12H\n!subset_by_foreign_key_constraints\x18\x04 \x01(\x08R\x1dsubsetByForeignKeyConstraints\x12\x89\x01\n\x1cnew_column_addition_strategy\x18\x05 \x01(\x0b\x32H.mgmt.v1alpha1.PostgresSourceConnectionOptions.NewColumnAdditionStrategyR\x19newColumnAdditionStrategy\x12|\n\x17\x63olumn_removal_strategy\x18\x06 \x01(\x0b\x32\x44.mgmt.v1alpha1.PostgresSourceConnectionOptions.ColumnRemovalStrategyR\x15\x63olumnRemovalStrategy\x1a\x9b\x02\n\x19NewColumnAdditionStrategy\x12m\n\x08halt_job\x18\x01 \x01(\x0b\x32P.mgmt.v1alpha1.PostgresSourceConnectionOptions.NewColumnAdditionStrategy.HaltJobH\x00R\x07haltJob\x12m\n\x08\x61uto_map\x18\x02 \x01(\x0b\x32P.mgmt.v1alpha1.PostgresSourceConnectionOptions.NewColumnAdditionStrategy.AutoMapH\x00R\x07\x61utoMap\x1a\t\n\x07HaltJob\x1a\t\n\x07\x41utoMapB\n\n\x08strategy\x1a\x9f\x02\n\x15\x43olumnRemovalStrategy\x12i\n\x08halt_job\x18\x01 \x01(\x0b\x32L.mgmt.v1alpha1.PostgresSourceConnectionOptions.ColumnRemovalStrategy.HaltJobH\x00R\x07haltJob\x12u\n\x0c\x63ontinue_job\x18\x02 \x01(\x0b\x32P.mgmt.v1alpha1.PostgresSourceConnectionOptions.ColumnRemovalStrategy.ContinueJobH\x00R\x0b\x63ontinueJob\x1a\t\n\x07HaltJob\x1a\r\n\x0b\x43ontinueJobB\n\n\x08strategyJ\x04\x08\x01\x10\x02\"v\n\x1aPostgresSourceSchemaOption\x12\x16\n\x06schema\x18\x01 \x01(\tR\x06schema\x12@\n\x06tables\x18\x02 \x03(\x0b\x32(.mgmt.v1alpha1.PostgresSourceTableOptionR\x06tables\"j\n\x19PostgresSourceTableOption\x12\x14\n\x05table\x18\x01 \x01(\tR\x05table\x12&\n\x0cwhere_clause\x18\x02 \x01(\tH\x00R\x0bwhereClause\x88\x01\x01\x42\x0f\n\r_where_clause\"\xae\x05\n\x1cMysqlSourceConnectionOptions\x12<\n\x1bhalt_on_new_column_addition\x18\x01 \x01(\x08R\x17haltOnNewColumnAddition\x12@\n\x07schemas\x18\x02 \x03(\x0b\x32&.mgmt.v1alpha1.MysqlSourceSchemaOptionR\x07schemas\x12-\n\rconnection_id\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x0c\x63onnectionId\x12H\n!subset_by_foreign_key_constraints\x18\x04 \x01(\x08R\x1dsubsetByForeignKeyConstraints\x12y\n\x17\x63olumn_removal_strategy\x18\x05 \x01(\x0b\x32\x41.mgmt.v1alpha1.MysqlSourceConnectionOptions.ColumnRemovalStrategyR\x15\x63olumnRemovalStrategy\x1a\x99\x02\n\x15\x43olumnRemovalStrategy\x12\x66\n\x08halt_job\x18\x01 \x01(\x0b\x32I.mgmt.v1alpha1.MysqlSourceConnectionOptions.ColumnRemovalStrategy.HaltJobH\x00R\x07haltJob\x12r\n\x0c\x63ontinue_job\x18\x02 \x01(\x0b\x32M.mgmt.v1alpha1.MysqlSourceConnectionOptions.ColumnRemovalStrategy.ContinueJobH\x00R\x0b\x63ontinueJob\x1a\t\n\x07HaltJob\x1a\r\n\x0b\x43ontinueJobB\n\n\x08strategy\"p\n\x17MysqlSourceSchemaOption\x12\x16\n\x06schema\x18\x01 \x01(\tR\x06schema\x12=\n\x06tables\x18\x02 \x03(\x0b\x32%.mgmt.v1alpha1.MysqlSourceTableOptionR\x06tables\"g\n\x16MysqlSourceTableOption\x12\x14\n\x05table\x18\x01 \x01(\tR\x05table\x12&\n\x0cwhere_clause\x18\x02 \x01(\tH\x00R\x0bwhereClause\x88\x01\x01\x42\x0f\n\r_where_clause\"\xae\x05\n\x1cMssqlSourceConnectionOptions\x12<\n\x1bhalt_on_new_column_addition\x18\x01 \x01(\x08R\x17haltOnNewColumnAddition\x12@\n\x07schemas\x18\x02 \x03(\x0b\x32&.mgmt.v1alpha1.MssqlSourceSchemaOptionR\x07schemas\x12-\n\rconnection_id\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x0c\x63onnectionId\x12H\n!subset_by_foreign_key_constraints\x18\x04 \x01(\x08R\x1dsubsetByForeignKeyConstraints\x12y\n\x17\x63olumn_removal_strategy\x18\x05 \x01(\x0b\x32\x41.mgmt.v1alpha1.MssqlSourceConnectionOptions.ColumnRemovalStrategyR\x15\x63olumnRemovalStrategy\x1a\x99\x02\n\x15\x43olumnRemovalStrategy\x12\x66\n\x08halt_job\x18\x01 \x01(\x0b\x32I.mgmt.v1alpha1.MssqlSourceConnectionOptions.ColumnRemovalStrategy.HaltJobH\x00R\x07haltJob\x12r\n\x0c\x63ontinue_job\x18\x02 \x01(\x0b\x32M.mgmt.v1alpha1.MssqlSourceConnectionOptions.ColumnRemovalStrategy.ContinueJobH\x00R\x0b\x63ontinueJob\x1a\t\n\x07HaltJob\x1a\r\n\x0b\x43ontinueJobB\n\n\x08strategy\"p\n\x17MssqlSourceSchemaOption\x12\x16\n\x06schema\x18\x01 \x01(\tR\x06schema\x12=\n\x06tables\x18\x02 \x03(\x0b\x32%.mgmt.v1alpha1.MssqlSourceTableOptionR\x06tables\"g\n\x16MssqlSourceTableOption\x12\x14\n\x05table\x18\x01 \x01(\tR\x05table\x12&\n\x0cwhere_clause\x18\x02 \x01(\tH\x00R\x0bwhereClause\x88\x01\x01\x42\x0f\n\r_where_clause\"M\n\x1c\x41wsS3SourceConnectionOptions\x12-\n\rconnection_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x0c\x63onnectionId\"\xcf\x05\n\x15JobDestinationOptions\x12`\n\x10postgres_options\x18\x01 \x01(\x0b\x32\x33.mgmt.v1alpha1.PostgresDestinationConnectionOptionsH\x00R\x0fpostgresOptions\x12X\n\x0e\x61ws_s3_options\x18\x02 \x01(\x0b\x32\x30.mgmt.v1alpha1.AwsS3DestinationConnectionOptionsH\x00R\x0c\x61wsS3Options\x12W\n\rmysql_options\x18\x03 \x01(\x0b\x32\x30.mgmt.v1alpha1.MysqlDestinationConnectionOptionsH\x00R\x0cmysqlOptions\x12]\n\x0fmongodb_options\x18\x04 \x01(\x0b\x32\x32.mgmt.v1alpha1.MongoDBDestinationConnectionOptionsH\x00R\x0emongodbOptions\x12v\n\x18gcp_cloudstorage_options\x18\x05 \x01(\x0b\x32:.mgmt.v1alpha1.GcpCloudStorageDestinationConnectionOptionsH\x00R\x16gcpCloudstorageOptions\x12`\n\x10\x64ynamodb_options\x18\x06 \x01(\x0b\x32\x33.mgmt.v1alpha1.DynamoDBDestinationConnectionOptionsH\x00R\x0f\x64ynamodbOptions\x12W\n\rmssql_options\x18\x07 \x01(\x0b\x32\x30.mgmt.v1alpha1.MssqlDestinationConnectionOptionsH\x00R\x0cmssqlOptionsB\x0f\n\x06\x63onfig\x12\x05\xbaH\x02\x08\x01\"%\n#MongoDBDestinationConnectionOptions\"-\n+GcpCloudStorageDestinationConnectionOptions\"}\n$DynamoDBDestinationConnectionOptions\x12U\n\x0etable_mappings\x18\x01 \x03(\x0b\x32..mgmt.v1alpha1.DynamoDBDestinationTableMappingR\rtableMappings\"q\n\x1f\x44ynamoDBDestinationTableMapping\x12!\n\x0csource_table\x18\x01 \x01(\tR\x0bsourceTable\x12+\n\x11\x64\x65stination_table\x18\x02 \x01(\tR\x10\x64\x65stinationTable\"\xa4\x03\n$PostgresDestinationConnectionOptions\x12Q\n\x0etruncate_table\x18\x01 \x01(\x0b\x32*.mgmt.v1alpha1.PostgresTruncateTableConfigR\rtruncateTable\x12*\n\x11init_table_schema\x18\x02 \x01(\x08R\x0finitTableSchema\x12H\n\x0bon_conflict\x18\x03 \x01(\x0b\x32\'.mgmt.v1alpha1.PostgresOnConflictConfigR\nonConflict\x12=\n\x1bskip_foreign_key_violations\x18\x04 \x01(\x08R\x18skipForeignKeyViolations\x12\x30\n\x05\x62\x61tch\x18\x05 \x01(\x0b\x32\x1a.mgmt.v1alpha1.BatchConfigR\x05\x62\x61tch\x12\x30\n\rmax_in_flight\x18\x06 \x01(\rB\x07\xbaH\x04*\x02(\x01H\x00R\x0bmaxInFlight\x88\x01\x01\x42\x10\n\x0e_max_in_flight\"\xc4\x02\n\x18PostgresOnConflictConfig\x12\x1d\n\ndo_nothing\x18\x01 \x01(\x08R\tdoNothing\x12_\n\x07nothing\x18\x02 \x01(\x0b\x32\x43.mgmt.v1alpha1.PostgresOnConflictConfig.PostgresOnConflictDoNothingH\x00R\x07nothing\x12Z\n\x06update\x18\x03 \x01(\x0b\x32@.mgmt.v1alpha1.PostgresOnConflictConfig.PostgresOnConflictUpdateH\x00R\x06update\x1a\x1d\n\x1bPostgresOnConflictDoNothing\x1a\x1a\n\x18PostgresOnConflictUpdateB\x11\n\x08strategy\x12\x05\xbaH\x02\x08\x00\"m\n\x1bPostgresTruncateTableConfig\x12\x34\n\x16truncate_before_insert\x18\x01 \x01(\x08R\x14truncateBeforeInsert\x12\x18\n\x07\x63\x61scade\x18\x02 \x01(\x08R\x07\x63\x61scade\"\x9b\x03\n!MysqlDestinationConnectionOptions\x12N\n\x0etruncate_table\x18\x01 \x01(\x0b\x32\'.mgmt.v1alpha1.MysqlTruncateTableConfigR\rtruncateTable\x12*\n\x11init_table_schema\x18\x02 \x01(\x08R\x0finitTableSchema\x12\x45\n\x0bon_conflict\x18\x03 \x01(\x0b\x32$.mgmt.v1alpha1.MysqlOnConflictConfigR\nonConflict\x12=\n\x1bskip_foreign_key_violations\x18\x04 \x01(\x08R\x18skipForeignKeyViolations\x12\x30\n\x05\x62\x61tch\x18\x05 \x01(\x0b\x32\x1a.mgmt.v1alpha1.BatchConfigR\x05\x62\x61tch\x12\x30\n\rmax_in_flight\x18\x06 \x01(\rB\x07\xbaH\x04*\x02(\x01H\x00R\x0bmaxInFlight\x88\x01\x01\x42\x10\n\x0e_max_in_flight\"P\n\x18MysqlTruncateTableConfig\x12\x34\n\x16truncate_before_insert\x18\x01 \x01(\x08R\x14truncateBeforeInsert\"\xaf\x02\n\x15MysqlOnConflictConfig\x12\x1d\n\ndo_nothing\x18\x01 \x01(\x08R\tdoNothing\x12Y\n\x07nothing\x18\x02 \x01(\x0b\x32=.mgmt.v1alpha1.MysqlOnConflictConfig.MysqlOnConflictDoNothingH\x00R\x07nothing\x12T\n\x06update\x18\x03 \x01(\x0b\x32:.mgmt.v1alpha1.MysqlOnConflictConfig.MysqlOnConflictUpdateH\x00R\x06update\x1a\x1a\n\x18MysqlOnConflictDoNothing\x1a\x17\n\x15MysqlOnConflictUpdateB\x11\n\x08strategy\x12\x05\xbaH\x02\x08\x00\"\x9b\x03\n!MssqlDestinationConnectionOptions\x12N\n\x0etruncate_table\x18\x01 \x01(\x0b\x32\'.mgmt.v1alpha1.MssqlTruncateTableConfigR\rtruncateTable\x12*\n\x11init_table_schema\x18\x02 \x01(\x08R\x0finitTableSchema\x12\x45\n\x0bon_conflict\x18\x03 \x01(\x0b\x32$.mgmt.v1alpha1.MssqlOnConflictConfigR\nonConflict\x12=\n\x1bskip_foreign_key_violations\x18\x04 \x01(\x08R\x18skipForeignKeyViolations\x12\x30\n\x05\x62\x61tch\x18\x05 \x01(\x0b\x32\x1a.mgmt.v1alpha1.BatchConfigR\x05\x62\x61tch\x12\x30\n\rmax_in_flight\x18\x06 \x01(\rB\x07\xbaH\x04*\x02(\x01H\x00R\x0bmaxInFlight\x88\x01\x01\x42\x10\n\x0e_max_in_flight\"P\n\x18MssqlTruncateTableConfig\x12\x34\n\x16truncate_before_insert\x18\x01 \x01(\x08R\x14truncateBeforeInsert\"6\n\x15MssqlOnConflictConfig\x12\x1d\n\ndo_nothing\x18\x01 \x01(\x08R\tdoNothing\"\xb9\x04\n!AwsS3DestinationConnectionOptions\x12\x62\n\rstorage_class\x18\x01 \x01(\x0e\x32=.mgmt.v1alpha1.AwsS3DestinationConnectionOptions.StorageClassR\x0cstorageClass\x12\x30\n\rmax_in_flight\x18\x02 \x01(\rB\x07\xbaH\x04*\x02(\x01H\x00R\x0bmaxInFlight\x88\x01\x01\x12\x1d\n\x07timeout\x18\x03 \x01(\tH\x01R\x07timeout\x88\x01\x01\x12\x30\n\x05\x62\x61tch\x18\x04 \x01(\x0b\x32\x1a.mgmt.v1alpha1.BatchConfigR\x05\x62\x61tch\"\x8e\x02\n\x0cStorageClass\x12\x1d\n\x19STORAGE_CLASS_UNSPECIFIED\x10\x00\x12\x1a\n\x16STORAGE_CLASS_STANDARD\x10\x01\x12$\n STORAGE_CLASS_REDUCED_REDUNDANCY\x10\x02\x12\x19\n\x15STORAGE_CLASS_GLACIER\x10\x03\x12\x1d\n\x19STORAGE_CLASS_STANDARD_IA\x10\x04\x12\x1c\n\x18STORAGE_CLASS_ONEZONE_IA\x10\x05\x12%\n!STORAGE_CLASS_INTELLIGENT_TIERING\x10\x06\x12\x1e\n\x1aSTORAGE_CLASS_DEEP_ARCHIVE\x10\x07\x42\x10\n\x0e_max_in_flightB\n\n\x08_timeout\"Z\n\x0b\x42\x61tchConfig\x12\x19\n\x05\x63ount\x18\x01 \x01(\rH\x00R\x05\x63ount\x88\x01\x01\x12\x1b\n\x06period\x18\x02 \x01(\tH\x01R\x06period\x88\x01\x01\x42\x08\n\x06_countB\t\n\x07_period\"\xf2\x04\n\x10\x43reateJobRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12\x34\n\x08job_name\x18\x02 \x01(\tB\x19\xbaH\x16r\x14\x32\x12^[a-z0-9-]{3,100}$R\x07jobName\x12(\n\rcron_schedule\x18\x03 \x01(\tH\x00R\x0c\x63ronSchedule\x88\x01\x01\x12\x35\n\x08mappings\x18\x04 \x03(\x0b\x32\x19.mgmt.v1alpha1.JobMappingR\x08mappings\x12\x30\n\x06source\x18\x05 \x01(\x0b\x32\x18.mgmt.v1alpha1.JobSourceR\x06source\x12G\n\x0c\x64\x65stinations\x18\x06 \x03(\x0b\x32#.mgmt.v1alpha1.CreateJobDestinationR\x0c\x64\x65stinations\x12(\n\x10initiate_job_run\x18\x07 \x01(\x08R\x0einitiateJobRun\x12I\n\x10workflow_options\x18\x08 \x01(\x0b\x32\x1e.mgmt.v1alpha1.WorkflowOptionsR\x0fworkflowOptions\x12\x41\n\x0csync_options\x18\t \x01(\x0b\x32\x1e.mgmt.v1alpha1.ActivityOptionsR\x0bsyncOptions\x12Y\n\x14virtual_foreign_keys\x18\n \x03(\x0b\x32\'.mgmt.v1alpha1.VirtualForeignConstraintR\x12virtualForeignKeysB\x10\n\x0e_cron_schedule\"G\n\x0fWorkflowOptions\x12$\n\x0brun_timeout\x18\x08 \x01(\x03H\x00R\nrunTimeout\x88\x01\x01\x42\x0e\n\x0c_run_timeout\"\x95\x02\n\x0f\x41\x63tivityOptions\x12G\n\x19schedule_to_close_timeout\x18\x01 \x01(\x03\x42\x07\xbaH\x04\"\x02(\x01H\x00R\x16scheduleToCloseTimeout\x88\x01\x01\x12\x41\n\x16start_to_close_timeout\x18\x02 \x01(\x03\x42\x07\xbaH\x04\"\x02(\x01H\x01R\x13startToCloseTimeout\x88\x01\x01\x12=\n\x0cretry_policy\x18\x03 \x01(\x0b\x32\x1a.mgmt.v1alpha1.RetryPolicyR\x0bretryPolicyB\x1c\n\x1a_schedule_to_close_timeoutB\x19\n\x17_start_to_close_timeout\"[\n\x0bRetryPolicy\x12\x37\n\x10maximum_attempts\x18\x01 \x01(\x05\x42\x07\xbaH\x04\x1a\x02(\x00H\x00R\x0fmaximumAttempts\x88\x01\x01\x42\x13\n\x11_maximum_attempts\"9\n\x11\x43reateJobResponse\x12$\n\x03job\x18\x01 \x01(\x0b\x32\x12.mgmt.v1alpha1.JobR\x03job\"W\n\x15JobMappingTransformer\x12\x38\n\x06\x63onfig\x18\x03 \x01(\x0b\x32 .mgmt.v1alpha1.TransformerConfigR\x06\x63onfigJ\x04\x08\x01\x10\x02\"\x9a\x01\n\nJobMapping\x12\x16\n\x06schema\x18\x01 \x01(\tR\x06schema\x12\x14\n\x05table\x18\x02 \x01(\tR\x05table\x12\x16\n\x06\x63olumn\x18\x03 \x01(\tR\x06\x63olumn\x12\x46\n\x0btransformer\x18\x05 \x01(\x0b\x32$.mgmt.v1alpha1.JobMappingTransformerR\x0btransformer\")\n\rGetJobRequest\x12\x18\n\x02id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x02id\"6\n\x0eGetJobResponse\x12$\n\x03job\x18\x01 \x01(\x0b\x32\x12.mgmt.v1alpha1.JobR\x03job\"p\n\x18UpdateJobScheduleRequest\x12\x18\n\x02id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x02id\x12(\n\rcron_schedule\x18\x02 \x01(\tH\x00R\x0c\x63ronSchedule\x88\x01\x01\x42\x10\n\x0e_cron_schedule\"A\n\x19UpdateJobScheduleResponse\x12$\n\x03job\x18\x01 \x01(\x0b\x32\x12.mgmt.v1alpha1.JobR\x03job\"c\n\x0fPauseJobRequest\x12\x18\n\x02id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x02id\x12\x14\n\x05pause\x18\x02 \x01(\x08R\x05pause\x12\x17\n\x04note\x18\x03 \x01(\tH\x00R\x04note\x88\x01\x01\x42\x07\n\x05_note\"8\n\x10PauseJobResponse\x12$\n\x03job\x18\x01 \x01(\x0b\x32\x12.mgmt.v1alpha1.JobR\x03job\"\x80\x02\n UpdateJobSourceConnectionRequest\x12\x18\n\x02id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x02id\x12\x30\n\x06source\x18\x02 \x01(\x0b\x32\x18.mgmt.v1alpha1.JobSourceR\x06source\x12\x35\n\x08mappings\x18\x03 \x03(\x0b\x32\x19.mgmt.v1alpha1.JobMappingR\x08mappings\x12Y\n\x14virtual_foreign_keys\x18\x04 \x03(\x0b\x32\'.mgmt.v1alpha1.VirtualForeignConstraintR\x12virtualForeignKeys\"I\n!UpdateJobSourceConnectionResponse\x12$\n\x03job\x18\x01 \x01(\x0b\x32\x12.mgmt.v1alpha1.JobR\x03job\"r\n\x1aPostgresSourceSchemaSubset\x12T\n\x10postgres_schemas\x18\x01 \x03(\x0b\x32).mgmt.v1alpha1.PostgresSourceSchemaOptionR\x0fpostgresSchemas\"f\n\x17MysqlSourceSchemaSubset\x12K\n\rmysql_schemas\x18\x01 \x03(\x0b\x32&.mgmt.v1alpha1.MysqlSourceSchemaOptionR\x0cmysqlSchemas\"^\n\x1a\x44ynamoDBSourceSchemaSubset\x12@\n\x06tables\x18\x01 \x03(\x0b\x32(.mgmt.v1alpha1.DynamoDBSourceTableOptionR\x06tables\"f\n\x17MssqlSourceSchemaSubset\x12K\n\rmssql_schemas\x18\x01 \x03(\x0b\x32&.mgmt.v1alpha1.MssqlSourceSchemaOptionR\x0cmssqlSchemas\"\xf2\x02\n\x18JobSourceSqlSubetSchemas\x12T\n\x0fpostgres_subset\x18\x02 \x01(\x0b\x32).mgmt.v1alpha1.PostgresSourceSchemaSubsetH\x00R\x0epostgresSubset\x12K\n\x0cmysql_subset\x18\x03 \x01(\x0b\x32&.mgmt.v1alpha1.MysqlSourceSchemaSubsetH\x00R\x0bmysqlSubset\x12T\n\x0f\x64ynamodb_subset\x18\x04 \x01(\x0b\x32).mgmt.v1alpha1.DynamoDBSourceSchemaSubsetH\x00R\x0e\x64ynamodbSubset\x12K\n\x0cmssql_subset\x18\x05 \x01(\x0b\x32&.mgmt.v1alpha1.MssqlSourceSchemaSubsetH\x00R\x0bmssqlSubsetB\x10\n\x07schemas\x12\x05\xbaH\x02\x08\x01\"\xd0\x01\n\'SetJobSourceSqlConnectionSubsetsRequest\x12\x18\n\x02id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x02id\x12\x41\n\x07schemas\x18\x02 \x01(\x0b\x32\'.mgmt.v1alpha1.JobSourceSqlSubetSchemasR\x07schemas\x12H\n!subset_by_foreign_key_constraints\x18\x03 \x01(\x08R\x1dsubsetByForeignKeyConstraints\"P\n(SetJobSourceSqlConnectionSubsetsResponse\x12$\n\x03job\x18\x01 \x01(\x0b\x32\x12.mgmt.v1alpha1.JobR\x03job\"\xde\x01\n%UpdateJobDestinationConnectionRequest\x12\x1f\n\x06job_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x05jobId\x12-\n\rconnection_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x0c\x63onnectionId\x12>\n\x07options\x18\x03 \x01(\x0b\x32$.mgmt.v1alpha1.JobDestinationOptionsR\x07options\x12%\n\x0e\x64\x65stination_id\x18\x04 \x01(\tR\rdestinationId\"N\n&UpdateJobDestinationConnectionResponse\x12$\n\x03job\x18\x01 \x01(\x0b\x32\x12.mgmt.v1alpha1.JobR\x03job\"X\n%DeleteJobDestinationConnectionRequest\x12/\n\x0e\x64\x65stination_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\rdestinationId\"(\n&DeleteJobDestinationConnectionResponse\"\x92\x01\n&CreateJobDestinationConnectionsRequest\x12\x1f\n\x06job_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x05jobId\x12G\n\x0c\x64\x65stinations\x18\x02 \x03(\x0b\x32#.mgmt.v1alpha1.CreateJobDestinationR\x0c\x64\x65stinations\"O\n\'CreateJobDestinationConnectionsResponse\x12$\n\x03job\x18\x01 \x01(\x0b\x32\x12.mgmt.v1alpha1.JobR\x03job\",\n\x10\x44\x65leteJobRequest\x12\x18\n\x02id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x02id\"\x13\n\x11\x44\x65leteJobResponse\"s\n\x19IsJobNameAvailableRequest\x12-\n\x04name\x18\x01 \x01(\tB\x19\xbaH\x16r\x14\x32\x12^[a-z0-9-]{3,100}$R\x04name\x12\'\n\naccount_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"?\n\x1aIsJobNameAvailableResponse\x12!\n\x0cis_available\x18\x01 \x01(\x08R\x0bisAvailable\"g\n\x11GetJobRunsRequest\x12!\n\x06job_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x05jobId\x12)\n\naccount_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\taccountIdB\x04\n\x02id\"F\n\x12GetJobRunsResponse\x12\x30\n\x08job_runs\x18\x01 \x03(\x0b\x32\x15.mgmt.v1alpha1.JobRunR\x07jobRuns\"Y\n\x10GetJobRunRequest\x12\x1c\n\njob_run_id\x18\x01 \x01(\tR\x08jobRunId\x12\'\n\naccount_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"C\n\x11GetJobRunResponse\x12.\n\x07job_run\x18\x01 \x01(\x0b\x32\x15.mgmt.v1alpha1.JobRunR\x06jobRun\"6\n\x13\x43reateJobRunRequest\x12\x1f\n\x06job_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x05jobId\"\x16\n\x14\x43reateJobRunResponse\"\\\n\x13\x43\x61ncelJobRunRequest\x12\x1c\n\njob_run_id\x18\x01 \x01(\tR\x08jobRunId\x12\'\n\naccount_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"\x16\n\x14\x43\x61ncelJobRunResponse\"\xe9\x05\n\x03Job\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12+\n\x12\x63reated_by_user_id\x18\x02 \x01(\tR\x0f\x63reatedByUserId\x12\x39\n\ncreated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12+\n\x12updated_by_user_id\x18\x04 \x01(\tR\x0fupdatedByUserId\x12\x39\n\nupdated_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tupdatedAt\x12\x12\n\x04name\x18\x06 \x01(\tR\x04name\x12\x30\n\x06source\x18\x07 \x01(\x0b\x32\x18.mgmt.v1alpha1.JobSourceR\x06source\x12\x41\n\x0c\x64\x65stinations\x18\x08 \x03(\x0b\x32\x1d.mgmt.v1alpha1.JobDestinationR\x0c\x64\x65stinations\x12\x35\n\x08mappings\x18\t \x03(\x0b\x32\x19.mgmt.v1alpha1.JobMappingR\x08mappings\x12(\n\rcron_schedule\x18\n \x01(\tH\x00R\x0c\x63ronSchedule\x88\x01\x01\x12\x1d\n\naccount_id\x18\x0b \x01(\tR\taccountId\x12\x41\n\x0csync_options\x18\x0c \x01(\x0b\x32\x1e.mgmt.v1alpha1.ActivityOptionsR\x0bsyncOptions\x12I\n\x10workflow_options\x18\r \x01(\x0b\x32\x1e.mgmt.v1alpha1.WorkflowOptionsR\x0fworkflowOptions\x12Y\n\x14virtual_foreign_keys\x18\x0e \x03(\x0b\x32\'.mgmt.v1alpha1.VirtualForeignConstraintR\x12virtualForeignKeysB\x10\n\x0e_cron_schedule\"g\n\x0cJobRecentRun\x12\x39\n\nstart_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tstartTime\x12\x1c\n\njob_run_id\x18\x02 \x01(\tR\x08jobRunId\":\n\x17GetJobRecentRunsRequest\x12\x1f\n\x06job_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x05jobId\"X\n\x18GetJobRecentRunsResponse\x12<\n\x0brecent_runs\x18\x01 \x03(\x0b\x32\x1b.mgmt.v1alpha1.JobRecentRunR\nrecentRuns\"O\n\x0bJobNextRuns\x12@\n\x0enext_run_times\x18\x01 \x03(\x0b\x32\x1a.google.protobuf.TimestampR\x0cnextRunTimes\".\n\x15GetJobNextRunsRequest\x12\x15\n\x06job_id\x18\x01 \x01(\tR\x05jobId\"Q\n\x16GetJobNextRunsResponse\x12\x37\n\tnext_runs\x18\x01 \x01(\x0b\x32\x1a.mgmt.v1alpha1.JobNextRunsR\x08nextRuns\",\n\x13GetJobStatusRequest\x12\x15\n\x06job_id\x18\x01 \x01(\tR\x05jobId\"H\n\x14GetJobStatusResponse\x12\x30\n\x06status\x18\x01 \x01(\x0e\x32\x18.mgmt.v1alpha1.JobStatusR\x06status\"Z\n\x0fJobStatusRecord\x12\x15\n\x06job_id\x18\x01 \x01(\tR\x05jobId\x12\x30\n\x06status\x18\x02 \x01(\x0e\x32\x18.mgmt.v1alpha1.JobStatusR\x06status\"@\n\x15GetJobStatusesRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"T\n\x16GetJobStatusesResponse\x12:\n\x08statuses\x18\x01 \x03(\x0b\x32\x1e.mgmt.v1alpha1.JobStatusRecordR\x08statuses\"+\n\x0f\x41\x63tivityFailure\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message\"\xc6\x01\n\x0fPendingActivity\x12\x35\n\x06status\x18\x01 \x01(\x0e\x32\x1d.mgmt.v1alpha1.ActivityStatusR\x06status\x12#\n\ractivity_name\x18\x02 \x01(\tR\x0c\x61\x63tivityName\x12\x46\n\x0clast_failure\x18\x03 \x01(\x0b\x32\x1e.mgmt.v1alpha1.ActivityFailureH\x00R\x0blastFailure\x88\x01\x01\x42\x0f\n\r_last_failure\"\xd7\x02\n\x06JobRun\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x15\n\x06job_id\x18\x02 \x01(\tR\x05jobId\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12\x33\n\x06status\x18\x04 \x01(\x0e\x32\x1b.mgmt.v1alpha1.JobRunStatusR\x06status\x12\x39\n\nstarted_at\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tstartedAt\x12\x42\n\x0c\x63ompleted_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00R\x0b\x63ompletedAt\x88\x01\x01\x12M\n\x12pending_activities\x18\x08 \x03(\x0b\x32\x1e.mgmt.v1alpha1.PendingActivityR\x11pendingActivitiesB\x0f\n\r_completed_at\"Q\n\x14JobRunEventTaskError\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message\x12\x1f\n\x0bretry_state\x18\x02 \x01(\tR\nretryState\"\xab\x01\n\x0fJobRunEventTask\x12\x0e\n\x02id\x18\x01 \x01(\x03R\x02id\x12\x12\n\x04type\x18\x02 \x01(\tR\x04type\x12\x39\n\nevent_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\teventTime\x12\x39\n\x05\x65rror\x18\x04 \x01(\x0b\x32#.mgmt.v1alpha1.JobRunEventTaskErrorR\x05\x65rror\"B\n\x12JobRunSyncMetadata\x12\x16\n\x06schema\x18\x01 \x01(\tR\x06schema\x12\x14\n\x05table\x18\x02 \x01(\tR\x05table\"r\n\x13JobRunEventMetadata\x12H\n\rsync_metadata\x18\x01 \x01(\x0b\x32!.mgmt.v1alpha1.JobRunSyncMetadataH\x00R\x0csyncMetadataB\x11\n\x08metadata\x12\x05\xbaH\x02\x08\x01\"\x9d\x02\n\x0bJobRunEvent\x12\x0e\n\x02id\x18\x01 \x01(\x03R\x02id\x12\x12\n\x04type\x18\x02 \x01(\tR\x04type\x12\x39\n\nstart_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tstartTime\x12\x39\n\nclose_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcloseTime\x12>\n\x08metadata\x18\x05 \x01(\x0b\x32\".mgmt.v1alpha1.JobRunEventMetadataR\x08metadata\x12\x34\n\x05tasks\x18\x06 \x03(\x0b\x32\x1e.mgmt.v1alpha1.JobRunEventTaskR\x05tasks\"_\n\x16GetJobRunEventsRequest\x12\x1c\n\njob_run_id\x18\x01 \x01(\tR\x08jobRunId\x12\'\n\naccount_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"u\n\x17GetJobRunEventsResponse\x12\x32\n\x06\x65vents\x18\x01 \x03(\x0b\x32\x1a.mgmt.v1alpha1.JobRunEventR\x06\x65vents\x12&\n\x0fis_run_complete\x18\x02 \x01(\x08R\risRunComplete\"\\\n\x13\x44\x65leteJobRunRequest\x12\x1c\n\njob_run_id\x18\x01 \x01(\tR\x08jobRunId\x12\'\n\naccount_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"\x16\n\x14\x44\x65leteJobRunResponse\"_\n\x16TerminateJobRunRequest\x12\x1c\n\njob_run_id\x18\x01 \x01(\tR\x08jobRunId\x12\'\n\naccount_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"\x19\n\x17TerminateJobRunResponse\"\xb2\x02\n\x1aGetJobRunLogsStreamRequest\x12\x1c\n\njob_run_id\x18\x01 \x01(\tR\x08jobRunId\x12\'\n\naccount_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12\x30\n\x06window\x18\x03 \x01(\x0e\x32\x18.mgmt.v1alpha1.LogWindowR\x06window\x12\x1f\n\x0bshould_tail\x18\x04 \x01(\x08R\nshouldTail\x12\x30\n\rmax_log_lines\x18\x05 \x01(\x03\x42\x07\xbaH\x04\"\x02(\x01H\x00R\x0bmaxLogLines\x88\x01\x01\x12\x36\n\nlog_levels\x18\x06 \x03(\x0e\x32\x17.mgmt.v1alpha1.LogLevelR\tlogLevelsB\x10\n\x0e_max_log_lines\"\x85\x01\n\x1bGetJobRunLogsStreamResponse\x12\x19\n\x08log_line\x18\x01 \x01(\tR\x07logLine\x12=\n\ttimestamp\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00R\ttimestamp\x88\x01\x01\x42\x0c\n\n_timestamp\"\x83\x01\n\x1cSetJobWorkflowOptionsRequest\x12\x18\n\x02id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x02id\x12I\n\x10worfklow_options\x18\x02 \x01(\x0b\x32\x1e.mgmt.v1alpha1.WorkflowOptionsR\x0fworfklowOptions\"E\n\x1dSetJobWorkflowOptionsResponse\x12$\n\x03job\x18\x01 \x01(\x0b\x32\x12.mgmt.v1alpha1.JobR\x03job\"w\n\x18SetJobSyncOptionsRequest\x12\x18\n\x02id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x02id\x12\x41\n\x0csync_options\x18\x02 \x01(\x0b\x32\x1e.mgmt.v1alpha1.ActivityOptionsR\x0bsyncOptions\"A\n\x19SetJobSyncOptionsResponse\x12$\n\x03job\x18\x01 \x01(\x0b\x32\x12.mgmt.v1alpha1.JobR\x03job\"\xfc\x01\n\x1aValidateJobMappingsRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12\x35\n\x08mappings\x18\x02 \x03(\x0b\x32\x19.mgmt.v1alpha1.JobMappingR\x08mappings\x12#\n\rconnection_id\x18\x03 \x01(\tR\x0c\x63onnectionId\x12Y\n\x14virtual_foreign_keys\x18\x04 \x03(\x0b\x32\'.mgmt.v1alpha1.VirtualForeignConstraintR\x12virtualForeignKeys\"k\n\x0b\x43olumnError\x12\x16\n\x06schema\x18\x01 \x01(\tR\x06schema\x12\x14\n\x05table\x18\x02 \x01(\tR\x05table\x12\x16\n\x06\x63olumn\x18\x03 \x01(\tR\x06\x63olumn\x12\x16\n\x06\x65rrors\x18\x04 \x03(\tR\x06\x65rrors\"\'\n\rDatabaseError\x12\x16\n\x06\x65rrors\x18\x01 \x03(\tR\x06\x65rrors\"\xa5\x01\n\x1bValidateJobMappingsResponse\x12?\n\rcolumn_errors\x18\x01 \x03(\x0b\x32\x1a.mgmt.v1alpha1.ColumnErrorR\x0c\x63olumnErrors\x12\x45\n\x0f\x64\x61tabase_errors\x18\x02 \x01(\x0b\x32\x1c.mgmt.v1alpha1.DatabaseErrorR\x0e\x64\x61tabaseErrors\"[\n\x11VirtualForeignKey\x12\x16\n\x06schema\x18\x01 \x01(\tR\x06schema\x12\x14\n\x05table\x18\x02 \x01(\tR\x05table\x12\x18\n\x07\x63olumns\x18\x03 \x03(\tR\x07\x63olumns\"\xa5\x01\n\x18VirtualForeignConstraint\x12\x16\n\x06schema\x18\x01 \x01(\tR\x06schema\x12\x14\n\x05table\x18\x02 \x01(\tR\x05table\x12\x18\n\x07\x63olumns\x18\x03 \x03(\tR\x07\x63olumns\x12\x41\n\x0b\x66oreign_key\x18\x04 \x01(\x0b\x32 .mgmt.v1alpha1.VirtualForeignKeyR\nforeignKey\"\x88\x01\n\rRunContextKey\x12%\n\njob_run_id\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x08jobRunId\x12(\n\x0b\x65xternal_id\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\nexternalId\x12&\n\naccount_id\x18\x03 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\taccountId\"D\n\x14GetRunContextRequest\x12,\n\x02id\x18\x01 \x01(\x0b\x32\x1c.mgmt.v1alpha1.RunContextKeyR\x02id\"-\n\x15GetRunContextResponse\x12\x14\n\x05value\x18\x01 \x01(\x0cR\x05value\"Z\n\x14SetRunContextRequest\x12,\n\x02id\x18\x01 \x01(\x0b\x32\x1c.mgmt.v1alpha1.RunContextKeyR\x02id\x12\x14\n\x05value\x18\x02 \x01(\x0cR\x05value\"\x17\n\x15SetRunContextResponse\"[\n\x15SetRunContextsRequest\x12,\n\x02id\x18\x01 \x01(\x0b\x32\x1c.mgmt.v1alpha1.RunContextKeyR\x02id\x12\x14\n\x05value\x18\x02 \x01(\x0cR\x05value\"\x18\n\x16SetRunContextsResponse\"\xad\x03\n\x07JobHook\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12 \n\x0b\x64\x65scription\x18\x03 \x01(\tR\x0b\x64\x65scription\x12\x15\n\x06job_id\x18\x04 \x01(\tR\x05jobId\x12\x34\n\x06\x63onfig\x18\x05 \x01(\x0b\x32\x1c.mgmt.v1alpha1.JobHookConfigR\x06\x63onfig\x12+\n\x12\x63reated_by_user_id\x18\x06 \x01(\tR\x0f\x63reatedByUserId\x12\x39\n\ncreated_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12+\n\x12updated_by_user_id\x18\x08 \x01(\tR\x0fupdatedByUserId\x12\x39\n\nupdated_at\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tupdatedAt\x12\x18\n\x07\x65nabled\x18\n \x01(\x08R\x07\x65nabled\x12%\n\x08priority\x18\x0b \x01(\rB\t\xbaH\x06*\x04\x18\x64(\x00R\x08priority\"\xdd\x01\n\nNewJobHook\x12-\n\x04name\x18\x01 \x01(\tB\x19\xbaH\x16r\x14\x32\x12^[a-z0-9-]{3,100}$R\x04name\x12)\n\x0b\x64\x65scription\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x0b\x64\x65scription\x12\x34\n\x06\x63onfig\x18\x03 \x01(\x0b\x32\x1c.mgmt.v1alpha1.JobHookConfigR\x06\x63onfig\x12\x18\n\x07\x65nabled\x18\x04 \x01(\x08R\x07\x65nabled\x12%\n\x08priority\x18\x05 \x01(\rB\t\xbaH\x06*\x04\x18\x64(\x00R\x08priority\"\xa5\x03\n\rJobHookConfig\x12;\n\x03sql\x18\x05 \x01(\x0b\x32\'.mgmt.v1alpha1.JobHookConfig.JobSqlHookH\x00R\x03sql\x1a\xc5\x02\n\nJobSqlHook\x12\x1d\n\x05query\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x05query\x12-\n\rconnection_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x0c\x63onnectionId\x12\x46\n\x06timing\x18\x03 \x01(\x0b\x32..mgmt.v1alpha1.JobHookConfig.JobSqlHook.TimingR\x06timing\x1a\xa0\x01\n\x06Timing\x12@\n\x08pre_sync\x18\x03 \x01(\x0b\x32#.mgmt.v1alpha1.JobHookTimingPreSyncH\x00R\x07preSync\x12\x43\n\tpost_sync\x18\x04 \x01(\x0b\x32$.mgmt.v1alpha1.JobHookTimingPostSyncH\x00R\x08postSyncB\x0f\n\x06timing\x12\x05\xbaH\x02\x08\x01\x42\x0f\n\x06\x63onfig\x12\x05\xbaH\x02\x08\x01\"\x16\n\x14JobHookTimingPreSync\"\x17\n\x15JobHookTimingPostSync\"5\n\x12GetJobHooksRequest\x12\x1f\n\x06job_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x05jobId\"C\n\x13GetJobHooksResponse\x12,\n\x05hooks\x18\x01 \x03(\x0b\x32\x16.mgmt.v1alpha1.JobHookR\x05hooks\"-\n\x11GetJobHookRequest\x12\x18\n\x02id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x02id\"@\n\x12GetJobHookResponse\x12*\n\x04hook\x18\x01 \x01(\x0b\x32\x16.mgmt.v1alpha1.JobHookR\x04hook\"\\\n\x14\x43reateJobHookRequest\x12\x15\n\x06job_id\x18\x01 \x01(\tR\x05jobId\x12-\n\x04hook\x18\x02 \x01(\x0b\x32\x19.mgmt.v1alpha1.NewJobHookR\x04hook\"C\n\x15\x43reateJobHookResponse\x12*\n\x04hook\x18\x01 \x01(\x0b\x32\x16.mgmt.v1alpha1.JobHookR\x04hook\"0\n\x14\x44\x65leteJobHookRequest\x12\x18\n\x02id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x02id\"\x17\n\x15\x44\x65leteJobHookResponse\"J\n\x1dIsJobHookNameAvailableRequest\x12\x15\n\x06job_id\x18\x01 \x01(\tR\x05jobId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\"C\n\x1eIsJobHookNameAvailableResponse\x12!\n\x0cis_available\x18\x01 \x01(\x08R\x0bisAvailable\"\x81\x02\n\x14UpdateJobHookRequest\x12\x18\n\x02id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x02id\x12-\n\x04name\x18\x02 \x01(\tB\x19\xbaH\x16r\x14\x32\x12^[a-z0-9-]{3,100}$R\x04name\x12)\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x0b\x64\x65scription\x12\x34\n\x06\x63onfig\x18\x04 \x01(\x0b\x32\x1c.mgmt.v1alpha1.JobHookConfigR\x06\x63onfig\x12\x18\n\x07\x65nabled\x18\x05 \x01(\x08R\x07\x65nabled\x12%\n\x08priority\x18\x06 \x01(\rB\t\xbaH\x06*\x04\x18\x64(\x00R\x08priority\"C\n\x15UpdateJobHookResponse\x12*\n\x04hook\x18\x01 \x01(\x0b\x32\x16.mgmt.v1alpha1.JobHookR\x04hook\"N\n\x18SetJobHookEnabledRequest\x12\x18\n\x02id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x02id\x12\x18\n\x07\x65nabled\x18\x02 \x01(\x08R\x07\x65nabled\"G\n\x19SetJobHookEnabledResponse\x12*\n\x04hook\x18\x01 \x01(\x0b\x32\x16.mgmt.v1alpha1.JobHookR\x04hook\"\xde\x01\n GetActiveJobHooksByTimingRequest\x12\x1f\n\x06job_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x05jobId\x12N\n\x06timing\x18\x02 \x01(\x0e\x32\x36.mgmt.v1alpha1.GetActiveJobHooksByTimingRequest.TimingR\x06timing\"I\n\x06Timing\x12\x16\n\x12TIMING_UNSPECIFIED\x10\x00\x12\x12\n\x0eTIMING_PRESYNC\x10\x01\x12\x13\n\x0fTIMING_POSTSYNC\x10\x02\"Q\n!GetActiveJobHooksByTimingResponse\x12,\n\x05hooks\x18\x01 \x03(\x0b\x32\x16.mgmt.v1alpha1.JobHookR\x05hooks*o\n\tJobStatus\x12\x1a\n\x16JOB_STATUS_UNSPECIFIED\x10\x00\x12\x16\n\x12JOB_STATUS_ENABLED\x10\x01\x12\x15\n\x11JOB_STATUS_PAUSED\x10\x03\x12\x17\n\x13JOB_STATUS_DISABLED\x10\x04*\xa7\x01\n\x0e\x41\x63tivityStatus\x12\x1f\n\x1b\x41\x43TIVITY_STATUS_UNSPECIFIED\x10\x00\x12\x1d\n\x19\x41\x43TIVITY_STATUS_SCHEDULED\x10\x01\x12\x1b\n\x17\x41\x43TIVITY_STATUS_STARTED\x10\x02\x12\x1c\n\x18\x41\x43TIVITY_STATUS_CANCELED\x10\x03\x12\x1a\n\x16\x41\x43TIVITY_STATUS_FAILED\x10\x04*\x92\x02\n\x0cJobRunStatus\x12\x1e\n\x1aJOB_RUN_STATUS_UNSPECIFIED\x10\x00\x12\x1a\n\x16JOB_RUN_STATUS_PENDING\x10\x01\x12\x1a\n\x16JOB_RUN_STATUS_RUNNING\x10\x02\x12\x1b\n\x17JOB_RUN_STATUS_COMPLETE\x10\x03\x12\x18\n\x14JOB_RUN_STATUS_ERROR\x10\x04\x12\x1b\n\x17JOB_RUN_STATUS_CANCELED\x10\x05\x12\x1d\n\x19JOB_RUN_STATUS_TERMINATED\x10\x06\x12\x19\n\x15JOB_RUN_STATUS_FAILED\x10\x07\x12\x1c\n\x18JOB_RUN_STATUS_TIMED_OUT\x10\x08*|\n\tLogWindow\x12\"\n\x1eLOG_WINDOW_NO_TIME_UNSPECIFIED\x10\x00\x12\x1a\n\x16LOG_WINDOW_FIFTEEN_MIN\x10\x01\x12\x17\n\x13LOG_WINDOW_ONE_HOUR\x10\x02\x12\x16\n\x12LOG_WINDOW_ONE_DAY\x10\x03*w\n\x08LogLevel\x12\x19\n\x15LOG_LEVEL_UNSPECIFIED\x10\x00\x12\x13\n\x0fLOG_LEVEL_DEBUG\x10\x01\x12\x12\n\x0eLOG_LEVEL_INFO\x10\x02\x12\x12\n\x0eLOG_LEVEL_WARN\x10\x03\x12\x13\n\x0fLOG_LEVEL_ERROR\x10\x04\x32\xd1\x1e\n\nJobService\x12J\n\x07GetJobs\x12\x1d.mgmt.v1alpha1.GetJobsRequest\x1a\x1e.mgmt.v1alpha1.GetJobsResponse\"\x00\x12G\n\x06GetJob\x12\x1c.mgmt.v1alpha1.GetJobRequest\x1a\x1d.mgmt.v1alpha1.GetJobResponse\"\x00\x12P\n\tCreateJob\x12\x1f.mgmt.v1alpha1.CreateJobRequest\x1a .mgmt.v1alpha1.CreateJobResponse\"\x00\x12P\n\tDeleteJob\x12\x1f.mgmt.v1alpha1.DeleteJobRequest\x1a .mgmt.v1alpha1.DeleteJobResponse\"\x00\x12k\n\x12IsJobNameAvailable\x12(.mgmt.v1alpha1.IsJobNameAvailableRequest\x1a).mgmt.v1alpha1.IsJobNameAvailableResponse\"\x00\x12h\n\x11UpdateJobSchedule\x12\'.mgmt.v1alpha1.UpdateJobScheduleRequest\x1a(.mgmt.v1alpha1.UpdateJobScheduleResponse\"\x00\x12\x80\x01\n\x19UpdateJobSourceConnection\x12/.mgmt.v1alpha1.UpdateJobSourceConnectionRequest\x1a\x30.mgmt.v1alpha1.UpdateJobSourceConnectionResponse\"\x00\x12\x95\x01\n SetJobSourceSqlConnectionSubsets\x12\x36.mgmt.v1alpha1.SetJobSourceSqlConnectionSubsetsRequest\x1a\x37.mgmt.v1alpha1.SetJobSourceSqlConnectionSubsetsResponse\"\x00\x12\x8f\x01\n\x1eUpdateJobDestinationConnection\x12\x34.mgmt.v1alpha1.UpdateJobDestinationConnectionRequest\x1a\x35.mgmt.v1alpha1.UpdateJobDestinationConnectionResponse\"\x00\x12\x8f\x01\n\x1e\x44\x65leteJobDestinationConnection\x12\x34.mgmt.v1alpha1.DeleteJobDestinationConnectionRequest\x1a\x35.mgmt.v1alpha1.DeleteJobDestinationConnectionResponse\"\x00\x12\x92\x01\n\x1f\x43reateJobDestinationConnections\x12\x35.mgmt.v1alpha1.CreateJobDestinationConnectionsRequest\x1a\x36.mgmt.v1alpha1.CreateJobDestinationConnectionsResponse\"\x00\x12M\n\x08PauseJob\x12\x1e.mgmt.v1alpha1.PauseJobRequest\x1a\x1f.mgmt.v1alpha1.PauseJobResponse\"\x00\x12\x65\n\x10GetJobRecentRuns\x12&.mgmt.v1alpha1.GetJobRecentRunsRequest\x1a\'.mgmt.v1alpha1.GetJobRecentRunsResponse\"\x00\x12_\n\x0eGetJobNextRuns\x12$.mgmt.v1alpha1.GetJobNextRunsRequest\x1a%.mgmt.v1alpha1.GetJobNextRunsResponse\"\x00\x12Y\n\x0cGetJobStatus\x12\".mgmt.v1alpha1.GetJobStatusRequest\x1a#.mgmt.v1alpha1.GetJobStatusResponse\"\x00\x12_\n\x0eGetJobStatuses\x12$.mgmt.v1alpha1.GetJobStatusesRequest\x1a%.mgmt.v1alpha1.GetJobStatusesResponse\"\x00\x12S\n\nGetJobRuns\x12 .mgmt.v1alpha1.GetJobRunsRequest\x1a!.mgmt.v1alpha1.GetJobRunsResponse\"\x00\x12\x62\n\x0fGetJobRunEvents\x12%.mgmt.v1alpha1.GetJobRunEventsRequest\x1a&.mgmt.v1alpha1.GetJobRunEventsResponse\"\x00\x12P\n\tGetJobRun\x12\x1f.mgmt.v1alpha1.GetJobRunRequest\x1a .mgmt.v1alpha1.GetJobRunResponse\"\x00\x12Y\n\x0c\x44\x65leteJobRun\x12\".mgmt.v1alpha1.DeleteJobRunRequest\x1a#.mgmt.v1alpha1.DeleteJobRunResponse\"\x00\x12Y\n\x0c\x43reateJobRun\x12\".mgmt.v1alpha1.CreateJobRunRequest\x1a#.mgmt.v1alpha1.CreateJobRunResponse\"\x00\x12Y\n\x0c\x43\x61ncelJobRun\x12\".mgmt.v1alpha1.CancelJobRunRequest\x1a#.mgmt.v1alpha1.CancelJobRunResponse\"\x00\x12\x62\n\x0fTerminateJobRun\x12%.mgmt.v1alpha1.TerminateJobRunRequest\x1a&.mgmt.v1alpha1.TerminateJobRunResponse\"\x00\x12p\n\x13GetJobRunLogsStream\x12).mgmt.v1alpha1.GetJobRunLogsStreamRequest\x1a*.mgmt.v1alpha1.GetJobRunLogsStreamResponse\"\x00\x30\x01\x12t\n\x15SetJobWorkflowOptions\x12+.mgmt.v1alpha1.SetJobWorkflowOptionsRequest\x1a,.mgmt.v1alpha1.SetJobWorkflowOptionsResponse\"\x00\x12h\n\x11SetJobSyncOptions\x12\'.mgmt.v1alpha1.SetJobSyncOptionsRequest\x1a(.mgmt.v1alpha1.SetJobSyncOptionsResponse\"\x00\x12n\n\x13ValidateJobMappings\x12).mgmt.v1alpha1.ValidateJobMappingsRequest\x1a*.mgmt.v1alpha1.ValidateJobMappingsResponse\"\x00\x12\\\n\rGetRunContext\x12#.mgmt.v1alpha1.GetRunContextRequest\x1a$.mgmt.v1alpha1.GetRunContextResponse\"\x00\x12\\\n\rSetRunContext\x12#.mgmt.v1alpha1.SetRunContextRequest\x1a$.mgmt.v1alpha1.SetRunContextResponse\"\x00\x12\x61\n\x0eSetRunContexts\x12$.mgmt.v1alpha1.SetRunContextsRequest\x1a%.mgmt.v1alpha1.SetRunContextsResponse\"\x00(\x01\x12V\n\x0bGetJobHooks\x12!.mgmt.v1alpha1.GetJobHooksRequest\x1a\".mgmt.v1alpha1.GetJobHooksResponse\"\x00\x12S\n\nGetJobHook\x12 .mgmt.v1alpha1.GetJobHookRequest\x1a!.mgmt.v1alpha1.GetJobHookResponse\"\x00\x12\\\n\rCreateJobHook\x12#.mgmt.v1alpha1.CreateJobHookRequest\x1a$.mgmt.v1alpha1.CreateJobHookResponse\"\x00\x12\\\n\rDeleteJobHook\x12#.mgmt.v1alpha1.DeleteJobHookRequest\x1a$.mgmt.v1alpha1.DeleteJobHookResponse\"\x00\x12w\n\x16IsJobHookNameAvailable\x12,.mgmt.v1alpha1.IsJobHookNameAvailableRequest\x1a-.mgmt.v1alpha1.IsJobHookNameAvailableResponse\"\x00\x12\\\n\rUpdateJobHook\x12#.mgmt.v1alpha1.UpdateJobHookRequest\x1a$.mgmt.v1alpha1.UpdateJobHookResponse\"\x00\x12h\n\x11SetJobHookEnabled\x12\'.mgmt.v1alpha1.SetJobHookEnabledRequest\x1a(.mgmt.v1alpha1.SetJobHookEnabledResponse\"\x00\x12\x80\x01\n\x19GetActiveJobHooksByTiming\x12/.mgmt.v1alpha1.GetActiveJobHooksByTimingRequest\x1a\x30.mgmt.v1alpha1.GetActiveJobHooksByTimingResponse\"\x00\x42\xc4\x01\n\x11\x63om.mgmt.v1alpha1B\x08JobProtoP\x01ZPgithub.com/nucleuscloud/neosync/backend/gen/go/protos/mgmt/v1alpha1;mgmtv1alpha1\xa2\x02\x03MXX\xaa\x02\rMgmt.V1alpha1\xca\x02\rMgmt\\V1alpha1\xe2\x02\x19Mgmt\\V1alpha1\\GPBMetadata\xea\x02\x0eMgmt::V1alpha1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17mgmt/v1alpha1/job.proto\x12\rmgmt.v1alpha1\x1a\x1b\x62uf/validate/validate.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1fmgmt/v1alpha1/transformer.proto\"9\n\x0eGetJobsRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"9\n\x0fGetJobsResponse\x12&\n\x04jobs\x18\x01 \x03(\x0b\x32\x12.mgmt.v1alpha1.JobR\x04jobs\"N\n\tJobSource\x12\x41\n\x07options\x18\x01 \x01(\x0b\x32\x1f.mgmt.v1alpha1.JobSourceOptionsB\x06\xbaH\x03\xc8\x01\x01R\x07options\"\xe9\x04\n\x10JobSourceOptions\x12L\n\x08postgres\x18\x01 \x01(\x0b\x32..mgmt.v1alpha1.PostgresSourceConnectionOptionsH\x00R\x08postgres\x12\x44\n\x06\x61ws_s3\x18\x02 \x01(\x0b\x32+.mgmt.v1alpha1.AwsS3SourceConnectionOptionsH\x00R\x05\x61wsS3\x12\x43\n\x05mysql\x18\x03 \x01(\x0b\x32+.mgmt.v1alpha1.MysqlSourceConnectionOptionsH\x00R\x05mysql\x12\x42\n\x08generate\x18\x04 \x01(\x0b\x32$.mgmt.v1alpha1.GenerateSourceOptionsH\x00R\x08generate\x12I\n\x0b\x61i_generate\x18\x05 \x01(\x0b\x32&.mgmt.v1alpha1.AiGenerateSourceOptionsH\x00R\naiGenerate\x12I\n\x07mongodb\x18\x06 \x01(\x0b\x32-.mgmt.v1alpha1.MongoDBSourceConnectionOptionsH\x00R\x07mongodb\x12L\n\x08\x64ynamodb\x18\x07 \x01(\x0b\x32..mgmt.v1alpha1.DynamoDBSourceConnectionOptionsH\x00R\x08\x64ynamodb\x12\x43\n\x05mssql\x18\x08 \x01(\x0b\x32+.mgmt.v1alpha1.MssqlSourceConnectionOptionsH\x00R\x05mssqlB\x0f\n\x06\x63onfig\x12\x05\xbaH\x02\x08\x01\"\x85\x01\n\x14\x43reateJobDestination\x12-\n\rconnection_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x0c\x63onnectionId\x12>\n\x07options\x18\x02 \x01(\x0b\x32$.mgmt.v1alpha1.JobDestinationOptionsR\x07options\"\x8f\x01\n\x0eJobDestination\x12-\n\rconnection_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x0c\x63onnectionId\x12>\n\x07options\x18\x02 \x01(\x0b\x32$.mgmt.v1alpha1.JobDestinationOptionsR\x07options\x12\x0e\n\x02id\x18\x03 \x01(\tR\x02id\"\xb6\x03\n\x17\x41iGenerateSourceOptions\x12\x32\n\x10\x61i_connection_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x0e\x61iConnectionId\x12O\n\x07schemas\x18\x02 \x03(\x0b\x32+.mgmt.v1alpha1.AiGenerateSourceSchemaOptionB\x08\xbaH\x05\x92\x01\x02\x08\x01R\x07schemas\x12\x44\n\x17\x66k_source_connection_id\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x14\x66kSourceConnectionId\x88\x01\x01\x12&\n\nmodel_name\x18\x04 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\tmodelName\x12$\n\x0buser_prompt\x18\x05 \x01(\tH\x01R\nuserPrompt\x88\x01\x01\x12>\n\x13generate_batch_size\x18\x06 \x01(\x03\x42\t\xbaH\x06\"\x04\x18\x64(\x01H\x02R\x11generateBatchSize\x88\x01\x01\x42\x1a\n\x18_fk_source_connection_idB\x0e\n\x0c_user_promptB\x16\n\x14_generate_batch_size\"\x8d\x01\n\x1c\x41iGenerateSourceSchemaOption\x12\x1f\n\x06schema\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x06schema\x12L\n\x06tables\x18\x02 \x03(\x0b\x32*.mgmt.v1alpha1.AiGenerateSourceTableOptionB\x08\xbaH\x05\x92\x01\x02\x08\x01R\x06tables\"e\n\x1b\x41iGenerateSourceTableOption\x12\x1d\n\x05table\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x05table\x12\'\n\trow_count\x18\x02 \x01(\x03\x42\n\xbaH\x07\"\x05\x18\xe8\x07(\x01R\x08rowCount\"\xce\x01\n\x15GenerateSourceOptions\x12M\n\x07schemas\x18\x01 \x03(\x0b\x32).mgmt.v1alpha1.GenerateSourceSchemaOptionB\x08\xbaH\x05\x92\x01\x02\x08\x01R\x07schemas\x12\x44\n\x17\x66k_source_connection_id\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x14\x66kSourceConnectionId\x88\x01\x01\x42\x1a\n\x18_fk_source_connection_idJ\x04\x08\x02\x10\x03\"\x89\x01\n\x1aGenerateSourceSchemaOption\x12\x1f\n\x06schema\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x06schema\x12J\n\x06tables\x18\x02 \x03(\x0b\x32(.mgmt.v1alpha1.GenerateSourceTableOptionB\x08\xbaH\x05\x92\x01\x02\x08\x01R\x06tables\"`\n\x19GenerateSourceTableOption\x12\x1d\n\x05table\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x05table\x12$\n\trow_count\x18\x02 \x01(\x03\x42\x07\xbaH\x04\"\x02(\x01R\x08rowCount\"O\n\x1eMongoDBSourceConnectionOptions\x12-\n\rconnection_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x0c\x63onnectionId\"\xaf\x02\n\x1f\x44ynamoDBSourceConnectionOptions\x12-\n\rconnection_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x0c\x63onnectionId\x12@\n\x06tables\x18\x02 \x03(\x0b\x32(.mgmt.v1alpha1.DynamoDBSourceTableOptionR\x06tables\x12\x65\n\x13unmapped_transforms\x18\x03 \x01(\x0b\x32\x34.mgmt.v1alpha1.DynamoDBSourceUnmappedTransformConfigR\x12unmappedTransforms\x12\x34\n\x16\x65nable_consistent_read\x18\x04 \x01(\x08R\x14\x65nableConsistentRead\"\x8f\x02\n%DynamoDBSourceUnmappedTransformConfig\x12\x32\n\x01\x62\x18\x01 \x01(\x0b\x32$.mgmt.v1alpha1.JobMappingTransformerR\x01\x62\x12>\n\x07\x62oolean\x18\x02 \x01(\x0b\x32$.mgmt.v1alpha1.JobMappingTransformerR\x07\x62oolean\x12\x32\n\x01n\x18\x04 \x01(\x0b\x32$.mgmt.v1alpha1.JobMappingTransformerR\x01n\x12\x32\n\x01s\x18\x06 \x01(\x0b\x32$.mgmt.v1alpha1.JobMappingTransformerR\x01sJ\x04\x08\x03\x10\x04J\x04\x08\x05\x10\x06\"s\n\x19\x44ynamoDBSourceTableOption\x12\x1d\n\x05table\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x05table\x12&\n\x0cwhere_clause\x18\x02 \x01(\tH\x00R\x0bwhereClause\x88\x01\x01\x42\x0f\n\r_where_clause\"\xaf\x08\n\x1fPostgresSourceConnectionOptions\x12\x43\n\x07schemas\x18\x02 \x03(\x0b\x32).mgmt.v1alpha1.PostgresSourceSchemaOptionR\x07schemas\x12-\n\rconnection_id\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x0c\x63onnectionId\x12H\n!subset_by_foreign_key_constraints\x18\x04 \x01(\x08R\x1dsubsetByForeignKeyConstraints\x12\x89\x01\n\x1cnew_column_addition_strategy\x18\x05 \x01(\x0b\x32H.mgmt.v1alpha1.PostgresSourceConnectionOptions.NewColumnAdditionStrategyR\x19newColumnAdditionStrategy\x12|\n\x17\x63olumn_removal_strategy\x18\x06 \x01(\x0b\x32\x44.mgmt.v1alpha1.PostgresSourceConnectionOptions.ColumnRemovalStrategyR\x15\x63olumnRemovalStrategy\x1a\x9b\x02\n\x19NewColumnAdditionStrategy\x12m\n\x08halt_job\x18\x01 \x01(\x0b\x32P.mgmt.v1alpha1.PostgresSourceConnectionOptions.NewColumnAdditionStrategy.HaltJobH\x00R\x07haltJob\x12m\n\x08\x61uto_map\x18\x02 \x01(\x0b\x32P.mgmt.v1alpha1.PostgresSourceConnectionOptions.NewColumnAdditionStrategy.AutoMapH\x00R\x07\x61utoMap\x1a\t\n\x07HaltJob\x1a\t\n\x07\x41utoMapB\n\n\x08strategy\x1a\x9f\x02\n\x15\x43olumnRemovalStrategy\x12i\n\x08halt_job\x18\x01 \x01(\x0b\x32L.mgmt.v1alpha1.PostgresSourceConnectionOptions.ColumnRemovalStrategy.HaltJobH\x00R\x07haltJob\x12u\n\x0c\x63ontinue_job\x18\x02 \x01(\x0b\x32P.mgmt.v1alpha1.PostgresSourceConnectionOptions.ColumnRemovalStrategy.ContinueJobH\x00R\x0b\x63ontinueJob\x1a\t\n\x07HaltJob\x1a\r\n\x0b\x43ontinueJobB\n\n\x08strategyJ\x04\x08\x01\x10\x02\"\x89\x01\n\x1aPostgresSourceSchemaOption\x12\x1f\n\x06schema\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x06schema\x12J\n\x06tables\x18\x02 \x03(\x0b\x32(.mgmt.v1alpha1.PostgresSourceTableOptionB\x08\xbaH\x05\x92\x01\x02\x08\x01R\x06tables\"s\n\x19PostgresSourceTableOption\x12\x1d\n\x05table\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x05table\x12&\n\x0cwhere_clause\x18\x02 \x01(\tH\x00R\x0bwhereClause\x88\x01\x01\x42\x0f\n\r_where_clause\"\xae\x05\n\x1cMysqlSourceConnectionOptions\x12<\n\x1bhalt_on_new_column_addition\x18\x01 \x01(\x08R\x17haltOnNewColumnAddition\x12@\n\x07schemas\x18\x02 \x03(\x0b\x32&.mgmt.v1alpha1.MysqlSourceSchemaOptionR\x07schemas\x12-\n\rconnection_id\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x0c\x63onnectionId\x12H\n!subset_by_foreign_key_constraints\x18\x04 \x01(\x08R\x1dsubsetByForeignKeyConstraints\x12y\n\x17\x63olumn_removal_strategy\x18\x05 \x01(\x0b\x32\x41.mgmt.v1alpha1.MysqlSourceConnectionOptions.ColumnRemovalStrategyR\x15\x63olumnRemovalStrategy\x1a\x99\x02\n\x15\x43olumnRemovalStrategy\x12\x66\n\x08halt_job\x18\x01 \x01(\x0b\x32I.mgmt.v1alpha1.MysqlSourceConnectionOptions.ColumnRemovalStrategy.HaltJobH\x00R\x07haltJob\x12r\n\x0c\x63ontinue_job\x18\x02 \x01(\x0b\x32M.mgmt.v1alpha1.MysqlSourceConnectionOptions.ColumnRemovalStrategy.ContinueJobH\x00R\x0b\x63ontinueJob\x1a\t\n\x07HaltJob\x1a\r\n\x0b\x43ontinueJobB\n\n\x08strategy\"\x83\x01\n\x17MysqlSourceSchemaOption\x12\x1f\n\x06schema\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x06schema\x12G\n\x06tables\x18\x02 \x03(\x0b\x32%.mgmt.v1alpha1.MysqlSourceTableOptionB\x08\xbaH\x05\x92\x01\x02\x08\x01R\x06tables\"p\n\x16MysqlSourceTableOption\x12\x1d\n\x05table\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x05table\x12&\n\x0cwhere_clause\x18\x02 \x01(\tH\x00R\x0bwhereClause\x88\x01\x01\x42\x0f\n\r_where_clause\"\xae\x05\n\x1cMssqlSourceConnectionOptions\x12<\n\x1bhalt_on_new_column_addition\x18\x01 \x01(\x08R\x17haltOnNewColumnAddition\x12@\n\x07schemas\x18\x02 \x03(\x0b\x32&.mgmt.v1alpha1.MssqlSourceSchemaOptionR\x07schemas\x12-\n\rconnection_id\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x0c\x63onnectionId\x12H\n!subset_by_foreign_key_constraints\x18\x04 \x01(\x08R\x1dsubsetByForeignKeyConstraints\x12y\n\x17\x63olumn_removal_strategy\x18\x05 \x01(\x0b\x32\x41.mgmt.v1alpha1.MssqlSourceConnectionOptions.ColumnRemovalStrategyR\x15\x63olumnRemovalStrategy\x1a\x99\x02\n\x15\x43olumnRemovalStrategy\x12\x66\n\x08halt_job\x18\x01 \x01(\x0b\x32I.mgmt.v1alpha1.MssqlSourceConnectionOptions.ColumnRemovalStrategy.HaltJobH\x00R\x07haltJob\x12r\n\x0c\x63ontinue_job\x18\x02 \x01(\x0b\x32M.mgmt.v1alpha1.MssqlSourceConnectionOptions.ColumnRemovalStrategy.ContinueJobH\x00R\x0b\x63ontinueJob\x1a\t\n\x07HaltJob\x1a\r\n\x0b\x43ontinueJobB\n\n\x08strategy\"\x83\x01\n\x17MssqlSourceSchemaOption\x12\x1f\n\x06schema\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x06schema\x12G\n\x06tables\x18\x02 \x03(\x0b\x32%.mgmt.v1alpha1.MssqlSourceTableOptionB\x08\xbaH\x05\x92\x01\x02\x08\x01R\x06tables\"p\n\x16MssqlSourceTableOption\x12\x1d\n\x05table\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x05table\x12&\n\x0cwhere_clause\x18\x02 \x01(\tH\x00R\x0bwhereClause\x88\x01\x01\x42\x0f\n\r_where_clause\"M\n\x1c\x41wsS3SourceConnectionOptions\x12-\n\rconnection_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x0c\x63onnectionId\"\xcf\x05\n\x15JobDestinationOptions\x12`\n\x10postgres_options\x18\x01 \x01(\x0b\x32\x33.mgmt.v1alpha1.PostgresDestinationConnectionOptionsH\x00R\x0fpostgresOptions\x12X\n\x0e\x61ws_s3_options\x18\x02 \x01(\x0b\x32\x30.mgmt.v1alpha1.AwsS3DestinationConnectionOptionsH\x00R\x0c\x61wsS3Options\x12W\n\rmysql_options\x18\x03 \x01(\x0b\x32\x30.mgmt.v1alpha1.MysqlDestinationConnectionOptionsH\x00R\x0cmysqlOptions\x12]\n\x0fmongodb_options\x18\x04 \x01(\x0b\x32\x32.mgmt.v1alpha1.MongoDBDestinationConnectionOptionsH\x00R\x0emongodbOptions\x12v\n\x18gcp_cloudstorage_options\x18\x05 \x01(\x0b\x32:.mgmt.v1alpha1.GcpCloudStorageDestinationConnectionOptionsH\x00R\x16gcpCloudstorageOptions\x12`\n\x10\x64ynamodb_options\x18\x06 \x01(\x0b\x32\x33.mgmt.v1alpha1.DynamoDBDestinationConnectionOptionsH\x00R\x0f\x64ynamodbOptions\x12W\n\rmssql_options\x18\x07 \x01(\x0b\x32\x30.mgmt.v1alpha1.MssqlDestinationConnectionOptionsH\x00R\x0cmssqlOptionsB\x0f\n\x06\x63onfig\x12\x05\xbaH\x02\x08\x01\"%\n#MongoDBDestinationConnectionOptions\"-\n+GcpCloudStorageDestinationConnectionOptions\"}\n$DynamoDBDestinationConnectionOptions\x12U\n\x0etable_mappings\x18\x01 \x03(\x0b\x32..mgmt.v1alpha1.DynamoDBDestinationTableMappingR\rtableMappings\"q\n\x1f\x44ynamoDBDestinationTableMapping\x12!\n\x0csource_table\x18\x01 \x01(\tR\x0bsourceTable\x12+\n\x11\x64\x65stination_table\x18\x02 \x01(\tR\x10\x64\x65stinationTable\"\xa4\x03\n$PostgresDestinationConnectionOptions\x12Q\n\x0etruncate_table\x18\x01 \x01(\x0b\x32*.mgmt.v1alpha1.PostgresTruncateTableConfigR\rtruncateTable\x12*\n\x11init_table_schema\x18\x02 \x01(\x08R\x0finitTableSchema\x12H\n\x0bon_conflict\x18\x03 \x01(\x0b\x32\'.mgmt.v1alpha1.PostgresOnConflictConfigR\nonConflict\x12=\n\x1bskip_foreign_key_violations\x18\x04 \x01(\x08R\x18skipForeignKeyViolations\x12\x30\n\x05\x62\x61tch\x18\x05 \x01(\x0b\x32\x1a.mgmt.v1alpha1.BatchConfigR\x05\x62\x61tch\x12\x30\n\rmax_in_flight\x18\x06 \x01(\rB\x07\xbaH\x04*\x02(\x01H\x00R\x0bmaxInFlight\x88\x01\x01\x42\x10\n\x0e_max_in_flight\"\xc4\x02\n\x18PostgresOnConflictConfig\x12\x1d\n\ndo_nothing\x18\x01 \x01(\x08R\tdoNothing\x12_\n\x07nothing\x18\x02 \x01(\x0b\x32\x43.mgmt.v1alpha1.PostgresOnConflictConfig.PostgresOnConflictDoNothingH\x00R\x07nothing\x12Z\n\x06update\x18\x03 \x01(\x0b\x32@.mgmt.v1alpha1.PostgresOnConflictConfig.PostgresOnConflictUpdateH\x00R\x06update\x1a\x1d\n\x1bPostgresOnConflictDoNothing\x1a\x1a\n\x18PostgresOnConflictUpdateB\x11\n\x08strategy\x12\x05\xbaH\x02\x08\x00\"m\n\x1bPostgresTruncateTableConfig\x12\x34\n\x16truncate_before_insert\x18\x01 \x01(\x08R\x14truncateBeforeInsert\x12\x18\n\x07\x63\x61scade\x18\x02 \x01(\x08R\x07\x63\x61scade\"\x9b\x03\n!MysqlDestinationConnectionOptions\x12N\n\x0etruncate_table\x18\x01 \x01(\x0b\x32\'.mgmt.v1alpha1.MysqlTruncateTableConfigR\rtruncateTable\x12*\n\x11init_table_schema\x18\x02 \x01(\x08R\x0finitTableSchema\x12\x45\n\x0bon_conflict\x18\x03 \x01(\x0b\x32$.mgmt.v1alpha1.MysqlOnConflictConfigR\nonConflict\x12=\n\x1bskip_foreign_key_violations\x18\x04 \x01(\x08R\x18skipForeignKeyViolations\x12\x30\n\x05\x62\x61tch\x18\x05 \x01(\x0b\x32\x1a.mgmt.v1alpha1.BatchConfigR\x05\x62\x61tch\x12\x30\n\rmax_in_flight\x18\x06 \x01(\rB\x07\xbaH\x04*\x02(\x01H\x00R\x0bmaxInFlight\x88\x01\x01\x42\x10\n\x0e_max_in_flight\"P\n\x18MysqlTruncateTableConfig\x12\x34\n\x16truncate_before_insert\x18\x01 \x01(\x08R\x14truncateBeforeInsert\"\xaf\x02\n\x15MysqlOnConflictConfig\x12\x1d\n\ndo_nothing\x18\x01 \x01(\x08R\tdoNothing\x12Y\n\x07nothing\x18\x02 \x01(\x0b\x32=.mgmt.v1alpha1.MysqlOnConflictConfig.MysqlOnConflictDoNothingH\x00R\x07nothing\x12T\n\x06update\x18\x03 \x01(\x0b\x32:.mgmt.v1alpha1.MysqlOnConflictConfig.MysqlOnConflictUpdateH\x00R\x06update\x1a\x1a\n\x18MysqlOnConflictDoNothing\x1a\x17\n\x15MysqlOnConflictUpdateB\x11\n\x08strategy\x12\x05\xbaH\x02\x08\x00\"\x9b\x03\n!MssqlDestinationConnectionOptions\x12N\n\x0etruncate_table\x18\x01 \x01(\x0b\x32\'.mgmt.v1alpha1.MssqlTruncateTableConfigR\rtruncateTable\x12*\n\x11init_table_schema\x18\x02 \x01(\x08R\x0finitTableSchema\x12\x45\n\x0bon_conflict\x18\x03 \x01(\x0b\x32$.mgmt.v1alpha1.MssqlOnConflictConfigR\nonConflict\x12=\n\x1bskip_foreign_key_violations\x18\x04 \x01(\x08R\x18skipForeignKeyViolations\x12\x30\n\x05\x62\x61tch\x18\x05 \x01(\x0b\x32\x1a.mgmt.v1alpha1.BatchConfigR\x05\x62\x61tch\x12\x30\n\rmax_in_flight\x18\x06 \x01(\rB\x07\xbaH\x04*\x02(\x01H\x00R\x0bmaxInFlight\x88\x01\x01\x42\x10\n\x0e_max_in_flight\"P\n\x18MssqlTruncateTableConfig\x12\x34\n\x16truncate_before_insert\x18\x01 \x01(\x08R\x14truncateBeforeInsert\"6\n\x15MssqlOnConflictConfig\x12\x1d\n\ndo_nothing\x18\x01 \x01(\x08R\tdoNothing\"\xb9\x04\n!AwsS3DestinationConnectionOptions\x12\x62\n\rstorage_class\x18\x01 \x01(\x0e\x32=.mgmt.v1alpha1.AwsS3DestinationConnectionOptions.StorageClassR\x0cstorageClass\x12\x30\n\rmax_in_flight\x18\x02 \x01(\rB\x07\xbaH\x04*\x02(\x01H\x00R\x0bmaxInFlight\x88\x01\x01\x12\x1d\n\x07timeout\x18\x03 \x01(\tH\x01R\x07timeout\x88\x01\x01\x12\x30\n\x05\x62\x61tch\x18\x04 \x01(\x0b\x32\x1a.mgmt.v1alpha1.BatchConfigR\x05\x62\x61tch\"\x8e\x02\n\x0cStorageClass\x12\x1d\n\x19STORAGE_CLASS_UNSPECIFIED\x10\x00\x12\x1a\n\x16STORAGE_CLASS_STANDARD\x10\x01\x12$\n STORAGE_CLASS_REDUCED_REDUNDANCY\x10\x02\x12\x19\n\x15STORAGE_CLASS_GLACIER\x10\x03\x12\x1d\n\x19STORAGE_CLASS_STANDARD_IA\x10\x04\x12\x1c\n\x18STORAGE_CLASS_ONEZONE_IA\x10\x05\x12%\n!STORAGE_CLASS_INTELLIGENT_TIERING\x10\x06\x12\x1e\n\x1aSTORAGE_CLASS_DEEP_ARCHIVE\x10\x07\x42\x10\n\x0e_max_in_flightB\n\n\x08_timeout\"Z\n\x0b\x42\x61tchConfig\x12\x19\n\x05\x63ount\x18\x01 \x01(\rH\x00R\x05\x63ount\x88\x01\x01\x12\x1b\n\x06period\x18\x02 \x01(\tH\x01R\x06period\x88\x01\x01\x42\x08\n\x06_countB\t\n\x07_period\"\xf2\x04\n\x10\x43reateJobRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12\x34\n\x08job_name\x18\x02 \x01(\tB\x19\xbaH\x16r\x14\x32\x12^[a-z0-9-]{3,100}$R\x07jobName\x12(\n\rcron_schedule\x18\x03 \x01(\tH\x00R\x0c\x63ronSchedule\x88\x01\x01\x12\x35\n\x08mappings\x18\x04 \x03(\x0b\x32\x19.mgmt.v1alpha1.JobMappingR\x08mappings\x12\x30\n\x06source\x18\x05 \x01(\x0b\x32\x18.mgmt.v1alpha1.JobSourceR\x06source\x12G\n\x0c\x64\x65stinations\x18\x06 \x03(\x0b\x32#.mgmt.v1alpha1.CreateJobDestinationR\x0c\x64\x65stinations\x12(\n\x10initiate_job_run\x18\x07 \x01(\x08R\x0einitiateJobRun\x12I\n\x10workflow_options\x18\x08 \x01(\x0b\x32\x1e.mgmt.v1alpha1.WorkflowOptionsR\x0fworkflowOptions\x12\x41\n\x0csync_options\x18\t \x01(\x0b\x32\x1e.mgmt.v1alpha1.ActivityOptionsR\x0bsyncOptions\x12Y\n\x14virtual_foreign_keys\x18\n \x03(\x0b\x32\'.mgmt.v1alpha1.VirtualForeignConstraintR\x12virtualForeignKeysB\x10\n\x0e_cron_schedule\"q\n\x0fWorkflowOptions\x12$\n\x0brun_timeout\x18\x08 \x01(\x03H\x00R\nrunTimeout\x88\x01\x01\x42\x0e\n\x0c_run_timeoutJ\x04\x08\x01\x10\x02J\x04\x08\x02\x10\x03J\x04\x08\x03\x10\x04J\x04\x08\x04\x10\x05J\x04\x08\x05\x10\x06J\x04\x08\x06\x10\x07J\x04\x08\x07\x10\x08\"\x95\x02\n\x0f\x41\x63tivityOptions\x12G\n\x19schedule_to_close_timeout\x18\x01 \x01(\x03\x42\x07\xbaH\x04\"\x02(\x01H\x00R\x16scheduleToCloseTimeout\x88\x01\x01\x12\x41\n\x16start_to_close_timeout\x18\x02 \x01(\x03\x42\x07\xbaH\x04\"\x02(\x01H\x01R\x13startToCloseTimeout\x88\x01\x01\x12=\n\x0cretry_policy\x18\x03 \x01(\x0b\x32\x1a.mgmt.v1alpha1.RetryPolicyR\x0bretryPolicyB\x1c\n\x1a_schedule_to_close_timeoutB\x19\n\x17_start_to_close_timeout\"[\n\x0bRetryPolicy\x12\x37\n\x10maximum_attempts\x18\x01 \x01(\x05\x42\x07\xbaH\x04\x1a\x02(\x00H\x00R\x0fmaximumAttempts\x88\x01\x01\x42\x13\n\x11_maximum_attempts\"9\n\x11\x43reateJobResponse\x12$\n\x03job\x18\x01 \x01(\x0b\x32\x12.mgmt.v1alpha1.JobR\x03job\"W\n\x15JobMappingTransformer\x12\x38\n\x06\x63onfig\x18\x03 \x01(\x0b\x32 .mgmt.v1alpha1.TransformerConfigR\x06\x63onfigJ\x04\x08\x01\x10\x02\"\xb5\x01\n\nJobMapping\x12\x1f\n\x06schema\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x06schema\x12\x1d\n\x05table\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x05table\x12\x1f\n\x06\x63olumn\x18\x03 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x06\x63olumn\x12\x46\n\x0btransformer\x18\x05 \x01(\x0b\x32$.mgmt.v1alpha1.JobMappingTransformerR\x0btransformer\")\n\rGetJobRequest\x12\x18\n\x02id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x02id\"6\n\x0eGetJobResponse\x12$\n\x03job\x18\x01 \x01(\x0b\x32\x12.mgmt.v1alpha1.JobR\x03job\"p\n\x18UpdateJobScheduleRequest\x12\x18\n\x02id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x02id\x12(\n\rcron_schedule\x18\x02 \x01(\tH\x00R\x0c\x63ronSchedule\x88\x01\x01\x42\x10\n\x0e_cron_schedule\"A\n\x19UpdateJobScheduleResponse\x12$\n\x03job\x18\x01 \x01(\x0b\x32\x12.mgmt.v1alpha1.JobR\x03job\"c\n\x0fPauseJobRequest\x12\x18\n\x02id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x02id\x12\x14\n\x05pause\x18\x02 \x01(\x08R\x05pause\x12\x17\n\x04note\x18\x03 \x01(\tH\x00R\x04note\x88\x01\x01\x42\x07\n\x05_note\"8\n\x10PauseJobResponse\x12$\n\x03job\x18\x01 \x01(\x0b\x32\x12.mgmt.v1alpha1.JobR\x03job\"\x80\x02\n UpdateJobSourceConnectionRequest\x12\x18\n\x02id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x02id\x12\x30\n\x06source\x18\x02 \x01(\x0b\x32\x18.mgmt.v1alpha1.JobSourceR\x06source\x12\x35\n\x08mappings\x18\x03 \x03(\x0b\x32\x19.mgmt.v1alpha1.JobMappingR\x08mappings\x12Y\n\x14virtual_foreign_keys\x18\x04 \x03(\x0b\x32\'.mgmt.v1alpha1.VirtualForeignConstraintR\x12virtualForeignKeys\"I\n!UpdateJobSourceConnectionResponse\x12$\n\x03job\x18\x01 \x01(\x0b\x32\x12.mgmt.v1alpha1.JobR\x03job\"r\n\x1aPostgresSourceSchemaSubset\x12T\n\x10postgres_schemas\x18\x01 \x03(\x0b\x32).mgmt.v1alpha1.PostgresSourceSchemaOptionR\x0fpostgresSchemas\"f\n\x17MysqlSourceSchemaSubset\x12K\n\rmysql_schemas\x18\x01 \x03(\x0b\x32&.mgmt.v1alpha1.MysqlSourceSchemaOptionR\x0cmysqlSchemas\"^\n\x1a\x44ynamoDBSourceSchemaSubset\x12@\n\x06tables\x18\x01 \x03(\x0b\x32(.mgmt.v1alpha1.DynamoDBSourceTableOptionR\x06tables\"f\n\x17MssqlSourceSchemaSubset\x12K\n\rmssql_schemas\x18\x01 \x03(\x0b\x32&.mgmt.v1alpha1.MssqlSourceSchemaOptionR\x0cmssqlSchemas\"\xf8\x02\n\x18JobSourceSqlSubetSchemas\x12T\n\x0fpostgres_subset\x18\x02 \x01(\x0b\x32).mgmt.v1alpha1.PostgresSourceSchemaSubsetH\x00R\x0epostgresSubset\x12K\n\x0cmysql_subset\x18\x03 \x01(\x0b\x32&.mgmt.v1alpha1.MysqlSourceSchemaSubsetH\x00R\x0bmysqlSubset\x12T\n\x0f\x64ynamodb_subset\x18\x04 \x01(\x0b\x32).mgmt.v1alpha1.DynamoDBSourceSchemaSubsetH\x00R\x0e\x64ynamodbSubset\x12K\n\x0cmssql_subset\x18\x05 \x01(\x0b\x32&.mgmt.v1alpha1.MssqlSourceSchemaSubsetH\x00R\x0bmssqlSubsetB\x10\n\x07schemas\x12\x05\xbaH\x02\x08\x01J\x04\x08\x01\x10\x02\"\xd0\x01\n\'SetJobSourceSqlConnectionSubsetsRequest\x12\x18\n\x02id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x02id\x12\x41\n\x07schemas\x18\x02 \x01(\x0b\x32\'.mgmt.v1alpha1.JobSourceSqlSubetSchemasR\x07schemas\x12H\n!subset_by_foreign_key_constraints\x18\x03 \x01(\x08R\x1dsubsetByForeignKeyConstraints\"P\n(SetJobSourceSqlConnectionSubsetsResponse\x12$\n\x03job\x18\x01 \x01(\x0b\x32\x12.mgmt.v1alpha1.JobR\x03job\"\xde\x01\n%UpdateJobDestinationConnectionRequest\x12\x1f\n\x06job_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x05jobId\x12-\n\rconnection_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x0c\x63onnectionId\x12>\n\x07options\x18\x03 \x01(\x0b\x32$.mgmt.v1alpha1.JobDestinationOptionsR\x07options\x12%\n\x0e\x64\x65stination_id\x18\x04 \x01(\tR\rdestinationId\"N\n&UpdateJobDestinationConnectionResponse\x12$\n\x03job\x18\x01 \x01(\x0b\x32\x12.mgmt.v1alpha1.JobR\x03job\"X\n%DeleteJobDestinationConnectionRequest\x12/\n\x0e\x64\x65stination_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\rdestinationId\"(\n&DeleteJobDestinationConnectionResponse\"\x92\x01\n&CreateJobDestinationConnectionsRequest\x12\x1f\n\x06job_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x05jobId\x12G\n\x0c\x64\x65stinations\x18\x02 \x03(\x0b\x32#.mgmt.v1alpha1.CreateJobDestinationR\x0c\x64\x65stinations\"O\n\'CreateJobDestinationConnectionsResponse\x12$\n\x03job\x18\x01 \x01(\x0b\x32\x12.mgmt.v1alpha1.JobR\x03job\",\n\x10\x44\x65leteJobRequest\x12\x18\n\x02id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x02id\"\x13\n\x11\x44\x65leteJobResponse\"s\n\x19IsJobNameAvailableRequest\x12-\n\x04name\x18\x01 \x01(\tB\x19\xbaH\x16r\x14\x32\x12^[a-z0-9-]{3,100}$R\x04name\x12\'\n\naccount_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"?\n\x1aIsJobNameAvailableResponse\x12!\n\x0cis_available\x18\x01 \x01(\x08R\x0bisAvailable\"g\n\x11GetJobRunsRequest\x12!\n\x06job_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x05jobId\x12)\n\naccount_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\taccountIdB\x04\n\x02id\"F\n\x12GetJobRunsResponse\x12\x30\n\x08job_runs\x18\x01 \x03(\x0b\x32\x15.mgmt.v1alpha1.JobRunR\x07jobRuns\"Y\n\x10GetJobRunRequest\x12\x1c\n\njob_run_id\x18\x01 \x01(\tR\x08jobRunId\x12\'\n\naccount_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"C\n\x11GetJobRunResponse\x12.\n\x07job_run\x18\x01 \x01(\x0b\x32\x15.mgmt.v1alpha1.JobRunR\x06jobRun\"6\n\x13\x43reateJobRunRequest\x12\x1f\n\x06job_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x05jobId\"\x16\n\x14\x43reateJobRunResponse\"\\\n\x13\x43\x61ncelJobRunRequest\x12\x1c\n\njob_run_id\x18\x01 \x01(\tR\x08jobRunId\x12\'\n\naccount_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"\x16\n\x14\x43\x61ncelJobRunResponse\"\xe9\x05\n\x03Job\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12+\n\x12\x63reated_by_user_id\x18\x02 \x01(\tR\x0f\x63reatedByUserId\x12\x39\n\ncreated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12+\n\x12updated_by_user_id\x18\x04 \x01(\tR\x0fupdatedByUserId\x12\x39\n\nupdated_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tupdatedAt\x12\x12\n\x04name\x18\x06 \x01(\tR\x04name\x12\x30\n\x06source\x18\x07 \x01(\x0b\x32\x18.mgmt.v1alpha1.JobSourceR\x06source\x12\x41\n\x0c\x64\x65stinations\x18\x08 \x03(\x0b\x32\x1d.mgmt.v1alpha1.JobDestinationR\x0c\x64\x65stinations\x12\x35\n\x08mappings\x18\t \x03(\x0b\x32\x19.mgmt.v1alpha1.JobMappingR\x08mappings\x12(\n\rcron_schedule\x18\n \x01(\tH\x00R\x0c\x63ronSchedule\x88\x01\x01\x12\x1d\n\naccount_id\x18\x0b \x01(\tR\taccountId\x12\x41\n\x0csync_options\x18\x0c \x01(\x0b\x32\x1e.mgmt.v1alpha1.ActivityOptionsR\x0bsyncOptions\x12I\n\x10workflow_options\x18\r \x01(\x0b\x32\x1e.mgmt.v1alpha1.WorkflowOptionsR\x0fworkflowOptions\x12Y\n\x14virtual_foreign_keys\x18\x0e \x03(\x0b\x32\'.mgmt.v1alpha1.VirtualForeignConstraintR\x12virtualForeignKeysB\x10\n\x0e_cron_schedule\"g\n\x0cJobRecentRun\x12\x39\n\nstart_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tstartTime\x12\x1c\n\njob_run_id\x18\x02 \x01(\tR\x08jobRunId\":\n\x17GetJobRecentRunsRequest\x12\x1f\n\x06job_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x05jobId\"X\n\x18GetJobRecentRunsResponse\x12<\n\x0brecent_runs\x18\x01 \x03(\x0b\x32\x1b.mgmt.v1alpha1.JobRecentRunR\nrecentRuns\"O\n\x0bJobNextRuns\x12@\n\x0enext_run_times\x18\x01 \x03(\x0b\x32\x1a.google.protobuf.TimestampR\x0cnextRunTimes\"8\n\x15GetJobNextRunsRequest\x12\x1f\n\x06job_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x05jobId\"Q\n\x16GetJobNextRunsResponse\x12\x37\n\tnext_runs\x18\x01 \x01(\x0b\x32\x1a.mgmt.v1alpha1.JobNextRunsR\x08nextRuns\"6\n\x13GetJobStatusRequest\x12\x1f\n\x06job_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x05jobId\"H\n\x14GetJobStatusResponse\x12\x30\n\x06status\x18\x01 \x01(\x0e\x32\x18.mgmt.v1alpha1.JobStatusR\x06status\"d\n\x0fJobStatusRecord\x12\x1f\n\x06job_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x05jobId\x12\x30\n\x06status\x18\x02 \x01(\x0e\x32\x18.mgmt.v1alpha1.JobStatusR\x06status\"@\n\x15GetJobStatusesRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"T\n\x16GetJobStatusesResponse\x12:\n\x08statuses\x18\x01 \x03(\x0b\x32\x1e.mgmt.v1alpha1.JobStatusRecordR\x08statuses\"+\n\x0f\x41\x63tivityFailure\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message\"\xc6\x01\n\x0fPendingActivity\x12\x35\n\x06status\x18\x01 \x01(\x0e\x32\x1d.mgmt.v1alpha1.ActivityStatusR\x06status\x12#\n\ractivity_name\x18\x02 \x01(\tR\x0c\x61\x63tivityName\x12\x46\n\x0clast_failure\x18\x03 \x01(\x0b\x32\x1e.mgmt.v1alpha1.ActivityFailureH\x00R\x0blastFailure\x88\x01\x01\x42\x0f\n\r_last_failure\"\xdd\x02\n\x06JobRun\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x15\n\x06job_id\x18\x02 \x01(\tR\x05jobId\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12\x33\n\x06status\x18\x04 \x01(\x0e\x32\x1b.mgmt.v1alpha1.JobRunStatusR\x06status\x12\x39\n\nstarted_at\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tstartedAt\x12\x42\n\x0c\x63ompleted_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00R\x0b\x63ompletedAt\x88\x01\x01\x12M\n\x12pending_activities\x18\x08 \x03(\x0b\x32\x1e.mgmt.v1alpha1.PendingActivityR\x11pendingActivitiesB\x0f\n\r_completed_atJ\x04\x08\x05\x10\x06\"Q\n\x14JobRunEventTaskError\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message\x12\x1f\n\x0bretry_state\x18\x02 \x01(\tR\nretryState\"\xab\x01\n\x0fJobRunEventTask\x12\x0e\n\x02id\x18\x01 \x01(\x03R\x02id\x12\x12\n\x04type\x18\x02 \x01(\tR\x04type\x12\x39\n\nevent_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\teventTime\x12\x39\n\x05\x65rror\x18\x04 \x01(\x0b\x32#.mgmt.v1alpha1.JobRunEventTaskErrorR\x05\x65rror\"B\n\x12JobRunSyncMetadata\x12\x16\n\x06schema\x18\x01 \x01(\tR\x06schema\x12\x14\n\x05table\x18\x02 \x01(\tR\x05table\"r\n\x13JobRunEventMetadata\x12H\n\rsync_metadata\x18\x01 \x01(\x0b\x32!.mgmt.v1alpha1.JobRunSyncMetadataH\x00R\x0csyncMetadataB\x11\n\x08metadata\x12\x05\xbaH\x02\x08\x01\"\x9d\x02\n\x0bJobRunEvent\x12\x0e\n\x02id\x18\x01 \x01(\x03R\x02id\x12\x12\n\x04type\x18\x02 \x01(\tR\x04type\x12\x39\n\nstart_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tstartTime\x12\x39\n\nclose_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcloseTime\x12>\n\x08metadata\x18\x05 \x01(\x0b\x32\".mgmt.v1alpha1.JobRunEventMetadataR\x08metadata\x12\x34\n\x05tasks\x18\x06 \x03(\x0b\x32\x1e.mgmt.v1alpha1.JobRunEventTaskR\x05tasks\"_\n\x16GetJobRunEventsRequest\x12\x1c\n\njob_run_id\x18\x01 \x01(\tR\x08jobRunId\x12\'\n\naccount_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"u\n\x17GetJobRunEventsResponse\x12\x32\n\x06\x65vents\x18\x01 \x03(\x0b\x32\x1a.mgmt.v1alpha1.JobRunEventR\x06\x65vents\x12&\n\x0fis_run_complete\x18\x02 \x01(\x08R\risRunComplete\"\\\n\x13\x44\x65leteJobRunRequest\x12\x1c\n\njob_run_id\x18\x01 \x01(\tR\x08jobRunId\x12\'\n\naccount_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"\x16\n\x14\x44\x65leteJobRunResponse\"_\n\x16TerminateJobRunRequest\x12\x1c\n\njob_run_id\x18\x01 \x01(\tR\x08jobRunId\x12\'\n\naccount_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"\x19\n\x17TerminateJobRunResponse\"\xb2\x02\n\x1aGetJobRunLogsStreamRequest\x12\x1c\n\njob_run_id\x18\x01 \x01(\tR\x08jobRunId\x12\'\n\naccount_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12\x30\n\x06window\x18\x03 \x01(\x0e\x32\x18.mgmt.v1alpha1.LogWindowR\x06window\x12\x1f\n\x0bshould_tail\x18\x04 \x01(\x08R\nshouldTail\x12\x30\n\rmax_log_lines\x18\x05 \x01(\x03\x42\x07\xbaH\x04\"\x02(\x01H\x00R\x0bmaxLogLines\x88\x01\x01\x12\x36\n\nlog_levels\x18\x06 \x03(\x0e\x32\x17.mgmt.v1alpha1.LogLevelR\tlogLevelsB\x10\n\x0e_max_log_lines\"\x85\x01\n\x1bGetJobRunLogsStreamResponse\x12\x19\n\x08log_line\x18\x01 \x01(\tR\x07logLine\x12=\n\ttimestamp\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00R\ttimestamp\x88\x01\x01\x42\x0c\n\n_timestamp\"\x83\x01\n\x1cSetJobWorkflowOptionsRequest\x12\x18\n\x02id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x02id\x12I\n\x10worfklow_options\x18\x02 \x01(\x0b\x32\x1e.mgmt.v1alpha1.WorkflowOptionsR\x0fworfklowOptions\"E\n\x1dSetJobWorkflowOptionsResponse\x12$\n\x03job\x18\x01 \x01(\x0b\x32\x12.mgmt.v1alpha1.JobR\x03job\"w\n\x18SetJobSyncOptionsRequest\x12\x18\n\x02id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x02id\x12\x41\n\x0csync_options\x18\x02 \x01(\x0b\x32\x1e.mgmt.v1alpha1.ActivityOptionsR\x0bsyncOptions\"A\n\x19SetJobSyncOptionsResponse\x12$\n\x03job\x18\x01 \x01(\x0b\x32\x12.mgmt.v1alpha1.JobR\x03job\"\x86\x02\n\x1aValidateJobMappingsRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12\x35\n\x08mappings\x18\x02 \x03(\x0b\x32\x19.mgmt.v1alpha1.JobMappingR\x08mappings\x12-\n\rconnection_id\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x0c\x63onnectionId\x12Y\n\x14virtual_foreign_keys\x18\x04 \x03(\x0b\x32\'.mgmt.v1alpha1.VirtualForeignConstraintR\x12virtualForeignKeys\"k\n\x0b\x43olumnError\x12\x16\n\x06schema\x18\x01 \x01(\tR\x06schema\x12\x14\n\x05table\x18\x02 \x01(\tR\x05table\x12\x16\n\x06\x63olumn\x18\x03 \x01(\tR\x06\x63olumn\x12\x16\n\x06\x65rrors\x18\x04 \x03(\tR\x06\x65rrors\"\'\n\rDatabaseError\x12\x16\n\x06\x65rrors\x18\x01 \x03(\tR\x06\x65rrors\"\xa5\x01\n\x1bValidateJobMappingsResponse\x12?\n\rcolumn_errors\x18\x01 \x03(\x0b\x32\x1a.mgmt.v1alpha1.ColumnErrorR\x0c\x63olumnErrors\x12\x45\n\x0f\x64\x61tabase_errors\x18\x02 \x01(\x0b\x32\x1c.mgmt.v1alpha1.DatabaseErrorR\x0e\x64\x61tabaseErrors\"[\n\x11VirtualForeignKey\x12\x16\n\x06schema\x18\x01 \x01(\tR\x06schema\x12\x14\n\x05table\x18\x02 \x01(\tR\x05table\x12\x18\n\x07\x63olumns\x18\x03 \x03(\tR\x07\x63olumns\"\xa5\x01\n\x18VirtualForeignConstraint\x12\x16\n\x06schema\x18\x01 \x01(\tR\x06schema\x12\x14\n\x05table\x18\x02 \x01(\tR\x05table\x12\x18\n\x07\x63olumns\x18\x03 \x03(\tR\x07\x63olumns\x12\x41\n\x0b\x66oreign_key\x18\x04 \x01(\x0b\x32 .mgmt.v1alpha1.VirtualForeignKeyR\nforeignKey\"\x88\x01\n\rRunContextKey\x12%\n\njob_run_id\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x08jobRunId\x12(\n\x0b\x65xternal_id\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\nexternalId\x12&\n\naccount_id\x18\x03 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\taccountId\"D\n\x14GetRunContextRequest\x12,\n\x02id\x18\x01 \x01(\x0b\x32\x1c.mgmt.v1alpha1.RunContextKeyR\x02id\"-\n\x15GetRunContextResponse\x12\x14\n\x05value\x18\x01 \x01(\x0cR\x05value\"Z\n\x14SetRunContextRequest\x12,\n\x02id\x18\x01 \x01(\x0b\x32\x1c.mgmt.v1alpha1.RunContextKeyR\x02id\x12\x14\n\x05value\x18\x02 \x01(\x0cR\x05value\"\x17\n\x15SetRunContextResponse\"[\n\x15SetRunContextsRequest\x12,\n\x02id\x18\x01 \x01(\x0b\x32\x1c.mgmt.v1alpha1.RunContextKeyR\x02id\x12\x14\n\x05value\x18\x02 \x01(\x0cR\x05value\"\x18\n\x16SetRunContextsResponse\"\xad\x03\n\x07JobHook\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12 \n\x0b\x64\x65scription\x18\x03 \x01(\tR\x0b\x64\x65scription\x12\x15\n\x06job_id\x18\x04 \x01(\tR\x05jobId\x12\x34\n\x06\x63onfig\x18\x05 \x01(\x0b\x32\x1c.mgmt.v1alpha1.JobHookConfigR\x06\x63onfig\x12+\n\x12\x63reated_by_user_id\x18\x06 \x01(\tR\x0f\x63reatedByUserId\x12\x39\n\ncreated_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12+\n\x12updated_by_user_id\x18\x08 \x01(\tR\x0fupdatedByUserId\x12\x39\n\nupdated_at\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tupdatedAt\x12\x18\n\x07\x65nabled\x18\n \x01(\x08R\x07\x65nabled\x12%\n\x08priority\x18\x0b \x01(\rB\t\xbaH\x06*\x04\x18\x64(\x00R\x08priority\"\xdd\x01\n\nNewJobHook\x12-\n\x04name\x18\x01 \x01(\tB\x19\xbaH\x16r\x14\x32\x12^[a-z0-9-]{3,100}$R\x04name\x12)\n\x0b\x64\x65scription\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x0b\x64\x65scription\x12\x34\n\x06\x63onfig\x18\x03 \x01(\x0b\x32\x1c.mgmt.v1alpha1.JobHookConfigR\x06\x63onfig\x12\x18\n\x07\x65nabled\x18\x04 \x01(\x08R\x07\x65nabled\x12%\n\x08priority\x18\x05 \x01(\rB\t\xbaH\x06*\x04\x18\x64(\x00R\x08priority\"\xbd\x03\n\rJobHookConfig\x12;\n\x03sql\x18\x05 \x01(\x0b\x32\'.mgmt.v1alpha1.JobHookConfig.JobSqlHookH\x00R\x03sql\x1a\xc5\x02\n\nJobSqlHook\x12\x1d\n\x05query\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x05query\x12-\n\rconnection_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x0c\x63onnectionId\x12\x46\n\x06timing\x18\x03 \x01(\x0b\x32..mgmt.v1alpha1.JobHookConfig.JobSqlHook.TimingR\x06timing\x1a\xa0\x01\n\x06Timing\x12@\n\x08pre_sync\x18\x03 \x01(\x0b\x32#.mgmt.v1alpha1.JobHookTimingPreSyncH\x00R\x07preSync\x12\x43\n\tpost_sync\x18\x04 \x01(\x0b\x32$.mgmt.v1alpha1.JobHookTimingPostSyncH\x00R\x08postSyncB\x0f\n\x06timing\x12\x05\xbaH\x02\x08\x01\x42\x0f\n\x06\x63onfig\x12\x05\xbaH\x02\x08\x01J\x04\x08\x01\x10\x02J\x04\x08\x02\x10\x03J\x04\x08\x03\x10\x04J\x04\x08\x04\x10\x05\"\x16\n\x14JobHookTimingPreSync\"\x17\n\x15JobHookTimingPostSync\"5\n\x12GetJobHooksRequest\x12\x1f\n\x06job_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x05jobId\"C\n\x13GetJobHooksResponse\x12,\n\x05hooks\x18\x01 \x03(\x0b\x32\x16.mgmt.v1alpha1.JobHookR\x05hooks\"-\n\x11GetJobHookRequest\x12\x18\n\x02id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x02id\"@\n\x12GetJobHookResponse\x12*\n\x04hook\x18\x01 \x01(\x0b\x32\x16.mgmt.v1alpha1.JobHookR\x04hook\"\\\n\x14\x43reateJobHookRequest\x12\x15\n\x06job_id\x18\x01 \x01(\tR\x05jobId\x12-\n\x04hook\x18\x02 \x01(\x0b\x32\x19.mgmt.v1alpha1.NewJobHookR\x04hook\"C\n\x15\x43reateJobHookResponse\x12*\n\x04hook\x18\x01 \x01(\x0b\x32\x16.mgmt.v1alpha1.JobHookR\x04hook\"0\n\x14\x44\x65leteJobHookRequest\x12\x18\n\x02id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x02id\"\x17\n\x15\x44\x65leteJobHookResponse\"J\n\x1dIsJobHookNameAvailableRequest\x12\x15\n\x06job_id\x18\x01 \x01(\tR\x05jobId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\"C\n\x1eIsJobHookNameAvailableResponse\x12!\n\x0cis_available\x18\x01 \x01(\x08R\x0bisAvailable\"\x81\x02\n\x14UpdateJobHookRequest\x12\x18\n\x02id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x02id\x12-\n\x04name\x18\x02 \x01(\tB\x19\xbaH\x16r\x14\x32\x12^[a-z0-9-]{3,100}$R\x04name\x12)\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x0b\x64\x65scription\x12\x34\n\x06\x63onfig\x18\x04 \x01(\x0b\x32\x1c.mgmt.v1alpha1.JobHookConfigR\x06\x63onfig\x12\x18\n\x07\x65nabled\x18\x05 \x01(\x08R\x07\x65nabled\x12%\n\x08priority\x18\x06 \x01(\rB\t\xbaH\x06*\x04\x18\x64(\x00R\x08priority\"C\n\x15UpdateJobHookResponse\x12*\n\x04hook\x18\x01 \x01(\x0b\x32\x16.mgmt.v1alpha1.JobHookR\x04hook\"N\n\x18SetJobHookEnabledRequest\x12\x18\n\x02id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x02id\x12\x18\n\x07\x65nabled\x18\x02 \x01(\x08R\x07\x65nabled\"G\n\x19SetJobHookEnabledResponse\x12*\n\x04hook\x18\x01 \x01(\x0b\x32\x16.mgmt.v1alpha1.JobHookR\x04hook\"\xde\x01\n GetActiveJobHooksByTimingRequest\x12\x1f\n\x06job_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x05jobId\x12N\n\x06timing\x18\x02 \x01(\x0e\x32\x36.mgmt.v1alpha1.GetActiveJobHooksByTimingRequest.TimingR\x06timing\"I\n\x06Timing\x12\x16\n\x12TIMING_UNSPECIFIED\x10\x00\x12\x12\n\x0eTIMING_PRESYNC\x10\x01\x12\x13\n\x0fTIMING_POSTSYNC\x10\x02\"Q\n!GetActiveJobHooksByTimingResponse\x12,\n\x05hooks\x18\x01 \x03(\x0b\x32\x16.mgmt.v1alpha1.JobHookR\x05hooks*o\n\tJobStatus\x12\x1a\n\x16JOB_STATUS_UNSPECIFIED\x10\x00\x12\x16\n\x12JOB_STATUS_ENABLED\x10\x01\x12\x15\n\x11JOB_STATUS_PAUSED\x10\x03\x12\x17\n\x13JOB_STATUS_DISABLED\x10\x04*\xa7\x01\n\x0e\x41\x63tivityStatus\x12\x1f\n\x1b\x41\x43TIVITY_STATUS_UNSPECIFIED\x10\x00\x12\x1d\n\x19\x41\x43TIVITY_STATUS_SCHEDULED\x10\x01\x12\x1b\n\x17\x41\x43TIVITY_STATUS_STARTED\x10\x02\x12\x1c\n\x18\x41\x43TIVITY_STATUS_CANCELED\x10\x03\x12\x1a\n\x16\x41\x43TIVITY_STATUS_FAILED\x10\x04*\x92\x02\n\x0cJobRunStatus\x12\x1e\n\x1aJOB_RUN_STATUS_UNSPECIFIED\x10\x00\x12\x1a\n\x16JOB_RUN_STATUS_PENDING\x10\x01\x12\x1a\n\x16JOB_RUN_STATUS_RUNNING\x10\x02\x12\x1b\n\x17JOB_RUN_STATUS_COMPLETE\x10\x03\x12\x18\n\x14JOB_RUN_STATUS_ERROR\x10\x04\x12\x1b\n\x17JOB_RUN_STATUS_CANCELED\x10\x05\x12\x1d\n\x19JOB_RUN_STATUS_TERMINATED\x10\x06\x12\x19\n\x15JOB_RUN_STATUS_FAILED\x10\x07\x12\x1c\n\x18JOB_RUN_STATUS_TIMED_OUT\x10\x08*|\n\tLogWindow\x12\"\n\x1eLOG_WINDOW_NO_TIME_UNSPECIFIED\x10\x00\x12\x1a\n\x16LOG_WINDOW_FIFTEEN_MIN\x10\x01\x12\x17\n\x13LOG_WINDOW_ONE_HOUR\x10\x02\x12\x16\n\x12LOG_WINDOW_ONE_DAY\x10\x03*w\n\x08LogLevel\x12\x19\n\x15LOG_LEVEL_UNSPECIFIED\x10\x00\x12\x13\n\x0fLOG_LEVEL_DEBUG\x10\x01\x12\x12\n\x0eLOG_LEVEL_INFO\x10\x02\x12\x12\n\x0eLOG_LEVEL_WARN\x10\x03\x12\x13\n\x0fLOG_LEVEL_ERROR\x10\x04\x32\xf8\x1e\n\nJobService\x12M\n\x07GetJobs\x12\x1d.mgmt.v1alpha1.GetJobsRequest\x1a\x1e.mgmt.v1alpha1.GetJobsResponse\"\x03\x90\x02\x01\x12J\n\x06GetJob\x12\x1c.mgmt.v1alpha1.GetJobRequest\x1a\x1d.mgmt.v1alpha1.GetJobResponse\"\x03\x90\x02\x01\x12P\n\tCreateJob\x12\x1f.mgmt.v1alpha1.CreateJobRequest\x1a .mgmt.v1alpha1.CreateJobResponse\"\x00\x12P\n\tDeleteJob\x12\x1f.mgmt.v1alpha1.DeleteJobRequest\x1a .mgmt.v1alpha1.DeleteJobResponse\"\x00\x12n\n\x12IsJobNameAvailable\x12(.mgmt.v1alpha1.IsJobNameAvailableRequest\x1a).mgmt.v1alpha1.IsJobNameAvailableResponse\"\x03\x90\x02\x01\x12h\n\x11UpdateJobSchedule\x12\'.mgmt.v1alpha1.UpdateJobScheduleRequest\x1a(.mgmt.v1alpha1.UpdateJobScheduleResponse\"\x00\x12\x80\x01\n\x19UpdateJobSourceConnection\x12/.mgmt.v1alpha1.UpdateJobSourceConnectionRequest\x1a\x30.mgmt.v1alpha1.UpdateJobSourceConnectionResponse\"\x00\x12\x95\x01\n SetJobSourceSqlConnectionSubsets\x12\x36.mgmt.v1alpha1.SetJobSourceSqlConnectionSubsetsRequest\x1a\x37.mgmt.v1alpha1.SetJobSourceSqlConnectionSubsetsResponse\"\x00\x12\x8f\x01\n\x1eUpdateJobDestinationConnection\x12\x34.mgmt.v1alpha1.UpdateJobDestinationConnectionRequest\x1a\x35.mgmt.v1alpha1.UpdateJobDestinationConnectionResponse\"\x00\x12\x8f\x01\n\x1e\x44\x65leteJobDestinationConnection\x12\x34.mgmt.v1alpha1.DeleteJobDestinationConnectionRequest\x1a\x35.mgmt.v1alpha1.DeleteJobDestinationConnectionResponse\"\x00\x12\x92\x01\n\x1f\x43reateJobDestinationConnections\x12\x35.mgmt.v1alpha1.CreateJobDestinationConnectionsRequest\x1a\x36.mgmt.v1alpha1.CreateJobDestinationConnectionsResponse\"\x00\x12M\n\x08PauseJob\x12\x1e.mgmt.v1alpha1.PauseJobRequest\x1a\x1f.mgmt.v1alpha1.PauseJobResponse\"\x00\x12h\n\x10GetJobRecentRuns\x12&.mgmt.v1alpha1.GetJobRecentRunsRequest\x1a\'.mgmt.v1alpha1.GetJobRecentRunsResponse\"\x03\x90\x02\x01\x12\x62\n\x0eGetJobNextRuns\x12$.mgmt.v1alpha1.GetJobNextRunsRequest\x1a%.mgmt.v1alpha1.GetJobNextRunsResponse\"\x03\x90\x02\x01\x12\\\n\x0cGetJobStatus\x12\".mgmt.v1alpha1.GetJobStatusRequest\x1a#.mgmt.v1alpha1.GetJobStatusResponse\"\x03\x90\x02\x01\x12\x62\n\x0eGetJobStatuses\x12$.mgmt.v1alpha1.GetJobStatusesRequest\x1a%.mgmt.v1alpha1.GetJobStatusesResponse\"\x03\x90\x02\x01\x12V\n\nGetJobRuns\x12 .mgmt.v1alpha1.GetJobRunsRequest\x1a!.mgmt.v1alpha1.GetJobRunsResponse\"\x03\x90\x02\x01\x12\x65\n\x0fGetJobRunEvents\x12%.mgmt.v1alpha1.GetJobRunEventsRequest\x1a&.mgmt.v1alpha1.GetJobRunEventsResponse\"\x03\x90\x02\x01\x12S\n\tGetJobRun\x12\x1f.mgmt.v1alpha1.GetJobRunRequest\x1a .mgmt.v1alpha1.GetJobRunResponse\"\x03\x90\x02\x01\x12Y\n\x0c\x44\x65leteJobRun\x12\".mgmt.v1alpha1.DeleteJobRunRequest\x1a#.mgmt.v1alpha1.DeleteJobRunResponse\"\x00\x12Y\n\x0c\x43reateJobRun\x12\".mgmt.v1alpha1.CreateJobRunRequest\x1a#.mgmt.v1alpha1.CreateJobRunResponse\"\x00\x12Y\n\x0c\x43\x61ncelJobRun\x12\".mgmt.v1alpha1.CancelJobRunRequest\x1a#.mgmt.v1alpha1.CancelJobRunResponse\"\x00\x12\x62\n\x0fTerminateJobRun\x12%.mgmt.v1alpha1.TerminateJobRunRequest\x1a&.mgmt.v1alpha1.TerminateJobRunResponse\"\x00\x12p\n\x13GetJobRunLogsStream\x12).mgmt.v1alpha1.GetJobRunLogsStreamRequest\x1a*.mgmt.v1alpha1.GetJobRunLogsStreamResponse\"\x00\x30\x01\x12t\n\x15SetJobWorkflowOptions\x12+.mgmt.v1alpha1.SetJobWorkflowOptionsRequest\x1a,.mgmt.v1alpha1.SetJobWorkflowOptionsResponse\"\x00\x12h\n\x11SetJobSyncOptions\x12\'.mgmt.v1alpha1.SetJobSyncOptionsRequest\x1a(.mgmt.v1alpha1.SetJobSyncOptionsResponse\"\x00\x12n\n\x13ValidateJobMappings\x12).mgmt.v1alpha1.ValidateJobMappingsRequest\x1a*.mgmt.v1alpha1.ValidateJobMappingsResponse\"\x00\x12\\\n\rGetRunContext\x12#.mgmt.v1alpha1.GetRunContextRequest\x1a$.mgmt.v1alpha1.GetRunContextResponse\"\x00\x12\\\n\rSetRunContext\x12#.mgmt.v1alpha1.SetRunContextRequest\x1a$.mgmt.v1alpha1.SetRunContextResponse\"\x00\x12\x61\n\x0eSetRunContexts\x12$.mgmt.v1alpha1.SetRunContextsRequest\x1a%.mgmt.v1alpha1.SetRunContextsResponse\"\x00(\x01\x12Y\n\x0bGetJobHooks\x12!.mgmt.v1alpha1.GetJobHooksRequest\x1a\".mgmt.v1alpha1.GetJobHooksResponse\"\x03\x90\x02\x01\x12V\n\nGetJobHook\x12 .mgmt.v1alpha1.GetJobHookRequest\x1a!.mgmt.v1alpha1.GetJobHookResponse\"\x03\x90\x02\x01\x12\\\n\rCreateJobHook\x12#.mgmt.v1alpha1.CreateJobHookRequest\x1a$.mgmt.v1alpha1.CreateJobHookResponse\"\x00\x12\\\n\rDeleteJobHook\x12#.mgmt.v1alpha1.DeleteJobHookRequest\x1a$.mgmt.v1alpha1.DeleteJobHookResponse\"\x00\x12w\n\x16IsJobHookNameAvailable\x12,.mgmt.v1alpha1.IsJobHookNameAvailableRequest\x1a-.mgmt.v1alpha1.IsJobHookNameAvailableResponse\"\x00\x12\\\n\rUpdateJobHook\x12#.mgmt.v1alpha1.UpdateJobHookRequest\x1a$.mgmt.v1alpha1.UpdateJobHookResponse\"\x00\x12h\n\x11SetJobHookEnabled\x12\'.mgmt.v1alpha1.SetJobHookEnabledRequest\x1a(.mgmt.v1alpha1.SetJobHookEnabledResponse\"\x00\x12\x83\x01\n\x19GetActiveJobHooksByTiming\x12/.mgmt.v1alpha1.GetActiveJobHooksByTimingRequest\x1a\x30.mgmt.v1alpha1.GetActiveJobHooksByTimingResponse\"\x03\x90\x02\x01\x42\xc4\x01\n\x11\x63om.mgmt.v1alpha1B\x08JobProtoP\x01ZPgithub.com/nucleuscloud/neosync/backend/gen/go/protos/mgmt/v1alpha1;mgmtv1alpha1\xa2\x02\x03MXX\xaa\x02\rMgmt.V1alpha1\xca\x02\rMgmt\\V1alpha1\xe2\x02\x19Mgmt\\V1alpha1\\GPBMetadata\xea\x02\x0eMgmt::V1alpha1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -43,6 +43,8 @@ _globals['_JOBSOURCEOPTIONS'].oneofs_by_name['config']._serialized_options = b'\272H\002\010\001' _globals['_CREATEJOBDESTINATION'].fields_by_name['connection_id']._loaded_options = None _globals['_CREATEJOBDESTINATION'].fields_by_name['connection_id']._serialized_options = b'\272H\005r\003\260\001\001' + _globals['_JOBDESTINATION'].fields_by_name['connection_id']._loaded_options = None + _globals['_JOBDESTINATION'].fields_by_name['connection_id']._serialized_options = b'\272H\005r\003\260\001\001' _globals['_AIGENERATESOURCEOPTIONS'].fields_by_name['ai_connection_id']._loaded_options = None _globals['_AIGENERATESOURCEOPTIONS'].fields_by_name['ai_connection_id']._serialized_options = b'\272H\005r\003\260\001\001' _globals['_AIGENERATESOURCEOPTIONS'].fields_by_name['schemas']._loaded_options = None @@ -81,10 +83,28 @@ _globals['_DYNAMODBSOURCETABLEOPTION'].fields_by_name['table']._serialized_options = b'\272H\004r\002\020\001' _globals['_POSTGRESSOURCECONNECTIONOPTIONS'].fields_by_name['connection_id']._loaded_options = None _globals['_POSTGRESSOURCECONNECTIONOPTIONS'].fields_by_name['connection_id']._serialized_options = b'\272H\005r\003\260\001\001' + _globals['_POSTGRESSOURCESCHEMAOPTION'].fields_by_name['schema']._loaded_options = None + _globals['_POSTGRESSOURCESCHEMAOPTION'].fields_by_name['schema']._serialized_options = b'\272H\004r\002\020\001' + _globals['_POSTGRESSOURCESCHEMAOPTION'].fields_by_name['tables']._loaded_options = None + _globals['_POSTGRESSOURCESCHEMAOPTION'].fields_by_name['tables']._serialized_options = b'\272H\005\222\001\002\010\001' + _globals['_POSTGRESSOURCETABLEOPTION'].fields_by_name['table']._loaded_options = None + _globals['_POSTGRESSOURCETABLEOPTION'].fields_by_name['table']._serialized_options = b'\272H\004r\002\020\001' _globals['_MYSQLSOURCECONNECTIONOPTIONS'].fields_by_name['connection_id']._loaded_options = None _globals['_MYSQLSOURCECONNECTIONOPTIONS'].fields_by_name['connection_id']._serialized_options = b'\272H\005r\003\260\001\001' + _globals['_MYSQLSOURCESCHEMAOPTION'].fields_by_name['schema']._loaded_options = None + _globals['_MYSQLSOURCESCHEMAOPTION'].fields_by_name['schema']._serialized_options = b'\272H\004r\002\020\001' + _globals['_MYSQLSOURCESCHEMAOPTION'].fields_by_name['tables']._loaded_options = None + _globals['_MYSQLSOURCESCHEMAOPTION'].fields_by_name['tables']._serialized_options = b'\272H\005\222\001\002\010\001' + _globals['_MYSQLSOURCETABLEOPTION'].fields_by_name['table']._loaded_options = None + _globals['_MYSQLSOURCETABLEOPTION'].fields_by_name['table']._serialized_options = b'\272H\004r\002\020\001' _globals['_MSSQLSOURCECONNECTIONOPTIONS'].fields_by_name['connection_id']._loaded_options = None _globals['_MSSQLSOURCECONNECTIONOPTIONS'].fields_by_name['connection_id']._serialized_options = b'\272H\005r\003\260\001\001' + _globals['_MSSQLSOURCESCHEMAOPTION'].fields_by_name['schema']._loaded_options = None + _globals['_MSSQLSOURCESCHEMAOPTION'].fields_by_name['schema']._serialized_options = b'\272H\004r\002\020\001' + _globals['_MSSQLSOURCESCHEMAOPTION'].fields_by_name['tables']._loaded_options = None + _globals['_MSSQLSOURCESCHEMAOPTION'].fields_by_name['tables']._serialized_options = b'\272H\005\222\001\002\010\001' + _globals['_MSSQLSOURCETABLEOPTION'].fields_by_name['table']._loaded_options = None + _globals['_MSSQLSOURCETABLEOPTION'].fields_by_name['table']._serialized_options = b'\272H\004r\002\020\001' _globals['_AWSS3SOURCECONNECTIONOPTIONS'].fields_by_name['connection_id']._loaded_options = None _globals['_AWSS3SOURCECONNECTIONOPTIONS'].fields_by_name['connection_id']._serialized_options = b'\272H\005r\003\260\001\001' _globals['_JOBDESTINATIONOPTIONS'].oneofs_by_name['config']._loaded_options = None @@ -111,6 +131,12 @@ _globals['_ACTIVITYOPTIONS'].fields_by_name['start_to_close_timeout']._serialized_options = b'\272H\004\"\002(\001' _globals['_RETRYPOLICY'].fields_by_name['maximum_attempts']._loaded_options = None _globals['_RETRYPOLICY'].fields_by_name['maximum_attempts']._serialized_options = b'\272H\004\032\002(\000' + _globals['_JOBMAPPING'].fields_by_name['schema']._loaded_options = None + _globals['_JOBMAPPING'].fields_by_name['schema']._serialized_options = b'\272H\004r\002\020\001' + _globals['_JOBMAPPING'].fields_by_name['table']._loaded_options = None + _globals['_JOBMAPPING'].fields_by_name['table']._serialized_options = b'\272H\004r\002\020\001' + _globals['_JOBMAPPING'].fields_by_name['column']._loaded_options = None + _globals['_JOBMAPPING'].fields_by_name['column']._serialized_options = b'\272H\004r\002\020\001' _globals['_GETJOBREQUEST'].fields_by_name['id']._loaded_options = None _globals['_GETJOBREQUEST'].fields_by_name['id']._serialized_options = b'\272H\005r\003\260\001\001' _globals['_UPDATEJOBSCHEDULEREQUEST'].fields_by_name['id']._loaded_options = None @@ -149,6 +175,12 @@ _globals['_CANCELJOBRUNREQUEST'].fields_by_name['account_id']._serialized_options = b'\272H\005r\003\260\001\001' _globals['_GETJOBRECENTRUNSREQUEST'].fields_by_name['job_id']._loaded_options = None _globals['_GETJOBRECENTRUNSREQUEST'].fields_by_name['job_id']._serialized_options = b'\272H\005r\003\260\001\001' + _globals['_GETJOBNEXTRUNSREQUEST'].fields_by_name['job_id']._loaded_options = None + _globals['_GETJOBNEXTRUNSREQUEST'].fields_by_name['job_id']._serialized_options = b'\272H\005r\003\260\001\001' + _globals['_GETJOBSTATUSREQUEST'].fields_by_name['job_id']._loaded_options = None + _globals['_GETJOBSTATUSREQUEST'].fields_by_name['job_id']._serialized_options = b'\272H\005r\003\260\001\001' + _globals['_JOBSTATUSRECORD'].fields_by_name['job_id']._loaded_options = None + _globals['_JOBSTATUSRECORD'].fields_by_name['job_id']._serialized_options = b'\272H\005r\003\260\001\001' _globals['_GETJOBSTATUSESREQUEST'].fields_by_name['account_id']._loaded_options = None _globals['_GETJOBSTATUSESREQUEST'].fields_by_name['account_id']._serialized_options = b'\272H\005r\003\260\001\001' _globals['_JOBRUNEVENTMETADATA'].oneofs_by_name['metadata']._loaded_options = None @@ -169,6 +201,8 @@ _globals['_SETJOBSYNCOPTIONSREQUEST'].fields_by_name['id']._serialized_options = b'\272H\005r\003\260\001\001' _globals['_VALIDATEJOBMAPPINGSREQUEST'].fields_by_name['account_id']._loaded_options = None _globals['_VALIDATEJOBMAPPINGSREQUEST'].fields_by_name['account_id']._serialized_options = b'\272H\005r\003\260\001\001' + _globals['_VALIDATEJOBMAPPINGSREQUEST'].fields_by_name['connection_id']._loaded_options = None + _globals['_VALIDATEJOBMAPPINGSREQUEST'].fields_by_name['connection_id']._serialized_options = b'\272H\005r\003\260\001\001' _globals['_RUNCONTEXTKEY'].fields_by_name['job_run_id']._loaded_options = None _globals['_RUNCONTEXTKEY'].fields_by_name['job_run_id']._serialized_options = b'\272H\004r\002\020\001' _globals['_RUNCONTEXTKEY'].fields_by_name['external_id']._loaded_options = None @@ -209,16 +243,42 @@ _globals['_SETJOBHOOKENABLEDREQUEST'].fields_by_name['id']._serialized_options = b'\272H\005r\003\260\001\001' _globals['_GETACTIVEJOBHOOKSBYTIMINGREQUEST'].fields_by_name['job_id']._loaded_options = None _globals['_GETACTIVEJOBHOOKSBYTIMINGREQUEST'].fields_by_name['job_id']._serialized_options = b'\272H\005r\003\260\001\001' - _globals['_JOBSTATUS']._serialized_start=22999 - _globals['_JOBSTATUS']._serialized_end=23110 - _globals['_ACTIVITYSTATUS']._serialized_start=23113 - _globals['_ACTIVITYSTATUS']._serialized_end=23280 - _globals['_JOBRUNSTATUS']._serialized_start=23283 - _globals['_JOBRUNSTATUS']._serialized_end=23557 - _globals['_LOGWINDOW']._serialized_start=23559 - _globals['_LOGWINDOW']._serialized_end=23683 - _globals['_LOGLEVEL']._serialized_start=23685 - _globals['_LOGLEVEL']._serialized_end=23804 + _globals['_JOBSERVICE'].methods_by_name['GetJobs']._loaded_options = None + _globals['_JOBSERVICE'].methods_by_name['GetJobs']._serialized_options = b'\220\002\001' + _globals['_JOBSERVICE'].methods_by_name['GetJob']._loaded_options = None + _globals['_JOBSERVICE'].methods_by_name['GetJob']._serialized_options = b'\220\002\001' + _globals['_JOBSERVICE'].methods_by_name['IsJobNameAvailable']._loaded_options = None + _globals['_JOBSERVICE'].methods_by_name['IsJobNameAvailable']._serialized_options = b'\220\002\001' + _globals['_JOBSERVICE'].methods_by_name['GetJobRecentRuns']._loaded_options = None + _globals['_JOBSERVICE'].methods_by_name['GetJobRecentRuns']._serialized_options = b'\220\002\001' + _globals['_JOBSERVICE'].methods_by_name['GetJobNextRuns']._loaded_options = None + _globals['_JOBSERVICE'].methods_by_name['GetJobNextRuns']._serialized_options = b'\220\002\001' + _globals['_JOBSERVICE'].methods_by_name['GetJobStatus']._loaded_options = None + _globals['_JOBSERVICE'].methods_by_name['GetJobStatus']._serialized_options = b'\220\002\001' + _globals['_JOBSERVICE'].methods_by_name['GetJobStatuses']._loaded_options = None + _globals['_JOBSERVICE'].methods_by_name['GetJobStatuses']._serialized_options = b'\220\002\001' + _globals['_JOBSERVICE'].methods_by_name['GetJobRuns']._loaded_options = None + _globals['_JOBSERVICE'].methods_by_name['GetJobRuns']._serialized_options = b'\220\002\001' + _globals['_JOBSERVICE'].methods_by_name['GetJobRunEvents']._loaded_options = None + _globals['_JOBSERVICE'].methods_by_name['GetJobRunEvents']._serialized_options = b'\220\002\001' + _globals['_JOBSERVICE'].methods_by_name['GetJobRun']._loaded_options = None + _globals['_JOBSERVICE'].methods_by_name['GetJobRun']._serialized_options = b'\220\002\001' + _globals['_JOBSERVICE'].methods_by_name['GetJobHooks']._loaded_options = None + _globals['_JOBSERVICE'].methods_by_name['GetJobHooks']._serialized_options = b'\220\002\001' + _globals['_JOBSERVICE'].methods_by_name['GetJobHook']._loaded_options = None + _globals['_JOBSERVICE'].methods_by_name['GetJobHook']._serialized_options = b'\220\002\001' + _globals['_JOBSERVICE'].methods_by_name['GetActiveJobHooksByTiming']._loaded_options = None + _globals['_JOBSERVICE'].methods_by_name['GetActiveJobHooksByTiming']._serialized_options = b'\220\002\001' + _globals['_JOBSTATUS']._serialized_start=23259 + _globals['_JOBSTATUS']._serialized_end=23370 + _globals['_ACTIVITYSTATUS']._serialized_start=23373 + _globals['_ACTIVITYSTATUS']._serialized_end=23540 + _globals['_JOBRUNSTATUS']._serialized_start=23543 + _globals['_JOBRUNSTATUS']._serialized_end=23817 + _globals['_LOGWINDOW']._serialized_start=23819 + _globals['_LOGWINDOW']._serialized_end=23943 + _globals['_LOGLEVEL']._serialized_start=23945 + _globals['_LOGLEVEL']._serialized_end=24064 _globals['_GETJOBSREQUEST']._serialized_start=137 _globals['_GETJOBSREQUEST']._serialized_end=194 _globals['_GETJOBSRESPONSE']._serialized_start=196 @@ -230,331 +290,331 @@ _globals['_CREATEJOBDESTINATION']._serialized_start=956 _globals['_CREATEJOBDESTINATION']._serialized_end=1089 _globals['_JOBDESTINATION']._serialized_start=1092 - _globals['_JOBDESTINATION']._serialized_end=1225 - _globals['_AIGENERATESOURCEOPTIONS']._serialized_start=1228 - _globals['_AIGENERATESOURCEOPTIONS']._serialized_end=1666 - _globals['_AIGENERATESOURCESCHEMAOPTION']._serialized_start=1669 - _globals['_AIGENERATESOURCESCHEMAOPTION']._serialized_end=1810 - _globals['_AIGENERATESOURCETABLEOPTION']._serialized_start=1812 - _globals['_AIGENERATESOURCETABLEOPTION']._serialized_end=1913 - _globals['_GENERATESOURCEOPTIONS']._serialized_start=1916 - _globals['_GENERATESOURCEOPTIONS']._serialized_end=2116 - _globals['_GENERATESOURCESCHEMAOPTION']._serialized_start=2119 - _globals['_GENERATESOURCESCHEMAOPTION']._serialized_end=2256 - _globals['_GENERATESOURCETABLEOPTION']._serialized_start=2258 - _globals['_GENERATESOURCETABLEOPTION']._serialized_end=2354 - _globals['_MONGODBSOURCECONNECTIONOPTIONS']._serialized_start=2356 - _globals['_MONGODBSOURCECONNECTIONOPTIONS']._serialized_end=2435 - _globals['_DYNAMODBSOURCECONNECTIONOPTIONS']._serialized_start=2438 - _globals['_DYNAMODBSOURCECONNECTIONOPTIONS']._serialized_end=2741 - _globals['_DYNAMODBSOURCEUNMAPPEDTRANSFORMCONFIG']._serialized_start=2744 - _globals['_DYNAMODBSOURCEUNMAPPEDTRANSFORMCONFIG']._serialized_end=3003 - _globals['_DYNAMODBSOURCETABLEOPTION']._serialized_start=3005 - _globals['_DYNAMODBSOURCETABLEOPTION']._serialized_end=3120 - _globals['_POSTGRESSOURCECONNECTIONOPTIONS']._serialized_start=3123 - _globals['_POSTGRESSOURCECONNECTIONOPTIONS']._serialized_end=4194 - _globals['_POSTGRESSOURCECONNECTIONOPTIONS_NEWCOLUMNADDITIONSTRATEGY']._serialized_start=3615 - _globals['_POSTGRESSOURCECONNECTIONOPTIONS_NEWCOLUMNADDITIONSTRATEGY']._serialized_end=3898 - _globals['_POSTGRESSOURCECONNECTIONOPTIONS_NEWCOLUMNADDITIONSTRATEGY_HALTJOB']._serialized_start=3866 - _globals['_POSTGRESSOURCECONNECTIONOPTIONS_NEWCOLUMNADDITIONSTRATEGY_HALTJOB']._serialized_end=3875 - _globals['_POSTGRESSOURCECONNECTIONOPTIONS_NEWCOLUMNADDITIONSTRATEGY_AUTOMAP']._serialized_start=3877 - _globals['_POSTGRESSOURCECONNECTIONOPTIONS_NEWCOLUMNADDITIONSTRATEGY_AUTOMAP']._serialized_end=3886 - _globals['_POSTGRESSOURCECONNECTIONOPTIONS_COLUMNREMOVALSTRATEGY']._serialized_start=3901 - _globals['_POSTGRESSOURCECONNECTIONOPTIONS_COLUMNREMOVALSTRATEGY']._serialized_end=4188 - _globals['_POSTGRESSOURCECONNECTIONOPTIONS_COLUMNREMOVALSTRATEGY_HALTJOB']._serialized_start=3866 - _globals['_POSTGRESSOURCECONNECTIONOPTIONS_COLUMNREMOVALSTRATEGY_HALTJOB']._serialized_end=3875 - _globals['_POSTGRESSOURCECONNECTIONOPTIONS_COLUMNREMOVALSTRATEGY_CONTINUEJOB']._serialized_start=4163 - _globals['_POSTGRESSOURCECONNECTIONOPTIONS_COLUMNREMOVALSTRATEGY_CONTINUEJOB']._serialized_end=4176 - _globals['_POSTGRESSOURCESCHEMAOPTION']._serialized_start=4196 - _globals['_POSTGRESSOURCESCHEMAOPTION']._serialized_end=4314 - _globals['_POSTGRESSOURCETABLEOPTION']._serialized_start=4316 - _globals['_POSTGRESSOURCETABLEOPTION']._serialized_end=4422 - _globals['_MYSQLSOURCECONNECTIONOPTIONS']._serialized_start=4425 - _globals['_MYSQLSOURCECONNECTIONOPTIONS']._serialized_end=5111 - _globals['_MYSQLSOURCECONNECTIONOPTIONS_COLUMNREMOVALSTRATEGY']._serialized_start=4830 - _globals['_MYSQLSOURCECONNECTIONOPTIONS_COLUMNREMOVALSTRATEGY']._serialized_end=5111 - _globals['_MYSQLSOURCECONNECTIONOPTIONS_COLUMNREMOVALSTRATEGY_HALTJOB']._serialized_start=3866 - _globals['_MYSQLSOURCECONNECTIONOPTIONS_COLUMNREMOVALSTRATEGY_HALTJOB']._serialized_end=3875 - _globals['_MYSQLSOURCECONNECTIONOPTIONS_COLUMNREMOVALSTRATEGY_CONTINUEJOB']._serialized_start=4163 - _globals['_MYSQLSOURCECONNECTIONOPTIONS_COLUMNREMOVALSTRATEGY_CONTINUEJOB']._serialized_end=4176 - _globals['_MYSQLSOURCESCHEMAOPTION']._serialized_start=5113 - _globals['_MYSQLSOURCESCHEMAOPTION']._serialized_end=5225 - _globals['_MYSQLSOURCETABLEOPTION']._serialized_start=5227 - _globals['_MYSQLSOURCETABLEOPTION']._serialized_end=5330 - _globals['_MSSQLSOURCECONNECTIONOPTIONS']._serialized_start=5333 - _globals['_MSSQLSOURCECONNECTIONOPTIONS']._serialized_end=6019 - _globals['_MSSQLSOURCECONNECTIONOPTIONS_COLUMNREMOVALSTRATEGY']._serialized_start=5738 - _globals['_MSSQLSOURCECONNECTIONOPTIONS_COLUMNREMOVALSTRATEGY']._serialized_end=6019 - _globals['_MSSQLSOURCECONNECTIONOPTIONS_COLUMNREMOVALSTRATEGY_HALTJOB']._serialized_start=3866 - _globals['_MSSQLSOURCECONNECTIONOPTIONS_COLUMNREMOVALSTRATEGY_HALTJOB']._serialized_end=3875 - _globals['_MSSQLSOURCECONNECTIONOPTIONS_COLUMNREMOVALSTRATEGY_CONTINUEJOB']._serialized_start=4163 - _globals['_MSSQLSOURCECONNECTIONOPTIONS_COLUMNREMOVALSTRATEGY_CONTINUEJOB']._serialized_end=4176 - _globals['_MSSQLSOURCESCHEMAOPTION']._serialized_start=6021 - _globals['_MSSQLSOURCESCHEMAOPTION']._serialized_end=6133 - _globals['_MSSQLSOURCETABLEOPTION']._serialized_start=6135 - _globals['_MSSQLSOURCETABLEOPTION']._serialized_end=6238 - _globals['_AWSS3SOURCECONNECTIONOPTIONS']._serialized_start=6240 - _globals['_AWSS3SOURCECONNECTIONOPTIONS']._serialized_end=6317 - _globals['_JOBDESTINATIONOPTIONS']._serialized_start=6320 - _globals['_JOBDESTINATIONOPTIONS']._serialized_end=7039 - _globals['_MONGODBDESTINATIONCONNECTIONOPTIONS']._serialized_start=7041 - _globals['_MONGODBDESTINATIONCONNECTIONOPTIONS']._serialized_end=7078 - _globals['_GCPCLOUDSTORAGEDESTINATIONCONNECTIONOPTIONS']._serialized_start=7080 - _globals['_GCPCLOUDSTORAGEDESTINATIONCONNECTIONOPTIONS']._serialized_end=7125 - _globals['_DYNAMODBDESTINATIONCONNECTIONOPTIONS']._serialized_start=7127 - _globals['_DYNAMODBDESTINATIONCONNECTIONOPTIONS']._serialized_end=7252 - _globals['_DYNAMODBDESTINATIONTABLEMAPPING']._serialized_start=7254 - _globals['_DYNAMODBDESTINATIONTABLEMAPPING']._serialized_end=7367 - _globals['_POSTGRESDESTINATIONCONNECTIONOPTIONS']._serialized_start=7370 - _globals['_POSTGRESDESTINATIONCONNECTIONOPTIONS']._serialized_end=7790 - _globals['_POSTGRESONCONFLICTCONFIG']._serialized_start=7793 - _globals['_POSTGRESONCONFLICTCONFIG']._serialized_end=8117 - _globals['_POSTGRESONCONFLICTCONFIG_POSTGRESONCONFLICTDONOTHING']._serialized_start=8041 - _globals['_POSTGRESONCONFLICTCONFIG_POSTGRESONCONFLICTDONOTHING']._serialized_end=8070 - _globals['_POSTGRESONCONFLICTCONFIG_POSTGRESONCONFLICTUPDATE']._serialized_start=8072 - _globals['_POSTGRESONCONFLICTCONFIG_POSTGRESONCONFLICTUPDATE']._serialized_end=8098 - _globals['_POSTGRESTRUNCATETABLECONFIG']._serialized_start=8119 - _globals['_POSTGRESTRUNCATETABLECONFIG']._serialized_end=8228 - _globals['_MYSQLDESTINATIONCONNECTIONOPTIONS']._serialized_start=8231 - _globals['_MYSQLDESTINATIONCONNECTIONOPTIONS']._serialized_end=8642 - _globals['_MYSQLTRUNCATETABLECONFIG']._serialized_start=8644 - _globals['_MYSQLTRUNCATETABLECONFIG']._serialized_end=8724 - _globals['_MYSQLONCONFLICTCONFIG']._serialized_start=8727 - _globals['_MYSQLONCONFLICTCONFIG']._serialized_end=9030 - _globals['_MYSQLONCONFLICTCONFIG_MYSQLONCONFLICTDONOTHING']._serialized_start=8960 - _globals['_MYSQLONCONFLICTCONFIG_MYSQLONCONFLICTDONOTHING']._serialized_end=8986 - _globals['_MYSQLONCONFLICTCONFIG_MYSQLONCONFLICTUPDATE']._serialized_start=8988 - _globals['_MYSQLONCONFLICTCONFIG_MYSQLONCONFLICTUPDATE']._serialized_end=9011 - _globals['_MSSQLDESTINATIONCONNECTIONOPTIONS']._serialized_start=9033 - _globals['_MSSQLDESTINATIONCONNECTIONOPTIONS']._serialized_end=9444 - _globals['_MSSQLTRUNCATETABLECONFIG']._serialized_start=9446 - _globals['_MSSQLTRUNCATETABLECONFIG']._serialized_end=9526 - _globals['_MSSQLONCONFLICTCONFIG']._serialized_start=9528 - _globals['_MSSQLONCONFLICTCONFIG']._serialized_end=9582 - _globals['_AWSS3DESTINATIONCONNECTIONOPTIONS']._serialized_start=9585 - _globals['_AWSS3DESTINATIONCONNECTIONOPTIONS']._serialized_end=10154 - _globals['_AWSS3DESTINATIONCONNECTIONOPTIONS_STORAGECLASS']._serialized_start=9854 - _globals['_AWSS3DESTINATIONCONNECTIONOPTIONS_STORAGECLASS']._serialized_end=10124 - _globals['_BATCHCONFIG']._serialized_start=10156 - _globals['_BATCHCONFIG']._serialized_end=10246 - _globals['_CREATEJOBREQUEST']._serialized_start=10249 - _globals['_CREATEJOBREQUEST']._serialized_end=10875 - _globals['_WORKFLOWOPTIONS']._serialized_start=10877 - _globals['_WORKFLOWOPTIONS']._serialized_end=10948 - _globals['_ACTIVITYOPTIONS']._serialized_start=10951 - _globals['_ACTIVITYOPTIONS']._serialized_end=11228 - _globals['_RETRYPOLICY']._serialized_start=11230 - _globals['_RETRYPOLICY']._serialized_end=11321 - _globals['_CREATEJOBRESPONSE']._serialized_start=11323 - _globals['_CREATEJOBRESPONSE']._serialized_end=11380 - _globals['_JOBMAPPINGTRANSFORMER']._serialized_start=11382 - _globals['_JOBMAPPINGTRANSFORMER']._serialized_end=11469 - _globals['_JOBMAPPING']._serialized_start=11472 - _globals['_JOBMAPPING']._serialized_end=11626 - _globals['_GETJOBREQUEST']._serialized_start=11628 - _globals['_GETJOBREQUEST']._serialized_end=11669 - _globals['_GETJOBRESPONSE']._serialized_start=11671 - _globals['_GETJOBRESPONSE']._serialized_end=11725 - _globals['_UPDATEJOBSCHEDULEREQUEST']._serialized_start=11727 - _globals['_UPDATEJOBSCHEDULEREQUEST']._serialized_end=11839 - _globals['_UPDATEJOBSCHEDULERESPONSE']._serialized_start=11841 - _globals['_UPDATEJOBSCHEDULERESPONSE']._serialized_end=11906 - _globals['_PAUSEJOBREQUEST']._serialized_start=11908 - _globals['_PAUSEJOBREQUEST']._serialized_end=12007 - _globals['_PAUSEJOBRESPONSE']._serialized_start=12009 - _globals['_PAUSEJOBRESPONSE']._serialized_end=12065 - _globals['_UPDATEJOBSOURCECONNECTIONREQUEST']._serialized_start=12068 - _globals['_UPDATEJOBSOURCECONNECTIONREQUEST']._serialized_end=12324 - _globals['_UPDATEJOBSOURCECONNECTIONRESPONSE']._serialized_start=12326 - _globals['_UPDATEJOBSOURCECONNECTIONRESPONSE']._serialized_end=12399 - _globals['_POSTGRESSOURCESCHEMASUBSET']._serialized_start=12401 - _globals['_POSTGRESSOURCESCHEMASUBSET']._serialized_end=12515 - _globals['_MYSQLSOURCESCHEMASUBSET']._serialized_start=12517 - _globals['_MYSQLSOURCESCHEMASUBSET']._serialized_end=12619 - _globals['_DYNAMODBSOURCESCHEMASUBSET']._serialized_start=12621 - _globals['_DYNAMODBSOURCESCHEMASUBSET']._serialized_end=12715 - _globals['_MSSQLSOURCESCHEMASUBSET']._serialized_start=12717 - _globals['_MSSQLSOURCESCHEMASUBSET']._serialized_end=12819 - _globals['_JOBSOURCESQLSUBETSCHEMAS']._serialized_start=12822 - _globals['_JOBSOURCESQLSUBETSCHEMAS']._serialized_end=13192 - _globals['_SETJOBSOURCESQLCONNECTIONSUBSETSREQUEST']._serialized_start=13195 - _globals['_SETJOBSOURCESQLCONNECTIONSUBSETSREQUEST']._serialized_end=13403 - _globals['_SETJOBSOURCESQLCONNECTIONSUBSETSRESPONSE']._serialized_start=13405 - _globals['_SETJOBSOURCESQLCONNECTIONSUBSETSRESPONSE']._serialized_end=13485 - _globals['_UPDATEJOBDESTINATIONCONNECTIONREQUEST']._serialized_start=13488 - _globals['_UPDATEJOBDESTINATIONCONNECTIONREQUEST']._serialized_end=13710 - _globals['_UPDATEJOBDESTINATIONCONNECTIONRESPONSE']._serialized_start=13712 - _globals['_UPDATEJOBDESTINATIONCONNECTIONRESPONSE']._serialized_end=13790 - _globals['_DELETEJOBDESTINATIONCONNECTIONREQUEST']._serialized_start=13792 - _globals['_DELETEJOBDESTINATIONCONNECTIONREQUEST']._serialized_end=13880 - _globals['_DELETEJOBDESTINATIONCONNECTIONRESPONSE']._serialized_start=13882 - _globals['_DELETEJOBDESTINATIONCONNECTIONRESPONSE']._serialized_end=13922 - _globals['_CREATEJOBDESTINATIONCONNECTIONSREQUEST']._serialized_start=13925 - _globals['_CREATEJOBDESTINATIONCONNECTIONSREQUEST']._serialized_end=14071 - _globals['_CREATEJOBDESTINATIONCONNECTIONSRESPONSE']._serialized_start=14073 - _globals['_CREATEJOBDESTINATIONCONNECTIONSRESPONSE']._serialized_end=14152 - _globals['_DELETEJOBREQUEST']._serialized_start=14154 - _globals['_DELETEJOBREQUEST']._serialized_end=14198 - _globals['_DELETEJOBRESPONSE']._serialized_start=14200 - _globals['_DELETEJOBRESPONSE']._serialized_end=14219 - _globals['_ISJOBNAMEAVAILABLEREQUEST']._serialized_start=14221 - _globals['_ISJOBNAMEAVAILABLEREQUEST']._serialized_end=14336 - _globals['_ISJOBNAMEAVAILABLERESPONSE']._serialized_start=14338 - _globals['_ISJOBNAMEAVAILABLERESPONSE']._serialized_end=14401 - _globals['_GETJOBRUNSREQUEST']._serialized_start=14403 - _globals['_GETJOBRUNSREQUEST']._serialized_end=14506 - _globals['_GETJOBRUNSRESPONSE']._serialized_start=14508 - _globals['_GETJOBRUNSRESPONSE']._serialized_end=14578 - _globals['_GETJOBRUNREQUEST']._serialized_start=14580 - _globals['_GETJOBRUNREQUEST']._serialized_end=14669 - _globals['_GETJOBRUNRESPONSE']._serialized_start=14671 - _globals['_GETJOBRUNRESPONSE']._serialized_end=14738 - _globals['_CREATEJOBRUNREQUEST']._serialized_start=14740 - _globals['_CREATEJOBRUNREQUEST']._serialized_end=14794 - _globals['_CREATEJOBRUNRESPONSE']._serialized_start=14796 - _globals['_CREATEJOBRUNRESPONSE']._serialized_end=14818 - _globals['_CANCELJOBRUNREQUEST']._serialized_start=14820 - _globals['_CANCELJOBRUNREQUEST']._serialized_end=14912 - _globals['_CANCELJOBRUNRESPONSE']._serialized_start=14914 - _globals['_CANCELJOBRUNRESPONSE']._serialized_end=14936 - _globals['_JOB']._serialized_start=14939 - _globals['_JOB']._serialized_end=15684 - _globals['_JOBRECENTRUN']._serialized_start=15686 - _globals['_JOBRECENTRUN']._serialized_end=15789 - _globals['_GETJOBRECENTRUNSREQUEST']._serialized_start=15791 - _globals['_GETJOBRECENTRUNSREQUEST']._serialized_end=15849 - _globals['_GETJOBRECENTRUNSRESPONSE']._serialized_start=15851 - _globals['_GETJOBRECENTRUNSRESPONSE']._serialized_end=15939 - _globals['_JOBNEXTRUNS']._serialized_start=15941 - _globals['_JOBNEXTRUNS']._serialized_end=16020 - _globals['_GETJOBNEXTRUNSREQUEST']._serialized_start=16022 - _globals['_GETJOBNEXTRUNSREQUEST']._serialized_end=16068 - _globals['_GETJOBNEXTRUNSRESPONSE']._serialized_start=16070 - _globals['_GETJOBNEXTRUNSRESPONSE']._serialized_end=16151 - _globals['_GETJOBSTATUSREQUEST']._serialized_start=16153 - _globals['_GETJOBSTATUSREQUEST']._serialized_end=16197 - _globals['_GETJOBSTATUSRESPONSE']._serialized_start=16199 - _globals['_GETJOBSTATUSRESPONSE']._serialized_end=16271 - _globals['_JOBSTATUSRECORD']._serialized_start=16273 - _globals['_JOBSTATUSRECORD']._serialized_end=16363 - _globals['_GETJOBSTATUSESREQUEST']._serialized_start=16365 - _globals['_GETJOBSTATUSESREQUEST']._serialized_end=16429 - _globals['_GETJOBSTATUSESRESPONSE']._serialized_start=16431 - _globals['_GETJOBSTATUSESRESPONSE']._serialized_end=16515 - _globals['_ACTIVITYFAILURE']._serialized_start=16517 - _globals['_ACTIVITYFAILURE']._serialized_end=16560 - _globals['_PENDINGACTIVITY']._serialized_start=16563 - _globals['_PENDINGACTIVITY']._serialized_end=16761 - _globals['_JOBRUN']._serialized_start=16764 - _globals['_JOBRUN']._serialized_end=17107 - _globals['_JOBRUNEVENTTASKERROR']._serialized_start=17109 - _globals['_JOBRUNEVENTTASKERROR']._serialized_end=17190 - _globals['_JOBRUNEVENTTASK']._serialized_start=17193 - _globals['_JOBRUNEVENTTASK']._serialized_end=17364 - _globals['_JOBRUNSYNCMETADATA']._serialized_start=17366 - _globals['_JOBRUNSYNCMETADATA']._serialized_end=17432 - _globals['_JOBRUNEVENTMETADATA']._serialized_start=17434 - _globals['_JOBRUNEVENTMETADATA']._serialized_end=17548 - _globals['_JOBRUNEVENT']._serialized_start=17551 - _globals['_JOBRUNEVENT']._serialized_end=17836 - _globals['_GETJOBRUNEVENTSREQUEST']._serialized_start=17838 - _globals['_GETJOBRUNEVENTSREQUEST']._serialized_end=17933 - _globals['_GETJOBRUNEVENTSRESPONSE']._serialized_start=17935 - _globals['_GETJOBRUNEVENTSRESPONSE']._serialized_end=18052 - _globals['_DELETEJOBRUNREQUEST']._serialized_start=18054 - _globals['_DELETEJOBRUNREQUEST']._serialized_end=18146 - _globals['_DELETEJOBRUNRESPONSE']._serialized_start=18148 - _globals['_DELETEJOBRUNRESPONSE']._serialized_end=18170 - _globals['_TERMINATEJOBRUNREQUEST']._serialized_start=18172 - _globals['_TERMINATEJOBRUNREQUEST']._serialized_end=18267 - _globals['_TERMINATEJOBRUNRESPONSE']._serialized_start=18269 - _globals['_TERMINATEJOBRUNRESPONSE']._serialized_end=18294 - _globals['_GETJOBRUNLOGSSTREAMREQUEST']._serialized_start=18297 - _globals['_GETJOBRUNLOGSSTREAMREQUEST']._serialized_end=18603 - _globals['_GETJOBRUNLOGSSTREAMRESPONSE']._serialized_start=18606 - _globals['_GETJOBRUNLOGSSTREAMRESPONSE']._serialized_end=18739 - _globals['_SETJOBWORKFLOWOPTIONSREQUEST']._serialized_start=18742 - _globals['_SETJOBWORKFLOWOPTIONSREQUEST']._serialized_end=18873 - _globals['_SETJOBWORKFLOWOPTIONSRESPONSE']._serialized_start=18875 - _globals['_SETJOBWORKFLOWOPTIONSRESPONSE']._serialized_end=18944 - _globals['_SETJOBSYNCOPTIONSREQUEST']._serialized_start=18946 - _globals['_SETJOBSYNCOPTIONSREQUEST']._serialized_end=19065 - _globals['_SETJOBSYNCOPTIONSRESPONSE']._serialized_start=19067 - _globals['_SETJOBSYNCOPTIONSRESPONSE']._serialized_end=19132 - _globals['_VALIDATEJOBMAPPINGSREQUEST']._serialized_start=19135 - _globals['_VALIDATEJOBMAPPINGSREQUEST']._serialized_end=19387 - _globals['_COLUMNERROR']._serialized_start=19389 - _globals['_COLUMNERROR']._serialized_end=19496 - _globals['_DATABASEERROR']._serialized_start=19498 - _globals['_DATABASEERROR']._serialized_end=19537 - _globals['_VALIDATEJOBMAPPINGSRESPONSE']._serialized_start=19540 - _globals['_VALIDATEJOBMAPPINGSRESPONSE']._serialized_end=19705 - _globals['_VIRTUALFOREIGNKEY']._serialized_start=19707 - _globals['_VIRTUALFOREIGNKEY']._serialized_end=19798 - _globals['_VIRTUALFOREIGNCONSTRAINT']._serialized_start=19801 - _globals['_VIRTUALFOREIGNCONSTRAINT']._serialized_end=19966 - _globals['_RUNCONTEXTKEY']._serialized_start=19969 - _globals['_RUNCONTEXTKEY']._serialized_end=20105 - _globals['_GETRUNCONTEXTREQUEST']._serialized_start=20107 - _globals['_GETRUNCONTEXTREQUEST']._serialized_end=20175 - _globals['_GETRUNCONTEXTRESPONSE']._serialized_start=20177 - _globals['_GETRUNCONTEXTRESPONSE']._serialized_end=20222 - _globals['_SETRUNCONTEXTREQUEST']._serialized_start=20224 - _globals['_SETRUNCONTEXTREQUEST']._serialized_end=20314 - _globals['_SETRUNCONTEXTRESPONSE']._serialized_start=20316 - _globals['_SETRUNCONTEXTRESPONSE']._serialized_end=20339 - _globals['_SETRUNCONTEXTSREQUEST']._serialized_start=20341 - _globals['_SETRUNCONTEXTSREQUEST']._serialized_end=20432 - _globals['_SETRUNCONTEXTSRESPONSE']._serialized_start=20434 - _globals['_SETRUNCONTEXTSRESPONSE']._serialized_end=20458 - _globals['_JOBHOOK']._serialized_start=20461 - _globals['_JOBHOOK']._serialized_end=20890 - _globals['_NEWJOBHOOK']._serialized_start=20893 - _globals['_NEWJOBHOOK']._serialized_end=21114 - _globals['_JOBHOOKCONFIG']._serialized_start=21117 - _globals['_JOBHOOKCONFIG']._serialized_end=21538 - _globals['_JOBHOOKCONFIG_JOBSQLHOOK']._serialized_start=21196 - _globals['_JOBHOOKCONFIG_JOBSQLHOOK']._serialized_end=21521 - _globals['_JOBHOOKCONFIG_JOBSQLHOOK_TIMING']._serialized_start=21361 - _globals['_JOBHOOKCONFIG_JOBSQLHOOK_TIMING']._serialized_end=21521 - _globals['_JOBHOOKTIMINGPRESYNC']._serialized_start=21540 - _globals['_JOBHOOKTIMINGPRESYNC']._serialized_end=21562 - _globals['_JOBHOOKTIMINGPOSTSYNC']._serialized_start=21564 - _globals['_JOBHOOKTIMINGPOSTSYNC']._serialized_end=21587 - _globals['_GETJOBHOOKSREQUEST']._serialized_start=21589 - _globals['_GETJOBHOOKSREQUEST']._serialized_end=21642 - _globals['_GETJOBHOOKSRESPONSE']._serialized_start=21644 - _globals['_GETJOBHOOKSRESPONSE']._serialized_end=21711 - _globals['_GETJOBHOOKREQUEST']._serialized_start=21713 - _globals['_GETJOBHOOKREQUEST']._serialized_end=21758 - _globals['_GETJOBHOOKRESPONSE']._serialized_start=21760 - _globals['_GETJOBHOOKRESPONSE']._serialized_end=21824 - _globals['_CREATEJOBHOOKREQUEST']._serialized_start=21826 - _globals['_CREATEJOBHOOKREQUEST']._serialized_end=21918 - _globals['_CREATEJOBHOOKRESPONSE']._serialized_start=21920 - _globals['_CREATEJOBHOOKRESPONSE']._serialized_end=21987 - _globals['_DELETEJOBHOOKREQUEST']._serialized_start=21989 - _globals['_DELETEJOBHOOKREQUEST']._serialized_end=22037 - _globals['_DELETEJOBHOOKRESPONSE']._serialized_start=22039 - _globals['_DELETEJOBHOOKRESPONSE']._serialized_end=22062 - _globals['_ISJOBHOOKNAMEAVAILABLEREQUEST']._serialized_start=22064 - _globals['_ISJOBHOOKNAMEAVAILABLEREQUEST']._serialized_end=22138 - _globals['_ISJOBHOOKNAMEAVAILABLERESPONSE']._serialized_start=22140 - _globals['_ISJOBHOOKNAMEAVAILABLERESPONSE']._serialized_end=22207 - _globals['_UPDATEJOBHOOKREQUEST']._serialized_start=22210 - _globals['_UPDATEJOBHOOKREQUEST']._serialized_end=22467 - _globals['_UPDATEJOBHOOKRESPONSE']._serialized_start=22469 - _globals['_UPDATEJOBHOOKRESPONSE']._serialized_end=22536 - _globals['_SETJOBHOOKENABLEDREQUEST']._serialized_start=22538 - _globals['_SETJOBHOOKENABLEDREQUEST']._serialized_end=22616 - _globals['_SETJOBHOOKENABLEDRESPONSE']._serialized_start=22618 - _globals['_SETJOBHOOKENABLEDRESPONSE']._serialized_end=22689 - _globals['_GETACTIVEJOBHOOKSBYTIMINGREQUEST']._serialized_start=22692 - _globals['_GETACTIVEJOBHOOKSBYTIMINGREQUEST']._serialized_end=22914 - _globals['_GETACTIVEJOBHOOKSBYTIMINGREQUEST_TIMING']._serialized_start=22841 - _globals['_GETACTIVEJOBHOOKSBYTIMINGREQUEST_TIMING']._serialized_end=22914 - _globals['_GETACTIVEJOBHOOKSBYTIMINGRESPONSE']._serialized_start=22916 - _globals['_GETACTIVEJOBHOOKSBYTIMINGRESPONSE']._serialized_end=22997 - _globals['_JOBSERVICE']._serialized_start=23807 - _globals['_JOBSERVICE']._serialized_end=27728 + _globals['_JOBDESTINATION']._serialized_end=1235 + _globals['_AIGENERATESOURCEOPTIONS']._serialized_start=1238 + _globals['_AIGENERATESOURCEOPTIONS']._serialized_end=1676 + _globals['_AIGENERATESOURCESCHEMAOPTION']._serialized_start=1679 + _globals['_AIGENERATESOURCESCHEMAOPTION']._serialized_end=1820 + _globals['_AIGENERATESOURCETABLEOPTION']._serialized_start=1822 + _globals['_AIGENERATESOURCETABLEOPTION']._serialized_end=1923 + _globals['_GENERATESOURCEOPTIONS']._serialized_start=1926 + _globals['_GENERATESOURCEOPTIONS']._serialized_end=2132 + _globals['_GENERATESOURCESCHEMAOPTION']._serialized_start=2135 + _globals['_GENERATESOURCESCHEMAOPTION']._serialized_end=2272 + _globals['_GENERATESOURCETABLEOPTION']._serialized_start=2274 + _globals['_GENERATESOURCETABLEOPTION']._serialized_end=2370 + _globals['_MONGODBSOURCECONNECTIONOPTIONS']._serialized_start=2372 + _globals['_MONGODBSOURCECONNECTIONOPTIONS']._serialized_end=2451 + _globals['_DYNAMODBSOURCECONNECTIONOPTIONS']._serialized_start=2454 + _globals['_DYNAMODBSOURCECONNECTIONOPTIONS']._serialized_end=2757 + _globals['_DYNAMODBSOURCEUNMAPPEDTRANSFORMCONFIG']._serialized_start=2760 + _globals['_DYNAMODBSOURCEUNMAPPEDTRANSFORMCONFIG']._serialized_end=3031 + _globals['_DYNAMODBSOURCETABLEOPTION']._serialized_start=3033 + _globals['_DYNAMODBSOURCETABLEOPTION']._serialized_end=3148 + _globals['_POSTGRESSOURCECONNECTIONOPTIONS']._serialized_start=3151 + _globals['_POSTGRESSOURCECONNECTIONOPTIONS']._serialized_end=4222 + _globals['_POSTGRESSOURCECONNECTIONOPTIONS_NEWCOLUMNADDITIONSTRATEGY']._serialized_start=3643 + _globals['_POSTGRESSOURCECONNECTIONOPTIONS_NEWCOLUMNADDITIONSTRATEGY']._serialized_end=3926 + _globals['_POSTGRESSOURCECONNECTIONOPTIONS_NEWCOLUMNADDITIONSTRATEGY_HALTJOB']._serialized_start=3894 + _globals['_POSTGRESSOURCECONNECTIONOPTIONS_NEWCOLUMNADDITIONSTRATEGY_HALTJOB']._serialized_end=3903 + _globals['_POSTGRESSOURCECONNECTIONOPTIONS_NEWCOLUMNADDITIONSTRATEGY_AUTOMAP']._serialized_start=3905 + _globals['_POSTGRESSOURCECONNECTIONOPTIONS_NEWCOLUMNADDITIONSTRATEGY_AUTOMAP']._serialized_end=3914 + _globals['_POSTGRESSOURCECONNECTIONOPTIONS_COLUMNREMOVALSTRATEGY']._serialized_start=3929 + _globals['_POSTGRESSOURCECONNECTIONOPTIONS_COLUMNREMOVALSTRATEGY']._serialized_end=4216 + _globals['_POSTGRESSOURCECONNECTIONOPTIONS_COLUMNREMOVALSTRATEGY_HALTJOB']._serialized_start=3894 + _globals['_POSTGRESSOURCECONNECTIONOPTIONS_COLUMNREMOVALSTRATEGY_HALTJOB']._serialized_end=3903 + _globals['_POSTGRESSOURCECONNECTIONOPTIONS_COLUMNREMOVALSTRATEGY_CONTINUEJOB']._serialized_start=4191 + _globals['_POSTGRESSOURCECONNECTIONOPTIONS_COLUMNREMOVALSTRATEGY_CONTINUEJOB']._serialized_end=4204 + _globals['_POSTGRESSOURCESCHEMAOPTION']._serialized_start=4225 + _globals['_POSTGRESSOURCESCHEMAOPTION']._serialized_end=4362 + _globals['_POSTGRESSOURCETABLEOPTION']._serialized_start=4364 + _globals['_POSTGRESSOURCETABLEOPTION']._serialized_end=4479 + _globals['_MYSQLSOURCECONNECTIONOPTIONS']._serialized_start=4482 + _globals['_MYSQLSOURCECONNECTIONOPTIONS']._serialized_end=5168 + _globals['_MYSQLSOURCECONNECTIONOPTIONS_COLUMNREMOVALSTRATEGY']._serialized_start=4887 + _globals['_MYSQLSOURCECONNECTIONOPTIONS_COLUMNREMOVALSTRATEGY']._serialized_end=5168 + _globals['_MYSQLSOURCECONNECTIONOPTIONS_COLUMNREMOVALSTRATEGY_HALTJOB']._serialized_start=3894 + _globals['_MYSQLSOURCECONNECTIONOPTIONS_COLUMNREMOVALSTRATEGY_HALTJOB']._serialized_end=3903 + _globals['_MYSQLSOURCECONNECTIONOPTIONS_COLUMNREMOVALSTRATEGY_CONTINUEJOB']._serialized_start=4191 + _globals['_MYSQLSOURCECONNECTIONOPTIONS_COLUMNREMOVALSTRATEGY_CONTINUEJOB']._serialized_end=4204 + _globals['_MYSQLSOURCESCHEMAOPTION']._serialized_start=5171 + _globals['_MYSQLSOURCESCHEMAOPTION']._serialized_end=5302 + _globals['_MYSQLSOURCETABLEOPTION']._serialized_start=5304 + _globals['_MYSQLSOURCETABLEOPTION']._serialized_end=5416 + _globals['_MSSQLSOURCECONNECTIONOPTIONS']._serialized_start=5419 + _globals['_MSSQLSOURCECONNECTIONOPTIONS']._serialized_end=6105 + _globals['_MSSQLSOURCECONNECTIONOPTIONS_COLUMNREMOVALSTRATEGY']._serialized_start=5824 + _globals['_MSSQLSOURCECONNECTIONOPTIONS_COLUMNREMOVALSTRATEGY']._serialized_end=6105 + _globals['_MSSQLSOURCECONNECTIONOPTIONS_COLUMNREMOVALSTRATEGY_HALTJOB']._serialized_start=3894 + _globals['_MSSQLSOURCECONNECTIONOPTIONS_COLUMNREMOVALSTRATEGY_HALTJOB']._serialized_end=3903 + _globals['_MSSQLSOURCECONNECTIONOPTIONS_COLUMNREMOVALSTRATEGY_CONTINUEJOB']._serialized_start=4191 + _globals['_MSSQLSOURCECONNECTIONOPTIONS_COLUMNREMOVALSTRATEGY_CONTINUEJOB']._serialized_end=4204 + _globals['_MSSQLSOURCESCHEMAOPTION']._serialized_start=6108 + _globals['_MSSQLSOURCESCHEMAOPTION']._serialized_end=6239 + _globals['_MSSQLSOURCETABLEOPTION']._serialized_start=6241 + _globals['_MSSQLSOURCETABLEOPTION']._serialized_end=6353 + _globals['_AWSS3SOURCECONNECTIONOPTIONS']._serialized_start=6355 + _globals['_AWSS3SOURCECONNECTIONOPTIONS']._serialized_end=6432 + _globals['_JOBDESTINATIONOPTIONS']._serialized_start=6435 + _globals['_JOBDESTINATIONOPTIONS']._serialized_end=7154 + _globals['_MONGODBDESTINATIONCONNECTIONOPTIONS']._serialized_start=7156 + _globals['_MONGODBDESTINATIONCONNECTIONOPTIONS']._serialized_end=7193 + _globals['_GCPCLOUDSTORAGEDESTINATIONCONNECTIONOPTIONS']._serialized_start=7195 + _globals['_GCPCLOUDSTORAGEDESTINATIONCONNECTIONOPTIONS']._serialized_end=7240 + _globals['_DYNAMODBDESTINATIONCONNECTIONOPTIONS']._serialized_start=7242 + _globals['_DYNAMODBDESTINATIONCONNECTIONOPTIONS']._serialized_end=7367 + _globals['_DYNAMODBDESTINATIONTABLEMAPPING']._serialized_start=7369 + _globals['_DYNAMODBDESTINATIONTABLEMAPPING']._serialized_end=7482 + _globals['_POSTGRESDESTINATIONCONNECTIONOPTIONS']._serialized_start=7485 + _globals['_POSTGRESDESTINATIONCONNECTIONOPTIONS']._serialized_end=7905 + _globals['_POSTGRESONCONFLICTCONFIG']._serialized_start=7908 + _globals['_POSTGRESONCONFLICTCONFIG']._serialized_end=8232 + _globals['_POSTGRESONCONFLICTCONFIG_POSTGRESONCONFLICTDONOTHING']._serialized_start=8156 + _globals['_POSTGRESONCONFLICTCONFIG_POSTGRESONCONFLICTDONOTHING']._serialized_end=8185 + _globals['_POSTGRESONCONFLICTCONFIG_POSTGRESONCONFLICTUPDATE']._serialized_start=8187 + _globals['_POSTGRESONCONFLICTCONFIG_POSTGRESONCONFLICTUPDATE']._serialized_end=8213 + _globals['_POSTGRESTRUNCATETABLECONFIG']._serialized_start=8234 + _globals['_POSTGRESTRUNCATETABLECONFIG']._serialized_end=8343 + _globals['_MYSQLDESTINATIONCONNECTIONOPTIONS']._serialized_start=8346 + _globals['_MYSQLDESTINATIONCONNECTIONOPTIONS']._serialized_end=8757 + _globals['_MYSQLTRUNCATETABLECONFIG']._serialized_start=8759 + _globals['_MYSQLTRUNCATETABLECONFIG']._serialized_end=8839 + _globals['_MYSQLONCONFLICTCONFIG']._serialized_start=8842 + _globals['_MYSQLONCONFLICTCONFIG']._serialized_end=9145 + _globals['_MYSQLONCONFLICTCONFIG_MYSQLONCONFLICTDONOTHING']._serialized_start=9075 + _globals['_MYSQLONCONFLICTCONFIG_MYSQLONCONFLICTDONOTHING']._serialized_end=9101 + _globals['_MYSQLONCONFLICTCONFIG_MYSQLONCONFLICTUPDATE']._serialized_start=9103 + _globals['_MYSQLONCONFLICTCONFIG_MYSQLONCONFLICTUPDATE']._serialized_end=9126 + _globals['_MSSQLDESTINATIONCONNECTIONOPTIONS']._serialized_start=9148 + _globals['_MSSQLDESTINATIONCONNECTIONOPTIONS']._serialized_end=9559 + _globals['_MSSQLTRUNCATETABLECONFIG']._serialized_start=9561 + _globals['_MSSQLTRUNCATETABLECONFIG']._serialized_end=9641 + _globals['_MSSQLONCONFLICTCONFIG']._serialized_start=9643 + _globals['_MSSQLONCONFLICTCONFIG']._serialized_end=9697 + _globals['_AWSS3DESTINATIONCONNECTIONOPTIONS']._serialized_start=9700 + _globals['_AWSS3DESTINATIONCONNECTIONOPTIONS']._serialized_end=10269 + _globals['_AWSS3DESTINATIONCONNECTIONOPTIONS_STORAGECLASS']._serialized_start=9969 + _globals['_AWSS3DESTINATIONCONNECTIONOPTIONS_STORAGECLASS']._serialized_end=10239 + _globals['_BATCHCONFIG']._serialized_start=10271 + _globals['_BATCHCONFIG']._serialized_end=10361 + _globals['_CREATEJOBREQUEST']._serialized_start=10364 + _globals['_CREATEJOBREQUEST']._serialized_end=10990 + _globals['_WORKFLOWOPTIONS']._serialized_start=10992 + _globals['_WORKFLOWOPTIONS']._serialized_end=11105 + _globals['_ACTIVITYOPTIONS']._serialized_start=11108 + _globals['_ACTIVITYOPTIONS']._serialized_end=11385 + _globals['_RETRYPOLICY']._serialized_start=11387 + _globals['_RETRYPOLICY']._serialized_end=11478 + _globals['_CREATEJOBRESPONSE']._serialized_start=11480 + _globals['_CREATEJOBRESPONSE']._serialized_end=11537 + _globals['_JOBMAPPINGTRANSFORMER']._serialized_start=11539 + _globals['_JOBMAPPINGTRANSFORMER']._serialized_end=11626 + _globals['_JOBMAPPING']._serialized_start=11629 + _globals['_JOBMAPPING']._serialized_end=11810 + _globals['_GETJOBREQUEST']._serialized_start=11812 + _globals['_GETJOBREQUEST']._serialized_end=11853 + _globals['_GETJOBRESPONSE']._serialized_start=11855 + _globals['_GETJOBRESPONSE']._serialized_end=11909 + _globals['_UPDATEJOBSCHEDULEREQUEST']._serialized_start=11911 + _globals['_UPDATEJOBSCHEDULEREQUEST']._serialized_end=12023 + _globals['_UPDATEJOBSCHEDULERESPONSE']._serialized_start=12025 + _globals['_UPDATEJOBSCHEDULERESPONSE']._serialized_end=12090 + _globals['_PAUSEJOBREQUEST']._serialized_start=12092 + _globals['_PAUSEJOBREQUEST']._serialized_end=12191 + _globals['_PAUSEJOBRESPONSE']._serialized_start=12193 + _globals['_PAUSEJOBRESPONSE']._serialized_end=12249 + _globals['_UPDATEJOBSOURCECONNECTIONREQUEST']._serialized_start=12252 + _globals['_UPDATEJOBSOURCECONNECTIONREQUEST']._serialized_end=12508 + _globals['_UPDATEJOBSOURCECONNECTIONRESPONSE']._serialized_start=12510 + _globals['_UPDATEJOBSOURCECONNECTIONRESPONSE']._serialized_end=12583 + _globals['_POSTGRESSOURCESCHEMASUBSET']._serialized_start=12585 + _globals['_POSTGRESSOURCESCHEMASUBSET']._serialized_end=12699 + _globals['_MYSQLSOURCESCHEMASUBSET']._serialized_start=12701 + _globals['_MYSQLSOURCESCHEMASUBSET']._serialized_end=12803 + _globals['_DYNAMODBSOURCESCHEMASUBSET']._serialized_start=12805 + _globals['_DYNAMODBSOURCESCHEMASUBSET']._serialized_end=12899 + _globals['_MSSQLSOURCESCHEMASUBSET']._serialized_start=12901 + _globals['_MSSQLSOURCESCHEMASUBSET']._serialized_end=13003 + _globals['_JOBSOURCESQLSUBETSCHEMAS']._serialized_start=13006 + _globals['_JOBSOURCESQLSUBETSCHEMAS']._serialized_end=13382 + _globals['_SETJOBSOURCESQLCONNECTIONSUBSETSREQUEST']._serialized_start=13385 + _globals['_SETJOBSOURCESQLCONNECTIONSUBSETSREQUEST']._serialized_end=13593 + _globals['_SETJOBSOURCESQLCONNECTIONSUBSETSRESPONSE']._serialized_start=13595 + _globals['_SETJOBSOURCESQLCONNECTIONSUBSETSRESPONSE']._serialized_end=13675 + _globals['_UPDATEJOBDESTINATIONCONNECTIONREQUEST']._serialized_start=13678 + _globals['_UPDATEJOBDESTINATIONCONNECTIONREQUEST']._serialized_end=13900 + _globals['_UPDATEJOBDESTINATIONCONNECTIONRESPONSE']._serialized_start=13902 + _globals['_UPDATEJOBDESTINATIONCONNECTIONRESPONSE']._serialized_end=13980 + _globals['_DELETEJOBDESTINATIONCONNECTIONREQUEST']._serialized_start=13982 + _globals['_DELETEJOBDESTINATIONCONNECTIONREQUEST']._serialized_end=14070 + _globals['_DELETEJOBDESTINATIONCONNECTIONRESPONSE']._serialized_start=14072 + _globals['_DELETEJOBDESTINATIONCONNECTIONRESPONSE']._serialized_end=14112 + _globals['_CREATEJOBDESTINATIONCONNECTIONSREQUEST']._serialized_start=14115 + _globals['_CREATEJOBDESTINATIONCONNECTIONSREQUEST']._serialized_end=14261 + _globals['_CREATEJOBDESTINATIONCONNECTIONSRESPONSE']._serialized_start=14263 + _globals['_CREATEJOBDESTINATIONCONNECTIONSRESPONSE']._serialized_end=14342 + _globals['_DELETEJOBREQUEST']._serialized_start=14344 + _globals['_DELETEJOBREQUEST']._serialized_end=14388 + _globals['_DELETEJOBRESPONSE']._serialized_start=14390 + _globals['_DELETEJOBRESPONSE']._serialized_end=14409 + _globals['_ISJOBNAMEAVAILABLEREQUEST']._serialized_start=14411 + _globals['_ISJOBNAMEAVAILABLEREQUEST']._serialized_end=14526 + _globals['_ISJOBNAMEAVAILABLERESPONSE']._serialized_start=14528 + _globals['_ISJOBNAMEAVAILABLERESPONSE']._serialized_end=14591 + _globals['_GETJOBRUNSREQUEST']._serialized_start=14593 + _globals['_GETJOBRUNSREQUEST']._serialized_end=14696 + _globals['_GETJOBRUNSRESPONSE']._serialized_start=14698 + _globals['_GETJOBRUNSRESPONSE']._serialized_end=14768 + _globals['_GETJOBRUNREQUEST']._serialized_start=14770 + _globals['_GETJOBRUNREQUEST']._serialized_end=14859 + _globals['_GETJOBRUNRESPONSE']._serialized_start=14861 + _globals['_GETJOBRUNRESPONSE']._serialized_end=14928 + _globals['_CREATEJOBRUNREQUEST']._serialized_start=14930 + _globals['_CREATEJOBRUNREQUEST']._serialized_end=14984 + _globals['_CREATEJOBRUNRESPONSE']._serialized_start=14986 + _globals['_CREATEJOBRUNRESPONSE']._serialized_end=15008 + _globals['_CANCELJOBRUNREQUEST']._serialized_start=15010 + _globals['_CANCELJOBRUNREQUEST']._serialized_end=15102 + _globals['_CANCELJOBRUNRESPONSE']._serialized_start=15104 + _globals['_CANCELJOBRUNRESPONSE']._serialized_end=15126 + _globals['_JOB']._serialized_start=15129 + _globals['_JOB']._serialized_end=15874 + _globals['_JOBRECENTRUN']._serialized_start=15876 + _globals['_JOBRECENTRUN']._serialized_end=15979 + _globals['_GETJOBRECENTRUNSREQUEST']._serialized_start=15981 + _globals['_GETJOBRECENTRUNSREQUEST']._serialized_end=16039 + _globals['_GETJOBRECENTRUNSRESPONSE']._serialized_start=16041 + _globals['_GETJOBRECENTRUNSRESPONSE']._serialized_end=16129 + _globals['_JOBNEXTRUNS']._serialized_start=16131 + _globals['_JOBNEXTRUNS']._serialized_end=16210 + _globals['_GETJOBNEXTRUNSREQUEST']._serialized_start=16212 + _globals['_GETJOBNEXTRUNSREQUEST']._serialized_end=16268 + _globals['_GETJOBNEXTRUNSRESPONSE']._serialized_start=16270 + _globals['_GETJOBNEXTRUNSRESPONSE']._serialized_end=16351 + _globals['_GETJOBSTATUSREQUEST']._serialized_start=16353 + _globals['_GETJOBSTATUSREQUEST']._serialized_end=16407 + _globals['_GETJOBSTATUSRESPONSE']._serialized_start=16409 + _globals['_GETJOBSTATUSRESPONSE']._serialized_end=16481 + _globals['_JOBSTATUSRECORD']._serialized_start=16483 + _globals['_JOBSTATUSRECORD']._serialized_end=16583 + _globals['_GETJOBSTATUSESREQUEST']._serialized_start=16585 + _globals['_GETJOBSTATUSESREQUEST']._serialized_end=16649 + _globals['_GETJOBSTATUSESRESPONSE']._serialized_start=16651 + _globals['_GETJOBSTATUSESRESPONSE']._serialized_end=16735 + _globals['_ACTIVITYFAILURE']._serialized_start=16737 + _globals['_ACTIVITYFAILURE']._serialized_end=16780 + _globals['_PENDINGACTIVITY']._serialized_start=16783 + _globals['_PENDINGACTIVITY']._serialized_end=16981 + _globals['_JOBRUN']._serialized_start=16984 + _globals['_JOBRUN']._serialized_end=17333 + _globals['_JOBRUNEVENTTASKERROR']._serialized_start=17335 + _globals['_JOBRUNEVENTTASKERROR']._serialized_end=17416 + _globals['_JOBRUNEVENTTASK']._serialized_start=17419 + _globals['_JOBRUNEVENTTASK']._serialized_end=17590 + _globals['_JOBRUNSYNCMETADATA']._serialized_start=17592 + _globals['_JOBRUNSYNCMETADATA']._serialized_end=17658 + _globals['_JOBRUNEVENTMETADATA']._serialized_start=17660 + _globals['_JOBRUNEVENTMETADATA']._serialized_end=17774 + _globals['_JOBRUNEVENT']._serialized_start=17777 + _globals['_JOBRUNEVENT']._serialized_end=18062 + _globals['_GETJOBRUNEVENTSREQUEST']._serialized_start=18064 + _globals['_GETJOBRUNEVENTSREQUEST']._serialized_end=18159 + _globals['_GETJOBRUNEVENTSRESPONSE']._serialized_start=18161 + _globals['_GETJOBRUNEVENTSRESPONSE']._serialized_end=18278 + _globals['_DELETEJOBRUNREQUEST']._serialized_start=18280 + _globals['_DELETEJOBRUNREQUEST']._serialized_end=18372 + _globals['_DELETEJOBRUNRESPONSE']._serialized_start=18374 + _globals['_DELETEJOBRUNRESPONSE']._serialized_end=18396 + _globals['_TERMINATEJOBRUNREQUEST']._serialized_start=18398 + _globals['_TERMINATEJOBRUNREQUEST']._serialized_end=18493 + _globals['_TERMINATEJOBRUNRESPONSE']._serialized_start=18495 + _globals['_TERMINATEJOBRUNRESPONSE']._serialized_end=18520 + _globals['_GETJOBRUNLOGSSTREAMREQUEST']._serialized_start=18523 + _globals['_GETJOBRUNLOGSSTREAMREQUEST']._serialized_end=18829 + _globals['_GETJOBRUNLOGSSTREAMRESPONSE']._serialized_start=18832 + _globals['_GETJOBRUNLOGSSTREAMRESPONSE']._serialized_end=18965 + _globals['_SETJOBWORKFLOWOPTIONSREQUEST']._serialized_start=18968 + _globals['_SETJOBWORKFLOWOPTIONSREQUEST']._serialized_end=19099 + _globals['_SETJOBWORKFLOWOPTIONSRESPONSE']._serialized_start=19101 + _globals['_SETJOBWORKFLOWOPTIONSRESPONSE']._serialized_end=19170 + _globals['_SETJOBSYNCOPTIONSREQUEST']._serialized_start=19172 + _globals['_SETJOBSYNCOPTIONSREQUEST']._serialized_end=19291 + _globals['_SETJOBSYNCOPTIONSRESPONSE']._serialized_start=19293 + _globals['_SETJOBSYNCOPTIONSRESPONSE']._serialized_end=19358 + _globals['_VALIDATEJOBMAPPINGSREQUEST']._serialized_start=19361 + _globals['_VALIDATEJOBMAPPINGSREQUEST']._serialized_end=19623 + _globals['_COLUMNERROR']._serialized_start=19625 + _globals['_COLUMNERROR']._serialized_end=19732 + _globals['_DATABASEERROR']._serialized_start=19734 + _globals['_DATABASEERROR']._serialized_end=19773 + _globals['_VALIDATEJOBMAPPINGSRESPONSE']._serialized_start=19776 + _globals['_VALIDATEJOBMAPPINGSRESPONSE']._serialized_end=19941 + _globals['_VIRTUALFOREIGNKEY']._serialized_start=19943 + _globals['_VIRTUALFOREIGNKEY']._serialized_end=20034 + _globals['_VIRTUALFOREIGNCONSTRAINT']._serialized_start=20037 + _globals['_VIRTUALFOREIGNCONSTRAINT']._serialized_end=20202 + _globals['_RUNCONTEXTKEY']._serialized_start=20205 + _globals['_RUNCONTEXTKEY']._serialized_end=20341 + _globals['_GETRUNCONTEXTREQUEST']._serialized_start=20343 + _globals['_GETRUNCONTEXTREQUEST']._serialized_end=20411 + _globals['_GETRUNCONTEXTRESPONSE']._serialized_start=20413 + _globals['_GETRUNCONTEXTRESPONSE']._serialized_end=20458 + _globals['_SETRUNCONTEXTREQUEST']._serialized_start=20460 + _globals['_SETRUNCONTEXTREQUEST']._serialized_end=20550 + _globals['_SETRUNCONTEXTRESPONSE']._serialized_start=20552 + _globals['_SETRUNCONTEXTRESPONSE']._serialized_end=20575 + _globals['_SETRUNCONTEXTSREQUEST']._serialized_start=20577 + _globals['_SETRUNCONTEXTSREQUEST']._serialized_end=20668 + _globals['_SETRUNCONTEXTSRESPONSE']._serialized_start=20670 + _globals['_SETRUNCONTEXTSRESPONSE']._serialized_end=20694 + _globals['_JOBHOOK']._serialized_start=20697 + _globals['_JOBHOOK']._serialized_end=21126 + _globals['_NEWJOBHOOK']._serialized_start=21129 + _globals['_NEWJOBHOOK']._serialized_end=21350 + _globals['_JOBHOOKCONFIG']._serialized_start=21353 + _globals['_JOBHOOKCONFIG']._serialized_end=21798 + _globals['_JOBHOOKCONFIG_JOBSQLHOOK']._serialized_start=21432 + _globals['_JOBHOOKCONFIG_JOBSQLHOOK']._serialized_end=21757 + _globals['_JOBHOOKCONFIG_JOBSQLHOOK_TIMING']._serialized_start=21597 + _globals['_JOBHOOKCONFIG_JOBSQLHOOK_TIMING']._serialized_end=21757 + _globals['_JOBHOOKTIMINGPRESYNC']._serialized_start=21800 + _globals['_JOBHOOKTIMINGPRESYNC']._serialized_end=21822 + _globals['_JOBHOOKTIMINGPOSTSYNC']._serialized_start=21824 + _globals['_JOBHOOKTIMINGPOSTSYNC']._serialized_end=21847 + _globals['_GETJOBHOOKSREQUEST']._serialized_start=21849 + _globals['_GETJOBHOOKSREQUEST']._serialized_end=21902 + _globals['_GETJOBHOOKSRESPONSE']._serialized_start=21904 + _globals['_GETJOBHOOKSRESPONSE']._serialized_end=21971 + _globals['_GETJOBHOOKREQUEST']._serialized_start=21973 + _globals['_GETJOBHOOKREQUEST']._serialized_end=22018 + _globals['_GETJOBHOOKRESPONSE']._serialized_start=22020 + _globals['_GETJOBHOOKRESPONSE']._serialized_end=22084 + _globals['_CREATEJOBHOOKREQUEST']._serialized_start=22086 + _globals['_CREATEJOBHOOKREQUEST']._serialized_end=22178 + _globals['_CREATEJOBHOOKRESPONSE']._serialized_start=22180 + _globals['_CREATEJOBHOOKRESPONSE']._serialized_end=22247 + _globals['_DELETEJOBHOOKREQUEST']._serialized_start=22249 + _globals['_DELETEJOBHOOKREQUEST']._serialized_end=22297 + _globals['_DELETEJOBHOOKRESPONSE']._serialized_start=22299 + _globals['_DELETEJOBHOOKRESPONSE']._serialized_end=22322 + _globals['_ISJOBHOOKNAMEAVAILABLEREQUEST']._serialized_start=22324 + _globals['_ISJOBHOOKNAMEAVAILABLEREQUEST']._serialized_end=22398 + _globals['_ISJOBHOOKNAMEAVAILABLERESPONSE']._serialized_start=22400 + _globals['_ISJOBHOOKNAMEAVAILABLERESPONSE']._serialized_end=22467 + _globals['_UPDATEJOBHOOKREQUEST']._serialized_start=22470 + _globals['_UPDATEJOBHOOKREQUEST']._serialized_end=22727 + _globals['_UPDATEJOBHOOKRESPONSE']._serialized_start=22729 + _globals['_UPDATEJOBHOOKRESPONSE']._serialized_end=22796 + _globals['_SETJOBHOOKENABLEDREQUEST']._serialized_start=22798 + _globals['_SETJOBHOOKENABLEDREQUEST']._serialized_end=22876 + _globals['_SETJOBHOOKENABLEDRESPONSE']._serialized_start=22878 + _globals['_SETJOBHOOKENABLEDRESPONSE']._serialized_end=22949 + _globals['_GETACTIVEJOBHOOKSBYTIMINGREQUEST']._serialized_start=22952 + _globals['_GETACTIVEJOBHOOKSBYTIMINGREQUEST']._serialized_end=23174 + _globals['_GETACTIVEJOBHOOKSBYTIMINGREQUEST_TIMING']._serialized_start=23101 + _globals['_GETACTIVEJOBHOOKSBYTIMINGREQUEST_TIMING']._serialized_end=23174 + _globals['_GETACTIVEJOBHOOKSBYTIMINGRESPONSE']._serialized_start=23176 + _globals['_GETACTIVEJOBHOOKSBYTIMINGRESPONSE']._serialized_end=23257 + _globals['_JOBSERVICE']._serialized_start=24067 + _globals['_JOBSERVICE']._serialized_end=28027 # @@protoc_insertion_point(module_scope) diff --git a/python/src/neosync/mgmt/v1alpha1/job_pb2_grpc.py b/python/src/neosync/mgmt/v1alpha1/job_pb2_grpc.py index d551002b14..26202af89b 100644 --- a/python/src/neosync/mgmt/v1alpha1/job_pb2_grpc.py +++ b/python/src/neosync/mgmt/v1alpha1/job_pb2_grpc.py @@ -6,7 +6,8 @@ class JobServiceStub(object): - """Missing associated documentation comment in .proto file.""" + """Service that handles jobs, runs, and hooks + """ def __init__(self, channel): """Constructor. @@ -207,82 +208,95 @@ def __init__(self, channel): class JobServiceServicer(object): - """Missing associated documentation comment in .proto file.""" + """Service that handles jobs, runs, and hooks + """ def GetJobs(self, request, context): - """Missing associated documentation comment in .proto file.""" + """Returns a list of jobs by either account or job + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def GetJob(self, request, context): - """Missing associated documentation comment in .proto file.""" + """Returns a specific job + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def CreateJob(self, request, context): - """Missing associated documentation comment in .proto file.""" + """Creates a new job + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def DeleteJob(self, request, context): - """Missing associated documentation comment in .proto file.""" + """Deletes a job + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def IsJobNameAvailable(self, request, context): - """Missing associated documentation comment in .proto file.""" + """Checks if a job name is available + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def UpdateJobSchedule(self, request, context): - """Missing associated documentation comment in .proto file.""" + """Updates the schedule of a job + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def UpdateJobSourceConnection(self, request, context): - """Missing associated documentation comment in .proto file.""" + """Updates the source connection of a job + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def SetJobSourceSqlConnectionSubsets(self, request, context): - """Missing associated documentation comment in .proto file.""" + """Sets the source sql connection subsets of a job + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def UpdateJobDestinationConnection(self, request, context): - """Missing associated documentation comment in .proto file.""" + """Updates the destination connection of a job + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def DeleteJobDestinationConnection(self, request, context): - """Missing associated documentation comment in .proto file.""" + """Deletes the destination connection of a job + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def CreateJobDestinationConnections(self, request, context): - """Missing associated documentation comment in .proto file.""" + """Creates the destination connections of a job + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def PauseJob(self, request, context): - """Missing associated documentation comment in .proto file.""" + """Pauses or unpauses a job + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def GetJobRecentRuns(self, request, context): - """Returns a list of recently invoked job runs baseds on the Temporal cron scheduler. This will return a list of job runs that include archived runs + """Returns a list of recently invoked job runs based on the Temporal cron scheduler. This will return a list of job runs that include archived runs """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') @@ -296,13 +310,15 @@ def GetJobNextRuns(self, request, context): raise NotImplementedError('Method not implemented!') def GetJobStatus(self, request, context): - """Missing associated documentation comment in .proto file.""" + """Returns the status of a job + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def GetJobStatuses(self, request, context): - """Missing associated documentation comment in .proto file.""" + """Returns the statuses of jobs within an account + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') @@ -315,7 +331,8 @@ def GetJobRuns(self, request, context): raise NotImplementedError('Method not implemented!') def GetJobRunEvents(self, request, context): - """Missing associated documentation comment in .proto file.""" + """Returns a list of events for a job run to understand more details of the run itself + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') @@ -328,25 +345,29 @@ def GetJobRun(self, request, context): raise NotImplementedError('Method not implemented!') def DeleteJobRun(self, request, context): - """Missing associated documentation comment in .proto file.""" + """Deletes a job run + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def CreateJobRun(self, request, context): - """Missing associated documentation comment in .proto file.""" + """Creates a new job run + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def CancelJobRun(self, request, context): - """Missing associated documentation comment in .proto file.""" + """Cancels a job run. This is a graceful termination and allows the workflow to clean up and exit gracefully. + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def TerminateJobRun(self, request, context): - """Missing associated documentation comment in .proto file.""" + """Terminates a job run. This is an immediate termination and will not allow the workflow to clean up and exit gracefully. + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') @@ -373,7 +394,7 @@ def SetJobSyncOptions(self, request, context): raise NotImplementedError('Method not implemented!') def ValidateJobMappings(self, request, context): - """validates that the jobmapping configured can run with table constraints + """Validates that the jobmapping configured can run with table constraints """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') @@ -658,7 +679,8 @@ def add_JobServiceServicer_to_server(servicer, server): # This class is part of an EXPERIMENTAL API. class JobService(object): - """Missing associated documentation comment in .proto file.""" + """Service that handles jobs, runs, and hooks + """ @staticmethod def GetJobs(request, diff --git a/python/src/neosync/mgmt/v1alpha1/metrics_pb2.py b/python/src/neosync/mgmt/v1alpha1/metrics_pb2.py index 10c8a2a443..59c98c56d9 100644 --- a/python/src/neosync/mgmt/v1alpha1/metrics_pb2.py +++ b/python/src/neosync/mgmt/v1alpha1/metrics_pb2.py @@ -25,7 +25,7 @@ from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bmgmt/v1alpha1/metrics.proto\x12\rmgmt.v1alpha1\x1a\x1b\x62uf/validate/validate.proto\"d\n\x04\x44\x61te\x12\x1e\n\x04year\x18\x01 \x01(\rB\n\xbaH\x07*\x05\x18\x8fN(\x00R\x04year\x12\x1f\n\x05month\x18\x02 \x01(\rB\t\xbaH\x06*\x04\x18\x1f(\x00R\x05month\x12\x1b\n\x03\x64\x61y\x18\x03 \x01(\rB\t\xbaH\x06*\x04\x18\x1f(\x00R\x03\x64\x61y\"\xa6\x02\n\x1aGetDailyMetricCountRequest\x12)\n\x05start\x18\x01 \x01(\x0b\x32\x13.mgmt.v1alpha1.DateR\x05start\x12%\n\x03\x65nd\x18\x02 \x01(\x0b\x32\x13.mgmt.v1alpha1.DateR\x03\x65nd\x12\x37\n\x06metric\x18\x03 \x01(\x0e\x32\x1f.mgmt.v1alpha1.RangedMetricNameR\x06metric\x12)\n\naccount_id\x18\x04 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\taccountId\x12!\n\x06job_id\x18\x05 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x05jobId\x12!\n\x06run_id\x18\x06 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x05runIdB\x0c\n\nidentifier\"Q\n\x1bGetDailyMetricCountResponse\x12\x32\n\x07results\x18\x01 \x03(\x0b\x32\x18.mgmt.v1alpha1.DayResultR\x07results\"J\n\tDayResult\x12\'\n\x04\x64\x61te\x18\x01 \x01(\x0b\x32\x13.mgmt.v1alpha1.DateR\x04\x64\x61te\x12\x14\n\x05\x63ount\x18\x02 \x01(\x04R\x05\x63ount\"\xbb\x02\n\x15GetMetricCountRequest\x12\x37\n\x06metric\x18\x03 \x01(\x0e\x32\x1f.mgmt.v1alpha1.RangedMetricNameR\x06metric\x12)\n\naccount_id\x18\x04 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\taccountId\x12!\n\x06job_id\x18\x05 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x05jobId\x12!\n\x06run_id\x18\x06 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x05runId\x12\x30\n\tstart_day\x18\x07 \x01(\x0b\x32\x13.mgmt.v1alpha1.DateR\x08startDay\x12,\n\x07\x65nd_day\x18\x08 \x01(\x0b\x32\x13.mgmt.v1alpha1.DateR\x06\x65ndDayB\x0c\n\nidentifierJ\x04\x08\x01\x10\x02J\x04\x08\x02\x10\x03\".\n\x16GetMetricCountResponse\x12\x14\n\x05\x63ount\x18\x01 \x01(\x04R\x05\x63ount*]\n\x10RangedMetricName\x12\"\n\x1eRANGED_METRIC_NAME_UNSPECIFIED\x10\x00\x12%\n!RANGED_METRIC_NAME_INPUT_RECEIVED\x10\x01\x32\xe1\x01\n\x0eMetricsService\x12n\n\x13GetDailyMetricCount\x12).mgmt.v1alpha1.GetDailyMetricCountRequest\x1a*.mgmt.v1alpha1.GetDailyMetricCountResponse\"\x00\x12_\n\x0eGetMetricCount\x12$.mgmt.v1alpha1.GetMetricCountRequest\x1a%.mgmt.v1alpha1.GetMetricCountResponse\"\x00\x42\xc8\x01\n\x11\x63om.mgmt.v1alpha1B\x0cMetricsProtoP\x01ZPgithub.com/nucleuscloud/neosync/backend/gen/go/protos/mgmt/v1alpha1;mgmtv1alpha1\xa2\x02\x03MXX\xaa\x02\rMgmt.V1alpha1\xca\x02\rMgmt\\V1alpha1\xe2\x02\x19Mgmt\\V1alpha1\\GPBMetadata\xea\x02\x0eMgmt::V1alpha1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bmgmt/v1alpha1/metrics.proto\x12\rmgmt.v1alpha1\x1a\x1b\x62uf/validate/validate.proto\"d\n\x04\x44\x61te\x12\x1e\n\x04year\x18\x01 \x01(\rB\n\xbaH\x07*\x05\x18\x8fN(\x00R\x04year\x12\x1f\n\x05month\x18\x02 \x01(\rB\t\xbaH\x06*\x04\x18\x1f(\x00R\x05month\x12\x1b\n\x03\x64\x61y\x18\x03 \x01(\rB\t\xbaH\x06*\x04\x18\x1f(\x00R\x03\x64\x61y\"\xa6\x02\n\x1aGetDailyMetricCountRequest\x12)\n\x05start\x18\x01 \x01(\x0b\x32\x13.mgmt.v1alpha1.DateR\x05start\x12%\n\x03\x65nd\x18\x02 \x01(\x0b\x32\x13.mgmt.v1alpha1.DateR\x03\x65nd\x12\x37\n\x06metric\x18\x03 \x01(\x0e\x32\x1f.mgmt.v1alpha1.RangedMetricNameR\x06metric\x12)\n\naccount_id\x18\x04 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\taccountId\x12!\n\x06job_id\x18\x05 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x05jobId\x12!\n\x06run_id\x18\x06 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x05runIdB\x0c\n\nidentifier\"Q\n\x1bGetDailyMetricCountResponse\x12\x32\n\x07results\x18\x01 \x03(\x0b\x32\x18.mgmt.v1alpha1.DayResultR\x07results\"J\n\tDayResult\x12\'\n\x04\x64\x61te\x18\x01 \x01(\x0b\x32\x13.mgmt.v1alpha1.DateR\x04\x64\x61te\x12\x14\n\x05\x63ount\x18\x02 \x01(\x04R\x05\x63ount\"\xbb\x02\n\x15GetMetricCountRequest\x12\x37\n\x06metric\x18\x03 \x01(\x0e\x32\x1f.mgmt.v1alpha1.RangedMetricNameR\x06metric\x12)\n\naccount_id\x18\x04 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\taccountId\x12!\n\x06job_id\x18\x05 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x05jobId\x12!\n\x06run_id\x18\x06 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x05runId\x12\x30\n\tstart_day\x18\x07 \x01(\x0b\x32\x13.mgmt.v1alpha1.DateR\x08startDay\x12,\n\x07\x65nd_day\x18\x08 \x01(\x0b\x32\x13.mgmt.v1alpha1.DateR\x06\x65ndDayB\x0c\n\nidentifierJ\x04\x08\x01\x10\x02J\x04\x08\x02\x10\x03\".\n\x16GetMetricCountResponse\x12\x14\n\x05\x63ount\x18\x01 \x01(\x04R\x05\x63ount*]\n\x10RangedMetricName\x12\"\n\x1eRANGED_METRIC_NAME_UNSPECIFIED\x10\x00\x12%\n!RANGED_METRIC_NAME_INPUT_RECEIVED\x10\x01\x32\xe7\x01\n\x0eMetricsService\x12q\n\x13GetDailyMetricCount\x12).mgmt.v1alpha1.GetDailyMetricCountRequest\x1a*.mgmt.v1alpha1.GetDailyMetricCountResponse\"\x03\x90\x02\x01\x12\x62\n\x0eGetMetricCount\x12$.mgmt.v1alpha1.GetMetricCountRequest\x1a%.mgmt.v1alpha1.GetMetricCountResponse\"\x03\x90\x02\x01\x42\xc8\x01\n\x11\x63om.mgmt.v1alpha1B\x0cMetricsProtoP\x01ZPgithub.com/nucleuscloud/neosync/backend/gen/go/protos/mgmt/v1alpha1;mgmtv1alpha1\xa2\x02\x03MXX\xaa\x02\rMgmt.V1alpha1\xca\x02\rMgmt\\V1alpha1\xe2\x02\x19Mgmt\\V1alpha1\\GPBMetadata\xea\x02\x0eMgmt::V1alpha1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -51,6 +51,10 @@ _globals['_GETMETRICCOUNTREQUEST'].fields_by_name['job_id']._serialized_options = b'\272H\005r\003\260\001\001' _globals['_GETMETRICCOUNTREQUEST'].fields_by_name['run_id']._loaded_options = None _globals['_GETMETRICCOUNTREQUEST'].fields_by_name['run_id']._serialized_options = b'\272H\005r\003\260\001\001' + _globals['_METRICSSERVICE'].methods_by_name['GetDailyMetricCount']._loaded_options = None + _globals['_METRICSSERVICE'].methods_by_name['GetDailyMetricCount']._serialized_options = b'\220\002\001' + _globals['_METRICSSERVICE'].methods_by_name['GetMetricCount']._loaded_options = None + _globals['_METRICSSERVICE'].methods_by_name['GetMetricCount']._serialized_options = b'\220\002\001' _globals['_RANGEDMETRICNAME']._serialized_start=999 _globals['_RANGEDMETRICNAME']._serialized_end=1092 _globals['_DATE']._serialized_start=75 @@ -66,5 +70,5 @@ _globals['_GETMETRICCOUNTRESPONSE']._serialized_start=951 _globals['_GETMETRICCOUNTRESPONSE']._serialized_end=997 _globals['_METRICSSERVICE']._serialized_start=1095 - _globals['_METRICSSERVICE']._serialized_end=1320 + _globals['_METRICSSERVICE']._serialized_end=1326 # @@protoc_insertion_point(module_scope) diff --git a/python/src/neosync/mgmt/v1alpha1/metrics_pb2_grpc.py b/python/src/neosync/mgmt/v1alpha1/metrics_pb2_grpc.py index 8e4f734eea..5bd5dcc983 100644 --- a/python/src/neosync/mgmt/v1alpha1/metrics_pb2_grpc.py +++ b/python/src/neosync/mgmt/v1alpha1/metrics_pb2_grpc.py @@ -6,7 +6,8 @@ class MetricsServiceStub(object): - """Missing associated documentation comment in .proto file.""" + """Service that handles serving up usage metrics + """ def __init__(self, channel): """Constructor. @@ -27,7 +28,8 @@ def __init__(self, channel): class MetricsServiceServicer(object): - """Missing associated documentation comment in .proto file.""" + """Service that handles serving up usage metrics + """ def GetDailyMetricCount(self, request, context): """Retrieve a timed range of records @@ -65,7 +67,8 @@ def add_MetricsServiceServicer_to_server(servicer, server): # This class is part of an EXPERIMENTAL API. class MetricsService(object): - """Missing associated documentation comment in .proto file.""" + """Service that handles serving up usage metrics + """ @staticmethod def GetDailyMetricCount(request, diff --git a/python/src/neosync/mgmt/v1alpha1/transformer_pb2.py b/python/src/neosync/mgmt/v1alpha1/transformer_pb2.py index 49081db6c4..8d05510692 100644 --- a/python/src/neosync/mgmt/v1alpha1/transformer_pb2.py +++ b/python/src/neosync/mgmt/v1alpha1/transformer_pb2.py @@ -26,7 +26,7 @@ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1fmgmt/v1alpha1/transformer.proto\x12\rmgmt.v1alpha1\x1a\x1b\x62uf/validate/validate.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x1e\n\x1cGetSystemTransformersRequest\"e\n\x1dGetSystemTransformersResponse\x12\x44\n\x0ctransformers\x18\x01 \x03(\x0b\x32 .mgmt.v1alpha1.SystemTransformerR\x0ctransformers\"_\n#GetSystemTransformerBySourceRequest\x12\x38\n\x06source\x18\x01 \x01(\x0e\x32 .mgmt.v1alpha1.TransformerSourceR\x06source\"j\n$GetSystemTransformerBySourceResponse\x12\x42\n\x0btransformer\x18\x01 \x01(\x0b\x32 .mgmt.v1alpha1.SystemTransformerR\x0btransformer\"L\n!GetUserDefinedTransformersRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"o\n\"GetUserDefinedTransformersResponse\x12I\n\x0ctransformers\x18\x01 \x03(\x0b\x32%.mgmt.v1alpha1.UserDefinedTransformerR\x0ctransformers\"W\n$GetUserDefinedTransformerByIdRequest\x12/\n\x0etransformer_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\rtransformerId\"p\n%GetUserDefinedTransformerByIdResponse\x12G\n\x0btransformer\x18\x01 \x01(\x0b\x32%.mgmt.v1alpha1.UserDefinedTransformerR\x0btransformer\"\xb0\x02\n#CreateUserDefinedTransformerRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12-\n\x04name\x18\x02 \x01(\tB\x19\xbaH\x16r\x14\x32\x12^[a-z0-9-]{3,100}$R\x04name\x12 \n\x0b\x64\x65scription\x18\x03 \x01(\tR\x0b\x64\x65scription\x12\x38\n\x06source\x18\x05 \x01(\x0e\x32 .mgmt.v1alpha1.TransformerSourceR\x06source\x12O\n\x12transformer_config\x18\x06 \x01(\x0b\x32 .mgmt.v1alpha1.TransformerConfigR\x11transformerConfigJ\x04\x08\x04\x10\x05\"o\n$CreateUserDefinedTransformerResponse\x12G\n\x0btransformer\x18\x01 \x01(\x0b\x32%.mgmt.v1alpha1.UserDefinedTransformerR\x0btransformer\"V\n#DeleteUserDefinedTransformerRequest\x12/\n\x0etransformer_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\rtransformerId\"&\n$DeleteUserDefinedTransformerResponse\"\xf8\x01\n#UpdateUserDefinedTransformerRequest\x12/\n\x0etransformer_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\rtransformerId\x12-\n\x04name\x18\x02 \x01(\tB\x19\xbaH\x16r\x14\x32\x12^[a-z0-9-]{3,100}$R\x04name\x12 \n\x0b\x64\x65scription\x18\x03 \x01(\tR\x0b\x64\x65scription\x12O\n\x12transformer_config\x18\x04 \x01(\x0b\x32 .mgmt.v1alpha1.TransformerConfigR\x11transformerConfig\"o\n$UpdateUserDefinedTransformerResponse\x12G\n\x0btransformer\x18\x01 \x01(\x0b\x32%.mgmt.v1alpha1.UserDefinedTransformerR\x0btransformer\"\x92\x01\n!IsTransformerNameAvailableRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12\x44\n\x10transformer_name\x18\x02 \x01(\tB\x19\xbaH\x16r\x14\x32\x12^[a-z0-9-]{3,100}$R\x0ftransformerName\"G\n\"IsTransformerNameAvailableResponse\x12!\n\x0cis_available\x18\x01 \x01(\x08R\x0bisAvailable\"\xf5\x03\n\x16UserDefinedTransformer\x12\x18\n\x02id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12 \n\x0b\x64\x65scription\x18\x03 \x01(\tR\x0b\x64\x65scription\x12?\n\tdata_type\x18\x05 \x01(\x0e\x32\".mgmt.v1alpha1.TransformerDataTypeR\x08\x64\x61taType\x12\x38\n\x06source\x18\x06 \x01(\x0e\x32 .mgmt.v1alpha1.TransformerSourceR\x06source\x12\x38\n\x06\x63onfig\x18\x07 \x01(\x0b\x32 .mgmt.v1alpha1.TransformerConfigR\x06\x63onfig\x12\x39\n\ncreated_at\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x39\n\nupdated_at\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tupdatedAt\x12\x1d\n\naccount_id\x18\n \x01(\tR\taccountId\x12\x41\n\ndata_types\x18\x0b \x03(\x0e\x32\".mgmt.v1alpha1.TransformerDataTypeR\tdataTypes\"\x92\x03\n\x11SystemTransformer\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12?\n\tdata_type\x18\x03 \x01(\x0e\x32\".mgmt.v1alpha1.TransformerDataTypeR\x08\x64\x61taType\x12\x38\n\x06source\x18\x04 \x01(\x0e\x32 .mgmt.v1alpha1.TransformerSourceR\x06source\x12\x38\n\x06\x63onfig\x18\x05 \x01(\x0b\x32 .mgmt.v1alpha1.TransformerConfigR\x06\x63onfig\x12\x41\n\ndata_types\x18\x06 \x03(\x0e\x32\".mgmt.v1alpha1.TransformerDataTypeR\tdataTypes\x12O\n\x13supported_job_types\x18\x07 \x03(\x0e\x32\x1f.mgmt.v1alpha1.SupportedJobTypeR\x11supportedJobTypes\"\xce#\n\x11TransformerConfig\x12R\n\x15generate_email_config\x18\x01 \x01(\x0b\x32\x1c.mgmt.v1alpha1.GenerateEmailH\x00R\x13generateEmailConfig\x12U\n\x16transform_email_config\x18\x02 \x01(\x0b\x32\x1d.mgmt.v1alpha1.TransformEmailH\x00R\x14transformEmailConfig\x12O\n\x14generate_bool_config\x18\x03 \x01(\x0b\x32\x1b.mgmt.v1alpha1.GenerateBoolH\x00R\x12generateBoolConfig\x12\x62\n\x1bgenerate_card_number_config\x18\x04 \x01(\x0b\x32!.mgmt.v1alpha1.GenerateCardNumberH\x00R\x18generateCardNumberConfig\x12O\n\x14generate_city_config\x18\x05 \x01(\x0b\x32\x1b.mgmt.v1alpha1.GenerateCityH\x00R\x12generateCityConfig\x12r\n!generate_e164_phone_number_config\x18\x06 \x01(\x0b\x32&.mgmt.v1alpha1.GenerateE164PhoneNumberH\x00R\x1dgenerateE164PhoneNumberConfig\x12_\n\x1agenerate_first_name_config\x18\x07 \x01(\x0b\x32 .mgmt.v1alpha1.GenerateFirstNameH\x00R\x17generateFirstNameConfig\x12X\n\x17generate_float64_config\x18\x08 \x01(\x0b\x32\x1e.mgmt.v1alpha1.GenerateFloat64H\x00R\x15generateFloat64Config\x12\x65\n\x1cgenerate_full_address_config\x18\t \x01(\x0b\x32\".mgmt.v1alpha1.GenerateFullAddressH\x00R\x19generateFullAddressConfig\x12\\\n\x19generate_full_name_config\x18\n \x01(\x0b\x32\x1f.mgmt.v1alpha1.GenerateFullNameH\x00R\x16generateFullNameConfig\x12U\n\x16generate_gender_config\x18\x0b \x01(\x0b\x32\x1d.mgmt.v1alpha1.GenerateGenderH\x00R\x14generateGenderConfig\x12u\n\"generate_int64_phone_number_config\x18\x0c \x01(\x0b\x32\'.mgmt.v1alpha1.GenerateInt64PhoneNumberH\x00R\x1egenerateInt64PhoneNumberConfig\x12R\n\x15generate_int64_config\x18\r \x01(\x0b\x32\x1c.mgmt.v1alpha1.GenerateInt64H\x00R\x13generateInt64Config\x12\\\n\x19generate_last_name_config\x18\x0e \x01(\x0b\x32\x1f.mgmt.v1alpha1.GenerateLastNameH\x00R\x16generateLastNameConfig\x12\x61\n\x1agenerate_sha256hash_config\x18\x0f \x01(\x0b\x32!.mgmt.v1alpha1.GenerateSha256HashH\x00R\x18generateSha256hashConfig\x12L\n\x13generate_ssn_config\x18\x10 \x01(\x0b\x32\x1a.mgmt.v1alpha1.GenerateSSNH\x00R\x11generateSsnConfig\x12R\n\x15generate_state_config\x18\x11 \x01(\x0b\x32\x1c.mgmt.v1alpha1.GenerateStateH\x00R\x13generateStateConfig\x12k\n\x1egenerate_street_address_config\x18\x12 \x01(\x0b\x32$.mgmt.v1alpha1.GenerateStreetAddressH\x00R\x1bgenerateStreetAddressConfig\x12x\n#generate_string_phone_number_config\x18\x13 \x01(\x0b\x32(.mgmt.v1alpha1.GenerateStringPhoneNumberH\x00R\x1fgenerateStringPhoneNumberConfig\x12U\n\x16generate_string_config\x18\x14 \x01(\x0b\x32\x1d.mgmt.v1alpha1.GenerateStringH\x00R\x14generateStringConfig\x12j\n\x1dgenerate_unixtimestamp_config\x18\x15 \x01(\x0b\x32$.mgmt.v1alpha1.GenerateUnixTimestampH\x00R\x1bgenerateUnixtimestampConfig\x12[\n\x18generate_username_config\x18\x16 \x01(\x0b\x32\x1f.mgmt.v1alpha1.GenerateUsernameH\x00R\x16generateUsernameConfig\x12g\n\x1cgenerate_utctimestamp_config\x18\x17 \x01(\x0b\x32#.mgmt.v1alpha1.GenerateUtcTimestampH\x00R\x1agenerateUtctimestampConfig\x12O\n\x14generate_uuid_config\x18\x18 \x01(\x0b\x32\x1b.mgmt.v1alpha1.GenerateUuidH\x00R\x12generateUuidConfig\x12X\n\x17generate_zipcode_config\x18\x19 \x01(\x0b\x32\x1e.mgmt.v1alpha1.GenerateZipcodeH\x00R\x15generateZipcodeConfig\x12u\n\"transform_e164_phone_number_config\x18\x1a \x01(\x0b\x32\'.mgmt.v1alpha1.TransformE164PhoneNumberH\x00R\x1etransformE164PhoneNumberConfig\x12\x62\n\x1btransform_first_name_config\x18\x1b \x01(\x0b\x32!.mgmt.v1alpha1.TransformFirstNameH\x00R\x18transformFirstNameConfig\x12[\n\x18transform_float64_config\x18\x1c \x01(\x0b\x32\x1f.mgmt.v1alpha1.TransformFloat64H\x00R\x16transformFloat64Config\x12_\n\x1atransform_full_name_config\x18\x1d \x01(\x0b\x32 .mgmt.v1alpha1.TransformFullNameH\x00R\x17transformFullNameConfig\x12x\n#transform_int64_phone_number_config\x18\x1e \x01(\x0b\x32(.mgmt.v1alpha1.TransformInt64PhoneNumberH\x00R\x1ftransformInt64PhoneNumberConfig\x12U\n\x16transform_int64_config\x18\x1f \x01(\x0b\x32\x1d.mgmt.v1alpha1.TransformInt64H\x00R\x14transformInt64Config\x12_\n\x1atransform_last_name_config\x18 \x01(\x0b\x32 .mgmt.v1alpha1.TransformLastNameH\x00R\x17transformLastNameConfig\x12h\n\x1dtransform_phone_number_config\x18! \x01(\x0b\x32#.mgmt.v1alpha1.TransformPhoneNumberH\x00R\x1atransformPhoneNumberConfig\x12X\n\x17transform_string_config\x18\" \x01(\x0b\x32\x1e.mgmt.v1alpha1.TransformStringH\x00R\x15transformStringConfig\x12K\n\x12passthrough_config\x18# \x01(\x0b\x32\x1a.mgmt.v1alpha1.PassthroughH\x00R\x11passthroughConfig\x12\x35\n\nnullconfig\x18$ \x01(\x0b\x32\x13.mgmt.v1alpha1.NullH\x00R\nnullconfig\x12t\n\x1fuser_defined_transformer_config\x18% \x01(\x0b\x32+.mgmt.v1alpha1.UserDefinedTransformerConfigH\x00R\x1cuserDefinedTransformerConfig\x12X\n\x17generate_default_config\x18& \x01(\x0b\x32\x1e.mgmt.v1alpha1.GenerateDefaultH\x00R\x15generateDefaultConfig\x12\x64\n\x1btransform_javascript_config\x18\' \x01(\x0b\x32\".mgmt.v1alpha1.TransformJavascriptH\x00R\x19transformJavascriptConfig\x12\x64\n\x1bgenerate_categorical_config\x18( \x01(\x0b\x32\".mgmt.v1alpha1.GenerateCategoricalH\x00R\x19generateCategoricalConfig\x12z\n#transform_character_scramble_config\x18) \x01(\x0b\x32).mgmt.v1alpha1.TransformCharacterScrambleH\x00R transformCharacterScrambleConfig\x12\x61\n\x1agenerate_javascript_config\x18* \x01(\x0b\x32!.mgmt.v1alpha1.GenerateJavascriptH\x00R\x18generateJavascriptConfig\x12X\n\x17generate_country_config\x18+ \x01(\x0b\x32\x1e.mgmt.v1alpha1.GenerateCountryH\x00R\x15generateCountryConfig\x12\\\n\x19transform_pii_text_config\x18, \x01(\x0b\x32\x1f.mgmt.v1alpha1.TransformPiiTextH\x00R\x16transformPiiTextConfig\x12h\n\x1dgenerate_business_name_config\x18- \x01(\x0b\x32#.mgmt.v1alpha1.GenerateBusinessNameH\x00R\x1agenerateBusinessNameConfig\x12_\n\x1agenerate_ip_address_config\x18. \x01(\x0b\x32 .mgmt.v1alpha1.GenerateIpAddressH\x00R\x17generateIpAddressConfig\x12R\n\x15transform_uuid_config\x18/ \x01(\x0b\x32\x1c.mgmt.v1alpha1.TransformUuidH\x00R\x13transformUuidConfigB\x0f\n\x06\x63onfig\x12\x05\xbaH\x02\x08\x01\"\xc1\x04\n\x10TransformPiiText\x12\x38\n\x0fscore_threshold\x18\x01 \x01(\x02\x42\x0f\xbaH\x0c\n\n\x1d\x00\x00\x80?-\x00\x00\x00\x00R\x0escoreThreshold\x12K\n\x12\x64\x65\x66\x61ult_anonymizer\x18\x02 \x01(\x0b\x32\x1c.mgmt.v1alpha1.PiiAnonymizerR\x11\x64\x65\x66\x61ultAnonymizer\x12K\n\x10\x64\x65ny_recognizers\x18\x03 \x03(\x0b\x32 .mgmt.v1alpha1.PiiDenyRecognizerR\x0f\x64\x65nyRecognizers\x12\x37\n\x10\x61llowed_entities\x18\x04 \x03(\tB\x0c\xbaH\t\x92\x01\x06\"\x04r\x02\x10\x01R\x0f\x61llowedEntities\x12\'\n\x0f\x61llowed_phrases\x18\x05 \x03(\tR\x0e\x61llowedPhrases\x12\x1f\n\x08language\x18\x06 \x01(\tH\x00R\x08language\x88\x01\x01\x12\x65\n\x12\x65ntity_anonymizers\x18\x07 \x03(\x0b\x32\x36.mgmt.v1alpha1.TransformPiiText.EntityAnonymizersEntryR\x11\x65ntityAnonymizers\x1a\x62\n\x16\x45ntityAnonymizersEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x32\n\x05value\x18\x02 \x01(\x0b\x32\x1c.mgmt.v1alpha1.PiiAnonymizerR\x05value:\x02\x38\x01\x42\x0b\n\t_language\"p\n\x11PiiDenyRecognizer\x12.\n\x04name\x18\x01 \x01(\tB\x1a\xbaH\x17r\x15\x32\x13^[a-z0-9-_]{1,100}$R\x04name\x12+\n\ndeny_words\x18\x02 \x03(\tB\x0c\xbaH\t\x92\x01\x06\"\x04r\x02\x10\x01R\tdenyWords\"\xbc\x06\n\rPiiAnonymizer\x12@\n\x07replace\x18\x01 \x01(\x0b\x32$.mgmt.v1alpha1.PiiAnonymizer.ReplaceH\x00R\x07replace\x12=\n\x06redact\x18\x02 \x01(\x0b\x32#.mgmt.v1alpha1.PiiAnonymizer.RedactH\x00R\x06redact\x12\x37\n\x04mask\x18\x03 \x01(\x0b\x32!.mgmt.v1alpha1.PiiAnonymizer.MaskH\x00R\x04mask\x12\x37\n\x04hash\x18\x04 \x01(\x0b\x32!.mgmt.v1alpha1.PiiAnonymizer.HashH\x00R\x04hash\x12\x46\n\ttransform\x18\x05 \x01(\x0b\x32&.mgmt.v1alpha1.PiiAnonymizer.TransformH\x00R\ttransform\x1a.\n\x07Replace\x12\x19\n\x05value\x18\x01 \x01(\tH\x00R\x05value\x88\x01\x01\x42\x08\n\x06_value\x1a\x08\n\x06Redact\x1a\xa7\x01\n\x04Mask\x12&\n\x0cmasking_char\x18\x01 \x01(\tH\x00R\x0bmaskingChar\x88\x01\x01\x12\'\n\rchars_to_mask\x18\x02 \x01(\x05H\x01R\x0b\x63harsToMask\x88\x01\x01\x12\x1e\n\x08\x66rom_end\x18\x03 \x01(\x08H\x02R\x07\x66romEnd\x88\x01\x01\x42\x0f\n\r_masking_charB\x10\n\x0e_chars_to_maskB\x0b\n\t_from_end\x1a\xba\x01\n\x04Hash\x12\x43\n\x04\x61lgo\x18\x01 \x01(\x0e\x32*.mgmt.v1alpha1.PiiAnonymizer.Hash.HashTypeH\x00R\x04\x61lgo\x88\x01\x01\"d\n\x08HashType\x12\x19\n\x15HASH_TYPE_UNSPECIFIED\x10\x00\x12\x11\n\rHASH_TYPE_MD5\x10\x01\x12\x14\n\x10HASH_TYPE_SHA256\x10\x02\x12\x14\n\x10HASH_TYPE_SHA512\x10\x03\x42\x07\n\x05_algo\x1a\x45\n\tTransform\x12\x38\n\x06\x63onfig\x18\x01 \x01(\x0b\x32 .mgmt.v1alpha1.TransformerConfigR\x06\x63onfigB\x08\n\x06\x63onfig\"d\n\rGenerateEmail\x12\x44\n\nemail_type\x18\x01 \x01(\x0e\x32 .mgmt.v1alpha1.GenerateEmailTypeH\x00R\temailType\x88\x01\x01\x42\r\n\x0b_email_type\"\x87\x03\n\x0eTransformEmail\x12,\n\x0fpreserve_domain\x18\x01 \x01(\x08H\x00R\x0epreserveDomain\x88\x01\x01\x12,\n\x0fpreserve_length\x18\x02 \x01(\x08H\x01R\x0epreserveLength\x88\x01\x01\x12)\n\x10\x65xcluded_domains\x18\x03 \x03(\tR\x0f\x65xcludedDomains\x12\x44\n\nemail_type\x18\x04 \x01(\x0e\x32 .mgmt.v1alpha1.GenerateEmailTypeH\x02R\temailType\x88\x01\x01\x12X\n\x14invalid_email_action\x18\x05 \x01(\x0e\x32!.mgmt.v1alpha1.InvalidEmailActionH\x03R\x12invalidEmailAction\x88\x01\x01\x42\x12\n\x10_preserve_domainB\x12\n\x10_preserve_lengthB\r\n\x0b_email_typeB\x17\n\x15_invalid_email_action\"\x0e\n\x0cGenerateBool\"G\n\x12GenerateCardNumber\x12\"\n\nvalid_luhn\x18\x01 \x01(\x08H\x00R\tvalidLuhn\x88\x01\x01\x42\r\n\x0b_valid_luhn\"\x0e\n\x0cGenerateCity\"\x11\n\x0fGenerateDefault\"W\n\x17GenerateE164PhoneNumber\x12\x15\n\x03min\x18\x01 \x01(\x03H\x00R\x03min\x88\x01\x01\x12\x15\n\x03max\x18\x02 \x01(\x03H\x01R\x03max\x88\x01\x01\x42\x06\n\x04_minB\x06\n\x04_max\"\x13\n\x11GenerateFirstName\"\xbf\x01\n\x0fGenerateFloat64\x12*\n\x0erandomize_sign\x18\x01 \x01(\x08H\x00R\rrandomizeSign\x88\x01\x01\x12\x15\n\x03min\x18\x02 \x01(\x01H\x01R\x03min\x88\x01\x01\x12\x15\n\x03max\x18\x03 \x01(\x01H\x02R\x03max\x88\x01\x01\x12!\n\tprecision\x18\x04 \x01(\x03H\x03R\tprecision\x88\x01\x01\x42\x11\n\x0f_randomize_signB\x06\n\x04_minB\x06\n\x04_maxB\x0c\n\n_precision\"\x15\n\x13GenerateFullAddress\"\x12\n\x10GenerateFullName\"D\n\x0eGenerateGender\x12#\n\nabbreviate\x18\x01 \x01(\x08H\x00R\nabbreviate\x88\x01\x01\x42\r\n\x0b_abbreviate\"\x1a\n\x18GenerateInt64PhoneNumber\"\x8c\x01\n\rGenerateInt64\x12*\n\x0erandomize_sign\x18\x01 \x01(\x08H\x00R\rrandomizeSign\x88\x01\x01\x12\x15\n\x03min\x18\x02 \x01(\x03H\x01R\x03min\x88\x01\x01\x12\x15\n\x03max\x18\x03 \x01(\x03H\x02R\x03max\x88\x01\x01\x42\x11\n\x0f_randomize_signB\x06\n\x04_minB\x06\n\x04_max\"\x12\n\x10GenerateLastName\"\x14\n\x12GenerateSha256Hash\"\r\n\x0bGenerateSSN\"Y\n\rGenerateState\x12\x31\n\x12generate_full_name\x18\x01 \x01(\x08H\x00R\x10generateFullName\x88\x01\x01\x42\x15\n\x13_generate_full_name\"\x17\n\x15GenerateStreetAddress\"Y\n\x19GenerateStringPhoneNumber\x12\x15\n\x03min\x18\x02 \x01(\x03H\x00R\x03min\x88\x01\x01\x12\x15\n\x03max\x18\x03 \x01(\x03H\x01R\x03max\x88\x01\x01\x42\x06\n\x04_minB\x06\n\x04_max\"N\n\x0eGenerateString\x12\x15\n\x03min\x18\x01 \x01(\x03H\x00R\x03min\x88\x01\x01\x12\x15\n\x03max\x18\x02 \x01(\x03H\x01R\x03max\x88\x01\x01\x42\x06\n\x04_minB\x06\n\x04_max\"\x17\n\x15GenerateUnixTimestamp\"\x12\n\x10GenerateUsername\"\x16\n\x14GenerateUtcTimestamp\"P\n\x0cGenerateUuid\x12,\n\x0finclude_hyphens\x18\x01 \x01(\x08H\x00R\x0eincludeHyphens\x88\x01\x01\x42\x12\n\x10_include_hyphens\"\x11\n\x0fGenerateZipcode\"\\\n\x18TransformE164PhoneNumber\x12,\n\x0fpreserve_length\x18\x01 \x01(\x08H\x00R\x0epreserveLength\x88\x01\x01\x42\x12\n\x10_preserve_length\"V\n\x12TransformFirstName\x12,\n\x0fpreserve_length\x18\x01 \x01(\x08H\x00R\x0epreserveLength\x88\x01\x01\x42\x12\n\x10_preserve_length\"\xc4\x01\n\x10TransformFloat64\x12;\n\x17randomization_range_min\x18\x01 \x01(\x01H\x00R\x15randomizationRangeMin\x88\x01\x01\x12;\n\x17randomization_range_max\x18\x02 \x01(\x01H\x01R\x15randomizationRangeMax\x88\x01\x01\x42\x1a\n\x18_randomization_range_minB\x1a\n\x18_randomization_range_max\"U\n\x11TransformFullName\x12,\n\x0fpreserve_length\x18\x01 \x01(\x08H\x00R\x0epreserveLength\x88\x01\x01\x42\x12\n\x10_preserve_length\"]\n\x19TransformInt64PhoneNumber\x12,\n\x0fpreserve_length\x18\x01 \x01(\x08H\x00R\x0epreserveLength\x88\x01\x01\x42\x12\n\x10_preserve_length\"\xc2\x01\n\x0eTransformInt64\x12;\n\x17randomization_range_min\x18\x01 \x01(\x03H\x00R\x15randomizationRangeMin\x88\x01\x01\x12;\n\x17randomization_range_max\x18\x02 \x01(\x03H\x01R\x15randomizationRangeMax\x88\x01\x01\x42\x1a\n\x18_randomization_range_minB\x1a\n\x18_randomization_range_max\"U\n\x11TransformLastName\x12,\n\x0fpreserve_length\x18\x01 \x01(\x08H\x00R\x0epreserveLength\x88\x01\x01\x42\x12\n\x10_preserve_length\"X\n\x14TransformPhoneNumber\x12,\n\x0fpreserve_length\x18\x01 \x01(\x08H\x00R\x0epreserveLength\x88\x01\x01\x42\x12\n\x10_preserve_length\"S\n\x0fTransformString\x12,\n\x0fpreserve_length\x18\x01 \x01(\x08H\x00R\x0epreserveLength\x88\x01\x01\x42\x12\n\x10_preserve_length\"\r\n\x0bPassthrough\"\x06\n\x04Null\")\n\x13TransformJavascript\x12\x12\n\x04\x63ode\x18\x01 \x01(\tR\x04\x63ode\"8\n\x1cUserDefinedTransformerConfig\x12\x18\n\x02id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x02id\"F\n!ValidateUserJavascriptCodeRequest\x12\x1b\n\x04\x63ode\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x04\x63odeJ\x04\x08\x01\x10\x02\":\n\"ValidateUserJavascriptCodeResponse\x12\x14\n\x05valid\x18\x01 \x01(\x08R\x05valid\"I\n\x13GenerateCategorical\x12#\n\ncategories\x18\x01 \x01(\tH\x00R\ncategories\x88\x01\x01\x42\r\n\x0b_categories\"i\n\x1aTransformCharacterScramble\x12\x33\n\x13user_provided_regex\x18\x01 \x01(\tH\x00R\x11userProvidedRegex\x88\x01\x01\x42\x16\n\x14_user_provided_regex\"(\n\x12GenerateJavascript\x12\x12\n\x04\x63ode\x18\x01 \x01(\tR\x04\x63ode\"T\n\x1cValidateUserRegexCodeRequest\x12.\n\x13user_provided_regex\x18\x02 \x01(\tR\x11userProvidedRegexJ\x04\x08\x01\x10\x02\"5\n\x1dValidateUserRegexCodeResponse\x12\x14\n\x05valid\x18\x01 \x01(\x08R\x05valid\"[\n\x0fGenerateCountry\x12\x31\n\x12generate_full_name\x18\x01 \x01(\x08H\x00R\x10generateFullName\x88\x01\x01\x42\x15\n\x13_generate_full_name\"I\n\x1eGetTransformPiiEntitiesRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"=\n\x1fGetTransformPiiEntitiesResponse\x12\x1a\n\x08\x65ntities\x18\x01 \x03(\tR\x08\x65ntities\"\x16\n\x14GenerateBusinessName\"c\n\x11GenerateIpAddress\x12\x42\n\x07ip_type\x18\x01 \x01(\x0e\x32$.mgmt.v1alpha1.GenerateIpAddressTypeH\x00R\x06ipType\x88\x01\x01\x42\n\n\x08_ip_type\"\x0f\n\rTransformUuid*\x87\x11\n\x11TransformerSource\x12\"\n\x1eTRANSFORMER_SOURCE_UNSPECIFIED\x10\x00\x12\"\n\x1eTRANSFORMER_SOURCE_PASSTHROUGH\x10\x01\x12\'\n#TRANSFORMER_SOURCE_GENERATE_DEFAULT\x10\x02\x12+\n\'TRANSFORMER_SOURCE_TRANSFORM_JAVASCRIPT\x10\x03\x12%\n!TRANSFORMER_SOURCE_GENERATE_EMAIL\x10\x04\x12&\n\"TRANSFORMER_SOURCE_TRANSFORM_EMAIL\x10\x05\x12$\n TRANSFORMER_SOURCE_GENERATE_BOOL\x10\x06\x12+\n\'TRANSFORMER_SOURCE_GENERATE_CARD_NUMBER\x10\x07\x12$\n TRANSFORMER_SOURCE_GENERATE_CITY\x10\x08\x12\x31\n-TRANSFORMER_SOURCE_GENERATE_E164_PHONE_NUMBER\x10\t\x12*\n&TRANSFORMER_SOURCE_GENERATE_FIRST_NAME\x10\n\x12\'\n#TRANSFORMER_SOURCE_GENERATE_FLOAT64\x10\x0b\x12,\n(TRANSFORMER_SOURCE_GENERATE_FULL_ADDRESS\x10\x0c\x12)\n%TRANSFORMER_SOURCE_GENERATE_FULL_NAME\x10\r\x12&\n\"TRANSFORMER_SOURCE_GENERATE_GENDER\x10\x0e\x12\x32\n.TRANSFORMER_SOURCE_GENERATE_INT64_PHONE_NUMBER\x10\x0f\x12%\n!TRANSFORMER_SOURCE_GENERATE_INT64\x10\x10\x12,\n(TRANSFORMER_SOURCE_GENERATE_RANDOM_INT64\x10\x11\x12)\n%TRANSFORMER_SOURCE_GENERATE_LAST_NAME\x10\x12\x12*\n&TRANSFORMER_SOURCE_GENERATE_SHA256HASH\x10\x13\x12#\n\x1fTRANSFORMER_SOURCE_GENERATE_SSN\x10\x14\x12%\n!TRANSFORMER_SOURCE_GENERATE_STATE\x10\x15\x12.\n*TRANSFORMER_SOURCE_GENERATE_STREET_ADDRESS\x10\x16\x12\x33\n/TRANSFORMER_SOURCE_GENERATE_STRING_PHONE_NUMBER\x10\x17\x12&\n\"TRANSFORMER_SOURCE_GENERATE_STRING\x10\x18\x12-\n)TRANSFORMER_SOURCE_GENERATE_RANDOM_STRING\x10\x19\x12-\n)TRANSFORMER_SOURCE_GENERATE_UNIXTIMESTAMP\x10\x1a\x12(\n$TRANSFORMER_SOURCE_GENERATE_USERNAME\x10\x1b\x12,\n(TRANSFORMER_SOURCE_GENERATE_UTCTIMESTAMP\x10\x1c\x12$\n TRANSFORMER_SOURCE_GENERATE_UUID\x10\x1d\x12\'\n#TRANSFORMER_SOURCE_GENERATE_ZIPCODE\x10\x1e\x12\x32\n.TRANSFORMER_SOURCE_TRANSFORM_E164_PHONE_NUMBER\x10\x1f\x12+\n\'TRANSFORMER_SOURCE_TRANSFORM_FIRST_NAME\x10 \x12(\n$TRANSFORMER_SOURCE_TRANSFORM_FLOAT64\x10!\x12*\n&TRANSFORMER_SOURCE_TRANSFORM_FULL_NAME\x10\"\x12\x33\n/TRANSFORMER_SOURCE_TRANSFORM_INT64_PHONE_NUMBER\x10#\x12&\n\"TRANSFORMER_SOURCE_TRANSFORM_INT64\x10$\x12*\n&TRANSFORMER_SOURCE_TRANSFORM_LAST_NAME\x10%\x12-\n)TRANSFORMER_SOURCE_TRANSFORM_PHONE_NUMBER\x10&\x12\'\n#TRANSFORMER_SOURCE_TRANSFORM_STRING\x10\'\x12$\n TRANSFORMER_SOURCE_GENERATE_NULL\x10(\x12+\n\'TRANSFORMER_SOURCE_GENERATE_CATEGORICAL\x10*\x12\x33\n/TRANSFORMER_SOURCE_TRANSFORM_CHARACTER_SCRAMBLE\x10+\x12#\n\x1fTRANSFORMER_SOURCE_USER_DEFINED\x10,\x12*\n&TRANSFORMER_SOURCE_GENERATE_JAVASCRIPT\x10-\x12\'\n#TRANSFORMER_SOURCE_GENERATE_COUNTRY\x10.\x12)\n%TRANSFORMER_SOURCE_TRANSFORM_PII_TEXT\x10/\x12-\n)TRANSFORMER_SOURCE_GENERATE_BUSINESS_NAME\x10\x30\x12*\n&TRANSFORMER_SOURCE_GENERATE_IP_ADDRESS\x10\x31\x12%\n!TRANSFORMER_SOURCE_TRANSFORM_UUID\x10\x32*\xc4\x02\n\x13TransformerDataType\x12%\n!TRANSFORMER_DATA_TYPE_UNSPECIFIED\x10\x00\x12 \n\x1cTRANSFORMER_DATA_TYPE_STRING\x10\x01\x12\x1f\n\x1bTRANSFORMER_DATA_TYPE_INT64\x10\x02\x12!\n\x1dTRANSFORMER_DATA_TYPE_BOOLEAN\x10\x03\x12!\n\x1dTRANSFORMER_DATA_TYPE_FLOAT64\x10\x04\x12\x1e\n\x1aTRANSFORMER_DATA_TYPE_NULL\x10\x05\x12\x1d\n\x19TRANSFORMER_DATA_TYPE_ANY\x10\x06\x12\x1e\n\x1aTRANSFORMER_DATA_TYPE_TIME\x10\x07\x12\x1e\n\x1aTRANSFORMER_DATA_TYPE_UUID\x10\x08*t\n\x10SupportedJobType\x12\"\n\x1eSUPPORTED_JOB_TYPE_UNSPECIFIED\x10\x00\x12\x1b\n\x17SUPPORTED_JOB_TYPE_SYNC\x10\x01\x12\x1f\n\x1bSUPPORTED_JOB_TYPE_GENERATE\x10\x02*{\n\x11GenerateEmailType\x12#\n\x1fGENERATE_EMAIL_TYPE_UNSPECIFIED\x10\x00\x12\x1f\n\x1bGENERATE_EMAIL_TYPE_UUID_V4\x10\x01\x12 \n\x1cGENERATE_EMAIL_TYPE_FULLNAME\x10\x02*\xc3\x01\n\x12InvalidEmailAction\x12$\n INVALID_EMAIL_ACTION_UNSPECIFIED\x10\x00\x12\x1f\n\x1bINVALID_EMAIL_ACTION_REJECT\x10\x01\x12\x1d\n\x19INVALID_EMAIL_ACTION_NULL\x10\x02\x12$\n INVALID_EMAIL_ACTION_PASSTHROUGH\x10\x03\x12!\n\x1dINVALID_EMAIL_ACTION_GENERATE\x10\x04*\x8c\x03\n\x15GenerateIpAddressType\x12(\n$GENERATE_IP_ADDRESS_TYPE_UNSPECIFIED\x10\x00\x12&\n\"GENERATE_IP_ADDRESS_TYPE_V4_PUBLIC\x10\x01\x12)\n%GENERATE_IP_ADDRESS_TYPE_V4_PRIVATE_A\x10\x02\x12)\n%GENERATE_IP_ADDRESS_TYPE_V4_PRIVATE_B\x10\x03\x12)\n%GENERATE_IP_ADDRESS_TYPE_V4_PRIVATE_C\x10\x04\x12*\n&GENERATE_IP_ADDRESS_TYPE_V4_LINK_LOCAL\x10\x05\x12)\n%GENERATE_IP_ADDRESS_TYPE_V4_MULTICAST\x10\x06\x12(\n$GENERATE_IP_ADDRESS_TYPE_V4_LOOPBACK\x10\x07\x12\x1f\n\x1bGENERATE_IP_ADDRESS_TYPE_V6\x10\x08\x32\xd1\x0b\n\x13TransformersService\x12t\n\x15GetSystemTransformers\x12+.mgmt.v1alpha1.GetSystemTransformersRequest\x1a,.mgmt.v1alpha1.GetSystemTransformersResponse\"\x00\x12\x89\x01\n\x1cGetSystemTransformerBySource\x12\x32.mgmt.v1alpha1.GetSystemTransformerBySourceRequest\x1a\x33.mgmt.v1alpha1.GetSystemTransformerBySourceResponse\"\x00\x12\x83\x01\n\x1aGetUserDefinedTransformers\x12\x30.mgmt.v1alpha1.GetUserDefinedTransformersRequest\x1a\x31.mgmt.v1alpha1.GetUserDefinedTransformersResponse\"\x00\x12\x8c\x01\n\x1dGetUserDefinedTransformerById\x12\x33.mgmt.v1alpha1.GetUserDefinedTransformerByIdRequest\x1a\x34.mgmt.v1alpha1.GetUserDefinedTransformerByIdResponse\"\x00\x12\x89\x01\n\x1c\x43reateUserDefinedTransformer\x12\x32.mgmt.v1alpha1.CreateUserDefinedTransformerRequest\x1a\x33.mgmt.v1alpha1.CreateUserDefinedTransformerResponse\"\x00\x12\x89\x01\n\x1c\x44\x65leteUserDefinedTransformer\x12\x32.mgmt.v1alpha1.DeleteUserDefinedTransformerRequest\x1a\x33.mgmt.v1alpha1.DeleteUserDefinedTransformerResponse\"\x00\x12\x89\x01\n\x1cUpdateUserDefinedTransformer\x12\x32.mgmt.v1alpha1.UpdateUserDefinedTransformerRequest\x1a\x33.mgmt.v1alpha1.UpdateUserDefinedTransformerResponse\"\x00\x12\x83\x01\n\x1aIsTransformerNameAvailable\x12\x30.mgmt.v1alpha1.IsTransformerNameAvailableRequest\x1a\x31.mgmt.v1alpha1.IsTransformerNameAvailableResponse\"\x00\x12\x83\x01\n\x1aValidateUserJavascriptCode\x12\x30.mgmt.v1alpha1.ValidateUserJavascriptCodeRequest\x1a\x31.mgmt.v1alpha1.ValidateUserJavascriptCodeResponse\"\x00\x12t\n\x15ValidateUserRegexCode\x12+.mgmt.v1alpha1.ValidateUserRegexCodeRequest\x1a,.mgmt.v1alpha1.ValidateUserRegexCodeResponse\"\x00\x12}\n\x17GetTransformPiiEntities\x12-.mgmt.v1alpha1.GetTransformPiiEntitiesRequest\x1a..mgmt.v1alpha1.GetTransformPiiEntitiesResponse\"\x03\x90\x02\x01\x42\xcc\x01\n\x11\x63om.mgmt.v1alpha1B\x10TransformerProtoP\x01ZPgithub.com/nucleuscloud/neosync/backend/gen/go/protos/mgmt/v1alpha1;mgmtv1alpha1\xa2\x02\x03MXX\xaa\x02\rMgmt.V1alpha1\xca\x02\rMgmt\\V1alpha1\xe2\x02\x19Mgmt\\V1alpha1\\GPBMetadata\xea\x02\x0eMgmt::V1alpha1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1fmgmt/v1alpha1/transformer.proto\x12\rmgmt.v1alpha1\x1a\x1b\x62uf/validate/validate.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x1e\n\x1cGetSystemTransformersRequest\"e\n\x1dGetSystemTransformersResponse\x12\x44\n\x0ctransformers\x18\x01 \x03(\x0b\x32 .mgmt.v1alpha1.SystemTransformerR\x0ctransformers\"_\n#GetSystemTransformerBySourceRequest\x12\x38\n\x06source\x18\x01 \x01(\x0e\x32 .mgmt.v1alpha1.TransformerSourceR\x06source\"j\n$GetSystemTransformerBySourceResponse\x12\x42\n\x0btransformer\x18\x01 \x01(\x0b\x32 .mgmt.v1alpha1.SystemTransformerR\x0btransformer\"L\n!GetUserDefinedTransformersRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"o\n\"GetUserDefinedTransformersResponse\x12I\n\x0ctransformers\x18\x01 \x03(\x0b\x32%.mgmt.v1alpha1.UserDefinedTransformerR\x0ctransformers\"W\n$GetUserDefinedTransformerByIdRequest\x12/\n\x0etransformer_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\rtransformerId\"p\n%GetUserDefinedTransformerByIdResponse\x12G\n\x0btransformer\x18\x01 \x01(\x0b\x32%.mgmt.v1alpha1.UserDefinedTransformerR\x0btransformer\"\xb0\x02\n#CreateUserDefinedTransformerRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12-\n\x04name\x18\x02 \x01(\tB\x19\xbaH\x16r\x14\x32\x12^[a-z0-9-]{3,100}$R\x04name\x12 \n\x0b\x64\x65scription\x18\x03 \x01(\tR\x0b\x64\x65scription\x12\x38\n\x06source\x18\x05 \x01(\x0e\x32 .mgmt.v1alpha1.TransformerSourceR\x06source\x12O\n\x12transformer_config\x18\x06 \x01(\x0b\x32 .mgmt.v1alpha1.TransformerConfigR\x11transformerConfigJ\x04\x08\x04\x10\x05\"o\n$CreateUserDefinedTransformerResponse\x12G\n\x0btransformer\x18\x01 \x01(\x0b\x32%.mgmt.v1alpha1.UserDefinedTransformerR\x0btransformer\"V\n#DeleteUserDefinedTransformerRequest\x12/\n\x0etransformer_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\rtransformerId\"&\n$DeleteUserDefinedTransformerResponse\"\xf8\x01\n#UpdateUserDefinedTransformerRequest\x12/\n\x0etransformer_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\rtransformerId\x12-\n\x04name\x18\x02 \x01(\tB\x19\xbaH\x16r\x14\x32\x12^[a-z0-9-]{3,100}$R\x04name\x12 \n\x0b\x64\x65scription\x18\x03 \x01(\tR\x0b\x64\x65scription\x12O\n\x12transformer_config\x18\x04 \x01(\x0b\x32 .mgmt.v1alpha1.TransformerConfigR\x11transformerConfig\"o\n$UpdateUserDefinedTransformerResponse\x12G\n\x0btransformer\x18\x01 \x01(\x0b\x32%.mgmt.v1alpha1.UserDefinedTransformerR\x0btransformer\"\x92\x01\n!IsTransformerNameAvailableRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12\x44\n\x10transformer_name\x18\x02 \x01(\tB\x19\xbaH\x16r\x14\x32\x12^[a-z0-9-]{3,100}$R\x0ftransformerName\"G\n\"IsTransformerNameAvailableResponse\x12!\n\x0cis_available\x18\x01 \x01(\x08R\x0bisAvailable\"\xff\x03\n\x16UserDefinedTransformer\x12\x18\n\x02id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12 \n\x0b\x64\x65scription\x18\x03 \x01(\tR\x0b\x64\x65scription\x12\x43\n\tdata_type\x18\x05 \x01(\x0e\x32\".mgmt.v1alpha1.TransformerDataTypeB\x02\x18\x01R\x08\x64\x61taType\x12\x38\n\x06source\x18\x06 \x01(\x0e\x32 .mgmt.v1alpha1.TransformerSourceR\x06source\x12\x38\n\x06\x63onfig\x18\x07 \x01(\x0b\x32 .mgmt.v1alpha1.TransformerConfigR\x06\x63onfig\x12\x39\n\ncreated_at\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x39\n\nupdated_at\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tupdatedAt\x12\x1d\n\naccount_id\x18\n \x01(\tR\taccountId\x12\x41\n\ndata_types\x18\x0b \x03(\x0e\x32\".mgmt.v1alpha1.TransformerDataTypeR\tdataTypesJ\x04\x08\x04\x10\x05\"\x96\x03\n\x11SystemTransformer\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x43\n\tdata_type\x18\x03 \x01(\x0e\x32\".mgmt.v1alpha1.TransformerDataTypeB\x02\x18\x01R\x08\x64\x61taType\x12\x38\n\x06source\x18\x04 \x01(\x0e\x32 .mgmt.v1alpha1.TransformerSourceR\x06source\x12\x38\n\x06\x63onfig\x18\x05 \x01(\x0b\x32 .mgmt.v1alpha1.TransformerConfigR\x06\x63onfig\x12\x41\n\ndata_types\x18\x06 \x03(\x0e\x32\".mgmt.v1alpha1.TransformerDataTypeR\tdataTypes\x12O\n\x13supported_job_types\x18\x07 \x03(\x0e\x32\x1f.mgmt.v1alpha1.SupportedJobTypeR\x11supportedJobTypes\"\xce#\n\x11TransformerConfig\x12R\n\x15generate_email_config\x18\x01 \x01(\x0b\x32\x1c.mgmt.v1alpha1.GenerateEmailH\x00R\x13generateEmailConfig\x12U\n\x16transform_email_config\x18\x02 \x01(\x0b\x32\x1d.mgmt.v1alpha1.TransformEmailH\x00R\x14transformEmailConfig\x12O\n\x14generate_bool_config\x18\x03 \x01(\x0b\x32\x1b.mgmt.v1alpha1.GenerateBoolH\x00R\x12generateBoolConfig\x12\x62\n\x1bgenerate_card_number_config\x18\x04 \x01(\x0b\x32!.mgmt.v1alpha1.GenerateCardNumberH\x00R\x18generateCardNumberConfig\x12O\n\x14generate_city_config\x18\x05 \x01(\x0b\x32\x1b.mgmt.v1alpha1.GenerateCityH\x00R\x12generateCityConfig\x12r\n!generate_e164_phone_number_config\x18\x06 \x01(\x0b\x32&.mgmt.v1alpha1.GenerateE164PhoneNumberH\x00R\x1dgenerateE164PhoneNumberConfig\x12_\n\x1agenerate_first_name_config\x18\x07 \x01(\x0b\x32 .mgmt.v1alpha1.GenerateFirstNameH\x00R\x17generateFirstNameConfig\x12X\n\x17generate_float64_config\x18\x08 \x01(\x0b\x32\x1e.mgmt.v1alpha1.GenerateFloat64H\x00R\x15generateFloat64Config\x12\x65\n\x1cgenerate_full_address_config\x18\t \x01(\x0b\x32\".mgmt.v1alpha1.GenerateFullAddressH\x00R\x19generateFullAddressConfig\x12\\\n\x19generate_full_name_config\x18\n \x01(\x0b\x32\x1f.mgmt.v1alpha1.GenerateFullNameH\x00R\x16generateFullNameConfig\x12U\n\x16generate_gender_config\x18\x0b \x01(\x0b\x32\x1d.mgmt.v1alpha1.GenerateGenderH\x00R\x14generateGenderConfig\x12u\n\"generate_int64_phone_number_config\x18\x0c \x01(\x0b\x32\'.mgmt.v1alpha1.GenerateInt64PhoneNumberH\x00R\x1egenerateInt64PhoneNumberConfig\x12R\n\x15generate_int64_config\x18\r \x01(\x0b\x32\x1c.mgmt.v1alpha1.GenerateInt64H\x00R\x13generateInt64Config\x12\\\n\x19generate_last_name_config\x18\x0e \x01(\x0b\x32\x1f.mgmt.v1alpha1.GenerateLastNameH\x00R\x16generateLastNameConfig\x12\x61\n\x1agenerate_sha256hash_config\x18\x0f \x01(\x0b\x32!.mgmt.v1alpha1.GenerateSha256HashH\x00R\x18generateSha256hashConfig\x12L\n\x13generate_ssn_config\x18\x10 \x01(\x0b\x32\x1a.mgmt.v1alpha1.GenerateSSNH\x00R\x11generateSsnConfig\x12R\n\x15generate_state_config\x18\x11 \x01(\x0b\x32\x1c.mgmt.v1alpha1.GenerateStateH\x00R\x13generateStateConfig\x12k\n\x1egenerate_street_address_config\x18\x12 \x01(\x0b\x32$.mgmt.v1alpha1.GenerateStreetAddressH\x00R\x1bgenerateStreetAddressConfig\x12x\n#generate_string_phone_number_config\x18\x13 \x01(\x0b\x32(.mgmt.v1alpha1.GenerateStringPhoneNumberH\x00R\x1fgenerateStringPhoneNumberConfig\x12U\n\x16generate_string_config\x18\x14 \x01(\x0b\x32\x1d.mgmt.v1alpha1.GenerateStringH\x00R\x14generateStringConfig\x12j\n\x1dgenerate_unixtimestamp_config\x18\x15 \x01(\x0b\x32$.mgmt.v1alpha1.GenerateUnixTimestampH\x00R\x1bgenerateUnixtimestampConfig\x12[\n\x18generate_username_config\x18\x16 \x01(\x0b\x32\x1f.mgmt.v1alpha1.GenerateUsernameH\x00R\x16generateUsernameConfig\x12g\n\x1cgenerate_utctimestamp_config\x18\x17 \x01(\x0b\x32#.mgmt.v1alpha1.GenerateUtcTimestampH\x00R\x1agenerateUtctimestampConfig\x12O\n\x14generate_uuid_config\x18\x18 \x01(\x0b\x32\x1b.mgmt.v1alpha1.GenerateUuidH\x00R\x12generateUuidConfig\x12X\n\x17generate_zipcode_config\x18\x19 \x01(\x0b\x32\x1e.mgmt.v1alpha1.GenerateZipcodeH\x00R\x15generateZipcodeConfig\x12u\n\"transform_e164_phone_number_config\x18\x1a \x01(\x0b\x32\'.mgmt.v1alpha1.TransformE164PhoneNumberH\x00R\x1etransformE164PhoneNumberConfig\x12\x62\n\x1btransform_first_name_config\x18\x1b \x01(\x0b\x32!.mgmt.v1alpha1.TransformFirstNameH\x00R\x18transformFirstNameConfig\x12[\n\x18transform_float64_config\x18\x1c \x01(\x0b\x32\x1f.mgmt.v1alpha1.TransformFloat64H\x00R\x16transformFloat64Config\x12_\n\x1atransform_full_name_config\x18\x1d \x01(\x0b\x32 .mgmt.v1alpha1.TransformFullNameH\x00R\x17transformFullNameConfig\x12x\n#transform_int64_phone_number_config\x18\x1e \x01(\x0b\x32(.mgmt.v1alpha1.TransformInt64PhoneNumberH\x00R\x1ftransformInt64PhoneNumberConfig\x12U\n\x16transform_int64_config\x18\x1f \x01(\x0b\x32\x1d.mgmt.v1alpha1.TransformInt64H\x00R\x14transformInt64Config\x12_\n\x1atransform_last_name_config\x18 \x01(\x0b\x32 .mgmt.v1alpha1.TransformLastNameH\x00R\x17transformLastNameConfig\x12h\n\x1dtransform_phone_number_config\x18! \x01(\x0b\x32#.mgmt.v1alpha1.TransformPhoneNumberH\x00R\x1atransformPhoneNumberConfig\x12X\n\x17transform_string_config\x18\" \x01(\x0b\x32\x1e.mgmt.v1alpha1.TransformStringH\x00R\x15transformStringConfig\x12K\n\x12passthrough_config\x18# \x01(\x0b\x32\x1a.mgmt.v1alpha1.PassthroughH\x00R\x11passthroughConfig\x12\x35\n\nnullconfig\x18$ \x01(\x0b\x32\x13.mgmt.v1alpha1.NullH\x00R\nnullconfig\x12t\n\x1fuser_defined_transformer_config\x18% \x01(\x0b\x32+.mgmt.v1alpha1.UserDefinedTransformerConfigH\x00R\x1cuserDefinedTransformerConfig\x12X\n\x17generate_default_config\x18& \x01(\x0b\x32\x1e.mgmt.v1alpha1.GenerateDefaultH\x00R\x15generateDefaultConfig\x12\x64\n\x1btransform_javascript_config\x18\' \x01(\x0b\x32\".mgmt.v1alpha1.TransformJavascriptH\x00R\x19transformJavascriptConfig\x12\x64\n\x1bgenerate_categorical_config\x18( \x01(\x0b\x32\".mgmt.v1alpha1.GenerateCategoricalH\x00R\x19generateCategoricalConfig\x12z\n#transform_character_scramble_config\x18) \x01(\x0b\x32).mgmt.v1alpha1.TransformCharacterScrambleH\x00R transformCharacterScrambleConfig\x12\x61\n\x1agenerate_javascript_config\x18* \x01(\x0b\x32!.mgmt.v1alpha1.GenerateJavascriptH\x00R\x18generateJavascriptConfig\x12X\n\x17generate_country_config\x18+ \x01(\x0b\x32\x1e.mgmt.v1alpha1.GenerateCountryH\x00R\x15generateCountryConfig\x12\\\n\x19transform_pii_text_config\x18, \x01(\x0b\x32\x1f.mgmt.v1alpha1.TransformPiiTextH\x00R\x16transformPiiTextConfig\x12h\n\x1dgenerate_business_name_config\x18- \x01(\x0b\x32#.mgmt.v1alpha1.GenerateBusinessNameH\x00R\x1agenerateBusinessNameConfig\x12_\n\x1agenerate_ip_address_config\x18. \x01(\x0b\x32 .mgmt.v1alpha1.GenerateIpAddressH\x00R\x17generateIpAddressConfig\x12R\n\x15transform_uuid_config\x18/ \x01(\x0b\x32\x1c.mgmt.v1alpha1.TransformUuidH\x00R\x13transformUuidConfigB\x0f\n\x06\x63onfig\x12\x05\xbaH\x02\x08\x01\"\xc1\x04\n\x10TransformPiiText\x12\x38\n\x0fscore_threshold\x18\x01 \x01(\x02\x42\x0f\xbaH\x0c\n\n\x1d\x00\x00\x80?-\x00\x00\x00\x00R\x0escoreThreshold\x12K\n\x12\x64\x65\x66\x61ult_anonymizer\x18\x02 \x01(\x0b\x32\x1c.mgmt.v1alpha1.PiiAnonymizerR\x11\x64\x65\x66\x61ultAnonymizer\x12K\n\x10\x64\x65ny_recognizers\x18\x03 \x03(\x0b\x32 .mgmt.v1alpha1.PiiDenyRecognizerR\x0f\x64\x65nyRecognizers\x12\x37\n\x10\x61llowed_entities\x18\x04 \x03(\tB\x0c\xbaH\t\x92\x01\x06\"\x04r\x02\x10\x01R\x0f\x61llowedEntities\x12\'\n\x0f\x61llowed_phrases\x18\x05 \x03(\tR\x0e\x61llowedPhrases\x12\x1f\n\x08language\x18\x06 \x01(\tH\x00R\x08language\x88\x01\x01\x12\x65\n\x12\x65ntity_anonymizers\x18\x07 \x03(\x0b\x32\x36.mgmt.v1alpha1.TransformPiiText.EntityAnonymizersEntryR\x11\x65ntityAnonymizers\x1a\x62\n\x16\x45ntityAnonymizersEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x32\n\x05value\x18\x02 \x01(\x0b\x32\x1c.mgmt.v1alpha1.PiiAnonymizerR\x05value:\x02\x38\x01\x42\x0b\n\t_language\"p\n\x11PiiDenyRecognizer\x12.\n\x04name\x18\x01 \x01(\tB\x1a\xbaH\x17r\x15\x32\x13^[a-z0-9-_]{1,100}$R\x04name\x12+\n\ndeny_words\x18\x02 \x03(\tB\x0c\xbaH\t\x92\x01\x06\"\x04r\x02\x10\x01R\tdenyWords\"\xbc\x06\n\rPiiAnonymizer\x12@\n\x07replace\x18\x01 \x01(\x0b\x32$.mgmt.v1alpha1.PiiAnonymizer.ReplaceH\x00R\x07replace\x12=\n\x06redact\x18\x02 \x01(\x0b\x32#.mgmt.v1alpha1.PiiAnonymizer.RedactH\x00R\x06redact\x12\x37\n\x04mask\x18\x03 \x01(\x0b\x32!.mgmt.v1alpha1.PiiAnonymizer.MaskH\x00R\x04mask\x12\x37\n\x04hash\x18\x04 \x01(\x0b\x32!.mgmt.v1alpha1.PiiAnonymizer.HashH\x00R\x04hash\x12\x46\n\ttransform\x18\x05 \x01(\x0b\x32&.mgmt.v1alpha1.PiiAnonymizer.TransformH\x00R\ttransform\x1a.\n\x07Replace\x12\x19\n\x05value\x18\x01 \x01(\tH\x00R\x05value\x88\x01\x01\x42\x08\n\x06_value\x1a\x08\n\x06Redact\x1a\xa7\x01\n\x04Mask\x12&\n\x0cmasking_char\x18\x01 \x01(\tH\x00R\x0bmaskingChar\x88\x01\x01\x12\'\n\rchars_to_mask\x18\x02 \x01(\x05H\x01R\x0b\x63harsToMask\x88\x01\x01\x12\x1e\n\x08\x66rom_end\x18\x03 \x01(\x08H\x02R\x07\x66romEnd\x88\x01\x01\x42\x0f\n\r_masking_charB\x10\n\x0e_chars_to_maskB\x0b\n\t_from_end\x1a\xba\x01\n\x04Hash\x12\x43\n\x04\x61lgo\x18\x01 \x01(\x0e\x32*.mgmt.v1alpha1.PiiAnonymizer.Hash.HashTypeH\x00R\x04\x61lgo\x88\x01\x01\"d\n\x08HashType\x12\x19\n\x15HASH_TYPE_UNSPECIFIED\x10\x00\x12\x11\n\rHASH_TYPE_MD5\x10\x01\x12\x14\n\x10HASH_TYPE_SHA256\x10\x02\x12\x14\n\x10HASH_TYPE_SHA512\x10\x03\x42\x07\n\x05_algo\x1a\x45\n\tTransform\x12\x38\n\x06\x63onfig\x18\x01 \x01(\x0b\x32 .mgmt.v1alpha1.TransformerConfigR\x06\x63onfigB\x08\n\x06\x63onfig\"d\n\rGenerateEmail\x12\x44\n\nemail_type\x18\x01 \x01(\x0e\x32 .mgmt.v1alpha1.GenerateEmailTypeH\x00R\temailType\x88\x01\x01\x42\r\n\x0b_email_type\"\x87\x03\n\x0eTransformEmail\x12,\n\x0fpreserve_domain\x18\x01 \x01(\x08H\x00R\x0epreserveDomain\x88\x01\x01\x12,\n\x0fpreserve_length\x18\x02 \x01(\x08H\x01R\x0epreserveLength\x88\x01\x01\x12)\n\x10\x65xcluded_domains\x18\x03 \x03(\tR\x0f\x65xcludedDomains\x12\x44\n\nemail_type\x18\x04 \x01(\x0e\x32 .mgmt.v1alpha1.GenerateEmailTypeH\x02R\temailType\x88\x01\x01\x12X\n\x14invalid_email_action\x18\x05 \x01(\x0e\x32!.mgmt.v1alpha1.InvalidEmailActionH\x03R\x12invalidEmailAction\x88\x01\x01\x42\x12\n\x10_preserve_domainB\x12\n\x10_preserve_lengthB\r\n\x0b_email_typeB\x17\n\x15_invalid_email_action\"\x0e\n\x0cGenerateBool\"G\n\x12GenerateCardNumber\x12\"\n\nvalid_luhn\x18\x01 \x01(\x08H\x00R\tvalidLuhn\x88\x01\x01\x42\r\n\x0b_valid_luhn\"\x0e\n\x0cGenerateCity\"\x11\n\x0fGenerateDefault\"W\n\x17GenerateE164PhoneNumber\x12\x15\n\x03min\x18\x01 \x01(\x03H\x00R\x03min\x88\x01\x01\x12\x15\n\x03max\x18\x02 \x01(\x03H\x01R\x03max\x88\x01\x01\x42\x06\n\x04_minB\x06\n\x04_max\"\x13\n\x11GenerateFirstName\"\xbf\x01\n\x0fGenerateFloat64\x12*\n\x0erandomize_sign\x18\x01 \x01(\x08H\x00R\rrandomizeSign\x88\x01\x01\x12\x15\n\x03min\x18\x02 \x01(\x01H\x01R\x03min\x88\x01\x01\x12\x15\n\x03max\x18\x03 \x01(\x01H\x02R\x03max\x88\x01\x01\x12!\n\tprecision\x18\x04 \x01(\x03H\x03R\tprecision\x88\x01\x01\x42\x11\n\x0f_randomize_signB\x06\n\x04_minB\x06\n\x04_maxB\x0c\n\n_precision\"\x15\n\x13GenerateFullAddress\"\x12\n\x10GenerateFullName\"D\n\x0eGenerateGender\x12#\n\nabbreviate\x18\x01 \x01(\x08H\x00R\nabbreviate\x88\x01\x01\x42\r\n\x0b_abbreviate\"\x1a\n\x18GenerateInt64PhoneNumber\"\x8c\x01\n\rGenerateInt64\x12*\n\x0erandomize_sign\x18\x01 \x01(\x08H\x00R\rrandomizeSign\x88\x01\x01\x12\x15\n\x03min\x18\x02 \x01(\x03H\x01R\x03min\x88\x01\x01\x12\x15\n\x03max\x18\x03 \x01(\x03H\x02R\x03max\x88\x01\x01\x42\x11\n\x0f_randomize_signB\x06\n\x04_minB\x06\n\x04_max\"\x12\n\x10GenerateLastName\"\x14\n\x12GenerateSha256Hash\"\r\n\x0bGenerateSSN\"Y\n\rGenerateState\x12\x31\n\x12generate_full_name\x18\x01 \x01(\x08H\x00R\x10generateFullName\x88\x01\x01\x42\x15\n\x13_generate_full_name\"\x17\n\x15GenerateStreetAddress\"_\n\x19GenerateStringPhoneNumber\x12\x15\n\x03min\x18\x02 \x01(\x03H\x00R\x03min\x88\x01\x01\x12\x15\n\x03max\x18\x03 \x01(\x03H\x01R\x03max\x88\x01\x01\x42\x06\n\x04_minB\x06\n\x04_maxJ\x04\x08\x01\x10\x02\"N\n\x0eGenerateString\x12\x15\n\x03min\x18\x01 \x01(\x03H\x00R\x03min\x88\x01\x01\x12\x15\n\x03max\x18\x02 \x01(\x03H\x01R\x03max\x88\x01\x01\x42\x06\n\x04_minB\x06\n\x04_max\"\x17\n\x15GenerateUnixTimestamp\"\x12\n\x10GenerateUsername\"\x16\n\x14GenerateUtcTimestamp\"P\n\x0cGenerateUuid\x12,\n\x0finclude_hyphens\x18\x01 \x01(\x08H\x00R\x0eincludeHyphens\x88\x01\x01\x42\x12\n\x10_include_hyphens\"\x11\n\x0fGenerateZipcode\"\\\n\x18TransformE164PhoneNumber\x12,\n\x0fpreserve_length\x18\x01 \x01(\x08H\x00R\x0epreserveLength\x88\x01\x01\x42\x12\n\x10_preserve_length\"V\n\x12TransformFirstName\x12,\n\x0fpreserve_length\x18\x01 \x01(\x08H\x00R\x0epreserveLength\x88\x01\x01\x42\x12\n\x10_preserve_length\"\xc4\x01\n\x10TransformFloat64\x12;\n\x17randomization_range_min\x18\x01 \x01(\x01H\x00R\x15randomizationRangeMin\x88\x01\x01\x12;\n\x17randomization_range_max\x18\x02 \x01(\x01H\x01R\x15randomizationRangeMax\x88\x01\x01\x42\x1a\n\x18_randomization_range_minB\x1a\n\x18_randomization_range_max\"U\n\x11TransformFullName\x12,\n\x0fpreserve_length\x18\x01 \x01(\x08H\x00R\x0epreserveLength\x88\x01\x01\x42\x12\n\x10_preserve_length\"]\n\x19TransformInt64PhoneNumber\x12,\n\x0fpreserve_length\x18\x01 \x01(\x08H\x00R\x0epreserveLength\x88\x01\x01\x42\x12\n\x10_preserve_length\"\xc2\x01\n\x0eTransformInt64\x12;\n\x17randomization_range_min\x18\x01 \x01(\x03H\x00R\x15randomizationRangeMin\x88\x01\x01\x12;\n\x17randomization_range_max\x18\x02 \x01(\x03H\x01R\x15randomizationRangeMax\x88\x01\x01\x42\x1a\n\x18_randomization_range_minB\x1a\n\x18_randomization_range_max\"U\n\x11TransformLastName\x12,\n\x0fpreserve_length\x18\x01 \x01(\x08H\x00R\x0epreserveLength\x88\x01\x01\x42\x12\n\x10_preserve_length\"X\n\x14TransformPhoneNumber\x12,\n\x0fpreserve_length\x18\x01 \x01(\x08H\x00R\x0epreserveLength\x88\x01\x01\x42\x12\n\x10_preserve_length\"S\n\x0fTransformString\x12,\n\x0fpreserve_length\x18\x01 \x01(\x08H\x00R\x0epreserveLength\x88\x01\x01\x42\x12\n\x10_preserve_length\"\r\n\x0bPassthrough\"\x06\n\x04Null\")\n\x13TransformJavascript\x12\x12\n\x04\x63ode\x18\x01 \x01(\tR\x04\x63ode\"8\n\x1cUserDefinedTransformerConfig\x12\x18\n\x02id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x02id\"F\n!ValidateUserJavascriptCodeRequest\x12\x1b\n\x04\x63ode\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x04\x63odeJ\x04\x08\x01\x10\x02\":\n\"ValidateUserJavascriptCodeResponse\x12\x14\n\x05valid\x18\x01 \x01(\x08R\x05valid\"I\n\x13GenerateCategorical\x12#\n\ncategories\x18\x01 \x01(\tH\x00R\ncategories\x88\x01\x01\x42\r\n\x0b_categories\"i\n\x1aTransformCharacterScramble\x12\x33\n\x13user_provided_regex\x18\x01 \x01(\tH\x00R\x11userProvidedRegex\x88\x01\x01\x42\x16\n\x14_user_provided_regex\"(\n\x12GenerateJavascript\x12\x12\n\x04\x63ode\x18\x01 \x01(\tR\x04\x63ode\"T\n\x1cValidateUserRegexCodeRequest\x12.\n\x13user_provided_regex\x18\x02 \x01(\tR\x11userProvidedRegexJ\x04\x08\x01\x10\x02\"5\n\x1dValidateUserRegexCodeResponse\x12\x14\n\x05valid\x18\x01 \x01(\x08R\x05valid\"[\n\x0fGenerateCountry\x12\x31\n\x12generate_full_name\x18\x01 \x01(\x08H\x00R\x10generateFullName\x88\x01\x01\x42\x15\n\x13_generate_full_name\"I\n\x1eGetTransformPiiEntitiesRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"=\n\x1fGetTransformPiiEntitiesResponse\x12\x1a\n\x08\x65ntities\x18\x01 \x03(\tR\x08\x65ntities\"\x16\n\x14GenerateBusinessName\"c\n\x11GenerateIpAddress\x12\x42\n\x07ip_type\x18\x01 \x01(\x0e\x32$.mgmt.v1alpha1.GenerateIpAddressTypeH\x00R\x06ipType\x88\x01\x01\x42\n\n\x08_ip_type\"\x0f\n\rTransformUuid*\x87\x11\n\x11TransformerSource\x12\"\n\x1eTRANSFORMER_SOURCE_UNSPECIFIED\x10\x00\x12\"\n\x1eTRANSFORMER_SOURCE_PASSTHROUGH\x10\x01\x12\'\n#TRANSFORMER_SOURCE_GENERATE_DEFAULT\x10\x02\x12+\n\'TRANSFORMER_SOURCE_TRANSFORM_JAVASCRIPT\x10\x03\x12%\n!TRANSFORMER_SOURCE_GENERATE_EMAIL\x10\x04\x12&\n\"TRANSFORMER_SOURCE_TRANSFORM_EMAIL\x10\x05\x12$\n TRANSFORMER_SOURCE_GENERATE_BOOL\x10\x06\x12+\n\'TRANSFORMER_SOURCE_GENERATE_CARD_NUMBER\x10\x07\x12$\n TRANSFORMER_SOURCE_GENERATE_CITY\x10\x08\x12\x31\n-TRANSFORMER_SOURCE_GENERATE_E164_PHONE_NUMBER\x10\t\x12*\n&TRANSFORMER_SOURCE_GENERATE_FIRST_NAME\x10\n\x12\'\n#TRANSFORMER_SOURCE_GENERATE_FLOAT64\x10\x0b\x12,\n(TRANSFORMER_SOURCE_GENERATE_FULL_ADDRESS\x10\x0c\x12)\n%TRANSFORMER_SOURCE_GENERATE_FULL_NAME\x10\r\x12&\n\"TRANSFORMER_SOURCE_GENERATE_GENDER\x10\x0e\x12\x32\n.TRANSFORMER_SOURCE_GENERATE_INT64_PHONE_NUMBER\x10\x0f\x12%\n!TRANSFORMER_SOURCE_GENERATE_INT64\x10\x10\x12,\n(TRANSFORMER_SOURCE_GENERATE_RANDOM_INT64\x10\x11\x12)\n%TRANSFORMER_SOURCE_GENERATE_LAST_NAME\x10\x12\x12*\n&TRANSFORMER_SOURCE_GENERATE_SHA256HASH\x10\x13\x12#\n\x1fTRANSFORMER_SOURCE_GENERATE_SSN\x10\x14\x12%\n!TRANSFORMER_SOURCE_GENERATE_STATE\x10\x15\x12.\n*TRANSFORMER_SOURCE_GENERATE_STREET_ADDRESS\x10\x16\x12\x33\n/TRANSFORMER_SOURCE_GENERATE_STRING_PHONE_NUMBER\x10\x17\x12&\n\"TRANSFORMER_SOURCE_GENERATE_STRING\x10\x18\x12-\n)TRANSFORMER_SOURCE_GENERATE_RANDOM_STRING\x10\x19\x12-\n)TRANSFORMER_SOURCE_GENERATE_UNIXTIMESTAMP\x10\x1a\x12(\n$TRANSFORMER_SOURCE_GENERATE_USERNAME\x10\x1b\x12,\n(TRANSFORMER_SOURCE_GENERATE_UTCTIMESTAMP\x10\x1c\x12$\n TRANSFORMER_SOURCE_GENERATE_UUID\x10\x1d\x12\'\n#TRANSFORMER_SOURCE_GENERATE_ZIPCODE\x10\x1e\x12\x32\n.TRANSFORMER_SOURCE_TRANSFORM_E164_PHONE_NUMBER\x10\x1f\x12+\n\'TRANSFORMER_SOURCE_TRANSFORM_FIRST_NAME\x10 \x12(\n$TRANSFORMER_SOURCE_TRANSFORM_FLOAT64\x10!\x12*\n&TRANSFORMER_SOURCE_TRANSFORM_FULL_NAME\x10\"\x12\x33\n/TRANSFORMER_SOURCE_TRANSFORM_INT64_PHONE_NUMBER\x10#\x12&\n\"TRANSFORMER_SOURCE_TRANSFORM_INT64\x10$\x12*\n&TRANSFORMER_SOURCE_TRANSFORM_LAST_NAME\x10%\x12-\n)TRANSFORMER_SOURCE_TRANSFORM_PHONE_NUMBER\x10&\x12\'\n#TRANSFORMER_SOURCE_TRANSFORM_STRING\x10\'\x12$\n TRANSFORMER_SOURCE_GENERATE_NULL\x10(\x12+\n\'TRANSFORMER_SOURCE_GENERATE_CATEGORICAL\x10*\x12\x33\n/TRANSFORMER_SOURCE_TRANSFORM_CHARACTER_SCRAMBLE\x10+\x12#\n\x1fTRANSFORMER_SOURCE_USER_DEFINED\x10,\x12*\n&TRANSFORMER_SOURCE_GENERATE_JAVASCRIPT\x10-\x12\'\n#TRANSFORMER_SOURCE_GENERATE_COUNTRY\x10.\x12)\n%TRANSFORMER_SOURCE_TRANSFORM_PII_TEXT\x10/\x12-\n)TRANSFORMER_SOURCE_GENERATE_BUSINESS_NAME\x10\x30\x12*\n&TRANSFORMER_SOURCE_GENERATE_IP_ADDRESS\x10\x31\x12%\n!TRANSFORMER_SOURCE_TRANSFORM_UUID\x10\x32*\xc4\x02\n\x13TransformerDataType\x12%\n!TRANSFORMER_DATA_TYPE_UNSPECIFIED\x10\x00\x12 \n\x1cTRANSFORMER_DATA_TYPE_STRING\x10\x01\x12\x1f\n\x1bTRANSFORMER_DATA_TYPE_INT64\x10\x02\x12!\n\x1dTRANSFORMER_DATA_TYPE_BOOLEAN\x10\x03\x12!\n\x1dTRANSFORMER_DATA_TYPE_FLOAT64\x10\x04\x12\x1e\n\x1aTRANSFORMER_DATA_TYPE_NULL\x10\x05\x12\x1d\n\x19TRANSFORMER_DATA_TYPE_ANY\x10\x06\x12\x1e\n\x1aTRANSFORMER_DATA_TYPE_TIME\x10\x07\x12\x1e\n\x1aTRANSFORMER_DATA_TYPE_UUID\x10\x08*t\n\x10SupportedJobType\x12\"\n\x1eSUPPORTED_JOB_TYPE_UNSPECIFIED\x10\x00\x12\x1b\n\x17SUPPORTED_JOB_TYPE_SYNC\x10\x01\x12\x1f\n\x1bSUPPORTED_JOB_TYPE_GENERATE\x10\x02*{\n\x11GenerateEmailType\x12#\n\x1fGENERATE_EMAIL_TYPE_UNSPECIFIED\x10\x00\x12\x1f\n\x1bGENERATE_EMAIL_TYPE_UUID_V4\x10\x01\x12 \n\x1cGENERATE_EMAIL_TYPE_FULLNAME\x10\x02*\xc3\x01\n\x12InvalidEmailAction\x12$\n INVALID_EMAIL_ACTION_UNSPECIFIED\x10\x00\x12\x1f\n\x1bINVALID_EMAIL_ACTION_REJECT\x10\x01\x12\x1d\n\x19INVALID_EMAIL_ACTION_NULL\x10\x02\x12$\n INVALID_EMAIL_ACTION_PASSTHROUGH\x10\x03\x12!\n\x1dINVALID_EMAIL_ACTION_GENERATE\x10\x04*\x8c\x03\n\x15GenerateIpAddressType\x12(\n$GENERATE_IP_ADDRESS_TYPE_UNSPECIFIED\x10\x00\x12&\n\"GENERATE_IP_ADDRESS_TYPE_V4_PUBLIC\x10\x01\x12)\n%GENERATE_IP_ADDRESS_TYPE_V4_PRIVATE_A\x10\x02\x12)\n%GENERATE_IP_ADDRESS_TYPE_V4_PRIVATE_B\x10\x03\x12)\n%GENERATE_IP_ADDRESS_TYPE_V4_PRIVATE_C\x10\x04\x12*\n&GENERATE_IP_ADDRESS_TYPE_V4_LINK_LOCAL\x10\x05\x12)\n%GENERATE_IP_ADDRESS_TYPE_V4_MULTICAST\x10\x06\x12(\n$GENERATE_IP_ADDRESS_TYPE_V4_LOOPBACK\x10\x07\x12\x1f\n\x1bGENERATE_IP_ADDRESS_TYPE_V6\x10\x08\x32\xdd\x0b\n\x13TransformersService\x12w\n\x15GetSystemTransformers\x12+.mgmt.v1alpha1.GetSystemTransformersRequest\x1a,.mgmt.v1alpha1.GetSystemTransformersResponse\"\x03\x90\x02\x01\x12\x8c\x01\n\x1cGetSystemTransformerBySource\x12\x32.mgmt.v1alpha1.GetSystemTransformerBySourceRequest\x1a\x33.mgmt.v1alpha1.GetSystemTransformerBySourceResponse\"\x03\x90\x02\x01\x12\x86\x01\n\x1aGetUserDefinedTransformers\x12\x30.mgmt.v1alpha1.GetUserDefinedTransformersRequest\x1a\x31.mgmt.v1alpha1.GetUserDefinedTransformersResponse\"\x03\x90\x02\x01\x12\x8f\x01\n\x1dGetUserDefinedTransformerById\x12\x33.mgmt.v1alpha1.GetUserDefinedTransformerByIdRequest\x1a\x34.mgmt.v1alpha1.GetUserDefinedTransformerByIdResponse\"\x03\x90\x02\x01\x12\x89\x01\n\x1c\x43reateUserDefinedTransformer\x12\x32.mgmt.v1alpha1.CreateUserDefinedTransformerRequest\x1a\x33.mgmt.v1alpha1.CreateUserDefinedTransformerResponse\"\x00\x12\x89\x01\n\x1c\x44\x65leteUserDefinedTransformer\x12\x32.mgmt.v1alpha1.DeleteUserDefinedTransformerRequest\x1a\x33.mgmt.v1alpha1.DeleteUserDefinedTransformerResponse\"\x00\x12\x89\x01\n\x1cUpdateUserDefinedTransformer\x12\x32.mgmt.v1alpha1.UpdateUserDefinedTransformerRequest\x1a\x33.mgmt.v1alpha1.UpdateUserDefinedTransformerResponse\"\x00\x12\x83\x01\n\x1aIsTransformerNameAvailable\x12\x30.mgmt.v1alpha1.IsTransformerNameAvailableRequest\x1a\x31.mgmt.v1alpha1.IsTransformerNameAvailableResponse\"\x00\x12\x83\x01\n\x1aValidateUserJavascriptCode\x12\x30.mgmt.v1alpha1.ValidateUserJavascriptCodeRequest\x1a\x31.mgmt.v1alpha1.ValidateUserJavascriptCodeResponse\"\x00\x12t\n\x15ValidateUserRegexCode\x12+.mgmt.v1alpha1.ValidateUserRegexCodeRequest\x1a,.mgmt.v1alpha1.ValidateUserRegexCodeResponse\"\x00\x12}\n\x17GetTransformPiiEntities\x12-.mgmt.v1alpha1.GetTransformPiiEntitiesRequest\x1a..mgmt.v1alpha1.GetTransformPiiEntitiesResponse\"\x03\x90\x02\x01\x42\xcc\x01\n\x11\x63om.mgmt.v1alpha1B\x10TransformerProtoP\x01ZPgithub.com/nucleuscloud/neosync/backend/gen/go/protos/mgmt/v1alpha1;mgmtv1alpha1\xa2\x02\x03MXX\xaa\x02\rMgmt.V1alpha1\xca\x02\rMgmt\\V1alpha1\xe2\x02\x19Mgmt\\V1alpha1\\GPBMetadata\xea\x02\x0eMgmt::V1alpha1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -54,6 +54,10 @@ _globals['_ISTRANSFORMERNAMEAVAILABLEREQUEST'].fields_by_name['transformer_name']._serialized_options = b'\272H\026r\0242\022^[a-z0-9-]{3,100}$' _globals['_USERDEFINEDTRANSFORMER'].fields_by_name['id']._loaded_options = None _globals['_USERDEFINEDTRANSFORMER'].fields_by_name['id']._serialized_options = b'\272H\005r\003\260\001\001' + _globals['_USERDEFINEDTRANSFORMER'].fields_by_name['data_type']._loaded_options = None + _globals['_USERDEFINEDTRANSFORMER'].fields_by_name['data_type']._serialized_options = b'\030\001' + _globals['_SYSTEMTRANSFORMER'].fields_by_name['data_type']._loaded_options = None + _globals['_SYSTEMTRANSFORMER'].fields_by_name['data_type']._serialized_options = b'\030\001' _globals['_TRANSFORMERCONFIG'].oneofs_by_name['config']._loaded_options = None _globals['_TRANSFORMERCONFIG'].oneofs_by_name['config']._serialized_options = b'\272H\002\010\001' _globals['_TRANSFORMPIITEXT_ENTITYANONYMIZERSENTRY']._loaded_options = None @@ -72,20 +76,28 @@ _globals['_VALIDATEUSERJAVASCRIPTCODEREQUEST'].fields_by_name['code']._serialized_options = b'\272H\004r\002\020\001' _globals['_GETTRANSFORMPIIENTITIESREQUEST'].fields_by_name['account_id']._loaded_options = None _globals['_GETTRANSFORMPIIENTITIESREQUEST'].fields_by_name['account_id']._serialized_options = b'\272H\005r\003\260\001\001' + _globals['_TRANSFORMERSSERVICE'].methods_by_name['GetSystemTransformers']._loaded_options = None + _globals['_TRANSFORMERSSERVICE'].methods_by_name['GetSystemTransformers']._serialized_options = b'\220\002\001' + _globals['_TRANSFORMERSSERVICE'].methods_by_name['GetSystemTransformerBySource']._loaded_options = None + _globals['_TRANSFORMERSSERVICE'].methods_by_name['GetSystemTransformerBySource']._serialized_options = b'\220\002\001' + _globals['_TRANSFORMERSSERVICE'].methods_by_name['GetUserDefinedTransformers']._loaded_options = None + _globals['_TRANSFORMERSSERVICE'].methods_by_name['GetUserDefinedTransformers']._serialized_options = b'\220\002\001' + _globals['_TRANSFORMERSSERVICE'].methods_by_name['GetUserDefinedTransformerById']._loaded_options = None + _globals['_TRANSFORMERSSERVICE'].methods_by_name['GetUserDefinedTransformerById']._serialized_options = b'\220\002\001' _globals['_TRANSFORMERSSERVICE'].methods_by_name['GetTransformPiiEntities']._loaded_options = None _globals['_TRANSFORMERSSERVICE'].methods_by_name['GetTransformPiiEntities']._serialized_options = b'\220\002\001' - _globals['_TRANSFORMERSOURCE']._serialized_start=12714 - _globals['_TRANSFORMERSOURCE']._serialized_end=14897 - _globals['_TRANSFORMERDATATYPE']._serialized_start=14900 - _globals['_TRANSFORMERDATATYPE']._serialized_end=15224 - _globals['_SUPPORTEDJOBTYPE']._serialized_start=15226 - _globals['_SUPPORTEDJOBTYPE']._serialized_end=15342 - _globals['_GENERATEEMAILTYPE']._serialized_start=15344 - _globals['_GENERATEEMAILTYPE']._serialized_end=15467 - _globals['_INVALIDEMAILACTION']._serialized_start=15470 - _globals['_INVALIDEMAILACTION']._serialized_end=15665 - _globals['_GENERATEIPADDRESSTYPE']._serialized_start=15668 - _globals['_GENERATEIPADDRESSTYPE']._serialized_end=16064 + _globals['_TRANSFORMERSOURCE']._serialized_start=12734 + _globals['_TRANSFORMERSOURCE']._serialized_end=14917 + _globals['_TRANSFORMERDATATYPE']._serialized_start=14920 + _globals['_TRANSFORMERDATATYPE']._serialized_end=15244 + _globals['_SUPPORTEDJOBTYPE']._serialized_start=15246 + _globals['_SUPPORTEDJOBTYPE']._serialized_end=15362 + _globals['_GENERATEEMAILTYPE']._serialized_start=15364 + _globals['_GENERATEEMAILTYPE']._serialized_end=15487 + _globals['_INVALIDEMAILACTION']._serialized_start=15490 + _globals['_INVALIDEMAILACTION']._serialized_end=15685 + _globals['_GENERATEIPADDRESSTYPE']._serialized_start=15688 + _globals['_GENERATEIPADDRESSTYPE']._serialized_end=16084 _globals['_GETSYSTEMTRANSFORMERSREQUEST']._serialized_start=112 _globals['_GETSYSTEMTRANSFORMERSREQUEST']._serialized_end=142 _globals['_GETSYSTEMTRANSFORMERSRESPONSE']._serialized_start=144 @@ -119,135 +131,135 @@ _globals['_ISTRANSFORMERNAMEAVAILABLERESPONSE']._serialized_start=1907 _globals['_ISTRANSFORMERNAMEAVAILABLERESPONSE']._serialized_end=1978 _globals['_USERDEFINEDTRANSFORMER']._serialized_start=1981 - _globals['_USERDEFINEDTRANSFORMER']._serialized_end=2482 - _globals['_SYSTEMTRANSFORMER']._serialized_start=2485 - _globals['_SYSTEMTRANSFORMER']._serialized_end=2887 - _globals['_TRANSFORMERCONFIG']._serialized_start=2890 - _globals['_TRANSFORMERCONFIG']._serialized_end=7448 - _globals['_TRANSFORMPIITEXT']._serialized_start=7451 - _globals['_TRANSFORMPIITEXT']._serialized_end=8028 - _globals['_TRANSFORMPIITEXT_ENTITYANONYMIZERSENTRY']._serialized_start=7917 - _globals['_TRANSFORMPIITEXT_ENTITYANONYMIZERSENTRY']._serialized_end=8015 - _globals['_PIIDENYRECOGNIZER']._serialized_start=8030 - _globals['_PIIDENYRECOGNIZER']._serialized_end=8142 - _globals['_PIIANONYMIZER']._serialized_start=8145 - _globals['_PIIANONYMIZER']._serialized_end=8973 - _globals['_PIIANONYMIZER_REPLACE']._serialized_start=8477 - _globals['_PIIANONYMIZER_REPLACE']._serialized_end=8523 - _globals['_PIIANONYMIZER_REDACT']._serialized_start=8525 - _globals['_PIIANONYMIZER_REDACT']._serialized_end=8533 - _globals['_PIIANONYMIZER_MASK']._serialized_start=8536 - _globals['_PIIANONYMIZER_MASK']._serialized_end=8703 - _globals['_PIIANONYMIZER_HASH']._serialized_start=8706 - _globals['_PIIANONYMIZER_HASH']._serialized_end=8892 - _globals['_PIIANONYMIZER_HASH_HASHTYPE']._serialized_start=8783 - _globals['_PIIANONYMIZER_HASH_HASHTYPE']._serialized_end=8883 - _globals['_PIIANONYMIZER_TRANSFORM']._serialized_start=8894 - _globals['_PIIANONYMIZER_TRANSFORM']._serialized_end=8963 - _globals['_GENERATEEMAIL']._serialized_start=8975 - _globals['_GENERATEEMAIL']._serialized_end=9075 - _globals['_TRANSFORMEMAIL']._serialized_start=9078 - _globals['_TRANSFORMEMAIL']._serialized_end=9469 - _globals['_GENERATEBOOL']._serialized_start=9471 - _globals['_GENERATEBOOL']._serialized_end=9485 - _globals['_GENERATECARDNUMBER']._serialized_start=9487 - _globals['_GENERATECARDNUMBER']._serialized_end=9558 - _globals['_GENERATECITY']._serialized_start=9560 - _globals['_GENERATECITY']._serialized_end=9574 - _globals['_GENERATEDEFAULT']._serialized_start=9576 - _globals['_GENERATEDEFAULT']._serialized_end=9593 - _globals['_GENERATEE164PHONENUMBER']._serialized_start=9595 - _globals['_GENERATEE164PHONENUMBER']._serialized_end=9682 - _globals['_GENERATEFIRSTNAME']._serialized_start=9684 - _globals['_GENERATEFIRSTNAME']._serialized_end=9703 - _globals['_GENERATEFLOAT64']._serialized_start=9706 - _globals['_GENERATEFLOAT64']._serialized_end=9897 - _globals['_GENERATEFULLADDRESS']._serialized_start=9899 - _globals['_GENERATEFULLADDRESS']._serialized_end=9920 - _globals['_GENERATEFULLNAME']._serialized_start=9922 - _globals['_GENERATEFULLNAME']._serialized_end=9940 - _globals['_GENERATEGENDER']._serialized_start=9942 - _globals['_GENERATEGENDER']._serialized_end=10010 - _globals['_GENERATEINT64PHONENUMBER']._serialized_start=10012 - _globals['_GENERATEINT64PHONENUMBER']._serialized_end=10038 - _globals['_GENERATEINT64']._serialized_start=10041 - _globals['_GENERATEINT64']._serialized_end=10181 - _globals['_GENERATELASTNAME']._serialized_start=10183 - _globals['_GENERATELASTNAME']._serialized_end=10201 - _globals['_GENERATESHA256HASH']._serialized_start=10203 - _globals['_GENERATESHA256HASH']._serialized_end=10223 - _globals['_GENERATESSN']._serialized_start=10225 - _globals['_GENERATESSN']._serialized_end=10238 - _globals['_GENERATESTATE']._serialized_start=10240 - _globals['_GENERATESTATE']._serialized_end=10329 - _globals['_GENERATESTREETADDRESS']._serialized_start=10331 - _globals['_GENERATESTREETADDRESS']._serialized_end=10354 - _globals['_GENERATESTRINGPHONENUMBER']._serialized_start=10356 - _globals['_GENERATESTRINGPHONENUMBER']._serialized_end=10445 - _globals['_GENERATESTRING']._serialized_start=10447 - _globals['_GENERATESTRING']._serialized_end=10525 - _globals['_GENERATEUNIXTIMESTAMP']._serialized_start=10527 - _globals['_GENERATEUNIXTIMESTAMP']._serialized_end=10550 - _globals['_GENERATEUSERNAME']._serialized_start=10552 - _globals['_GENERATEUSERNAME']._serialized_end=10570 - _globals['_GENERATEUTCTIMESTAMP']._serialized_start=10572 - _globals['_GENERATEUTCTIMESTAMP']._serialized_end=10594 - _globals['_GENERATEUUID']._serialized_start=10596 - _globals['_GENERATEUUID']._serialized_end=10676 - _globals['_GENERATEZIPCODE']._serialized_start=10678 - _globals['_GENERATEZIPCODE']._serialized_end=10695 - _globals['_TRANSFORME164PHONENUMBER']._serialized_start=10697 - _globals['_TRANSFORME164PHONENUMBER']._serialized_end=10789 - _globals['_TRANSFORMFIRSTNAME']._serialized_start=10791 - _globals['_TRANSFORMFIRSTNAME']._serialized_end=10877 - _globals['_TRANSFORMFLOAT64']._serialized_start=10880 - _globals['_TRANSFORMFLOAT64']._serialized_end=11076 - _globals['_TRANSFORMFULLNAME']._serialized_start=11078 - _globals['_TRANSFORMFULLNAME']._serialized_end=11163 - _globals['_TRANSFORMINT64PHONENUMBER']._serialized_start=11165 - _globals['_TRANSFORMINT64PHONENUMBER']._serialized_end=11258 - _globals['_TRANSFORMINT64']._serialized_start=11261 - _globals['_TRANSFORMINT64']._serialized_end=11455 - _globals['_TRANSFORMLASTNAME']._serialized_start=11457 - _globals['_TRANSFORMLASTNAME']._serialized_end=11542 - _globals['_TRANSFORMPHONENUMBER']._serialized_start=11544 - _globals['_TRANSFORMPHONENUMBER']._serialized_end=11632 - _globals['_TRANSFORMSTRING']._serialized_start=11634 - _globals['_TRANSFORMSTRING']._serialized_end=11717 - _globals['_PASSTHROUGH']._serialized_start=11719 - _globals['_PASSTHROUGH']._serialized_end=11732 - _globals['_NULL']._serialized_start=11734 - _globals['_NULL']._serialized_end=11740 - _globals['_TRANSFORMJAVASCRIPT']._serialized_start=11742 - _globals['_TRANSFORMJAVASCRIPT']._serialized_end=11783 - _globals['_USERDEFINEDTRANSFORMERCONFIG']._serialized_start=11785 - _globals['_USERDEFINEDTRANSFORMERCONFIG']._serialized_end=11841 - _globals['_VALIDATEUSERJAVASCRIPTCODEREQUEST']._serialized_start=11843 - _globals['_VALIDATEUSERJAVASCRIPTCODEREQUEST']._serialized_end=11913 - _globals['_VALIDATEUSERJAVASCRIPTCODERESPONSE']._serialized_start=11915 - _globals['_VALIDATEUSERJAVASCRIPTCODERESPONSE']._serialized_end=11973 - _globals['_GENERATECATEGORICAL']._serialized_start=11975 - _globals['_GENERATECATEGORICAL']._serialized_end=12048 - _globals['_TRANSFORMCHARACTERSCRAMBLE']._serialized_start=12050 - _globals['_TRANSFORMCHARACTERSCRAMBLE']._serialized_end=12155 - _globals['_GENERATEJAVASCRIPT']._serialized_start=12157 - _globals['_GENERATEJAVASCRIPT']._serialized_end=12197 - _globals['_VALIDATEUSERREGEXCODEREQUEST']._serialized_start=12199 - _globals['_VALIDATEUSERREGEXCODEREQUEST']._serialized_end=12283 - _globals['_VALIDATEUSERREGEXCODERESPONSE']._serialized_start=12285 - _globals['_VALIDATEUSERREGEXCODERESPONSE']._serialized_end=12338 - _globals['_GENERATECOUNTRY']._serialized_start=12340 - _globals['_GENERATECOUNTRY']._serialized_end=12431 - _globals['_GETTRANSFORMPIIENTITIESREQUEST']._serialized_start=12433 - _globals['_GETTRANSFORMPIIENTITIESREQUEST']._serialized_end=12506 - _globals['_GETTRANSFORMPIIENTITIESRESPONSE']._serialized_start=12508 - _globals['_GETTRANSFORMPIIENTITIESRESPONSE']._serialized_end=12569 - _globals['_GENERATEBUSINESSNAME']._serialized_start=12571 - _globals['_GENERATEBUSINESSNAME']._serialized_end=12593 - _globals['_GENERATEIPADDRESS']._serialized_start=12595 - _globals['_GENERATEIPADDRESS']._serialized_end=12694 - _globals['_TRANSFORMUUID']._serialized_start=12696 - _globals['_TRANSFORMUUID']._serialized_end=12711 - _globals['_TRANSFORMERSSERVICE']._serialized_start=16067 - _globals['_TRANSFORMERSSERVICE']._serialized_end=17556 + _globals['_USERDEFINEDTRANSFORMER']._serialized_end=2492 + _globals['_SYSTEMTRANSFORMER']._serialized_start=2495 + _globals['_SYSTEMTRANSFORMER']._serialized_end=2901 + _globals['_TRANSFORMERCONFIG']._serialized_start=2904 + _globals['_TRANSFORMERCONFIG']._serialized_end=7462 + _globals['_TRANSFORMPIITEXT']._serialized_start=7465 + _globals['_TRANSFORMPIITEXT']._serialized_end=8042 + _globals['_TRANSFORMPIITEXT_ENTITYANONYMIZERSENTRY']._serialized_start=7931 + _globals['_TRANSFORMPIITEXT_ENTITYANONYMIZERSENTRY']._serialized_end=8029 + _globals['_PIIDENYRECOGNIZER']._serialized_start=8044 + _globals['_PIIDENYRECOGNIZER']._serialized_end=8156 + _globals['_PIIANONYMIZER']._serialized_start=8159 + _globals['_PIIANONYMIZER']._serialized_end=8987 + _globals['_PIIANONYMIZER_REPLACE']._serialized_start=8491 + _globals['_PIIANONYMIZER_REPLACE']._serialized_end=8537 + _globals['_PIIANONYMIZER_REDACT']._serialized_start=8539 + _globals['_PIIANONYMIZER_REDACT']._serialized_end=8547 + _globals['_PIIANONYMIZER_MASK']._serialized_start=8550 + _globals['_PIIANONYMIZER_MASK']._serialized_end=8717 + _globals['_PIIANONYMIZER_HASH']._serialized_start=8720 + _globals['_PIIANONYMIZER_HASH']._serialized_end=8906 + _globals['_PIIANONYMIZER_HASH_HASHTYPE']._serialized_start=8797 + _globals['_PIIANONYMIZER_HASH_HASHTYPE']._serialized_end=8897 + _globals['_PIIANONYMIZER_TRANSFORM']._serialized_start=8908 + _globals['_PIIANONYMIZER_TRANSFORM']._serialized_end=8977 + _globals['_GENERATEEMAIL']._serialized_start=8989 + _globals['_GENERATEEMAIL']._serialized_end=9089 + _globals['_TRANSFORMEMAIL']._serialized_start=9092 + _globals['_TRANSFORMEMAIL']._serialized_end=9483 + _globals['_GENERATEBOOL']._serialized_start=9485 + _globals['_GENERATEBOOL']._serialized_end=9499 + _globals['_GENERATECARDNUMBER']._serialized_start=9501 + _globals['_GENERATECARDNUMBER']._serialized_end=9572 + _globals['_GENERATECITY']._serialized_start=9574 + _globals['_GENERATECITY']._serialized_end=9588 + _globals['_GENERATEDEFAULT']._serialized_start=9590 + _globals['_GENERATEDEFAULT']._serialized_end=9607 + _globals['_GENERATEE164PHONENUMBER']._serialized_start=9609 + _globals['_GENERATEE164PHONENUMBER']._serialized_end=9696 + _globals['_GENERATEFIRSTNAME']._serialized_start=9698 + _globals['_GENERATEFIRSTNAME']._serialized_end=9717 + _globals['_GENERATEFLOAT64']._serialized_start=9720 + _globals['_GENERATEFLOAT64']._serialized_end=9911 + _globals['_GENERATEFULLADDRESS']._serialized_start=9913 + _globals['_GENERATEFULLADDRESS']._serialized_end=9934 + _globals['_GENERATEFULLNAME']._serialized_start=9936 + _globals['_GENERATEFULLNAME']._serialized_end=9954 + _globals['_GENERATEGENDER']._serialized_start=9956 + _globals['_GENERATEGENDER']._serialized_end=10024 + _globals['_GENERATEINT64PHONENUMBER']._serialized_start=10026 + _globals['_GENERATEINT64PHONENUMBER']._serialized_end=10052 + _globals['_GENERATEINT64']._serialized_start=10055 + _globals['_GENERATEINT64']._serialized_end=10195 + _globals['_GENERATELASTNAME']._serialized_start=10197 + _globals['_GENERATELASTNAME']._serialized_end=10215 + _globals['_GENERATESHA256HASH']._serialized_start=10217 + _globals['_GENERATESHA256HASH']._serialized_end=10237 + _globals['_GENERATESSN']._serialized_start=10239 + _globals['_GENERATESSN']._serialized_end=10252 + _globals['_GENERATESTATE']._serialized_start=10254 + _globals['_GENERATESTATE']._serialized_end=10343 + _globals['_GENERATESTREETADDRESS']._serialized_start=10345 + _globals['_GENERATESTREETADDRESS']._serialized_end=10368 + _globals['_GENERATESTRINGPHONENUMBER']._serialized_start=10370 + _globals['_GENERATESTRINGPHONENUMBER']._serialized_end=10465 + _globals['_GENERATESTRING']._serialized_start=10467 + _globals['_GENERATESTRING']._serialized_end=10545 + _globals['_GENERATEUNIXTIMESTAMP']._serialized_start=10547 + _globals['_GENERATEUNIXTIMESTAMP']._serialized_end=10570 + _globals['_GENERATEUSERNAME']._serialized_start=10572 + _globals['_GENERATEUSERNAME']._serialized_end=10590 + _globals['_GENERATEUTCTIMESTAMP']._serialized_start=10592 + _globals['_GENERATEUTCTIMESTAMP']._serialized_end=10614 + _globals['_GENERATEUUID']._serialized_start=10616 + _globals['_GENERATEUUID']._serialized_end=10696 + _globals['_GENERATEZIPCODE']._serialized_start=10698 + _globals['_GENERATEZIPCODE']._serialized_end=10715 + _globals['_TRANSFORME164PHONENUMBER']._serialized_start=10717 + _globals['_TRANSFORME164PHONENUMBER']._serialized_end=10809 + _globals['_TRANSFORMFIRSTNAME']._serialized_start=10811 + _globals['_TRANSFORMFIRSTNAME']._serialized_end=10897 + _globals['_TRANSFORMFLOAT64']._serialized_start=10900 + _globals['_TRANSFORMFLOAT64']._serialized_end=11096 + _globals['_TRANSFORMFULLNAME']._serialized_start=11098 + _globals['_TRANSFORMFULLNAME']._serialized_end=11183 + _globals['_TRANSFORMINT64PHONENUMBER']._serialized_start=11185 + _globals['_TRANSFORMINT64PHONENUMBER']._serialized_end=11278 + _globals['_TRANSFORMINT64']._serialized_start=11281 + _globals['_TRANSFORMINT64']._serialized_end=11475 + _globals['_TRANSFORMLASTNAME']._serialized_start=11477 + _globals['_TRANSFORMLASTNAME']._serialized_end=11562 + _globals['_TRANSFORMPHONENUMBER']._serialized_start=11564 + _globals['_TRANSFORMPHONENUMBER']._serialized_end=11652 + _globals['_TRANSFORMSTRING']._serialized_start=11654 + _globals['_TRANSFORMSTRING']._serialized_end=11737 + _globals['_PASSTHROUGH']._serialized_start=11739 + _globals['_PASSTHROUGH']._serialized_end=11752 + _globals['_NULL']._serialized_start=11754 + _globals['_NULL']._serialized_end=11760 + _globals['_TRANSFORMJAVASCRIPT']._serialized_start=11762 + _globals['_TRANSFORMJAVASCRIPT']._serialized_end=11803 + _globals['_USERDEFINEDTRANSFORMERCONFIG']._serialized_start=11805 + _globals['_USERDEFINEDTRANSFORMERCONFIG']._serialized_end=11861 + _globals['_VALIDATEUSERJAVASCRIPTCODEREQUEST']._serialized_start=11863 + _globals['_VALIDATEUSERJAVASCRIPTCODEREQUEST']._serialized_end=11933 + _globals['_VALIDATEUSERJAVASCRIPTCODERESPONSE']._serialized_start=11935 + _globals['_VALIDATEUSERJAVASCRIPTCODERESPONSE']._serialized_end=11993 + _globals['_GENERATECATEGORICAL']._serialized_start=11995 + _globals['_GENERATECATEGORICAL']._serialized_end=12068 + _globals['_TRANSFORMCHARACTERSCRAMBLE']._serialized_start=12070 + _globals['_TRANSFORMCHARACTERSCRAMBLE']._serialized_end=12175 + _globals['_GENERATEJAVASCRIPT']._serialized_start=12177 + _globals['_GENERATEJAVASCRIPT']._serialized_end=12217 + _globals['_VALIDATEUSERREGEXCODEREQUEST']._serialized_start=12219 + _globals['_VALIDATEUSERREGEXCODEREQUEST']._serialized_end=12303 + _globals['_VALIDATEUSERREGEXCODERESPONSE']._serialized_start=12305 + _globals['_VALIDATEUSERREGEXCODERESPONSE']._serialized_end=12358 + _globals['_GENERATECOUNTRY']._serialized_start=12360 + _globals['_GENERATECOUNTRY']._serialized_end=12451 + _globals['_GETTRANSFORMPIIENTITIESREQUEST']._serialized_start=12453 + _globals['_GETTRANSFORMPIIENTITIESREQUEST']._serialized_end=12526 + _globals['_GETTRANSFORMPIIENTITIESRESPONSE']._serialized_start=12528 + _globals['_GETTRANSFORMPIIENTITIESRESPONSE']._serialized_end=12589 + _globals['_GENERATEBUSINESSNAME']._serialized_start=12591 + _globals['_GENERATEBUSINESSNAME']._serialized_end=12613 + _globals['_GENERATEIPADDRESS']._serialized_start=12615 + _globals['_GENERATEIPADDRESS']._serialized_end=12714 + _globals['_TRANSFORMUUID']._serialized_start=12716 + _globals['_TRANSFORMUUID']._serialized_end=12731 + _globals['_TRANSFORMERSSERVICE']._serialized_start=16087 + _globals['_TRANSFORMERSSERVICE']._serialized_end=17588 # @@protoc_insertion_point(module_scope) diff --git a/python/src/neosync/mgmt/v1alpha1/transformer_pb2_grpc.py b/python/src/neosync/mgmt/v1alpha1/transformer_pb2_grpc.py index 5294573e42..b2e56ea3c3 100644 --- a/python/src/neosync/mgmt/v1alpha1/transformer_pb2_grpc.py +++ b/python/src/neosync/mgmt/v1alpha1/transformer_pb2_grpc.py @@ -6,7 +6,8 @@ class TransformersServiceStub(object): - """Missing associated documentation comment in .proto file.""" + """Service that manages system and user defined transformers + """ def __init__(self, channel): """Constructor. @@ -72,64 +73,75 @@ def __init__(self, channel): class TransformersServiceServicer(object): - """Missing associated documentation comment in .proto file.""" + """Service that manages system and user defined transformers + """ def GetSystemTransformers(self, request, context): - """Missing associated documentation comment in .proto file.""" + """Get a list of all system transformers + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def GetSystemTransformerBySource(self, request, context): - """Missing associated documentation comment in .proto file.""" + """Get a system transformer by its source + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def GetUserDefinedTransformers(self, request, context): - """Missing associated documentation comment in .proto file.""" + """Get a list of all user defined transformers + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def GetUserDefinedTransformerById(self, request, context): - """Missing associated documentation comment in .proto file.""" + """Get a user defined transformer by its id + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def CreateUserDefinedTransformer(self, request, context): - """Missing associated documentation comment in .proto file.""" + """Create a user defined transformer + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def DeleteUserDefinedTransformer(self, request, context): - """Missing associated documentation comment in .proto file.""" + """Delete a user defined transformer + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def UpdateUserDefinedTransformer(self, request, context): - """Missing associated documentation comment in .proto file.""" + """Update a user defined transformer + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def IsTransformerNameAvailable(self, request, context): - """Missing associated documentation comment in .proto file.""" + """Check if a transformer name is available in your account + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def ValidateUserJavascriptCode(self, request, context): - """Missing associated documentation comment in .proto file.""" + """Validate user provided javascript code before saving it to a user defined transformer or within a job mapping + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def ValidateUserRegexCode(self, request, context): - """Missing associated documentation comment in .proto file.""" + """Validate user provided regex code before saving it to a user defined transformer + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') @@ -208,7 +220,8 @@ def add_TransformersServiceServicer_to_server(servicer, server): # This class is part of an EXPERIMENTAL API. class TransformersService(object): - """Missing associated documentation comment in .proto file.""" + """Service that manages system and user defined transformers + """ @staticmethod def GetSystemTransformers(request, diff --git a/python/src/neosync/mgmt/v1alpha1/user_account_pb2.py b/python/src/neosync/mgmt/v1alpha1/user_account_pb2.py index 21d8dd1eac..51dd06e519 100644 --- a/python/src/neosync/mgmt/v1alpha1/user_account_pb2.py +++ b/python/src/neosync/mgmt/v1alpha1/user_account_pb2.py @@ -26,7 +26,7 @@ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n mgmt/v1alpha1/user_account.proto\x12\rmgmt.v1alpha1\x1a\x1b\x62uf/validate/validate.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x10\n\x0eGetUserRequest\"*\n\x0fGetUserResponse\x12\x17\n\x07user_id\x18\x01 \x01(\tR\x06userId\"\x10\n\x0eSetUserRequest\"*\n\x0fSetUserResponse\x12\x17\n\x07user_id\x18\x01 \x01(\tR\x06userId\"\x18\n\x16GetUserAccountsRequest\"Q\n\x17GetUserAccountsResponse\x12\x36\n\x08\x61\x63\x63ounts\x18\x01 \x03(\x0b\x32\x1a.mgmt.v1alpha1.UserAccountR\x08\x61\x63\x63ounts\"\x9a\x01\n\x0bUserAccount\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x32\n\x04type\x18\x03 \x01(\x0e\x32\x1e.mgmt.v1alpha1.UserAccountTypeR\x04type\x12\x33\n\x16has_stripe_customer_id\x18\x04 \x01(\x08R\x13hasStripeCustomerId\"\x91\x01\n#ConvertPersonalToTeamAccountRequest\x12-\n\x04name\x18\x01 \x01(\tB\x19\xbaH\x16r\x14\x32\x12^[a-z0-9-]{3,100}$R\x04name\x12,\n\naccount_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\taccountId\x88\x01\x01\x42\r\n\x0b_account_id\"\xcc\x01\n$ConvertPersonalToTeamAccountResponse\x12\x1d\n\naccount_id\x18\x01 \x01(\tR\taccountId\x12\x35\n\x14\x63heckout_session_url\x18\x02 \x01(\tH\x00R\x12\x63heckoutSessionUrl\x88\x01\x01\x12\x35\n\x17new_personal_account_id\x18\x03 \x01(\tR\x14newPersonalAccountIdB\x17\n\x15_checkout_session_url\"\x1b\n\x19SetPersonalAccountRequest\";\n\x1aSetPersonalAccountResponse\x12\x1d\n\naccount_id\x18\x01 \x01(\tR\taccountId\"A\n\x16IsUserInAccountRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\")\n\x17IsUserInAccountResponse\x12\x0e\n\x02ok\x18\x01 \x01(\x08R\x02ok\"J\n\x1fGetAccountTemporalConfigRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"`\n GetAccountTemporalConfigResponse\x12<\n\x06\x63onfig\x18\x01 \x01(\x0b\x32$.mgmt.v1alpha1.AccountTemporalConfigR\x06\x63onfig\"\x88\x01\n\x1fSetAccountTemporalConfigRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12<\n\x06\x63onfig\x18\x02 \x01(\x0b\x32$.mgmt.v1alpha1.AccountTemporalConfigR\x06\x63onfig\"`\n SetAccountTemporalConfigResponse\x12<\n\x06\x63onfig\x18\x01 \x01(\x0b\x32$.mgmt.v1alpha1.AccountTemporalConfigR\x06\x63onfig\"\x91\x01\n\x15\x41\x63\x63ountTemporalConfig\x12\x19\n\x03url\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x03url\x12%\n\tnamespace\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\tnamespace\x12\x36\n\x13sync_job_queue_name\x18\x03 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x10syncJobQueueName\"I\n\x18\x43reateTeamAccountRequest\x12-\n\x04name\x18\x01 \x01(\tB\x19\xbaH\x16r\x14\x32\x12^[a-z0-9-]{3,100}$R\x04name\"\x8a\x01\n\x19\x43reateTeamAccountResponse\x12\x1d\n\naccount_id\x18\x01 \x01(\tR\taccountId\x12\x35\n\x14\x63heckout_session_url\x18\x02 \x01(\tH\x00R\x12\x63heckoutSessionUrl\x88\x01\x01\x42\x17\n\x15_checkout_session_url\"\x8d\x01\n\x0b\x41\x63\x63ountUser\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x14\n\x05image\x18\x03 \x01(\tR\x05image\x12\x14\n\x05\x65mail\x18\x04 \x01(\tR\x05\x65mail\x12.\n\x04role\x18\x05 \x01(\x0e\x32\x1a.mgmt.v1alpha1.AccountRoleR\x04role\"G\n\x1cGetTeamAccountMembersRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"Q\n\x1dGetTeamAccountMembersResponse\x12\x30\n\x05users\x18\x01 \x03(\x0b\x32\x1a.mgmt.v1alpha1.AccountUserR\x05users\"l\n\x1eRemoveTeamAccountMemberRequest\x12!\n\x07user_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x06userId\x12\'\n\naccount_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"!\n\x1fRemoveTeamAccountMemberResponse\"\xa6\x01\n\x1eInviteUserToTeamAccountRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12\x1d\n\x05\x65mail\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x05\x65mail\x12\x33\n\x04role\x18\x03 \x01(\x0e\x32\x1a.mgmt.v1alpha1.AccountRoleH\x00R\x04role\x88\x01\x01\x42\x07\n\x05_role\"\x8d\x03\n\rAccountInvite\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x1d\n\naccount_id\x18\x02 \x01(\tR\taccountId\x12$\n\x0esender_user_id\x18\x03 \x01(\tR\x0csenderUserId\x12\x14\n\x05\x65mail\x18\x04 \x01(\tR\x05\x65mail\x12\x14\n\x05token\x18\x05 \x01(\tR\x05token\x12\x1a\n\x08\x61\x63\x63\x65pted\x18\x06 \x01(\x08R\x08\x61\x63\x63\x65pted\x12\x39\n\ncreated_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x39\n\nupdated_at\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tupdatedAt\x12\x39\n\nexpires_at\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampR\texpiresAt\x12.\n\x04role\x18\n \x01(\x0e\x32\x1a.mgmt.v1alpha1.AccountRoleR\x04role\"W\n\x1fInviteUserToTeamAccountResponse\x12\x34\n\x06invite\x18\x01 \x01(\x0b\x32\x1c.mgmt.v1alpha1.AccountInviteR\x06invite\"G\n\x1cGetTeamAccountInvitesRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"W\n\x1dGetTeamAccountInvitesResponse\x12\x36\n\x07invites\x18\x01 \x03(\x0b\x32\x1c.mgmt.v1alpha1.AccountInviteR\x07invites\":\n\x1eRemoveTeamAccountInviteRequest\x12\x18\n\x02id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x02id\"!\n\x1fRemoveTeamAccountInviteResponse\"?\n\x1e\x41\x63\x63\x65ptTeamAccountInviteRequest\x12\x1d\n\x05token\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x05token\"W\n\x1f\x41\x63\x63\x65ptTeamAccountInviteResponse\x12\x34\n\x07\x61\x63\x63ount\x18\x01 \x01(\x0b\x32\x1a.mgmt.v1alpha1.UserAccountR\x07\x61\x63\x63ount\"\x1d\n\x1bGetSystemInformationRequest\"\xfb\x01\n\x1cGetSystemInformationResponse\x12\x18\n\x07version\x18\x01 \x01(\tR\x07version\x12\x16\n\x06\x63ommit\x18\x02 \x01(\tR\x06\x63ommit\x12\x1a\n\x08\x63ompiler\x18\x03 \x01(\tR\x08\x63ompiler\x12\x1a\n\x08platform\x18\x04 \x01(\tR\x08platform\x12\x39\n\nbuild_date\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tbuildDate\x12\x36\n\x07license\x18\x06 \x01(\x0b\x32\x1c.mgmt.v1alpha1.SystemLicenseR\x07license\"\x8f\x01\n\rSystemLicense\x12\x19\n\x08is_valid\x18\x01 \x01(\x08R\x07isValid\x12\x39\n\nexpires_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\texpiresAt\x12(\n\x10is_neosync_cloud\x18\x03 \x01(\x08R\x0eisNeosyncCloud\"L\n!GetAccountOnboardingConfigRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"d\n\"GetAccountOnboardingConfigResponse\x12>\n\x06\x63onfig\x18\x01 \x01(\x0b\x32&.mgmt.v1alpha1.AccountOnboardingConfigR\x06\x63onfig\"\x8c\x01\n!SetAccountOnboardingConfigRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12>\n\x06\x63onfig\x18\x02 \x01(\x0b\x32&.mgmt.v1alpha1.AccountOnboardingConfigR\x06\x63onfig\"d\n\"SetAccountOnboardingConfigResponse\x12>\n\x06\x63onfig\x18\x01 \x01(\x0b\x32&.mgmt.v1alpha1.AccountOnboardingConfigR\x06\x63onfig\"k\n\x17\x41\x63\x63ountOnboardingConfig\x12\x38\n\x18has_completed_onboarding\x18\x05 \x01(\x08R\x16hasCompletedOnboardingJ\x04\x08\x01\x10\x02J\x04\x08\x02\x10\x03J\x04\x08\x03\x10\x04J\x04\x08\x04\x10\x05\"B\n\x17GetAccountStatusRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"\xe5\x01\n\x18GetAccountStatusResponse\x12*\n\x11used_record_count\x18\x01 \x01(\x04R\x0fusedRecordCount\x12\x35\n\x14\x61llowed_record_count\x18\x02 \x01(\x04H\x00R\x12\x61llowedRecordCount\x88\x01\x01\x12M\n\x13subscription_status\x18\x03 \x01(\x0e\x32\x1c.mgmt.v1alpha1.BillingStatusR\x12subscriptionStatusB\x17\n\x15_allowed_record_count\"\x9c\x01\n\x1bIsAccountStatusValidRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12\x39\n\x16requested_record_count\x18\x02 \x01(\x04H\x00R\x14requestedRecordCount\x88\x01\x01\x42\x19\n\x17_requested_record_count\"\xb3\x02\n\x1cIsAccountStatusValidResponse\x12\x19\n\x08is_valid\x18\x01 \x01(\x08R\x07isValid\x12\x1b\n\x06reason\x18\x02 \x01(\tH\x00R\x06reason\x88\x01\x01\x12\x1f\n\x0bshould_poll\x18\x03 \x01(\x08R\nshouldPoll\x12\x43\n\x0e\x61\x63\x63ount_status\x18\x06 \x01(\x0e\x32\x1c.mgmt.v1alpha1.AccountStatusR\raccountStatus\x12I\n\x10trial_expires_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x01R\x0etrialExpiresAt\x88\x01\x01\x42\t\n\x07_reasonB\x13\n\x11_trial_expires_atJ\x04\x08\x04\x10\x05J\x04\x08\x05\x10\x06\"R\n\'GetAccountBillingCheckoutSessionRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"\\\n(GetAccountBillingCheckoutSessionResponse\x12\x30\n\x14\x63heckout_session_url\x18\x01 \x01(\tR\x12\x63heckoutSessionUrl\"P\n%GetAccountBillingPortalSessionRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"V\n&GetAccountBillingPortalSessionResponse\x12,\n\x12portal_session_url\x18\x01 \x01(\tR\x10portalSessionUrl\"<\n\x19GetBillingAccountsRequest\x12\x1f\n\x0b\x61\x63\x63ount_ids\x18\x01 \x03(\tR\naccountIds\"T\n\x1aGetBillingAccountsResponse\x12\x36\n\x08\x61\x63\x63ounts\x18\x01 \x03(\x0b\x32\x1a.mgmt.v1alpha1.UserAccountR\x08\x61\x63\x63ounts\"\xe2\x01\n\x1bSetBillingMeterEventRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12&\n\nevent_name\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\teventName\x12\x1d\n\x05value\x18\x03 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x05value\x12\"\n\x08\x65vent_id\x18\x04 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x07\x65ventId\x12!\n\ttimestamp\x18\x05 \x01(\x04H\x00R\ttimestamp\x88\x01\x01\x42\x0c\n\n_timestamp\"\x1e\n\x1cSetBillingMeterEventResponse\"\x90\x01\n\x12SetUserRoleRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12!\n\x07user_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x06userId\x12.\n\x04role\x18\x03 \x01(\x0e\x32\x1a.mgmt.v1alpha1.AccountRoleR\x04role\"\x15\n\x13SetUserRoleResponse*\x92\x01\n\x0fUserAccountType\x12!\n\x1dUSER_ACCOUNT_TYPE_UNSPECIFIED\x10\x00\x12\x1e\n\x1aUSER_ACCOUNT_TYPE_PERSONAL\x10\x01\x12\x1a\n\x16USER_ACCOUNT_TYPE_TEAM\x10\x02\x12 \n\x1cUSER_ACCOUNT_TYPE_ENTERPRISE\x10\x03*\xa9\x01\n\rBillingStatus\x12\x1e\n\x1a\x42ILLING_STATUS_UNSPECIFIED\x10\x00\x12\x19\n\x15\x42ILLING_STATUS_ACTIVE\x10\x01\x12\x1a\n\x16\x42ILLING_STATUS_EXPIRED\x10\x02\x12\x1f\n\x1b\x42ILLING_STATUS_TRIAL_ACTIVE\x10\x03\x12 \n\x1c\x42ILLING_STATUS_TRIAL_EXPIRED\x10\x04*\x90\x02\n\rAccountStatus\x12%\n!ACCOUNT_STATUS_REASON_UNSPECIFIED\x10\x00\x12+\n\'ACCOUNT_STATUS_ACCOUNT_IN_EXPIRED_STATE\x10\x03\x12\'\n#ACCOUNT_STATUS_ACCOUNT_TRIAL_ACTIVE\x10\x04\x12(\n$ACCOUNT_STATUS_ACCOUNT_TRIAL_EXPIRED\x10\x05\"\x04\x08\x01\x10\x01\"\x04\x08\x02\x10\x02*$ACCOUNT_STATUS_EXCEEDS_ALLOWED_LIMIT*&ACCOUNT_STATUS_REQUESTED_EXCEEDS_LIMIT*\x9f\x01\n\x0b\x41\x63\x63ountRole\x12\x1c\n\x18\x41\x43\x43OUNT_ROLE_UNSPECIFIED\x10\x00\x12\x16\n\x12\x41\x43\x43OUNT_ROLE_ADMIN\x10\x01\x12\x1e\n\x1a\x41\x43\x43OUNT_ROLE_JOB_DEVELOPER\x10\x02\x12\x1b\n\x17\x41\x43\x43OUNT_ROLE_JOB_VIEWER\x10\x03\x12\x1d\n\x19\x41\x43\x43OUNT_ROLE_JOB_EXECUTOR\x10\x04\x32\xf8\x16\n\x12UserAccountService\x12J\n\x07GetUser\x12\x1d.mgmt.v1alpha1.GetUserRequest\x1a\x1e.mgmt.v1alpha1.GetUserResponse\"\x00\x12J\n\x07SetUser\x12\x1d.mgmt.v1alpha1.SetUserRequest\x1a\x1e.mgmt.v1alpha1.SetUserResponse\"\x00\x12\x62\n\x0fGetUserAccounts\x12%.mgmt.v1alpha1.GetUserAccountsRequest\x1a&.mgmt.v1alpha1.GetUserAccountsResponse\"\x00\x12k\n\x12SetPersonalAccount\x12(.mgmt.v1alpha1.SetPersonalAccountRequest\x1a).mgmt.v1alpha1.SetPersonalAccountResponse\"\x00\x12\x89\x01\n\x1c\x43onvertPersonalToTeamAccount\x12\x32.mgmt.v1alpha1.ConvertPersonalToTeamAccountRequest\x1a\x33.mgmt.v1alpha1.ConvertPersonalToTeamAccountResponse\"\x00\x12h\n\x11\x43reateTeamAccount\x12\'.mgmt.v1alpha1.CreateTeamAccountRequest\x1a(.mgmt.v1alpha1.CreateTeamAccountResponse\"\x00\x12\x62\n\x0fIsUserInAccount\x12%.mgmt.v1alpha1.IsUserInAccountRequest\x1a&.mgmt.v1alpha1.IsUserInAccountResponse\"\x00\x12}\n\x18GetAccountTemporalConfig\x12..mgmt.v1alpha1.GetAccountTemporalConfigRequest\x1a/.mgmt.v1alpha1.GetAccountTemporalConfigResponse\"\x00\x12}\n\x18SetAccountTemporalConfig\x12..mgmt.v1alpha1.SetAccountTemporalConfigRequest\x1a/.mgmt.v1alpha1.SetAccountTemporalConfigResponse\"\x00\x12t\n\x15GetTeamAccountMembers\x12+.mgmt.v1alpha1.GetTeamAccountMembersRequest\x1a,.mgmt.v1alpha1.GetTeamAccountMembersResponse\"\x00\x12z\n\x17RemoveTeamAccountMember\x12-.mgmt.v1alpha1.RemoveTeamAccountMemberRequest\x1a..mgmt.v1alpha1.RemoveTeamAccountMemberResponse\"\x00\x12z\n\x17InviteUserToTeamAccount\x12-.mgmt.v1alpha1.InviteUserToTeamAccountRequest\x1a..mgmt.v1alpha1.InviteUserToTeamAccountResponse\"\x00\x12t\n\x15GetTeamAccountInvites\x12+.mgmt.v1alpha1.GetTeamAccountInvitesRequest\x1a,.mgmt.v1alpha1.GetTeamAccountInvitesResponse\"\x00\x12z\n\x17RemoveTeamAccountInvite\x12-.mgmt.v1alpha1.RemoveTeamAccountInviteRequest\x1a..mgmt.v1alpha1.RemoveTeamAccountInviteResponse\"\x00\x12z\n\x17\x41\x63\x63\x65ptTeamAccountInvite\x12-.mgmt.v1alpha1.AcceptTeamAccountInviteRequest\x1a..mgmt.v1alpha1.AcceptTeamAccountInviteResponse\"\x00\x12t\n\x14GetSystemInformation\x12*.mgmt.v1alpha1.GetSystemInformationRequest\x1a+.mgmt.v1alpha1.GetSystemInformationResponse\"\x03\x90\x02\x01\x12\x83\x01\n\x1aGetAccountOnboardingConfig\x12\x30.mgmt.v1alpha1.GetAccountOnboardingConfigRequest\x1a\x31.mgmt.v1alpha1.GetAccountOnboardingConfigResponse\"\x00\x12\x83\x01\n\x1aSetAccountOnboardingConfig\x12\x30.mgmt.v1alpha1.SetAccountOnboardingConfigRequest\x1a\x31.mgmt.v1alpha1.SetAccountOnboardingConfigResponse\"\x00\x12h\n\x10GetAccountStatus\x12&.mgmt.v1alpha1.GetAccountStatusRequest\x1a\'.mgmt.v1alpha1.GetAccountStatusResponse\"\x03\x90\x02\x01\x12t\n\x14IsAccountStatusValid\x12*.mgmt.v1alpha1.IsAccountStatusValidRequest\x1a+.mgmt.v1alpha1.IsAccountStatusValidResponse\"\x03\x90\x02\x01\x12\x95\x01\n GetAccountBillingCheckoutSession\x12\x36.mgmt.v1alpha1.GetAccountBillingCheckoutSessionRequest\x1a\x37.mgmt.v1alpha1.GetAccountBillingCheckoutSessionResponse\"\x00\x12\x8f\x01\n\x1eGetAccountBillingPortalSession\x12\x34.mgmt.v1alpha1.GetAccountBillingPortalSessionRequest\x1a\x35.mgmt.v1alpha1.GetAccountBillingPortalSessionResponse\"\x00\x12n\n\x12GetBillingAccounts\x12(.mgmt.v1alpha1.GetBillingAccountsRequest\x1a).mgmt.v1alpha1.GetBillingAccountsResponse\"\x03\x90\x02\x01\x12q\n\x14SetBillingMeterEvent\x12*.mgmt.v1alpha1.SetBillingMeterEventRequest\x1a+.mgmt.v1alpha1.SetBillingMeterEventResponse\"\x00\x12V\n\x0bSetUserRole\x12!.mgmt.v1alpha1.SetUserRoleRequest\x1a\".mgmt.v1alpha1.SetUserRoleResponse\"\x00\x42\xcc\x01\n\x11\x63om.mgmt.v1alpha1B\x10UserAccountProtoP\x01ZPgithub.com/nucleuscloud/neosync/backend/gen/go/protos/mgmt/v1alpha1;mgmtv1alpha1\xa2\x02\x03MXX\xaa\x02\rMgmt.V1alpha1\xca\x02\rMgmt\\V1alpha1\xe2\x02\x19Mgmt\\V1alpha1\\GPBMetadata\xea\x02\x0eMgmt::V1alpha1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n mgmt/v1alpha1/user_account.proto\x12\rmgmt.v1alpha1\x1a\x1b\x62uf/validate/validate.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x10\n\x0eGetUserRequest\"*\n\x0fGetUserResponse\x12\x17\n\x07user_id\x18\x01 \x01(\tR\x06userId\"\x10\n\x0eSetUserRequest\"*\n\x0fSetUserResponse\x12\x17\n\x07user_id\x18\x01 \x01(\tR\x06userId\"\x18\n\x16GetUserAccountsRequest\"Q\n\x17GetUserAccountsResponse\x12\x36\n\x08\x61\x63\x63ounts\x18\x01 \x03(\x0b\x32\x1a.mgmt.v1alpha1.UserAccountR\x08\x61\x63\x63ounts\"\x9a\x01\n\x0bUserAccount\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x32\n\x04type\x18\x03 \x01(\x0e\x32\x1e.mgmt.v1alpha1.UserAccountTypeR\x04type\x12\x33\n\x16has_stripe_customer_id\x18\x04 \x01(\x08R\x13hasStripeCustomerId\"\x91\x01\n#ConvertPersonalToTeamAccountRequest\x12-\n\x04name\x18\x01 \x01(\tB\x19\xbaH\x16r\x14\x32\x12^[a-z0-9-]{3,100}$R\x04name\x12,\n\naccount_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\taccountId\x88\x01\x01\x42\r\n\x0b_account_id\"\xcc\x01\n$ConvertPersonalToTeamAccountResponse\x12\x1d\n\naccount_id\x18\x01 \x01(\tR\taccountId\x12\x35\n\x14\x63heckout_session_url\x18\x02 \x01(\tH\x00R\x12\x63heckoutSessionUrl\x88\x01\x01\x12\x35\n\x17new_personal_account_id\x18\x03 \x01(\tR\x14newPersonalAccountIdB\x17\n\x15_checkout_session_url\"\x1b\n\x19SetPersonalAccountRequest\";\n\x1aSetPersonalAccountResponse\x12\x1d\n\naccount_id\x18\x01 \x01(\tR\taccountId\"A\n\x16IsUserInAccountRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\")\n\x17IsUserInAccountResponse\x12\x0e\n\x02ok\x18\x01 \x01(\x08R\x02ok\"J\n\x1fGetAccountTemporalConfigRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"`\n GetAccountTemporalConfigResponse\x12<\n\x06\x63onfig\x18\x01 \x01(\x0b\x32$.mgmt.v1alpha1.AccountTemporalConfigR\x06\x63onfig\"\x88\x01\n\x1fSetAccountTemporalConfigRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12<\n\x06\x63onfig\x18\x02 \x01(\x0b\x32$.mgmt.v1alpha1.AccountTemporalConfigR\x06\x63onfig\"`\n SetAccountTemporalConfigResponse\x12<\n\x06\x63onfig\x18\x01 \x01(\x0b\x32$.mgmt.v1alpha1.AccountTemporalConfigR\x06\x63onfig\"\x91\x01\n\x15\x41\x63\x63ountTemporalConfig\x12\x19\n\x03url\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x03url\x12%\n\tnamespace\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\tnamespace\x12\x36\n\x13sync_job_queue_name\x18\x03 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x10syncJobQueueName\"I\n\x18\x43reateTeamAccountRequest\x12-\n\x04name\x18\x01 \x01(\tB\x19\xbaH\x16r\x14\x32\x12^[a-z0-9-]{3,100}$R\x04name\"\x8a\x01\n\x19\x43reateTeamAccountResponse\x12\x1d\n\naccount_id\x18\x01 \x01(\tR\taccountId\x12\x35\n\x14\x63heckout_session_url\x18\x02 \x01(\tH\x00R\x12\x63heckoutSessionUrl\x88\x01\x01\x42\x17\n\x15_checkout_session_url\"\x8d\x01\n\x0b\x41\x63\x63ountUser\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x14\n\x05image\x18\x03 \x01(\tR\x05image\x12\x14\n\x05\x65mail\x18\x04 \x01(\tR\x05\x65mail\x12.\n\x04role\x18\x05 \x01(\x0e\x32\x1a.mgmt.v1alpha1.AccountRoleR\x04role\"G\n\x1cGetTeamAccountMembersRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"Q\n\x1dGetTeamAccountMembersResponse\x12\x30\n\x05users\x18\x01 \x03(\x0b\x32\x1a.mgmt.v1alpha1.AccountUserR\x05users\"l\n\x1eRemoveTeamAccountMemberRequest\x12!\n\x07user_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x06userId\x12\'\n\naccount_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"!\n\x1fRemoveTeamAccountMemberResponse\"\xa6\x01\n\x1eInviteUserToTeamAccountRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12\x1d\n\x05\x65mail\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x05\x65mail\x12\x33\n\x04role\x18\x03 \x01(\x0e\x32\x1a.mgmt.v1alpha1.AccountRoleH\x00R\x04role\x88\x01\x01\x42\x07\n\x05_role\"\x8d\x03\n\rAccountInvite\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x1d\n\naccount_id\x18\x02 \x01(\tR\taccountId\x12$\n\x0esender_user_id\x18\x03 \x01(\tR\x0csenderUserId\x12\x14\n\x05\x65mail\x18\x04 \x01(\tR\x05\x65mail\x12\x14\n\x05token\x18\x05 \x01(\tR\x05token\x12\x1a\n\x08\x61\x63\x63\x65pted\x18\x06 \x01(\x08R\x08\x61\x63\x63\x65pted\x12\x39\n\ncreated_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x39\n\nupdated_at\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tupdatedAt\x12\x39\n\nexpires_at\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampR\texpiresAt\x12.\n\x04role\x18\n \x01(\x0e\x32\x1a.mgmt.v1alpha1.AccountRoleR\x04role\"W\n\x1fInviteUserToTeamAccountResponse\x12\x34\n\x06invite\x18\x01 \x01(\x0b\x32\x1c.mgmt.v1alpha1.AccountInviteR\x06invite\"G\n\x1cGetTeamAccountInvitesRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"W\n\x1dGetTeamAccountInvitesResponse\x12\x36\n\x07invites\x18\x01 \x03(\x0b\x32\x1c.mgmt.v1alpha1.AccountInviteR\x07invites\":\n\x1eRemoveTeamAccountInviteRequest\x12\x18\n\x02id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x02id\"!\n\x1fRemoveTeamAccountInviteResponse\"?\n\x1e\x41\x63\x63\x65ptTeamAccountInviteRequest\x12\x1d\n\x05token\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x05token\"W\n\x1f\x41\x63\x63\x65ptTeamAccountInviteResponse\x12\x34\n\x07\x61\x63\x63ount\x18\x01 \x01(\x0b\x32\x1a.mgmt.v1alpha1.UserAccountR\x07\x61\x63\x63ount\"\x1d\n\x1bGetSystemInformationRequest\"\xfb\x01\n\x1cGetSystemInformationResponse\x12\x18\n\x07version\x18\x01 \x01(\tR\x07version\x12\x16\n\x06\x63ommit\x18\x02 \x01(\tR\x06\x63ommit\x12\x1a\n\x08\x63ompiler\x18\x03 \x01(\tR\x08\x63ompiler\x12\x1a\n\x08platform\x18\x04 \x01(\tR\x08platform\x12\x39\n\nbuild_date\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tbuildDate\x12\x36\n\x07license\x18\x06 \x01(\x0b\x32\x1c.mgmt.v1alpha1.SystemLicenseR\x07license\"\x8f\x01\n\rSystemLicense\x12\x19\n\x08is_valid\x18\x01 \x01(\x08R\x07isValid\x12\x39\n\nexpires_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\texpiresAt\x12(\n\x10is_neosync_cloud\x18\x03 \x01(\x08R\x0eisNeosyncCloud\"L\n!GetAccountOnboardingConfigRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"d\n\"GetAccountOnboardingConfigResponse\x12>\n\x06\x63onfig\x18\x01 \x01(\x0b\x32&.mgmt.v1alpha1.AccountOnboardingConfigR\x06\x63onfig\"\x8c\x01\n!SetAccountOnboardingConfigRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12>\n\x06\x63onfig\x18\x02 \x01(\x0b\x32&.mgmt.v1alpha1.AccountOnboardingConfigR\x06\x63onfig\"d\n\"SetAccountOnboardingConfigResponse\x12>\n\x06\x63onfig\x18\x01 \x01(\x0b\x32&.mgmt.v1alpha1.AccountOnboardingConfigR\x06\x63onfig\"k\n\x17\x41\x63\x63ountOnboardingConfig\x12\x38\n\x18has_completed_onboarding\x18\x05 \x01(\x08R\x16hasCompletedOnboardingJ\x04\x08\x01\x10\x02J\x04\x08\x02\x10\x03J\x04\x08\x03\x10\x04J\x04\x08\x04\x10\x05\"B\n\x17GetAccountStatusRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"\xe5\x01\n\x18GetAccountStatusResponse\x12*\n\x11used_record_count\x18\x01 \x01(\x04R\x0fusedRecordCount\x12\x35\n\x14\x61llowed_record_count\x18\x02 \x01(\x04H\x00R\x12\x61llowedRecordCount\x88\x01\x01\x12M\n\x13subscription_status\x18\x03 \x01(\x0e\x32\x1c.mgmt.v1alpha1.BillingStatusR\x12subscriptionStatusB\x17\n\x15_allowed_record_count\"\x9c\x01\n\x1bIsAccountStatusValidRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12\x39\n\x16requested_record_count\x18\x02 \x01(\x04H\x00R\x14requestedRecordCount\x88\x01\x01\x42\x19\n\x17_requested_record_count\"\xb3\x02\n\x1cIsAccountStatusValidResponse\x12\x19\n\x08is_valid\x18\x01 \x01(\x08R\x07isValid\x12\x1b\n\x06reason\x18\x02 \x01(\tH\x00R\x06reason\x88\x01\x01\x12\x1f\n\x0bshould_poll\x18\x03 \x01(\x08R\nshouldPoll\x12\x43\n\x0e\x61\x63\x63ount_status\x18\x06 \x01(\x0e\x32\x1c.mgmt.v1alpha1.AccountStatusR\raccountStatus\x12I\n\x10trial_expires_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x01R\x0etrialExpiresAt\x88\x01\x01\x42\t\n\x07_reasonB\x13\n\x11_trial_expires_atJ\x04\x08\x04\x10\x05J\x04\x08\x05\x10\x06\"R\n\'GetAccountBillingCheckoutSessionRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"\\\n(GetAccountBillingCheckoutSessionResponse\x12\x30\n\x14\x63heckout_session_url\x18\x01 \x01(\tR\x12\x63heckoutSessionUrl\"P\n%GetAccountBillingPortalSessionRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"V\n&GetAccountBillingPortalSessionResponse\x12,\n\x12portal_session_url\x18\x01 \x01(\tR\x10portalSessionUrl\"<\n\x19GetBillingAccountsRequest\x12\x1f\n\x0b\x61\x63\x63ount_ids\x18\x01 \x03(\tR\naccountIds\"T\n\x1aGetBillingAccountsResponse\x12\x36\n\x08\x61\x63\x63ounts\x18\x01 \x03(\x0b\x32\x1a.mgmt.v1alpha1.UserAccountR\x08\x61\x63\x63ounts\"\xe2\x01\n\x1bSetBillingMeterEventRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12&\n\nevent_name\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\teventName\x12\x1d\n\x05value\x18\x03 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x05value\x12\"\n\x08\x65vent_id\x18\x04 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x07\x65ventId\x12!\n\ttimestamp\x18\x05 \x01(\x04H\x00R\ttimestamp\x88\x01\x01\x42\x0c\n\n_timestamp\"\x1e\n\x1cSetBillingMeterEventResponse\"\x90\x01\n\x12SetUserRoleRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12!\n\x07user_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x06userId\x12.\n\x04role\x18\x03 \x01(\x0e\x32\x1a.mgmt.v1alpha1.AccountRoleR\x04role\"\x15\n\x13SetUserRoleResponse*\x92\x01\n\x0fUserAccountType\x12!\n\x1dUSER_ACCOUNT_TYPE_UNSPECIFIED\x10\x00\x12\x1e\n\x1aUSER_ACCOUNT_TYPE_PERSONAL\x10\x01\x12\x1a\n\x16USER_ACCOUNT_TYPE_TEAM\x10\x02\x12 \n\x1cUSER_ACCOUNT_TYPE_ENTERPRISE\x10\x03*\xa9\x01\n\rBillingStatus\x12\x1e\n\x1a\x42ILLING_STATUS_UNSPECIFIED\x10\x00\x12\x19\n\x15\x42ILLING_STATUS_ACTIVE\x10\x01\x12\x1a\n\x16\x42ILLING_STATUS_EXPIRED\x10\x02\x12\x1f\n\x1b\x42ILLING_STATUS_TRIAL_ACTIVE\x10\x03\x12 \n\x1c\x42ILLING_STATUS_TRIAL_EXPIRED\x10\x04*\x90\x02\n\rAccountStatus\x12%\n!ACCOUNT_STATUS_REASON_UNSPECIFIED\x10\x00\x12+\n\'ACCOUNT_STATUS_ACCOUNT_IN_EXPIRED_STATE\x10\x03\x12\'\n#ACCOUNT_STATUS_ACCOUNT_TRIAL_ACTIVE\x10\x04\x12(\n$ACCOUNT_STATUS_ACCOUNT_TRIAL_EXPIRED\x10\x05\"\x04\x08\x01\x10\x01\"\x04\x08\x02\x10\x02*$ACCOUNT_STATUS_EXCEEDS_ALLOWED_LIMIT*&ACCOUNT_STATUS_REQUESTED_EXCEEDS_LIMIT*\x9f\x01\n\x0b\x41\x63\x63ountRole\x12\x1c\n\x18\x41\x43\x43OUNT_ROLE_UNSPECIFIED\x10\x00\x12\x16\n\x12\x41\x43\x43OUNT_ROLE_ADMIN\x10\x01\x12\x1e\n\x1a\x41\x43\x43OUNT_ROLE_JOB_DEVELOPER\x10\x02\x12\x1b\n\x17\x41\x43\x43OUNT_ROLE_JOB_VIEWER\x10\x03\x12\x1d\n\x19\x41\x43\x43OUNT_ROLE_JOB_EXECUTOR\x10\x04\x32\x91\x17\n\x12UserAccountService\x12M\n\x07GetUser\x12\x1d.mgmt.v1alpha1.GetUserRequest\x1a\x1e.mgmt.v1alpha1.GetUserResponse\"\x03\x90\x02\x01\x12J\n\x07SetUser\x12\x1d.mgmt.v1alpha1.SetUserRequest\x1a\x1e.mgmt.v1alpha1.SetUserResponse\"\x00\x12\x65\n\x0fGetUserAccounts\x12%.mgmt.v1alpha1.GetUserAccountsRequest\x1a&.mgmt.v1alpha1.GetUserAccountsResponse\"\x03\x90\x02\x01\x12k\n\x12SetPersonalAccount\x12(.mgmt.v1alpha1.SetPersonalAccountRequest\x1a).mgmt.v1alpha1.SetPersonalAccountResponse\"\x00\x12\x89\x01\n\x1c\x43onvertPersonalToTeamAccount\x12\x32.mgmt.v1alpha1.ConvertPersonalToTeamAccountRequest\x1a\x33.mgmt.v1alpha1.ConvertPersonalToTeamAccountResponse\"\x00\x12h\n\x11\x43reateTeamAccount\x12\'.mgmt.v1alpha1.CreateTeamAccountRequest\x1a(.mgmt.v1alpha1.CreateTeamAccountResponse\"\x00\x12\x62\n\x0fIsUserInAccount\x12%.mgmt.v1alpha1.IsUserInAccountRequest\x1a&.mgmt.v1alpha1.IsUserInAccountResponse\"\x00\x12\x80\x01\n\x18GetAccountTemporalConfig\x12..mgmt.v1alpha1.GetAccountTemporalConfigRequest\x1a/.mgmt.v1alpha1.GetAccountTemporalConfigResponse\"\x03\x90\x02\x01\x12}\n\x18SetAccountTemporalConfig\x12..mgmt.v1alpha1.SetAccountTemporalConfigRequest\x1a/.mgmt.v1alpha1.SetAccountTemporalConfigResponse\"\x00\x12w\n\x15GetTeamAccountMembers\x12+.mgmt.v1alpha1.GetTeamAccountMembersRequest\x1a,.mgmt.v1alpha1.GetTeamAccountMembersResponse\"\x03\x90\x02\x01\x12z\n\x17RemoveTeamAccountMember\x12-.mgmt.v1alpha1.RemoveTeamAccountMemberRequest\x1a..mgmt.v1alpha1.RemoveTeamAccountMemberResponse\"\x00\x12z\n\x17InviteUserToTeamAccount\x12-.mgmt.v1alpha1.InviteUserToTeamAccountRequest\x1a..mgmt.v1alpha1.InviteUserToTeamAccountResponse\"\x00\x12w\n\x15GetTeamAccountInvites\x12+.mgmt.v1alpha1.GetTeamAccountInvitesRequest\x1a,.mgmt.v1alpha1.GetTeamAccountInvitesResponse\"\x03\x90\x02\x01\x12z\n\x17RemoveTeamAccountInvite\x12-.mgmt.v1alpha1.RemoveTeamAccountInviteRequest\x1a..mgmt.v1alpha1.RemoveTeamAccountInviteResponse\"\x00\x12z\n\x17\x41\x63\x63\x65ptTeamAccountInvite\x12-.mgmt.v1alpha1.AcceptTeamAccountInviteRequest\x1a..mgmt.v1alpha1.AcceptTeamAccountInviteResponse\"\x00\x12t\n\x14GetSystemInformation\x12*.mgmt.v1alpha1.GetSystemInformationRequest\x1a+.mgmt.v1alpha1.GetSystemInformationResponse\"\x03\x90\x02\x01\x12\x86\x01\n\x1aGetAccountOnboardingConfig\x12\x30.mgmt.v1alpha1.GetAccountOnboardingConfigRequest\x1a\x31.mgmt.v1alpha1.GetAccountOnboardingConfigResponse\"\x03\x90\x02\x01\x12\x83\x01\n\x1aSetAccountOnboardingConfig\x12\x30.mgmt.v1alpha1.SetAccountOnboardingConfigRequest\x1a\x31.mgmt.v1alpha1.SetAccountOnboardingConfigResponse\"\x00\x12h\n\x10GetAccountStatus\x12&.mgmt.v1alpha1.GetAccountStatusRequest\x1a\'.mgmt.v1alpha1.GetAccountStatusResponse\"\x03\x90\x02\x01\x12t\n\x14IsAccountStatusValid\x12*.mgmt.v1alpha1.IsAccountStatusValidRequest\x1a+.mgmt.v1alpha1.IsAccountStatusValidResponse\"\x03\x90\x02\x01\x12\x98\x01\n GetAccountBillingCheckoutSession\x12\x36.mgmt.v1alpha1.GetAccountBillingCheckoutSessionRequest\x1a\x37.mgmt.v1alpha1.GetAccountBillingCheckoutSessionResponse\"\x03\x90\x02\x01\x12\x92\x01\n\x1eGetAccountBillingPortalSession\x12\x34.mgmt.v1alpha1.GetAccountBillingPortalSessionRequest\x1a\x35.mgmt.v1alpha1.GetAccountBillingPortalSessionResponse\"\x03\x90\x02\x01\x12n\n\x12GetBillingAccounts\x12(.mgmt.v1alpha1.GetBillingAccountsRequest\x1a).mgmt.v1alpha1.GetBillingAccountsResponse\"\x03\x90\x02\x01\x12q\n\x14SetBillingMeterEvent\x12*.mgmt.v1alpha1.SetBillingMeterEventRequest\x1a+.mgmt.v1alpha1.SetBillingMeterEventResponse\"\x00\x12V\n\x0bSetUserRole\x12!.mgmt.v1alpha1.SetUserRoleRequest\x1a\".mgmt.v1alpha1.SetUserRoleResponse\"\x00\x42\xcc\x01\n\x11\x63om.mgmt.v1alpha1B\x10UserAccountProtoP\x01ZPgithub.com/nucleuscloud/neosync/backend/gen/go/protos/mgmt/v1alpha1;mgmtv1alpha1\xa2\x02\x03MXX\xaa\x02\rMgmt.V1alpha1\xca\x02\rMgmt\\V1alpha1\xe2\x02\x19Mgmt\\V1alpha1\\GPBMetadata\xea\x02\x0eMgmt::V1alpha1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -92,12 +92,28 @@ _globals['_SETUSERROLEREQUEST'].fields_by_name['account_id']._serialized_options = b'\272H\005r\003\260\001\001' _globals['_SETUSERROLEREQUEST'].fields_by_name['user_id']._loaded_options = None _globals['_SETUSERROLEREQUEST'].fields_by_name['user_id']._serialized_options = b'\272H\005r\003\260\001\001' + _globals['_USERACCOUNTSERVICE'].methods_by_name['GetUser']._loaded_options = None + _globals['_USERACCOUNTSERVICE'].methods_by_name['GetUser']._serialized_options = b'\220\002\001' + _globals['_USERACCOUNTSERVICE'].methods_by_name['GetUserAccounts']._loaded_options = None + _globals['_USERACCOUNTSERVICE'].methods_by_name['GetUserAccounts']._serialized_options = b'\220\002\001' + _globals['_USERACCOUNTSERVICE'].methods_by_name['GetAccountTemporalConfig']._loaded_options = None + _globals['_USERACCOUNTSERVICE'].methods_by_name['GetAccountTemporalConfig']._serialized_options = b'\220\002\001' + _globals['_USERACCOUNTSERVICE'].methods_by_name['GetTeamAccountMembers']._loaded_options = None + _globals['_USERACCOUNTSERVICE'].methods_by_name['GetTeamAccountMembers']._serialized_options = b'\220\002\001' + _globals['_USERACCOUNTSERVICE'].methods_by_name['GetTeamAccountInvites']._loaded_options = None + _globals['_USERACCOUNTSERVICE'].methods_by_name['GetTeamAccountInvites']._serialized_options = b'\220\002\001' _globals['_USERACCOUNTSERVICE'].methods_by_name['GetSystemInformation']._loaded_options = None _globals['_USERACCOUNTSERVICE'].methods_by_name['GetSystemInformation']._serialized_options = b'\220\002\001' + _globals['_USERACCOUNTSERVICE'].methods_by_name['GetAccountOnboardingConfig']._loaded_options = None + _globals['_USERACCOUNTSERVICE'].methods_by_name['GetAccountOnboardingConfig']._serialized_options = b'\220\002\001' _globals['_USERACCOUNTSERVICE'].methods_by_name['GetAccountStatus']._loaded_options = None _globals['_USERACCOUNTSERVICE'].methods_by_name['GetAccountStatus']._serialized_options = b'\220\002\001' _globals['_USERACCOUNTSERVICE'].methods_by_name['IsAccountStatusValid']._loaded_options = None _globals['_USERACCOUNTSERVICE'].methods_by_name['IsAccountStatusValid']._serialized_options = b'\220\002\001' + _globals['_USERACCOUNTSERVICE'].methods_by_name['GetAccountBillingCheckoutSession']._loaded_options = None + _globals['_USERACCOUNTSERVICE'].methods_by_name['GetAccountBillingCheckoutSession']._serialized_options = b'\220\002\001' + _globals['_USERACCOUNTSERVICE'].methods_by_name['GetAccountBillingPortalSession']._loaded_options = None + _globals['_USERACCOUNTSERVICE'].methods_by_name['GetAccountBillingPortalSession']._serialized_options = b'\220\002\001' _globals['_USERACCOUNTSERVICE'].methods_by_name['GetBillingAccounts']._loaded_options = None _globals['_USERACCOUNTSERVICE'].methods_by_name['GetBillingAccounts']._serialized_options = b'\220\002\001' _globals['_USERACCOUNTTYPE']._serialized_start=6009 @@ -221,5 +237,5 @@ _globals['_SETUSERROLERESPONSE']._serialized_start=5985 _globals['_SETUSERROLERESPONSE']._serialized_end=6006 _globals['_USERACCOUNTSERVICE']._serialized_start=6767 - _globals['_USERACCOUNTSERVICE']._serialized_end=9703 + _globals['_USERACCOUNTSERVICE']._serialized_end=9728 # @@protoc_insertion_point(module_scope) diff --git a/python/src/neosync/mgmt/v1alpha1/user_account_pb2_grpc.py b/python/src/neosync/mgmt/v1alpha1/user_account_pb2_grpc.py index fca0d3a589..744f1c0c4e 100644 --- a/python/src/neosync/mgmt/v1alpha1/user_account_pb2_grpc.py +++ b/python/src/neosync/mgmt/v1alpha1/user_account_pb2_grpc.py @@ -6,7 +6,8 @@ class UserAccountServiceStub(object): - """Missing associated documentation comment in .proto file.""" + """Service that manages users, accounts, and billing + """ def __init__(self, channel): """Constructor. @@ -142,28 +143,33 @@ def __init__(self, channel): class UserAccountServiceServicer(object): - """Missing associated documentation comment in .proto file.""" + """Service that manages users, accounts, and billing + """ def GetUser(self, request, context): - """Missing associated documentation comment in .proto file.""" + """Retrieves the current user. + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def SetUser(self, request, context): - """Missing associated documentation comment in .proto file.""" + """Sets the current user. + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def GetUserAccounts(self, request, context): - """Missing associated documentation comment in .proto file.""" + """Retrieves the list of accounts that the user belongs to. + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def SetPersonalAccount(self, request, context): - """Missing associated documentation comment in .proto file.""" + """Sets the current personal account. + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') @@ -183,73 +189,85 @@ def CreateTeamAccount(self, request, context): raise NotImplementedError('Method not implemented!') def IsUserInAccount(self, request, context): - """Missing associated documentation comment in .proto file.""" + """Checks if the user is in the account. + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def GetAccountTemporalConfig(self, request, context): - """Missing associated documentation comment in .proto file.""" + """Retrieves the temporal config for the account. + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def SetAccountTemporalConfig(self, request, context): - """Missing associated documentation comment in .proto file.""" + """Sets the temporal config for the account. + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def GetTeamAccountMembers(self, request, context): - """Missing associated documentation comment in .proto file.""" + """Retrieves the list of members in the team account. + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def RemoveTeamAccountMember(self, request, context): - """Missing associated documentation comment in .proto file.""" + """Removes a member from the team account. + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def InviteUserToTeamAccount(self, request, context): - """Missing associated documentation comment in .proto file.""" + """Invites a user to the team account. + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def GetTeamAccountInvites(self, request, context): - """Missing associated documentation comment in .proto file.""" + """Retrieves the list of invites for the team account. + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def RemoveTeamAccountInvite(self, request, context): - """Missing associated documentation comment in .proto file.""" + """Removes an invite from the team account. + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def AcceptTeamAccountInvite(self, request, context): - """Missing associated documentation comment in .proto file.""" + """Accepts an invite to the team account. + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def GetSystemInformation(self, request, context): - """Missing associated documentation comment in .proto file.""" + """Retrieves the system information. + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def GetAccountOnboardingConfig(self, request, context): - """Missing associated documentation comment in .proto file.""" + """Retrieves the onboarding config for the account. + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def SetAccountOnboardingConfig(self, request, context): - """Missing associated documentation comment in .proto file.""" + """Sets the onboarding config for the account. + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') @@ -440,7 +458,8 @@ def add_UserAccountServiceServicer_to_server(servicer, server): # This class is part of an EXPERIMENTAL API. class UserAccountService(object): - """Missing associated documentation comment in .proto file.""" + """Service that manages users, accounts, and billing + """ @staticmethod def GetUser(request,