Documentation ¶
Overview ¶
Example (Fmt_help) ¶
package main import ( "os" "github.com/aws-cloudformation/rain/internal/cmd/fmt" ) func main() { os.Args = []string{ os.Args[0], "../../../test/templates/success.template", } fmt.Cmd.Execute() }
Output: Description: This template succeeds Parameters: BucketName: Type: String Resources: Bucket1: Type: AWS::S3::Bucket Properties: BucketName: !Ref BucketName
Index ¶
Examples ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var Cmd = &cobra.Command{ Use: "fmt <filename>...", Aliases: []string{"format"}, Short: "Format CloudFormation templates", Long: "Reads CloudFormation templates from filename arguments (or stdin if no filenames are supplied) and formats them", DisableFlagsInUseLine: true, Run: func(cmd *cobra.Command, args []string) { var results []result if len(args) == 0 { stat, err := os.Stdin.Stat() if err != nil { panic(ui.Errorf(err, "unable to open stdin")) } if stat.Mode()&os.ModeNamedPipe == 0 && stat.Size() == 0 { fmt.Println("CAKES") panic(cmd.Help()) } writeFlag = false results = []result{ formatReader("<stdin>", os.Stdin), } } else { results = make([]result, len(args)) for i, filename := range args { results[i] = formatFile(filename) } } hasErr := false for i, res := range results { if res.err != nil { fmt.Fprintln(os.Stderr, console.Red(res.err)) hasErr = true break } if verifyFlag { if res.ok { fmt.Println(console.Green(fmt.Sprintf("%s: formatted OK", res.name))) } else { fmt.Fprintln(os.Stderr, console.Red(fmt.Sprintf("%s: would reformat", res.name))) hasErr = true } } else if writeFlag { os.WriteFile(res.name, []byte(res.output), 0644) } else { if len(args) > 1 { fmt.Printf("--- # %s\n", res.name) } fmt.Print(res.output) if len(args) > 1 && i == len(args)-1 { fmt.Println("...") } } } if hasErr { os.Exit(1) } }, }
Cmd is the fmt command's entrypoint
Functions ¶
This section is empty.
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.