diff --git a/kustomize/commands/build/build.go b/kustomize/commands/build/build.go index 5914f8959..6ceac85da 100644 --- a/kustomize/commands/build/build.go +++ b/kustomize/commands/build/build.go @@ -105,9 +105,11 @@ func NewCmdBuild( AddFlagOutputPath(cmd.Flags()) AddFunctionBasicsFlags(cmd.Flags()) AddFlagLoadRestrictor(cmd.Flags()) + AddFlagLoadRestrictorCompletion(cmd) AddFlagEnablePlugins(cmd.Flags()) AddFlagReorderOutput(cmd.Flags()) AddFlagEnableManagedbyLabel(cmd.Flags()) + msg := "Error marking flag '%s' as deprecated: %v" err := cmd.Flags().MarkDeprecated(flagReorderOutputName, "use the new 'sortOptions' field in kustomization.yaml instead.") diff --git a/kustomize/commands/build/flagloadrestrictor.go b/kustomize/commands/build/flagloadrestrictor.go index 928a53075..389819ab8 100644 --- a/kustomize/commands/build/flagloadrestrictor.go +++ b/kustomize/commands/build/flagloadrestrictor.go @@ -6,6 +6,7 @@ package build import ( "fmt" + "github.com/spf13/cobra" "github.com/spf13/pflag" "sigs.k8s.io/kustomize/api/types" ) @@ -23,6 +24,15 @@ func AddFlagLoadRestrictor(set *pflag.FlagSet) { "relocatability of the kustomization.") } +func AddFlagLoadRestrictorCompletion(cmd *cobra.Command) { + cmd.RegisterFlagCompletionFunc(flagLoadRestrictorName, func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { + return []string{ + types.LoadRestrictionsNone.String(), + types.LoadRestrictionsRootOnly.String(), + }, cobra.ShellCompDirectiveNoFileComp + }) +} + func validateFlagLoadRestrictor() error { switch theFlags.loadRestrictor { case types.LoadRestrictionsRootOnly.String(),