diff --git a/kms/protobuf/log.pb.go b/kms/protobuf/log.pb.go index 0d5c194..447e130 100644 --- a/kms/protobuf/log.pb.go +++ b/kms/protobuf/log.pb.go @@ -10,7 +10,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.33.0 -// protoc v5.27.1 +// protoc v5.28.2 // source: log.proto package protobuf diff --git a/kms/protobuf/request.pb.go b/kms/protobuf/request.pb.go index 10f6c59..4218bf7 100644 --- a/kms/protobuf/request.pb.go +++ b/kms/protobuf/request.pb.go @@ -10,7 +10,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.33.0 -// protoc v5.27.1 +// protoc v5.28.2 // source: request.proto package protobuf @@ -1276,6 +1276,8 @@ type CreateIdentityRequest struct { Privilege string `protobuf:"bytes,2,opt,name=Privilege,json=privilege,proto3" json:"Privilege,omitempty"` // IsServiceAccount indicates whether the identity is a service account. IsServiceAccount bool `protobuf:"varint,3,opt,name=IsServiceAccount,json=service_account,proto3" json:"IsServiceAccount,omitempty"` + // Tags are optional metadata labels attached to the identity as key-value pairs. + Tags map[string]string `protobuf:"bytes,4,rep,name=Tags,json=tags,proto3" json:"Tags,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *CreateIdentityRequest) Reset() { @@ -1331,6 +1333,13 @@ func (x *CreateIdentityRequest) GetIsServiceAccount() bool { return false } +func (x *CreateIdentityRequest) GetTags() map[string]string { + if x != nil { + return x.Tags + } + return nil +} + type IdentityRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1549,23 +1558,30 @@ var file_request_proto_rawDesc = []byte{ 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x7c, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1c, 0x0a, - 0x09, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x70, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x49, - 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x2d, 0x0a, 0x0f, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x49, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22, 0x33, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, - 0x0a, 0x08, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x42, 0x0e, 0x5a, 0x0c, 0x6b, 0x6d, - 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, + 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0xf5, 0x01, 0x0a, 0x15, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1c, + 0x0a, 0x09, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x70, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x12, 0x29, 0x0a, 0x10, + 0x49, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3e, 0x0a, 0x04, 0x54, 0x61, 0x67, 0x73, 0x18, + 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6d, 0x69, 0x6e, 0x69, 0x6f, 0x2e, 0x6b, 0x6d, + 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x1a, 0x37, 0x0a, 0x09, 0x54, 0x61, 0x67, 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, 0x2d, 0x0a, 0x0f, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22, + 0x33, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x49, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x42, 0x0e, 0x5a, 0x0c, 0x6b, 0x6d, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1580,7 +1596,7 @@ func file_request_proto_rawDescGZIP() []byte { return file_request_proto_rawDescData } -var file_request_proto_msgTypes = make([]protoimpl.MessageInfo, 25) +var file_request_proto_msgTypes = make([]protoimpl.MessageInfo, 26) var file_request_proto_goTypes = []interface{}{ (*ClusterStatusRequest)(nil), // 0: minio.kms.ClusterStatusRequest (*ListRequest)(nil), // 1: minio.kms.ListRequest @@ -1607,20 +1623,22 @@ var file_request_proto_goTypes = []interface{}{ (*DeleteIdentityRequest)(nil), // 22: minio.kms.DeleteIdentityRequest nil, // 23: minio.kms.CreatePolicyRequest.AllowEntry nil, // 24: minio.kms.CreatePolicyRequest.DenyEntry - (*timestamppb.Timestamp)(nil), // 25: google.protobuf.Timestamp - (*RuleSet)(nil), // 26: minio.kms.RuleSet + nil, // 25: minio.kms.CreateIdentityRequest.TagsEntry + (*timestamppb.Timestamp)(nil), // 26: google.protobuf.Timestamp + (*RuleSet)(nil), // 27: minio.kms.RuleSet } var file_request_proto_depIdxs = []int32{ - 25, // 0: minio.kms.LogRequest.Since:type_name -> google.protobuf.Timestamp + 26, // 0: minio.kms.LogRequest.Since:type_name -> google.protobuf.Timestamp 23, // 1: minio.kms.CreatePolicyRequest.Allow:type_name -> minio.kms.CreatePolicyRequest.AllowEntry 24, // 2: minio.kms.CreatePolicyRequest.Deny:type_name -> minio.kms.CreatePolicyRequest.DenyEntry - 26, // 3: minio.kms.CreatePolicyRequest.AllowEntry.value:type_name -> minio.kms.RuleSet - 26, // 4: minio.kms.CreatePolicyRequest.DenyEntry.value:type_name -> minio.kms.RuleSet - 5, // [5:5] is the sub-list for method output_type - 5, // [5:5] is the sub-list for method input_type - 5, // [5:5] is the sub-list for extension type_name - 5, // [5:5] is the sub-list for extension extendee - 0, // [0:5] is the sub-list for field type_name + 25, // 3: minio.kms.CreateIdentityRequest.Tags:type_name -> minio.kms.CreateIdentityRequest.TagsEntry + 27, // 4: minio.kms.CreatePolicyRequest.AllowEntry.value:type_name -> minio.kms.RuleSet + 27, // 5: minio.kms.CreatePolicyRequest.DenyEntry.value:type_name -> minio.kms.RuleSet + 6, // [6:6] is the sub-list for method output_type + 6, // [6:6] is the sub-list for method input_type + 6, // [6:6] is the sub-list for extension type_name + 6, // [6:6] is the sub-list for extension extendee + 0, // [0:6] is the sub-list for field type_name } func init() { file_request_proto_init() } @@ -1913,7 +1931,7 @@ func file_request_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_request_proto_rawDesc, NumEnums: 0, - NumMessages: 25, + NumMessages: 26, NumExtensions: 0, NumServices: 0, }, diff --git a/kms/protobuf/request.proto b/kms/protobuf/request.proto index 35c7492..e116a4c 100644 --- a/kms/protobuf/request.proto +++ b/kms/protobuf/request.proto @@ -233,6 +233,9 @@ message CreateIdentityRequest { // IsServiceAccount indicates whether the identity is a service account. bool IsServiceAccount = 3 [ json_name = "service_account" ]; + + // Tags are optional metadata labels attached to the identity as key-value pairs. + map Tags = 4 [ json_name="tags" ]; } message IdentityRequest { diff --git a/kms/protobuf/response.pb.go b/kms/protobuf/response.pb.go index 48073cb..5a6fa13 100644 --- a/kms/protobuf/response.pb.go +++ b/kms/protobuf/response.pb.go @@ -10,7 +10,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.33.0 -// protoc v5.27.1 +// protoc v5.28.2 // source: response.proto package protobuf @@ -1211,6 +1211,8 @@ type IdentityResponse struct { CreatedBy string `protobuf:"bytes,5,opt,name=CreatedBy,json=created_by,proto3" json:"CreatedBy,omitempty"` IsServiceAccount bool `protobuf:"varint,6,opt,name=IsServiceAccount,json=is_service_account,proto3" json:"IsServiceAccount,omitempty"` ServiceAccounts []string `protobuf:"bytes,7,rep,name=ServiceAccounts,json=service_accounts,proto3" json:"ServiceAccounts,omitempty"` + // Tags are optional metadata labels attached to the key as key-value pairs. + Tags map[string]string `protobuf:"bytes,8,rep,name=Tags,json=tags,proto3" json:"Tags,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *IdentityResponse) Reset() { @@ -1294,6 +1296,13 @@ func (x *IdentityResponse) GetServiceAccounts() []string { return nil } +func (x *IdentityResponse) GetTags() map[string]string { + if x != nil { + return x.Tags + } + return nil +} + type ListIdentitiesResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1542,7 +1551,7 @@ var file_response_proto_rawDesc = []byte{ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x41, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, - 0x5f, 0x61, 0x74, 0x22, 0x97, 0x02, 0x0a, 0x10, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x5f, 0x61, 0x74, 0x22, 0x8b, 0x03, 0x0a, 0x10, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, @@ -1559,16 +1568,24 @@ var file_response_proto_rawDesc = []byte{ 0x69, 0x73, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x29, 0x0a, 0x0f, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x22, 0x76, 0x0a, - 0x16, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x0a, 0x49, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6d, 0x69, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x39, 0x0a, + 0x04, 0x54, 0x61, 0x67, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6d, 0x69, 0x6e, 0x69, 0x6f, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x74, 0x69, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, - 0x41, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, - 0x75, 0x65, 0x5f, 0x61, 0x74, 0x42, 0x0e, 0x5a, 0x0c, 0x6b, 0x6d, 0x73, 0x2f, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x1a, 0x37, 0x0a, 0x09, 0x54, 0x61, 0x67, 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, 0x76, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x0a, 0x49, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1b, 0x2e, 0x6d, 0x69, 0x6e, 0x69, 0x6f, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x49, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x69, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x74, + 0x69, 0x6e, 0x75, 0x65, 0x41, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, + 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x5f, 0x61, 0x74, 0x42, 0x0e, 0x5a, 0x0c, 0x6b, 0x6d, 0x73, + 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, } var ( @@ -1583,7 +1600,7 @@ func file_response_proto_rawDescGZIP() []byte { return file_response_proto_rawDescData } -var file_response_proto_msgTypes = make([]protoimpl.MessageInfo, 22) +var file_response_proto_msgTypes = make([]protoimpl.MessageInfo, 23) var file_response_proto_goTypes = []interface{}{ (*ErrResponse)(nil), // 0: minio.kms.ErrResponse (*VersionResponse)(nil), // 1: minio.kms.VersionResponse @@ -1607,38 +1624,40 @@ var file_response_proto_goTypes = []interface{}{ nil, // 19: minio.kms.ClusterStatusResponse.NodesDownEntry nil, // 20: minio.kms.PolicyResponse.AllowEntry nil, // 21: minio.kms.PolicyResponse.DenyEntry - (*durationpb.Duration)(nil), // 22: google.protobuf.Duration - (*timestamppb.Timestamp)(nil), // 23: google.protobuf.Timestamp - (*RuleSet)(nil), // 24: minio.kms.RuleSet + nil, // 22: minio.kms.IdentityResponse.TagsEntry + (*durationpb.Duration)(nil), // 23: google.protobuf.Duration + (*timestamppb.Timestamp)(nil), // 24: google.protobuf.Timestamp + (*RuleSet)(nil), // 25: minio.kms.RuleSet } var file_response_proto_depIdxs = []int32{ - 22, // 0: minio.kms.ServerStatusResponse.UpTime:type_name -> google.protobuf.Duration + 23, // 0: minio.kms.ServerStatusResponse.UpTime:type_name -> google.protobuf.Duration 17, // 1: minio.kms.ServerStatusResponse.Nodes:type_name -> minio.kms.ServerStatusResponse.NodesEntry - 22, // 2: minio.kms.ServerStatusResponse.LastHeartbeat:type_name -> google.protobuf.Duration - 22, // 3: minio.kms.ServerStatusResponse.HeartbeatInterval:type_name -> google.protobuf.Duration - 22, // 4: minio.kms.ServerStatusResponse.ElectionTimeout:type_name -> google.protobuf.Duration - 23, // 5: minio.kms.ProfileStatusResponse.Started:type_name -> google.protobuf.Timestamp + 23, // 2: minio.kms.ServerStatusResponse.LastHeartbeat:type_name -> google.protobuf.Duration + 23, // 3: minio.kms.ServerStatusResponse.HeartbeatInterval:type_name -> google.protobuf.Duration + 23, // 4: minio.kms.ServerStatusResponse.ElectionTimeout:type_name -> google.protobuf.Duration + 24, // 5: minio.kms.ProfileStatusResponse.Started:type_name -> google.protobuf.Timestamp 18, // 6: minio.kms.ClusterStatusResponse.NodesUp:type_name -> minio.kms.ClusterStatusResponse.NodesUpEntry 19, // 7: minio.kms.ClusterStatusResponse.NodesDown:type_name -> minio.kms.ClusterStatusResponse.NodesDownEntry - 23, // 8: minio.kms.EnclaveStatusResponse.CreatedAt:type_name -> google.protobuf.Timestamp + 24, // 8: minio.kms.EnclaveStatusResponse.CreatedAt:type_name -> google.protobuf.Timestamp 5, // 9: minio.kms.ListEnclavesResponse.Enclaves:type_name -> minio.kms.EnclaveStatusResponse - 23, // 10: minio.kms.KeyStatusResponse.CreatedAt:type_name -> google.protobuf.Timestamp + 24, // 10: minio.kms.KeyStatusResponse.CreatedAt:type_name -> google.protobuf.Timestamp 7, // 11: minio.kms.ListKeysResponse.Keys:type_name -> minio.kms.KeyStatusResponse - 23, // 12: minio.kms.PolicyStatusResponse.CreatedAt:type_name -> google.protobuf.Timestamp + 24, // 12: minio.kms.PolicyStatusResponse.CreatedAt:type_name -> google.protobuf.Timestamp 20, // 13: minio.kms.PolicyResponse.Allow:type_name -> minio.kms.PolicyResponse.AllowEntry 21, // 14: minio.kms.PolicyResponse.Deny:type_name -> minio.kms.PolicyResponse.DenyEntry - 23, // 15: minio.kms.PolicyResponse.CreatedAt:type_name -> google.protobuf.Timestamp + 24, // 15: minio.kms.PolicyResponse.CreatedAt:type_name -> google.protobuf.Timestamp 12, // 16: minio.kms.ListPoliciesResponse.Policies:type_name -> minio.kms.PolicyStatusResponse - 23, // 17: minio.kms.IdentityResponse.CreatedAt:type_name -> google.protobuf.Timestamp - 15, // 18: minio.kms.ListIdentitiesResponse.Identities:type_name -> minio.kms.IdentityResponse - 2, // 19: minio.kms.ClusterStatusResponse.NodesUpEntry.value:type_name -> minio.kms.ServerStatusResponse - 24, // 20: minio.kms.PolicyResponse.AllowEntry.value:type_name -> minio.kms.RuleSet - 24, // 21: minio.kms.PolicyResponse.DenyEntry.value:type_name -> minio.kms.RuleSet - 22, // [22:22] is the sub-list for method output_type - 22, // [22:22] is the sub-list for method input_type - 22, // [22:22] is the sub-list for extension type_name - 22, // [22:22] is the sub-list for extension extendee - 0, // [0:22] is the sub-list for field type_name + 24, // 17: minio.kms.IdentityResponse.CreatedAt:type_name -> google.protobuf.Timestamp + 22, // 18: minio.kms.IdentityResponse.Tags:type_name -> minio.kms.IdentityResponse.TagsEntry + 15, // 19: minio.kms.ListIdentitiesResponse.Identities:type_name -> minio.kms.IdentityResponse + 2, // 20: minio.kms.ClusterStatusResponse.NodesUpEntry.value:type_name -> minio.kms.ServerStatusResponse + 25, // 21: minio.kms.PolicyResponse.AllowEntry.value:type_name -> minio.kms.RuleSet + 25, // 22: minio.kms.PolicyResponse.DenyEntry.value:type_name -> minio.kms.RuleSet + 23, // [23:23] is the sub-list for method output_type + 23, // [23:23] is the sub-list for method input_type + 23, // [23:23] is the sub-list for extension type_name + 23, // [23:23] is the sub-list for extension extendee + 0, // [0:23] is the sub-list for field type_name } func init() { file_response_proto_init() } @@ -1859,7 +1878,7 @@ func file_response_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_response_proto_rawDesc, NumEnums: 0, - NumMessages: 22, + NumMessages: 23, NumExtensions: 0, NumServices: 0, }, diff --git a/kms/protobuf/response.proto b/kms/protobuf/response.proto index b67b7c0..1e9aee8 100644 --- a/kms/protobuf/response.proto +++ b/kms/protobuf/response.proto @@ -284,6 +284,9 @@ message IdentityResponse { bool IsServiceAccount = 6 [ json_name = "is_service_account" ]; repeated string ServiceAccounts = 7 [ json_name = "service_accounts" ]; + + // Tags are optional metadata labels attached to the key as key-value pairs. + map Tags = 8 [ json_name="tags" ]; } message ListIdentitiesResponse { diff --git a/kms/protobuf/rule.pb.go b/kms/protobuf/rule.pb.go index ea92d62..3cdf6c1 100644 --- a/kms/protobuf/rule.pb.go +++ b/kms/protobuf/rule.pb.go @@ -10,7 +10,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.33.0 -// protoc v5.27.1 +// protoc v5.28.2 // source: rule.proto package protobuf diff --git a/kms/request.go b/kms/request.go index 9223fc3..1d47b11 100644 --- a/kms/request.go +++ b/kms/request.go @@ -832,6 +832,10 @@ type CreateIdentityRequest struct { // IsServiceAccount indicates whether this identity is a service // account. IsServiceAccount bool + + // Tags are optional metadata labels attached to the identity + // as key-value pairs. + Tags map[string]string } // MarshalPB converts the CreateIdentityequest into its protobuf representation. @@ -844,6 +848,7 @@ func (r *CreateIdentityRequest) MarshalPB(v *pb.CreateIdentityRequest) error { v.Identity = r.Identity.String() v.Privilege = privilege v.IsServiceAccount = r.IsServiceAccount + v.Tags = r.Tags return nil } @@ -869,6 +874,7 @@ func (r *CreateIdentityRequest) UnmarshalPB(v *pb.CreateIdentityRequest) error { r.Identity = id r.Privilege = privilege r.IsServiceAccount = v.IsServiceAccount + r.Tags = v.Tags return nil } diff --git a/kms/response.go b/kms/response.go index 7d0fb64..0984f44 100644 --- a/kms/response.go +++ b/kms/response.go @@ -821,6 +821,10 @@ type IdentityResponse struct { // ServiceAccounts contains all service accounts of this identity. ServiceAccounts []mtls.Identity + + // Tags are optional metadata labels attached to an identity as + // key-value pairs. + Tags map[string]string } // MarshalPB converts the IdentityResponse into its protobuf representation. @@ -835,6 +839,7 @@ func (r *IdentityResponse) MarshalPB(v *pb.IdentityResponse) error { for _, a := range r.ServiceAccounts { v.ServiceAccounts = append(v.ServiceAccounts, a.String()) } + v.Tags = r.Tags return nil } @@ -873,5 +878,6 @@ func (r *IdentityResponse) UnmarshalPB(v *pb.IdentityResponse) error { r.CreatedBy = createdBy r.IsServiceAccount = v.IsServiceAccount r.ServiceAccounts = serviceAccounts + r.Tags = v.Tags return nil }