check for concreteness in specialized types
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
This commit is contained in:
@@ -60,6 +60,21 @@ var listCmd = &cobra.Command{
|
||||
isConcrete := (inp.IsConcreteR() == nil)
|
||||
_, hasDefault := inp.Default()
|
||||
|
||||
switch {
|
||||
case env.Context().Secrets.Contains(inp):
|
||||
if _, err := env.Context().Secrets.FromValue(inp); err != nil {
|
||||
isConcrete = false
|
||||
}
|
||||
case env.Context().FS.Contains(inp):
|
||||
if _, err := env.Context().FS.FromValue(inp); err != nil {
|
||||
isConcrete = false
|
||||
}
|
||||
case env.Context().Services.Contains(inp):
|
||||
if _, err := env.Context().Services.FromValue(inp); err != nil {
|
||||
isConcrete = false
|
||||
}
|
||||
}
|
||||
|
||||
if !viper.GetBool("all") {
|
||||
// skip input that is not overridable
|
||||
if !hasDefault && isConcrete {
|
||||
|
@@ -140,7 +140,23 @@ func checkInputs(ctx context.Context, env *environment.Environment) error {
|
||||
}
|
||||
|
||||
for _, i := range inputs {
|
||||
if i.IsConcreteR(cue.Optional(true)) != nil {
|
||||
isConcrete := (i.IsConcreteR(cue.Optional(true)) == nil)
|
||||
switch {
|
||||
case env.Context().Secrets.Contains(i):
|
||||
if _, err := env.Context().Secrets.FromValue(i); err != nil {
|
||||
isConcrete = false
|
||||
}
|
||||
case env.Context().FS.Contains(i):
|
||||
if _, err := env.Context().FS.FromValue(i); err != nil {
|
||||
isConcrete = false
|
||||
}
|
||||
case env.Context().Services.Contains(i):
|
||||
if _, err := env.Context().Services.FromValue(i); err != nil {
|
||||
isConcrete = false
|
||||
}
|
||||
}
|
||||
|
||||
if !isConcrete {
|
||||
notConcreteInputs = append(notConcreteInputs, i)
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user