/
githubmirror
/
terraform
Обзор
Документация
Войти
/
githubmirror
/
terraform
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
internal/command/arguments/show.go
65 строк
1 KB
Daniel Banck
Fix import and show command
04 мар 2026, 13:45
04 мар 2026, 13:45
5a70c42
Код
Авторство
О чём код?
// Copyright IBM Corp. 2014, 2026 // SPDX-License-Identifier: BUSL-1.1 package arguments import ( "github.com/hashicorp/terraform/internal/tfdiags" ) // Show represents the command-line arguments for the show command. type Show struct { // Path is the path to the state file or plan file to be displayed. If // unspecified, show will display the latest state snapshot. Path string // ViewType specifies which output format to use: human, JSON, or "raw". ViewType ViewType Vars *Vars } // ParseShow processes CLI arguments, returning a Show value and errors. // If errors are encountered, a Show value is still returned representing // the best effort interpretation of the arguments. func ParseShow(args []string) (*Show, tfdiags.Diagnostics) { var diags tfdiags.Diagnostics show := &Show{ Path: "", Vars: &Vars{}, } var jsonOutput bool cmdFlags := extendedFlagSet("show", nil, nil, show.Vars) cmdFlags.BoolVar(&jsonOutput, "json", false, "json") if err := cmdFlags.Parse(args); err != nil { diags = diags.Append(tfdiags.Sourceless( tfdiags.Error, "Failed to parse command-line flags", err.Error(), )) } args = cmdFlags.Args() if len(args) > 1 { diags = diags.Append(tfdiags.Sourceless( tfdiags.Error, "Too many command line arguments", "Expected at most one positional argument.", )) } if len(args) > 0 { show.Path = args[0] } switch { case jsonOutput: show.ViewType = ViewJSON default: show.ViewType = ViewHuman } return show, diags }