   (:endpoint m )
   (.status m)
   (.start m)
-  (celestial.model/set-env :dev 
-   (ebs/create-volume (assoc (celestial.model/hypervisor :aws) :endpoint "ec2.ap-southeast-2.amazonaws.com") 10 "ap-southeast-2b"))
-  (celestial.model/set-env :dev 
-   (ebs/delete-volume (assoc (celestial.model/hypervisor :aws) :endpoint "ec2.ap-southeast-2.amazonaws.com") "vol-b0286582"))
-  (celestial.model/set-env :dev 
-   (ebs/attach-volume (assoc (celestial.model/hypervisor :aws) :endpoint "ec2.ap-southeast-2.amazonaws.com") "vol-a9317c9b" "i-c7b66cfb" "/dev/sdn"))
-  (celestial.model/set-env :dev (instance-desc "ec2.ap-southeast-2.amazonaws.com" "i-c7b66cfb" :placement :availability-zone))
+  (clojure.pprint/pprint (celestial.model/set-env :dev 
+      (-> (instance-desc "ec2.eu-west-1.amazonaws.com" "i-395e1d76") :block-device-mappings rest)))
+  
+  
   
   ) 
 

  (let [zone (instance-desc endpoint instance-id :placement :availability-zone)]
    (doseq [{:keys [device size]} volumes]
      (let [{:keys [volumeId]} (with-ctx ebs/create-volume size zone)]
        (with-ctx ebs/attach-volume volumeId instance-id device)
        (wait-for [10 :minute]
            #(= "attached" (with-ctx ebs/attachment-status volumeId))
            {:type ::aws:ebs-volume-attach-failed :message "Failed to wait for ebs volume device attach"})
        ))))

(defconstrainedrecord Instance [endpoint spec user]
  "An Ec2 instance"

  (delete [this]
    (with-instance-id
      (debug "deleting" instance-id)
      (delete-volumes endpoint instance-id) 
      (with-ctx ec2/terminate-instances instance-id) 
      (wait-for-status this "terminated" [5 :minute])))

  (stop [this]
