diff --git a/cosi.pb.go b/cosi.pb.go index 29c8c0f..2100d66 100644 --- a/cosi.pb.go +++ b/cosi.pb.go @@ -32,130 +32,85 @@ const ( // of the legacy proto package is being used. const _ = proto.ProtoPackageIsVersion4 -// S3SignatureVersion is the version of the signing algorithm for all s3 requests -type S3SignatureVersion int32 +type Protocol int32 const ( - S3SignatureVersion_UnknownSignature S3SignatureVersion = 0 - // S3V2, Signature version v2 - S3SignatureVersion_S3V2 S3SignatureVersion = 1 - // S3V4, Signature version v4 - S3SignatureVersion_S3V4 S3SignatureVersion = 2 + Protocol_UnknownProtocol Protocol = 0 + // S3Protocol represents that the bucket should be created for the S3 + // object storage protocol + Protocol_S3Protocol Protocol = 1 + // GCSProtocol represents that the bucket should be created for the Google + // Cloud Storage protocol + Protocol_GCSProtocol Protocol = 2 + // AzureProtocol represents that the bucket should be created for the Azure + // Blob storage protocol + Protocol_AzureProtocol Protocol = 3 ) -// Enum value maps for S3SignatureVersion. +// Enum value maps for Protocol. var ( - S3SignatureVersion_name = map[int32]string{ - 0: "UnknownSignature", - 1: "S3V2", - 2: "S3V4", - } - S3SignatureVersion_value = map[string]int32{ - "UnknownSignature": 0, - "S3V2": 1, - "S3V4": 2, + Protocol_name = map[int32]string{ + 0: "UnknownProtocol", + 1: "S3Protocol", + 2: "GCSProtocol", + 3: "AzureProtocol", + } + Protocol_value = map[string]int32{ + "UnknownProtocol": 0, + "S3Protocol": 1, + "GCSProtocol": 2, + "AzureProtocol": 3, } ) -func (x S3SignatureVersion) Enum() *S3SignatureVersion { - p := new(S3SignatureVersion) +func (x Protocol) Enum() *Protocol { + p := new(Protocol) *p = x return p } -func (x S3SignatureVersion) String() string { +func (x Protocol) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (S3SignatureVersion) Descriptor() protoreflect.EnumDescriptor { +func (Protocol) Descriptor() protoreflect.EnumDescriptor { return file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_enumTypes[0].Descriptor() } -func (S3SignatureVersion) Type() protoreflect.EnumType { +func (Protocol) Type() protoreflect.EnumType { return &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_enumTypes[0] } -func (x S3SignatureVersion) Number() protoreflect.EnumNumber { +func (x Protocol) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use S3SignatureVersion.Descriptor instead. -func (S3SignatureVersion) EnumDescriptor() ([]byte, []int) { +// Deprecated: Use Protocol.Descriptor instead. +func (Protocol) EnumDescriptor() ([]byte, []int) { return file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_rawDescGZIP(), []int{0} } -type AnonymousBucketAccessMode int32 - -const ( - AnonymousBucketAccessMode_UnknownBucketAccessMode AnonymousBucketAccessMode = 0 - // Default, disallow uncredentialed access to the backend storage. - AnonymousBucketAccessMode_Private AnonymousBucketAccessMode = 1 - // Read only, uncredentialed users can call ListBucket and GetObject. - AnonymousBucketAccessMode_ReadOnly AnonymousBucketAccessMode = 2 - // Write only, uncredentialed users can only call PutObject. - AnonymousBucketAccessMode_WriteOnly AnonymousBucketAccessMode = 3 - // Read/Write, uncredentialed users can read objects as well as PutObject. - AnonymousBucketAccessMode_ReadWrite AnonymousBucketAccessMode = 4 -) - -// Enum value maps for AnonymousBucketAccessMode. -var ( - AnonymousBucketAccessMode_name = map[int32]string{ - 0: "UnknownBucketAccessMode", - 1: "Private", - 2: "ReadOnly", - 3: "WriteOnly", - 4: "ReadWrite", - } - AnonymousBucketAccessMode_value = map[string]int32{ - "UnknownBucketAccessMode": 0, - "Private": 1, - "ReadOnly": 2, - "WriteOnly": 3, - "ReadWrite": 4, - } -) - -func (x AnonymousBucketAccessMode) Enum() *AnonymousBucketAccessMode { - p := new(AnonymousBucketAccessMode) - *p = x - return p -} - -func (x AnonymousBucketAccessMode) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (AnonymousBucketAccessMode) Descriptor() protoreflect.EnumDescriptor { - return file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_enumTypes[1].Descriptor() -} - -func (AnonymousBucketAccessMode) Type() protoreflect.EnumType { - return &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_enumTypes[1] -} - -func (x AnonymousBucketAccessMode) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use AnonymousBucketAccessMode.Descriptor instead. -func (AnonymousBucketAccessMode) EnumDescriptor() ([]byte, []int) { - return file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_rawDescGZIP(), []int{1} -} - -type S3 struct { +type BucketInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // region denotes the geographical region where the S3 server is running - Region string `protobuf:"bytes,1,opt,name=region,proto3" json:"region,omitempty"` - // signature_version denotes the signature version for signing all s3 requests - SignatureVersion S3SignatureVersion `protobuf:"varint,2,opt,name=signature_version,json=signatureVersion,proto3,enum=cosi.v1alpha1.S3SignatureVersion" json:"signature_version,omitempty"` + // This field is REQUIRED + // bucket_name is a client readable identifier to connect + // to the object storage provider + BucketName string `protobuf:"bytes,1,opt,name=bucket_name,json=bucketName,proto3" json:"bucket_name,omitempty"` + // This field is OPTIONAL + // endpoint is a URL or path used to connect in parallel with the + // bucket_name to connect to the object storage provider + Endpoint string `protobuf:"bytes,2,opt,name=endpoint,proto3" json:"endpoint,omitempty"` + // This field is OPTIONAL + // region denotes the geographical region where the object + // storage provide is running + Region string `protobuf:"bytes,3,opt,name=region,proto3" json:"region,omitempty"` } -func (x *S3) Reset() { - *x = S3{} +func (x *BucketInfo) Reset() { + *x = BucketInfo{} if protoimpl.UnsafeEnabled { mi := &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -163,13 +118,13 @@ func (x *S3) Reset() { } } -func (x *S3) String() string { +func (x *BucketInfo) String() string { return protoimpl.X.MessageStringOf(x) } -func (*S3) ProtoMessage() {} +func (*BucketInfo) ProtoMessage() {} -func (x *S3) ProtoReflect() protoreflect.Message { +func (x *BucketInfo) ProtoReflect() protoreflect.Message { mi := &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -181,233 +136,32 @@ func (x *S3) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use S3.ProtoReflect.Descriptor instead. -func (*S3) Descriptor() ([]byte, []int) { +// Deprecated: Use BucketInfo.ProtoReflect.Descriptor instead. +func (*BucketInfo) Descriptor() ([]byte, []int) { return file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_rawDescGZIP(), []int{0} } -func (x *S3) GetRegion() string { - if x != nil { - return x.Region - } - return "" -} - -func (x *S3) GetSignatureVersion() S3SignatureVersion { - if x != nil { - return x.SignatureVersion - } - return S3SignatureVersion_UnknownSignature -} - -type AzureBlob struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // storage_account is the id of the azure storage account - StorageAccount string `protobuf:"bytes,1,opt,name=storage_account,json=storageAccount,proto3" json:"storage_account,omitempty"` -} - -func (x *AzureBlob) Reset() { - *x = AzureBlob{} - if protoimpl.UnsafeEnabled { - mi := &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AzureBlob) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AzureBlob) ProtoMessage() {} - -func (x *AzureBlob) ProtoReflect() protoreflect.Message { - mi := &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AzureBlob.ProtoReflect.Descriptor instead. -func (*AzureBlob) Descriptor() ([]byte, []int) { - return file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_rawDescGZIP(), []int{1} -} - -func (x *AzureBlob) GetStorageAccount() string { - if x != nil { - return x.StorageAccount - } - return "" -} - -type GCS struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // private_key_name denotes the name of the private key in the storage backend - PrivateKeyName string `protobuf:"bytes,1,opt,name=private_key_name,json=privateKeyName,proto3" json:"private_key_name,omitempty"` - // project_id denotes the name of the project id in the storage backend - ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` - // service_account denotes the name of the service account in the storage backend - ServiceAccount string `protobuf:"bytes,3,opt,name=service_account,json=serviceAccount,proto3" json:"service_account,omitempty"` -} - -func (x *GCS) Reset() { - *x = GCS{} - if protoimpl.UnsafeEnabled { - mi := &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GCS) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GCS) ProtoMessage() {} - -func (x *GCS) ProtoReflect() protoreflect.Message { - mi := &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GCS.ProtoReflect.Descriptor instead. -func (*GCS) Descriptor() ([]byte, []int) { - return file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_rawDescGZIP(), []int{2} -} - -func (x *GCS) GetPrivateKeyName() string { +func (x *BucketInfo) GetBucketName() string { if x != nil { - return x.PrivateKeyName + return x.BucketName } return "" } -func (x *GCS) GetProjectId() string { +func (x *BucketInfo) GetEndpoint() string { if x != nil { - return x.ProjectId + return x.Endpoint } return "" } -func (x *GCS) GetServiceAccount() string { +func (x *BucketInfo) GetRegion() string { if x != nil { - return x.ServiceAccount + return x.Region } return "" } -type Protocol struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Type: - // *Protocol_S3 - // *Protocol_AzureBlob - // *Protocol_Gcs - Type isProtocol_Type `protobuf_oneof:"type"` -} - -func (x *Protocol) Reset() { - *x = Protocol{} - if protoimpl.UnsafeEnabled { - mi := &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Protocol) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Protocol) ProtoMessage() {} - -func (x *Protocol) ProtoReflect() protoreflect.Message { - mi := &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Protocol.ProtoReflect.Descriptor instead. -func (*Protocol) Descriptor() ([]byte, []int) { - return file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_rawDescGZIP(), []int{3} -} - -func (m *Protocol) GetType() isProtocol_Type { - if m != nil { - return m.Type - } - return nil -} - -func (x *Protocol) GetS3() *S3 { - if x, ok := x.GetType().(*Protocol_S3); ok { - return x.S3 - } - return nil -} - -func (x *Protocol) GetAzureBlob() *AzureBlob { - if x, ok := x.GetType().(*Protocol_AzureBlob); ok { - return x.AzureBlob - } - return nil -} - -func (x *Protocol) GetGcs() *GCS { - if x, ok := x.GetType().(*Protocol_Gcs); ok { - return x.Gcs - } - return nil -} - -type isProtocol_Type interface { - isProtocol_Type() -} - -type Protocol_S3 struct { - S3 *S3 `protobuf:"bytes,1,opt,name=s3,proto3,oneof"` -} - -type Protocol_AzureBlob struct { - AzureBlob *AzureBlob `protobuf:"bytes,2,opt,name=azureBlob,proto3,oneof"` -} - -type Protocol_Gcs struct { - Gcs *GCS `protobuf:"bytes,3,opt,name=gcs,proto3,oneof"` -} - -func (*Protocol_S3) isProtocol_Type() {} - -func (*Protocol_AzureBlob) isProtocol_Type() {} - -func (*Protocol_Gcs) isProtocol_Type() {} - type ProvisionerGetInfoRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -417,7 +171,7 @@ type ProvisionerGetInfoRequest struct { func (x *ProvisionerGetInfoRequest) Reset() { *x = ProvisionerGetInfoRequest{} if protoimpl.UnsafeEnabled { - mi := &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[4] + mi := &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -430,7 +184,7 @@ func (x *ProvisionerGetInfoRequest) String() string { func (*ProvisionerGetInfoRequest) ProtoMessage() {} func (x *ProvisionerGetInfoRequest) ProtoReflect() protoreflect.Message { - mi := &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[4] + mi := &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -443,7 +197,7 @@ func (x *ProvisionerGetInfoRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ProvisionerGetInfoRequest.ProtoReflect.Descriptor instead. func (*ProvisionerGetInfoRequest) Descriptor() ([]byte, []int) { - return file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_rawDescGZIP(), []int{4} + return file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_rawDescGZIP(), []int{1} } type ProvisionerGetInfoResponse struct { @@ -465,7 +219,7 @@ type ProvisionerGetInfoResponse struct { func (x *ProvisionerGetInfoResponse) Reset() { *x = ProvisionerGetInfoResponse{} if protoimpl.UnsafeEnabled { - mi := &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[5] + mi := &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -478,7 +232,7 @@ func (x *ProvisionerGetInfoResponse) String() string { func (*ProvisionerGetInfoResponse) ProtoMessage() {} func (x *ProvisionerGetInfoResponse) ProtoReflect() protoreflect.Message { - mi := &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[5] + mi := &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -491,7 +245,7 @@ func (x *ProvisionerGetInfoResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ProvisionerGetInfoResponse.ProtoReflect.Descriptor instead. func (*ProvisionerGetInfoResponse) Descriptor() ([]byte, []int) { - return file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_rawDescGZIP(), []int{5} + return file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_rawDescGZIP(), []int{2} } func (x *ProvisionerGetInfoResponse) GetName() string { @@ -511,7 +265,7 @@ type ProvisionerCreateBucketRequest struct { Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // This field is REQUIRED // Protocol specific information required by the call is passed in as key,value pairs. - Protocol *Protocol `protobuf:"bytes,2,opt,name=protocol,proto3" json:"protocol,omitempty"` + Protocol Protocol `protobuf:"varint,2,opt,name=protocol,proto3,enum=cosi.v1alpha1.Protocol" json:"protocol,omitempty"` // This field is OPTIONAL // The caller should treat the values in parameters as opaque. // The receiver is responsible for parsing and validating the values. @@ -521,7 +275,7 @@ type ProvisionerCreateBucketRequest struct { func (x *ProvisionerCreateBucketRequest) Reset() { *x = ProvisionerCreateBucketRequest{} if protoimpl.UnsafeEnabled { - mi := &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[6] + mi := &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -534,7 +288,7 @@ func (x *ProvisionerCreateBucketRequest) String() string { func (*ProvisionerCreateBucketRequest) ProtoMessage() {} func (x *ProvisionerCreateBucketRequest) ProtoReflect() protoreflect.Message { - mi := &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[6] + mi := &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -547,7 +301,7 @@ func (x *ProvisionerCreateBucketRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ProvisionerCreateBucketRequest.ProtoReflect.Descriptor instead. func (*ProvisionerCreateBucketRequest) Descriptor() ([]byte, []int) { - return file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_rawDescGZIP(), []int{6} + return file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_rawDescGZIP(), []int{3} } func (x *ProvisionerCreateBucketRequest) GetName() string { @@ -557,11 +311,11 @@ func (x *ProvisionerCreateBucketRequest) GetName() string { return "" } -func (x *ProvisionerCreateBucketRequest) GetProtocol() *Protocol { +func (x *ProvisionerCreateBucketRequest) GetProtocol() Protocol { if x != nil { return x.Protocol } - return nil + return Protocol_UnknownProtocol } func (x *ProvisionerCreateBucketRequest) GetParameters() map[string]string { @@ -576,15 +330,20 @@ type ProvisionerCreateBucketResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // This field is REQUIRED // bucket_id returned here is expected to be the globally unique // identifier for the bucket in the object storage provider BucketId string `protobuf:"bytes,1,opt,name=bucket_id,json=bucketId,proto3" json:"bucket_id,omitempty"` + // This field is REQUIRED + // bucket_info contains metadata about the created bucket + // which allows clients to connect to the object storage provider + BucketInfo *BucketInfo `protobuf:"bytes,2,opt,name=bucket_info,json=bucketInfo,proto3" json:"bucket_info,omitempty"` } func (x *ProvisionerCreateBucketResponse) Reset() { *x = ProvisionerCreateBucketResponse{} if protoimpl.UnsafeEnabled { - mi := &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[7] + mi := &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -597,7 +356,7 @@ func (x *ProvisionerCreateBucketResponse) String() string { func (*ProvisionerCreateBucketResponse) ProtoMessage() {} func (x *ProvisionerCreateBucketResponse) ProtoReflect() protoreflect.Message { - mi := &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[7] + mi := &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -610,7 +369,7 @@ func (x *ProvisionerCreateBucketResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ProvisionerCreateBucketResponse.ProtoReflect.Descriptor instead. func (*ProvisionerCreateBucketResponse) Descriptor() ([]byte, []int) { - return file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_rawDescGZIP(), []int{7} + return file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_rawDescGZIP(), []int{4} } func (x *ProvisionerCreateBucketResponse) GetBucketId() string { @@ -620,6 +379,13 @@ func (x *ProvisionerCreateBucketResponse) GetBucketId() string { return "" } +func (x *ProvisionerCreateBucketResponse) GetBucketInfo() *BucketInfo { + if x != nil { + return x.BucketInfo + } + return nil +} + type ProvisionerDeleteBucketRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -634,7 +400,7 @@ type ProvisionerDeleteBucketRequest struct { func (x *ProvisionerDeleteBucketRequest) Reset() { *x = ProvisionerDeleteBucketRequest{} if protoimpl.UnsafeEnabled { - mi := &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[8] + mi := &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -647,7 +413,7 @@ func (x *ProvisionerDeleteBucketRequest) String() string { func (*ProvisionerDeleteBucketRequest) ProtoMessage() {} func (x *ProvisionerDeleteBucketRequest) ProtoReflect() protoreflect.Message { - mi := &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[8] + mi := &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -660,7 +426,7 @@ func (x *ProvisionerDeleteBucketRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ProvisionerDeleteBucketRequest.ProtoReflect.Descriptor instead. func (*ProvisionerDeleteBucketRequest) Descriptor() ([]byte, []int) { - return file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_rawDescGZIP(), []int{8} + return file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_rawDescGZIP(), []int{5} } func (x *ProvisionerDeleteBucketRequest) GetBucketId() string { @@ -679,7 +445,7 @@ type ProvisionerDeleteBucketResponse struct { func (x *ProvisionerDeleteBucketResponse) Reset() { *x = ProvisionerDeleteBucketResponse{} if protoimpl.UnsafeEnabled { - mi := &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[9] + mi := &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -692,7 +458,7 @@ func (x *ProvisionerDeleteBucketResponse) String() string { func (*ProvisionerDeleteBucketResponse) ProtoMessage() {} func (x *ProvisionerDeleteBucketResponse) ProtoReflect() protoreflect.Message { - mi := &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[9] + mi := &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -705,7 +471,7 @@ func (x *ProvisionerDeleteBucketResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ProvisionerDeleteBucketResponse.ProtoReflect.Descriptor instead. func (*ProvisionerDeleteBucketResponse) Descriptor() ([]byte, []int) { - return file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_rawDescGZIP(), []int{9} + return file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_rawDescGZIP(), []int{6} } type ProvisionerGrantBucketAccessRequest struct { @@ -734,7 +500,7 @@ type ProvisionerGrantBucketAccessRequest struct { func (x *ProvisionerGrantBucketAccessRequest) Reset() { *x = ProvisionerGrantBucketAccessRequest{} if protoimpl.UnsafeEnabled { - mi := &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[10] + mi := &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -747,7 +513,7 @@ func (x *ProvisionerGrantBucketAccessRequest) String() string { func (*ProvisionerGrantBucketAccessRequest) ProtoMessage() {} func (x *ProvisionerGrantBucketAccessRequest) ProtoReflect() protoreflect.Message { - mi := &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[10] + mi := &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -760,7 +526,7 @@ func (x *ProvisionerGrantBucketAccessRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use ProvisionerGrantBucketAccessRequest.ProtoReflect.Descriptor instead. func (*ProvisionerGrantBucketAccessRequest) Descriptor() ([]byte, []int) { - return file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_rawDescGZIP(), []int{10} + return file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_rawDescGZIP(), []int{7} } func (x *ProvisionerGrantBucketAccessRequest) GetBucketId() string { @@ -808,7 +574,7 @@ type ProvisionerGrantBucketAccessResponse struct { func (x *ProvisionerGrantBucketAccessResponse) Reset() { *x = ProvisionerGrantBucketAccessResponse{} if protoimpl.UnsafeEnabled { - mi := &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[11] + mi := &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -821,7 +587,7 @@ func (x *ProvisionerGrantBucketAccessResponse) String() string { func (*ProvisionerGrantBucketAccessResponse) ProtoMessage() {} func (x *ProvisionerGrantBucketAccessResponse) ProtoReflect() protoreflect.Message { - mi := &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[11] + mi := &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -834,7 +600,7 @@ func (x *ProvisionerGrantBucketAccessResponse) ProtoReflect() protoreflect.Messa // Deprecated: Use ProvisionerGrantBucketAccessResponse.ProtoReflect.Descriptor instead. func (*ProvisionerGrantBucketAccessResponse) Descriptor() ([]byte, []int) { - return file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_rawDescGZIP(), []int{11} + return file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_rawDescGZIP(), []int{8} } func (x *ProvisionerGrantBucketAccessResponse) GetAccountId() string { @@ -868,7 +634,7 @@ type ProvisionerRevokeBucketAccessRequest struct { func (x *ProvisionerRevokeBucketAccessRequest) Reset() { *x = ProvisionerRevokeBucketAccessRequest{} if protoimpl.UnsafeEnabled { - mi := &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[12] + mi := &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -881,7 +647,7 @@ func (x *ProvisionerRevokeBucketAccessRequest) String() string { func (*ProvisionerRevokeBucketAccessRequest) ProtoMessage() {} func (x *ProvisionerRevokeBucketAccessRequest) ProtoReflect() protoreflect.Message { - mi := &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[12] + mi := &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -894,7 +660,7 @@ func (x *ProvisionerRevokeBucketAccessRequest) ProtoReflect() protoreflect.Messa // Deprecated: Use ProvisionerRevokeBucketAccessRequest.ProtoReflect.Descriptor instead. func (*ProvisionerRevokeBucketAccessRequest) Descriptor() ([]byte, []int) { - return file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_rawDescGZIP(), []int{12} + return file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_rawDescGZIP(), []int{9} } func (x *ProvisionerRevokeBucketAccessRequest) GetBucketId() string { @@ -920,7 +686,7 @@ type ProvisionerRevokeBucketAccessResponse struct { func (x *ProvisionerRevokeBucketAccessResponse) Reset() { *x = ProvisionerRevokeBucketAccessResponse{} if protoimpl.UnsafeEnabled { - mi := &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[13] + mi := &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -933,7 +699,7 @@ func (x *ProvisionerRevokeBucketAccessResponse) String() string { func (*ProvisionerRevokeBucketAccessResponse) ProtoMessage() {} func (x *ProvisionerRevokeBucketAccessResponse) ProtoReflect() protoreflect.Message { - mi := &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[13] + mi := &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -946,7 +712,7 @@ func (x *ProvisionerRevokeBucketAccessResponse) ProtoReflect() protoreflect.Mess // Deprecated: Use ProvisionerRevokeBucketAccessResponse.ProtoReflect.Descriptor instead. func (*ProvisionerRevokeBucketAccessResponse) Descriptor() ([]byte, []int) { - return file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_rawDescGZIP(), []int{13} + return file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_rawDescGZIP(), []int{10} } var file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_extTypes = []protoimpl.ExtensionInfo{ @@ -1083,187 +849,164 @@ var file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_rawDesc 0x12, 0x0d, 0x63, 0x6f, 0x73, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x22, 0x6c, 0x0a, 0x02, 0x53, 0x33, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, - 0x4e, 0x0a, 0x11, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x63, 0x6f, 0x73, - 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x33, 0x53, 0x69, 0x67, - 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x73, - 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, - 0x34, 0x0a, 0x09, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x42, 0x6c, 0x6f, 0x62, 0x12, 0x27, 0x0a, 0x0f, - 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x77, 0x0a, 0x03, 0x47, 0x43, 0x53, 0x12, 0x28, 0x0a, 0x10, - 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, - 0x65, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x99, - 0x01, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x23, 0x0a, 0x02, 0x73, - 0x33, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x73, 0x69, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x33, 0x48, 0x00, 0x52, 0x02, 0x73, 0x33, - 0x12, 0x38, 0x0a, 0x09, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x42, 0x6c, 0x6f, 0x62, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x73, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x31, 0x2e, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x42, 0x6c, 0x6f, 0x62, 0x48, 0x00, 0x52, - 0x09, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x42, 0x6c, 0x6f, 0x62, 0x12, 0x26, 0x0a, 0x03, 0x67, 0x63, - 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6f, 0x73, 0x69, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x43, 0x53, 0x48, 0x00, 0x52, 0x03, 0x67, - 0x63, 0x73, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x1b, 0x0a, 0x19, 0x50, 0x72, - 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x30, 0x0a, 0x1a, 0x50, 0x72, 0x6f, 0x76, 0x69, - 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x87, 0x02, 0x0a, 0x1e, 0x50, 0x72, - 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, - 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x33, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x6f, 0x73, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x52, 0x08, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x5d, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, - 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x63, 0x6f, 0x73, 0x69, + 0x6f, 0x22, 0x61, 0x0a, 0x0a, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, + 0x1f, 0x0a, 0x0b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x22, 0x1b, 0x0a, 0x19, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, + 0x6e, 0x65, 0x72, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x22, 0x30, 0x0a, 0x1a, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, + 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x22, 0x87, 0x02, 0x0a, 0x1e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, + 0x6e, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x33, 0x0a, 0x08, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x63, + 0x6f, 0x73, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, + 0x5d, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x63, 0x6f, 0x73, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x1a, 0x3d, + 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 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, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x7a, 0x0a, + 0x1f, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x3a, 0x0a, + 0x0b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x31, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x62, + 0x75, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x3d, 0x0a, 0x1e, 0x50, 0x72, 0x6f, + 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x75, + 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x62, + 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x22, 0x21, 0x0a, 0x1f, 0x50, 0x72, 0x6f, 0x76, + 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x75, 0x63, + 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xad, 0x02, 0x0a, 0x23, + 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, + 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x64, + 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x62, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, + 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x63, + 0x6f, 0x73, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, + 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x42, 0x75, 0x63, + 0x6b, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x1a, 0x3d, 0x0a, 0x0f, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 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, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x67, 0x0a, 0x24, 0x50, + 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x42, + 0x75, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x61, 0x6c, 0x73, 0x22, 0x62, 0x0a, 0x24, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, + 0x6e, 0x65, 0x72, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x41, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, + 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x27, 0x0a, 0x25, 0x50, 0x72, 0x6f, 0x76, + 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x42, 0x75, 0x63, + 0x6b, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x2a, 0x53, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x13, 0x0a, + 0x0f, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, + 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x33, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, + 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x47, 0x43, 0x53, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, + 0x6c, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x63, 0x6f, 0x6c, 0x10, 0x03, 0x32, 0x77, 0x0a, 0x08, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x12, 0x6b, 0x0a, 0x12, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, + 0x72, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x28, 0x2e, 0x63, 0x6f, 0x73, 0x69, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, + 0x6f, 0x6e, 0x65, 0x72, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x6f, 0x73, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x47, 0x65, + 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x32, + 0x9c, 0x04, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x12, + 0x7a, 0x0a, 0x17, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x2d, 0x2e, 0x63, 0x6f, 0x73, + 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, + 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, 0x63, 0x6b, + 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x6f, 0x73, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, - 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, - 0x74, 0x65, 0x72, 0x73, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 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, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, - 0x02, 0x38, 0x01, 0x22, 0x3e, 0x0a, 0x1f, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, - 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x75, 0x63, 0x6b, 0x65, - 0x74, 0x49, 0x64, 0x22, 0x3d, 0x0a, 0x1e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7a, 0x0a, 0x17, 0x50, + 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x2d, 0x2e, 0x63, 0x6f, 0x73, 0x69, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, - 0x49, 0x64, 0x22, 0x21, 0x0a, 0x1f, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x6f, 0x73, 0x69, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xad, 0x02, 0x0a, 0x23, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, - 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, - 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, - 0x09, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, - 0x0d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x12, 0x62, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, - 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x63, 0x6f, 0x73, 0x69, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, - 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, - 0x65, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, - 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, - 0x74, 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, 0x14, 0x0a, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x67, 0x0a, 0x24, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x87, 0x01, 0x0a, 0x1c, 0x50, 0x72, 0x6f, 0x76, + 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x42, 0x75, 0x63, 0x6b, + 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x32, 0x2e, 0x63, 0x6f, 0x73, 0x69, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x41, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, - 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, - 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x22, 0x62, - 0x0a, 0x24, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x76, - 0x6f, 0x6b, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x75, 0x63, 0x6b, 0x65, - 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x49, 0x64, 0x22, 0x27, 0x0a, 0x25, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, + 0x6f, 0x73, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, + 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x42, 0x75, 0x63, + 0x6b, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x8a, 0x01, 0x0a, 0x1d, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2a, 0x3e, 0x0a, 0x12, 0x53, - 0x33, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x53, 0x69, 0x67, 0x6e, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x33, 0x56, 0x32, 0x10, - 0x01, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x33, 0x56, 0x34, 0x10, 0x02, 0x2a, 0x71, 0x0a, 0x19, 0x41, - 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x6f, 0x75, 0x73, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x55, 0x6e, 0x6b, 0x6e, - 0x6f, 0x77, 0x6e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4d, - 0x6f, 0x64, 0x65, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, - 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x10, 0x02, - 0x12, 0x0d, 0x0a, 0x09, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x10, 0x03, 0x12, - 0x0d, 0x0a, 0x09, 0x52, 0x65, 0x61, 0x64, 0x57, 0x72, 0x69, 0x74, 0x65, 0x10, 0x04, 0x32, 0x77, - 0x0a, 0x08, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x6b, 0x0a, 0x12, 0x50, 0x72, - 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, - 0x12, 0x28, 0x2e, 0x63, 0x6f, 0x73, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, - 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x47, 0x65, 0x74, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x6f, 0x73, - 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, - 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x32, 0x9c, 0x04, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x76, - 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x12, 0x7a, 0x0a, 0x17, 0x50, 0x72, 0x6f, 0x76, 0x69, - 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, 0x63, 0x6b, - 0x65, 0x74, 0x12, 0x2d, 0x2e, 0x63, 0x6f, 0x73, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x6f, 0x73, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x7a, 0x0a, 0x17, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, - 0x65, 0x72, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x2d, - 0x2e, 0x63, 0x6f, 0x73, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, - 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, - 0x63, 0x6f, 0x73, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x72, - 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, - 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x87, 0x01, 0x0a, 0x1c, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x47, - 0x72, 0x61, 0x6e, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x12, 0x32, 0x2e, 0x63, 0x6f, 0x73, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, - 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, - 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x6f, 0x73, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, - 0x47, 0x72, 0x61, 0x6e, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8a, 0x01, 0x0a, 0x1d, 0x50, 0x72, - 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x42, - 0x75, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x33, 0x2e, 0x63, 0x6f, - 0x73, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x76, - 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x42, 0x75, 0x63, - 0x6b, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x34, 0x2e, 0x63, 0x6f, 0x73, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, - 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x76, 0x6f, - 0x6b, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x3a, 0x3c, 0x0a, 0x0a, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x5f, - 0x65, 0x6e, 0x75, 0x6d, 0x12, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x18, 0xa4, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x45, 0x6e, 0x75, 0x6d, 0x3a, 0x4c, 0x0a, 0x10, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x5f, 0x65, 0x6e, - 0x75, 0x6d, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xa4, 0x08, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0e, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x3a, 0x3f, 0x0a, 0x0b, 0x63, 0x6f, 0x73, 0x69, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, - 0x74, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0xa3, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x63, 0x6f, 0x73, 0x69, 0x53, 0x65, 0x63, - 0x72, 0x65, 0x74, 0x3a, 0x3f, 0x0a, 0x0b, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x5f, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x18, 0xa4, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x46, - 0x69, 0x65, 0x6c, 0x64, 0x3a, 0x45, 0x0a, 0x0d, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x5f, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xa4, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x3a, 0x42, 0x0a, 0x0c, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x1e, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, - 0x74, 0x68, 0x6f, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xa4, 0x08, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0b, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x3a, - 0x45, 0x0a, 0x0d, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x12, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x18, 0xa4, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x3a, 0x5a, 0x38, 0x73, 0x69, 0x67, 0x73, 0x2e, 0x6b, - 0x38, 0x73, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2d, - 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2d, 0x69, - 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x2d, 0x73, 0x70, 0x65, 0x63, 0x3b, 0x63, 0x6f, - 0x73, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x73, 0x73, 0x12, 0x33, 0x2e, 0x63, 0x6f, 0x73, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x52, + 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x6f, 0x73, 0x69, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, + 0x6f, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, + 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x3a, 0x3c, + 0x0a, 0x0a, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x12, 0x1c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, + 0x6e, 0x75, 0x6d, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xa4, 0x08, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x09, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x45, 0x6e, 0x75, 0x6d, 0x3a, 0x4c, 0x0a, 0x10, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x12, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0xa4, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x3f, 0x0a, 0x0b, 0x63, 0x6f, + 0x73, 0x69, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, + 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xa3, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0a, 0x63, 0x6f, 0x73, 0x69, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x3a, 0x3f, 0x0a, 0x0b, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, + 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xa4, 0x08, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0a, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x3a, 0x45, 0x0a, 0x0d, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1f, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xa4, + 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x4d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x3a, 0x42, 0x0a, 0x0c, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x5f, 0x6d, 0x65, 0x74, + 0x68, 0x6f, 0x64, 0x12, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0xa4, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x3a, 0x45, 0x0a, 0x0d, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xa4, 0x08, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0c, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x3a, + 0x5a, 0x38, 0x73, 0x69, 0x67, 0x73, 0x2e, 0x6b, 0x38, 0x73, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2d, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2d, 0x73, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2d, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, + 0x2d, 0x73, 0x70, 0x65, 0x63, 0x3b, 0x63, 0x6f, 0x73, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, } var ( @@ -1278,64 +1021,57 @@ func file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_rawDesc return file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_rawDescData } -var file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes = make([]protoimpl.MessageInfo, 16) +var file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes = make([]protoimpl.MessageInfo, 13) var file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_goTypes = []interface{}{ - (S3SignatureVersion)(0), // 0: cosi.v1alpha1.S3SignatureVersion - (AnonymousBucketAccessMode)(0), // 1: cosi.v1alpha1.AnonymousBucketAccessMode - (*S3)(nil), // 2: cosi.v1alpha1.S3 - (*AzureBlob)(nil), // 3: cosi.v1alpha1.AzureBlob - (*GCS)(nil), // 4: cosi.v1alpha1.GCS - (*Protocol)(nil), // 5: cosi.v1alpha1.Protocol - (*ProvisionerGetInfoRequest)(nil), // 6: cosi.v1alpha1.ProvisionerGetInfoRequest - (*ProvisionerGetInfoResponse)(nil), // 7: cosi.v1alpha1.ProvisionerGetInfoResponse - (*ProvisionerCreateBucketRequest)(nil), // 8: cosi.v1alpha1.ProvisionerCreateBucketRequest - (*ProvisionerCreateBucketResponse)(nil), // 9: cosi.v1alpha1.ProvisionerCreateBucketResponse - (*ProvisionerDeleteBucketRequest)(nil), // 10: cosi.v1alpha1.ProvisionerDeleteBucketRequest - (*ProvisionerDeleteBucketResponse)(nil), // 11: cosi.v1alpha1.ProvisionerDeleteBucketResponse - (*ProvisionerGrantBucketAccessRequest)(nil), // 12: cosi.v1alpha1.ProvisionerGrantBucketAccessRequest - (*ProvisionerGrantBucketAccessResponse)(nil), // 13: cosi.v1alpha1.ProvisionerGrantBucketAccessResponse - (*ProvisionerRevokeBucketAccessRequest)(nil), // 14: cosi.v1alpha1.ProvisionerRevokeBucketAccessRequest - (*ProvisionerRevokeBucketAccessResponse)(nil), // 15: cosi.v1alpha1.ProvisionerRevokeBucketAccessResponse - nil, // 16: cosi.v1alpha1.ProvisionerCreateBucketRequest.ParametersEntry - nil, // 17: cosi.v1alpha1.ProvisionerGrantBucketAccessRequest.ParametersEntry - (*descriptor.EnumOptions)(nil), // 18: google.protobuf.EnumOptions - (*descriptor.EnumValueOptions)(nil), // 19: google.protobuf.EnumValueOptions - (*descriptor.FieldOptions)(nil), // 20: google.protobuf.FieldOptions - (*descriptor.MessageOptions)(nil), // 21: google.protobuf.MessageOptions - (*descriptor.MethodOptions)(nil), // 22: google.protobuf.MethodOptions - (*descriptor.ServiceOptions)(nil), // 23: google.protobuf.ServiceOptions + (Protocol)(0), // 0: cosi.v1alpha1.Protocol + (*BucketInfo)(nil), // 1: cosi.v1alpha1.BucketInfo + (*ProvisionerGetInfoRequest)(nil), // 2: cosi.v1alpha1.ProvisionerGetInfoRequest + (*ProvisionerGetInfoResponse)(nil), // 3: cosi.v1alpha1.ProvisionerGetInfoResponse + (*ProvisionerCreateBucketRequest)(nil), // 4: cosi.v1alpha1.ProvisionerCreateBucketRequest + (*ProvisionerCreateBucketResponse)(nil), // 5: cosi.v1alpha1.ProvisionerCreateBucketResponse + (*ProvisionerDeleteBucketRequest)(nil), // 6: cosi.v1alpha1.ProvisionerDeleteBucketRequest + (*ProvisionerDeleteBucketResponse)(nil), // 7: cosi.v1alpha1.ProvisionerDeleteBucketResponse + (*ProvisionerGrantBucketAccessRequest)(nil), // 8: cosi.v1alpha1.ProvisionerGrantBucketAccessRequest + (*ProvisionerGrantBucketAccessResponse)(nil), // 9: cosi.v1alpha1.ProvisionerGrantBucketAccessResponse + (*ProvisionerRevokeBucketAccessRequest)(nil), // 10: cosi.v1alpha1.ProvisionerRevokeBucketAccessRequest + (*ProvisionerRevokeBucketAccessResponse)(nil), // 11: cosi.v1alpha1.ProvisionerRevokeBucketAccessResponse + nil, // 12: cosi.v1alpha1.ProvisionerCreateBucketRequest.ParametersEntry + nil, // 13: cosi.v1alpha1.ProvisionerGrantBucketAccessRequest.ParametersEntry + (*descriptor.EnumOptions)(nil), // 14: google.protobuf.EnumOptions + (*descriptor.EnumValueOptions)(nil), // 15: google.protobuf.EnumValueOptions + (*descriptor.FieldOptions)(nil), // 16: google.protobuf.FieldOptions + (*descriptor.MessageOptions)(nil), // 17: google.protobuf.MessageOptions + (*descriptor.MethodOptions)(nil), // 18: google.protobuf.MethodOptions + (*descriptor.ServiceOptions)(nil), // 19: google.protobuf.ServiceOptions } var file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_depIdxs = []int32{ - 0, // 0: cosi.v1alpha1.S3.signature_version:type_name -> cosi.v1alpha1.S3SignatureVersion - 2, // 1: cosi.v1alpha1.Protocol.s3:type_name -> cosi.v1alpha1.S3 - 3, // 2: cosi.v1alpha1.Protocol.azureBlob:type_name -> cosi.v1alpha1.AzureBlob - 4, // 3: cosi.v1alpha1.Protocol.gcs:type_name -> cosi.v1alpha1.GCS - 5, // 4: cosi.v1alpha1.ProvisionerCreateBucketRequest.protocol:type_name -> cosi.v1alpha1.Protocol - 16, // 5: cosi.v1alpha1.ProvisionerCreateBucketRequest.parameters:type_name -> cosi.v1alpha1.ProvisionerCreateBucketRequest.ParametersEntry - 17, // 6: cosi.v1alpha1.ProvisionerGrantBucketAccessRequest.parameters:type_name -> cosi.v1alpha1.ProvisionerGrantBucketAccessRequest.ParametersEntry - 18, // 7: cosi.v1alpha1.alpha_enum:extendee -> google.protobuf.EnumOptions - 19, // 8: cosi.v1alpha1.alpha_enum_value:extendee -> google.protobuf.EnumValueOptions - 20, // 9: cosi.v1alpha1.cosi_secret:extendee -> google.protobuf.FieldOptions - 20, // 10: cosi.v1alpha1.alpha_field:extendee -> google.protobuf.FieldOptions - 21, // 11: cosi.v1alpha1.alpha_message:extendee -> google.protobuf.MessageOptions - 22, // 12: cosi.v1alpha1.alpha_method:extendee -> google.protobuf.MethodOptions - 23, // 13: cosi.v1alpha1.alpha_service:extendee -> google.protobuf.ServiceOptions - 6, // 14: cosi.v1alpha1.Identity.ProvisionerGetInfo:input_type -> cosi.v1alpha1.ProvisionerGetInfoRequest - 8, // 15: cosi.v1alpha1.Provisioner.ProvisionerCreateBucket:input_type -> cosi.v1alpha1.ProvisionerCreateBucketRequest - 10, // 16: cosi.v1alpha1.Provisioner.ProvisionerDeleteBucket:input_type -> cosi.v1alpha1.ProvisionerDeleteBucketRequest - 12, // 17: cosi.v1alpha1.Provisioner.ProvisionerGrantBucketAccess:input_type -> cosi.v1alpha1.ProvisionerGrantBucketAccessRequest - 14, // 18: cosi.v1alpha1.Provisioner.ProvisionerRevokeBucketAccess:input_type -> cosi.v1alpha1.ProvisionerRevokeBucketAccessRequest - 7, // 19: cosi.v1alpha1.Identity.ProvisionerGetInfo:output_type -> cosi.v1alpha1.ProvisionerGetInfoResponse - 9, // 20: cosi.v1alpha1.Provisioner.ProvisionerCreateBucket:output_type -> cosi.v1alpha1.ProvisionerCreateBucketResponse - 11, // 21: cosi.v1alpha1.Provisioner.ProvisionerDeleteBucket:output_type -> cosi.v1alpha1.ProvisionerDeleteBucketResponse - 13, // 22: cosi.v1alpha1.Provisioner.ProvisionerGrantBucketAccess:output_type -> cosi.v1alpha1.ProvisionerGrantBucketAccessResponse - 15, // 23: cosi.v1alpha1.Provisioner.ProvisionerRevokeBucketAccess:output_type -> cosi.v1alpha1.ProvisionerRevokeBucketAccessResponse - 19, // [19:24] is the sub-list for method output_type - 14, // [14:19] is the sub-list for method input_type - 14, // [14:14] is the sub-list for extension type_name - 7, // [7:14] is the sub-list for extension extendee - 0, // [0:7] is the sub-list for field type_name + 0, // 0: cosi.v1alpha1.ProvisionerCreateBucketRequest.protocol:type_name -> cosi.v1alpha1.Protocol + 12, // 1: cosi.v1alpha1.ProvisionerCreateBucketRequest.parameters:type_name -> cosi.v1alpha1.ProvisionerCreateBucketRequest.ParametersEntry + 1, // 2: cosi.v1alpha1.ProvisionerCreateBucketResponse.bucket_info:type_name -> cosi.v1alpha1.BucketInfo + 13, // 3: cosi.v1alpha1.ProvisionerGrantBucketAccessRequest.parameters:type_name -> cosi.v1alpha1.ProvisionerGrantBucketAccessRequest.ParametersEntry + 14, // 4: cosi.v1alpha1.alpha_enum:extendee -> google.protobuf.EnumOptions + 15, // 5: cosi.v1alpha1.alpha_enum_value:extendee -> google.protobuf.EnumValueOptions + 16, // 6: cosi.v1alpha1.cosi_secret:extendee -> google.protobuf.FieldOptions + 16, // 7: cosi.v1alpha1.alpha_field:extendee -> google.protobuf.FieldOptions + 17, // 8: cosi.v1alpha1.alpha_message:extendee -> google.protobuf.MessageOptions + 18, // 9: cosi.v1alpha1.alpha_method:extendee -> google.protobuf.MethodOptions + 19, // 10: cosi.v1alpha1.alpha_service:extendee -> google.protobuf.ServiceOptions + 2, // 11: cosi.v1alpha1.Identity.ProvisionerGetInfo:input_type -> cosi.v1alpha1.ProvisionerGetInfoRequest + 4, // 12: cosi.v1alpha1.Provisioner.ProvisionerCreateBucket:input_type -> cosi.v1alpha1.ProvisionerCreateBucketRequest + 6, // 13: cosi.v1alpha1.Provisioner.ProvisionerDeleteBucket:input_type -> cosi.v1alpha1.ProvisionerDeleteBucketRequest + 8, // 14: cosi.v1alpha1.Provisioner.ProvisionerGrantBucketAccess:input_type -> cosi.v1alpha1.ProvisionerGrantBucketAccessRequest + 10, // 15: cosi.v1alpha1.Provisioner.ProvisionerRevokeBucketAccess:input_type -> cosi.v1alpha1.ProvisionerRevokeBucketAccessRequest + 3, // 16: cosi.v1alpha1.Identity.ProvisionerGetInfo:output_type -> cosi.v1alpha1.ProvisionerGetInfoResponse + 5, // 17: cosi.v1alpha1.Provisioner.ProvisionerCreateBucket:output_type -> cosi.v1alpha1.ProvisionerCreateBucketResponse + 7, // 18: cosi.v1alpha1.Provisioner.ProvisionerDeleteBucket:output_type -> cosi.v1alpha1.ProvisionerDeleteBucketResponse + 9, // 19: cosi.v1alpha1.Provisioner.ProvisionerGrantBucketAccess:output_type -> cosi.v1alpha1.ProvisionerGrantBucketAccessResponse + 11, // 20: cosi.v1alpha1.Provisioner.ProvisionerRevokeBucketAccess:output_type -> cosi.v1alpha1.ProvisionerRevokeBucketAccessResponse + 16, // [16:21] is the sub-list for method output_type + 11, // [11:16] is the sub-list for method input_type + 11, // [11:11] is the sub-list for extension type_name + 4, // [4:11] is the sub-list for extension extendee + 0, // [0:4] is the sub-list for field type_name } func init() { file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_init() } @@ -1345,7 +1081,7 @@ func file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_init() } if !protoimpl.UnsafeEnabled { file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*S3); i { + switch v := v.(*BucketInfo); i { case 0: return &v.state case 1: @@ -1357,42 +1093,6 @@ func file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_init() } } file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AzureBlob); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GCS); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Protocol); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProvisionerGetInfoRequest); i { case 0: return &v.state @@ -1404,7 +1104,7 @@ func file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_init() return nil } } - file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProvisionerGetInfoResponse); i { case 0: return &v.state @@ -1416,7 +1116,7 @@ func file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_init() return nil } } - file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProvisionerCreateBucketRequest); i { case 0: return &v.state @@ -1428,7 +1128,7 @@ func file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_init() return nil } } - file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProvisionerCreateBucketResponse); i { case 0: return &v.state @@ -1440,7 +1140,7 @@ func file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_init() return nil } } - file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProvisionerDeleteBucketRequest); i { case 0: return &v.state @@ -1452,7 +1152,7 @@ func file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_init() return nil } } - file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProvisionerDeleteBucketResponse); i { case 0: return &v.state @@ -1464,7 +1164,7 @@ func file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_init() return nil } } - file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProvisionerGrantBucketAccessRequest); i { case 0: return &v.state @@ -1476,7 +1176,7 @@ func file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_init() return nil } } - file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProvisionerGrantBucketAccessResponse); i { case 0: return &v.state @@ -1488,7 +1188,7 @@ func file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_init() return nil } } - file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProvisionerRevokeBucketAccessRequest); i { case 0: return &v.state @@ -1500,7 +1200,7 @@ func file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_init() return nil } } - file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProvisionerRevokeBucketAccessResponse); i { case 0: return &v.state @@ -1513,18 +1213,13 @@ func file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_init() } } } - file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[3].OneofWrappers = []interface{}{ - (*Protocol_S3)(nil), - (*Protocol_AzureBlob)(nil), - (*Protocol_Gcs)(nil), - } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_rawDesc, - NumEnums: 2, - NumMessages: 16, + NumEnums: 1, + NumMessages: 13, NumExtensions: 7, NumServices: 2, }, diff --git a/cosi.pb.json.go b/cosi.pb.json.go index 57bd9cf..3a3913a 100644 --- a/cosi.pb.json.go +++ b/cosi.pb.json.go @@ -10,7 +10,7 @@ import ( ) // MarshalJSON implements json.Marshaler -func (msg *S3) MarshalJSON() ([]byte, error) { +func (msg *BucketInfo) MarshalJSON() ([]byte, error) { var buf bytes.Buffer err := (&jsonpb.Marshaler{ EnumsAsInts: false, @@ -21,61 +21,7 @@ func (msg *S3) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *S3) UnmarshalJSON(b []byte) error { - return (&jsonpb.Unmarshaler{ - AllowUnknownFields: false, - }).Unmarshal(bytes.NewReader(b), msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *AzureBlob) MarshalJSON() ([]byte, error) { - var buf bytes.Buffer - err := (&jsonpb.Marshaler{ - EnumsAsInts: false, - EmitDefaults: true, - OrigName: false, - }).Marshal(&buf, msg) - return buf.Bytes(), err -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *AzureBlob) UnmarshalJSON(b []byte) error { - return (&jsonpb.Unmarshaler{ - AllowUnknownFields: false, - }).Unmarshal(bytes.NewReader(b), msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *GCS) MarshalJSON() ([]byte, error) { - var buf bytes.Buffer - err := (&jsonpb.Marshaler{ - EnumsAsInts: false, - EmitDefaults: true, - OrigName: false, - }).Marshal(&buf, msg) - return buf.Bytes(), err -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *GCS) UnmarshalJSON(b []byte) error { - return (&jsonpb.Unmarshaler{ - AllowUnknownFields: false, - }).Unmarshal(bytes.NewReader(b), msg) -} - -// MarshalJSON implements json.Marshaler -func (msg *Protocol) MarshalJSON() ([]byte, error) { - var buf bytes.Buffer - err := (&jsonpb.Marshaler{ - EnumsAsInts: false, - EmitDefaults: true, - OrigName: false, - }).Marshal(&buf, msg) - return buf.Bytes(), err -} - -// UnmarshalJSON implements json.Unmarshaler -func (msg *Protocol) UnmarshalJSON(b []byte) error { +func (msg *BucketInfo) UnmarshalJSON(b []byte) error { return (&jsonpb.Unmarshaler{ AllowUnknownFields: false, }).Unmarshal(bytes.NewReader(b), msg) diff --git a/cosi.proto b/cosi.proto index 344f998..4349830 100644 --- a/cosi.proto +++ b/cosi.proto @@ -75,54 +75,34 @@ service Provisioner { rpc ProvisionerRevokeBucketAccess (ProvisionerRevokeBucketAccessRequest) returns (ProvisionerRevokeBucketAccessResponse); } -// S3SignatureVersion is the version of the signing algorithm for all s3 requests -enum S3SignatureVersion { - UnknownSignature = 0; - // S3V2, Signature version v2 - S3V2 = 1; - // S3V4, Signature version v4 - S3V4 = 2; -} - -enum AnonymousBucketAccessMode { - UnknownBucketAccessMode = 0; - // Default, disallow uncredentialed access to the backend storage. - Private = 1; - // Read only, uncredentialed users can call ListBucket and GetObject. - ReadOnly = 2; - // Write only, uncredentialed users can only call PutObject. - WriteOnly = 3; - // Read/Write, uncredentialed users can read objects as well as PutObject. - ReadWrite = 4; -} - -message S3 { - // region denotes the geographical region where the S3 server is running - string region = 1; - // signature_version denotes the signature version for signing all s3 requests - S3SignatureVersion signature_version = 2; -} - -message AzureBlob { - // storage_account is the id of the azure storage account - string storage_account = 1; -} +enum Protocol { + UnknownProtocol = 0; + // S3Protocol represents that the bucket should be created for the S3 + // object storage protocol + S3Protocol = 1; + // GCSProtocol represents that the bucket should be created for the Google + // Cloud Storage protocol + GCSProtocol = 2; + // AzureProtocol represents that the bucket should be created for the Azure + // Blob storage protocol + AzureProtocol = 3; +} + +message BucketInfo { + // This field is REQUIRED + // bucket_name is a client readable identifier to connect + // to the object storage provider + string bucket_name = 1; -message GCS { - // private_key_name denotes the name of the private key in the storage backend - string private_key_name = 1; - // project_id denotes the name of the project id in the storage backend - string project_id = 2; - // service_account denotes the name of the service account in the storage backend - string service_account = 3; -} + // This field is OPTIONAL + // endpoint is a URL or path used to connect in parallel with the + // bucket_name to connect to the object storage provider + string endpoint = 2; -message Protocol { - oneof type { - S3 s3 = 1; - AzureBlob azureBlob = 2; - GCS gcs = 3; - } + // This field is OPTIONAL + // region denotes the geographical region where the object + // storage provide is running + string region = 3; } message ProvisionerGetInfoRequest { @@ -157,9 +137,15 @@ message ProvisionerCreateBucketRequest { } message ProvisionerCreateBucketResponse { + // This field is REQUIRED // bucket_id returned here is expected to be the globally unique // identifier for the bucket in the object storage provider string bucket_id = 1; + + // This field is REQUIRED + // bucket_info contains metadata about the created bucket + // which allows clients to connect to the object storage provider + BucketInfo bucket_info = 2; } message ProvisionerDeleteBucketRequest { diff --git a/spec.md b/spec.md index a557609..0d0e15a 100644 --- a/spec.md +++ b/spec.md @@ -202,54 +202,34 @@ service Provisioner { rpc ProvisionerRevokeBucketAccess (ProvisionerRevokeBucketAccessRequest) returns (ProvisionerRevokeBucketAccessResponse); } -// S3SignatureVersion is the version of the signing algorithm for all s3 requests -enum S3SignatureVersion { - UnknownSignature = 0; - // S3V2, Signature version v2 - S3V2 = 1; - // S3V4, Signature version v4 - S3V4 = 2; +enum Protocol { + UnknownProtocol = 0; + // S3Protocol represents that the bucket should be created for the S3 + // object storage protocol + S3Protocol = 1; + // GCSProtocol represents that the bucket should be created for the Google + // Cloud Storage protocol + GCSProtocol = 2; + // AzureProtocol represents that the bucket should be created for the Azure + // Blob storage protocol + AzureProtocol = 3; } -enum AnonymousBucketAccessMode { - UnknownBucketAccessMode = 0; - // Default, disallow uncredentialed access to the backend storage. - Private = 1; - // Read only, uncredentialed users can call ListBucket and GetObject. - ReadOnly = 2; - // Write only, uncredentialed users can only call PutObject. - WriteOnly = 3; - // Read/Write, uncredentialed users can read objects as well as PutObject. - ReadWrite = 4; -} - -message S3 { - // region denotes the geographical region where the S3 server is running - string region = 1; - // signature_version denotes the signature version for signing all s3 requests - S3SignatureVersion signature_version = 2; -} - -message AzureBlob { - // storage_account is the id of the azure storage account - string storage_account = 1; -} +message BucketInfo { + // This field is REQUIRED + // bucket_name is a client readable identifier to connect + // to the object storage provider + string bucket_name = 1; -message GCS { - // private_key_name denotes the name of the private key in the storage backend - string private_key_name = 1; - // project_id denotes the name of the project id in the storage backend - string project_id = 2; - // service_account denotes the name of the service account in the storage backend - string service_account = 3; -} + // This field is OPTIONAL + // endpoint is a URL or path used to connect in parallel with the + // bucket_name to connect to the object storage provider + string endpoint = 2; -message Protocol { - oneof type { - S3 s3 = 1; - AzureBlob azureBlob = 2; - GCS gcs = 3; - } + // This field is OPTIONAL + // region denotes the geographical region where the object + // storage provide is running + string region = 3; } message ProvisionerGetInfoRequest { @@ -284,9 +264,15 @@ message ProvisionerCreateBucketRequest { } message ProvisionerCreateBucketResponse { + // This field is REQUIRED // bucket_id returned here is expected to be the globally unique // identifier for the bucket in the object storage provider string bucket_id = 1; + + // This field is REQUIRED + // bucket_info contains metadata about the created bucket + // which allows clients to connect to the object storage provider + BucketInfo bucket_info = 2; } message ProvisionerDeleteBucketRequest {