github.com/niedbalski/juju@v0.0.0-20190215020005-8ff100488e47/provider/rackspace/networking.go (about)

     1  // Copyright 2015-2016 Canonical Ltd.
     2  // Licensed under the AGPLv3, see LICENCE file for details.
     3  
     4  package rackspace
     5  
     6  import (
     7  	"gopkg.in/goose.v2/nova"
     8  
     9  	"github.com/juju/juju/provider/openstack"
    10  )
    11  
    12  type rackspaceNetworkingDecorator struct{}
    13  
    14  // DecorateNetworking is part of the openstack.NetworkingDecorator interface.
    15  func (d rackspaceNetworkingDecorator) DecorateNetworking(n openstack.Networking) (openstack.Networking, error) {
    16  	return rackspaceNetworking{n}, nil
    17  }
    18  
    19  type rackspaceNetworking struct {
    20  	openstack.Networking
    21  }
    22  
    23  // DefaultNetworks is part of the openstack.Networking interface.
    24  func (rackspaceNetworking) DefaultNetworks() ([]nova.ServerNetworks, error) {
    25  	// These are the default rackspace networks, see:
    26  	// http://docs.rackspace.com/servers/api/v2/cs-devguide/content/provision_server_with_networks.html
    27  	return []nova.ServerNetworks{
    28  		{NetworkId: "00000000-0000-0000-0000-000000000000"}, //Racksapce PublicNet
    29  		{NetworkId: "11111111-1111-1111-1111-111111111111"}, //Rackspace ServiceNet
    30  	}, nil
    31  }