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  }