mirror of
https://github.com/opentofu/opentofu.git
synced 2024-12-28 18:01:01 -06:00
4fa77727b5
* Add metadata functions command skeleton * Export functions as JSON via cli command * Add metadata command * Add tests to jsonfunction package * WIP: Add metadata functions test * Change return_type & type in JSON to json.RawMessage This enables easier deserialisation of types when parsing the JSON. * Skip is_nullable when false * Update cli docs with metadata command * Use tfdiags to report function marshal errors * Ignore map, list and type functions * Test Marshal function with diags * Test metadata functions command output * Simplify type marshaling by using cty.Type * Add static function signatures for can and try * Update internal/command/jsonfunction/function_test.go Co-authored-by: kmoe <5575356+kmoe@users.noreply.github.com> --------- Co-authored-by: kmoe <5575356+kmoe@users.noreply.github.com>
32 lines
615 B
Go
32 lines
615 B
Go
package command
|
|
|
|
import (
|
|
"strings"
|
|
|
|
"github.com/mitchellh/cli"
|
|
)
|
|
|
|
// MetadataCommand is a Command implementation that just shows help for
|
|
// the subcommands nested below it.
|
|
type MetadataCommand struct {
|
|
Meta
|
|
}
|
|
|
|
func (c *MetadataCommand) Run(args []string) int {
|
|
return cli.RunResultHelp
|
|
}
|
|
|
|
func (c *MetadataCommand) Help() string {
|
|
helpText := `
|
|
Usage: terraform [global options] metadata <subcommand> [options] [args]
|
|
|
|
This command has subcommands for metadata related purposes.
|
|
|
|
`
|
|
return strings.TrimSpace(helpText)
|
|
}
|
|
|
|
func (c *MetadataCommand) Synopsis() string {
|
|
return "Metadata related commands"
|
|
}
|