func (c *GenericClient) CreateInstance(d *Driver) (string, error) { serverOpts := servers.CreateOpts{ Name: d.MachineName, FlavorRef: d.FlavorId, ImageRef: d.ImageId, SecurityGroups: d.SecurityGroups, AvailabilityZone: d.AvailabilityZone, } if d.NetworkId != "" { serverOpts.Networks = []servers.Network{ { UUID: d.NetworkId, }, } } log.Info("Creating machine...") server, err := servers.Create(c.Compute, keypairs.CreateOptsExt{ serverOpts, d.KeyPairName, }).Extract() if err != nil { return "", err } return server.ID, nil }
func (c *GenericClient) CreateInstance(d *Driver) (string, error) { serverOpts := servers.CreateOpts{ Name: d.MachineName, FlavorRef: d.FlavorId, ImageRef: d.ImageId, SecurityGroups: d.SecurityGroups, AvailabilityZone: d.AvailabilityZone, } if len(d.NetworkIds) > 0 { networks := make([]servers.Network, len(d.NetworkIds)) for i, networkId := range d.NetworkIds { networks[i] = servers.Network{UUID: networkId} } serverOpts.Networks = networks } log.Info("Creating machine...") server, err := servers.Create(c.Compute, keypairs.CreateOptsExt{ serverOpts, d.KeyPairName, }).Extract() if err != nil { return "", err } return server.ID, nil }