Remove use of VersionedObject and simplify builder in generic methods

Reduce all uses of Unstructured to the simpler form, and avoid asking
for mapper or typer unless it is required. Use Typed() for places that
previously used VersionedObject, and remove paths for versioned objects
from code that is now using unstructured.
This commit is contained in:
Clayton Coleman
2017-11-13 23:01:51 -05:00
parent 64f56764d5
commit 5038eb2a3f
30 changed files with 263 additions and 393 deletions

View File

@@ -107,12 +107,12 @@ func (o *EditOptions) Complete(f cmdutil.Factory, out, errOut io.Writer, args []
if err != nil {
return err
}
mapper, typer, err := f.UnstructuredObject()
mapper, _, err := f.UnstructuredObject()
if err != nil {
return err
}
b := f.NewBuilder().Unstructured(f.UnstructuredClientForMapping, mapper, typer)
b := f.NewBuilder().Unstructured()
if o.EditMode == NormalEditMode || o.EditMode == ApplyEditMode {
// when do normal edit or apply edit we need to always retrieve the latest resource from server
b = b.ResourceTypeOrNameArgs(true, args...).Latest()
@@ -132,7 +132,8 @@ func (o *EditOptions) Complete(f cmdutil.Factory, out, errOut io.Writer, args []
o.updatedResultGetter = func(data []byte) *resource.Result {
// resource builder to read objects from edited data
return resource.NewBuilder(mapper, f.CategoryExpander(), typer, resource.ClientMapperFunc(f.UnstructuredClientForMapping), unstructured.UnstructuredJSONScheme).
return f.NewBuilder().
Unstructured().
Stream(bytes.NewReader(data), "edited-file").
IncludeUninitialized(includeUninitialized).
ContinueOnError().