addrs: AbsProviderConfig type
Fitting with the usual naming scheme, this is the combination of a module instance address and a provider config.
This commit is contained in:
parent
dd62cd97c9
commit
fca07d1a61
|
@ -1,5 +1,9 @@
|
||||||
package addrs
|
package addrs
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
)
|
||||||
|
|
||||||
// ProviderConfig is the address of a provider configuration.
|
// ProviderConfig is the address of a provider configuration.
|
||||||
type ProviderConfig struct {
|
type ProviderConfig struct {
|
||||||
Type string
|
Type string
|
||||||
|
@ -8,3 +12,31 @@ type ProviderConfig struct {
|
||||||
// configuration this address refers to.
|
// configuration this address refers to.
|
||||||
Alias string
|
Alias string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Absolute returns an AbsProviderConfig from the receiver and the given module
|
||||||
|
// instance address.
|
||||||
|
func (pc ProviderConfig) Absolute(module ModuleInstance) AbsProviderConfig {
|
||||||
|
return AbsProviderConfig{
|
||||||
|
Module: module,
|
||||||
|
ProviderConfig: pc,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (pc ProviderConfig) String() string {
|
||||||
|
if pc.Alias != "" {
|
||||||
|
return fmt.Sprintf("provider.%s.%s", pc.Type, pc.Alias)
|
||||||
|
}
|
||||||
|
|
||||||
|
return "provider." + pc.Type
|
||||||
|
}
|
||||||
|
|
||||||
|
// AbsProviderConfig is the absolute address of a provider configuration
|
||||||
|
// within a particular module instance.
|
||||||
|
type AbsProviderConfig struct {
|
||||||
|
Module ModuleInstance
|
||||||
|
ProviderConfig ProviderConfig
|
||||||
|
}
|
||||||
|
|
||||||
|
func (pc AbsProviderConfig) String() string {
|
||||||
|
return fmt.Sprintf("%s.%s", pc.Module.String(), pc.ProviderConfig.String())
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue