mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-09-14 13:45:06 +00:00
don't reuse resource builder in describe
This commit is contained in:
@@ -73,8 +73,8 @@ type DescribeOptions struct {
|
||||
Selector string
|
||||
Namespace string
|
||||
|
||||
Describer func(*meta.RESTMapping) (printers.Describer, error)
|
||||
Builder *resource.Builder
|
||||
Describer func(*meta.RESTMapping) (printers.Describer, error)
|
||||
NewBuilder func() *resource.Builder
|
||||
|
||||
BuilderArgs []string
|
||||
|
||||
@@ -141,7 +141,7 @@ func (o *DescribeOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, args [
|
||||
o.BuilderArgs = args
|
||||
|
||||
o.Describer = f.Describer
|
||||
o.Builder = f.NewBuilder()
|
||||
o.NewBuilder = f.NewBuilder
|
||||
|
||||
// include the uninitialized objects by default
|
||||
// unless user explicitly set --include-uninitialized=false
|
||||
@@ -154,7 +154,7 @@ func (o *DescribeOptions) Validate(args []string) error {
|
||||
}
|
||||
|
||||
func (o *DescribeOptions) Run() error {
|
||||
r := o.Builder.
|
||||
r := o.NewBuilder().
|
||||
Unstructured().
|
||||
ContinueOnError().
|
||||
NamespaceParam(o.Namespace).DefaultNamespace().AllNamespaces(o.AllNamespaces).
|
||||
@@ -212,7 +212,7 @@ func (o *DescribeOptions) Run() error {
|
||||
}
|
||||
|
||||
func (o *DescribeOptions) DescribeMatchingResources(originalError error, resource, prefix string) error {
|
||||
r := o.Builder.
|
||||
r := o.NewBuilder().
|
||||
Unstructured().
|
||||
NamespaceParam(o.Namespace).DefaultNamespace().
|
||||
ResourceTypeOrNameArgs(true, resource).
|
||||
|
@@ -198,7 +198,7 @@ func (b *Builder) Unstructured() *Builder {
|
||||
b.errs = append(b.errs, fmt.Errorf("no unstructured mapper provided"))
|
||||
return b
|
||||
}
|
||||
if b.mapper != nil {
|
||||
if b.mapper != nil && b.mapper != b.unstructured {
|
||||
b.errs = append(b.errs, fmt.Errorf("another mapper was already selected, cannot use unstructured types"))
|
||||
return b
|
||||
}
|
||||
@@ -219,7 +219,7 @@ func (b *Builder) Internal(typer runtime.ObjectTyper) *Builder {
|
||||
b.errs = append(b.errs, fmt.Errorf("no internal mapper provided"))
|
||||
return b
|
||||
}
|
||||
if b.mapper != nil {
|
||||
if b.mapper != nil && b.mapper != b.internal {
|
||||
b.errs = append(b.errs, fmt.Errorf("another mapper was already selected, cannot use internal types"))
|
||||
return b
|
||||
}
|
||||
|
Reference in New Issue
Block a user