From c8ee055b7372c7d6f3643c46af8ec53e241bdf08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wojciech=20Tyczy=C5=84ski?= Date: Thu, 13 Jan 2022 15:04:52 +0100 Subject: [PATCH] Introduce Namer interface --- .../k8s.io/apimachinery/pkg/runtime/interfaces.go | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/staging/src/k8s.io/apimachinery/pkg/runtime/interfaces.go b/staging/src/k8s.io/apimachinery/pkg/runtime/interfaces.go index 9f4014b4aa9..9cb3c986ea6 100644 --- a/staging/src/k8s.io/apimachinery/pkg/runtime/interfaces.go +++ b/staging/src/k8s.io/apimachinery/pkg/runtime/interfaces.go @@ -284,14 +284,20 @@ type ResourceVersioner interface { ResourceVersion(obj Object) (string, error) } +// Namer provides methods for retrieving name and namespace of an API object. +type Namer interface { + // Name returns the name of a given object. + Name(obj Object) (string, error) + // Namespace returns the name of a given object. + Namespace(obj Object) (string, error) +} + // SelfLinker provides methods for setting and retrieving the SelfLink field of an API object. type SelfLinker interface { SelfLink(obj Object) (string, error) - // Knowing Name is sometimes necessary to use a SelfLinker. - Name(obj Object) (string, error) - // Knowing Namespace is sometimes necessary to use a SelfLinker - Namespace(obj Object) (string, error) + // Knowing Name or Namespace is sometimes necessary to use a SelfLinker. + Namer } // Object interface must be supported by all API types registered with Scheme. Since objects in a scheme are