github.com/niedbalski/juju@v0.0.0-20190215020005-8ff100488e47/provider/ec2/export_test.go (about) 1 // Copyright 2012, 2013 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package ec2 5 6 import ( 7 "gopkg.in/amz.v3/ec2" 8 9 "github.com/juju/juju/core/instance" 10 "github.com/juju/juju/environs" 11 "github.com/juju/juju/environs/context" 12 "github.com/juju/juju/environs/instances" 13 jujustorage "github.com/juju/juju/storage" 14 ) 15 16 func StorageEC2(vs jujustorage.VolumeSource) *ec2.EC2 { 17 return vs.(*ebsVolumeSource).env.ec2 18 } 19 20 func JujuGroupName(e environs.Environ) string { 21 return e.(*environ).jujuGroupName() 22 } 23 24 func MachineGroupName(e environs.Environ, machineId string) string { 25 return e.(*environ).machineGroupName(machineId) 26 } 27 28 func EnvironEC2(e environs.Environ) *ec2.EC2 { 29 return e.(*environ).ec2 30 } 31 32 func InstanceEC2(inst instances.Instance) *ec2.Instance { 33 return inst.(*ec2Instance).Instance 34 } 35 36 func TerminatedInstances(e environs.Environ) ([]instances.Instance, error) { 37 return e.(*environ).AllInstancesByState(context.NewCloudCallContext(), "shutting-down", "terminated") 38 } 39 40 func InstanceSecurityGroups(e environs.Environ, ctx context.ProviderCallContext, ids []instance.Id, states ...string) ([]ec2.SecurityGroup, error) { 41 return e.(*environ).instanceSecurityGroups(ctx, ids, states...) 42 } 43 44 func AllModelVolumes(e environs.Environ, ctx context.ProviderCallContext) ([]string, error) { 45 return e.(*environ).allModelVolumes(ctx, true) 46 } 47 48 func AllModelGroups(e environs.Environ, ctx context.ProviderCallContext) ([]string, error) { 49 return e.(*environ).modelSecurityGroupIDs(ctx) 50 } 51 52 var ( 53 EC2AvailabilityZones = &ec2AvailabilityZones 54 RunInstances = &runInstances 55 BlockDeviceNamer = blockDeviceNamer 56 GetBlockDeviceMappings = getBlockDeviceMappings 57 IsVPCNotUsableError = isVPCNotUsableError 58 IsVPCNotRecommendedError = isVPCNotRecommendedError 59 ShortAttempt = &shortAttempt 60 DestroyVolumeAttempt = &destroyVolumeAttempt 61 DeleteSecurityGroupInsistently = &deleteSecurityGroupInsistently 62 TerminateInstancesById = &terminateInstancesById 63 MaybeConvertCredentialError = maybeConvertCredentialError 64 ) 65 66 const VPCIDNone = vpcIDNone 67 68 func VerifyCredentials(env environs.Environ, ctx context.ProviderCallContext) error { 69 return verifyCredentials(env.(*environ), ctx) 70 }