31 lines
791 B
Go
31 lines
791 B
Go
package moduledeps
|
|
|
|
import (
|
|
"strings"
|
|
)
|
|
|
|
// ProviderInstance describes a particular provider instance by its full name,
|
|
// like "null" or "aws.foo".
|
|
type ProviderInstance string
|
|
|
|
// Type returns the provider type of this instance. For example, for an instance
|
|
// named "aws.foo" the type is "aws".
|
|
func (p ProviderInstance) Type() string {
|
|
t := string(p)
|
|
if dotPos := strings.Index(t, "."); dotPos != -1 {
|
|
t = t[:dotPos]
|
|
}
|
|
return t
|
|
}
|
|
|
|
// Alias returns the alias of this provider, if any. An instance named "aws.foo"
|
|
// has the alias "foo", while an instance named just "docker" has no alias,
|
|
// so the empty string would be returned.
|
|
func (p ProviderInstance) Alias() string {
|
|
t := string(p)
|
|
if dotPos := strings.Index(t, "."); dotPos != -1 {
|
|
return t[dotPos+1:]
|
|
}
|
|
return ""
|
|
}
|