1 // Package addrs contains types that represent "addresses", which are
2 // references to specific objects within a Terraform configuration or
5 // All addresses have string representations based on HCL traversal syntax
6 // which should be used in the user-interface, and also in-memory
7 // representations that can be used internally.
9 // For object types that exist within Terraform modules a pair of types is
10 // used. The "local" part of the address is represented by a type, and then
11 // an absolute path to that object in the context of its module is represented
12 // by a type of the same name with an "Abs" prefix added, for "absolute".
14 // All types within this package should be treated as immutable, even if this
15 // is not enforced by the Go compiler. It is always an implementation error
16 // to modify an address object in-place after it is initially constructed.