software/guile-aws.git
3 months agoAdd README. master
Ricardo Wurmus [Tue, 7 Jul 2020 21:25:01 +0000 (23:25 +0200)] 
Add README.

3 months agoaws/api: Add API update script.
Ricardo Wurmus [Tue, 7 Jul 2020 20:47:40 +0000 (22:47 +0200)] 
aws/api: Add API update script.

* aws/api/update.sh: New file.

3 months agoaws/api: Update EC2 API.
Ricardo Wurmus [Tue, 7 Jul 2020 20:46:39 +0000 (22:46 +0200)] 
aws/api: Update EC2 API.

* aws/api/ec2-2016-11-15.normal.json: Replace with version v2.680.0.
* aws/api/README: Update version information.

3 months agoaws/api: Update Cloudfront API.
Ricardo Wurmus [Tue, 7 Jul 2020 20:45:47 +0000 (22:45 +0200)] 
aws/api: Update Cloudfront API.

* aws/api/cloudfront-2019-03-26.normal.json: Replace with version v2.680.0.

3 months agoaws/api: Update S3 API.
Ricardo Wurmus [Tue, 7 Jul 2020 20:44:57 +0000 (22:44 +0200)] 
aws/api: Update S3 API.

* aws/api/s3-2006-03-01.normal.json: Replace with version v2.680.0.

3 months agoaws/request: make-operation->request: Use lowercase for authorization.
Ricardo Wurmus [Tue, 7 Jul 2020 20:17:37 +0000 (22:17 +0200)] 
aws/request: make-operation->request: Use lowercase for authorization.

When we use the symbol 'Authorization as the name of the header, Guile
complains "Bad request: Bad value for header Authorization".

We don't want or need Guile to make this judgement.  By using
'authorization we avoid this problem.

* aws/request.scm (make-operation->request)[new-headers]: Use
lowercase for authorization header name.

3 months agoaws/request: make-operation->request: Use requested HTTP method.
Ricardo Wurmus [Tue, 7 Jul 2020 19:31:49 +0000 (21:31 +0200)] 
aws/request: make-operation->request: Use requested HTTP method.

Don't just use POST; use whatever method the API operation requires.
Only add a request body for POST requests.

* aws/request.scm (make-operation->request): Use HTTP-REQUEST instead
of HTTP-POST.

3 months agoaws/request: make-operation->request: Include content hash header.
Ricardo Wurmus [Tue, 7 Jul 2020 19:28:01 +0000 (21:28 +0200)] 
aws/request: make-operation->request: Include content hash header.

The x-amz-content-sha256 is required for S3.

* aws/request.scm (make-operation->request)[headers]: Add
x-amz-content-sha256 header.

3 months agoaws/request: make-operation->request: Handle empty input values.
Ricardo Wurmus [Tue, 7 Jul 2020 19:27:13 +0000 (21:27 +0200)] 
aws/request: make-operation->request: Handle empty input values.

* aws/request.scm (make-operation->request)[request-parameters]:
Gracefully deal with empty input values.

3 months agoaws/request: make-operation->request: Define PAYLOAD-HASH.
Ricardo Wurmus [Tue, 7 Jul 2020 18:24:26 +0000 (20:24 +0200)] 
aws/request: make-operation->request: Define PAYLOAD-HASH.

* aws/request.scm (make-operation->request)[payload-hash]: New
variable definition.

3 months agoaws/request: Overwrite (web http)'s DEFAULT-VAL-WRITER.
Ricardo Wurmus [Tue, 7 Jul 2020 18:19:56 +0000 (20:19 +0200)] 
aws/request: Overwrite (web http)'s DEFAULT-VAL-WRITER.

The DEFAULT-VAL-WRITER procedure in Guile's (web http) module causes
values in headers to be quoted when they contain a semicolon.

The Authorization header that AWS expects contains a field
SignedHeaders whose value is a semicolon-separated list of header
names.  When this list is quoted AWS considers the opening quote
character to be part of the name of the first header and the closing
quote character to be part of the name of the last header.

* aws/request.scm (my-default-val-writer): New procedure; replace the
definition of DEFAULT-VAL-WRITER in Guile's (web http).

3 months agoAdd EFS API.
Ricardo Wurmus [Mon, 6 Jul 2020 15:53:31 +0000 (17:53 +0200)] 
Add EFS API.

* aws/api/elasticfilesystem-2015-02-01.normal.json: New file.
* Makefile.am (JSON_SOURCES): Add it.
* aws/api/README: Mention it.

4 months agoAdd ECR API.
Ricardo Wurmus [Mon, 25 May 2020 14:36:04 +0000 (16:36 +0200)] 
Add ECR API.

5 months agoAdd EBS API.
Ricardo Wurmus [Thu, 21 May 2020 05:23:22 +0000 (07:23 +0200)] 
Add EBS API.

5 months agoAdd ECS API.
Ricardo Wurmus [Wed, 20 May 2020 15:43:07 +0000 (17:43 +0200)] 
Add ECS API.

15 months agoInitial commit.
Ricardo Wurmus [Fri, 28 Jun 2019 23:51:57 +0000 (01:51 +0200)] 
Initial commit.