我正在尝试为Kubernetes自定义资源创建.proto
文件,因此我需要在我的文件中包含ObjectMeta
。我是这样做的:
syntax = "proto2";
package spec;
import "k8s.io/kubernetes/pkg/api/unversioned/generated.proto";
import "k8s.io/kubernetes/pkg/api/v1/generated.proto";
message APIKeyList {
optional string kind = 1;
optional string apiVersion = 2;
optional k8s.io.kubernetes.pkg.api.unversioned.ListMeta metadata = 3;
repeated APIKey items = 4;
}
使用protoc
,它成功创建了我的*.pb.go
文件,但是当我运行测试套件时,收到以下错误:
proto: no coders for unversioned.Time
proto: no encoder for CreationTimestamp unversioned.Time [GetProperties]
proto: tag has too few fields: "-"
proto: no coders for time.Time
proto: no encoder for Time time.Time [GetProperties]
proto: no slice oenc for *reflect.rtype = []*reflect.rtype
proto: no encoder for OwnerReferences []v1.OwnerReference [GetProperties]
现在我没有使用任何时间字段,因此我认为它与导入的原型文件有关。