Documentation ¶
Overview ¶
Example (Watch_help) ¶
package main import ( "os" "github.com/aws-cloudformation/rain/internal/cmd/watch" ) func main() { os.Args = []string{ os.Args[0], "--help", } watch.Cmd.Execute() }
Output: Repeatedly displays the status of a CloudFormation stack. Useful for watching the progress of a deployment started from outside of Rain. Usage: watch <stack> Flags: -h, --help help for watch -w, --wait wait for changes to begin rather than refusing to watch an unchanging stack
Index ¶
Examples ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var Cmd = &cobra.Command{ Use: "watch <stack>", Short: "Display an updating view of a CloudFormation stack", Long: "Repeatedly displays the status of a CloudFormation stack. Useful for watching the progress of a deployment started from outside of Rain.", Args: cobra.ExactArgs(1), DisableFlagsInUseLine: true, Run: func(cmd *cobra.Command, args []string) { stackName := args[0] first := true for { if first { spinner.Push("Fetching stack status") } stack, err := cfn.GetStack(stackName) if err != nil { panic(ui.Errorf(err, "error watching stack '%s'", stackName)) } if !cfn.StackHasSettled(stack) { break } if !waitThenWatch { status, _ := cfn.GetStackOutput(stack) fmt.Println(status) panic(errors.New("not watching unchanging stack")) } if first { spinner.Pop() spinner.Push("Waiting for stack to begin changing") first = false } time.Sleep(time.Second * cfn.WaitPeriodInSeconds) } spinner.Pop() status, messages := cfn.WaitForStackToSettle(stackName) fmt.Println("Final stack status:", ui.ColouriseStatus(status)) if len(messages) > 0 { fmt.Println(console.Yellow("Messages:")) for _, message := range messages { fmt.Printf(" - %s\n", message) } } }, }
Cmd is the watch command's entrypoint
Functions ¶
This section is empty.
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.