type Origin … // Copy returns a copy of origin func (origin *Origin) Copy() Origin { … } // Append returns a copy of origin with a path appended to it func (origin *Origin) Append(path string) *Origin { … } // String returns a string version of origin func (origin *Origin) String() (string, error) { … } type Transformations … // String returns a string version of Transformations func (transformations *Transformations) String() (string, error) { … } // OriginFromCustomPlugin takes a custom plugin defined as a resource // and returns an origin object to describe it func OriginFromCustomPlugin(res *Resource) (*Origin, error) { … }