From e389b2723e6af29a9f70509fe8ff6e5121c30681 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arda=20G=C3=BC=C3=A7l=C3=BC?= Date: Wed, 1 Jun 2022 14:01:40 +0300 Subject: [PATCH] Validate dry-run and force flags can not be used same time in replace This PR adds validation to check that `dry-run` and `force` flags are not used at the same time. Because when `force` flag is set, `dry-run` is discarded and objects are replaced already. --- staging/src/k8s.io/kubectl/pkg/cmd/replace/replace.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/staging/src/k8s.io/kubectl/pkg/cmd/replace/replace.go b/staging/src/k8s.io/kubectl/pkg/cmd/replace/replace.go index 37478fd5f98..0377369cccf 100644 --- a/staging/src/k8s.io/kubectl/pkg/cmd/replace/replace.go +++ b/staging/src/k8s.io/kubectl/pkg/cmd/replace/replace.go @@ -227,6 +227,10 @@ func (o *ReplaceOptions) Validate() error { return fmt.Errorf("--timeout must have --force specified") } + if o.DeleteOptions.ForceDeletion && o.DryRunStrategy != cmdutil.DryRunNone { + return fmt.Errorf("dry-run can not be used when --force is set") + } + if cmdutil.IsFilenameSliceEmpty(o.DeleteOptions.FilenameOptions.Filenames, o.DeleteOptions.FilenameOptions.Kustomize) { return fmt.Errorf("Must specify --filename to replace") }