package hmsecrets import ( "encoding/json" "fmt" "os" "github.com/spf13/cobra" ) var arrValue []string var arrFile string func init() { rootCmd.AddCommand(setArrCmd) setArrCmd.Flags().StringArrayVarP( &arrValue, "value", "v", nil, "array value to store in the secret", ) setArrCmd.Flags().StringVarP( &arrFile, "value-file", "f", "", "file that contains the secret value (in json) to set", ) setArrCmd.MarkFlagsOneRequired("value-file", "value") } var setArrCmd = &cobra.Command{ Use: "set-array", Short: "set-array [key]", Args: cobra.ExactArgs(1), RunE: func(cmd *cobra.Command, args []string) error { cli := getClient() if arrFile != "" { arrJSONBytes, err := os.ReadFile(arrFile) if err != nil { return fmt.Errorf("reading array value file: %w", err) } err = json.Unmarshal(arrJSONBytes, &arrValue) if err != nil { return fmt.Errorf("reading value from array file: %w", err) } } err := cli.PutStringArr(args[0], arrValue) if err != nil { return err } return nil }, }