pulumi/pkg/backend/display/options.go
Alex Clemmer 5ce46e2882 Add display mode for pulumi query
The Pulumi CLI currently has two "display modes" -- one for rendering
diffs and one for rendering program updates. Neither of these is
particularly well-suited to `pulumi query`, which essentially needs to
render stdout from the query program verbatim.

This commit will add a separate display mode for this purpose:

* In interactive mode, `pulumi query` will use the display spinner to
  say "running query". In non-interactive mode, this will be omitted.
* Query mode will print stdout from the query program verbatim, but
  ignore `diag.Infoerr` so that they're not double-printed when they're
  emitted again as error events.
* Query mode also does not double-print newlines at the end of diag
  events.
2019-05-02 18:08:08 -07:00

44 lines
1.9 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
)
// 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.
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.
Debug bool // true to enable debug output.
}