Skip to content

Commit

Permalink
Allow for persistent and non-persistent flags in connector configuration
Browse files Browse the repository at this point in the history
  • Loading branch information
shackra committed Sep 23, 2024
1 parent f053e93 commit b6190fe
Showing 1 changed file with 38 additions and 6 deletions.
44 changes: 38 additions & 6 deletions pkg/config/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,10 @@ func setFlagsAndConstraints(command *cobra.Command, schema field.Configuration)
err,
)
}
if !field.Persistent {
if field.Persistent {
command.PersistentFlags().
BoolP(field.FieldName, field.CLIShortHand, value, field.GetDescription())
} else {
command.Flags().
BoolP(field.FieldName, field.CLIShortHand, value, field.GetDescription())
}
Expand All @@ -195,7 +198,10 @@ func setFlagsAndConstraints(command *cobra.Command, schema field.Configuration)
err,
)
}
if !field.Persistent {
if field.Persistent {
command.PersistentFlags().
IntP(field.FieldName, field.CLIShortHand, value, field.GetDescription())
} else {
command.Flags().
IntP(field.FieldName, field.CLIShortHand, value, field.GetDescription())
}
Expand All @@ -209,7 +215,10 @@ func setFlagsAndConstraints(command *cobra.Command, schema field.Configuration)
err,
)
}
if !field.Persistent {
if field.Persistent {
command.PersistentFlags().
StringP(field.FieldName, field.CLIShortHand, value, field.GetDescription())
} else {
command.Flags().
StringP(field.FieldName, field.CLIShortHand, value, field.GetDescription())
}
Expand All @@ -223,7 +232,10 @@ func setFlagsAndConstraints(command *cobra.Command, schema field.Configuration)
err,
)
}
if !field.Persistent {
if field.Persistent {
command.PersistentFlags().
StringSliceP(field.FieldName, field.CLIShortHand, value, field.GetDescription())
} else {
command.Flags().
StringSliceP(field.FieldName, field.CLIShortHand, value, field.GetDescription())
}
Expand All @@ -237,7 +249,17 @@ func setFlagsAndConstraints(command *cobra.Command, schema field.Configuration)

// mark hidden
if field.Hidden {
if !field.Persistent {
if field.Persistent {
err := command.PersistentFlags().MarkHidden(field.FieldName)
if err != nil {
return fmt.Errorf(
"cannot hide persistent field %s, %s: %w",
field.FieldName,
field.FieldType,
err,
)
}
} else {
err := command.Flags().MarkHidden(field.FieldName)
if err != nil {
return fmt.Errorf(
Expand All @@ -256,7 +278,17 @@ func setFlagsAndConstraints(command *cobra.Command, schema field.Configuration)
return fmt.Errorf("requiring %s of type %s does not make sense", field.FieldName, field.FieldType)
}

if !field.Persistent {
if field.Persistent {
err := command.MarkPersistentFlagRequired(field.FieldName)
if err != nil {
return fmt.Errorf(
"cannot require persistent field %s, %s: %w",
field.FieldName,
field.FieldType,
err,
)
}
} else {
err := command.MarkFlagRequired(field.FieldName)
if err != nil {
return fmt.Errorf(
Expand Down

0 comments on commit b6190fe

Please sign in to comment.