base: aws-operation: Pass request arguments to request constructor.
authorRicardo Wurmus <rekado@elephly.net>
Sun, 7 Mar 2021 12:03:30 +0000 (13:03 +0100)
committerRicardo Wurmus <rekado@elephly.net>
Sun, 7 Mar 2021 12:08:10 +0000 (13:08 +0100)
commitb76ae8c42a2198fa206b472c2a6a5dbef257925b
treec17caaa00eafa37ac15e90c1150eaa34c6a2ef94
parent54b59f500d4b45a3879b2a7bfc489fb53ba2b3c3
base: aws-operation: Pass request arguments to request constructor.

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.
README.org
aws/base.scm
language/aws/spec.scm