mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-06-11 17:12:51 +00:00
67 lines
1.6 KiB
Go
67 lines
1.6 KiB
Go
// Copyright 2019 The Kubernetes Authors.
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
package commands
|
|
|
|
import (
|
|
"github.com/spf13/cobra"
|
|
"sigs.k8s.io/kustomize/cmd/config/ext"
|
|
"sigs.k8s.io/kustomize/cmd/config/internal/generateddocs/commands"
|
|
"sigs.k8s.io/kustomize/kyaml/fieldmeta"
|
|
"sigs.k8s.io/kustomize/kyaml/openapi"
|
|
"sigs.k8s.io/kustomize/kyaml/setters2/settersutil"
|
|
)
|
|
|
|
// NewDeleteRunner returns a command runner.
|
|
func NewDeleteSetterRunner(parent string) *DeleteSetterRunner {
|
|
r := &DeleteSetterRunner{}
|
|
c := &cobra.Command{
|
|
Use: "delete-setter DIR NAME",
|
|
Args: cobra.ExactArgs(2),
|
|
Short: commands.DeleteSetterShort,
|
|
Long: commands.DeleteSetterLong,
|
|
Example: commands.DeleteSetterExamples,
|
|
PreRunE: r.preRunE,
|
|
RunE: r.runE,
|
|
}
|
|
fixDocs(parent, c)
|
|
r.Command = c
|
|
|
|
return r
|
|
}
|
|
|
|
func DeleteSetterCommand(parent string) *cobra.Command {
|
|
return NewDeleteSetterRunner(parent).Command
|
|
}
|
|
|
|
type DeleteSetterRunner struct {
|
|
Command *cobra.Command
|
|
DeleteSetter settersutil.DeleterCreator
|
|
OpenAPIFile string
|
|
}
|
|
|
|
func (r *DeleteSetterRunner) preRunE(c *cobra.Command, args []string) error {
|
|
var err error
|
|
r.DeleteSetter.Name = args[1]
|
|
r.DeleteSetter.DefinitionPrefix = fieldmeta.SetterDefinitionPrefix
|
|
|
|
r.OpenAPIFile, err = ext.GetOpenAPIFile(args)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
if err := openapi.AddSchemaFromFile(r.OpenAPIFile); err != nil {
|
|
return err
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
func (r *DeleteSetterRunner) runE(c *cobra.Command, args []string) error {
|
|
return handleError(c, r.delete(c, args))
|
|
}
|
|
|
|
func (r *DeleteSetterRunner) delete(c *cobra.Command, args []string) error {
|
|
return r.DeleteSetter.Delete(r.OpenAPIFile, args[0])
|
|
}
|