Source file getTrafficPolicyInstanceCount.ml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
open Types
open Aws
type input = unit
type output = GetTrafficPolicyInstanceCountResponse.t
type error = Errors_internal.t
let service = "route53"
let signature_version = Request.V4
let to_http service region req =
let uri =
Uri.add_query_params
(Uri.of_string
(Aws.Util.of_option_exn (Endpoints.url_of service region)))
[("Version", ["2013-04-01"]);
("Action", ["GetTrafficPolicyInstanceCount"])] in
(`GET, uri, [])
let of_http body =
try
let xml = Ezxmlm.from_string body in
let resp = Xml.member "GetTrafficPolicyInstanceCountResponse" (snd xml) in
try
Util.or_error
(Util.option_bind resp GetTrafficPolicyInstanceCountResponse.parse)
(let open Error in
BadResponse
{
body;
message =
"Could not find well formed GetTrafficPolicyInstanceCountResponse."
})
with
| Xml.RequiredFieldMissing msg ->
let open Error in
`Error
(BadResponse
{
body;
message =
("Error parsing GetTrafficPolicyInstanceCountResponse - missing field in body or children: "
^ msg)
})
with
| Failure msg ->
`Error
(let open Error in
BadResponse { body; message = ("Error parsing xml: " ^ msg) })
let parse_error code err =
let errors = [] @ Errors_internal.common in
match Errors_internal.of_string err with
| Some var ->
if
(List.mem var errors) &&
((match Errors_internal.to_http_code var with
| Some var -> var = code
| None -> true))
then Some var
else None
| None -> None