exoscale.compute.api.http

HTTP support for the Exoscale Compute API

action-entity

Yield action type and target entity

default-endpoint

Default HTTP endpoint for the Exoscale API

default-http-opts

Default HTTP options passed to the underlying HTTP library (aleph).

default-max-polls

Default number of times to poll before timing out

default-page-size

Number of records to fetch by default

default-poll-interval

Default timeout for async requests

depluralize

(depluralize s)

entity-special-cases

extract-response

(extract-response resp opcode)

From a response get the result data

job-loop!!

(job-loop!! config opcode)

job-request!!

(job-request!! config opcode params)

job-result

(job-result opcode {:keys [jobresult]})

json-request!!

(json-request!! config opcode params)

list-pager-fn

(list-pager-fn opcode page prev-result)

list-request!!

(list-request!! config opcode params)

Perform a paging request. Elements are fetched by chunks of 500.

raw-request!!

(raw-request!! {:keys [endpoint http-opts], :as config} payload)

Send an HTTP request with manifold

request!!

(request!! config opcode params)

Send a request to the API and figure out the best course of action from there.

Specifically:

  • For a list request, fetch and page results
  • For an async job request, wait for the job result

special-plurals

text-request!!

(text-request!! config opcode params)

transform

(transform resp opcode)

wait-or-return-job!!

(wait-or-return-job!! config remaining opcode)