terraform-provider-gitea/vendor/github.com/hashicorp/terraform-exec/tfexec/providers_schema.go
Malar Invention 00ebcd295e add vendor
2022-04-03 09:37:16 +05:30

34 lines
762 B
Go

package tfexec
import (
"context"
"os/exec"
tfjson "github.com/hashicorp/terraform-json"
)
// ProvidersSchema represents the terraform providers schema -json subcommand.
func (tf *Terraform) ProvidersSchema(ctx context.Context) (*tfjson.ProviderSchemas, error) {
schemaCmd := tf.providersSchemaCmd(ctx)
var ret tfjson.ProviderSchemas
err := tf.runTerraformCmdJSON(ctx, schemaCmd, &ret)
if err != nil {
return nil, err
}
err = ret.Validate()
if err != nil {
return nil, err
}
return &ret, nil
}
func (tf *Terraform) providersSchemaCmd(ctx context.Context, args ...string) *exec.Cmd {
allArgs := []string{"providers", "schema", "-json", "-no-color"}
allArgs = append(allArgs, args...)
return tf.buildTerraformCmd(ctx, nil, allArgs...)
}