Overview of all Amazon AWS APIs
aws-api.info
aws-api.info
Each one is available from https://aws.amazon.com/documentation/ -> click service -> click "Api Reference"
If all you've saved is one click, I don't think it's worth it, so what else does this do?
https://web.archive.org/web/20150910211935/https://www.exped...
I'm sure they expect you to use a client written in your language of choice, not actually send queries to the API manually.
For the most part they are created via code generation (to my knowledge), which while not necessarily making for the best user-friendly API (Although it's not bad), does make it fairly consistent in terms of groking how to accomplish automating a task.
Providing an AWS account that people could use is a security nightmare, and many of the operations have charges associated with them.
If I provide my aws credentials, then he could proxy through his server and request on my behalf, but I wouldn't want to give him my credentials and I might as well just play with the aws-cli which exposes pretty much all of the same calls anyways.
My use-case for it was that I'd write it all in Erlang, and then each public port on a mocked EC2 instance would have a single Erlang process hooked up to it to respond to messages coming to that instance-IP:port. So you could set up something that looked like a thousand-node distributed VPC, from the perspective of an AWS client talking to the API, and it would all sit in a couple MB of RAM and near-zero CPU.
Okay so I didn't do this, but I have seen several folks where I work create some stubbed AWS services to facilitate testing. I'll have to ask them if this turned out to be worth the (gargantuan) effort.
Edit: Looks like there are a couple[1] instances[2] where people have done this to some degree. Many of them are very old, though. The one built by a team where I work only implements SNS/SQS as well, so there's a pretty big gap for other interfaces. It seems like the recommended way to do this is to just use something like EasyMock or whatever and stub rather than have an actual API implemented for integration testing. I'm not sure I'm satisfied with that answer; on the other hand, it's substantially easy for a custom implementation to wildly differ from the actual AWS API behavior... Seems risky to base integration testing results on that?
S3
[A1] https://github.com/jubos/fake-s3
[A2] https://github.com/scality/s3
[A3] http://s3ninja.net/
[A4] https://github.com/basho/riak_cs
[A5] https://www.npmjs.com/package/s3rver
[A6] http://ceph.com/ceph-storage/object-storage/
----
SQS / SNS
[B1] https://github.com/iain/fake_sqs
[B2] https://github.com/yourkarma/fake_sns
[B3] https://github.com/adamw/elasticmq
[B4] https://github.com/p4tin/goaws
[B5] http://stratosphere.codeplex.com/
[B6] https://github.com/unbounce/yopa
----
DynamoDB
[C1] https://github.com/mhart/dynalite
[C2] https://github.com/ananthakumaran/fake_dynamo
----
SimpleDB
I think it's worth noting that some of these libraries have different intended goals. For example: Riak CS is intended as an alternative that you can use in production, while s3rver is meant for testing.
https://github.com/minio/minio - Minio is an object storage server compatible with Amazon S3 and licensed under Apache 2.0 License.
Disclaimer: I work for Minio.
The first part is rapidly becoming less true; any of the services enabled by default on this page support browser calls by default.
I'm kind of thinking that a command line tool for elastic search similar to the AWS command line isn't a bad idea. In general when I can't remember an AWS API call, instead of googling, I just use the AWS cli. I find it faster than google or a reference like this. Anyone else?
One thing people should know about AWS and AWS APIs in general is that it is a ghetto. The ad-hoc nature of most AWS services and their weird interactions is indicative of generally bad design. Even with the AWS Ruby SDK I can barely get anything done without consulting 5 different references about which parameters are required, which are optional, and what the sequence of various calls is supposed to be to get an intended result.
So even though this is useful a cookbook would have been much more useful.
Somebody should create a cool map/visualization of the AWS landscape. (Possibly relating it to some other concept: AWS as a small town, Disney World, or Simpsons' Springfield?)
https://github.com/boto/boto3/tree/develop/boto3/data
P.S. Agree that not all of the services adhere to the same bar.
Or did you actually scrape the documentation web pages?