github.com/mhilton/juju-juju@v0.0.0-20150901100907-a94dd2c73455/provider/gce/export_test.go (about) 1 // Copyright 2014 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package gce 5 6 import ( 7 "github.com/juju/juju/environs" 8 "github.com/juju/juju/environs/instances" 9 "github.com/juju/juju/instance" 10 "github.com/juju/juju/provider/gce/google" 11 "github.com/juju/juju/storage" 12 ) 13 14 var ( 15 Provider environs.EnvironProvider = providerInstance 16 NewInstance = newInstance 17 CheckInstanceType = checkInstanceType 18 GetMetadata = getMetadata 19 GetDisks = getDisks 20 ConfigImmutable = configImmutableFields 21 ) 22 23 func ExposeInstBase(inst *environInstance) *google.Instance { 24 return inst.base 25 } 26 27 func ExposeInstEnv(inst *environInstance) *environ { 28 return inst.env 29 } 30 31 func ParseAvailabilityZones(env *environ, args environs.StartInstanceParams) ([]string, error) { 32 return env.parseAvailabilityZones(args) 33 } 34 35 func UnsetEnvConfig(env *environ) { 36 env.ecfg = nil 37 } 38 39 func ExposeEnvConfig(env *environ) *environConfig { 40 return env.ecfg 41 } 42 43 func ExposeEnvConnection(env *environ) gceConnection { 44 return env.gce 45 } 46 47 func GlobalFirewallName(env *environ) string { 48 return env.globalFirewallName() 49 } 50 51 func ParsePlacement(env *environ, placement string) (*instPlacement, error) { 52 return env.parsePlacement(placement) 53 } 54 55 func FinishInstanceConfig(env *environ, args environs.StartInstanceParams, spec *instances.InstanceSpec) error { 56 return env.finishInstanceConfig(args, spec) 57 } 58 59 func FindInstanceSpec(env *environ, stream string, ic *instances.InstanceConstraint) (*instances.InstanceSpec, error) { 60 return env.findInstanceSpec(stream, ic) 61 } 62 63 func BuildInstanceSpec(env *environ, args environs.StartInstanceParams) (*instances.InstanceSpec, error) { 64 return env.buildInstanceSpec(args) 65 } 66 67 func NewRawInstance(env *environ, args environs.StartInstanceParams, spec *instances.InstanceSpec) (*google.Instance, error) { 68 return env.newRawInstance(args, spec) 69 } 70 71 func GetHardwareCharacteristics(env *environ, spec *instances.InstanceSpec, inst *environInstance) *instance.HardwareCharacteristics { 72 return env.getHardwareCharacteristics(spec, inst) 73 } 74 75 func GetInstances(env *environ) ([]instance.Instance, error) { 76 return env.instances() 77 } 78 79 // Storage 80 func GCEStorageProvider() storage.Provider { 81 return &storageProvider{} 82 }