| // Copyright (c) HashiCorp, Inc. |
| // SPDX-License-Identifier: MPL-2.0 |
| |
| package terraform |
| |
| import ( |
| "context" |
| "fmt" |
| ) |
| |
| // PrefixUIInput is an implementation of UIInput that prefixes the ID |
| // with a string, allowing queries to be namespaced. |
| type PrefixUIInput struct { |
| IdPrefix string |
| QueryPrefix string |
| UIInput UIInput |
| } |
| |
| func (i *PrefixUIInput) Input(ctx context.Context, opts *InputOpts) (string, error) { |
| opts.Id = fmt.Sprintf("%s.%s", i.IdPrefix, opts.Id) |
| opts.Query = fmt.Sprintf("%s%s", i.QueryPrefix, opts.Query) |
| return i.UIInput.Input(ctx, opts) |
| } |