                                 :on-click #(do
                                            (raise! owner [:edited-input {:path (input-path) :value nil}])
                                            (raise! owner [:saved-project-settings {:project-id project-id}])
-                                           false)}]))]]]])))))
-
-(defn aws-codedeploy [project-data owner]
+                                           false)}]))]]])))))
+
+(defn aws [project-data owner]
+  (reify
+    om/IRender
+    (render [_]
+      (let [project (:project project-data)]
+        (html
+         [:div.aws-page
+          [:h2 "AWS keys for " (vcs-url/project-name (:vcs_url project))]
+          [:div.aws-page-inner
+            (om/build aws-keys-form project-data)]])))))
+
+
+(defn aws-codedeploy-app-settings [project-data owner]
   (reify
     om/IRender
     (render [_]

            project-id (project-model/id project)
            controls-ch (om/get-shared owner [:comms :controls])
            input-path (fn [& ks] (apply conj state/inputs-path :aws :services :codedeploy ks))]
        (html
         [:div.aws-codedeploy
          [:h2 "CodeDeploy application settings for " (vcs-url/project-name (:vcs_url project))]

            project-id (project-model/id project)
            input-path (fn [& ks] (apply conj state/inputs-path :aws :keypair ks))]
        (html
          [:div
           [:p "Set the AWS keypair to be used for authenticating against AWS services during your builds. "
            "Credentials are installed on your containers into the " [:code "~/.aws/config"] " and "
            [:code "~/.aws/credentials"] " properties files. These are read by common AWS libraries such as "
