pulumi/pkg/backend/display/options.go
Luke Hoban 25206c5ea8 Add an experimental pulumi watch command (#3391)
Adds a new experimental `pulumi watch` CLI command which can be used for inner loop development on a Pulumi stack.  This command is only available currently via `PULUMI_EXPERIMENTAL=true` while in active development.

The `watch` command does the following:
1. Watches the workspace (the tree rooted at the `Pulumi.yaml` file) for changes
2. Triggers an `update` to the stack whenever there is a change
3. Streams output containing summaries of key update events as well as logs from any resources under management into a combined CLI output

Part of https://github.com/pulumi/pulumi/issues/3448.

The PULUMI_EXPERIMENTAL flag also makes`query` and `policy` available.
2019-11-06 12:56:29 -08:00

48 lines
2.1 KiB
Go

// Copyright 2016-2018, Pulumi Corporation.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package display
import "github.com/pulumi/pulumi/pkg/diag/colors"
// Type of output to display.
type Type int
const (
// DisplayProgress displays an update as it progresses.
DisplayProgress Type = iota
// DisplayDiff displays a rich diff.
DisplayDiff
// DisplayQuery displays query output.
DisplayQuery
// DisplayQuery displays query output.
DisplayWatch
)
// Options controls how the output of events are rendered
type Options struct {
Color colors.Colorization // colorization to apply to events.
ShowConfig bool // true if we should show configuration information.
ShowReplacementSteps bool // true to show the replacement steps in the plan.
ShowSameResources bool // true to show the resources that aren't updated in addition to updates.
ShowReads bool // true to show resources that are being read in
SuppressOutputs bool // true to suppress output summarization, e.g. if contains sensitive info.
SummaryDiff bool // true if diff display should be summarized.
IsInteractive bool // true if we should display things interactively.
Type Type // type of display (rich diff, progress, or query).
JSONDisplay bool // true if we should emit the entire diff as JSON.
EventLogPath string // the path to the file to use for logging events, if any.
Debug bool // true to enable debug output.
}