mirror of
https://github.com/hashicorp/terraform.git
synced 2026-03-21 10:00:09 -04:00
26 lines
726 B
Go
26 lines
726 B
Go
// Copyright IBM Corp. 2014, 2026
|
|
// SPDX-License-Identifier: BUSL-1.1
|
|
|
|
package addrs
|
|
|
|
// Referenceable is an interface implemented by all address types that can
|
|
// appear as references in configuration language expressions.
|
|
type Referenceable interface {
|
|
// All implementations of this interface must be covered by the type switch
|
|
// in lang.Scope.buildEvalContext.
|
|
referenceableSigil()
|
|
|
|
// All Referenceable address types must have unique keys.
|
|
UniqueKeyer
|
|
|
|
// String produces a string representation of the address that could be
|
|
// parsed as a HCL traversal and passed to ParseRef to produce an identical
|
|
// result.
|
|
String() string
|
|
}
|
|
|
|
type referenceable struct {
|
|
}
|
|
|
|
func (r referenceable) referenceableSigil() {
|
|
}
|