HTTP support for the Exoscale Compute API
HTTP support for the Exoscale Compute API
Default HTTP endpoint for the Exoscale API
Default HTTP endpoint for the Exoscale API
Default HTTP options passed to the underlying HTTP library (aleph).
Default HTTP options passed to the underlying HTTP library (aleph).
Default number of times to poll before timing out
Default number of times to poll before timing out
Number of records to fetch by default
Number of records to fetch by default
Default timeout for async requests
Default timeout for async requests
(extract-response resp opcode)
From a response get the result data
From a response get the result data
(list-request!! config opcode {:keys [page pagesize] :or {page 1} :as params})
Perform a paging request. Elements are fetched by chunks of 500.
If both page
and pagesize
are provided then we return a single page only,
Otherwise fetch all results page by page.
This functionality is dependent on the api call supporting pagination,
listZones
and listSecurityGroups
are examples of this.
Custom Exoscale commands that are not present in Cloudstack such as
listApiKeys
return the full list and do not support pagination.
Perform a paging request. Elements are fetched by chunks of 500. If both `page` and `pagesize` are provided then we return a single page only, Otherwise fetch all results page by page. This functionality is dependent on the api call supporting pagination, `listZones` and `listSecurityGroups` are examples of this. Custom Exoscale commands that are not present in Cloudstack such as `listApiKeys` return the full list and do not support pagination.
(opts->http-request-opts {:as _opts :keys [request-timeout]})
Converts legacy request opts to jdk11 client opts
Converts legacy request opts to jdk11 client opts
(raw-request!!
{:keys [endpoint http-opts client method] :or {method :post} :as _config}
payload)
Send an HTTP request
Send an HTTP request
(request!! config opcode params)
Send a request to the API and figure out the best course of action from there.
Specifically:
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 -
(validate-job!! {{:keys [errortext errorcode] :as jobresult} :jobresult
:as response}
config
opcode
params)
* return jobresult if job was successful * throw ex-info in case of failure (body is a string to mimic behavior of other query exceptions)
(with-decoded-error-body d)
Catches potential deferred error and rethrow with decoded ex-data.body if there is one, otherwise just rethrow
Catches potential deferred error and rethrow with decoded ex-data.body if there is one, otherwise just rethrow
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close