// PrecheckInstance is defined on the state.Prechecker interface. func (env *joyentEnviron) PrecheckInstance(series string, cons constraints.Value, placement string) error { if placement != "" { return fmt.Errorf("unknown placement directive: %s", placement) } if !cons.HasInstanceType() { return nil } // Constraint has an instance-type constraint so let's see if it is valid. instanceTypes, err := env.listInstanceTypes() if err != nil { return err } for _, instanceType := range instanceTypes { if instanceType.Name == *cons.InstanceType { return nil } } return fmt.Errorf("invalid Joyent instance %q specified", *cons.InstanceType) }