From nikodemus at random-state.net Sun Apr 24 14:42:32 2011 From: nikodemus at random-state.net (Nikodemus Siivola) Date: Sun, 24 Apr 2011 17:42:32 +0300 Subject: [cl-ec2-devel] Updates on Github In-Reply-To: References: Message-ID: Tree: https://github.com/nikodemus/ec2 as grown some commits since last time. Cheers, -- Nikodemus Summary of new stuff: commit f4f1ee8499621856b83e7628105317a95e2e8543 Author: Nikodemus Siivola Date: Thu Mar 31 04:47:28 2011 +0300 fix bug in signature generation url-encoding Amazon's docs say: "Do not URL encode any of the unreserved characters that RFC 3986 defines. These unreserved characters are A-Z, a-z, 0-9, hyphen ( - ), underscore ( _ ), period ( . ), and tilde ( ~ )." Prior to this we also skipped encoding $!*'(), and didn't skip the tilde. commit 1b375284417b5b6e1cd8b36218725d4504730b7e Author: Nikodemus Siivola Date: Thu Mar 31 04:50:27 2011 +0300 export CREATE-SECURITY-GROUP commit ba8d210e67fed4dd3bcbcda4249631360c4f70af Author: Nikodemus Siivola Date: Thu Mar 31 23:03:03 2011 +0300 added STOPPEDP and STOPPINGP I cannot help but think that we should map statuses to keywords instead. commit 2d17fdea8d0c2699941bd916bfdff48776a90225 Author: Nikodemus Siivola Date: Thu Mar 31 23:04:15 2011 +0300 RUN-INSTANCES now returns a list if multiple instances were started Also accept :MINCOUNT and :MAXCOUNT as integers, in addition to string. commit d5f8bd9112757f18861b2455c7e6dff227686d21 Author: Nikodemus Siivola Date: Fri Apr 1 03:01:21 2011 +0300 add DEREGISTER-IMAGE commit aa351805799afa3f4fdb8a7cf39ff49b0adb1086 Author: Nikodemus Siivola Date: Fri Apr 22 09:54:46 2011 +0300 tweak MAKE-INITIATED-INSTANCE Delete GET-INITIATED-INSTANCE, unused. commit 47dfda447594d0152382e89d8ff0d030a34baecb Author: Nikodemus Siivola Date: Fri Apr 22 09:56:29 2011 +0300 first cut at the Amazon Elastic Load Balancing API * Use DEFACTION to speficy the API -- easier to add support for other API versions this way. * All actions in 2009-05-15 API implemented. * Responses as unparsed lists for now. commit 54799c97818af3a93483c13a970bf91c7e0868ff Author: Nikodemus Siivola Date: Fri Apr 22 16:08:51 2011 +0300 load balancer: specification based result parsing Also add load-balancing.lisp to the .asd. commit 3e716faf0fd4bc917a741648fff03fffc9fde054 Author: Nikodemus Siivola Date: Fri Apr 22 16:23:57 2011 +0300 load balancer API: more result parsing commit 3f93a90ad07b3b31ebe3912d353a2e8079b1f0d0 Author: Nikodemus Siivola Date: Sun Apr 24 15:57:43 2011 +0300 load balancing: more result parsing commit 9b6fdc8ecc12a79f4cf4ffb5556f7f17348e67a3 Author: Nikodemus Siivola Date: Sun Apr 24 17:29:55 2011 +0300 load balancing: rest of response parsing, cleaning up * All responses should now be parsed. * Make the argument order to API functions more consistent. * Fix a minor naming bug. From nikodemus at random-state.net Sun Apr 24 14:50:23 2011 From: nikodemus at random-state.net (Nikodemus Siivola) Date: Sun, 24 Apr 2011 17:50:23 +0300 Subject: [cl-ec2-devel] AWS API design thoughts Message-ID: Xach added ad-hoc to To: .. because I know he's been thinking about some of this stuff too. Having implemented one version of the load-balancing API with clever-but-dirty macrology, I'm pretty sure that sooner or later the rest should be reimplemented the same way -- otherwise it's hard to be sure the API is actually properly implemented, and not just some wierd subset. I'm also thinking that this is the way to support multiple API versions. (defclass 2010-01-01 (elb-api) ()) (with-api-version (2010-01-01) ...) where user-level API functions call generic functions specialized on the API class. A major reworking will break compatibility pretty seriously, though, so I suspect a if/when I get to that part I will make up a new project (CL-AWS?) so that users don't have the carpet yanked from beneath them... Another thought I had is that credentials should really be encapsulated in an object that doesn't print the secret key as part of its PRINT-OBJECT method: otherwise it's far too easy to leak your keys when pasting or posting a backtrace. Just FYI, musing out loud, etc. Cheers, -- Nikodemus