mirror of
https://github.com/kemko/nomad.git
synced 2026-01-04 01:15:43 +03:00
This directory and its subdirectories (packages) contain files licensed with the MPLv2 `LICENSE` file in this directory and are intentionally licensed separately from the BSL `LICENSE` file at the root of this repository. Co-authored-by: hashicorp-copywrite[bot] <110428419+hashicorp-copywrite[bot]@users.noreply.github.com>
26 lines
823 B
Go
26 lines
823 B
Go
// Copyright (c) HashiCorp, Inc.
|
|
// SPDX-License-Identifier: MPL-2.0
|
|
|
|
package addrs
|
|
|
|
// Referenceable is an interface implemented by all address types that can
|
|
// appear as references in configuration language expressions.
|
|
type Referenceable interface {
|
|
// referenceableSigil is private to ensure that all Referenceables are
|
|
// implentented in this current package. For now this does nothing.
|
|
referenceableSigil()
|
|
|
|
// 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
|
|
}
|
|
|
|
// referenceable is an empty struct that implements Referenceable, add it to
|
|
// your Referenceable struct so that it can be recognized as such.
|
|
type referenceable struct {
|
|
}
|
|
|
|
func (r referenceable) referenceableSigil() {
|
|
}
|