package awso-async
Source file cli.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 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120(* generated by: awso-codegen generate-all --botocore-data vendor/botocore/botocore/data -o aws --runtime-dir lib/runtime/awso --cli-dir awso-cli *) open Core open Async let json_arg = Command.Arg_type.create Yojson.Safe.from_string let call ?endpoint_url ?profile ?region f m result_to_json error_to_json = let region = match region with | Some region -> Some (Awso.Region.of_string region) | None -> None in (Awso_async.Cfg.get_exn ?profile ?region ()) >>= (fun cfg -> (f ?endpoint_url ?cfg:(Some cfg) m) >>= (fun result -> match result with | Error err -> (match error_to_json with | None -> failwithf "endpoint error, but no error values defined in boto" () | Some to_json -> let s = (err |> to_json) |> Yojson.Safe.to_string in failwithf "AWS error: %s" s ()) | Ok result -> ((match result_to_json with | None -> print_endline "ok response from endpoint" | Some to_json -> ((result |> to_json) |> Yojson.Safe.to_string) |> print_endline); return ()))) let create_home_region_control = Command.async ~summary:"" ([%map_open.Command let cli_profile = flag "-cli-profile" (optional string) ~doc:"NAME aws profile to use" and cli_region = flag "-cli-region" (optional string) ~doc:"REGION override region" and endpoint_url = flag "-endpoint-url" (optional string) ~doc:"URL override endpoint url" and dryRun = flag "dry-run" (optional bool) ~doc:"BOOL DryRun" and homeRegion = flag "home-region" (required string) ~doc:"STRING HomeRegion" and target = flag "target" (required json_arg) ~doc:"JSON Target" in fun () -> call ?endpoint_url ?profile:cli_profile ?region:cli_region Io.create_home_region_control (Values.CreateHomeRegionControlRequest.make ?dryRun ~homeRegion ~target:(Values.Target.of_json target) ()) (Some Values.CreateHomeRegionControlResult.to_json) (Some Values.CreateHomeRegionControlResult.error_to_json)]) let delete_home_region_control = Command.async ~summary:"" ([%map_open.Command let cli_profile = flag "-cli-profile" (optional string) ~doc:"NAME aws profile to use" and cli_region = flag "-cli-region" (optional string) ~doc:"REGION override region" and endpoint_url = flag "-endpoint-url" (optional string) ~doc:"URL override endpoint url" and controlId = flag "control-id" (required string) ~doc:"STRING ControlId" in fun () -> call ?endpoint_url ?profile:cli_profile ?region:cli_region Io.delete_home_region_control (Values.DeleteHomeRegionControlRequest.make ~controlId ()) (Some Values.DeleteHomeRegionControlResult.to_json) (Some Values.DeleteHomeRegionControlResult.error_to_json)]) let describe_home_region_controls = Command.async ~summary:"" ([%map_open.Command let cli_profile = flag "-cli-profile" (optional string) ~doc:"NAME aws profile to use" and cli_region = flag "-cli-region" (optional string) ~doc:"REGION override region" and endpoint_url = flag "-endpoint-url" (optional string) ~doc:"URL override endpoint url" and controlId = flag "control-id" (optional string) ~doc:"STRING ControlId" and homeRegion = flag "home-region" (optional string) ~doc:"STRING HomeRegion" and target = flag "target" (optional json_arg) ~doc:"JSON Target" and maxResults = flag "max-results" (optional int) ~doc:"INT DescribeHomeRegionControlsMaxResults" and nextToken = flag "next-token" (optional string) ~doc:"STRING Token" in fun () -> call ?endpoint_url ?profile:cli_profile ?region:cli_region Io.describe_home_region_controls (Values.DescribeHomeRegionControlsRequest.make ?controlId ?homeRegion ?target:(Option.map ~f:Values.Target.of_json target) ?maxResults ?nextToken ()) (Some Values.DescribeHomeRegionControlsResult.to_json) (Some Values.DescribeHomeRegionControlsResult.error_to_json)]) let get_home_region = Command.async ~summary:"" ([%map_open.Command let cli_profile = flag "-cli-profile" (optional string) ~doc:"NAME aws profile to use" and cli_region = flag "-cli-region" (optional string) ~doc:"REGION override region" and endpoint_url = flag "-endpoint-url" (optional string) ~doc:"URL override endpoint url" and () = return () in fun () -> call ?endpoint_url ?profile:cli_profile ?region:cli_region Io.get_home_region (Values.GetHomeRegionRequest.make ()) (Some Values.GetHomeRegionResult.to_json) (Some Values.GetHomeRegionResult.error_to_json)]) let main = Command.group ~summary:((Awso.Service.to_string Values.service) ^ " commands") [("create-home-region-control", create_home_region_control); ("delete-home-region-control", delete_home_region_control); ("describe-home-region-controls", describe_home_region_controls); ("get-home-region", get_home_region)]