mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-06-12 01:14:22 +00:00
Throw insufficient arguments error for create-setter
This commit is contained in:
@@ -100,12 +100,16 @@ func (r *CreateSetterRunner) preRunE(c *cobra.Command, args []string) error {
|
|||||||
if setterVersion == "" {
|
if setterVersion == "" {
|
||||||
if len(args) == 2 && r.Set.SetPartialField.Type == "array" && c.Flag("field").Changed {
|
if len(args) == 2 && r.Set.SetPartialField.Type == "array" && c.Flag("field").Changed {
|
||||||
setterVersion = "v2"
|
setterVersion = "v2"
|
||||||
} else if len(args) < 2 || !c.Flag("value").Changed && len(args) < 3 {
|
|
||||||
setterVersion = "v1"
|
|
||||||
} else if err := initSetterVersion(c, args); err != nil {
|
} else if err := initSetterVersion(c, args); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if r.Set.SetPartialField.Type != "array" && !c.Flag("value").Changed && len(args) < 3 {
|
||||||
|
return errors.Errorf("setter name and value must be provided, " +
|
||||||
|
"value can either be an argument or can be passed as a flag --value")
|
||||||
|
}
|
||||||
|
|
||||||
if setterVersion == "v2" {
|
if setterVersion == "v2" {
|
||||||
var err error
|
var err error
|
||||||
r.OpenAPIFile, err = ext.GetOpenAPIFile(args)
|
r.OpenAPIFile, err = ext.GetOpenAPIFile(args)
|
||||||
|
|||||||
@@ -166,6 +166,36 @@ spec:
|
|||||||
`,
|
`,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
name: "add replicas not enough arguments",
|
||||||
|
args: []string{"replicas", "--description", "hello world", "--set-by", "me"},
|
||||||
|
err: `setter name and value must be provided, value can either be an argument or can be passed as a flag --value`,
|
||||||
|
input: `
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: nginx-deployment
|
||||||
|
spec:
|
||||||
|
replicas: 3
|
||||||
|
`,
|
||||||
|
inputOpenAPI: `
|
||||||
|
apiVersion: v1alpha1
|
||||||
|
kind: Example
|
||||||
|
`,
|
||||||
|
expectedOpenAPI: `
|
||||||
|
apiVersion: v1alpha1
|
||||||
|
kind: Example
|
||||||
|
`,
|
||||||
|
expectedResources: `
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: nginx-deployment
|
||||||
|
spec:
|
||||||
|
replicas: 3
|
||||||
|
`,
|
||||||
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
name: "list values with schema",
|
name: "list values with schema",
|
||||||
args: []string{"list", "--description", "hello world", "--set-by", "me", "--type", "array", "--field", "spec.list"},
|
args: []string{"list", "--description", "hello world", "--set-by", "me", "--type", "array", "--field", "spec.list"},
|
||||||
|
|||||||
Reference in New Issue
Block a user