Documentation ¶
Overview ¶
Package gce_cloud is an implementation of Interface, TCPLoadBalancer and Instances for Google Compute Engine.
Index ¶
- Constants
- type Config
- type GCECloud
- func (gce *GCECloud) AddInstancesToInstanceGroup(name string, instanceNames []string) error
- func (gce *GCECloud) AddPortToInstanceGroup(ig *compute.InstanceGroup, port int64) (*compute.NamedPort, error)
- func (gce *GCECloud) AddSSHKeyToAllInstances(user string, keyData []byte) error
- func (gce *GCECloud) AttachDisk(diskName string, readOnly bool) error
- func (gce *GCECloud) Clusters() (cloudprovider.Clusters, bool)
- func (gce *GCECloud) CreateBackendService(bg *compute.BackendService) error
- func (gce *GCECloud) CreateGlobalForwardingRule(proxy *compute.TargetHttpProxy, name string, portRange string) (*compute.ForwardingRule, error)
- func (gce *GCECloud) CreateInstanceGroup(name string) (*compute.InstanceGroup, error)
- func (gce *GCECloud) CreateRoute(clusterName string, nameHint string, route *cloudprovider.Route) error
- func (gce *GCECloud) CreateTargetHttpProxy(urlMap *compute.UrlMap, name string) (*compute.TargetHttpProxy, error)
- func (gce *GCECloud) CreateUrlMap(backend *compute.BackendService, name string) (*compute.UrlMap, error)
- func (gce *GCECloud) CurrentNodeName(hostname string) (string, error)
- func (gce *GCECloud) DeleteBackendService(name string) error
- func (gce *GCECloud) DeleteGlobalForwardingRule(name string) error
- func (gce *GCECloud) DeleteInstanceGroup(name string) error
- func (gce *GCECloud) DeleteRoute(clusterName string, route *cloudprovider.Route) error
- func (gce *GCECloud) DeleteTargetHttpProxy(name string) error
- func (gce *GCECloud) DeleteUrlMap(name string) error
- func (gce *GCECloud) DetachDisk(devicePath string) error
- func (gce *GCECloud) EnsureTCPLoadBalancer(name, region string, requestedIP net.IP, ports []*api.ServicePort, ...) (*api.LoadBalancerStatus, error)
- func (gce *GCECloud) EnsureTCPLoadBalancerDeleted(name, region string) error
- func (gce *GCECloud) ExternalID(instance string) (string, error)
- func (gce *GCECloud) GetBackendService(name string) (*compute.BackendService, error)
- func (gce *GCECloud) GetGlobalForwardingRule(name string) (*compute.ForwardingRule, error)
- func (gce *GCECloud) GetHttpHealthCheck(name string) (*compute.HttpHealthCheck, error)
- func (gce *GCECloud) GetInstanceGroup(name string) (*compute.InstanceGroup, error)
- func (gce *GCECloud) GetTCPLoadBalancer(name, region string) (*api.LoadBalancerStatus, bool, error)
- func (gce *GCECloud) GetTargetHttpProxy(name string) (*compute.TargetHttpProxy, error)
- func (gce *GCECloud) GetUrlMap(name string) (*compute.UrlMap, error)
- func (gce *GCECloud) GetZone() (cloudprovider.Zone, error)
- func (gce *GCECloud) InstanceID(instance string) (string, error)
- func (gce *GCECloud) Instances() (cloudprovider.Instances, bool)
- func (gce *GCECloud) List(filter string) ([]string, error)
- func (gce *GCECloud) ListClusters() ([]string, error)
- func (gce *GCECloud) ListInstancesInInstanceGroup(name string, state string) (*compute.InstanceGroupsListInstances, error)
- func (gce *GCECloud) ListRoutes(clusterName string) ([]*cloudprovider.Route, error)
- func (gce *GCECloud) Master(clusterName string) (string, error)
- func (gce *GCECloud) NodeAddresses(_ string) ([]api.NodeAddress, error)
- func (gce *GCECloud) ProviderName() string
- func (gce *GCECloud) RemoveInstancesFromInstanceGroup(name string, instanceNames []string) error
- func (gce *GCECloud) Routes() (cloudprovider.Routes, bool)
- func (gce *GCECloud) ScrubDNS(nameservers, searches []string) (nsOut, srchOut []string)
- func (gce *GCECloud) SetProxyForGlobalForwardingRule(fw *compute.ForwardingRule, proxy *compute.TargetHttpProxy) error
- func (gce *GCECloud) SetUrlMapForTargetHttpProxy(proxy *compute.TargetHttpProxy, urlMap *compute.UrlMap) error
- func (gce *GCECloud) TCPLoadBalancer() (cloudprovider.TCPLoadBalancer, bool)
- func (gce *GCECloud) UpdateBackendService(bg *compute.BackendService) error
- func (gce *GCECloud) UpdateTCPLoadBalancer(name, region string, hosts []string) error
- func (gce *GCECloud) UpdateUrlMap(urlMap *compute.UrlMap) (*compute.UrlMap, error)
- func (gce *GCECloud) Zones() (cloudprovider.Zones, bool)
Constants ¶
const (
ProviderName = "gce"
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type GCECloud ¶
type GCECloud struct {
// contains filtered or unexported fields
}
GCECloud is an implementation of Interface, TCPLoadBalancer and Instances for Google Compute Engine.
func (*GCECloud) AddInstancesToInstanceGroup ¶
AddInstancesToInstanceGroup adds the given instances to the given instance group.
func (*GCECloud) AddPortToInstanceGroup ¶
func (gce *GCECloud) AddPortToInstanceGroup(ig *compute.InstanceGroup, port int64) (*compute.NamedPort, error)
AddPortToInstanceGroup adds a port to the given instance group.
func (*GCECloud) AddSSHKeyToAllInstances ¶
func (*GCECloud) CreateBackendService ¶
func (gce *GCECloud) CreateBackendService(bg *compute.BackendService) error
CreateBackendService creates the given BackendService.
func (*GCECloud) CreateGlobalForwardingRule ¶
func (gce *GCECloud) CreateGlobalForwardingRule(proxy *compute.TargetHttpProxy, name string, portRange string) (*compute.ForwardingRule, error)
CreateGlobalForwardingRule creates and returns a GlobalForwardingRule that points to the given TargetHttpProxy.
func (*GCECloud) CreateInstanceGroup ¶
func (gce *GCECloud) CreateInstanceGroup(name string) (*compute.InstanceGroup, error)
CreateInstanceGroup creates an instance group with the given instances. It is the callers responsibility to add named ports.
func (*GCECloud) CreateRoute ¶
func (*GCECloud) CreateTargetHttpProxy ¶
func (gce *GCECloud) CreateTargetHttpProxy(urlMap *compute.UrlMap, name string) (*compute.TargetHttpProxy, error)
CreateTargetHttpProxy creates and returns a TargetHttpProxy with the given UrlMap.
func (*GCECloud) CreateUrlMap ¶
func (gce *GCECloud) CreateUrlMap(backend *compute.BackendService, name string) (*compute.UrlMap, error)
CreateUrlMap creates an url map, using the given backend service as the default service.
func (*GCECloud) CurrentNodeName ¶
Implementation of Instances.CurrentNodeName
func (*GCECloud) DeleteBackendService ¶
DeleteBackendService deletes the given BackendService by name.
func (*GCECloud) DeleteGlobalForwardingRule ¶
DeleteGlobalForwardingRule deletes the GlobalForwardingRule by name.
func (*GCECloud) DeleteInstanceGroup ¶
DeleteInstanceGroup deletes an instance group.
func (*GCECloud) DeleteRoute ¶
func (gce *GCECloud) DeleteRoute(clusterName string, route *cloudprovider.Route) error
func (*GCECloud) DeleteTargetHttpProxy ¶
DeleteTargetHttpProxy deletes the TargetHttpProxy by name.
func (*GCECloud) DeleteUrlMap ¶
DeleteUrlMap deletes a url map by name.
func (*GCECloud) DetachDisk ¶
func (*GCECloud) EnsureTCPLoadBalancer ¶
func (gce *GCECloud) EnsureTCPLoadBalancer(name, region string, requestedIP net.IP, ports []*api.ServicePort, hosts []string, affinityType api.ServiceAffinity) (*api.LoadBalancerStatus, error)
EnsureTCPLoadBalancer is an implementation of TCPLoadBalancer.EnsureTCPLoadBalancer. Our load balancers in GCE consist of four separate GCE resources - a static IP address, a firewall rule, a target pool, and a forwarding rule. This function has to manage all of them. Due to an interesting series of design decisions, this handles both creating new load balancers and updating existing load balancers, recognizing when each is needed.
func (*GCECloud) EnsureTCPLoadBalancerDeleted ¶
EnsureTCPLoadBalancerDeleted is an implementation of TCPLoadBalancer.EnsureTCPLoadBalancerDeleted.
func (*GCECloud) ExternalID ¶
ExternalID returns the cloud provider ID of the specified instance (deprecated).
func (*GCECloud) GetBackendService ¶
func (gce *GCECloud) GetBackendService(name string) (*compute.BackendService, error)
GetBackendService retrieves a backend by name.
func (*GCECloud) GetGlobalForwardingRule ¶
func (gce *GCECloud) GetGlobalForwardingRule(name string) (*compute.ForwardingRule, error)
GetGlobalForwardingRule returns the GlobalForwardingRule by name.
func (*GCECloud) GetHttpHealthCheck ¶
func (gce *GCECloud) GetHttpHealthCheck(name string) (*compute.HttpHealthCheck, error)
GetHttpHealthCheck returns the given HttpHealthCheck by name.
func (*GCECloud) GetInstanceGroup ¶
func (gce *GCECloud) GetInstanceGroup(name string) (*compute.InstanceGroup, error)
GetInstanceGroup returns an instance group by name.
func (*GCECloud) GetTCPLoadBalancer ¶
GetTCPLoadBalancer is an implementation of TCPLoadBalancer.GetTCPLoadBalancer
func (*GCECloud) GetTargetHttpProxy ¶
func (gce *GCECloud) GetTargetHttpProxy(name string) (*compute.TargetHttpProxy, error)
GetTargetHttpProxy returns the UrlMap by name.
func (*GCECloud) InstanceID ¶
InstanceID returns the cloud provider ID of the specified instance.
func (*GCECloud) Instances ¶
func (gce *GCECloud) Instances() (cloudprovider.Instances, bool)
Instances returns an implementation of Instances for Google Compute Engine.
func (*GCECloud) ListClusters ¶
func (*GCECloud) ListInstancesInInstanceGroup ¶
func (gce *GCECloud) ListInstancesInInstanceGroup(name string, state string) (*compute.InstanceGroupsListInstances, error)
ListInstancesInInstanceGroup lists all the instances in a given istance group and state.
func (*GCECloud) ListRoutes ¶
func (gce *GCECloud) ListRoutes(clusterName string) ([]*cloudprovider.Route, error)
func (*GCECloud) NodeAddresses ¶
func (gce *GCECloud) NodeAddresses(_ string) ([]api.NodeAddress, error)
NodeAddresses is an implementation of Instances.NodeAddresses.
func (*GCECloud) ProviderName ¶
ProviderName returns the cloud provider ID.
func (*GCECloud) RemoveInstancesFromInstanceGroup ¶
RemoveInstancesFromInstanceGroup removes the given instances from the instance group.
func (*GCECloud) Routes ¶
func (gce *GCECloud) Routes() (cloudprovider.Routes, bool)
Routes returns an implementation of Routes for Google Compute Engine.
func (*GCECloud) SetProxyForGlobalForwardingRule ¶
func (gce *GCECloud) SetProxyForGlobalForwardingRule(fw *compute.ForwardingRule, proxy *compute.TargetHttpProxy) error
SetProxyForGlobalForwardingRule links the given TargetHttpProxy with the given GlobalForwardingRule.
func (*GCECloud) SetUrlMapForTargetHttpProxy ¶
func (gce *GCECloud) SetUrlMapForTargetHttpProxy(proxy *compute.TargetHttpProxy, urlMap *compute.UrlMap) error
SetUrlMapForTargetHttpProxy sets the given UrlMap for the given TargetHttpProxy.
func (*GCECloud) TCPLoadBalancer ¶
func (gce *GCECloud) TCPLoadBalancer() (cloudprovider.TCPLoadBalancer, bool)
TCPLoadBalancer returns an implementation of TCPLoadBalancer for Google Compute Engine.
func (*GCECloud) UpdateBackendService ¶
func (gce *GCECloud) UpdateBackendService(bg *compute.BackendService) error
UpdateBackendService applies the given BackendService as an update to an existing service.
func (*GCECloud) UpdateTCPLoadBalancer ¶
UpdateTCPLoadBalancer is an implementation of TCPLoadBalancer.UpdateTCPLoadBalancer.
func (*GCECloud) UpdateUrlMap ¶
UpdateUrlMap applies the given UrlMap as an update, and returns the new UrlMap.