diff --git a/pkg/api/v1beta1/conversion.go b/pkg/api/v1beta1/conversion.go index cb27b823fca..d36f51c2b78 100644 --- a/pkg/api/v1beta1/conversion.go +++ b/pkg/api/v1beta1/conversion.go @@ -624,5 +624,29 @@ func init() { } return s.Convert(&in.Items, &out.Items, 0) }, + + // Object ID <-> Name + // TODO: amend the conversion package to allow overriding specific fields. + func(in *ObjectReference, out *newer.ObjectReference, s conversion.Scope) error { + out.Kind = in.Kind + out.Namespace = in.Namespace + out.Name = in.ID + out.UID = in.UID + out.APIVersion = in.APIVersion + out.ResourceVersion = in.ResourceVersion + out.FieldPath = in.FieldPath + return nil + }, + func(in *newer.ObjectReference, out *ObjectReference, s conversion.Scope) error { + out.ID = in.Name + out.Kind = in.Kind + out.Namespace = in.Namespace + out.ID = in.Name + out.UID = in.UID + out.APIVersion = in.APIVersion + out.ResourceVersion = in.ResourceVersion + out.FieldPath = in.FieldPath + return nil + }, ) } diff --git a/pkg/api/v1beta1/types.go b/pkg/api/v1beta1/types.go index 4367f08accf..32e5bd2abad 100644 --- a/pkg/api/v1beta1/types.go +++ b/pkg/api/v1beta1/types.go @@ -683,7 +683,7 @@ type ServerOpList struct { type ObjectReference struct { Kind string `json:"kind,omitempty" yaml:"kind,omitempty"` Namespace string `json:"namespace,omitempty" yaml:"namespace,omitempty"` - Name string `json:"name,omitempty" yaml:"name,omitempty"` + ID string `json:"name,omitempty" yaml:"name,omitempty"` UID string `json:"uid,omitempty" yaml:"uid,omitempty"` APIVersion string `json:"apiVersion,omitempty" yaml:"apiVersion,omitempty"` ResourceVersion string `json:"resourceVersion,omitempty" yaml:"resourceVersion,omitempty"` diff --git a/pkg/api/v1beta2/conversion.go b/pkg/api/v1beta2/conversion.go index b16998ae2fd..4dc6f29291c 100644 --- a/pkg/api/v1beta2/conversion.go +++ b/pkg/api/v1beta2/conversion.go @@ -574,5 +574,29 @@ func init() { } return s.Convert(&in.Items, &out.Items, 0) }, + + // Object ID <-> Name + // TODO: amend the conversion package to allow overriding specific fields. + func(in *ObjectReference, out *newer.ObjectReference, s conversion.Scope) error { + out.Kind = in.Kind + out.Namespace = in.Namespace + out.Name = in.ID + out.UID = in.UID + out.APIVersion = in.APIVersion + out.ResourceVersion = in.ResourceVersion + out.FieldPath = in.FieldPath + return nil + }, + func(in *newer.ObjectReference, out *ObjectReference, s conversion.Scope) error { + out.ID = in.Name + out.Kind = in.Kind + out.Namespace = in.Namespace + out.ID = in.Name + out.UID = in.UID + out.APIVersion = in.APIVersion + out.ResourceVersion = in.ResourceVersion + out.FieldPath = in.FieldPath + return nil + }, ) } diff --git a/pkg/api/v1beta2/types.go b/pkg/api/v1beta2/types.go index f43bdcd434c..7480dedd8d0 100644 --- a/pkg/api/v1beta2/types.go +++ b/pkg/api/v1beta2/types.go @@ -658,7 +658,7 @@ type ServerOpList struct { type ObjectReference struct { Kind string `json:"kind,omitempty" yaml:"kind,omitempty"` Namespace string `json:"namespace,omitempty" yaml:"namespace,omitempty"` - Name string `json:"name,omitempty" yaml:"name,omitempty"` + ID string `json:"name,omitempty" yaml:"name,omitempty"` UID string `json:"uid,omitempty" yaml:"uid,omitempty"` APIVersion string `json:"apiVersion,omitempty" yaml:"apiVersion,omitempty"` ResourceVersion string `json:"resourceVersion,omitempty" yaml:"resourceVersion,omitempty"`