mirror of
https://github.com/opentofu/opentofu.git
synced 2024-12-28 18:01:01 -06:00
36d0a50427
This is part of a general effort to move all of Terraform's non-library package surface under internal in order to reinforce that these are for internal use within Terraform only. If you were previously importing packages under this prefix into an external codebase, you could pin to an earlier release tag as an interim solution until you've make a plan to achieve the same functionality some other way.
33 lines
973 B
Go
33 lines
973 B
Go
package terraform
|
|
|
|
import "context"
|
|
|
|
// UIInput is the interface that must be implemented to ask for input
|
|
// from this user. This should forward the request to wherever the user
|
|
// inputs things to ask for values.
|
|
type UIInput interface {
|
|
Input(context.Context, *InputOpts) (string, error)
|
|
}
|
|
|
|
// InputOpts are options for asking for input.
|
|
type InputOpts struct {
|
|
// Id is a unique ID for the question being asked that might be
|
|
// used for logging or to look up a prior answered question.
|
|
Id string
|
|
|
|
// Query is a human-friendly question for inputting this value.
|
|
Query string
|
|
|
|
// Description is a description about what this option is. Be wary
|
|
// that this will probably be in a terminal so split lines as you see
|
|
// necessary.
|
|
Description string
|
|
|
|
// Default will be the value returned if no data is entered.
|
|
Default string
|
|
|
|
// Secret should be true if we are asking for sensitive input.
|
|
// If attached to a TTY, Terraform will disable echo.
|
|
Secret bool
|
|
}
|