(target defaultsTarget, outputFile string)
| 208 | } |
| 209 | |
| 210 | func defaultsGetToFile(target defaultsTarget, outputFile string) error { |
| 211 | envCmdLog.Printf("Getting defaults to file: scope=%s, output=%s", target.scope, outputFile) |
| 212 | var file defaultsFile |
| 213 | |
| 214 | for _, binding := range defaultsBindings { |
| 215 | value, err := fetchDefaultsVariable(target, binding.envName) |
| 216 | if err != nil { |
| 217 | return err |
| 218 | } |
| 219 | if value != "" { |
| 220 | v := value |
| 221 | *binding.get(&file) = &v |
| 222 | } |
| 223 | // nil (variable not set) serializes as null in YAML |
| 224 | } |
| 225 | |
| 226 | data, err := yaml.Marshal(&file) |
| 227 | if err != nil { |
| 228 | return fmt.Errorf("failed to serialize defaults YAML: %w", err) |
| 229 | } |
| 230 | if err := os.WriteFile(outputFile, data, constants.FilePermPublic); err != nil { |
| 231 | return fmt.Errorf("failed to write defaults file %q: %w", outputFile, err) |
| 232 | } |
| 233 | fmt.Fprintln(os.Stderr, console.FormatSuccessMessage("Saved defaults to "+outputFile)) |
| 234 | return nil |
| 235 | } |
| 236 | |
| 237 | func defaultsUpdateFromFile(target defaultsTarget, inputFile string, skipConfirmation, dryRun bool) error { |
| 238 | envCmdLog.Printf("Updating defaults from file: scope=%s, input=%s, dryRun=%t", target.scope, inputFile, dryRun) |
no test coverage detected