package awsm-codegen
Module Awsm_codegen.BotodataSource
Boto specification for Amazon services
Boto library includes a description of Amazon services in JSON format. This module provides types to represent the contents of the specification, which includes three main parts: - service metadata (constants) - operations (along with their signature) - input and output types for operations
The exact way a specification should be interpreted to provide an implementation depends on the protocol specified in the metadata of the service.
Input/output types for operations are specified as a composition of
shapes, where a shape is basically a standard programming type with some optional additional constraints (for instance, integer with bounds).
Source
type metadata = {apiVersion : string;checksumFormat : checksumFormat option;endpointPrefix : string;globalEndpoint : Uri_sexp.t option;serviceAbbreviation : string option;serviceFullName : string;serviceId : string option;signatureVersion : string;timestampFormat : timestampFormat option;protocol : protocol;jsonVersion : string option;targetPrefix : Uri_sexp.t option;signingName : string option;xmlNamespace : Uri_sexp.t option;uid : string option;
}Source
val http_method_of_string :
string ->
([> `DELETE | `GET | `HEAD | `PATCH | `POST | `PUT ], string) Core._resultSource
type httpChecksum = {requestValidationModeMember : string option;requestAlgorithmMember : string option;requestChecksumRequired : bool option;responseAlgorithms : string list option;
}Source
type operation_input = {shape : string;documentation : string option;deprecated : bool option;xmlNamespace : xmlNamespace option;locationName : string option;
}Source
type operation_output = {shape : string;documentation : string option;deprecated : bool option;locationName : string option;resultWrapper : string option;wrapper : bool option;xmlOrder : string list option;
}Source
type operation = {name : string;http : http;input : operation_input option;output : operation_output option;errors : operation_error list option;documentation : string option;documentationUrl : Uri_sexp.t option;alias : string option;deprecated : bool option;deprecatedMessage : string option;authtype : string option;idempotent : bool option;httpChecksum : httpChecksum option;endpoint : operation_endpoint option;endpointdiscovery : operation_endpointdiscovery option;
}Source
type shape_member = {shape : string;deprecated : bool option;deprecatedMessage : string option;location : location option;locationName : string option;documentation : string option;xmlNamespace : xmlNamespace option;streaming : bool option;xmlAttribute : bool option;queryName : string option;box : bool option;flattened : bool option;idempotencyToken : bool option;eventpayload : bool option;hostLabel : bool option;jsonvalue : bool option;
}Source
type structure_shape = {required : string list option;members : (string * shape_member) list;error : error option;exception_ : bool option;fault : bool option;documentation : string option;document : bool option;payload : string option;xmlNamespace : xmlNamespace option;wrapper : bool option;deprecated : bool option;deprecatedMessage : string option;sensitive : bool option;xmlOrder : string list option;locationName : string option;event : bool option;eventstream : bool option;retryable : retryable option;union : bool option;box : bool option;
}Source
type map_shape = {key : string;value : string;min : int option;max : int option;flattened : bool option;locationName : string option;documentation : string option;sensitive : bool option;
}Source
type string_shape = {pattern : string option;min : int option;max : int option;sensitive : bool option;documentation : string option;deprecated : bool option;deprecatedMessage : string option;
}Source
type list_shape = {member : shape_member;min : int option;max : int option;documentation : string option;flattened : bool option;sensitive : bool option;deprecated : bool option;deprecatedMessage : string option;
}Source
type integer_shape = {box : bool option;min : int option;max : int option;documentation : string option;deprecated : bool option;deprecatedMessage : string option;
}Source
type enum_shape = {cases : string list;documentation : string option;min : int option;max : int option;pattern : string option;deprecated : bool option;deprecatedMessage : string option;sensitive : bool option;
}Source
type blob_shape = {streaming : bool option;sensitive : bool option;min : int option;max : int option;documentation : string option;
}Source
type timestamp_shape = {timestampFormat : timestampFormat option;documentation : string option;
}Source
type shape = | Boolean_shape of boolean_shape| Long_shape of long_shape| Double_shape of double_shape| Float_shape of float_shape| Blob_shape of blob_shape| Integer_shape of integer_shape| String_shape of string_shape| List_shape of list_shape| Enum_shape of enum_shape| Structure_shape of structure_shape| Timestamp_shape of timestamp_shape| Map_shape of map_shape