github.com/hugorut/terraform@v1.1.3/src/terraform/ui_input.go (about) 1 package terraform 2 3 import "context" 4 5 // UIInput is the interface that must be implemented to ask for input 6 // from this user. This should forward the request to wherever the user 7 // inputs things to ask for values. 8 type UIInput interface { 9 Input(context.Context, *InputOpts) (string, error) 10 } 11 12 // InputOpts are options for asking for input. 13 type InputOpts struct { 14 // Id is a unique ID for the question being asked that might be 15 // used for logging or to look up a prior answered question. 16 Id string 17 18 // Query is a human-friendly question for inputting this value. 19 Query string 20 21 // Description is a description about what this option is. Be wary 22 // that this will probably be in a terminal so split lines as you see 23 // necessary. 24 Description string 25 26 // Default will be the value returned if no data is entered. 27 Default string 28 29 // Secret should be true if we are asking for sensitive input. 30 // If attached to a TTY, Terraform will disable echo. 31 Secret bool 32 }