github.com/pulumi/terraform@v1.4.0/pkg/addrs/referenceable.go (about)

     1  package addrs
     2  
     3  // Referenceable is an interface implemented by all address types that can
     4  // appear as references in configuration language expressions.
     5  type Referenceable interface {
     6  	// All implementations of this interface must be covered by the type switch
     7  	// in lang.Scope.buildEvalContext.
     8  	referenceableSigil()
     9  
    10  	// All Referenceable address types must have unique keys.
    11  	UniqueKeyer
    12  
    13  	// String produces a string representation of the address that could be
    14  	// parsed as a HCL traversal and passed to ParseRef to produce an identical
    15  	// result.
    16  	String() string
    17  }
    18  
    19  type referenceable struct {
    20  }
    21  
    22  func (r referenceable) referenceableSigil() {
    23  }