mirror of https://github.com/k3s-io/k3s
Fixes get -oname for unstructured objects
parent
98398d5d6e
commit
1aa84d101a
|
@ -1362,6 +1362,8 @@ __EOF__
|
||||||
kubectl "${kube_flags[@]}" get foos/test -o "jsonpath={.someField}" --allow-missing-template-keys=false
|
kubectl "${kube_flags[@]}" get foos/test -o "jsonpath={.someField}" --allow-missing-template-keys=false
|
||||||
kubectl "${kube_flags[@]}" get foos -o "go-template={{range .items}}{{.someField}}{{end}}" --allow-missing-template-keys=false
|
kubectl "${kube_flags[@]}" get foos -o "go-template={{range .items}}{{.someField}}{{end}}" --allow-missing-template-keys=false
|
||||||
kubectl "${kube_flags[@]}" get foos/test -o "go-template={{.someField}}" --allow-missing-template-keys=false
|
kubectl "${kube_flags[@]}" get foos/test -o "go-template={{.someField}}" --allow-missing-template-keys=false
|
||||||
|
output_message=$(kubectl get foos/test -o name)
|
||||||
|
kube::test::if_has_string "${output_message}" 'foos/test'
|
||||||
|
|
||||||
# Test patching
|
# Test patching
|
||||||
kube::log::status "Testing ThirdPartyResource patching"
|
kube::log::status "Testing ThirdPartyResource patching"
|
||||||
|
|
|
@ -46,7 +46,10 @@ func NewBuilderFactory(clientAccessFactory ClientAccessFactory, objectMappingFac
|
||||||
}
|
}
|
||||||
|
|
||||||
func (f *ring2Factory) PrinterForCommand(cmd *cobra.Command) (printers.ResourcePrinter, bool, error) {
|
func (f *ring2Factory) PrinterForCommand(cmd *cobra.Command) (printers.ResourcePrinter, bool, error) {
|
||||||
mapper, typer := f.objectMappingFactory.Object()
|
mapper, typer, err := f.objectMappingFactory.UnstructuredObject()
|
||||||
|
if err != nil {
|
||||||
|
return nil, false, err
|
||||||
|
}
|
||||||
// TODO: used by the custom column implementation and the name implementation, break this dependency
|
// TODO: used by the custom column implementation and the name implementation, break this dependency
|
||||||
decoders := []runtime.Decoder{f.clientAccessFactory.Decoder(true), unstructured.UnstructuredJSONScheme}
|
decoders := []runtime.Decoder{f.clientAccessFactory.Decoder(true), unstructured.UnstructuredJSONScheme}
|
||||||
return PrinterForCommand(cmd, mapper, typer, decoders)
|
return PrinterForCommand(cmd, mapper, typer, decoders)
|
||||||
|
|
|
@ -62,26 +62,24 @@ func (p *NamePrinter) PrintObj(obj runtime.Object, w io.Writer) error {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
kind := obj.GetObjectKind().GroupVersionKind()
|
groupVersionKind := obj.GetObjectKind().GroupVersionKind()
|
||||||
if len(kind.Kind) == 0 {
|
if len(groupVersionKind.Kind) > 0 {
|
||||||
if gvks, _, err := p.Typer.ObjectKinds(obj); err == nil {
|
if mappings, err := p.Mapper.RESTMappings(groupVersionKind.GroupKind(), groupVersionKind.Version); err == nil && len(mappings) > 0 {
|
||||||
for _, gvk := range gvks {
|
|
||||||
if mappings, err := p.Mapper.RESTMappings(gvk.GroupKind(), gvk.Version); err == nil && len(mappings) > 0 {
|
|
||||||
fmt.Fprintf(w, "%s/%s\n", mappings[0].Resource, name)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
fmt.Fprintf(w, "<unknown>/%s\n", name)
|
|
||||||
}
|
|
||||||
|
|
||||||
} else {
|
|
||||||
if mappings, err := p.Mapper.RESTMappings(kind.GroupKind(), kind.Version); err == nil && len(mappings) > 0 {
|
|
||||||
fmt.Fprintf(w, "%s/%s\n", mappings[0].Resource, name)
|
fmt.Fprintf(w, "%s/%s\n", mappings[0].Resource, name)
|
||||||
} else {
|
return nil
|
||||||
fmt.Fprintf(w, "<unknown>/%s\n", name)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if gvks, _, err := p.Typer.ObjectKinds(obj); err == nil {
|
||||||
|
for _, gvk := range gvks {
|
||||||
|
if mappings, err := p.Mapper.RESTMappings(gvk.GroupKind(), gvk.Version); err == nil && len(mappings) > 0 {
|
||||||
|
fmt.Fprintf(w, "%s/%s\n", mappings[0].Resource, name)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fmt.Fprintf(w, "<unknown>/%s\n", name)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue