forked from hashicorp/terraform-plugin-framework
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpath_step.go
21 lines (17 loc) · 769 Bytes
/
path_step.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package path
// PathStep represents a transversal for an attribute path. Only exact path
// transversals are supported as implementations of this interface must remain
// compatible with all protocol implementations.
type PathStep interface {
// Equal should return true if the given PathStep is exactly equivalent.
Equal(PathStep) bool
// ExpressionStep should return an ExpressionStep which exactly
// matches the PathStep.
ExpressionStep() ExpressionStep
// String should return a human-readable representation of the step
// intended for logging and error messages. There should not be usage
// that needs to be protected by compatibility guarantees.
String() string
// unexported prevents outside types from satisfying the interface.
unexported()
}