Our recent changes to colorization changed from a boolean to a tri-valued enum (Always, Never, Raw). The events from the service, however, are still boolean-valued. This changes the message payload to carry the full values.
92 lines
3.2 KiB
Go
92 lines
3.2 KiB
Go
// Copyright 2016-2017, Pulumi Corporation. All rights reserved.
|
|
|
|
package cmd
|
|
|
|
import (
|
|
"github.com/spf13/cobra"
|
|
|
|
"github.com/pulumi/pulumi/pkg/engine"
|
|
"github.com/pulumi/pulumi/pkg/tokens"
|
|
"github.com/pulumi/pulumi/pkg/util/cmdutil"
|
|
)
|
|
|
|
func newPreviewCmd() *cobra.Command {
|
|
var analyzers []string
|
|
var debug bool
|
|
var stack string
|
|
var parallel int
|
|
var showConfig bool
|
|
var showReplacementSteps bool
|
|
var showSames bool
|
|
var summary bool
|
|
var color string
|
|
var cmd = &cobra.Command{
|
|
Use: "preview",
|
|
Aliases: []string{"pre"},
|
|
SuggestFor: []string{"build", "plan"},
|
|
Short: "Show a preview of updates to an stack's resources",
|
|
Long: "Show a preview of updates an stack's resources\n" +
|
|
"\n" +
|
|
"This command displays a preview of the updates to an existing stack whose state is\n" +
|
|
"represented by an existing snapshot file. The new desired state is computed by compiling\n" +
|
|
"and evaluating an executable package, and extracting all resource allocations from its\n" +
|
|
"resulting object graph. These allocations are then compared against the existing state to\n" +
|
|
"determine what operations must take place to achieve the desired state. No changes to the\n" +
|
|
"stack will actually take place.\n" +
|
|
"\n" +
|
|
"The package to execute is loaded from the current directory. Use the `-C` or `--cwd` flag to\n" +
|
|
"use a different directory.",
|
|
Args: cmdutil.NoArgs,
|
|
Run: cmdutil.RunFunc(func(cmd *cobra.Command, args []string) error {
|
|
s, err := requireStack(tokens.QName(stack))
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
col, err := parseColorization(debug, color)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
return s.Preview(debug, engine.PreviewOptions{
|
|
Analyzers: analyzers,
|
|
Parallel: parallel,
|
|
ShowConfig: showConfig,
|
|
ShowReplacementSteps: showReplacementSteps,
|
|
ShowSames: showSames,
|
|
Summary: summary,
|
|
Color: col,
|
|
})
|
|
}),
|
|
}
|
|
|
|
cmd.PersistentFlags().StringSliceVar(
|
|
&analyzers, "analyzer", []string{},
|
|
"Run one or more analyzers as part of this preview")
|
|
cmd.PersistentFlags().BoolVarP(
|
|
&debug, "debug", "d", false,
|
|
"Print detailed debugging output during resource operations")
|
|
cmd.PersistentFlags().StringVarP(
|
|
&stack, "stack", "s", "",
|
|
"Choose an stack other than the currently selected one")
|
|
cmd.PersistentFlags().IntVarP(
|
|
¶llel, "parallel", "p", 0,
|
|
"Allow P resource operations to run in parallel at once (<=1 for no parallelism)")
|
|
cmd.PersistentFlags().BoolVar(
|
|
&showConfig, "show-config", false,
|
|
"Show configuration keys and variables")
|
|
cmd.PersistentFlags().BoolVar(
|
|
&showReplacementSteps, "show-replacement-steps", false,
|
|
"Show detailed resource replacement creates and deletes instead of a single step")
|
|
cmd.PersistentFlags().BoolVar(
|
|
&showSames, "show-sames", false,
|
|
"Show resources that needn't be updated because they haven't changed, alongside those that do")
|
|
cmd.PersistentFlags().BoolVar(
|
|
&summary, "summary", false,
|
|
"Only display summarization of resources and operations")
|
|
cmd.PersistentFlags().StringVar(
|
|
&color, "color", "auto",
|
|
"Colorize output. Choices are: always, never, raw, auto")
|
|
|
|
return cmd
|
|
}
|