github.com/paultyng/terraform@v0.6.11-0.20180227224804-66ff8f8bed40/moduledeps/provider.go (about) 1 package moduledeps 2 3 import ( 4 "strings" 5 ) 6 7 // ProviderInstance describes a particular provider instance by its full name, 8 // like "null" or "aws.foo". 9 type ProviderInstance string 10 11 // Type returns the provider type of this instance. For example, for an instance 12 // named "aws.foo" the type is "aws". 13 func (p ProviderInstance) Type() string { 14 t := string(p) 15 if dotPos := strings.Index(t, "."); dotPos != -1 { 16 t = t[:dotPos] 17 } 18 return t 19 } 20 21 // Alias returns the alias of this provider, if any. An instance named "aws.foo" 22 // has the alias "foo", while an instance named just "docker" has no alias, 23 // so the empty string would be returned. 24 func (p ProviderInstance) Alias() string { 25 t := string(p) 26 if dotPos := strings.Index(t, "."); dotPos != -1 { 27 return t[dotPos+1:] 28 } 29 return "" 30 }