diff --git a/cosi.pb.go b/cosi.pb.go index a002989..8e162e5 100644 --- a/cosi.pb.go +++ b/cosi.pb.go @@ -32,61 +32,6 @@ const ( // of the legacy proto package is being used. const _ = proto.ProtoPackageIsVersion4 -type ProtocolName int32 - -const ( - ProtocolName_UnknownProtocol ProtocolName = 0 - // S3, AWS S3 protocol - ProtocolName_S3 ProtocolName = 1 - // AZURE, Microsoft Azure protocol - ProtocolName_AZURE ProtocolName = 2 - // GCS, Google GCS protocol - ProtocolName_GCS ProtocolName = 3 -) - -// Enum value maps for ProtocolName. -var ( - ProtocolName_name = map[int32]string{ - 0: "UnknownProtocol", - 1: "S3", - 2: "AZURE", - 3: "GCS", - } - ProtocolName_value = map[string]int32{ - "UnknownProtocol": 0, - "S3": 1, - "AZURE": 2, - "GCS": 3, - } -) - -func (x ProtocolName) Enum() *ProtocolName { - p := new(ProtocolName) - *p = x - return p -} - -func (x ProtocolName) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (ProtocolName) Descriptor() protoreflect.EnumDescriptor { - return file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_enumTypes[0].Descriptor() -} - -func (ProtocolName) Type() protoreflect.EnumType { - return &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_enumTypes[0] -} - -func (x ProtocolName) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use ProtocolName.Descriptor instead. -func (ProtocolName) EnumDescriptor() ([]byte, []int) { - return file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_rawDescGZIP(), []int{0} -} - // S3SignatureVersion is the version of the signing algorithm for all s3 requests type S3SignatureVersion int32 @@ -123,11 +68,11 @@ func (x S3SignatureVersion) String() string { } func (S3SignatureVersion) Descriptor() protoreflect.EnumDescriptor { - return file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_enumTypes[1].Descriptor() + return file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_enumTypes[0].Descriptor() } func (S3SignatureVersion) Type() protoreflect.EnumType { - return &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_enumTypes[1] + return &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_enumTypes[0] } func (x S3SignatureVersion) Number() protoreflect.EnumNumber { @@ -136,7 +81,7 @@ func (x S3SignatureVersion) Number() protoreflect.EnumNumber { // Deprecated: Use S3SignatureVersion.Descriptor instead. func (S3SignatureVersion) EnumDescriptor() ([]byte, []int) { - return file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_rawDescGZIP(), []int{1} + return file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_rawDescGZIP(), []int{0} } type AnonymousBucketAccessMode int32 @@ -182,11 +127,11 @@ func (x AnonymousBucketAccessMode) String() string { } func (AnonymousBucketAccessMode) Descriptor() protoreflect.EnumDescriptor { - return file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_enumTypes[2].Descriptor() + 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[2] + return &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_enumTypes[1] } func (x AnonymousBucketAccessMode) Number() protoreflect.EnumNumber { @@ -195,10 +140,10 @@ func (x AnonymousBucketAccessMode) Number() protoreflect.EnumNumber { // Deprecated: Use AnonymousBucketAccessMode.Descriptor instead. func (AnonymousBucketAccessMode) EnumDescriptor() ([]byte, []int) { - return file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_rawDescGZIP(), []int{2} + return file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_rawDescGZIP(), []int{1} } -type S3Parameters struct { +type S3 struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -213,8 +158,8 @@ type S3Parameters struct { SignatureVersion S3SignatureVersion `protobuf:"varint,4,opt,name=signature_version,json=signatureVersion,proto3,enum=cosi.v1alpha1.S3SignatureVersion" json:"signature_version,omitempty"` } -func (x *S3Parameters) Reset() { - *x = S3Parameters{} +func (x *S3) Reset() { + *x = S3{} if protoimpl.UnsafeEnabled { mi := &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -222,13 +167,13 @@ func (x *S3Parameters) Reset() { } } -func (x *S3Parameters) String() string { +func (x *S3) String() string { return protoimpl.X.MessageStringOf(x) } -func (*S3Parameters) ProtoMessage() {} +func (*S3) ProtoMessage() {} -func (x *S3Parameters) ProtoReflect() protoreflect.Message { +func (x *S3) 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)) @@ -240,40 +185,40 @@ func (x *S3Parameters) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use S3Parameters.ProtoReflect.Descriptor instead. -func (*S3Parameters) Descriptor() ([]byte, []int) { +// Deprecated: Use S3.ProtoReflect.Descriptor instead. +func (*S3) Descriptor() ([]byte, []int) { return file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_rawDescGZIP(), []int{0} } -func (x *S3Parameters) GetEndpoint() string { +func (x *S3) GetEndpoint() string { if x != nil { return x.Endpoint } return "" } -func (x *S3Parameters) GetBucketName() string { +func (x *S3) GetBucketName() string { if x != nil { return x.BucketName } return "" } -func (x *S3Parameters) GetRegion() string { +func (x *S3) GetRegion() string { if x != nil { return x.Region } return "" } -func (x *S3Parameters) GetSignatureVersion() S3SignatureVersion { +func (x *S3) GetSignatureVersion() S3SignatureVersion { if x != nil { return x.SignatureVersion } return S3SignatureVersion_UnknownSignature } -type AzureBlobParameters struct { +type AzureBlob struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -284,8 +229,8 @@ type AzureBlobParameters struct { StorageAccount string `protobuf:"bytes,2,opt,name=storage_account,json=storageAccount,proto3" json:"storage_account,omitempty"` } -func (x *AzureBlobParameters) Reset() { - *x = AzureBlobParameters{} +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)) @@ -293,13 +238,13 @@ func (x *AzureBlobParameters) Reset() { } } -func (x *AzureBlobParameters) String() string { +func (x *AzureBlob) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AzureBlobParameters) ProtoMessage() {} +func (*AzureBlob) ProtoMessage() {} -func (x *AzureBlobParameters) ProtoReflect() protoreflect.Message { +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)) @@ -311,26 +256,26 @@ func (x *AzureBlobParameters) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AzureBlobParameters.ProtoReflect.Descriptor instead. -func (*AzureBlobParameters) Descriptor() ([]byte, []int) { +// 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 *AzureBlobParameters) GetContainerName() string { +func (x *AzureBlob) GetContainerName() string { if x != nil { return x.ContainerName } return "" } -func (x *AzureBlobParameters) GetStorageAccount() string { +func (x *AzureBlob) GetStorageAccount() string { if x != nil { return x.StorageAccount } return "" } -type GCSParameters struct { +type GCS struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -345,8 +290,8 @@ type GCSParameters struct { ServiceAccount string `protobuf:"bytes,4,opt,name=service_account,json=serviceAccount,proto3" json:"service_account,omitempty"` } -func (x *GCSParameters) Reset() { - *x = GCSParameters{} +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)) @@ -354,13 +299,13 @@ func (x *GCSParameters) Reset() { } } -func (x *GCSParameters) String() string { +func (x *GCS) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GCSParameters) ProtoMessage() {} +func (*GCS) ProtoMessage() {} -func (x *GCSParameters) ProtoReflect() protoreflect.Message { +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)) @@ -372,33 +317,33 @@ func (x *GCSParameters) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GCSParameters.ProtoReflect.Descriptor instead. -func (*GCSParameters) Descriptor() ([]byte, []int) { +// 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 *GCSParameters) GetBucketName() string { +func (x *GCS) GetBucketName() string { if x != nil { return x.BucketName } return "" } -func (x *GCSParameters) GetPrivateKeyName() string { +func (x *GCS) GetPrivateKeyName() string { if x != nil { return x.PrivateKeyName } return "" } -func (x *GCSParameters) GetProjectId() string { +func (x *GCS) GetProjectId() string { if x != nil { return x.ProjectId } return "" } -func (x *GCSParameters) GetServiceAccount() string { +func (x *GCS) GetServiceAccount() string { if x != nil { return x.ServiceAccount } @@ -410,10 +355,6 @@ type Protocol struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // ProtocolName is the name of the protocol - Name ProtocolName `protobuf:"varint,1,opt,name=name,proto3,enum=cosi.v1alpha1.ProtocolName" json:"name,omitempty"` - // version is the name of the protocol version - Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` // Types that are assignable to Type: // *Protocol_S3 // *Protocol_AzureBlob @@ -453,20 +394,6 @@ func (*Protocol) Descriptor() ([]byte, []int) { return file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_rawDescGZIP(), []int{3} } -func (x *Protocol) GetName() ProtocolName { - if x != nil { - return x.Name - } - return ProtocolName_UnknownProtocol -} - -func (x *Protocol) GetVersion() string { - if x != nil { - return x.Version - } - return "" -} - func (m *Protocol) GetType() isProtocol_Type { if m != nil { return m.Type @@ -474,21 +401,21 @@ func (m *Protocol) GetType() isProtocol_Type { return nil } -func (x *Protocol) GetS3() *S3Parameters { +func (x *Protocol) GetS3() *S3 { if x, ok := x.GetType().(*Protocol_S3); ok { return x.S3 } return nil } -func (x *Protocol) GetAzureBlob() *AzureBlobParameters { +func (x *Protocol) GetAzureBlob() *AzureBlob { if x, ok := x.GetType().(*Protocol_AzureBlob); ok { return x.AzureBlob } return nil } -func (x *Protocol) GetGcs() *GCSParameters { +func (x *Protocol) GetGcs() *GCS { if x, ok := x.GetType().(*Protocol_Gcs); ok { return x.Gcs } @@ -500,15 +427,15 @@ type isProtocol_Type interface { } type Protocol_S3 struct { - S3 *S3Parameters `protobuf:"bytes,3,opt,name=s3,proto3,oneof"` + S3 *S3 `protobuf:"bytes,1,opt,name=s3,proto3,oneof"` } type Protocol_AzureBlob struct { - AzureBlob *AzureBlobParameters `protobuf:"bytes,4,opt,name=azureBlob,proto3,oneof"` + AzureBlob *AzureBlob `protobuf:"bytes,2,opt,name=azureBlob,proto3,oneof"` } type Protocol_Gcs struct { - Gcs *GCSParameters `protobuf:"bytes,5,opt,name=gcs,proto3,oneof"` + Gcs *GCS `protobuf:"bytes,3,opt,name=gcs,proto3,oneof"` } func (*Protocol_S3) isProtocol_Type() {} @@ -615,16 +542,16 @@ type ProvisionerCreateBucketRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // This field is REQUIRED + // name specifies the name of the bucket that should be created. + 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,1,opt,name=protocol,proto3" json:"protocol,omitempty"` + Protocol *Protocol `protobuf:"bytes,2,opt,name=protocol,proto3" 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. - Parameters map[string]string `protobuf:"bytes,2,rep,name=parameters,proto3" json:"parameters,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - // This field is OPTIONAL - // Allow uncredentialed access to bucket. - AnonymousBucketAccessMode AnonymousBucketAccessMode `protobuf:"varint,3,opt,name=anonymous_bucket_access_mode,json=anonymousBucketAccessMode,proto3,enum=cosi.v1alpha1.AnonymousBucketAccessMode" json:"anonymous_bucket_access_mode,omitempty"` + Parameters map[string]string `protobuf:"bytes,3,rep,name=parameters,proto3" json:"parameters,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *ProvisionerCreateBucketRequest) Reset() { @@ -659,6 +586,13 @@ func (*ProvisionerCreateBucketRequest) Descriptor() ([]byte, []int) { return file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_rawDescGZIP(), []int{6} } +func (x *ProvisionerCreateBucketRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + func (x *ProvisionerCreateBucketRequest) GetProtocol() *Protocol { if x != nil { return x.Protocol @@ -673,17 +607,14 @@ func (x *ProvisionerCreateBucketRequest) GetParameters() map[string]string { return nil } -func (x *ProvisionerCreateBucketRequest) GetAnonymousBucketAccessMode() AnonymousBucketAccessMode { - if x != nil { - return x.AnonymousBucketAccessMode - } - return AnonymousBucketAccessMode_UnknownBucketAccessMode -} - type ProvisionerCreateBucketResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + // 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"` } func (x *ProvisionerCreateBucketResponse) Reset() { @@ -718,19 +649,22 @@ func (*ProvisionerCreateBucketResponse) Descriptor() ([]byte, []int) { return file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_rawDescGZIP(), []int{7} } +func (x *ProvisionerCreateBucketResponse) GetBucketId() string { + if x != nil { + return x.BucketId + } + return "" +} + type ProvisionerDeleteBucketRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // This field is REQUIRED - // Protocol specific information required by the call is passed in as key,value pairs. - Protocol *Protocol `protobuf:"bytes,1,opt,name=protocol,proto3" json:"protocol,omitempty"` - // This field is OPTIONAL - // Protocol specific information required by the call is passed in as key,value pairs. - // The caller should treat the values in parameters as opaque. - // The receiver is responsible for parsing and validating the values. - Parameters map[string]string `protobuf:"bytes,2,rep,name=parameters,proto3" json:"parameters,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // bucket_id is a 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"` } func (x *ProvisionerDeleteBucketRequest) Reset() { @@ -765,18 +699,11 @@ func (*ProvisionerDeleteBucketRequest) Descriptor() ([]byte, []int) { return file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_rawDescGZIP(), []int{8} } -func (x *ProvisionerDeleteBucketRequest) GetProtocol() *Protocol { - if x != nil { - return x.Protocol - } - return nil -} - -func (x *ProvisionerDeleteBucketRequest) GetParameters() map[string]string { +func (x *ProvisionerDeleteBucketRequest) GetBucketId() string { if x != nil { - return x.Parameters + return x.BucketId } - return nil + return "" } type ProvisionerDeleteBucketResponse struct { @@ -823,17 +750,21 @@ type ProvisionerGrantBucketAccessRequest struct { unknownFields protoimpl.UnknownFields // This field is REQUIRED - // Protocol specific information required by the call is passed in as key,value pairs. - Protocol *Protocol `protobuf:"bytes,1,opt,name=protocol,proto3" json:"protocol,omitempty"` - // This field is OPTIONAL - // Protocol specific information required by the call is passed in as key,value pairs. - Parameters map[string]string `protobuf:"bytes,2,rep,name=parameters,proto3" json:"parameters,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - // This field is OPTIONAL - // Principal for which access is requested - Principal string `protobuf:"bytes,3,opt,name=principal,proto3" json:"principal,omitempty"` + // bucket_id is a 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 + // account_name is a identifier for object storage provider + // to ensure that multiple requests for the same account + // result in only one access token being created + AccountName string `protobuf:"bytes,2,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` // This field is REQUIRED // Requested Access policy, ex: {"Effect":"Allow","Action":"s3:PutObject","Resource":"arn:aws:s3:::profilepics/*"} - AccessPolicy string `protobuf:"bytes,4,opt,name=access_policy,json=accessPolicy,proto3" json:"access_policy,omitempty"` + AccessPolicy string `protobuf:"bytes,3,opt,name=access_policy,json=accessPolicy,proto3" json:"access_policy,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. + Parameters map[string]string `protobuf:"bytes,4,rep,name=parameters,proto3" json:"parameters,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *ProvisionerGrantBucketAccessRequest) Reset() { @@ -868,32 +799,32 @@ func (*ProvisionerGrantBucketAccessRequest) Descriptor() ([]byte, []int) { return file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_rawDescGZIP(), []int{10} } -func (x *ProvisionerGrantBucketAccessRequest) GetProtocol() *Protocol { +func (x *ProvisionerGrantBucketAccessRequest) GetBucketId() string { if x != nil { - return x.Protocol + return x.BucketId } - return nil + return "" } -func (x *ProvisionerGrantBucketAccessRequest) GetParameters() map[string]string { +func (x *ProvisionerGrantBucketAccessRequest) GetAccountName() string { if x != nil { - return x.Parameters + return x.AccountName } - return nil + return "" } -func (x *ProvisionerGrantBucketAccessRequest) GetPrincipal() string { +func (x *ProvisionerGrantBucketAccessRequest) GetAccessPolicy() string { if x != nil { - return x.Principal + return x.AccessPolicy } return "" } -func (x *ProvisionerGrantBucketAccessRequest) GetAccessPolicy() string { +func (x *ProvisionerGrantBucketAccessRequest) GetParameters() map[string]string { if x != nil { - return x.AccessPolicy + return x.Parameters } - return "" + return nil } type ProvisionerGrantBucketAccessResponse struct { @@ -902,9 +833,9 @@ type ProvisionerGrantBucketAccessResponse struct { unknownFields protoimpl.UnknownFields // This field is OPTIONAL - // This is the account that is being provided access. This will + // This is the account_id that is being provided access. This will // be required later to revoke access. - Principal string `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"` + AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` // This field is OPTIONAL // Contents of the credential file, ex: aws access key id and secret, etc. CredentialsFileContents string `protobuf:"bytes,2,opt,name=credentials_file_contents,json=credentialsFileContents,proto3" json:"credentials_file_contents,omitempty"` @@ -945,9 +876,9 @@ func (*ProvisionerGrantBucketAccessResponse) Descriptor() ([]byte, []int) { return file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_rawDescGZIP(), []int{11} } -func (x *ProvisionerGrantBucketAccessResponse) GetPrincipal() string { +func (x *ProvisionerGrantBucketAccessResponse) GetAccountId() string { if x != nil { - return x.Principal + return x.AccountId } return "" } @@ -972,14 +903,12 @@ type ProvisionerRevokeBucketAccessRequest struct { unknownFields protoimpl.UnknownFields // This field is REQUIRED - // Protocol specific information required by the call is passed in as key,value pairs. - Protocol *Protocol `protobuf:"bytes,1,opt,name=protocol,proto3" json:"protocol,omitempty"` - // This field is OPTIONAL - // Protocol specific information required by the call is passed in as key,value pairs. - Parameters map[string]string `protobuf:"bytes,2,rep,name=parameters,proto3" json:"parameters,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // bucket_id is a 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 - // This is the account that is being revoked access. - Principal string `protobuf:"bytes,3,opt,name=principal,proto3" json:"principal,omitempty"` + // This is the account_id that is having its access revoked. + AccountId string `protobuf:"bytes,2,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` } func (x *ProvisionerRevokeBucketAccessRequest) Reset() { @@ -1014,23 +943,16 @@ func (*ProvisionerRevokeBucketAccessRequest) Descriptor() ([]byte, []int) { return file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_rawDescGZIP(), []int{12} } -func (x *ProvisionerRevokeBucketAccessRequest) GetProtocol() *Protocol { +func (x *ProvisionerRevokeBucketAccessRequest) GetBucketId() string { if x != nil { - return x.Protocol + return x.BucketId } - return nil -} - -func (x *ProvisionerRevokeBucketAccessRequest) GetParameters() map[string]string { - if x != nil { - return x.Parameters - } - return nil + return "" } -func (x *ProvisionerRevokeBucketAccessRequest) GetPrincipal() string { +func (x *ProvisionerRevokeBucketAccessRequest) GetAccountId() string { if x != nil { - return x.Principal + return x.AccountId } return "" } @@ -1207,241 +1129,200 @@ 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, 0xb3, 0x01, 0x0a, 0x0c, 0x53, 0x33, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, - 0x72, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1f, - 0x0a, 0x0b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x03, 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, 0x04, 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, 0x65, 0x0a, 0x13, 0x41, 0x7a, 0x75, 0x72, 0x65, - 0x42, 0x6c, 0x6f, 0x62, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x25, - 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, - 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, - 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, - 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xa2, - 0x01, 0x0a, 0x0d, 0x47, 0x43, 0x53, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, - 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, 0x28, 0x0a, 0x10, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 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, 0x03, 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, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x22, 0x82, 0x02, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, - 0x12, 0x2f, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, - 0x2e, 0x63, 0x6f, 0x73, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, - 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x0a, 0x02, 0x73, - 0x33, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x73, 0x69, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x33, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, - 0x74, 0x65, 0x72, 0x73, 0x48, 0x00, 0x52, 0x02, 0x73, 0x33, 0x12, 0x42, 0x0a, 0x09, 0x61, 0x7a, - 0x75, 0x72, 0x65, 0x42, 0x6c, 0x6f, 0x62, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, - 0x63, 0x6f, 0x73, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x41, 0x7a, - 0x75, 0x72, 0x65, 0x42, 0x6c, 0x6f, 0x62, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, - 0x73, 0x48, 0x00, 0x52, 0x09, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x42, 0x6c, 0x6f, 0x62, 0x12, 0x30, - 0x0a, 0x03, 0x67, 0x63, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x6f, - 0x73, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x43, 0x53, 0x50, - 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 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, 0xde, 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, 0x33, 0x0a, 0x08, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x01, 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, 0x02, 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, 0x12, 0x69, - 0x0a, 0x1c, 0x61, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x6f, 0x75, 0x73, 0x5f, 0x62, 0x75, 0x63, 0x6b, - 0x65, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x63, 0x6f, 0x73, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x31, 0x2e, 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, 0x52, 0x19, - 0x61, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x6f, 0x75, 0x73, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x41, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x6f, 0x64, 0x65, 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, 0x21, 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, 0x22, 0xf3, 0x01, 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, 0x33, - 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x01, 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, 0x02, 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, 0x44, 0x65, 0x6c, 0x65, 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, 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, 0xc0, 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, 0x33, 0x0a, 0x08, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x01, 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, 0x62, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, - 0x02, 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, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, - 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, - 0x70, 0x61, 0x6c, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 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, 0xb4, 0x01, 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, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x12, 0x3a, - 0x0a, 0x19, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x5f, 0x66, 0x69, - 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x17, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x46, 0x69, - 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x63, 0x72, - 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x70, - 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x63, 0x72, 0x65, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x46, 0x69, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x22, 0x9d, - 0x02, 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, 0x33, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x63, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x6f, 0x73, 0x69, + 0x6f, 0x22, 0xa9, 0x01, 0x0a, 0x02, 0x53, 0x33, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x75, 0x63, 0x6b, 0x65, + 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, + 0x03, 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, 0x04, 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, 0x5b, 0x0a, + 0x09, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x42, 0x6c, 0x6f, 0x62, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x98, 0x01, 0x0a, 0x03, 0x47, + 0x43, 0x53, 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, 0x28, 0x0a, 0x10, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, + 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 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, 0x03, 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, + 0x04, 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, 0x63, 0x0a, 0x0a, - 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x43, 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, 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, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 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, 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, 0x3f, 0x0a, 0x0c, 0x50, 0x72, 0x6f, 0x74, 0x6f, - 0x63, 0x6f, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, - 0x77, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x10, 0x00, 0x12, 0x06, 0x0a, 0x02, - 0x53, 0x33, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x5a, 0x55, 0x52, 0x45, 0x10, 0x02, 0x12, - 0x07, 0x0a, 0x03, 0x47, 0x43, 0x53, 0x10, 0x03, 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, + 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, 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, 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, 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, + 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, 0xb5, 0x01, 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, 0x3a, 0x0a, 0x19, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x61, 0x6c, 0x73, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x17, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x61, 0x6c, 0x73, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, + 0x12, 0x32, 0x0a, 0x15, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x5f, + 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x13, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x46, 0x69, 0x6c, 0x65, + 0x50, 0x61, 0x74, 0x68, 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, 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, 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, + 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, 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, + 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 ( @@ -1456,74 +1337,64 @@ 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, 3) -var file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_msgTypes = make([]protoimpl.MessageInfo, 18) +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_goTypes = []interface{}{ - (ProtocolName)(0), // 0: cosi.v1alpha1.ProtocolName - (S3SignatureVersion)(0), // 1: cosi.v1alpha1.S3SignatureVersion - (AnonymousBucketAccessMode)(0), // 2: cosi.v1alpha1.AnonymousBucketAccessMode - (*S3Parameters)(nil), // 3: cosi.v1alpha1.S3Parameters - (*AzureBlobParameters)(nil), // 4: cosi.v1alpha1.AzureBlobParameters - (*GCSParameters)(nil), // 5: cosi.v1alpha1.GCSParameters - (*Protocol)(nil), // 6: cosi.v1alpha1.Protocol - (*ProvisionerGetInfoRequest)(nil), // 7: cosi.v1alpha1.ProvisionerGetInfoRequest - (*ProvisionerGetInfoResponse)(nil), // 8: cosi.v1alpha1.ProvisionerGetInfoResponse - (*ProvisionerCreateBucketRequest)(nil), // 9: cosi.v1alpha1.ProvisionerCreateBucketRequest - (*ProvisionerCreateBucketResponse)(nil), // 10: cosi.v1alpha1.ProvisionerCreateBucketResponse - (*ProvisionerDeleteBucketRequest)(nil), // 11: cosi.v1alpha1.ProvisionerDeleteBucketRequest - (*ProvisionerDeleteBucketResponse)(nil), // 12: cosi.v1alpha1.ProvisionerDeleteBucketResponse - (*ProvisionerGrantBucketAccessRequest)(nil), // 13: cosi.v1alpha1.ProvisionerGrantBucketAccessRequest - (*ProvisionerGrantBucketAccessResponse)(nil), // 14: cosi.v1alpha1.ProvisionerGrantBucketAccessResponse - (*ProvisionerRevokeBucketAccessRequest)(nil), // 15: cosi.v1alpha1.ProvisionerRevokeBucketAccessRequest - (*ProvisionerRevokeBucketAccessResponse)(nil), // 16: cosi.v1alpha1.ProvisionerRevokeBucketAccessResponse - nil, // 17: cosi.v1alpha1.ProvisionerCreateBucketRequest.ParametersEntry - nil, // 18: cosi.v1alpha1.ProvisionerDeleteBucketRequest.ParametersEntry - nil, // 19: cosi.v1alpha1.ProvisionerGrantBucketAccessRequest.ParametersEntry - nil, // 20: cosi.v1alpha1.ProvisionerRevokeBucketAccessRequest.ParametersEntry - (*descriptor.EnumOptions)(nil), // 21: google.protobuf.EnumOptions - (*descriptor.EnumValueOptions)(nil), // 22: google.protobuf.EnumValueOptions - (*descriptor.FieldOptions)(nil), // 23: google.protobuf.FieldOptions - (*descriptor.MessageOptions)(nil), // 24: google.protobuf.MessageOptions - (*descriptor.MethodOptions)(nil), // 25: google.protobuf.MethodOptions - (*descriptor.ServiceOptions)(nil), // 26: google.protobuf.ServiceOptions + (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 } var file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_depIdxs = []int32{ - 1, // 0: cosi.v1alpha1.S3Parameters.signature_version:type_name -> cosi.v1alpha1.S3SignatureVersion - 0, // 1: cosi.v1alpha1.Protocol.name:type_name -> cosi.v1alpha1.ProtocolName - 3, // 2: cosi.v1alpha1.Protocol.s3:type_name -> cosi.v1alpha1.S3Parameters - 4, // 3: cosi.v1alpha1.Protocol.azureBlob:type_name -> cosi.v1alpha1.AzureBlobParameters - 5, // 4: cosi.v1alpha1.Protocol.gcs:type_name -> cosi.v1alpha1.GCSParameters - 6, // 5: cosi.v1alpha1.ProvisionerCreateBucketRequest.protocol:type_name -> cosi.v1alpha1.Protocol - 17, // 6: cosi.v1alpha1.ProvisionerCreateBucketRequest.parameters:type_name -> cosi.v1alpha1.ProvisionerCreateBucketRequest.ParametersEntry - 2, // 7: cosi.v1alpha1.ProvisionerCreateBucketRequest.anonymous_bucket_access_mode:type_name -> cosi.v1alpha1.AnonymousBucketAccessMode - 6, // 8: cosi.v1alpha1.ProvisionerDeleteBucketRequest.protocol:type_name -> cosi.v1alpha1.Protocol - 18, // 9: cosi.v1alpha1.ProvisionerDeleteBucketRequest.parameters:type_name -> cosi.v1alpha1.ProvisionerDeleteBucketRequest.ParametersEntry - 6, // 10: cosi.v1alpha1.ProvisionerGrantBucketAccessRequest.protocol:type_name -> cosi.v1alpha1.Protocol - 19, // 11: cosi.v1alpha1.ProvisionerGrantBucketAccessRequest.parameters:type_name -> cosi.v1alpha1.ProvisionerGrantBucketAccessRequest.ParametersEntry - 6, // 12: cosi.v1alpha1.ProvisionerRevokeBucketAccessRequest.protocol:type_name -> cosi.v1alpha1.Protocol - 20, // 13: cosi.v1alpha1.ProvisionerRevokeBucketAccessRequest.parameters:type_name -> cosi.v1alpha1.ProvisionerRevokeBucketAccessRequest.ParametersEntry - 21, // 14: cosi.v1alpha1.alpha_enum:extendee -> google.protobuf.EnumOptions - 22, // 15: cosi.v1alpha1.alpha_enum_value:extendee -> google.protobuf.EnumValueOptions - 23, // 16: cosi.v1alpha1.cosi_secret:extendee -> google.protobuf.FieldOptions - 23, // 17: cosi.v1alpha1.alpha_field:extendee -> google.protobuf.FieldOptions - 24, // 18: cosi.v1alpha1.alpha_message:extendee -> google.protobuf.MessageOptions - 25, // 19: cosi.v1alpha1.alpha_method:extendee -> google.protobuf.MethodOptions - 26, // 20: cosi.v1alpha1.alpha_service:extendee -> google.protobuf.ServiceOptions - 7, // 21: cosi.v1alpha1.Identity.ProvisionerGetInfo:input_type -> cosi.v1alpha1.ProvisionerGetInfoRequest - 9, // 22: cosi.v1alpha1.Provisioner.ProvisionerCreateBucket:input_type -> cosi.v1alpha1.ProvisionerCreateBucketRequest - 11, // 23: cosi.v1alpha1.Provisioner.ProvisionerDeleteBucket:input_type -> cosi.v1alpha1.ProvisionerDeleteBucketRequest - 13, // 24: cosi.v1alpha1.Provisioner.ProvisionerGrantBucketAccess:input_type -> cosi.v1alpha1.ProvisionerGrantBucketAccessRequest - 15, // 25: cosi.v1alpha1.Provisioner.ProvisionerRevokeBucketAccess:input_type -> cosi.v1alpha1.ProvisionerRevokeBucketAccessRequest - 8, // 26: cosi.v1alpha1.Identity.ProvisionerGetInfo:output_type -> cosi.v1alpha1.ProvisionerGetInfoResponse - 10, // 27: cosi.v1alpha1.Provisioner.ProvisionerCreateBucket:output_type -> cosi.v1alpha1.ProvisionerCreateBucketResponse - 12, // 28: cosi.v1alpha1.Provisioner.ProvisionerDeleteBucket:output_type -> cosi.v1alpha1.ProvisionerDeleteBucketResponse - 14, // 29: cosi.v1alpha1.Provisioner.ProvisionerGrantBucketAccess:output_type -> cosi.v1alpha1.ProvisionerGrantBucketAccessResponse - 16, // 30: cosi.v1alpha1.Provisioner.ProvisionerRevokeBucketAccess:output_type -> cosi.v1alpha1.ProvisionerRevokeBucketAccessResponse - 26, // [26:31] is the sub-list for method output_type - 21, // [21:26] is the sub-list for method input_type - 21, // [21:21] is the sub-list for extension type_name - 14, // [14:21] is the sub-list for extension extendee - 0, // [0:14] is the sub-list for field type_name + 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 } func init() { file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_init() } @@ -1533,7 +1404,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.(*S3Parameters); i { + switch v := v.(*S3); i { case 0: return &v.state case 1: @@ -1545,7 +1416,7 @@ 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.(*AzureBlobParameters); i { + switch v := v.(*AzureBlob); i { case 0: return &v.state case 1: @@ -1557,7 +1428,7 @@ 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[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GCSParameters); i { + switch v := v.(*GCS); i { case 0: return &v.state case 1: @@ -1711,8 +1582,8 @@ func file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_init() File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_rawDesc, - NumEnums: 3, - NumMessages: 18, + NumEnums: 2, + NumMessages: 16, NumExtensions: 7, NumServices: 2, }, diff --git a/cosi.pb.json.go b/cosi.pb.json.go index 0a4fc69..57bd9cf 100644 --- a/cosi.pb.json.go +++ b/cosi.pb.json.go @@ -10,7 +10,7 @@ import ( ) // MarshalJSON implements json.Marshaler -func (msg *S3Parameters) MarshalJSON() ([]byte, error) { +func (msg *S3) MarshalJSON() ([]byte, error) { var buf bytes.Buffer err := (&jsonpb.Marshaler{ EnumsAsInts: false, @@ -21,14 +21,14 @@ func (msg *S3Parameters) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *S3Parameters) UnmarshalJSON(b []byte) error { +func (msg *S3) UnmarshalJSON(b []byte) error { return (&jsonpb.Unmarshaler{ AllowUnknownFields: false, }).Unmarshal(bytes.NewReader(b), msg) } // MarshalJSON implements json.Marshaler -func (msg *AzureBlobParameters) MarshalJSON() ([]byte, error) { +func (msg *AzureBlob) MarshalJSON() ([]byte, error) { var buf bytes.Buffer err := (&jsonpb.Marshaler{ EnumsAsInts: false, @@ -39,14 +39,14 @@ func (msg *AzureBlobParameters) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *AzureBlobParameters) UnmarshalJSON(b []byte) error { +func (msg *AzureBlob) UnmarshalJSON(b []byte) error { return (&jsonpb.Unmarshaler{ AllowUnknownFields: false, }).Unmarshal(bytes.NewReader(b), msg) } // MarshalJSON implements json.Marshaler -func (msg *GCSParameters) MarshalJSON() ([]byte, error) { +func (msg *GCS) MarshalJSON() ([]byte, error) { var buf bytes.Buffer err := (&jsonpb.Marshaler{ EnumsAsInts: false, @@ -57,7 +57,7 @@ func (msg *GCSParameters) MarshalJSON() ([]byte, error) { } // UnmarshalJSON implements json.Unmarshaler -func (msg *GCSParameters) UnmarshalJSON(b []byte) error { +func (msg *GCS) UnmarshalJSON(b []byte) error { return (&jsonpb.Unmarshaler{ AllowUnknownFields: false, }).Unmarshal(bytes.NewReader(b), msg) diff --git a/cosi.proto b/cosi.proto index d55a5b6..a0e8c20 100644 --- a/cosi.proto +++ b/cosi.proto @@ -77,16 +77,6 @@ service Provisioner { rpc ProvisionerRevokeBucketAccess (ProvisionerRevokeBucketAccessRequest) returns (ProvisionerRevokeBucketAccessResponse); } -enum ProtocolName { - UnknownProtocol = 0; - // S3, AWS S3 protocol - S3 = 1; - // AZURE, Microsoft Azure protocol - AZURE = 2; - // GCS, Google GCS protocol - GCS = 3; -} - // S3SignatureVersion is the version of the signing algorithm for all s3 requests enum S3SignatureVersion { UnknownSignature = 0; @@ -108,7 +98,7 @@ enum AnonymousBucketAccessMode { ReadWrite = 4; } -message S3Parameters { +message S3 { // endpoint denotes the URL of the S3 server string endpoint = 1; // bucket_name denotes the name of the bucket in the storage backend @@ -119,14 +109,14 @@ message S3Parameters { S3SignatureVersion signature_version = 4; } -message AzureBlobParameters { +message AzureBlob { // container_name is the name of the azure container string container_name = 1; // storage_account is the id of the azure storage account string storage_account = 2; } -message GCSParameters { +message GCS { // bucket_name denotes the name of the bucket in the storage backend string bucket_name = 1; // private_key_name denotes the name of the private key in the storage backend @@ -138,15 +128,10 @@ message GCSParameters { } message Protocol { - // ProtocolName is the name of the protocol - ProtocolName name = 1; - // version is the name of the protocol version - string version = 2; - oneof type { - S3Parameters s3 = 3; - AzureBlobParameters azureBlob = 4; - GCSParameters gcs = 5; + S3 s3 = 1; + AzureBlob azureBlob = 2; + GCS gcs = 3; } } @@ -167,34 +152,31 @@ message ProvisionerGetInfoResponse { } message ProvisionerCreateBucketRequest { + // This field is REQUIRED + // name specifies the name of the bucket that should be created. + string name = 1; + // This field is REQUIRED // Protocol specific information required by the call is passed in as key,value pairs. - Protocol protocol = 1; + Protocol protocol = 2; // This field is OPTIONAL // The caller should treat the values in parameters as opaque. // The receiver is responsible for parsing and validating the values. - map parameters = 2; - - // This field is OPTIONAL - // Allow uncredentialed access to bucket. - AnonymousBucketAccessMode anonymous_bucket_access_mode = 3; + map parameters = 3; } message ProvisionerCreateBucketResponse { - // Intentionally left blank + // bucket_id returned here is expected to be the globally unique + // identifier for the bucket in the object storage provider + string bucket_id = 1; } message ProvisionerDeleteBucketRequest { // This field is REQUIRED - // Protocol specific information required by the call is passed in as key,value pairs. - Protocol protocol = 1; - - // This field is OPTIONAL - // Protocol specific information required by the call is passed in as key,value pairs. - // The caller should treat the values in parameters as opaque. - // The receiver is responsible for parsing and validating the values. - map parameters = 2; + // bucket_id is a globally unique identifier for the bucket + // in the object storage provider + string bucket_id = 1; } message ProvisionerDeleteBucketResponse { @@ -203,27 +185,31 @@ message ProvisionerDeleteBucketResponse { message ProvisionerGrantBucketAccessRequest { // This field is REQUIRED - // Protocol specific information required by the call is passed in as key,value pairs. - Protocol protocol = 1; - - // This field is OPTIONAL - // Protocol specific information required by the call is passed in as key,value pairs. - map parameters = 2; + // bucket_id is a globally unique identifier for the bucket + // in the object storage provider + string bucket_id = 1; - // This field is OPTIONAL - // Principal for which access is requested - string principal = 3; + // This field is REQUIRED + // account_name is a identifier for object storage provider + // to ensure that multiple requests for the same account + // result in only one access token being created + string account_name = 2; // This field is REQUIRED // Requested Access policy, ex: {"Effect":"Allow","Action":"s3:PutObject","Resource":"arn:aws:s3:::profilepics/*"} - string access_policy = 4; + string access_policy = 3; + + // This field is OPTIONAL + // The caller should treat the values in parameters as opaque. + // The receiver is responsible for parsing and validating the values. + map parameters = 4; } message ProvisionerGrantBucketAccessResponse { // This field is OPTIONAL - // This is the account that is being provided access. This will + // This is the account_id that is being provided access. This will // be required later to revoke access. - string principal = 1; + string account_id = 1; // This field is OPTIONAL // Contents of the credential file, ex: aws access key id and secret, etc. @@ -236,16 +222,13 @@ message ProvisionerGrantBucketAccessResponse { message ProvisionerRevokeBucketAccessRequest { // This field is REQUIRED - // Protocol specific information required by the call is passed in as key,value pairs. - Protocol protocol = 1; - - // This field is OPTIONAL - // Protocol specific information required by the call is passed in as key,value pairs. - map parameters = 2; + // bucket_id is a globally unique identifier for the bucket + // in the object storage provider. + string bucket_id = 1; // This field is REQUIRED - // This is the account that is being revoked access. - string principal = 3; + // This is the account_id that is having its access revoked. + string account_id = 2; } message ProvisionerRevokeBucketAccessResponse { diff --git a/spec.md b/spec.md index 46ddfd8..5a4e349 100644 --- a/spec.md +++ b/spec.md @@ -205,16 +205,6 @@ service Provisioner { rpc ProvisionerRevokeBucketAccess (ProvisionerRevokeBucketAccessRequest) returns (ProvisionerRevokeBucketAccessResponse); } -enum ProtocolName { - UnknownProtocol = 0; - // S3, AWS S3 protocol - S3 = 1; - // AZURE, Microsoft Azure protocol - AZURE = 2; - // GCS, Google GCS protocol - GCS = 3; -} - // S3SignatureVersion is the version of the signing algorithm for all s3 requests enum S3SignatureVersion { UnknownSignature = 0; @@ -236,7 +226,7 @@ enum AnonymousBucketAccessMode { ReadWrite = 4; } -message S3Parameters { +message S3 { // endpoint denotes the URL of the S3 server string endpoint = 1; // bucket_name denotes the name of the bucket in the storage backend @@ -247,14 +237,14 @@ message S3Parameters { S3SignatureVersion signature_version = 4; } -message AzureBlobParameters { +message AzureBlob { // container_name is the name of the azure container string container_name = 1; // storage_account is the id of the azure storage account string storage_account = 2; } -message GCSParameters { +message GCS { // bucket_name denotes the name of the bucket in the storage backend string bucket_name = 1; // private_key_name denotes the name of the private key in the storage backend @@ -266,15 +256,10 @@ message GCSParameters { } message Protocol { - // ProtocolName is the name of the protocol - ProtocolName name = 1; - // version is the name of the protocol version - string version = 2; - oneof type { - S3Parameters s3 = 3; - AzureBlobParameters azureBlob = 4; - GCSParameters gcs = 5; + S3 s3 = 1; + AzureBlob azureBlob = 2; + GCS gcs = 3; } } @@ -295,34 +280,31 @@ message ProvisionerGetInfoResponse { } message ProvisionerCreateBucketRequest { + // This field is REQUIRED + // name specifies the name of the bucket that should be created. + string name = 1; + // This field is REQUIRED // Protocol specific information required by the call is passed in as key,value pairs. - Protocol protocol = 1; + Protocol protocol = 2; // This field is OPTIONAL // The caller should treat the values in parameters as opaque. // The receiver is responsible for parsing and validating the values. - map parameters = 2; - - // This field is OPTIONAL - // Allow uncredentialed access to bucket. - AnonymousBucketAccessMode anonymous_bucket_access_mode = 3; + map parameters = 3; } message ProvisionerCreateBucketResponse { - // Intentionally left blank + // bucket_id returned here is expected to be the globally unique + // identifier for the bucket in the object storage provider + string bucket_id = 1; } message ProvisionerDeleteBucketRequest { // This field is REQUIRED - // Protocol specific information required by the call is passed in as key,value pairs. - Protocol protocol = 1; - - // This field is OPTIONAL - // Protocol specific information required by the call is passed in as key,value pairs. - // The caller should treat the values in parameters as opaque. - // The receiver is responsible for parsing and validating the values. - map parameters = 2; + // bucket_id is a globally unique identifier for the bucket + // in the object storage provider + string bucket_id = 1; } message ProvisionerDeleteBucketResponse { @@ -331,27 +313,31 @@ message ProvisionerDeleteBucketResponse { message ProvisionerGrantBucketAccessRequest { // This field is REQUIRED - // Protocol specific information required by the call is passed in as key,value pairs. - Protocol protocol = 1; + // bucket_id is a globally unique identifier for the bucket + // in the object storage provider + string bucket_id = 1; - // This field is OPTIONAL - // Protocol specific information required by the call is passed in as key,value pairs. - map parameters = 2; - - // This field is OPTIONAL - // Principal for which access is requested - string principal = 3; + // This field is REQUIRED + // account_name is a identifier for object storage provider + // to ensure that multiple requests for the same account + // result in only one access token being created + string account_name = 2; // This field is REQUIRED // Requested Access policy, ex: {"Effect":"Allow","Action":"s3:PutObject","Resource":"arn:aws:s3:::profilepics/*"} - string access_policy = 4; + string access_policy = 3; + + // This field is OPTIONAL + // The caller should treat the values in parameters as opaque. + // The receiver is responsible for parsing and validating the values. + map parameters = 4; } message ProvisionerGrantBucketAccessResponse { // This field is OPTIONAL - // This is the account that is being provided access. This will + // This is the account_id that is being provided access. This will // be required later to revoke access. - string principal = 1; + string account_id = 1; // This field is OPTIONAL // Contents of the credential file, ex: aws access key id and secret, etc. @@ -364,16 +350,13 @@ message ProvisionerGrantBucketAccessResponse { message ProvisionerRevokeBucketAccessRequest { // This field is REQUIRED - // Protocol specific information required by the call is passed in as key,value pairs. - Protocol protocol = 1; - - // This field is OPTIONAL - // Protocol specific information required by the call is passed in as key,value pairs. - map parameters = 2; + // bucket_id is a globally unique identifier for the bucket + // in the object storage provider. + string bucket_id = 1; // This field is REQUIRED - // This is the account that is being revoked access. - string principal = 3; + // This is the account_id that is having its access revoked. + string account_id = 2; } message ProvisionerRevokeBucketAccessResponse { @@ -489,17 +472,6 @@ message ProvisionerCreateBucketRequest { // This field is OPTIONAL // Protocol specific information required by the call is passed in as key,value pairs. map bucket_context = 2; - - enum AnonymousBucketAccessMode { - BUCKET_PRIVATE = 0; - BUCKET_READ_ONLY = 1; - BUCKET_WRITE_ONLY = 2; - BUCKET_READ_WRITE = 3; - } - - // This field is OPTIONAL - // Allow uncredentialed access to bucket. - AnonymousBucketAccessMode anonymous_bucket_access_mode = 3; } message ProvisionerCreateBucketResponse {