mirror of
https://github.com/opentofu/opentofu.git
synced 2024-12-30 10:47:14 -06:00
a2a37ae40d
These are similar to the symbols of the same name in package "providers". terraform.ProvisionerFactory is now an alias for provisioners.Factory, so we can defer updating all of the existing users of it.
20 lines
738 B
Go
20 lines
738 B
Go
package provisioners
|
|
|
|
// Factory is a function type that creates a new instance of a resource
|
|
// provisioner, or returns an error if that is impossible.
|
|
type Factory func() (Interface, error)
|
|
|
|
// FactoryFixed is a helper that creates a Factory that just returns some given
|
|
// single provisioner.
|
|
//
|
|
// Unlike usual factories, the exact same instance is returned for each call
|
|
// to the factory and so this must be used in only specialized situations where
|
|
// the caller can take care to either not mutate the given provider at all
|
|
// or to mutate it in ways that will not cause unexpected behavior for others
|
|
// holding the same reference.
|
|
func FactoryFixed(p Interface) Factory {
|
|
return func() (Interface, error) {
|
|
return p, nil
|
|
}
|
|
}
|