       (get-in spec' [:aws :availability-zone]) 
         (map-key [:aws :availability-zone] [:aws :placement :availability-zone])
       (get-in spec' [:aws :block-devices])
-        (map-key [:aws :block-devices] [:aws :block-device-mappings]))))
+        (map-key [:aws :block-devices] [:aws :block-device-mappings])
+      (get-in spec' [:aws :vpc]) assign-vpc)))
 
 (defmethod translate :aws [{:keys [aws machine] :as spec}] 
   [(aws :endpoint) (aws-spec spec) (or (machine :user) "root")])

(defn map-key [m from to]
  (dissoc-in* (assoc-in m to (get-in m from)) from))

(defn aws-spec 
  "Creates an ec2 spec" 
  [{:keys [aws machine] :as spec}]

  (clojure.set/subset? (into #{} (keys aws))
    #{:volumes :min-count :max-count :instance-type :ebs-optimized
      :key-name :placement :security-groups :network-interfaces
      :subnet-id :block-device-mappings}))

(defn create-instance 
   "creates instance from aws" 
