gvk := api.GroupVersionKind{ Group: "", Version: "v1", Kind: "Pod", }
gv := api.GroupVersion{ Group: "", Version: "v1", // list of resources in this group-version // see https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/register.go // for reference on correspondance between group-version-resource and apiVersion-kind combination // to avoid having to import the objects everywhere. // All properly registered objects will be exposed under their own pkg clients. // This is autogenerated and adheres to the ResourceNamingSpecification // for the core API group. // +k8s:deepcopy-gen=false Resources: []string{ // core objects "bindings", "componentstatuses", "configmaps", "endpoints", "events", "limitranges", "namespaces", "nodes", "persistentvolumeclaims", "persistentvolumes", "pods", "podtemplates", "replicationcontrollers", "resourcequotas", "secrets", "serviceaccounts", "services", // extensions/v1beta1 API objects "daemonsets", "deployments", "horizontalpodautoscalers", "jobs", "ingresses", "networkpolicies", "poddisruptionbudgets", "replicasets", "scale", "statefulsets", }, }Overall, these structures are used throughout the Kubernetes API codebase to define and handle API versioning, and are part of the `k8s.io/kubernetes` package library.