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
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
)
|
||||
|
||||
// ProviderConfig is the address of a provider configuration.
|
||||
type ProviderConfig struct {
|
||||
Type string
|
||||
|
@ -8,3 +12,31 @@ type ProviderConfig struct {
|
|||
// configuration this address refers to.
|
||||
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