libretto

package module
Version: v0.9.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 19, 2016 License: Apache-2.0 Imports: 0 Imported by: 0

README

License ReportCard Build GoDoc

Libretto

Libretto is a Golang library to create Virtual Machines (VM) on any cloud and Virtual Machine hosting platforms such as AWS, Azure, OpenStack, vSphere, or VirtualBox. Different providers have different utilities and API interfaces to achieve that, but the abstractions of their interfaces are quite similar.

Supported Providers

  • vSphere > 5.0
  • AWS
  • Openstack (Mirantis)
  • VMware Fusion >= 8.0
  • VMware Workstation >= 8.0
  • Virtualbox >= 4.3.30
  • Azure
  • DigitalOcean

Getting Started

go get github.com/apcera/libretto/...

go build ./...

Examples

AWS


rawKey, err := ioutil.ReadFile(*key)
if err != nil {
        return err
}

vm := &aws.VM{
        Name:         "libretto-aws",
        AMI:          "ami-984734",
        InstanceType: "m4.large",
        SSHCreds: ssh.Credentials{
                SSHUser:       "ubuntu",
                SSHPrivateKey: string(rawKey),
        },
        DeviceName:    "/dev/sda1",
        Region:        "ap-northeast-1",
        KeyPair:       strings.TrimSuffix(filepath.Base(*key), filepath.Ext(*key)),
        SecurityGroup: "sg-9fdsfds",
}

if err := aws.ValidCredentials(vm.Region); err != nil {
        return err
}

if err := vm.Provision(); err != nil {
        return err
}

vSphere


vm := &vsphere.VM{
        Host:       "10.2.1.11",
        Username:   "username",
        Password:   "password",
        Datacenter: "test-dc",
        Datastores: "datastore1, datastore2",
        Networks:   "network1",
        Credentials: ssh.Credentials{
            SSHUser:     "ubuntu",
            SSHPassword: "ubuntu",
        },
        SkipExisting: true,
        DestinationName: "Host1",
        DestinationType: "host",
        Name: "test-vm",
        Template: "test-template",
        OvfPath: "/Users/Test/Downloads/file.ovf",
}
if err := vm.Provision(); err != nil {
        return err
}

Digital Ocean

token := os.Getenv("DIGITALOCEAN_API_KEY")
if token == "" {
    return fmt.Errorf("Please export your DigitalOcean API key to 'DIGITALOCEAN_API_KEY' and run again.")
}
config := digitalocean.Config{
    Name:   defaultDropletName,
    Region: defaultDropletRegion,
    Image:  defaultDropletImage,
    Size:   defaultDropletSize,
}

vm := digitalocean.VM{
    ApiToken: token,
    Config:   config,
}

if err := vm.Provision(); err != nil {
    return err
}

Virtualbox


var config virtualbox.Config
config.NICs = []virtualbox.NIC{
    virtualbox.NIC{Idx: 1, Backing: virtualbox.Bridged, BackingDevice: "en0: Wi-Fi (AirPort)"},
}
vm := virtualbox.VM{Src: "/Users/Admin/vm-bfb21a62-60c5-11e5-9fc5-a45e60e45ad5.ova",
    Credentials: ssh.Credentials{
        SSHUser:     "ubuntu",
        SSHPassword: "ubuntu",
    },
    Config: config,
}
if err := vm.Provision(); err != nil {
    return err
}

VMware Fusion/Workstation (vmrun)

var config vmrun.Config
config.NICs = []vmrun.NIC{
    vmrun.NIC{Idx: 0, Backing: vmrun.Nat, BackingDevice: "en0"},
}
vm := vmrun.VM{Src: "/Users/Admin/vmware_desktop/trusty-orchestrator-dev.vmx",
    Dst: "/Users/Admin/Documents/VMs",
    Credentials: ssh.Credentials{
        SSHUser:     "ubuntu",
        SSHPassword: "ubuntu",
    },
    Config: config,
}
if err := vm.Provision(); err != nil {
    return err
}

Openstack


    metadata := openstack.NewDefaultImageMetadata()
	volume := openstack.NewDefaultVolume()

	vm := &openstack.VM{
		IdentityEndpoint: os.Getenv("OS_AUTH_URL"),
		Username:         os.Getenv("OS_USERNAME"),
		Password:         os.Getenv("OS_PASSWORD"),
		Region:           os.Getenv("OS_REGION_NAME"),
		TenantName:       os.Getenv("OS_TENANT_NAME"),
		FlavorName:       "m1.medium",
		ImageID:          "",
		ImageMetadata:    metadata,
		ImagePath:        os.Getenv("OS_IMAGE_PATH"),
		Volume:           volume,
		InstanceID:       "",
		Name:             "test",
		Networks:         []string{"eab29109-3363-4b03-8a56-8fe27b71f3a0"},
		FloatingIPPool:   "net04_ext",
		FloatingIP:       nil,
		SecurityGroup:    "test",
		Credentials: ssh.Credentials{
			SSHUser:     "ubuntu",
			SSHPassword: "ubuntu",
		},
	}

	err := vm.Provision()
	if err != nil {
        return err
	}

FAQ

  • Why write Libretto?

We couldn't find a suitable Golang binding for this functionality, so we created this library. There are a couple of similar libraries but not in golang (fog.io in ruby, jcloud in java, libcloud in python).

Docker Machine is an effort toward that direction, but it is very Docker specific, and its providers dictate the VM images in many cases to reduce the number of parameters, but reduces the flexibility of the tool.

  • What is the scope for Libretto?

Virtual machine creation and life cycle management as well as common configuration steps during a deploy such as configuring SSH keys.

  • Why use this library over other tools?

Actively used and developed. Can be called natively from Go in a Go application instead of shelling out to other tools.

Known Issues

  • Virtualbox networking is limited to using Bridged mode.

Host to guest OS connectivity is not possible when using NAT networking in Virtualbox. As a result, presently networking configuration for VMs provisioned using the Virtualbox provider is limited to using Bridged networking. There should be a DHCP server running on the network that the VMs are bridged to.

Supported Platforms

  • Linux x64
  • Windows 7 >= x64
  • OS X >= 10.11

Other Operating Systems might work but have not been tested.

Adding Provisioners

Create a new package inside the virtualmachine folder and implement the Libretto VirtualMachine interface. The provider should work at the minimum on the Linux, Windows and OS X platforms unless it is a platform specific provider in which case it should at least compile and return a descriptive error.

Dependencies should be versioned and stored using Godeps (https://github.com/tools/godep)

Errors should be lower case so that they can be wrapped by the calling code. If possible, types defined in the top level virtualmachine package should be reused.

Contributors

https://github.com/apcera/libretto/graphs/contributors

Documentation

Overview

Package libretto is a Golang library to create Virtual Machines (VM) on any cloud and Virtual Machine hosting platforms such as AWS, Azure, OpenStack, vSphere, or VirtualBox. Different providers have different utilities and API interfaces to achieve that, but the abstractions of their interfaces are quite similar. See the README.md file for help getting started.

Index

Constants

View Source
const Version = "0.9.0"

Variables

This section is empty.

Functions

This section is empty.

Types

This section is empty.

Source Files

Directories

Path Synopsis
Godeps
_workspace/src/github.com/Azure/azure-sdk-for-go/core/http
Package http provides HTTP client and server implementations.
Package http provides HTTP client and server implementations.
_workspace/src/github.com/Azure/azure-sdk-for-go/core/http/cgi
Package cgi implements CGI (Common Gateway Interface) as specified in RFC 3875.
Package cgi implements CGI (Common Gateway Interface) as specified in RFC 3875.
_workspace/src/github.com/Azure/azure-sdk-for-go/core/http/cookiejar
Package cookiejar implements an in-memory RFC 6265-compliant http.CookieJar.
Package cookiejar implements an in-memory RFC 6265-compliant http.CookieJar.
_workspace/src/github.com/Azure/azure-sdk-for-go/core/http/fcgi
Package fcgi implements the FastCGI protocol.
Package fcgi implements the FastCGI protocol.
_workspace/src/github.com/Azure/azure-sdk-for-go/core/http/httptest
Package httptest provides utilities for HTTP testing.
Package httptest provides utilities for HTTP testing.
_workspace/src/github.com/Azure/azure-sdk-for-go/core/http/httputil
Package httputil provides HTTP utility functions, complementing the more common ones in the net/http package.
Package httputil provides HTTP utility functions, complementing the more common ones in the net/http package.
_workspace/src/github.com/Azure/azure-sdk-for-go/core/http/pprof
Package pprof serves via its HTTP server runtime profiling data in the format expected by the pprof visualization tool.
Package pprof serves via its HTTP server runtime profiling data in the format expected by the pprof visualization tool.
_workspace/src/github.com/Azure/azure-sdk-for-go/core/tls
Package tls partially implements TLS 1.2, as specified in RFC 5246.
Package tls partially implements TLS 1.2, as specified in RFC 5246.
_workspace/src/github.com/Azure/azure-sdk-for-go/management
Package management provides the main API client to construct other clients and make requests to the Microsoft Azure Service Management REST API.
Package management provides the main API client to construct other clients and make requests to the Microsoft Azure Service Management REST API.
_workspace/src/github.com/Azure/azure-sdk-for-go/management/hostedservice
Package hostedservice provides a client for Hosted Services.
Package hostedservice provides a client for Hosted Services.
_workspace/src/github.com/Azure/azure-sdk-for-go/management/location
Package location provides a client for Locations.
Package location provides a client for Locations.
_workspace/src/github.com/Azure/azure-sdk-for-go/management/networksecuritygroup
Package networksecuritygroup provides a client for Network Security Groups.
Package networksecuritygroup provides a client for Network Security Groups.
_workspace/src/github.com/Azure/azure-sdk-for-go/management/osimage
Package osimage provides a client for Operating System Images.
Package osimage provides a client for Operating System Images.
_workspace/src/github.com/Azure/azure-sdk-for-go/management/storageservice
Package storageservice provides a client for Storage Services.
Package storageservice provides a client for Storage Services.
_workspace/src/github.com/Azure/azure-sdk-for-go/management/testutils
Package testutils contains some test utilities for the Azure SDK
Package testutils contains some test utilities for the Azure SDK
_workspace/src/github.com/Azure/azure-sdk-for-go/management/virtualmachine
Package virtualmachine provides a client for Virtual Machines.
Package virtualmachine provides a client for Virtual Machines.
_workspace/src/github.com/Azure/azure-sdk-for-go/management/virtualmachinedisk
Package virtualmachinedisk provides a client for Virtual Machine Disks.
Package virtualmachinedisk provides a client for Virtual Machine Disks.
_workspace/src/github.com/Azure/azure-sdk-for-go/management/virtualmachineimage
Package virtualmachineimage provides a client for Virtual Machine Images.
Package virtualmachineimage provides a client for Virtual Machine Images.
_workspace/src/github.com/Azure/azure-sdk-for-go/management/virtualnetwork
Package virtualnetwork provides a client for Virtual Networks.
Package virtualnetwork provides a client for Virtual Networks.
_workspace/src/github.com/Azure/azure-sdk-for-go/management/vmutils
Package vmutils provides convenience methods for creating Virtual Machine Role configurations.
Package vmutils provides convenience methods for creating Virtual Machine Role configurations.
_workspace/src/github.com/apcera/util/uuid
Package uuid provides functionality for generating universally unique identifiers.
Package uuid provides functionality for generating universally unique identifiers.
_workspace/src/github.com/aws/aws-sdk-go/aws
Package aws provides core functionality for making requests to AWS services.
Package aws provides core functionality for making requests to AWS services.
_workspace/src/github.com/aws/aws-sdk-go/aws/awserr
Package awserr represents API error interface accessors for the SDK.
Package awserr represents API error interface accessors for the SDK.
_workspace/src/github.com/aws/aws-sdk-go/aws/credentials
Package credentials provides credential retrieval and management The Credentials is the primary method of getting access to and managing credentials Values.
Package credentials provides credential retrieval and management The Credentials is the primary method of getting access to and managing credentials Values.
_workspace/src/github.com/aws/aws-sdk-go/aws/credentials/stscreds
Package stscreds are credential Providers to retrieve STS AWS credentials.
Package stscreds are credential Providers to retrieve STS AWS credentials.
_workspace/src/github.com/aws/aws-sdk-go/aws/defaults
Package defaults is a collection of helpers to retrieve the SDK's default configuration and handlers.
Package defaults is a collection of helpers to retrieve the SDK's default configuration and handlers.
_workspace/src/github.com/aws/aws-sdk-go/aws/ec2metadata
Package ec2metadata provides the client for making API calls to the EC2 Metadata service.
Package ec2metadata provides the client for making API calls to the EC2 Metadata service.
_workspace/src/github.com/aws/aws-sdk-go/aws/session
Package session provides a way to create service clients with shared configuration and handlers.
Package session provides a way to create service clients with shared configuration and handlers.
_workspace/src/github.com/aws/aws-sdk-go/private/endpoints
Package endpoints validates regional endpoints for services.
Package endpoints validates regional endpoints for services.
_workspace/src/github.com/aws/aws-sdk-go/private/protocol/ec2query
Package ec2query provides serialisation of AWS EC2 requests and responses.
Package ec2query provides serialisation of AWS EC2 requests and responses.
_workspace/src/github.com/aws/aws-sdk-go/private/protocol/rest
Package rest provides RESTful serialization of AWS requests and responses.
Package rest provides RESTful serialization of AWS requests and responses.
_workspace/src/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil
Package xmlutil provides XML serialisation of AWS requests and responses.
Package xmlutil provides XML serialisation of AWS requests and responses.
_workspace/src/github.com/aws/aws-sdk-go/private/signer/v4
Package v4 implements signing for AWS V4 signer
Package v4 implements signing for AWS V4 signer
_workspace/src/github.com/aws/aws-sdk-go/service/ec2
Package ec2 provides a client for Amazon Elastic Compute Cloud.
Package ec2 provides a client for Amazon Elastic Compute Cloud.
_workspace/src/github.com/aws/aws-sdk-go/service/ec2/ec2iface
Package ec2iface provides an interface for the Amazon Elastic Compute Cloud.
Package ec2iface provides an interface for the Amazon Elastic Compute Cloud.
_workspace/src/github.com/go-ini/ini
Package ini provides INI file read and write functionality in Go.
Package ini provides INI file read and write functionality in Go.
_workspace/src/github.com/mitchellh/mapstructure
The mapstructure package exposes functionality to convert an abitrary map[string]interface{} into a native Go structure.
The mapstructure package exposes functionality to convert an abitrary map[string]interface{} into a native Go structure.
_workspace/src/github.com/rackspace/gophercloud
Package gophercloud provides a multi-vendor interface to OpenStack-compatible clouds.
Package gophercloud provides a multi-vendor interface to OpenStack-compatible clouds.
_workspace/src/github.com/rackspace/gophercloud/openstack/blockstorage/v1/apiversions
Package apiversions provides information and interaction with the different API versions for the OpenStack Block Storage service, code-named Cinder.
Package apiversions provides information and interaction with the different API versions for the OpenStack Block Storage service, code-named Cinder.
_workspace/src/github.com/rackspace/gophercloud/openstack/blockstorage/v1/snapshots
Package snapshots provides information and interaction with snapshots in the OpenStack Block Storage service.
Package snapshots provides information and interaction with snapshots in the OpenStack Block Storage service.
_workspace/src/github.com/rackspace/gophercloud/openstack/blockstorage/v1/volumes
Package volumes provides information and interaction with volumes in the OpenStack Block Storage service.
Package volumes provides information and interaction with volumes in the OpenStack Block Storage service.
_workspace/src/github.com/rackspace/gophercloud/openstack/blockstorage/v1/volumes/testing
This is package created is to hold fixtures (which imports testing), so that importing volumes package does not inadvertently import testing into production code More information here: https://github.com/rackspace/gophercloud/issues/473
This is package created is to hold fixtures (which imports testing), so that importing volumes package does not inadvertently import testing into production code More information here: https://github.com/rackspace/gophercloud/issues/473
_workspace/src/github.com/rackspace/gophercloud/openstack/blockstorage/v1/volumetypes
Package volumetypes provides information and interaction with volume types in the OpenStack Block Storage service.
Package volumetypes provides information and interaction with volume types in the OpenStack Block Storage service.
_workspace/src/github.com/rackspace/gophercloud/openstack/cdn/v1/base
Package base provides information and interaction with the base API resource in the OpenStack CDN service.
Package base provides information and interaction with the base API resource in the OpenStack CDN service.
_workspace/src/github.com/rackspace/gophercloud/openstack/cdn/v1/flavors
Package flavors provides information and interaction with the flavors API resource in the OpenStack CDN service.
Package flavors provides information and interaction with the flavors API resource in the OpenStack CDN service.
_workspace/src/github.com/rackspace/gophercloud/openstack/cdn/v1/serviceassets
Package serviceassets provides information and interaction with the serviceassets API resource in the OpenStack CDN service.
Package serviceassets provides information and interaction with the serviceassets API resource in the OpenStack CDN service.
_workspace/src/github.com/rackspace/gophercloud/openstack/cdn/v1/services
Package services provides information and interaction with the services API resource in the OpenStack CDN service.
Package services provides information and interaction with the services API resource in the OpenStack CDN service.
_workspace/src/github.com/rackspace/gophercloud/openstack/common/extensions
Package extensions provides information and interaction with the different extensions available for an OpenStack service.
Package extensions provides information and interaction with the different extensions available for an OpenStack service.
_workspace/src/github.com/rackspace/gophercloud/openstack/compute/v2/extensions
Package extensions provides information and interaction with the different extensions available for the OpenStack Compute service.
Package extensions provides information and interaction with the different extensions available for the OpenStack Compute service.
_workspace/src/github.com/rackspace/gophercloud/openstack/compute/v2/extensions/diskconfig
Package diskconfig provides information and interaction with the Disk Config extension that works with the OpenStack Compute service.
Package diskconfig provides information and interaction with the Disk Config extension that works with the OpenStack Compute service.
_workspace/src/github.com/rackspace/gophercloud/openstack/compute/v2/extensions/floatingip
Package floatingip provides the ability to manage floating ips through nova-network
Package floatingip provides the ability to manage floating ips through nova-network
_workspace/src/github.com/rackspace/gophercloud/openstack/compute/v2/extensions/keypairs
Package keypairs provides information and interaction with the Keypairs extension for the OpenStack Compute service.
Package keypairs provides information and interaction with the Keypairs extension for the OpenStack Compute service.
_workspace/src/github.com/rackspace/gophercloud/openstack/compute/v2/extensions/networks
Package network provides the ability to manage nova-networks
Package network provides the ability to manage nova-networks
_workspace/src/github.com/rackspace/gophercloud/openstack/compute/v2/extensions/schedulerhints
Package schedulerhints enables instances to provide the OpenStack scheduler hints about where they should be placed in the cloud.
Package schedulerhints enables instances to provide the OpenStack scheduler hints about where they should be placed in the cloud.
_workspace/src/github.com/rackspace/gophercloud/openstack/compute/v2/extensions/servergroups
Package servergroups provides the ability to manage server groups
Package servergroups provides the ability to manage server groups
_workspace/src/github.com/rackspace/gophercloud/openstack/compute/v2/extensions/startstop
Package startstop provides functionality to start and stop servers that have been provisioned by the OpenStack Compute service.
Package startstop provides functionality to start and stop servers that have been provisioned by the OpenStack Compute service.
_workspace/src/github.com/rackspace/gophercloud/openstack/compute/v2/extensions/tenantnetworks
Package tenantnetworks provides the ability for tenants to see information about the networks they have access to
Package tenantnetworks provides the ability for tenants to see information about the networks they have access to
_workspace/src/github.com/rackspace/gophercloud/openstack/compute/v2/extensions/volumeattach
Package volumeattach provides the ability to attach and detach volumes to instances
Package volumeattach provides the ability to attach and detach volumes to instances
_workspace/src/github.com/rackspace/gophercloud/openstack/compute/v2/extensions/volumeattach/testing
This is package created is to hold fixtures (which imports testing), so that importing volumeattach package does not inadvertently import testing into production code More information here: https://github.com/rackspace/gophercloud/issues/473
This is package created is to hold fixtures (which imports testing), so that importing volumeattach package does not inadvertently import testing into production code More information here: https://github.com/rackspace/gophercloud/issues/473
_workspace/src/github.com/rackspace/gophercloud/openstack/compute/v2/flavors
Package flavors provides information and interaction with the flavor API resource in the OpenStack Compute service.
Package flavors provides information and interaction with the flavor API resource in the OpenStack Compute service.
_workspace/src/github.com/rackspace/gophercloud/openstack/compute/v2/images
Package images provides information and interaction with the image API resource in the OpenStack Compute service.
Package images provides information and interaction with the image API resource in the OpenStack Compute service.
_workspace/src/github.com/rackspace/gophercloud/openstack/compute/v2/servers
Package servers provides information and interaction with the server API resource in the OpenStack Compute service.
Package servers provides information and interaction with the server API resource in the OpenStack Compute service.
_workspace/src/github.com/rackspace/gophercloud/openstack/db/v1/configurations
Package configurations provides information and interaction with the configuration API resource in the Rackspace Database service.
Package configurations provides information and interaction with the configuration API resource in the Rackspace Database service.
_workspace/src/github.com/rackspace/gophercloud/openstack/db/v1/databases
Package flavors provides information and interaction with the database API resource in the OpenStack Database service.
Package flavors provides information and interaction with the database API resource in the OpenStack Database service.
_workspace/src/github.com/rackspace/gophercloud/openstack/db/v1/datastores
Package datastores provides information and interaction with the datastore API resource in the Rackspace Database service.
Package datastores provides information and interaction with the datastore API resource in the Rackspace Database service.
_workspace/src/github.com/rackspace/gophercloud/openstack/db/v1/flavors
Package flavors provides information and interaction with the flavor API resource in the OpenStack Database service.
Package flavors provides information and interaction with the flavor API resource in the OpenStack Database service.
_workspace/src/github.com/rackspace/gophercloud/openstack/db/v1/instances
Package instances provides information and interaction with the instance API resource in the OpenStack Database service.
Package instances provides information and interaction with the instance API resource in the OpenStack Database service.
_workspace/src/github.com/rackspace/gophercloud/openstack/db/v1/users
Package users provides information and interaction with the user API resource in the OpenStack Database service.
Package users provides information and interaction with the user API resource in the OpenStack Database service.
_workspace/src/github.com/rackspace/gophercloud/openstack/identity/v2/extensions
Package extensions provides information and interaction with the different extensions available for the OpenStack Identity service.
Package extensions provides information and interaction with the different extensions available for the OpenStack Identity service.
_workspace/src/github.com/rackspace/gophercloud/openstack/identity/v2/extensions/admin/roles
Package roles provides functionality to interact with and control roles on the API.
Package roles provides functionality to interact with and control roles on the API.
_workspace/src/github.com/rackspace/gophercloud/openstack/identity/v2/tenants
Package tenants provides information and interaction with the tenants API resource for the OpenStack Identity service.
Package tenants provides information and interaction with the tenants API resource for the OpenStack Identity service.
_workspace/src/github.com/rackspace/gophercloud/openstack/identity/v2/tokens
Package tokens provides information and interaction with the token API resource for the OpenStack Identity service.
Package tokens provides information and interaction with the token API resource for the OpenStack Identity service.
_workspace/src/github.com/rackspace/gophercloud/openstack/identity/v3/endpoints
Package endpoints provides information and interaction with the service endpoints API resource in the OpenStack Identity service.
Package endpoints provides information and interaction with the service endpoints API resource in the OpenStack Identity service.
_workspace/src/github.com/rackspace/gophercloud/openstack/identity/v3/roles
Package roles provides information and interaction with the roles API resource for the OpenStack Identity service.
Package roles provides information and interaction with the roles API resource for the OpenStack Identity service.
_workspace/src/github.com/rackspace/gophercloud/openstack/identity/v3/services
Package services provides information and interaction with the services API resource for the OpenStack Identity service.
Package services provides information and interaction with the services API resource for the OpenStack Identity service.
_workspace/src/github.com/rackspace/gophercloud/openstack/identity/v3/tokens
Package tokens provides information and interaction with the token API resource for the OpenStack Identity service.
Package tokens provides information and interaction with the token API resource for the OpenStack Identity service.
_workspace/src/github.com/rackspace/gophercloud/openstack/networking/v2/apiversions
Package apiversions provides information and interaction with the different API versions for the OpenStack Neutron service.
Package apiversions provides information and interaction with the different API versions for the OpenStack Neutron service.
_workspace/src/github.com/rackspace/gophercloud/openstack/networking/v2/extensions/external
Package external provides information and interaction with the external extension for the OpenStack Networking service.
Package external provides information and interaction with the external extension for the OpenStack Networking service.
_workspace/src/github.com/rackspace/gophercloud/openstack/networking/v2/extensions/fwaas
Package fwaas provides information and interaction with the Firewall as a Service extension for the OpenStack Networking service.
Package fwaas provides information and interaction with the Firewall as a Service extension for the OpenStack Networking service.
_workspace/src/github.com/rackspace/gophercloud/openstack/networking/v2/extensions/layer3
Package layer3 provides access to the Layer-3 networking extension for the OpenStack Neutron service.
Package layer3 provides access to the Layer-3 networking extension for the OpenStack Neutron service.
_workspace/src/github.com/rackspace/gophercloud/openstack/networking/v2/extensions/lbaas
Package lbaas provides information and interaction with the Load Balancer as a Service extension for the OpenStack Networking service.
Package lbaas provides information and interaction with the Load Balancer as a Service extension for the OpenStack Networking service.
_workspace/src/github.com/rackspace/gophercloud/openstack/networking/v2/extensions/provider
Package provider gives access to the provider Neutron plugin, allowing network extended attributes.
Package provider gives access to the provider Neutron plugin, allowing network extended attributes.
_workspace/src/github.com/rackspace/gophercloud/openstack/networking/v2/extensions/security
Package security contains functionality to work with security group and security group rules Neutron resources.
Package security contains functionality to work with security group and security group rules Neutron resources.
_workspace/src/github.com/rackspace/gophercloud/openstack/networking/v2/networks
Package networks contains functionality for working with Neutron network resources.
Package networks contains functionality for working with Neutron network resources.
_workspace/src/github.com/rackspace/gophercloud/openstack/networking/v2/ports
Package ports contains functionality for working with Neutron port resources.
Package ports contains functionality for working with Neutron port resources.
_workspace/src/github.com/rackspace/gophercloud/openstack/networking/v2/subnets
Package subnets contains functionality for working with Neutron subnet resources.
Package subnets contains functionality for working with Neutron subnet resources.
_workspace/src/github.com/rackspace/gophercloud/openstack/objectstorage/v1/accounts
Package accounts contains functionality for working with Object Storage account resources.
Package accounts contains functionality for working with Object Storage account resources.
_workspace/src/github.com/rackspace/gophercloud/openstack/objectstorage/v1/containers
Package containers contains functionality for working with Object Storage container resources.
Package containers contains functionality for working with Object Storage container resources.
_workspace/src/github.com/rackspace/gophercloud/openstack/objectstorage/v1/objects
Package objects contains functionality for working with Object Storage object resources.
Package objects contains functionality for working with Object Storage object resources.
_workspace/src/github.com/rackspace/gophercloud/openstack/orchestration/v1/apiversions
Package apiversions provides information and interaction with the different API versions for the OpenStack Heat service.
Package apiversions provides information and interaction with the different API versions for the OpenStack Heat service.
_workspace/src/github.com/rackspace/gophercloud/openstack/orchestration/v1/buildinfo
Package buildinfo provides build information about heat deployments.
Package buildinfo provides build information about heat deployments.
_workspace/src/github.com/rackspace/gophercloud/openstack/orchestration/v1/stackevents
Package stackevents provides operations for finding, listing, and retrieving stack events.
Package stackevents provides operations for finding, listing, and retrieving stack events.
_workspace/src/github.com/rackspace/gophercloud/openstack/orchestration/v1/stackresources
Package stackresources provides operations for working with stack resources.
Package stackresources provides operations for working with stack resources.
_workspace/src/github.com/rackspace/gophercloud/openstack/orchestration/v1/stacks
Package stacks provides operation for working with Heat stacks.
Package stacks provides operation for working with Heat stacks.
_workspace/src/github.com/rackspace/gophercloud/openstack/orchestration/v1/stacktemplates
Package stacktemplates provides operations for working with Heat templates.
Package stacktemplates provides operations for working with Heat templates.
_workspace/src/github.com/rackspace/gophercloud/pagination
Package pagination contains utilities and convenience structs that implement common pagination idioms within OpenStack APIs.
Package pagination contains utilities and convenience structs that implement common pagination idioms within OpenStack APIs.
_workspace/src/github.com/rackspace/gophercloud/rackspace/blockstorage/v1/snapshots
Package snapshots provides information and interaction with the snapshot API resource for the Rackspace Block Storage service.
Package snapshots provides information and interaction with the snapshot API resource for the Rackspace Block Storage service.
_workspace/src/github.com/rackspace/gophercloud/rackspace/blockstorage/v1/volumes
Package volumes provides information and interaction with the volume API resource for the Rackspace Block Storage service.
Package volumes provides information and interaction with the volume API resource for the Rackspace Block Storage service.
_workspace/src/github.com/rackspace/gophercloud/rackspace/blockstorage/v1/volumetypes
Package volumetypes provides information and interaction with the volume type API resource for the Rackspace Block Storage service.
Package volumetypes provides information and interaction with the volume type API resource for the Rackspace Block Storage service.
_workspace/src/github.com/rackspace/gophercloud/rackspace/cdn/v1/base
Package base provides information and interaction with the base API resource in the Rackspace CDN service.
Package base provides information and interaction with the base API resource in the Rackspace CDN service.
_workspace/src/github.com/rackspace/gophercloud/rackspace/cdn/v1/flavors
Package flavors provides information and interaction with the flavors API resource in the Rackspace CDN service.
Package flavors provides information and interaction with the flavors API resource in the Rackspace CDN service.
_workspace/src/github.com/rackspace/gophercloud/rackspace/cdn/v1/serviceassets
Package serviceassets provides information and interaction with the serviceassets API resource in the Rackspace CDN service.
Package serviceassets provides information and interaction with the serviceassets API resource in the Rackspace CDN service.
_workspace/src/github.com/rackspace/gophercloud/rackspace/cdn/v1/services
Package services provides information and interaction with the services API resource in the Rackspace CDN service.
Package services provides information and interaction with the services API resource in the Rackspace CDN service.
_workspace/src/github.com/rackspace/gophercloud/rackspace/compute/v2/flavors
Package flavors provides information and interaction with the flavor API resource for the Rackspace Cloud Servers service.
Package flavors provides information and interaction with the flavor API resource for the Rackspace Cloud Servers service.
_workspace/src/github.com/rackspace/gophercloud/rackspace/compute/v2/images
Package images provides information and interaction with the image API resource for the Rackspace Cloud Servers service.
Package images provides information and interaction with the image API resource for the Rackspace Cloud Servers service.
_workspace/src/github.com/rackspace/gophercloud/rackspace/compute/v2/keypairs
Package keypairs provides information and interaction with the keypair API resource for the Rackspace Cloud Servers service.
Package keypairs provides information and interaction with the keypair API resource for the Rackspace Cloud Servers service.
_workspace/src/github.com/rackspace/gophercloud/rackspace/compute/v2/networks
Package networks provides information and interaction with the network API resource for the Rackspace Cloud Servers service.
Package networks provides information and interaction with the network API resource for the Rackspace Cloud Servers service.
_workspace/src/github.com/rackspace/gophercloud/rackspace/compute/v2/servers
Package servers provides information and interaction with the server API resource for the Rackspace Cloud Servers service.
Package servers provides information and interaction with the server API resource for the Rackspace Cloud Servers service.
_workspace/src/github.com/rackspace/gophercloud/rackspace/compute/v2/volumeattach
Package volumeattach provides the ability to attach and detach volume to instances to Rackspace servers
Package volumeattach provides the ability to attach and detach volume to instances to Rackspace servers
_workspace/src/github.com/rackspace/gophercloud/rackspace/db/v1/backups
Package backups provides information and interaction with the backup API resource in the Rackspace Database service.
Package backups provides information and interaction with the backup API resource in the Rackspace Database service.
_workspace/src/github.com/rackspace/gophercloud/rackspace/db/v1/databases
Package databases provides information and interaction with the database API resource in the Rackspace Database service.
Package databases provides information and interaction with the database API resource in the Rackspace Database service.
_workspace/src/github.com/rackspace/gophercloud/rackspace/db/v1/flavors
Package flavors provides information and interaction with the flavor API resource in the Rackspace Database service.
Package flavors provides information and interaction with the flavor API resource in the Rackspace Database service.
_workspace/src/github.com/rackspace/gophercloud/rackspace/db/v1/instances
Package instances provides information and interaction with the instance API resource in the Rackspace Database service.
Package instances provides information and interaction with the instance API resource in the Rackspace Database service.
_workspace/src/github.com/rackspace/gophercloud/rackspace/db/v1/users
Package users provides information and interaction with the user API resource in the Rackspace Database service.
Package users provides information and interaction with the user API resource in the Rackspace Database service.
_workspace/src/github.com/rackspace/gophercloud/rackspace/identity/v2/extensions
Package extensions provides information and interaction with the all the extensions available for the Rackspace Identity service.
Package extensions provides information and interaction with the all the extensions available for the Rackspace Identity service.
_workspace/src/github.com/rackspace/gophercloud/rackspace/identity/v2/tenants
Package tenants provides information and interaction with the tenant API resource for the Rackspace Identity service.
Package tenants provides information and interaction with the tenant API resource for the Rackspace Identity service.
_workspace/src/github.com/rackspace/gophercloud/rackspace/identity/v2/tokens
Package tokens provides information and interaction with the token API resource for the Rackspace Identity service.
Package tokens provides information and interaction with the token API resource for the Rackspace Identity service.
_workspace/src/github.com/rackspace/gophercloud/rackspace/lb/v1/acl
Package acl provides information and interaction with the access lists feature of the Rackspace Cloud Load Balancer service.
Package acl provides information and interaction with the access lists feature of the Rackspace Cloud Load Balancer service.
_workspace/src/github.com/rackspace/gophercloud/rackspace/lb/v1/lbs
Package lbs provides information and interaction with the Load Balancer API resource for the Rackspace Cloud Load Balancer service.
Package lbs provides information and interaction with the Load Balancer API resource for the Rackspace Cloud Load Balancer service.
_workspace/src/github.com/rackspace/gophercloud/rackspace/lb/v1/monitors
Package monitors provides information and interaction with the Health Monitor API resource for the Rackspace Cloud Load Balancer service.
Package monitors provides information and interaction with the Health Monitor API resource for the Rackspace Cloud Load Balancer service.
_workspace/src/github.com/rackspace/gophercloud/rackspace/lb/v1/nodes
Package nodes provides information and interaction with the Node API resource for the Rackspace Cloud Load Balancer service.
Package nodes provides information and interaction with the Node API resource for the Rackspace Cloud Load Balancer service.
_workspace/src/github.com/rackspace/gophercloud/rackspace/lb/v1/sessions
Package sessions provides information and interaction with the Session Persistence feature of the Rackspace Cloud Load Balancer service.
Package sessions provides information and interaction with the Session Persistence feature of the Rackspace Cloud Load Balancer service.
_workspace/src/github.com/rackspace/gophercloud/rackspace/lb/v1/ssl
Package ssl provides information and interaction with the SSL Termination feature of the Rackspace Cloud Load Balancer service.
Package ssl provides information and interaction with the SSL Termination feature of the Rackspace Cloud Load Balancer service.
_workspace/src/github.com/rackspace/gophercloud/rackspace/lb/v1/throttle
Package throttle provides information and interaction with the Connection Throttling feature of the Rackspace Cloud Load Balancer service.
Package throttle provides information and interaction with the Connection Throttling feature of the Rackspace Cloud Load Balancer service.
_workspace/src/github.com/rackspace/gophercloud/rackspace/lb/v1/vips
Package vips provides information and interaction with the Virtual IP API resource for the Rackspace Cloud Load Balancer service.
Package vips provides information and interaction with the Virtual IP API resource for the Rackspace Cloud Load Balancer service.
_workspace/src/github.com/rackspace/gophercloud/rackspace/networking/v2/security
Package security contains functionality to work with security group and security group rules Neutron resources.
Package security contains functionality to work with security group and security group rules Neutron resources.
_workspace/src/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/accounts
Package accounts provides information and interaction with the account API resource for the Rackspace Cloud Files service.
Package accounts provides information and interaction with the account API resource for the Rackspace Cloud Files service.
_workspace/src/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/bulk
Package bulk provides functionality for working with bulk operations in the Rackspace Cloud Files service.
Package bulk provides functionality for working with bulk operations in the Rackspace Cloud Files service.
_workspace/src/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/cdncontainers
Package cdncontainers provides information and interaction with the CDN Container API resource for the Rackspace Cloud Files service.
Package cdncontainers provides information and interaction with the CDN Container API resource for the Rackspace Cloud Files service.
_workspace/src/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/cdnobjects
Package cdnobjects provides information and interaction with the CDN Object API resource for the Rackspace Cloud Files service.
Package cdnobjects provides information and interaction with the CDN Object API resource for the Rackspace Cloud Files service.
_workspace/src/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/containers
Package containers provides information and interaction with the Container API resource for the Rackspace Cloud Files service.
Package containers provides information and interaction with the Container API resource for the Rackspace Cloud Files service.
_workspace/src/github.com/rackspace/gophercloud/rackspace/objectstorage/v1/objects
Package objects provides information and interaction with the Object API resource for the Rackspace Cloud Files service.
Package objects provides information and interaction with the Object API resource for the Rackspace Cloud Files service.
_workspace/src/github.com/rackspace/gophercloud/rackspace/orchestration/v1/buildinfo
Package buildinfo provides build information about heat deployments.
Package buildinfo provides build information about heat deployments.
_workspace/src/github.com/rackspace/gophercloud/rackspace/orchestration/v1/stackevents
Package stackevents provides operations for finding, listing, and retrieving stack events.
Package stackevents provides operations for finding, listing, and retrieving stack events.
_workspace/src/github.com/rackspace/gophercloud/rackspace/orchestration/v1/stackresources
Package stackresources provides operations for working with stack resources.
Package stackresources provides operations for working with stack resources.
_workspace/src/github.com/rackspace/gophercloud/rackspace/orchestration/v1/stacks
Package stacks provides operation for working with Heat stacks.
Package stacks provides operation for working with Heat stacks.
_workspace/src/github.com/rackspace/gophercloud/rackspace/orchestration/v1/stacktemplates
Package stacktemplates provides operations for working with Heat templates.
Package stacktemplates provides operations for working with Heat templates.
_workspace/src/github.com/rackspace/gophercloud/rackspace/rackconnect/v3
Package rackconnect allows Rackspace cloud accounts to leverage version 3 of RackConnect, Rackspace's hybrid connectivity solution connecting dedicated and cloud servers.
Package rackconnect allows Rackspace cloud accounts to leverage version 3 of RackConnect, Rackspace's hybrid connectivity solution connecting dedicated and cloud servers.
_workspace/src/github.com/rackspace/gophercloud/rackspace/rackconnect/v3/lbpools
Package lbpools provides access to load balancer pools associated with a RackConnect configuration.
Package lbpools provides access to load balancer pools associated with a RackConnect configuration.
_workspace/src/github.com/rackspace/gophercloud/testhelper
Package testhelper container methods that are useful for writing unit tests.
Package testhelper container methods that are useful for writing unit tests.
_workspace/src/github.com/vmware/govmomi
This package is the root package of the govmomi library.
This package is the root package of the govmomi library.
_workspace/src/github.com/vmware/govmomi/ovf
Package ovf provides functionality to unmarshal and inspect the structure of an OVF file.
Package ovf provides functionality to unmarshal and inspect the structure of an OVF file.
_workspace/src/github.com/vmware/govmomi/test
Package test contains functions that implement common functionality between tests.
Package test contains functions that implement common functionality between tests.
_workspace/src/github.com/vmware/govmomi/vim25
Package vim25 provides a minimal client implementation to use with other packages in the vim25 tree.
Package vim25 provides a minimal client implementation to use with other packages in the vim25 tree.
_workspace/src/github.com/vmware/govmomi/vim25/xml
Package xml implements a simple XML 1.0 parser that understands XML name spaces.
Package xml implements a simple XML 1.0 parser that understands XML name spaces.
_workspace/src/golang.org/x/crypto/curve25519
Package curve25519 provides an implementation of scalar multiplication on the elliptic curve known as curve25519.
Package curve25519 provides an implementation of scalar multiplication on the elliptic curve known as curve25519.
_workspace/src/golang.org/x/crypto/pkcs12
Package pkcs12 implements some of PKCS#12.
Package pkcs12 implements some of PKCS#12.
_workspace/src/golang.org/x/crypto/ssh
Package ssh implements an SSH client and server.
Package ssh implements an SSH client and server.
_workspace/src/golang.org/x/crypto/ssh/agent
Package agent implements a client to an ssh-agent daemon.
Package agent implements a client to an ssh-agent daemon.
_workspace/src/golang.org/x/crypto/ssh/terminal
Package terminal provides support functions for dealing with terminals, as commonly found on UNIX systems.
Package terminal provides support functions for dealing with terminals, as commonly found on UNIX systems.
_workspace/src/golang.org/x/crypto/ssh/test
This package contains integration tests for the golang.org/x/crypto/ssh package.
This package contains integration tests for the golang.org/x/crypto/ssh package.
_workspace/src/golang.org/x/net/context
Package context defines the Context type, which carries deadlines, cancelation signals, and other request-scoped values across API boundaries and between processes.
Package context defines the Context type, which carries deadlines, cancelation signals, and other request-scoped values across API boundaries and between processes.
_workspace/src/golang.org/x/net/context/ctxhttp
Package ctxhttp provides helper functions for performing context-aware HTTP requests.
Package ctxhttp provides helper functions for performing context-aware HTTP requests.
aws
Package aws provides a standard way to create a virtual machine on AWS.
Package aws provides a standard way to create a virtual machine on AWS.
azure
Package azure provides methods for creating and manipulating VMs on Azure.
Package azure provides methods for creating and manipulating VMs on Azure.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL