github.com/mhilton/juju-juju@v0.0.0-20150901100907-a94dd2c73455/provider/gce/environ_network.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/errors" 8 9 "github.com/juju/juju/instance" 10 "github.com/juju/juju/network" 11 "github.com/juju/juju/provider/common" 12 ) 13 14 // AllocateAddress implements environs.Environ, but is not implmemented. 15 func (env *environ) AllocateAddress(instID instance.Id, netID network.Id, addr network.Address, macAddress, hostname string) error { 16 return errors.Trace(errNotImplemented) 17 } 18 19 // ReleaseAddress implements environs.Environ, but is not implmemented. 20 func (env *environ) ReleaseAddress(instID instance.Id, netID network.Id, addr network.Address, macAddres string) error { 21 return errors.Trace(errNotImplemented) 22 } 23 24 // Subnets implements environs.Environ, but is not implmemented. 25 func (env *environ) Subnets(inst instance.Id, ids []network.Id) ([]network.SubnetInfo, error) { 26 return nil, errors.Trace(errNotImplemented) 27 } 28 29 // ListNetworks implements environs.Environ, but is not implmemented. 30 func (env *environ) ListNetworks(inst instance.Id) ([]network.SubnetInfo, error) { 31 return nil, errors.Trace(errNotImplemented) 32 } 33 34 // NetworkInterfaces implements environs.Environ, but is not implmemented. 35 func (env *environ) NetworkInterfaces(inst instance.Id) ([]network.InterfaceInfo, error) { 36 return nil, errors.Trace(errNotImplemented) 37 } 38 39 // globalFirewallName returns the name to use for the global firewall. 40 func (env *environ) globalFirewallName() string { 41 return common.EnvFullName(env) 42 } 43 44 // OpenPorts opens the given port ranges for the whole environment. 45 // Must only be used if the environment was setup with the 46 // FwGlobal firewall mode. 47 func (env *environ) OpenPorts(ports []network.PortRange) error { 48 err := env.gce.OpenPorts(env.globalFirewallName(), ports...) 49 return errors.Trace(err) 50 } 51 52 // ClosePorts closes the given port ranges for the whole environment. 53 // Must only be used if the environment was setup with the 54 // FwGlobal firewall mode. 55 func (env *environ) ClosePorts(ports []network.PortRange) error { 56 err := env.gce.ClosePorts(env.globalFirewallName(), ports...) 57 return errors.Trace(err) 58 } 59 60 // Ports returns the port ranges opened for the whole environment. 61 // Must only be used if the environment was setup with the 62 // FwGlobal firewall mode. 63 func (env *environ) Ports() ([]network.PortRange, error) { 64 ports, err := env.gce.Ports(env.globalFirewallName()) 65 return ports, errors.Trace(err) 66 }