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  }