github.com/hashicorp/terraform-plugin-sdk@v1.17.2/internal/addrs/targetable.go (about) 1 package addrs 2 3 // Targetable is an interface implemented by all address types that can be 4 // used as "targets" for selecting sub-graphs of a graph. 5 type Targetable interface { 6 targetableSigil() 7 8 // TargetContains returns true if the receiver is considered to contain 9 // the given other address. Containment, for the purpose of targeting, 10 // means that if a container address is targeted then all of the 11 // addresses within it are also implicitly targeted. 12 // 13 // A targetable address always contains at least itself. 14 TargetContains(other Targetable) bool 15 16 // String produces a string representation of the address that could be 17 // parsed as a HCL traversal and passed to ParseTarget to produce an 18 // identical result. 19 String() string 20 } 21 22 type targetable struct { 23 } 24 25 func (r targetable) targetableSigil() { 26 }