Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
k3s
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jacklull
k3s
Commits
98e0c699
Commit
98e0c699
authored
Nov 13, 2017
by
Clayton Coleman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Revert "refactor builder in kubectl factory"
This reverts commit
06c5be98
.
parent
6b97376a
Hide whitespace changes
Inline
Side-by-side
Showing
25 changed files
with
157 additions
and
123 deletions
+157
-123
annotate.go
pkg/kubectl/cmd/annotate.go
+21
-13
apply.go
pkg/kubectl/cmd/apply.go
+3
-2
apply_set_last_applied.go
pkg/kubectl/cmd/apply_set_last_applied.go
+8
-2
apply_view_last_applied.go
pkg/kubectl/cmd/apply_view_last_applied.go
+7
-1
convert.go
pkg/kubectl/cmd/convert.go
+3
-3
create.go
pkg/kubectl/cmd/create.go
+3
-2
delete.go
pkg/kubectl/cmd/delete.go
+3
-2
describe.go
pkg/kubectl/cmd/describe.go
+7
-1
diff.go
pkg/kubectl/cmd/diff.go
+7
-1
label.go
pkg/kubectl/cmd/label.go
+21
-14
patch.go
pkg/kubectl/cmd/patch.go
+7
-1
replace.go
pkg/kubectl/cmd/replace.go
+5
-3
get.go
pkg/kubectl/cmd/resource/get.go
+15
-3
set_env.go
pkg/kubectl/cmd/set/set_env.go
+6
-6
set_image.go
pkg/kubectl/cmd/set/set_image.go
+6
-6
set_resources.go
pkg/kubectl/cmd/set/set_resources.go
+6
-6
set_selector.go
pkg/kubectl/cmd/set/set_selector.go
+5
-5
set_subject.go
pkg/kubectl/cmd/set/set_subject.go
+6
-6
BUILD
pkg/kubectl/cmd/testing/BUILD
+0
-1
fake.go
pkg/kubectl/cmd/testing/fake.go
+0
-27
editoptions.go
pkg/kubectl/cmd/util/editor/editoptions.go
+3
-3
factory.go
pkg/kubectl/cmd/util/factory.go
+2
-3
factory_builder.go
pkg/kubectl/cmd/util/factory_builder.go
+0
-12
BUILD
pkg/kubectl/resource/BUILD
+1
-0
builder.go
pkg/kubectl/resource/builder.go
+12
-0
No files found.
pkg/kubectl/cmd/annotate.go
View file @
98e0c699
...
...
@@ -189,23 +189,31 @@ func (o AnnotateOptions) RunAnnotate(f cmdutil.Factory, cmd *cobra.Command) erro
changeCause
:=
f
.
Command
(
cmd
,
false
)
includeUninitialized
:=
cmdutil
.
ShouldIncludeUninitialized
(
cmd
,
false
)
b
:=
f
.
NewBuilder
()
.
ContinueOnError
()
.
NamespaceParam
(
namespace
)
.
DefaultNamespace
()
.
FilenameParam
(
enforceNamespace
,
&
o
.
FilenameOptions
)
.
IncludeUninitialized
(
includeUninitialized
)
.
Flatten
()
var
b
*
resource
.
Builder
if
o
.
local
{
b
=
f
.
NewBuilder
()
.
Local
(
f
.
ClientForMapping
)
}
else
{
b
=
f
.
NewUnstructuredBuilder
()
.
LabelSelectorParam
(
o
.
selector
)
.
if
!
o
.
local
{
// call this method here, as it requires an api call
// and will cause the command to fail when there is
// no connection to a server
mapper
,
typer
,
err
:=
f
.
UnstructuredObject
()
if
err
!=
nil
{
return
err
}
b
=
b
.
LabelSelectorParam
(
o
.
selector
)
.
Unstructured
(
f
.
UnstructuredClientForMapping
,
mapper
,
typer
)
.
ResourceTypeOrNameArgs
(
o
.
all
,
o
.
resources
...
)
.
Latest
()
}
else
{
b
=
b
.
Local
(
f
.
ClientForMapping
)
}
r
:=
b
.
ContinueOnError
()
.
NamespaceParam
(
namespace
)
.
DefaultNamespace
()
.
FilenameParam
(
enforceNamespace
,
&
o
.
FilenameOptions
)
.
IncludeUninitialized
(
includeUninitialized
)
.
Flatten
()
.
Do
()
r
:=
b
.
Do
()
if
err
:=
r
.
Err
();
err
!=
nil
{
return
err
}
...
...
pkg/kubectl/cmd/apply.go
View file @
98e0c699
...
...
@@ -198,7 +198,7 @@ func RunApply(f cmdutil.Factory, cmd *cobra.Command, out, errOut io.Writer, opti
return
err
}
mapper
,
_
,
err
:=
f
.
UnstructuredObject
()
mapper
,
typer
,
err
:=
f
.
UnstructuredObject
()
if
err
!=
nil
{
return
err
}
...
...
@@ -213,7 +213,8 @@ func RunApply(f cmdutil.Factory, cmd *cobra.Command, out, errOut io.Writer, opti
// include the uninitialized objects by default if --prune is true
// unless explicitly set --include-uninitialized=false
includeUninitialized
:=
cmdutil
.
ShouldIncludeUninitialized
(
cmd
,
options
.
Prune
)
r
:=
f
.
NewUnstructuredBuilder
()
.
r
:=
f
.
NewBuilder
()
.
Unstructured
(
f
.
UnstructuredClientForMapping
,
mapper
,
typer
)
.
Schema
(
schema
)
.
ContinueOnError
()
.
NamespaceParam
(
cmdNamespace
)
.
DefaultNamespace
()
.
...
...
pkg/kubectl/cmd/apply_set_last_applied.go
View file @
98e0c699
...
...
@@ -122,13 +122,19 @@ func (o *SetLastAppliedOptions) Complete(f cmdutil.Factory, cmd *cobra.Command)
}
func
(
o
*
SetLastAppliedOptions
)
Validate
(
f
cmdutil
.
Factory
,
cmd
*
cobra
.
Command
)
error
{
r
:=
f
.
NewUnstructuredBuilder
()
.
mapper
,
typer
,
err
:=
f
.
UnstructuredObject
()
if
err
!=
nil
{
return
err
}
r
:=
f
.
NewBuilder
()
.
Unstructured
(
f
.
UnstructuredClientForMapping
,
mapper
,
typer
)
.
NamespaceParam
(
o
.
Namespace
)
.
DefaultNamespace
()
.
FilenameParam
(
o
.
EnforceNamespace
,
&
o
.
FilenameOptions
)
.
Latest
()
.
Flatten
()
.
Do
()
err
:
=
r
.
Err
()
err
=
r
.
Err
()
if
err
!=
nil
{
return
err
}
...
...
pkg/kubectl/cmd/apply_view_last_applied.go
View file @
98e0c699
...
...
@@ -87,7 +87,13 @@ func (o *ViewLastAppliedOptions) Complete(f cmdutil.Factory, args []string) erro
return
err
}
r
:=
f
.
NewUnstructuredBuilder
()
.
mapper
,
typer
,
err
:=
f
.
UnstructuredObject
()
if
err
!=
nil
{
return
err
}
r
:=
f
.
NewBuilder
()
.
Unstructured
(
f
.
UnstructuredClientForMapping
,
mapper
,
typer
)
.
NamespaceParam
(
cmdNamespace
)
.
DefaultNamespace
()
.
FilenameParam
(
enforceNamespace
,
&
o
.
FilenameOptions
)
.
ResourceTypeOrNameArgs
(
enforceNamespace
,
args
...
)
.
...
...
pkg/kubectl/cmd/convert.go
View file @
98e0c699
...
...
@@ -129,14 +129,14 @@ func (o *ConvertOptions) Complete(f cmdutil.Factory, out io.Writer, cmd *cobra.C
// build the builder
o
.
builder
=
f
.
NewBuilder
()
if
o
.
local
{
o
.
builder
=
o
.
builder
.
Local
(
f
.
ClientForMapping
)
}
else
{
if
!
o
.
local
{
schema
,
err
:=
f
.
Validator
(
cmdutil
.
GetFlagBool
(
cmd
,
"validate"
))
if
err
!=
nil
{
return
err
}
o
.
builder
=
o
.
builder
.
Schema
(
schema
)
}
else
{
o
.
builder
=
o
.
builder
.
Local
(
f
.
ClientForMapping
)
}
cmdNamespace
,
_
,
err
:=
f
.
DefaultNamespace
()
...
...
pkg/kubectl/cmd/create.go
View file @
98e0c699
...
...
@@ -184,12 +184,13 @@ func RunCreate(f cmdutil.Factory, cmd *cobra.Command, out, errOut io.Writer, opt
return
err
}
mapper
,
_
,
err
:=
f
.
UnstructuredObject
()
mapper
,
typer
,
err
:=
f
.
UnstructuredObject
()
if
err
!=
nil
{
return
err
}
r
:=
f
.
NewUnstructuredBuilder
()
.
r
:=
f
.
NewBuilder
()
.
Unstructured
(
f
.
UnstructuredClientForMapping
,
mapper
,
typer
)
.
Schema
(
schema
)
.
ContinueOnError
()
.
NamespaceParam
(
cmdNamespace
)
.
DefaultNamespace
()
.
...
...
pkg/kubectl/cmd/delete.go
View file @
98e0c699
...
...
@@ -170,14 +170,15 @@ func (o *DeleteOptions) Complete(f cmdutil.Factory, out, errOut io.Writer, args
}
// Set up client based support.
mapper
,
_
,
err
:=
f
.
UnstructuredObject
()
mapper
,
typer
,
err
:=
f
.
UnstructuredObject
()
if
err
!=
nil
{
return
err
}
o
.
Mapper
=
mapper
includeUninitialized
:=
cmdutil
.
ShouldIncludeUninitialized
(
cmd
,
false
)
r
:=
f
.
NewUnstructuredBuilder
()
.
r
:=
f
.
NewBuilder
()
.
Unstructured
(
f
.
UnstructuredClientForMapping
,
mapper
,
typer
)
.
ContinueOnError
()
.
NamespaceParam
(
cmdNamespace
)
.
DefaultNamespace
()
.
FilenameParam
(
enforceNamespace
,
&
o
.
FilenameOptions
)
.
...
...
pkg/kubectl/cmd/describe.go
View file @
98e0c699
...
...
@@ -116,10 +116,16 @@ func RunDescribe(f cmdutil.Factory, out, cmdErr io.Writer, cmd *cobra.Command, a
return
cmdutil
.
UsageErrorf
(
cmd
,
"Required resource not specified."
)
}
mapper
,
typer
,
err
:=
f
.
UnstructuredObject
()
if
err
!=
nil
{
return
err
}
// include the uninitialized objects by default
// unless user explicitly set --include-uninitialized=false
includeUninitialized
:=
cmdutil
.
ShouldIncludeUninitialized
(
cmd
,
true
)
r
:=
f
.
NewUnstructuredBuilder
()
.
r
:=
f
.
NewBuilder
()
.
Unstructured
(
f
.
UnstructuredClientForMapping
,
mapper
,
typer
)
.
ContinueOnError
()
.
NamespaceParam
(
cmdNamespace
)
.
DefaultNamespace
()
.
AllNamespaces
(
allNamespaces
)
.
FilenameParam
(
enforceNamespace
,
options
)
.
...
...
pkg/kubectl/cmd/diff.go
View file @
98e0c699
...
...
@@ -408,12 +408,18 @@ func RunDiff(f cmdutil.Factory, diff *DiffProgram, options *DiffOptions, from, t
printer
:=
Printer
{}
mapper
,
typer
,
err
:=
f
.
UnstructuredObject
()
if
err
!=
nil
{
return
err
}
cmdNamespace
,
enforceNamespace
,
err
:=
f
.
DefaultNamespace
()
if
err
!=
nil
{
return
err
}
r
:=
f
.
NewUnstructuredBuilder
()
.
r
:=
f
.
NewBuilder
()
.
Unstructured
(
f
.
UnstructuredClientForMapping
,
mapper
,
typer
)
.
NamespaceParam
(
cmdNamespace
)
.
DefaultNamespace
()
.
FilenameParam
(
enforceNamespace
,
&
options
.
FilenameOptions
)
.
Flatten
()
.
...
...
pkg/kubectl/cmd/label.go
View file @
98e0c699
...
...
@@ -191,25 +191,32 @@ func (o *LabelOptions) RunLabel(f cmdutil.Factory, cmd *cobra.Command) error {
changeCause
:=
f
.
Command
(
cmd
,
false
)
includeUninitialized
:=
cmdutil
.
ShouldIncludeUninitialized
(
cmd
,
false
)
var
b
*
resource
.
Builder
if
o
.
local
{
b
=
f
.
NewBuilder
()
.
Local
(
f
.
ClientForMapping
)
}
else
{
b
=
f
.
NewUnstructuredBuilder
()
.
LabelSelectorParam
(
o
.
selector
)
.
b
:=
f
.
NewBuilder
()
.
ContinueOnError
()
.
NamespaceParam
(
cmdNamespace
)
.
DefaultNamespace
()
.
FilenameParam
(
enforceNamespace
,
&
o
.
FilenameOptions
)
.
IncludeUninitialized
(
includeUninitialized
)
.
Flatten
()
if
!
o
.
local
{
// call this method here, as it requires an api call
// and will cause the command to fail when there is
// no connection to a server
mapper
,
typer
,
err
:=
f
.
UnstructuredObject
()
if
err
!=
nil
{
return
err
}
b
=
b
.
LabelSelectorParam
(
o
.
selector
)
.
Unstructured
(
f
.
UnstructuredClientForMapping
,
mapper
,
typer
)
.
ResourceTypeOrNameArgs
(
o
.
all
,
o
.
resources
...
)
.
Latest
()
}
else
{
b
=
b
.
Local
(
f
.
ClientForMapping
)
}
one
:=
false
r
:=
b
.
ContinueOnError
()
.
NamespaceParam
(
cmdNamespace
)
.
DefaultNamespace
()
.
FilenameParam
(
enforceNamespace
,
&
o
.
FilenameOptions
)
.
IncludeUninitialized
(
includeUninitialized
)
.
Flatten
()
.
Do
()
.
IntoSingleItemImplied
(
&
one
)
r
:=
b
.
Do
()
.
IntoSingleItemImplied
(
&
one
)
if
err
:=
r
.
Err
();
err
!=
nil
{
return
err
}
...
...
pkg/kubectl/cmd/patch.go
View file @
98e0c699
...
...
@@ -153,7 +153,13 @@ func RunPatch(f cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []strin
return
fmt
.
Errorf
(
"unable to parse %q: %v"
,
patch
,
err
)
}
r
:=
f
.
NewUnstructuredBuilder
()
.
mapper
,
typer
,
err
:=
f
.
UnstructuredObject
()
if
err
!=
nil
{
return
err
}
r
:=
f
.
NewBuilder
()
.
Unstructured
(
f
.
UnstructuredClientForMapping
,
mapper
,
typer
)
.
ContinueOnError
()
.
NamespaceParam
(
cmdNamespace
)
.
DefaultNamespace
()
.
FilenameParam
(
enforceNamespace
,
&
options
.
FilenameOptions
)
.
...
...
pkg/kubectl/cmd/replace.go
View file @
98e0c699
...
...
@@ -120,12 +120,13 @@ func RunReplace(f cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []str
return
fmt
.
Errorf
(
"--timeout must have --force specified"
)
}
mapper
,
_
,
err
:=
f
.
UnstructuredObject
()
mapper
,
typer
,
err
:=
f
.
UnstructuredObject
()
if
err
!=
nil
{
return
err
}
r
:=
f
.
NewUnstructuredBuilder
()
.
r
:=
f
.
NewBuilder
()
.
Unstructured
(
f
.
UnstructuredClientForMapping
,
mapper
,
typer
)
.
Schema
(
schema
)
.
ContinueOnError
()
.
NamespaceParam
(
cmdNamespace
)
.
DefaultNamespace
()
.
...
...
@@ -248,7 +249,8 @@ func forceReplace(f cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []s
return
err
}
r
=
f
.
NewUnstructuredBuilder
()
.
r
=
f
.
NewBuilder
()
.
Unstructured
(
f
.
UnstructuredClientForMapping
,
mapper
,
typer
)
.
Schema
(
schema
)
.
ContinueOnError
()
.
NamespaceParam
(
cmdNamespace
)
.
DefaultNamespace
()
.
...
...
pkg/kubectl/cmd/resource/get.go
View file @
98e0c699
...
...
@@ -232,7 +232,13 @@ func (options *GetOptions) Run(f cmdutil.Factory, cmd *cobra.Command, args []str
return
options
.
watch
(
f
,
cmd
,
args
)
}
r
:=
f
.
NewUnstructuredBuilder
()
.
mapper
,
typer
,
err
:=
f
.
UnstructuredObject
()
if
err
!=
nil
{
return
err
}
r
:=
f
.
NewBuilder
()
.
Unstructured
(
f
.
UnstructuredClientForMapping
,
mapper
,
typer
)
.
NamespaceParam
(
options
.
Namespace
)
.
DefaultNamespace
()
.
AllNamespaces
(
options
.
AllNamespaces
)
.
FilenameParam
(
options
.
ExplicitNamespace
,
&
options
.
FilenameOptions
)
.
LabelSelectorParam
(
options
.
LabelSelector
)
.
...
...
@@ -439,12 +445,18 @@ func (options *GetOptions) raw(f cmdutil.Factory) error {
// watch starts a client-side watch of one or more resources.
// TODO: remove the need for arguments here.
func
(
options
*
GetOptions
)
watch
(
f
cmdutil
.
Factory
,
cmd
*
cobra
.
Command
,
args
[]
string
)
error
{
mapper
,
typer
,
err
:=
f
.
UnstructuredObject
()
if
err
!=
nil
{
return
err
}
// TODO: this could be better factored
// include uninitialized objects when watching on a single object
// unless explicitly set --include-uninitialized=false
includeUninitialized
:=
cmdutil
.
ShouldIncludeUninitialized
(
cmd
,
len
(
args
)
==
2
)
r
:=
f
.
NewUnstructuredBuilder
()
.
r
:=
f
.
NewBuilder
()
.
Unstructured
(
f
.
UnstructuredClientForMapping
,
mapper
,
typer
)
.
NamespaceParam
(
options
.
Namespace
)
.
DefaultNamespace
()
.
AllNamespaces
(
options
.
AllNamespaces
)
.
FilenameParam
(
options
.
ExplicitNamespace
,
&
options
.
FilenameOptions
)
.
LabelSelectorParam
(
options
.
LabelSelector
)
.
...
...
@@ -456,7 +468,7 @@ func (options *GetOptions) watch(f cmdutil.Factory, cmd *cobra.Command, args []s
SingleResourceType
()
.
Latest
()
.
Do
()
err
:
=
r
.
Err
()
err
=
r
.
Err
()
if
err
!=
nil
{
return
err
}
...
...
pkg/kubectl/cmd/set/set_env.go
View file @
98e0c699
...
...
@@ -241,13 +241,13 @@ func (o *EnvOptions) RunEnv(f cmdutil.Factory) error {
FilenameParam
(
enforceNamespace
,
&
o
.
FilenameOptions
)
.
Flatten
()
if
o
.
Local
{
b
=
b
.
Local
(
f
.
ClientForMapping
)
}
else
{
if
!
o
.
Local
{
b
=
b
.
LabelSelectorParam
(
o
.
Selector
)
.
ResourceTypeOrNameArgs
(
o
.
All
,
o
.
From
)
.
Latest
()
}
else
{
b
=
b
.
Local
(
f
.
ClientForMapping
)
}
infos
,
err
:=
b
.
Do
()
.
Infos
()
...
...
@@ -309,13 +309,13 @@ func (o *EnvOptions) RunEnv(f cmdutil.Factory) error {
FilenameParam
(
enforceNamespace
,
&
o
.
FilenameOptions
)
.
Flatten
()
if
o
.
Local
{
b
=
b
.
Local
(
f
.
ClientForMapping
)
}
else
{
if
!
o
.
Local
{
b
=
b
.
LabelSelectorParam
(
o
.
Selector
)
.
ResourceTypeOrNameArgs
(
o
.
All
,
o
.
Resources
...
)
.
Latest
()
}
else
{
b
=
b
.
Local
(
f
.
ClientForMapping
)
}
o
.
Infos
,
err
=
b
.
Do
()
.
Infos
()
...
...
pkg/kubectl/cmd/set/set_image.go
View file @
98e0c699
...
...
@@ -149,7 +149,12 @@ func (o *ImageOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, args []st
IncludeUninitialized
(
includeUninitialized
)
.
Flatten
()
if
o
.
Local
{
if
!
o
.
Local
{
builder
=
builder
.
LabelSelectorParam
(
o
.
Selector
)
.
ResourceTypeOrNameArgs
(
o
.
All
,
o
.
Resources
...
)
.
Latest
()
}
else
{
// if a --local flag was provided, and a resource was specified in the form
// <resource>/<name>, fail immediately as --local cannot query the api server
// for the specified resource.
...
...
@@ -158,11 +163,6 @@ func (o *ImageOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, args []st
}
builder
=
builder
.
Local
(
f
.
ClientForMapping
)
}
else
{
builder
=
builder
.
LabelSelectorParam
(
o
.
Selector
)
.
ResourceTypeOrNameArgs
(
o
.
All
,
o
.
Resources
...
)
.
Latest
()
}
o
.
Infos
,
err
=
builder
.
Do
()
.
Infos
()
...
...
pkg/kubectl/cmd/set/set_resources.go
View file @
98e0c699
...
...
@@ -151,7 +151,12 @@ func (o *ResourcesOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, args
IncludeUninitialized
(
includeUninitialized
)
.
Flatten
()
if
o
.
Local
{
if
!
o
.
Local
{
builder
=
builder
.
LabelSelectorParam
(
o
.
Selector
)
.
ResourceTypeOrNameArgs
(
o
.
All
,
args
...
)
.
Latest
()
}
else
{
// if a --local flag was provided, and a resource was specified in the form
// <resource>/<name>, fail immediately as --local cannot query the api server
// for the specified resource.
...
...
@@ -160,11 +165,6 @@ func (o *ResourcesOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, args
}
builder
=
builder
.
Local
(
f
.
ClientForMapping
)
}
else
{
builder
=
builder
.
LabelSelectorParam
(
o
.
Selector
)
.
ResourceTypeOrNameArgs
(
o
.
All
,
args
...
)
.
Latest
()
}
o
.
Infos
,
err
=
builder
.
Do
()
.
Infos
()
...
...
pkg/kubectl/cmd/set/set_selector.go
View file @
98e0c699
...
...
@@ -135,7 +135,11 @@ func (o *SelectorOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, args [
IncludeUninitialized
(
includeUninitialized
)
.
Flatten
()
if
o
.
local
{
if
!
o
.
local
{
o
.
builder
=
o
.
builder
.
ResourceTypeOrNameArgs
(
o
.
all
,
o
.
resources
...
)
.
Latest
()
}
else
{
// if a --local flag was provided, and a resource was specified in the form
// <resource>/<name>, fail immediately as --local cannot query the api server
// for the specified resource.
...
...
@@ -144,10 +148,6 @@ func (o *SelectorOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, args [
}
o
.
builder
=
o
.
builder
.
Local
(
f
.
ClientForMapping
)
}
else
{
o
.
builder
=
o
.
builder
.
ResourceTypeOrNameArgs
(
o
.
all
,
o
.
resources
...
)
.
Latest
()
}
o
.
PrintObject
=
func
(
obj
runtime
.
Object
)
error
{
...
...
pkg/kubectl/cmd/set/set_subject.go
View file @
98e0c699
...
...
@@ -133,7 +133,12 @@ func (o *SubjectOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, args []
IncludeUninitialized
(
includeUninitialized
)
.
Flatten
()
if
o
.
Local
{
if
!
o
.
Local
{
builder
=
builder
.
LabelSelectorParam
(
o
.
Selector
)
.
ResourceTypeOrNameArgs
(
o
.
All
,
args
...
)
.
Latest
()
}
else
{
// if a --local flag was provided, and a resource was specified in the form
// <resource>/<name>, fail immediately as --local cannot query the api server
// for the specified resource.
...
...
@@ -142,11 +147,6 @@ func (o *SubjectOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, args []
}
builder
=
builder
.
Local
(
f
.
ClientForMapping
)
}
else
{
builder
=
builder
.
LabelSelectorParam
(
o
.
Selector
)
.
ResourceTypeOrNameArgs
(
o
.
All
,
args
...
)
.
Latest
()
}
o
.
Infos
,
err
=
builder
.
Do
()
.
Infos
()
...
...
pkg/kubectl/cmd/testing/BUILD
View file @
98e0c699
...
...
@@ -32,7 +32,6 @@ go_library(
"//vendor/k8s.io/api/core/v1:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/api/meta:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1/unstructured:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/runtime/schema:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/runtime/serializer:go_default_library",
...
...
pkg/kubectl/cmd/testing/fake.go
View file @
98e0c699
...
...
@@ -29,7 +29,6 @@ import (
"k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/api/meta"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/apimachinery/pkg/runtime/serializer"
...
...
@@ -522,19 +521,6 @@ func (f *FakeFactory) NewBuilder() *resource.Builder {
return
resource
.
NewBuilder
(
mapper
,
f
.
CategoryExpander
(),
typer
,
resource
.
ClientMapperFunc
(
f
.
ClientForMapping
),
f
.
Decoder
(
true
))
}
func
(
f
*
FakeFactory
)
NewUnstructuredBuilder
()
*
resource
.
Builder
{
mapper
,
typer
,
err
:=
f
.
UnstructuredObject
()
if
err
!=
nil
{
cmdutil
.
CheckErr
(
err
)
}
return
resource
.
NewBuilder
(
mapper
,
f
.
CategoryExpander
(),
typer
,
resource
.
ClientMapperFunc
(
f
.
UnstructuredClientForMapping
),
unstructured
.
UnstructuredJSONScheme
)
}
func
(
f
*
FakeFactory
)
DefaultResourceFilterOptions
(
cmd
*
cobra
.
Command
,
withNamespace
bool
)
*
printers
.
PrintOptions
{
return
&
printers
.
PrintOptions
{}
}
...
...
@@ -849,19 +835,6 @@ func (f *fakeAPIFactory) NewBuilder() *resource.Builder {
return
resource
.
NewBuilder
(
mapper
,
f
.
CategoryExpander
(),
typer
,
resource
.
ClientMapperFunc
(
f
.
ClientForMapping
),
f
.
Decoder
(
true
))
}
func
(
f
*
fakeAPIFactory
)
NewUnstructuredBuilder
()
*
resource
.
Builder
{
mapper
,
typer
,
err
:=
f
.
UnstructuredObject
()
if
err
!=
nil
{
cmdutil
.
CheckErr
(
err
)
}
return
resource
.
NewBuilder
(
mapper
,
f
.
CategoryExpander
(),
typer
,
resource
.
ClientMapperFunc
(
f
.
UnstructuredClientForMapping
),
unstructured
.
UnstructuredJSONScheme
)
}
func
(
f
*
fakeAPIFactory
)
SuggestedPodTemplateResources
()
[]
schema
.
GroupResource
{
return
[]
schema
.
GroupResource
{}
}
...
...
pkg/kubectl/cmd/util/editor/editoptions.go
View file @
98e0c699
...
...
@@ -107,12 +107,12 @@ func (o *EditOptions) Complete(f cmdutil.Factory, out, errOut io.Writer, args []
if
err
!=
nil
{
return
err
}
mapper
,
_
,
err
:=
f
.
UnstructuredObject
()
mapper
,
typer
,
err
:=
f
.
UnstructuredObject
()
if
err
!=
nil
{
return
err
}
b
:=
f
.
New
UnstructuredBuilder
(
)
b
:=
f
.
New
Builder
()
.
Unstructured
(
f
.
UnstructuredClientForMapping
,
mapper
,
typer
)
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,7 @@ 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
f
.
NewUnstructuredBuilder
(
)
.
return
resource
.
NewBuilder
(
mapper
,
f
.
CategoryExpander
(),
typer
,
resource
.
ClientMapperFunc
(
f
.
UnstructuredClientForMapping
),
unstructured
.
UnstructuredJSONScheme
)
.
Stream
(
bytes
.
NewReader
(
data
),
"edited-file"
)
.
IncludeUninitialized
(
includeUninitialized
)
.
ContinueOnError
()
.
...
...
pkg/kubectl/cmd/util/factory.go
View file @
98e0c699
...
...
@@ -251,10 +251,9 @@ type BuilderFactory interface {
PrintResourceInfoForCommand
(
cmd
*
cobra
.
Command
,
info
*
resource
.
Info
,
out
io
.
Writer
)
error
// PrintSuccess prints message after finishing mutating operations
PrintSuccess
(
mapper
meta
.
RESTMapper
,
shortOutput
bool
,
out
io
.
Writer
,
resource
,
name
string
,
dryRun
bool
,
operation
string
)
// One stop shopping for a structured Builder
// NewBuilder returns an object that assists in loading objects from both disk and the server
// and which implements the common patterns for CLI interactions with generic resources.
NewBuilder
()
*
resource
.
Builder
// One stop shopping for a unstructured Builder
NewUnstructuredBuilder
()
*
resource
.
Builder
// PluginLoader provides the implementation to be used to load cli plugins.
PluginLoader
()
plugins
.
PluginLoader
// PluginRunner provides the implementation to be used to run cli plugins.
...
...
pkg/kubectl/cmd/util/factory_builder.go
View file @
98e0c699
...
...
@@ -190,18 +190,6 @@ func (f *ring2Factory) NewBuilder() *resource.Builder {
return
resource
.
NewBuilder
(
mapper
,
categoryExpander
,
typer
,
clientMapperFunc
,
f
.
clientAccessFactory
.
Decoder
(
true
))
}
// NewUnstructuredBuilder returns a new resource builder for unstructured api objects.
func
(
f
*
ring2Factory
)
NewUnstructuredBuilder
()
*
resource
.
Builder
{
clientMapperFunc
:=
resource
.
ClientMapperFunc
(
f
.
objectMappingFactory
.
UnstructuredClientForMapping
)
mapper
,
typer
,
err
:=
f
.
objectMappingFactory
.
UnstructuredObject
()
if
err
!=
nil
{
CheckErr
(
err
)
}
categoryExpander
:=
f
.
objectMappingFactory
.
CategoryExpander
()
return
resource
.
NewBuilder
(
mapper
,
categoryExpander
,
typer
,
clientMapperFunc
,
unstructured
.
UnstructuredJSONScheme
)
}
// PluginLoader loads plugins from a path set by the KUBECTL_PLUGINS_PATH env var.
// If this env var is not set, it defaults to
// "~/.kube/plugins", plus
...
...
pkg/kubectl/resource/BUILD
View file @
98e0c699
...
...
@@ -29,6 +29,7 @@ go_library(
"//vendor/k8s.io/apimachinery/pkg/api/errors:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/api/meta:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1/unstructured:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/fields:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/labels:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library",
...
...
pkg/kubectl/resource/builder.go
View file @
98e0c699
...
...
@@ -26,6 +26,7 @@ import (
"k8s.io/apimachinery/pkg/api/meta"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
"k8s.io/apimachinery/pkg/labels"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema"
...
...
@@ -171,6 +172,17 @@ func (b *Builder) Local(mapperFunc ClientMapperFunc) *Builder {
return
b
}
// Unstructured updates the builder's ClientMapper, RESTMapper,
// ObjectTyper, and codec for working with unstructured api objects
func
(
b
*
Builder
)
Unstructured
(
mapperFunc
ClientMapperFunc
,
mapper
meta
.
RESTMapper
,
typer
runtime
.
ObjectTyper
)
*
Builder
{
b
.
mapper
.
RESTMapper
=
mapper
b
.
mapper
.
ObjectTyper
=
typer
b
.
mapper
.
Decoder
=
unstructured
.
UnstructuredJSONScheme
b
.
mapper
.
ClientMapper
=
ClientMapperFunc
(
mapperFunc
)
return
b
}
// URL accepts a number of URLs directly.
func
(
b
*
Builder
)
URL
(
httpAttemptCount
int
,
urls
...*
url
.
URL
)
*
Builder
{
for
_
,
u
:=
range
urls
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment