Documentation ¶
Index ¶
- Variables
- func AuthOptionsFromArgs(c *cli.Context) (*gophercloud.AuthOptions, error)
- func GetClients(credentials *gophercloud.AuthOptions, verbose bool) (*gophercloud.ServiceClient, *gophercloud.ServiceClient, error)
- func GetFlavor(clientNova *gophercloud.ServiceClient, flavorName string, verbose bool) (*flavors.Flavor, error)
- func GetImageMeta(clientNova *gophercloud.ServiceClient, imageName string, verbose bool) (*images.Image, error)
- func GetOrPickFlavor(clientNova *gophercloud.ServiceClient, flavorName string, diskMB int64, ...) (*flavors.Flavor, error)
- func LaunchInstances(clientNova *gophercloud.ServiceClient, name string, imageName string, ...) error
- func ObtainCredentials(c *cli.Context, verbose bool) (*gophercloud.AuthOptions, error)
- func PickFlavor(clientNova *gophercloud.ServiceClient, diskMB int64, memoryMB int64, ...) (*flavors.Flavor, error)
- func PushImage(clientGlance *gophercloud.ServiceClient, imageName string, ...)
Constants ¶
This section is empty.
Variables ¶
var OPENSTACK_CREDENTIALS_FLAGS = []cli.Flag{
&cli.StringFlag{Name: "OS_AUTH_URL", Usage: "OpenStack auth url (e.g. http://10.0.2.15:5000/v2.0)"},
&cli.StringFlag{Name: "OS_TENANT_ID", Usage: "OpenStack tenant id (e.g. 3dfe7bf545ff4885a3912a92a4a5f8e0)"},
&cli.StringFlag{Name: "OS_TENANT_NAME", Usage: "OpenStack tenant name (e.g. admin)"},
&cli.StringFlag{Name: "OS_PROJECT_NAME", Usage: "OpenStack project name (e.g. admin)"},
&cli.StringFlag{Name: "OS_USERNAME", Usage: "OpenStack username (e.g. admin)"},
&cli.StringFlag{Name: "OS_PASSWORD", Usage: "OpenStack password (*TODO*: leave blank to be prompted)"},
&cli.StringFlag{Name: "OS_REGION_NAME", Usage: "OpenStack username (e.g. RegionOne)"},
}
OPENSTACK_CREDENTIALS_FLAGS is a list of argumets that are used for OpenStack authentication. Append it to Flags list to enable direct authentication i.e. without environment variables.
Functions ¶
func AuthOptionsFromArgs ¶
func AuthOptionsFromArgs(c *cli.Context) (*gophercloud.AuthOptions, error)
AuthOptionsFromArgs fetches OpenStack credentials from command-line arguments. If not even a single argument is passed, then return nil without error.
func GetClients ¶
func GetClients(credentials *gophercloud.AuthOptions, verbose bool) (*gophercloud.ServiceClient, *gophercloud.ServiceClient, error)
GetClients authenticates against OpenStack Identity and obtains Nova and Glance client. Pass nil credentials to fetch it from environment.
func GetFlavor ¶
func GetFlavor(clientNova *gophercloud.ServiceClient, flavorName string, verbose bool) (*flavors.Flavor, error)
GetFlavor returns flavors.Flavor struct for given flavorName.
func GetImageMeta ¶
func GetImageMeta(clientNova *gophercloud.ServiceClient, imageName string, verbose bool) (*images.Image, error)
GetImageMeta returns images.Image struct for given imageName.
func GetOrPickFlavor ¶
func GetOrPickFlavor(clientNova *gophercloud.ServiceClient, flavorName string, diskMB int64, memoryMB int64, verbose bool) (*flavors.Flavor, error)
GetOrPickFlavor returns flavors.Flavor struct that best matches arguments. First it decides whether user wanted to get flavor by name or by criteria. In case of flavor name, it retrieves data about that flavor and returns it. In case of criteria (diskMB, memoryMB) it returns smallest flavor that meets all criteria.
func LaunchInstances ¶
func LaunchInstances(clientNova *gophercloud.ServiceClient, name string, imageName string, flavorName string, count int, verbose bool) error
LaunchInstances launches <count> instances. Return first error that occurs or nil on success.
func ObtainCredentials ¶
func ObtainCredentials(c *cli.Context, verbose bool) (*gophercloud.AuthOptions, error)
ObtainCredentials attempts to obtain OpenStack credentials either from command args eihter from env. If at least one command argument regarding credentials is non-empty, environment is ignored.
func PickFlavor ¶
func PickFlavor(clientNova *gophercloud.ServiceClient, diskMB int64, memoryMB int64, verbose bool) (*flavors.Flavor, error)
PickFlavor picks flavor that best matches criteria (i.e. HDD size and RAM size). While diskMB is required, memoryMB is optional (set to -1 to ignore).
func PushImage ¶
func PushImage(clientGlance *gophercloud.ServiceClient, imageName string, imageFilepath string, flavor *flavors.Flavor, verbose bool)
PushImage first creates meta for image at OpenStack, then it sends binary data for it, the qcow2 image.
Types ¶
This section is empty.