summaryrefslogtreecommitdiff
path: root/aws
Commit message (Collapse)AuthorAgeFilesLines
* request: Split up big make-operation->request procedure.Ricardo Wurmus2021-06-291-75/+114
| | | | | | * aws/request.scm (make-operation->request): Break out two new procedures, namely... (sign-headers, compute-signature): ...these new procedures.
* Add support for Cost Explorer API.Ricardo Wurmus2021-04-172-1/+3320
|
* aws/request: Use parameters for AWS settings.Ricardo Wurmus2021-04-091-6/+18
|
* Add support for Route 53 API.Ricardo Wurmus2021-03-284-12/+5333
| | | | | | | | | | | | | * aws/api/route53-2013-04-01.normal.json: New API file. * Makefile.am (JSON_SOURCES): Add it. * aws/base.scm (aws-operation): Pass xml-namespace to requester. * aws/request.scm (request-xml-string): New procedure. (make-operation->request): Accept xml-namespace key. [host]: Use globalEndpoint if provided. [request-parameters]: Use request-xml-string for rest-xml protocol. * aws/serialize.scm (aws-value->sxml): New procedure. * language/aws/spec.scm (compile-operation): Pass xml-namespace to aws-operation.
* serialize-aws-value: Add a docstring.Ricardo Wurmus2021-03-181-0/+2
|
* serialize: Upcase the first letter of any property name.Ricardo Wurmus2021-03-181-1/+11
|
* serialize-aws-value: Rewrite to pass the tests.Ricardo Wurmus2021-03-181-52/+49
|
* Move serialization code to (aws serialize).Ricardo Wurmus2021-03-182-84/+112
|
* base: aws-operation: Pass request arguments to request constructor.Ricardo Wurmus2021-03-071-8/+24
| | | | | | | | | | | | | | | | | | | | | | Instead of expecting a single input of the required type, the procedure returned by AWS-OPERATION now accepts keyword arguments intended for the request constructor. This makes for a much less verbose DSL. Compare the explicit style (DeleteFileSystem (DeleteFileSystemRequest #:FileSystemId "fs-cabba9e")) with the new implicit style: (DeleteFileSystem #:FileSystemId "fs-cabba9e") * aws/base.scm (aws-operation): Accept an input-constructor; apply it to a provided list of keyword arguments. * language/aws/spec.scm (compile-operation): Generate code that specifies the input constructor. * README.org: Update examples.
* request: aws-value->scm: Support parent name stripping.Ricardo Wurmus2021-03-071-14/+23
| | | | | This is necessary to remove unnecessary nesting when serializing wrappers around primitive types.
* request: Do not export serialize-aws-value.Ricardo Wurmus2021-03-071-1/+1
|
* request: Remove stray pk.Ricardo Wurmus2021-03-061-2/+2
|
* aws/request: Only process server response if it exists.Ricardo Wurmus2021-03-031-3/+6
|
* aws/request: Use JSON for "rest-json" APIs.Ricardo Wurmus2021-03-021-1/+3
|
* aws/request: make-operation->request: Always append request body.Ricardo Wurmus2021-03-021-5/+1
| | | | * aws/request.scm (make-operation->request): Remove match expression.
* aws/request: make-operation->request: Send request to full URI.Ricardo Wurmus2021-03-021-2/+2
| | | | | * aws/request.scm (make-operation->request): Send HTTP request to full URI, not just the endpoint domain.
* aws/request: Add parameterize-request-uri.Ricardo Wurmus2021-03-021-4/+23
| | | | | * aws/request.scm (parameterize-request-uri): New procedure. (make-operation->request)[canonical-uri]: Use it.
* aws/request: Split request-json-string.Ricardo Wurmus2021-03-021-3/+7
| | | | | * aws/request.scm (input-arguments->scm): New procedure. (request-json-string): Use it.
* request: Respect GUILE_AWS_DEBUG_ENDPOINT to ease debugging.Ricardo Wurmus2021-02-251-1/+2
|
* request: Support sending of JSON requests.Ricardo Wurmus2021-02-251-9/+46
|
* request: Add request-query-string.Ricardo Wurmus2021-02-251-0/+9
| | | | * aws/request.scm (request-query-string): New procedure.
* request: Parse JSON responses.Ricardo Wurmus2021-02-251-4/+12
| | | | | * aws/request.scm (make-operation->request): Inspect content-type of server response.
* base: aws-operation: Make input argument optional.Ricardo Wurmus2021-02-251-1/+1
|
* request: Patch (web http)'s handling of the Authorization header.Ricardo Wurmus2021-02-251-8/+18
| | | | | * aws/request.scm: Declare a new authorization header with a writer that does not quote values.
* aws/api: Add API update script.Ricardo Wurmus2020-07-071-0/+7
| | | | * aws/api/update.sh: New file.
* aws/api: Update EC2 API.Ricardo Wurmus2020-07-072-768/+7834
| | | | | * aws/api/ec2-2016-11-15.normal.json: Replace with version v2.680.0. * aws/api/README: Update version information.
* aws/api: Update Cloudfront API.Ricardo Wurmus2020-07-071-22/+22
| | | | * aws/api/cloudfront-2019-03-26.normal.json: Replace with version v2.680.0.
* aws/api: Update S3 API.Ricardo Wurmus2020-07-071-611/+754
| | | | * aws/api/s3-2006-03-01.normal.json: Replace with version v2.680.0.
* aws/request: make-operation->request: Use lowercase for authorization.Ricardo Wurmus2020-07-071-1/+1
| | | | | | | | | | | 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.
* aws/request: make-operation->request: Use requested HTTP method.Ricardo Wurmus2020-07-071-5/+10
| | | | | | | | 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.
* aws/request: make-operation->request: Include content hash header.Ricardo Wurmus2020-07-071-0/+1
| | | | | | | The x-amz-content-sha256 is required for S3. * aws/request.scm (make-operation->request)[headers]: Add x-amz-content-sha256 header.
* aws/request: make-operation->request: Handle empty input values.Ricardo Wurmus2020-07-071-1/+3
| | | | | * aws/request.scm (make-operation->request)[request-parameters]: Gracefully deal with empty input values.
* aws/request: make-operation->request: Define PAYLOAD-HASH.Ricardo Wurmus2020-07-071-2/+4
| | | | | * aws/request.scm (make-operation->request)[payload-hash]: New variable definition.
* aws/request: Overwrite (web http)'s DEFAULT-VAL-WRITER.Ricardo Wurmus2020-07-071-1/+13
| | | | | | | | | | | | | | 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).
* Add EFS API.Ricardo Wurmus2020-07-062-1/+1813
| | | | | | * aws/api/elasticfilesystem-2015-02-01.normal.json: New file. * Makefile.am (JSON_SOURCES): Add it. * aws/api/README: Mention it.
* Add ECR API.Ricardo Wurmus2020-05-252-1/+2677
|
* Add EBS API.Ricardo Wurmus2020-05-212-1/+360
|
* Add ECS API.Ricardo Wurmus2020-05-202-0/+6082
|
* Initial commit.Ricardo Wurmus2019-07-257-0/+48603