| 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 "" |
| } |