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  }