github.com/opentofu/opentofu@v1.7.1/internal/addrs/doc.go (about)

     1  // Copyright (c) The OpenTofu Authors
     2  // SPDX-License-Identifier: MPL-2.0
     3  // Copyright (c) 2023 HashiCorp, Inc.
     4  // SPDX-License-Identifier: MPL-2.0
     5  
     6  // Package addrs contains types that represent "addresses", which are
     7  // references to specific objects within a OpenTofu configuration or
     8  // state.
     9  //
    10  // All addresses have string representations based on HCL traversal syntax
    11  // which should be used in the user-interface, and also in-memory
    12  // representations that can be used internally.
    13  //
    14  // For object types that exist within OpenTofu modules a pair of types is
    15  // used. The "local" part of the address is represented by a type, and then
    16  // an absolute path to that object in the context of its module is represented
    17  // by a type of the same name with an "Abs" prefix added, for "absolute".
    18  //
    19  // All types within this package should be treated as immutable, even if this
    20  // is not enforced by the Go compiler. It is always an implementation error
    21  // to modify an address object in-place after it is initially constructed.
    22  package addrs