package awsm-codegen

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Awsm_codegen.Botocore_endpointsSource

Types representing content of botocore/data/endpoints.json. Type t represents the full file.

When posting a request, an AWS client has to determine the exact URI the request has to be sent to. This depends on the targeted service and the region. The rules are not systematically provided by Amazon, but botocore provides an endpoints.json file with a set of heuristic rules that can be used to determine a proper endpoint for a request.

Sourcetype credentialScope = {
  1. region : Region.t option;
  2. service : string option;
}
Sourceval sexp_of_credentialScope : credentialScope -> Sexplib0.Sexp.t
Sourceval credentialScope_of_sexp : Sexplib0.Sexp.t -> credentialScope
Sourcetype uri_token = [
  1. | `String_token of string
  2. | `Service_token
  3. | `Region_token
  4. | `DnsSuffix_token
]
Sourceval sexp_of_uri_token : uri_token -> Sexplib0.Sexp.t
Sourceval uri_token_of_sexp : Sexplib0.Sexp.t -> uri_token
Sourceval __uri_token_of_sexp__ : Sexplib0.Sexp.t -> uri_token
Sourcetype uri_pattern = uri_token list
Sourceval sexp_of_uri_pattern : uri_pattern -> Sexplib0.Sexp.t
Sourceval uri_pattern_of_sexp : Sexplib0.Sexp.t -> uri_pattern
Sourcetype variant = {
  1. dnsSuffix : string option;
  2. hostname : uri_pattern option;
  3. tags : string list;
}
Sourceval sexp_of_variant : variant -> Sexplib0.Sexp.t
Sourceval variant_of_sexp : Sexplib0.Sexp.t -> variant
Sourcetype properties = {
  1. credentialScope : credentialScope option;
  2. hostname : uri_pattern option;
  3. protocols : string list option;
  4. sslCommonName : string option;
  5. signatureVersions : [ `v2 | `v3 | `v4 | `s3 | `s3v4 ] list option;
  6. variants : variant list option;
  7. deprecated : bool option;
}
Sourceval sexp_of_properties : properties -> Sexplib0.Sexp.t
Sourceval properties_of_sexp : Sexplib0.Sexp.t -> properties
Sourcetype service = {
  1. defaults : properties option;
  2. endpoints : (string * properties) list;
  3. isRegionalized : bool option;
  4. partitionEndpoint : string option;
}
Sourceval sexp_of_service : service -> Sexplib0.Sexp.t
Sourceval service_of_sexp : Sexplib0.Sexp.t -> service
Sourcetype region = {
  1. description : string;
}
Sourceval sexp_of_region : region -> Sexplib0.Sexp.t
Sourceval region_of_sexp : Sexplib0.Sexp.t -> region
Sourcetype partition = {
  1. defaults : properties option;
  2. dnsSuffix : string;
  3. partition : string;
  4. partitionName : string;
  5. regionRegex : string;
  6. regions : (string * region) list;
  7. services : (string * service) list;
}
Sourceval sexp_of_partition : partition -> Sexplib0.Sexp.t
Sourceval partition_of_sexp : Sexplib0.Sexp.t -> partition
Sourcetype t = {
  1. partitions : partition list;
  2. version : int;
}
include Sexplib0.Sexpable.S with type t := t
Sourceval t_of_sexp : Sexplib0.Sexp.t -> t
Sourceval sexp_of_t : t -> Sexplib0.Sexp.t
Sourceval of_json : string -> t
Sourceval make_lookup_uri : t -> Ppxlib.structure_item

make_lookup_uri e generates a module implementation for endpoint heuristics, which are rules described in botodata to determine an endpoint (service URL, basically) for a service given a region and a few more properties.

Sourceval make_lookup_credential_scope : t -> Ppxlib.structure_item

make_lookup_credential_scope e is similar to the above, but determines the region credentials should be bound to, though most of the time it's the same as the region of the service. One notable exception is route53.