// TODO(bug 1199847): This work can be shared between providers. func (e *environ) StartInstance(machineId, machineNonce string, series string, cons constraints.Value, stateInfo *state.Info, apiInfo *api.Info) (instance.Instance, *instance.HardwareCharacteristics, error) { possibleTools, err := environs.FindInstanceTools(e, series, cons) if err != nil { return nil, nil, err } err = environs.CheckToolsSeries(possibleTools, series) if err != nil { return nil, nil, err } machineConfig := environs.NewMachineConfig(machineId, machineNonce, stateInfo, apiInfo) return e.internalStartInstance(cons, possibleTools, machineConfig) }
// StartInstance is specified in the Environ interface. // TODO(bug 1199847): This work can be shared between providers. func (env *azureEnviron) StartInstance(machineID, machineNonce string, series string, cons constraints.Value, stateInfo *state.Info, apiInfo *api.Info) (instance.Instance, *instance.HardwareCharacteristics, error) { possibleTools, err := environs.FindInstanceTools(env, series, cons) if err != nil { return nil, nil, err } err = environs.CheckToolsSeries(possibleTools, series) if err != nil { return nil, nil, err } machineConfig := environs.NewMachineConfig(machineID, machineNonce, stateInfo, apiInfo) // TODO(bug 1193998) - return instance hardware characteristics as well. inst, err := env.internalStartInstance(cons, possibleTools, machineConfig) return inst, nil, err }