API for cognitect.aws.client.api - aws-api


Full namespace name: cognitect.aws.client.api

Overview

API functions for using a client to interact with AWS services.

Public Variables and Functions



client

function
Usage: (client {:keys [api region region-provider retriable? backoff credentials-provider endpoint-override http-client], :or {endpoint-override {}}})
Given a config map, create a client for specified api. Supported keys:

:api                  - required, this or api-descriptor required, the name of the api
                        you want to interact with e.g. :s3, :cloudformation, etc
:http-client          - optional, to share http-clients across aws-clients.
                        See default-http-client.
:region-provider      - optional, implementation of aws-clojure.region/RegionProvider
                        protocol, defaults to cognitect.aws.region/default-region-provider.
                        Ignored if :region is also provided
:region               - optional, the aws region serving the API endpoints you
                        want to interact with, defaults to region provided by
                        by the region-provider
:credentials-provider - optional, implementation of
                        cognitect.aws.credentials/CredentialsProvider
                        protocol, defaults to
                        cognitect.aws.credentials/default-credentials-provider
:endpoint-override    - optional, map to override parts of the endpoint. Supported keys:
                          :protocol     - :http or :https
                          :hostname     - string
                          :port         - int
                          :path         - string
                        If the hostname includes an AWS region, be sure use the same
                        region for the client (either via out of process configuration
                        or the :region key supplied to this fn).
                        Also supports a string representing just the hostname, though
                        support for a string is deprectated and may be removed in the
                        future.
:retriable?           - optional, fn of http-response (see cognitect.aws.http/submit).
                        Should return a boolean telling the client whether or
                        not the request is retriable.  The default,
                        cognitect.aws.retry/default-retriable?, returns
                        true when the response indicates that the service is
                        busy or unavailable.
:backoff              - optional, fn of number of retries so far. Should return
                        number of milliseconds to wait before the next retry
                        (if the request is retriable?), or nil if it should stop.
                        Defaults to cognitect.aws.retry/default-backoff.

By default, all clients use shared http-client, credentials-provider, and
region-provider instances which use a small collection of daemon threads.

Alpha. Subject to change.


default-http-client

function
Usage: (default-http-client)
Create an http-client to share across multiple aws-api clients.


doc

function
Usage: (doc client operation)
Given a client and an operation (keyword), prints documentation
for that operation to the current value of *out*. Returns nil.

Alpha. Subject to change.


doc-str

function
Usage: (doc-str {:keys [documentation documentationUrl request required response refs], :as doc})
Given data produced by `ops`, returns a string
representation.

Alpha. Subject to change.


invoke

function
Usage: (invoke client op-map)
Package and send a request to AWS and return the result.

Supported keys in op-map:

:op                   - required, keyword, the op to perform
:request              - required only for ops that require them.
:retriable?           - optional, defaults to :retriable? on the client.
                        See client.
:backoff              - optional, defaults to :backoff on the client.
                        See client.

After invoking (cognitect.aws.client.api/validate-requests true), validates
:request in op-map.

Alpha. Subject to change.


ops

function
Usage: (ops client)
Returns a map of operation name to operation data for this client.

Alpha. Subject to change.


request-spec-key

function
Usage: (request-spec-key client op)
Returns the key for the request spec for op.

Alpha. Subject to change.


response-spec-key

function
Usage: (response-spec-key client op)
Returns the key for the response spec for op.

Alpha. Subject to change.


stop

function
Usage: (stop aws-client)
Has no effect when the underlying http-client is the shared
instance.

If you explicitly provided any other instance of http-client, stops
it, releasing resources.

Alpha. Subject to change.


validate-requests

function
Usage: (validate-requests client)
       (validate-requests client bool)
Given true, uses clojure.spec to validate all invoke calls on client.

Alpha. Subject to change.

cognitect.aws.client.api.async

API functions for using a client to interact with AWS services.


invoke

function
Usage: (invoke client op-map)
Async version of cognitect.aws.client.api/invoke. Returns
a core.async channel which delivers the result.

Additional supported keys in op-map:

:ch - optional, channel to deliver the result

Alpha. Subject to change.
Logo & site design by Tom Hickey.
Clojure auto-documentation system by Tom Faulhaber.