1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714(* generated by: awso-codegen generate-all --botocore-data vendor/botocore/botocore/data -o aws --runtime-dir lib/runtime/awso --cli-dir awso-cli *)openAwsoopen!Import[@@@warning"-32"]letservice=Service.backup_gatewayletapiVersion="2021-01-01"letendpointPrefix="backup-gateway"letserviceFullName="AWS Backup Gateway"letsignatureVersion="v4"letprotocol="json"letglobalEndpoint=endpointPrefix^".amazonaws.com"lettargetPrefix="BackupOnPremises_v20210101"letsimple_to_jsonto_valuex=Botodata.Json.value_to_json_scalar(to_valuex)letcomposed_to_jsonto_valuex=Botodata.Json.value_to_json(to_valuex)letto_queryto_valuex=Client.Query.of_value(to_valuex)letstructure_to_value_auxst~f=letfilter=function|(k,Somev)->Some(k,v)|_->Noneinletpairkv=(k,v)inletdefer_value(k,dv)=pairkdvin((List.filter_mapst~f:filter)|>(List.map~f:defer_value))|>(funx->`Structure(fx))letstructure_to_value=structure_to_value_aux~f:Fn.idletstructure_to_wrapped_value~wrapper~response=structure_to_value_aux~f:(funx->[(wrapper,(`Structurex));(response,(`Structure[]))])moduleDayOfWeek=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:6)>>=(fun()->check_int_mini~min:0));iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for DayOfWeek"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleVmwareCategory=structtypenonrect=stringletcontext_="VmwareCategory"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:80)>>=(fun()->check_string_mini~min:1));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"VmwareCategory"jletto_json=simple_to_jsonto_valueendmoduleVmwareTagName=structtypenonrect=stringletcontext_="VmwareTagName"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:80)>>=(fun()->check_string_mini~min:1));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"VmwareTagName"jletto_json=simple_to_jsonto_valueendmoduleString_=structtypenonrect=stringletcontext_="string"letmakei=iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"string"jletto_json=simple_to_jsonto_valueendmoduleTagKey=structtypenonrect=stringletcontext_="TagKey"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:128)>>=(fun()->check_patterni~pattern:"([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"TagKey"jletto_json=simple_to_jsonto_valueendmoduleTagValue=structtypenonrect=stringletcontext_="TagValue"letmakei=letopenResultinok_or_failwith((check_string_mini~min:0)>>=(fun()->(check_string_maxi~max:256)>>=(fun()->check_patterni~pattern:"[^\\x00]*")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"TagValue"jletto_json=simple_to_jsonto_valueendmoduleAverageUploadRateLimit=structtypenonrect=Int64.tletmakei=letopenResultinok_or_failwith((check_int64_maxi~max:8000000000000L)>>=(fun()->check_int64_mini~min:51200L));iletof_string=Int64.of_stringletto_valuex=`Longxletto_queryv=to_queryto_valuevletto_headerx=Int64.to_stringxletof_xmlxml_arg0=Int64.of_string(string_of_xml~kind:"a long"xml_arg0)letof_jsonj=Int64.of_float(float_of_json~kind:"a long"j)letto_json=simple_to_jsonto_valueendmoduleDaysOfWeek=structtypenonrect=DayOfWeek.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:7)>>=(fun()->check_list_mini~min:1));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:DayOfWeek.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:DayOfWeek.of_xml)letof_jsonj=list_of_json~kind:"DaysOfWeek"~of_json:DayOfWeek.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleHourOfDay=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:23)>>=(fun()->check_int_mini~min:0));iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for HourOfDay"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleMinuteOfHour=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:59)>>=(fun()->check_int_mini~min:0));iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for MinuteOfHour"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleName=structtypenonrect=stringletcontext_="Name"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:100)>>=(fun()->check_patterni~pattern:"[a-zA-Z0-9-]*")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"Name"jletto_json=simple_to_jsonto_valueendmodulePath=structtypenonrect=stringletcontext_="Path"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:4096)>>=(fun()->check_patterni~pattern:"[^\\x00]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"Path"jletto_json=simple_to_jsonto_valueendmoduleResourceArn=structtypenonrect=stringletcontext_="ResourceArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:50)>>=(fun()->(check_string_maxi~max:500)>>=(fun()->check_patterni~pattern:"arn:(aws|aws-cn|aws-us-gov):backup-gateway(:[a-zA-Z-0-9]+){3}\\/[a-zA-Z-0-9]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ResourceArn"jletto_json=simple_to_jsonto_valueendmoduleTime=structtypenonrect=stringletmakei=iletof_stringx=xletto_valuex=`Timestampxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=string_of_xml~kind:"a timestamp"letof_json=timestamp_of_jsonletto_json=simple_to_jsonto_valueendmoduleHost=structtypenonrect=stringletcontext_="Host"letmakei=letopenResultinok_or_failwith((check_string_mini~min:3)>>=(fun()->(check_string_maxi~max:128)>>=(fun()->check_patterni~pattern:".+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"Host"jletto_json=simple_to_jsonto_valueendmoduleHypervisorState=structtypenonrect=|PENDING|ONLINE|OFFLINE|ERROR|Non_static_idofstringletmakei=iletto_string=function|PENDING->"PENDING"|ONLINE->"ONLINE"|OFFLINE->"OFFLINE"|ERROR->"ERROR"|Non_static_ids->sletof_string=function|"PENDING"->PENDING|"ONLINE"->ONLINE|"OFFLINE"->OFFLINE|"ERROR"->ERROR|x->Non_static_idxletto_valuex=`Enum(to_stringx)letto_queryv=to_queryto_valuevletto_headerx=to_stringxletof_xmlxml_arg0=of_string(string_of_xml~kind:"enumeration HypervisorState"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"HypervisorState"j)letto_json=simple_to_jsonto_valueendmoduleKmsKeyArn=structtypenonrect=stringletcontext_="KmsKeyArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:50)>>=(fun()->(check_string_maxi~max:500)>>=(fun()->check_patterni~pattern:"(^arn:(aws|aws-cn|aws-us-gov):kms:([a-zA-Z0-9-]+):([0-9]+):(key|alias)/(\\S+)$)|(^alias/(\\S+)$)")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"KmsKeyArn"jletto_json=simple_to_jsonto_valueendmoduleServerArn=structtypenonrect=stringletcontext_="ServerArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:50)>>=(fun()->(check_string_maxi~max:500)>>=(fun()->check_patterni~pattern:"arn:(aws|aws-cn|aws-us-gov):backup-gateway(:[a-zA-Z-0-9]+){3}\\/[a-zA-Z-0-9]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ServerArn"jletto_json=simple_to_jsonto_valueendmoduleGatewayArn=structtypenonrect=stringletcontext_="GatewayArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:50)>>=(fun()->(check_string_maxi~max:180)>>=(fun()->check_patterni~pattern:"arn:(aws|aws-cn|aws-us-gov):backup-gateway(:[a-zA-Z-0-9]+){3}\\/[a-zA-Z-0-9]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"GatewayArn"jletto_json=simple_to_jsonto_valueendmoduleGatewayType=structtypenonrect=|BACKUP_VM|Non_static_idofstringletmakei=iletto_string=function|BACKUP_VM->"BACKUP_VM"|Non_static_ids->sletof_string=function|"BACKUP_VM"->BACKUP_VM|x->Non_static_idxletto_valuex=`Enum(to_stringx)letto_queryv=to_queryto_valuevletto_headerx=to_stringxletof_xmlxml_arg0=of_string(string_of_xml~kind:"enumeration GatewayType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"GatewayType"j)letto_json=simple_to_jsonto_valueendmoduleHypervisorId=structtypenonrect=stringletcontext_="HypervisorId"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:100)>>=(fun()->check_string_mini~min:1));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"HypervisorId"jletto_json=simple_to_jsonto_valueendmoduleVmwareTag=structtypenonrect={vmwareCategory:VmwareCategory.toption[@ocaml.doc"The is the category of VMware."];vmwareTagName:VmwareTagName.toption[@ocaml.doc"This is the user-defined name of a VMware tag."];vmwareTagDescription:String_.toption[@ocaml.doc"This is a user-defined description of a VMware tag."]}letmake?vmwareCategory=fun?vmwareTagName->fun?vmwareTagDescription->fun()->{vmwareCategory;vmwareTagName;vmwareTagDescription}letto_valuex=structure_to_value[("VmwareCategory",(Option.mapx.vmwareCategory~f:VmwareCategory.to_value));("VmwareTagName",(Option.mapx.vmwareTagName~f:VmwareTagName.to_value));("VmwareTagDescription",(Option.mapx.vmwareTagDescription~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvmwareTagDescription=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"VmwareTagDescription")inletvmwareTagName=(Option.map~f:VmwareTagName.of_xml)(Xml.childxml_arg0"VmwareTagName")inletvmwareCategory=(Option.map~f:VmwareCategory.of_xml)(Xml.childxml_arg0"VmwareCategory")inmake?vmwareTagDescription?vmwareTagName?vmwareCategory()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvmwareTagDescription=field_mapjson__"VmwareTagDescription"String_.of_jsoninletvmwareTagName=field_mapjson__"VmwareTagName"VmwareTagName.of_jsoninletvmwareCategory=field_mapjson__"VmwareCategory"VmwareCategory.of_jsoninmake?vmwareTagDescription?vmwareTagName?vmwareCategory()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A VMware tag is a tag attached to a specific virtual machine. A tag is a key-value pair you can use to manage, filter, and search for your resources. The content of VMware tags can be matched to Amazon Web Services tags."]moduleDayOfMonth=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:31)>>=(fun()->check_int_mini~min:1));iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for DayOfMonth"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleTag=structtypenonrect={key:TagKey.t[@ocaml.doc"The key part of a tag's key-value pair. The key can't start with aws:."];value:TagValue.t[@ocaml.doc"The value part of a tag's key-value pair."]}letcontext_="Tag"letmake~key=fun~value->fun()->{key;value}letto_valuex=structure_to_value[("Key",(Some(TagKey.to_valuex.key)));("Value",(Some(TagValue.to_valuex.value)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvalue=TagValue.of_xml(Xml.child_exn~context:context_xml_arg0"Value")inletkey=TagKey.of_xml(Xml.child_exn~context:context_xml_arg0"Key")inmake~value~key()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvalue=field_map_exnjson__"Value"TagValue.of_jsoninletkey=field_map_exnjson__"Key"TagKey.of_jsoninmake~value~key()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A key-value pair you can use to manage, filter, and search for your resources. Allowed characters include UTF-8 letters, numbers, and the following characters: + - = . _ : /. Spaces are not allowed in tag values."]moduleVmwareToAwsTagMapping=structtypenonrect={vmwareCategory:VmwareCategory.t[@ocaml.doc"The is the category of VMware."];vmwareTagName:VmwareTagName.t[@ocaml.doc"This is the user-defined name of a VMware tag."];awsTagKey:TagKey.t[@ocaml.doc"The key part of the Amazon Web Services tag's key-value pair."];awsTagValue:TagValue.t[@ocaml.doc"The value part of the Amazon Web Services tag's key-value pair."]}letcontext_="VmwareToAwsTagMapping"letmake~vmwareCategory=fun~vmwareTagName->fun~awsTagKey->fun~awsTagValue->fun()->{vmwareCategory;vmwareTagName;awsTagKey;awsTagValue}letto_valuex=structure_to_value[("VmwareCategory",(Some(VmwareCategory.to_valuex.vmwareCategory)));("VmwareTagName",(Some(VmwareTagName.to_valuex.vmwareTagName)));("AwsTagKey",(Some(TagKey.to_valuex.awsTagKey)));("AwsTagValue",(Some(TagValue.to_valuex.awsTagValue)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letawsTagValue=TagValue.of_xml(Xml.child_exn~context:context_xml_arg0"AwsTagValue")inletawsTagKey=TagKey.of_xml(Xml.child_exn~context:context_xml_arg0"AwsTagKey")inletvmwareTagName=VmwareTagName.of_xml(Xml.child_exn~context:context_xml_arg0"VmwareTagName")inletvmwareCategory=VmwareCategory.of_xml(Xml.child_exn~context:context_xml_arg0"VmwareCategory")inmake~awsTagValue~awsTagKey~vmwareTagName~vmwareCategory()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letawsTagValue=field_map_exnjson__"AwsTagValue"TagValue.of_jsoninletawsTagKey=field_map_exnjson__"AwsTagKey"TagKey.of_jsoninletvmwareTagName=field_map_exnjson__"VmwareTagName"VmwareTagName.of_jsoninletvmwareCategory=field_map_exnjson__"VmwareCategory"VmwareCategory.of_jsoninmake~awsTagValue~awsTagKey~vmwareTagName~vmwareCategory()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"This displays the mapping of VMware tags to the corresponding Amazon Web Services tags."]moduleBandwidthRateLimitInterval=structtypenonrect={averageUploadRateLimitInBitsPerSec:AverageUploadRateLimit.toption[@ocaml.doc"The average upload rate limit component of the bandwidth rate limit interval, in bits per second. This field does not appear in the response if the upload rate limit is not set."];startHourOfDay:HourOfDay.t[@ocaml.doc"The hour of the day to start the bandwidth rate limit interval."];endHourOfDay:HourOfDay.t[@ocaml.doc"The hour of the day to end the bandwidth rate limit interval."];startMinuteOfHour:MinuteOfHour.t[@ocaml.doc"The minute of the hour to start the bandwidth rate limit interval. The interval begins at the start of that minute. To begin an interval exactly at the start of the hour, use the value 0."];endMinuteOfHour:MinuteOfHour.t[@ocaml.doc"The minute of the hour to end the bandwidth rate limit interval. The bandwidth rate limit interval ends at the end of the minute. To end an interval at the end of an hour, use the value 59."];daysOfWeek:DaysOfWeek.t[@ocaml.doc"The days of the week component of the bandwidth rate limit interval, represented as ordinal numbers from 0 to 6, where 0 represents Sunday and 6 represents Saturday."]}letcontext_="BandwidthRateLimitInterval"letmake?averageUploadRateLimitInBitsPerSec=fun~startHourOfDay->fun~endHourOfDay->fun~startMinuteOfHour->fun~endMinuteOfHour->fun~daysOfWeek->fun()->{averageUploadRateLimitInBitsPerSec;startHourOfDay;endHourOfDay;startMinuteOfHour;endMinuteOfHour;daysOfWeek}letto_valuex=structure_to_value[("AverageUploadRateLimitInBitsPerSec",(Option.mapx.averageUploadRateLimitInBitsPerSec~f:AverageUploadRateLimit.to_value));("StartHourOfDay",(Some(HourOfDay.to_valuex.startHourOfDay)));("EndHourOfDay",(Some(HourOfDay.to_valuex.endHourOfDay)));("StartMinuteOfHour",(Some(MinuteOfHour.to_valuex.startMinuteOfHour)));("EndMinuteOfHour",(Some(MinuteOfHour.to_valuex.endMinuteOfHour)));("DaysOfWeek",(Some(DaysOfWeek.to_valuex.daysOfWeek)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdaysOfWeek=DaysOfWeek.of_xml(Xml.child_exn~context:context_xml_arg0"DaysOfWeek")inletendMinuteOfHour=MinuteOfHour.of_xml(Xml.child_exn~context:context_xml_arg0"EndMinuteOfHour")inletstartMinuteOfHour=MinuteOfHour.of_xml(Xml.child_exn~context:context_xml_arg0"StartMinuteOfHour")inletendHourOfDay=HourOfDay.of_xml(Xml.child_exn~context:context_xml_arg0"EndHourOfDay")inletstartHourOfDay=HourOfDay.of_xml(Xml.child_exn~context:context_xml_arg0"StartHourOfDay")inletaverageUploadRateLimitInBitsPerSec=(Option.map~f:AverageUploadRateLimit.of_xml)(Xml.childxml_arg0"AverageUploadRateLimitInBitsPerSec")inmake~daysOfWeek~endMinuteOfHour~startMinuteOfHour~endHourOfDay~startHourOfDay?averageUploadRateLimitInBitsPerSec()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdaysOfWeek=field_map_exnjson__"DaysOfWeek"DaysOfWeek.of_jsoninletendMinuteOfHour=field_map_exnjson__"EndMinuteOfHour"MinuteOfHour.of_jsoninletstartMinuteOfHour=field_map_exnjson__"StartMinuteOfHour"MinuteOfHour.of_jsoninletendHourOfDay=field_map_exnjson__"EndHourOfDay"HourOfDay.of_jsoninletstartHourOfDay=field_map_exnjson__"StartHourOfDay"HourOfDay.of_jsoninletaverageUploadRateLimitInBitsPerSec=field_mapjson__"AverageUploadRateLimitInBitsPerSec"AverageUploadRateLimit.of_jsoninmake~daysOfWeek~endMinuteOfHour~startMinuteOfHour~endHourOfDay~startHourOfDay?averageUploadRateLimitInBitsPerSec()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes a bandwidth rate limit interval for a gateway. A bandwidth rate limit schedule consists of one or more bandwidth rate limit intervals. A bandwidth rate limit interval defines a period of time on one or more days of the week, during which bandwidth rate limits are specified for uploading, downloading, or both."]moduleVirtualMachine=structtypenonrect={hostName:Name.toption[@ocaml.doc"The host name of the virtual machine."];hypervisorId:String_.toption[@ocaml.doc"The ID of the virtual machine's hypervisor."];name:Name.toption[@ocaml.doc"The name of the virtual machine."];path:Path.toption[@ocaml.doc"The path of the virtual machine."];resourceArn:ResourceArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the virtual machine. For example, arn:aws:backup-gateway:us-west-1:0000000000000:vm/vm-0000ABCDEFGIJKL."];lastBackupDate:Time.toption[@ocaml.doc"The most recent date a virtual machine was backed up, in Unix format and UTC time."]}letmake?hostName=fun?hypervisorId->fun?name->fun?path->fun?resourceArn->fun?lastBackupDate->fun()->{hostName;hypervisorId;name;path;resourceArn;lastBackupDate}letto_valuex=structure_to_value[("HostName",(Option.mapx.hostName~f:Name.to_value));("HypervisorId",(Option.mapx.hypervisorId~f:String_.to_value));("Name",(Option.mapx.name~f:Name.to_value));("Path",(Option.mapx.path~f:Path.to_value));("ResourceArn",(Option.mapx.resourceArn~f:ResourceArn.to_value));("LastBackupDate",(Option.mapx.lastBackupDate~f:Time.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlastBackupDate=(Option.map~f:Time.of_xml)(Xml.childxml_arg0"LastBackupDate")inletresourceArn=(Option.map~f:ResourceArn.of_xml)(Xml.childxml_arg0"ResourceArn")inletpath=(Option.map~f:Path.of_xml)(Xml.childxml_arg0"Path")inletname=(Option.map~f:Name.of_xml)(Xml.childxml_arg0"Name")inlethypervisorId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"HypervisorId")inlethostName=(Option.map~f:Name.of_xml)(Xml.childxml_arg0"HostName")inmake?lastBackupDate?resourceArn?path?name?hypervisorId?hostName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlastBackupDate=field_mapjson__"LastBackupDate"Time.of_jsoninletresourceArn=field_mapjson__"ResourceArn"ResourceArn.of_jsoninletpath=field_mapjson__"Path"Path.of_jsoninletname=field_mapjson__"Name"Name.of_jsoninlethypervisorId=field_mapjson__"HypervisorId"String_.of_jsoninlethostName=field_mapjson__"HostName"Name.of_jsoninmake?lastBackupDate?resourceArn?path?name?hypervisorId?hostName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A virtual machine that is on a hypervisor."]moduleHypervisor=structtypenonrect={host:Host.toption[@ocaml.doc"The server host of the hypervisor. This can be either an IP address or a fully-qualified domain name (FQDN)."];hypervisorArn:ServerArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the hypervisor."];kmsKeyArn:KmsKeyArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the Key Management Service used to encrypt the hypervisor."];name:Name.toption[@ocaml.doc"The name of the hypervisor."];state:HypervisorState.toption[@ocaml.doc"The state of the hypervisor."]}letmake?host=fun?hypervisorArn->fun?kmsKeyArn->fun?name->fun?state->fun()->{host;hypervisorArn;kmsKeyArn;name;state}letto_valuex=structure_to_value[("Host",(Option.mapx.host~f:Host.to_value));("HypervisorArn",(Option.mapx.hypervisorArn~f:ServerArn.to_value));("KmsKeyArn",(Option.mapx.kmsKeyArn~f:KmsKeyArn.to_value));("Name",(Option.mapx.name~f:Name.to_value));("State",(Option.mapx.state~f:HypervisorState.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstate=(Option.map~f:HypervisorState.of_xml)(Xml.childxml_arg0"State")inletname=(Option.map~f:Name.of_xml)(Xml.childxml_arg0"Name")inletkmsKeyArn=(Option.map~f:KmsKeyArn.of_xml)(Xml.childxml_arg0"KmsKeyArn")inlethypervisorArn=(Option.map~f:ServerArn.of_xml)(Xml.childxml_arg0"HypervisorArn")inlethost=(Option.map~f:Host.of_xml)(Xml.childxml_arg0"Host")inmake?state?name?kmsKeyArn?hypervisorArn?host()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstate=field_mapjson__"State"HypervisorState.of_jsoninletname=field_mapjson__"Name"Name.of_jsoninletkmsKeyArn=field_mapjson__"KmsKeyArn"KmsKeyArn.of_jsoninlethypervisorArn=field_mapjson__"HypervisorArn"ServerArn.of_jsoninlethost=field_mapjson__"Host"Host.of_jsoninmake?state?name?kmsKeyArn?hypervisorArn?host()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Represents the hypervisor's permissions to which the gateway will connect. A hypervisor is hardware, software, or firmware that creates and manages virtual machines, and allocates resources to them."]moduleGateway=structtypenonrect={gatewayArn:GatewayArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and Amazon Web Services Region."];gatewayDisplayName:Name.toption[@ocaml.doc"The display name of the gateway."];gatewayType:GatewayType.toption[@ocaml.doc"The type of the gateway."];hypervisorId:HypervisorId.toption[@ocaml.doc"The hypervisor ID of the gateway."];lastSeenTime:Time.toption[@ocaml.doc"The last time Backup gateway communicated with the gateway, in Unix format and UTC time."]}letmake?gatewayArn=fun?gatewayDisplayName->fun?gatewayType->fun?hypervisorId->fun?lastSeenTime->fun()->{gatewayArn;gatewayDisplayName;gatewayType;hypervisorId;lastSeenTime}letto_valuex=structure_to_value[("GatewayArn",(Option.mapx.gatewayArn~f:GatewayArn.to_value));("GatewayDisplayName",(Option.mapx.gatewayDisplayName~f:Name.to_value));("GatewayType",(Option.mapx.gatewayType~f:GatewayType.to_value));("HypervisorId",(Option.mapx.hypervisorId~f:HypervisorId.to_value));("LastSeenTime",(Option.mapx.lastSeenTime~f:Time.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlastSeenTime=(Option.map~f:Time.of_xml)(Xml.childxml_arg0"LastSeenTime")inlethypervisorId=(Option.map~f:HypervisorId.of_xml)(Xml.childxml_arg0"HypervisorId")inletgatewayType=(Option.map~f:GatewayType.of_xml)(Xml.childxml_arg0"GatewayType")inletgatewayDisplayName=(Option.map~f:Name.of_xml)(Xml.childxml_arg0"GatewayDisplayName")inletgatewayArn=(Option.map~f:GatewayArn.of_xml)(Xml.childxml_arg0"GatewayArn")inmake?lastSeenTime?hypervisorId?gatewayType?gatewayDisplayName?gatewayArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlastSeenTime=field_mapjson__"LastSeenTime"Time.of_jsoninlethypervisorId=field_mapjson__"HypervisorId"HypervisorId.of_jsoninletgatewayType=field_mapjson__"GatewayType"GatewayType.of_jsoninletgatewayDisplayName=field_mapjson__"GatewayDisplayName"Name.of_jsoninletgatewayArn=field_mapjson__"GatewayArn"GatewayArn.of_jsoninmake?lastSeenTime?hypervisorId?gatewayType?gatewayDisplayName?gatewayArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A gateway is an Backup Gateway appliance that runs on the customer's network to provide seamless connectivity to backup storage in the Amazon Web Services Cloud."]moduleVmwareTags=structtypenonrect=VmwareTag.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:VmwareTag.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:VmwareTag.of_xml)letof_jsonj=list_of_json~kind:"VmwareTags"~of_json:VmwareTag.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleLogGroupArn=structtypenonrect=stringletcontext_="LogGroupArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:0)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:"$|^arn:(aws|aws-cn|aws-us-gov):logs:([a-zA-Z0-9-]+):([0-9]+):log-group:[a-zA-Z0-9_\\-\\/\\.]+:\\*")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"LogGroupArn"jletto_json=simple_to_jsonto_valueendmoduleSyncMetadataStatus=structtypenonrect=|CREATED|RUNNING|FAILED|PARTIALLY_FAILED|SUCCEEDED|Non_static_idofstringletmakei=iletto_string=function|CREATED->"CREATED"|RUNNING->"RUNNING"|FAILED->"FAILED"|PARTIALLY_FAILED->"PARTIALLY_FAILED"|SUCCEEDED->"SUCCEEDED"|Non_static_ids->sletof_string=function|"CREATED"->CREATED|"RUNNING"->RUNNING|"FAILED"->FAILED|"PARTIALLY_FAILED"->PARTIALLY_FAILED|"SUCCEEDED"->SUCCEEDED|x->Non_static_idxletto_valuex=`Enum(to_stringx)letto_queryv=to_queryto_valuevletto_headerx=to_stringxletof_xmlxml_arg0=of_string(string_of_xml~kind:"enumeration SyncMetadataStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"SyncMetadataStatus"j)letto_json=simple_to_jsonto_valueendmoduleMaintenanceStartTime=structtypenonrect={dayOfMonth:DayOfMonth.toption[@ocaml.doc"The day of the month component of the maintenance start time represented as an ordinal number from 1 to 28, where 1 represents the first day of the month and 28 represents the last day of the month."];dayOfWeek:DayOfWeek.toption[@ocaml.doc"An ordinal number between 0 and 6 that represents the day of the week, where 0 represents Sunday and 6 represents Saturday. The day of week is in the time zone of the gateway."];hourOfDay:HourOfDay.toption[@ocaml.doc"The hour component of the maintenance start time represented as hh, where hh is the hour (0 to 23). The hour of the day is in the time zone of the gateway."];minuteOfHour:MinuteOfHour.toption[@ocaml.doc"The minute component of the maintenance start time represented as mm, where mm is the minute (0 to 59). The minute of the hour is in the time zone of the gateway."]}letmake?dayOfMonth=fun?dayOfWeek->fun?hourOfDay->fun?minuteOfHour->fun()->{dayOfMonth;dayOfWeek;hourOfDay;minuteOfHour}letto_valuex=structure_to_value[("DayOfMonth",(Option.mapx.dayOfMonth~f:DayOfMonth.to_value));("DayOfWeek",(Option.mapx.dayOfWeek~f:DayOfWeek.to_value));("HourOfDay",(Option.mapx.hourOfDay~f:HourOfDay.to_value));("MinuteOfHour",(Option.mapx.minuteOfHour~f:MinuteOfHour.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letminuteOfHour=(Option.map~f:MinuteOfHour.of_xml)(Xml.childxml_arg0"MinuteOfHour")inlethourOfDay=(Option.map~f:HourOfDay.of_xml)(Xml.childxml_arg0"HourOfDay")inletdayOfWeek=(Option.map~f:DayOfWeek.of_xml)(Xml.childxml_arg0"DayOfWeek")inletdayOfMonth=(Option.map~f:DayOfMonth.of_xml)(Xml.childxml_arg0"DayOfMonth")inmake?minuteOfHour?hourOfDay?dayOfWeek?dayOfMonth()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letminuteOfHour=field_mapjson__"MinuteOfHour"MinuteOfHour.of_jsoninlethourOfDay=field_mapjson__"HourOfDay"HourOfDay.of_jsoninletdayOfWeek=field_mapjson__"DayOfWeek"DayOfWeek.of_jsoninletdayOfMonth=field_mapjson__"DayOfMonth"DayOfMonth.of_jsoninmake?minuteOfHour?hourOfDay?dayOfWeek?dayOfMonth()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"This is your gateway's weekly maintenance start time including the day and time of the week. Note that values are in terms of the gateway's time zone. Can be weekly or monthly."]moduleVpcEndpoint=structtypenonrect=stringletcontext_="VpcEndpoint"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:255)>>=(fun()->check_string_mini~min:1));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"VpcEndpoint"jletto_json=simple_to_jsonto_valueendmoduleAccessDeniedException=structtypenonrect={errorCode:String_.toption[@ocaml.doc"A description of why you have insufficient permissions."];message:String_.toption}letmake?errorCode=fun?message->fun()->{errorCode;message}letto_valuex=structure_to_value[("ErrorCode",(Option.mapx.errorCode~f:String_.to_value));("Message",(Option.mapx.message~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Message")inleterrorCode=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"ErrorCode")inmake?message?errorCode()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"Message"String_.of_jsoninleterrorCode=field_mapjson__"ErrorCode"String_.of_jsoninmake?message?errorCode()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The operation cannot proceed because you have insufficient permissions."]moduleConflictException=structtypenonrect={errorCode:String_.toption[@ocaml.doc"A description of why the operation is not supported."];message:String_.toption}letmake?errorCode=fun?message->fun()->{errorCode;message}letto_valuex=structure_to_value[("ErrorCode",(Option.mapx.errorCode~f:String_.to_value));("Message",(Option.mapx.message~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Message")inleterrorCode=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"ErrorCode")inmake?message?errorCode()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"Message"String_.of_jsoninleterrorCode=field_mapjson__"ErrorCode"String_.of_jsoninmake?message?errorCode()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The operation cannot proceed because it is not supported."]moduleInternalServerException=structtypenonrect={errorCode:String_.toption[@ocaml.doc"A description of which internal error occured."];message:String_.toption}letmake?errorCode=fun?message->fun()->{errorCode;message}letto_valuex=structure_to_value[("ErrorCode",(Option.mapx.errorCode~f:String_.to_value));("Message",(Option.mapx.message~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Message")inleterrorCode=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"ErrorCode")inmake?message?errorCode()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"Message"String_.of_jsoninleterrorCode=field_mapjson__"ErrorCode"String_.of_jsoninmake?message?errorCode()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The operation did not succeed because an internal error occurred. Try again later."]moduleResourceNotFoundException=structtypenonrect={errorCode:String_.toption[@ocaml.doc"A description of which resource wasn't found."];message:String_.toption}letmake?errorCode=fun?message->fun()->{errorCode;message}letto_valuex=structure_to_value[("ErrorCode",(Option.mapx.errorCode~f:String_.to_value));("Message",(Option.mapx.message~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Message")inleterrorCode=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"ErrorCode")inmake?message?errorCode()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"Message"String_.of_jsoninleterrorCode=field_mapjson__"ErrorCode"String_.of_jsoninmake?message?errorCode()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A resource that is required for the action wasn't found."]moduleThrottlingException=structtypenonrect={errorCode:String_.toption[@ocaml.doc"Error: TPS has been limited to protect against intentional or unintentional high request volumes."];message:String_.toption}letmake?errorCode=fun?message->fun()->{errorCode;message}letto_valuex=structure_to_value[("ErrorCode",(Option.mapx.errorCode~f:String_.to_value));("Message",(Option.mapx.message~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Message")inleterrorCode=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"ErrorCode")inmake?message?errorCode()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"Message"String_.of_jsoninleterrorCode=field_mapjson__"ErrorCode"String_.of_jsoninmake?message?errorCode()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"TPS has been limited to protect against intentional or unintentional high request volumes."]moduleValidationException=structtypenonrect={errorCode:String_.toption[@ocaml.doc"A description of what caused the validation error."];message:String_.toption}letmake?errorCode=fun?message->fun()->{errorCode;message}letto_valuex=structure_to_value[("ErrorCode",(Option.mapx.errorCode~f:String_.to_value));("Message",(Option.mapx.message~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Message")inleterrorCode=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"ErrorCode")inmake?message?errorCode()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"Message"String_.of_jsoninleterrorCode=field_mapjson__"ErrorCode"String_.of_jsoninmake?message?errorCode()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The operation did not succeed because a validation error occurred."]modulePassword=structtypenonrect=stringletcontext_="Password"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:100)>>=(fun()->check_patterni~pattern:"[ -~]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"Password"jletto_json=simple_to_jsonto_valueendmoduleUsername=structtypenonrect=stringletcontext_="Username"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:100)>>=(fun()->check_patterni~pattern:"[ -\\.0-\\[\\]-~]*[!-\\.0-\\[\\]-~][ -\\.0-\\[\\]-~]*")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"Username"jletto_json=simple_to_jsonto_valueendmoduleTagKeys=structtypenonrect=TagKey.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:TagKey.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:TagKey.of_xml)letof_jsonj=list_of_json~kind:"TagKeys"~of_json:TagKey.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleTags=structtypenonrect=Tag.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:Tag.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:Tag.of_xml)letof_jsonj=list_of_json~kind:"Tags"~of_json:Tag.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleIamRoleArn=structtypenonrect=stringletcontext_="IamRoleArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:20)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:"arn:(aws|aws-cn|aws-us-gov):iam::([0-9]+):role/(\\S+)")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"IamRoleArn"jletto_json=simple_to_jsonto_valueendmoduleVmwareToAwsTagMappings=structtypenonrect=VmwareToAwsTagMapping.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:VmwareToAwsTagMapping.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:VmwareToAwsTagMapping.of_xml)letof_jsonj=list_of_json~kind:"VmwareToAwsTagMappings"~of_json:VmwareToAwsTagMapping.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleBandwidthRateLimitIntervals=structtypenonrect=BandwidthRateLimitInterval.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:20)>>=(fun()->check_list_mini~min:0));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:BandwidthRateLimitInterval.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:BandwidthRateLimitInterval.of_xml)letof_jsonj=list_of_json~kind:"BandwidthRateLimitIntervals"~of_json:BandwidthRateLimitInterval.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleNextToken=structtypenonrect=stringletcontext_="NextToken"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:1000)>>=(fun()->check_patterni~pattern:".+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"NextToken"jletto_json=simple_to_jsonto_valueendmoduleVirtualMachines=structtypenonrect=VirtualMachine.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:VirtualMachine.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:VirtualMachine.of_xml)letof_jsonj=list_of_json~kind:"VirtualMachines"~of_json:VirtualMachine.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleMaxResults=structtypenonrect=intletmakei=letopenResultinok_or_failwith(check_int_mini~min:1);iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for MaxResults"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleHypervisors=structtypenonrect=Hypervisor.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:Hypervisor.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:Hypervisor.of_xml)letof_jsonj=list_of_json~kind:"Hypervisors"~of_json:Hypervisor.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleGateways=structtypenonrect=Gateway.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:Gateway.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:Gateway.of_xml)letof_jsonj=list_of_json~kind:"Gateways"~of_json:Gateway.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleVirtualMachineDetails=structtypenonrect={hostName:Name.toption[@ocaml.doc"The host name of the virtual machine."];hypervisorId:String_.toption[@ocaml.doc"The ID of the virtual machine's hypervisor."];name:Name.toption[@ocaml.doc"The name of the virtual machine."];path:Path.toption[@ocaml.doc"The path of the virtual machine."];resourceArn:ResourceArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the virtual machine. For example, arn:aws:backup-gateway:us-west-1:0000000000000:vm/vm-0000ABCDEFGIJKL."];lastBackupDate:Time.toption[@ocaml.doc"The most recent date a virtual machine was backed up, in Unix format and UTC time."];vmwareTags:VmwareTags.toption[@ocaml.doc"These are the details of the VMware tags associated with the specified virtual machine."]}letmake?hostName=fun?hypervisorId->fun?name->fun?path->fun?resourceArn->fun?lastBackupDate->fun?vmwareTags->fun()->{hostName;hypervisorId;name;path;resourceArn;lastBackupDate;vmwareTags}letto_valuex=structure_to_value[("HostName",(Option.mapx.hostName~f:Name.to_value));("HypervisorId",(Option.mapx.hypervisorId~f:String_.to_value));("Name",(Option.mapx.name~f:Name.to_value));("Path",(Option.mapx.path~f:Path.to_value));("ResourceArn",(Option.mapx.resourceArn~f:ResourceArn.to_value));("LastBackupDate",(Option.mapx.lastBackupDate~f:Time.to_value));("VmwareTags",(Option.mapx.vmwareTags~f:VmwareTags.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvmwareTags=(Option.map~f:VmwareTags.of_xml)(Xml.childxml_arg0"VmwareTags")inletlastBackupDate=(Option.map~f:Time.of_xml)(Xml.childxml_arg0"LastBackupDate")inletresourceArn=(Option.map~f:ResourceArn.of_xml)(Xml.childxml_arg0"ResourceArn")inletpath=(Option.map~f:Path.of_xml)(Xml.childxml_arg0"Path")inletname=(Option.map~f:Name.of_xml)(Xml.childxml_arg0"Name")inlethypervisorId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"HypervisorId")inlethostName=(Option.map~f:Name.of_xml)(Xml.childxml_arg0"HostName")inmake?vmwareTags?lastBackupDate?resourceArn?path?name?hypervisorId?hostName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvmwareTags=field_mapjson__"VmwareTags"VmwareTags.of_jsoninletlastBackupDate=field_mapjson__"LastBackupDate"Time.of_jsoninletresourceArn=field_mapjson__"ResourceArn"ResourceArn.of_jsoninletpath=field_mapjson__"Path"Path.of_jsoninletname=field_mapjson__"Name"Name.of_jsoninlethypervisorId=field_mapjson__"HypervisorId"String_.of_jsoninlethostName=field_mapjson__"HostName"Name.of_jsoninmake?vmwareTags?lastBackupDate?resourceArn?path?name?hypervisorId?hostName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Your VirtualMachine objects, ordered by their Amazon Resource Names (ARNs)."]moduleHypervisorDetails=structtypenonrect={host:Host.toption[@ocaml.doc"The server host of the hypervisor. This can be either an IP address or a fully-qualified domain name (FQDN)."];hypervisorArn:ServerArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the hypervisor."];kmsKeyArn:KmsKeyArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the KMS used to encrypt the hypervisor."];name:Name.toption[@ocaml.doc"This is the name of the specified hypervisor."];logGroupArn:LogGroupArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the group of gateways within the requested log."];state:HypervisorState.toption[@ocaml.doc"This is the current state of the specified hypervisor. The possible states are PENDING, ONLINE, OFFLINE, or ERROR."];lastSuccessfulMetadataSyncTime:Time.toption[@ocaml.doc"This is the time when the most recent successful sync of metadata occurred."];latestMetadataSyncStatusMessage:String_.toption[@ocaml.doc"This is the most recent status for the indicated metadata sync."];latestMetadataSyncStatus:SyncMetadataStatus.toption[@ocaml.doc"This is the most recent status for the indicated metadata sync."]}letmake?host=fun?hypervisorArn->fun?kmsKeyArn->fun?name->fun?logGroupArn->fun?state->fun?lastSuccessfulMetadataSyncTime->fun?latestMetadataSyncStatusMessage->fun?latestMetadataSyncStatus->fun()->{host;hypervisorArn;kmsKeyArn;name;logGroupArn;state;lastSuccessfulMetadataSyncTime;latestMetadataSyncStatusMessage;latestMetadataSyncStatus}letto_valuex=structure_to_value[("Host",(Option.mapx.host~f:Host.to_value));("HypervisorArn",(Option.mapx.hypervisorArn~f:ServerArn.to_value));("KmsKeyArn",(Option.mapx.kmsKeyArn~f:KmsKeyArn.to_value));("Name",(Option.mapx.name~f:Name.to_value));("LogGroupArn",(Option.mapx.logGroupArn~f:LogGroupArn.to_value));("State",(Option.mapx.state~f:HypervisorState.to_value));("LastSuccessfulMetadataSyncTime",(Option.mapx.lastSuccessfulMetadataSyncTime~f:Time.to_value));("LatestMetadataSyncStatusMessage",(Option.mapx.latestMetadataSyncStatusMessage~f:String_.to_value));("LatestMetadataSyncStatus",(Option.mapx.latestMetadataSyncStatus~f:SyncMetadataStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlatestMetadataSyncStatus=(Option.map~f:SyncMetadataStatus.of_xml)(Xml.childxml_arg0"LatestMetadataSyncStatus")inletlatestMetadataSyncStatusMessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"LatestMetadataSyncStatusMessage")inletlastSuccessfulMetadataSyncTime=(Option.map~f:Time.of_xml)(Xml.childxml_arg0"LastSuccessfulMetadataSyncTime")inletstate=(Option.map~f:HypervisorState.of_xml)(Xml.childxml_arg0"State")inletlogGroupArn=(Option.map~f:LogGroupArn.of_xml)(Xml.childxml_arg0"LogGroupArn")inletname=(Option.map~f:Name.of_xml)(Xml.childxml_arg0"Name")inletkmsKeyArn=(Option.map~f:KmsKeyArn.of_xml)(Xml.childxml_arg0"KmsKeyArn")inlethypervisorArn=(Option.map~f:ServerArn.of_xml)(Xml.childxml_arg0"HypervisorArn")inlethost=(Option.map~f:Host.of_xml)(Xml.childxml_arg0"Host")inmake?latestMetadataSyncStatus?latestMetadataSyncStatusMessage?lastSuccessfulMetadataSyncTime?state?logGroupArn?name?kmsKeyArn?hypervisorArn?host()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlatestMetadataSyncStatus=field_mapjson__"LatestMetadataSyncStatus"SyncMetadataStatus.of_jsoninletlatestMetadataSyncStatusMessage=field_mapjson__"LatestMetadataSyncStatusMessage"String_.of_jsoninletlastSuccessfulMetadataSyncTime=field_mapjson__"LastSuccessfulMetadataSyncTime"Time.of_jsoninletstate=field_mapjson__"State"HypervisorState.of_jsoninletlogGroupArn=field_mapjson__"LogGroupArn"LogGroupArn.of_jsoninletname=field_mapjson__"Name"Name.of_jsoninletkmsKeyArn=field_mapjson__"KmsKeyArn"KmsKeyArn.of_jsoninlethypervisorArn=field_mapjson__"HypervisorArn"ServerArn.of_jsoninlethost=field_mapjson__"Host"Host.of_jsoninmake?latestMetadataSyncStatus?latestMetadataSyncStatusMessage?lastSuccessfulMetadataSyncTime?state?logGroupArn?name?kmsKeyArn?hypervisorArn?host()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"These are the details of the specified hypervisor. A hypervisor is hardware, software, or firmware that creates and manages virtual machines, and allocates resources to them."]moduleGatewayDetails=structtypenonrect={gatewayArn:GatewayArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and Amazon Web Services Region."];gatewayDisplayName:Name.toption[@ocaml.doc"The display name of the gateway."];gatewayType:GatewayType.toption[@ocaml.doc"The type of the gateway type."];hypervisorId:HypervisorId.toption[@ocaml.doc"The hypervisor ID of the gateway."];lastSeenTime:Time.toption[@ocaml.doc"Details showing the last time Backup gateway communicated with the cloud, in Unix format and UTC time."];maintenanceStartTime:MaintenanceStartTime.toption[@ocaml.doc"Returns your gateway's weekly maintenance start time including the day and time of the week. Note that values are in terms of the gateway's time zone. Can be weekly or monthly."];nextUpdateAvailabilityTime:Time.toption[@ocaml.doc"Details showing the next update availability time of the gateway."];vpcEndpoint:VpcEndpoint.toption[@ocaml.doc"The DNS name for the virtual private cloud (VPC) endpoint the gateway uses to connect to the cloud for backup gateway."];deprecationDate:Time.toption[@ocaml.doc"Date after which this gateway will not receive software updates for new features and bug fixes."];softwareVersion:Name.toption[@ocaml.doc"The version number of the software running on the gateway appliance."]}letmake?gatewayArn=fun?gatewayDisplayName->fun?gatewayType->fun?hypervisorId->fun?lastSeenTime->fun?maintenanceStartTime->fun?nextUpdateAvailabilityTime->fun?vpcEndpoint->fun?deprecationDate->fun?softwareVersion->fun()->{gatewayArn;gatewayDisplayName;gatewayType;hypervisorId;lastSeenTime;maintenanceStartTime;nextUpdateAvailabilityTime;vpcEndpoint;deprecationDate;softwareVersion}letto_valuex=structure_to_value[("GatewayArn",(Option.mapx.gatewayArn~f:GatewayArn.to_value));("GatewayDisplayName",(Option.mapx.gatewayDisplayName~f:Name.to_value));("GatewayType",(Option.mapx.gatewayType~f:GatewayType.to_value));("HypervisorId",(Option.mapx.hypervisorId~f:HypervisorId.to_value));("LastSeenTime",(Option.mapx.lastSeenTime~f:Time.to_value));("MaintenanceStartTime",(Option.mapx.maintenanceStartTime~f:MaintenanceStartTime.to_value));("NextUpdateAvailabilityTime",(Option.mapx.nextUpdateAvailabilityTime~f:Time.to_value));("VpcEndpoint",(Option.mapx.vpcEndpoint~f:VpcEndpoint.to_value));("DeprecationDate",(Option.mapx.deprecationDate~f:Time.to_value));("SoftwareVersion",(Option.mapx.softwareVersion~f:Name.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letsoftwareVersion=(Option.map~f:Name.of_xml)(Xml.childxml_arg0"SoftwareVersion")inletdeprecationDate=(Option.map~f:Time.of_xml)(Xml.childxml_arg0"DeprecationDate")inletvpcEndpoint=(Option.map~f:VpcEndpoint.of_xml)(Xml.childxml_arg0"VpcEndpoint")inletnextUpdateAvailabilityTime=(Option.map~f:Time.of_xml)(Xml.childxml_arg0"NextUpdateAvailabilityTime")inletmaintenanceStartTime=(Option.map~f:MaintenanceStartTime.of_xml)(Xml.childxml_arg0"MaintenanceStartTime")inletlastSeenTime=(Option.map~f:Time.of_xml)(Xml.childxml_arg0"LastSeenTime")inlethypervisorId=(Option.map~f:HypervisorId.of_xml)(Xml.childxml_arg0"HypervisorId")inletgatewayType=(Option.map~f:GatewayType.of_xml)(Xml.childxml_arg0"GatewayType")inletgatewayDisplayName=(Option.map~f:Name.of_xml)(Xml.childxml_arg0"GatewayDisplayName")inletgatewayArn=(Option.map~f:GatewayArn.of_xml)(Xml.childxml_arg0"GatewayArn")inmake?softwareVersion?deprecationDate?vpcEndpoint?nextUpdateAvailabilityTime?maintenanceStartTime?lastSeenTime?hypervisorId?gatewayType?gatewayDisplayName?gatewayArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letsoftwareVersion=field_mapjson__"SoftwareVersion"Name.of_jsoninletdeprecationDate=field_mapjson__"DeprecationDate"Time.of_jsoninletvpcEndpoint=field_mapjson__"VpcEndpoint"VpcEndpoint.of_jsoninletnextUpdateAvailabilityTime=field_mapjson__"NextUpdateAvailabilityTime"Time.of_jsoninletmaintenanceStartTime=field_mapjson__"MaintenanceStartTime"MaintenanceStartTime.of_jsoninletlastSeenTime=field_mapjson__"LastSeenTime"Time.of_jsoninlethypervisorId=field_mapjson__"HypervisorId"HypervisorId.of_jsoninletgatewayType=field_mapjson__"GatewayType"GatewayType.of_jsoninletgatewayDisplayName=field_mapjson__"GatewayDisplayName"Name.of_jsoninletgatewayArn=field_mapjson__"GatewayArn"GatewayArn.of_jsoninmake?softwareVersion?deprecationDate?vpcEndpoint?nextUpdateAvailabilityTime?maintenanceStartTime?lastSeenTime?hypervisorId?gatewayType?gatewayDisplayName?gatewayArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The details of gateway."]moduleActivationKey=structtypenonrect=stringletcontext_="ActivationKey"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:50)>>=(fun()->check_patterni~pattern:"[0-9a-zA-Z\\-]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ActivationKey"jletto_json=simple_to_jsonto_valueendmoduleUpdateHypervisorOutput=structtypenonrect={hypervisorArn:ServerArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the hypervisor you updated."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?hypervisorArn=fun()->{hypervisorArn}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("HypervisorArn",(Option.mapx.hypervisorArn~f:ServerArn.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lethypervisorArn=(Option.map~f:ServerArn.of_xml)(Xml.childxml_arg0"HypervisorArn")inmake?hypervisorArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lethypervisorArn=field_mapjson__"HypervisorArn"ServerArn.of_jsoninmake?hypervisorArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates a hypervisor metadata, including its host, username, and password. Specify which hypervisor to update using the Amazon Resource Name (ARN) of the hypervisor in your request."]moduleUpdateHypervisorInput=structtypenonrect={hypervisorArn:ServerArn.t[@ocaml.doc"The Amazon Resource Name (ARN) of the hypervisor to update."];host:Host.toption[@ocaml.doc"The updated host of the hypervisor. This can be either an IP address or a fully-qualified domain name (FQDN)."];username:Username.toption[@ocaml.doc"The updated username for the hypervisor."];password:Password.toption[@ocaml.doc"The updated password for the hypervisor."];name:Name.toption[@ocaml.doc"The updated name for the hypervisor"];logGroupArn:LogGroupArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the group of gateways within the requested log."]}letcontext_="UpdateHypervisorInput"letmake?host=fun?username->fun?password->fun?name->fun?logGroupArn->fun~hypervisorArn->fun()->{host;username;password;name;logGroupArn;hypervisorArn}letto_valuex=structure_to_value[("HypervisorArn",(Some(ServerArn.to_valuex.hypervisorArn)));("Host",(Option.mapx.host~f:Host.to_value));("Username",(Option.mapx.username~f:Username.to_value));("Password",(Option.mapx.password~f:Password.to_value));("Name",(Option.mapx.name~f:Name.to_value));("LogGroupArn",(Option.mapx.logGroupArn~f:LogGroupArn.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlogGroupArn=(Option.map~f:LogGroupArn.of_xml)(Xml.childxml_arg0"LogGroupArn")inletname=(Option.map~f:Name.of_xml)(Xml.childxml_arg0"Name")inletpassword=(Option.map~f:Password.of_xml)(Xml.childxml_arg0"Password")inletusername=(Option.map~f:Username.of_xml)(Xml.childxml_arg0"Username")inlethost=(Option.map~f:Host.of_xml)(Xml.childxml_arg0"Host")inlethypervisorArn=ServerArn.of_xml(Xml.child_exn~context:context_xml_arg0"HypervisorArn")inmake?logGroupArn?name?password?username?host~hypervisorArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlogGroupArn=field_mapjson__"LogGroupArn"LogGroupArn.of_jsoninletname=field_mapjson__"Name"Name.of_jsoninletpassword=field_mapjson__"Password"Password.of_jsoninletusername=field_mapjson__"Username"Username.of_jsoninlethost=field_mapjson__"Host"Host.of_jsoninlethypervisorArn=field_map_exnjson__"HypervisorArn"ServerArn.of_jsoninmake?logGroupArn?name?password?username?host~hypervisorArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates a hypervisor metadata, including its host, username, and password. Specify which hypervisor to update using the Amazon Resource Name (ARN) of the hypervisor in your request."]moduleUpdateGatewaySoftwareNowOutput=structtypenonrect={gatewayArn:GatewayArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the gateway you updated."]}typenonrecerror=[`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?gatewayArn=fun()->{gatewayArn}leterror_of_jsonnamejson=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("GatewayArn",(Option.mapx.gatewayArn~f:GatewayArn.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letgatewayArn=(Option.map~f:GatewayArn.of_xml)(Xml.childxml_arg0"GatewayArn")inmake?gatewayArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letgatewayArn=field_mapjson__"GatewayArn"GatewayArn.of_jsoninmake?gatewayArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates the gateway virtual machine (VM) software. The request immediately triggers the software update. When you make this request, you get a 200 OK success response immediately. However, it might take some time for the update to complete."]moduleUpdateGatewaySoftwareNowInput=structtypenonrect={gatewayArn:GatewayArn.t[@ocaml.doc"The Amazon Resource Name (ARN) of the gateway to be updated."]}letcontext_="UpdateGatewaySoftwareNowInput"letmake~gatewayArn=fun()->{gatewayArn}letto_valuex=structure_to_value[("GatewayArn",(Some(GatewayArn.to_valuex.gatewayArn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letgatewayArn=GatewayArn.of_xml(Xml.child_exn~context:context_xml_arg0"GatewayArn")inmake~gatewayArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letgatewayArn=field_map_exnjson__"GatewayArn"GatewayArn.of_jsoninmake~gatewayArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates the gateway virtual machine (VM) software. The request immediately triggers the software update. When you make this request, you get a 200 OK success response immediately. However, it might take some time for the update to complete."]moduleUpdateGatewayInformationOutput=structtypenonrect={gatewayArn:GatewayArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the gateway you updated."]}typenonrecerror=[`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?gatewayArn=fun()->{gatewayArn}leterror_of_jsonnamejson=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("GatewayArn",(Option.mapx.gatewayArn~f:GatewayArn.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letgatewayArn=(Option.map~f:GatewayArn.of_xml)(Xml.childxml_arg0"GatewayArn")inmake?gatewayArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letgatewayArn=field_mapjson__"GatewayArn"GatewayArn.of_jsoninmake?gatewayArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates a gateway's name. Specify which gateway to update using the Amazon Resource Name (ARN) of the gateway in your request."]moduleUpdateGatewayInformationInput=structtypenonrect={gatewayArn:GatewayArn.t[@ocaml.doc"The Amazon Resource Name (ARN) of the gateway to update."];gatewayDisplayName:Name.toption[@ocaml.doc"The updated display name of the gateway."]}letcontext_="UpdateGatewayInformationInput"letmake?gatewayDisplayName=fun~gatewayArn->fun()->{gatewayDisplayName;gatewayArn}letto_valuex=structure_to_value[("GatewayArn",(Some(GatewayArn.to_valuex.gatewayArn)));("GatewayDisplayName",(Option.mapx.gatewayDisplayName~f:Name.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letgatewayDisplayName=(Option.map~f:Name.of_xml)(Xml.childxml_arg0"GatewayDisplayName")inletgatewayArn=GatewayArn.of_xml(Xml.child_exn~context:context_xml_arg0"GatewayArn")inmake?gatewayDisplayName~gatewayArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letgatewayDisplayName=field_mapjson__"GatewayDisplayName"Name.of_jsoninletgatewayArn=field_map_exnjson__"GatewayArn"GatewayArn.of_jsoninmake?gatewayDisplayName~gatewayArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates a gateway's name. Specify which gateway to update using the Amazon Resource Name (ARN) of the gateway in your request."]moduleUntagResourceOutput=structtypenonrect={resourceARN:ResourceArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the resource from which you removed tags."]}typenonrecerror=[`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?resourceARN=fun()->{resourceARN}leterror_of_jsonnamejson=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("ResourceARN",(Option.mapx.resourceARN~f:ResourceArn.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresourceARN=(Option.map~f:ResourceArn.of_xml)(Xml.childxml_arg0"ResourceARN")inmake?resourceARN()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresourceARN=field_mapjson__"ResourceARN"ResourceArn.of_jsoninmake?resourceARN()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Removes tags from the resource."]moduleUntagResourceInput=structtypenonrect={resourceARN:ResourceArn.t[@ocaml.doc"The Amazon Resource Name (ARN) of the resource from which to remove tags."];tagKeys:TagKeys.t[@ocaml.doc"The list of tag keys specifying which tags to remove."]}letcontext_="UntagResourceInput"letmake~resourceARN=fun~tagKeys->fun()->{resourceARN;tagKeys}letto_valuex=structure_to_value[("ResourceARN",(Some(ResourceArn.to_valuex.resourceARN)));("TagKeys",(Some(TagKeys.to_valuex.tagKeys)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettagKeys=TagKeys.of_xml(Xml.child_exn~context:context_xml_arg0"TagKeys")inletresourceARN=ResourceArn.of_xml(Xml.child_exn~context:context_xml_arg0"ResourceARN")inmake~tagKeys~resourceARN()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettagKeys=field_map_exnjson__"TagKeys"TagKeys.of_jsoninletresourceARN=field_map_exnjson__"ResourceARN"ResourceArn.of_jsoninmake~tagKeys~resourceARN()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Removes tags from the resource."]moduleTestHypervisorConfigurationOutput=structtypenonrect=unittypenonrecerror=[`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Tests your hypervisor configuration to validate that backup gateway can connect with the hypervisor and its resources."]moduleTestHypervisorConfigurationInput=structtypenonrect={gatewayArn:GatewayArn.t[@ocaml.doc"The Amazon Resource Name (ARN) of the gateway to the hypervisor to test."];host:Host.t[@ocaml.doc"The server host of the hypervisor. This can be either an IP address or a fully-qualified domain name (FQDN)."];username:Username.toption[@ocaml.doc"The username for the hypervisor."];password:Password.toption[@ocaml.doc"The password for the hypervisor."]}letcontext_="TestHypervisorConfigurationInput"letmake?username=fun?password->fun~gatewayArn->fun~host->fun()->{username;password;gatewayArn;host}letto_valuex=structure_to_value[("GatewayArn",(Some(GatewayArn.to_valuex.gatewayArn)));("Host",(Some(Host.to_valuex.host)));("Username",(Option.mapx.username~f:Username.to_value));("Password",(Option.mapx.password~f:Password.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letpassword=(Option.map~f:Password.of_xml)(Xml.childxml_arg0"Password")inletusername=(Option.map~f:Username.of_xml)(Xml.childxml_arg0"Username")inlethost=Host.of_xml(Xml.child_exn~context:context_xml_arg0"Host")inletgatewayArn=GatewayArn.of_xml(Xml.child_exn~context:context_xml_arg0"GatewayArn")inmake?password?username~host~gatewayArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letpassword=field_mapjson__"Password"Password.of_jsoninletusername=field_mapjson__"Username"Username.of_jsoninlethost=field_map_exnjson__"Host"Host.of_jsoninletgatewayArn=field_map_exnjson__"GatewayArn"GatewayArn.of_jsoninmake?password?username~host~gatewayArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Tests your hypervisor configuration to validate that backup gateway can connect with the hypervisor and its resources."]moduleTagResourceOutput=structtypenonrect={resourceARN:ResourceArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the resource you tagged."]}typenonrecerror=[`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?resourceARN=fun()->{resourceARN}leterror_of_jsonnamejson=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("ResourceARN",(Option.mapx.resourceARN~f:ResourceArn.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresourceARN=(Option.map~f:ResourceArn.of_xml)(Xml.childxml_arg0"ResourceARN")inmake?resourceARN()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresourceARN=field_mapjson__"ResourceARN"ResourceArn.of_jsoninmake?resourceARN()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Tag the resource."]moduleTagResourceInput=structtypenonrect={resourceARN:ResourceArn.t[@ocaml.doc"The Amazon Resource Name (ARN) of the resource to tag."];tags:Tags.t[@ocaml.doc"A list of tags to assign to the resource."]}letcontext_="TagResourceInput"letmake~resourceARN=fun~tags->fun()->{resourceARN;tags}letto_valuex=structure_to_value[("ResourceARN",(Some(ResourceArn.to_valuex.resourceARN)));("Tags",(Some(Tags.to_valuex.tags)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettags=Tags.of_xml(Xml.child_exn~context:context_xml_arg0"Tags")inletresourceARN=ResourceArn.of_xml(Xml.child_exn~context:context_xml_arg0"ResourceARN")inmake~tags~resourceARN()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_map_exnjson__"Tags"Tags.of_jsoninletresourceARN=field_map_exnjson__"ResourceARN"ResourceArn.of_jsoninmake~tags~resourceARN()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Tag the resource."]moduleStartVirtualMachinesMetadataSyncOutput=structtypenonrect={hypervisorArn:ServerArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the hypervisor."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?hypervisorArn=fun()->{hypervisorArn}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("HypervisorArn",(Option.mapx.hypervisorArn~f:ServerArn.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lethypervisorArn=(Option.map~f:ServerArn.of_xml)(Xml.childxml_arg0"HypervisorArn")inmake?hypervisorArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lethypervisorArn=field_mapjson__"HypervisorArn"ServerArn.of_jsoninmake?hypervisorArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"This action sends a request to sync metadata across the specified virtual machines."]moduleStartVirtualMachinesMetadataSyncInput=structtypenonrect={hypervisorArn:ServerArn.t[@ocaml.doc"The Amazon Resource Name (ARN) of the hypervisor."]}letcontext_="StartVirtualMachinesMetadataSyncInput"letmake~hypervisorArn=fun()->{hypervisorArn}letto_valuex=structure_to_value[("HypervisorArn",(Some(ServerArn.to_valuex.hypervisorArn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lethypervisorArn=ServerArn.of_xml(Xml.child_exn~context:context_xml_arg0"HypervisorArn")inmake~hypervisorArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lethypervisorArn=field_map_exnjson__"HypervisorArn"ServerArn.of_jsoninmake~hypervisorArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"This action sends a request to sync metadata across the specified virtual machines."]modulePutMaintenanceStartTimeOutput=structtypenonrect={gatewayArn:GatewayArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of a gateway for which you set the maintenance start time."]}typenonrecerror=[`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?gatewayArn=fun()->{gatewayArn}leterror_of_jsonnamejson=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("GatewayArn",(Option.mapx.gatewayArn~f:GatewayArn.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letgatewayArn=(Option.map~f:GatewayArn.of_xml)(Xml.childxml_arg0"GatewayArn")inmake?gatewayArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letgatewayArn=field_mapjson__"GatewayArn"GatewayArn.of_jsoninmake?gatewayArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Set the maintenance start time for a gateway."]modulePutMaintenanceStartTimeInput=structtypenonrect={gatewayArn:GatewayArn.t[@ocaml.doc"The Amazon Resource Name (ARN) for the gateway, used to specify its maintenance start time."];hourOfDay:HourOfDay.t[@ocaml.doc"The hour of the day to start maintenance on a gateway."];minuteOfHour:MinuteOfHour.t[@ocaml.doc"The minute of the hour to start maintenance on a gateway."];dayOfWeek:DayOfWeek.toption[@ocaml.doc"The day of the week to start maintenance on a gateway."];dayOfMonth:DayOfMonth.toption[@ocaml.doc"The day of the month start maintenance on a gateway. Valid values range from Sunday to Saturday."]}letcontext_="PutMaintenanceStartTimeInput"letmake?dayOfWeek=fun?dayOfMonth->fun~gatewayArn->fun~hourOfDay->fun~minuteOfHour->fun()->{dayOfWeek;dayOfMonth;gatewayArn;hourOfDay;minuteOfHour}letto_valuex=structure_to_value[("GatewayArn",(Some(GatewayArn.to_valuex.gatewayArn)));("HourOfDay",(Some(HourOfDay.to_valuex.hourOfDay)));("MinuteOfHour",(Some(MinuteOfHour.to_valuex.minuteOfHour)));("DayOfWeek",(Option.mapx.dayOfWeek~f:DayOfWeek.to_value));("DayOfMonth",(Option.mapx.dayOfMonth~f:DayOfMonth.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdayOfMonth=(Option.map~f:DayOfMonth.of_xml)(Xml.childxml_arg0"DayOfMonth")inletdayOfWeek=(Option.map~f:DayOfWeek.of_xml)(Xml.childxml_arg0"DayOfWeek")inletminuteOfHour=MinuteOfHour.of_xml(Xml.child_exn~context:context_xml_arg0"MinuteOfHour")inlethourOfDay=HourOfDay.of_xml(Xml.child_exn~context:context_xml_arg0"HourOfDay")inletgatewayArn=GatewayArn.of_xml(Xml.child_exn~context:context_xml_arg0"GatewayArn")inmake?dayOfMonth?dayOfWeek~minuteOfHour~hourOfDay~gatewayArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdayOfMonth=field_mapjson__"DayOfMonth"DayOfMonth.of_jsoninletdayOfWeek=field_mapjson__"DayOfWeek"DayOfWeek.of_jsoninletminuteOfHour=field_map_exnjson__"MinuteOfHour"MinuteOfHour.of_jsoninlethourOfDay=field_map_exnjson__"HourOfDay"HourOfDay.of_jsoninletgatewayArn=field_map_exnjson__"GatewayArn"GatewayArn.of_jsoninmake?dayOfMonth?dayOfWeek~minuteOfHour~hourOfDay~gatewayArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Set the maintenance start time for a gateway."]modulePutHypervisorPropertyMappingsOutput=structtypenonrect={hypervisorArn:ServerArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the hypervisor."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?hypervisorArn=fun()->{hypervisorArn}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("HypervisorArn",(Option.mapx.hypervisorArn~f:ServerArn.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lethypervisorArn=(Option.map~f:ServerArn.of_xml)(Xml.childxml_arg0"HypervisorArn")inmake?hypervisorArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lethypervisorArn=field_mapjson__"HypervisorArn"ServerArn.of_jsoninmake?hypervisorArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"This action sets the property mappings for the specified hypervisor. A hypervisor property mapping displays the relationship of entity properties available from the hypervisor to the properties available in Amazon Web Services."]modulePutHypervisorPropertyMappingsInput=structtypenonrect={hypervisorArn:ServerArn.t[@ocaml.doc"The Amazon Resource Name (ARN) of the hypervisor."];vmwareToAwsTagMappings:VmwareToAwsTagMappings.t[@ocaml.doc"This action requests the mappings of VMware tags to the Amazon Web Services tags."];iamRoleArn:IamRoleArn.t[@ocaml.doc"The Amazon Resource Name (ARN) of the IAM role."]}letcontext_="PutHypervisorPropertyMappingsInput"letmake~hypervisorArn=fun~vmwareToAwsTagMappings->fun~iamRoleArn->fun()->{hypervisorArn;vmwareToAwsTagMappings;iamRoleArn}letto_valuex=structure_to_value[("HypervisorArn",(Some(ServerArn.to_valuex.hypervisorArn)));("VmwareToAwsTagMappings",(Some(VmwareToAwsTagMappings.to_valuex.vmwareToAwsTagMappings)));("IamRoleArn",(Some(IamRoleArn.to_valuex.iamRoleArn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letiamRoleArn=IamRoleArn.of_xml(Xml.child_exn~context:context_xml_arg0"IamRoleArn")inletvmwareToAwsTagMappings=VmwareToAwsTagMappings.of_xml(Xml.child_exn~context:context_xml_arg0"VmwareToAwsTagMappings")inlethypervisorArn=ServerArn.of_xml(Xml.child_exn~context:context_xml_arg0"HypervisorArn")inmake~iamRoleArn~vmwareToAwsTagMappings~hypervisorArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letiamRoleArn=field_map_exnjson__"IamRoleArn"IamRoleArn.of_jsoninletvmwareToAwsTagMappings=field_map_exnjson__"VmwareToAwsTagMappings"VmwareToAwsTagMappings.of_jsoninlethypervisorArn=field_map_exnjson__"HypervisorArn"ServerArn.of_jsoninmake~iamRoleArn~vmwareToAwsTagMappings~hypervisorArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"This action sets the property mappings for the specified hypervisor. A hypervisor property mapping displays the relationship of entity properties available from the hypervisor to the properties available in Amazon Web Services."]modulePutBandwidthRateLimitScheduleOutput=structtypenonrect={gatewayArn:GatewayArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and Amazon Web Services Region."]}typenonrecerror=[`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?gatewayArn=fun()->{gatewayArn}leterror_of_jsonnamejson=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("GatewayArn",(Option.mapx.gatewayArn~f:GatewayArn.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letgatewayArn=(Option.map~f:GatewayArn.of_xml)(Xml.childxml_arg0"GatewayArn")inmake?gatewayArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letgatewayArn=field_mapjson__"GatewayArn"GatewayArn.of_jsoninmake?gatewayArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"This action sets the bandwidth rate limit schedule for a specified gateway. By default, gateways do not have a bandwidth rate limit schedule, which means no bandwidth rate limiting is in effect. Use this to initiate a gateway's bandwidth rate limit schedule."]modulePutBandwidthRateLimitScheduleInput=structtypenonrect={gatewayArn:GatewayArn.t[@ocaml.doc"The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and Amazon Web Services Region."];bandwidthRateLimitIntervals:BandwidthRateLimitIntervals.t[@ocaml.doc"An array containing bandwidth rate limit schedule intervals for a gateway. When no bandwidth rate limit intervals have been scheduled, the array is empty."]}letcontext_="PutBandwidthRateLimitScheduleInput"letmake~gatewayArn=fun~bandwidthRateLimitIntervals->fun()->{gatewayArn;bandwidthRateLimitIntervals}letto_valuex=structure_to_value[("GatewayArn",(Some(GatewayArn.to_valuex.gatewayArn)));("BandwidthRateLimitIntervals",(Some(BandwidthRateLimitIntervals.to_valuex.bandwidthRateLimitIntervals)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letbandwidthRateLimitIntervals=BandwidthRateLimitIntervals.of_xml(Xml.child_exn~context:context_xml_arg0"BandwidthRateLimitIntervals")inletgatewayArn=GatewayArn.of_xml(Xml.child_exn~context:context_xml_arg0"GatewayArn")inmake~bandwidthRateLimitIntervals~gatewayArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letbandwidthRateLimitIntervals=field_map_exnjson__"BandwidthRateLimitIntervals"BandwidthRateLimitIntervals.of_jsoninletgatewayArn=field_map_exnjson__"GatewayArn"GatewayArn.of_jsoninmake~bandwidthRateLimitIntervals~gatewayArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"This action sets the bandwidth rate limit schedule for a specified gateway. By default, gateways do not have a bandwidth rate limit schedule, which means no bandwidth rate limiting is in effect. Use this to initiate a gateway's bandwidth rate limit schedule."]moduleListVirtualMachinesOutput=structtypenonrect={virtualMachines:VirtualMachines.toption[@ocaml.doc"A list of your VirtualMachine objects, ordered by their Amazon Resource Names (ARNs)."];nextToken:NextToken.toption[@ocaml.doc"The next item following a partial list of returned resources. For example, if a request is made to return maxResults number of resources, NextToken allows you to return more items in your list starting at the location pointed to by the next token."]}typenonrecerror=[`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?virtualMachines=fun?nextToken->fun()->{virtualMachines;nextToken}leterror_of_jsonnamejson=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("VirtualMachines",(Option.mapx.virtualMachines~f:VirtualMachines.to_value));("NextToken",(Option.mapx.nextToken~f:NextToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"NextToken")inletvirtualMachines=(Option.map~f:VirtualMachines.of_xml)(Xml.childxml_arg0"VirtualMachines")inmake?nextToken?virtualMachines()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletvirtualMachines=field_mapjson__"VirtualMachines"VirtualMachines.of_jsoninmake?nextToken?virtualMachines()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists your virtual machines."]moduleListVirtualMachinesInput=structtypenonrect={hypervisorArn:ServerArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the hypervisor connected to your virtual machine."];maxResults:MaxResults.toption[@ocaml.doc"The maximum number of virtual machines to list."];nextToken:NextToken.toption[@ocaml.doc"The next item following a partial list of returned resources. For example, if a request is made to return maxResults number of resources, NextToken allows you to return more items in your list starting at the location pointed to by the next token."]}letmake?hypervisorArn=fun?maxResults->fun?nextToken->fun()->{hypervisorArn;maxResults;nextToken}letto_valuex=structure_to_value[("HypervisorArn",(Option.mapx.hypervisorArn~f:ServerArn.to_value));("MaxResults",(Option.mapx.maxResults~f:MaxResults.to_value));("NextToken",(Option.mapx.nextToken~f:NextToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"NextToken")inletmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"MaxResults")inlethypervisorArn=(Option.map~f:ServerArn.of_xml)(Xml.childxml_arg0"HypervisorArn")inmake?nextToken?maxResults?hypervisorArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletmaxResults=field_mapjson__"MaxResults"MaxResults.of_jsoninlethypervisorArn=field_mapjson__"HypervisorArn"ServerArn.of_jsoninmake?nextToken?maxResults?hypervisorArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists your virtual machines."]moduleListTagsForResourceOutput=structtypenonrect={resourceArn:ResourceArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the resource's tags that you listed."];tags:Tags.toption[@ocaml.doc"A list of the resource's tags."]}typenonrecerror=[`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?resourceArn=fun?tags->fun()->{resourceArn;tags}leterror_of_jsonnamejson=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("ResourceArn",(Option.mapx.resourceArn~f:ResourceArn.to_value));("Tags",(Option.mapx.tags~f:Tags.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettags=(Option.map~f:Tags.of_xml)(Xml.childxml_arg0"Tags")inletresourceArn=(Option.map~f:ResourceArn.of_xml)(Xml.childxml_arg0"ResourceArn")inmake?tags?resourceArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"Tags"Tags.of_jsoninletresourceArn=field_mapjson__"ResourceArn"ResourceArn.of_jsoninmake?tags?resourceArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists the tags applied to the resource identified by its Amazon Resource Name (ARN)."]moduleListTagsForResourceInput=structtypenonrect={resourceArn:ResourceArn.t[@ocaml.doc"The Amazon Resource Name (ARN) of the resource's tags to list."]}letcontext_="ListTagsForResourceInput"letmake~resourceArn=fun()->{resourceArn}letto_valuex=structure_to_value[("ResourceArn",(Some(ResourceArn.to_valuex.resourceArn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresourceArn=ResourceArn.of_xml(Xml.child_exn~context:context_xml_arg0"ResourceArn")inmake~resourceArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresourceArn=field_map_exnjson__"ResourceArn"ResourceArn.of_jsoninmake~resourceArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists the tags applied to the resource identified by its Amazon Resource Name (ARN)."]moduleListHypervisorsOutput=structtypenonrect={hypervisors:Hypervisors.toption[@ocaml.doc"A list of your Hypervisor objects, ordered by their Amazon Resource Names (ARNs)."];nextToken:NextToken.toption[@ocaml.doc"The next item following a partial list of returned resources. For example, if a request is made to return maxResults number of resources, NextToken allows you to return more items in your list starting at the location pointed to by the next token."]}typenonrecerror=[`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?hypervisors=fun?nextToken->fun()->{hypervisors;nextToken}leterror_of_jsonnamejson=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("Hypervisors",(Option.mapx.hypervisors~f:Hypervisors.to_value));("NextToken",(Option.mapx.nextToken~f:NextToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"NextToken")inlethypervisors=(Option.map~f:Hypervisors.of_xml)(Xml.childxml_arg0"Hypervisors")inmake?nextToken?hypervisors()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextToken.of_jsoninlethypervisors=field_mapjson__"Hypervisors"Hypervisors.of_jsoninmake?nextToken?hypervisors()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists your hypervisors."]moduleListHypervisorsInput=structtypenonrect={maxResults:MaxResults.toption[@ocaml.doc"The maximum number of hypervisors to list."];nextToken:NextToken.toption[@ocaml.doc"The next item following a partial list of returned resources. For example, if a request is made to return maxResults number of resources, NextToken allows you to return more items in your list starting at the location pointed to by the next token."]}letmake?maxResults=fun?nextToken->fun()->{maxResults;nextToken}letto_valuex=structure_to_value[("MaxResults",(Option.mapx.maxResults~f:MaxResults.to_value));("NextToken",(Option.mapx.nextToken~f:NextToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"NextToken")inletmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"MaxResults")inmake?nextToken?maxResults()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletmaxResults=field_mapjson__"MaxResults"MaxResults.of_jsoninmake?nextToken?maxResults()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists your hypervisors."]moduleListGatewaysOutput=structtypenonrect={gateways:Gateways.toption[@ocaml.doc"A list of your gateways."];nextToken:NextToken.toption[@ocaml.doc"The next item following a partial list of returned resources. For example, if a request is made to return maxResults number of resources, NextToken allows you to return more items in your list starting at the location pointed to by the next token."]}typenonrecerror=[`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?gateways=fun?nextToken->fun()->{gateways;nextToken}leterror_of_jsonnamejson=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("Gateways",(Option.mapx.gateways~f:Gateways.to_value));("NextToken",(Option.mapx.nextToken~f:NextToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"NextToken")inletgateways=(Option.map~f:Gateways.of_xml)(Xml.childxml_arg0"Gateways")inmake?nextToken?gateways()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletgateways=field_mapjson__"Gateways"Gateways.of_jsoninmake?nextToken?gateways()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists backup gateways owned by an Amazon Web Services account in an Amazon Web Services Region. The returned list is ordered by gateway Amazon Resource Name (ARN)."]moduleListGatewaysInput=structtypenonrect={maxResults:MaxResults.toption[@ocaml.doc"The maximum number of gateways to list."];nextToken:NextToken.toption[@ocaml.doc"The next item following a partial list of returned resources. For example, if a request is made to return MaxResults number of resources, NextToken allows you to return more items in your list starting at the location pointed to by the next token."]}letmake?maxResults=fun?nextToken->fun()->{maxResults;nextToken}letto_valuex=structure_to_value[("MaxResults",(Option.mapx.maxResults~f:MaxResults.to_value));("NextToken",(Option.mapx.nextToken~f:NextToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"NextToken")inletmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"MaxResults")inmake?nextToken?maxResults()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletmaxResults=field_mapjson__"MaxResults"MaxResults.of_jsoninmake?nextToken?maxResults()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists backup gateways owned by an Amazon Web Services account in an Amazon Web Services Region. The returned list is ordered by gateway Amazon Resource Name (ARN)."]moduleImportHypervisorConfigurationOutput=structtypenonrect={hypervisorArn:ServerArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the hypervisor you disassociated."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?hypervisorArn=fun()->{hypervisorArn}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("HypervisorArn",(Option.mapx.hypervisorArn~f:ServerArn.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lethypervisorArn=(Option.map~f:ServerArn.of_xml)(Xml.childxml_arg0"HypervisorArn")inmake?hypervisorArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lethypervisorArn=field_mapjson__"HypervisorArn"ServerArn.of_jsoninmake?hypervisorArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Connect to a hypervisor by importing its configuration."]moduleImportHypervisorConfigurationInput=structtypenonrect={name:Name.t[@ocaml.doc"The name of the hypervisor."];host:Host.t[@ocaml.doc"The server host of the hypervisor. This can be either an IP address or a fully-qualified domain name (FQDN)."];username:Username.toption[@ocaml.doc"The username for the hypervisor."];password:Password.toption[@ocaml.doc"The password for the hypervisor."];kmsKeyArn:KmsKeyArn.toption[@ocaml.doc"The Key Management Service for the hypervisor."];tags:Tags.toption[@ocaml.doc"The tags of the hypervisor configuration to import."]}letcontext_="ImportHypervisorConfigurationInput"letmake?username=fun?password->fun?kmsKeyArn->fun?tags->fun~name->fun~host->fun()->{username;password;kmsKeyArn;tags;name;host}letto_valuex=structure_to_value[("Name",(Some(Name.to_valuex.name)));("Host",(Some(Host.to_valuex.host)));("Username",(Option.mapx.username~f:Username.to_value));("Password",(Option.mapx.password~f:Password.to_value));("KmsKeyArn",(Option.mapx.kmsKeyArn~f:KmsKeyArn.to_value));("Tags",(Option.mapx.tags~f:Tags.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettags=(Option.map~f:Tags.of_xml)(Xml.childxml_arg0"Tags")inletkmsKeyArn=(Option.map~f:KmsKeyArn.of_xml)(Xml.childxml_arg0"KmsKeyArn")inletpassword=(Option.map~f:Password.of_xml)(Xml.childxml_arg0"Password")inletusername=(Option.map~f:Username.of_xml)(Xml.childxml_arg0"Username")inlethost=Host.of_xml(Xml.child_exn~context:context_xml_arg0"Host")inletname=Name.of_xml(Xml.child_exn~context:context_xml_arg0"Name")inmake?tags?kmsKeyArn?password?username~host~name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"Tags"Tags.of_jsoninletkmsKeyArn=field_mapjson__"KmsKeyArn"KmsKeyArn.of_jsoninletpassword=field_mapjson__"Password"Password.of_jsoninletusername=field_mapjson__"Username"Username.of_jsoninlethost=field_map_exnjson__"Host"Host.of_jsoninletname=field_map_exnjson__"Name"Name.of_jsoninmake?tags?kmsKeyArn?password?username~host~name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Connect to a hypervisor by importing its configuration."]moduleGetVirtualMachineOutput=structtypenonrect={virtualMachine:VirtualMachineDetails.toption[@ocaml.doc"This object contains the basic attributes of VirtualMachine contained by the output of GetVirtualMachine"]}typenonrecerror=[`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?virtualMachine=fun()->{virtualMachine}leterror_of_jsonnamejson=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("VirtualMachine",(Option.mapx.virtualMachine~f:VirtualMachineDetails.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvirtualMachine=(Option.map~f:VirtualMachineDetails.of_xml)(Xml.childxml_arg0"VirtualMachine")inmake?virtualMachine()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvirtualMachine=field_mapjson__"VirtualMachine"VirtualMachineDetails.of_jsoninmake?virtualMachine()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"By providing the ARN (Amazon Resource Name), this API returns the virtual machine."]moduleGetVirtualMachineInput=structtypenonrect={resourceArn:ResourceArn.t[@ocaml.doc"The Amazon Resource Name (ARN) of the virtual machine."]}letcontext_="GetVirtualMachineInput"letmake~resourceArn=fun()->{resourceArn}letto_valuex=structure_to_value[("ResourceArn",(Some(ResourceArn.to_valuex.resourceArn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresourceArn=ResourceArn.of_xml(Xml.child_exn~context:context_xml_arg0"ResourceArn")inmake~resourceArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresourceArn=field_map_exnjson__"ResourceArn"ResourceArn.of_jsoninmake~resourceArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"By providing the ARN (Amazon Resource Name), this API returns the virtual machine."]moduleGetHypervisorPropertyMappingsOutput=structtypenonrect={hypervisorArn:ServerArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the hypervisor."];vmwareToAwsTagMappings:VmwareToAwsTagMappings.toption[@ocaml.doc"This is a display of the mappings of VMware tags to the Amazon Web Services tags."];iamRoleArn:IamRoleArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the IAM role."]}typenonrecerror=[`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?hypervisorArn=fun?vmwareToAwsTagMappings->fun?iamRoleArn->fun()->{hypervisorArn;vmwareToAwsTagMappings;iamRoleArn}leterror_of_jsonnamejson=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("HypervisorArn",(Option.mapx.hypervisorArn~f:ServerArn.to_value));("VmwareToAwsTagMappings",(Option.mapx.vmwareToAwsTagMappings~f:VmwareToAwsTagMappings.to_value));("IamRoleArn",(Option.mapx.iamRoleArn~f:IamRoleArn.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letiamRoleArn=(Option.map~f:IamRoleArn.of_xml)(Xml.childxml_arg0"IamRoleArn")inletvmwareToAwsTagMappings=(Option.map~f:VmwareToAwsTagMappings.of_xml)(Xml.childxml_arg0"VmwareToAwsTagMappings")inlethypervisorArn=(Option.map~f:ServerArn.of_xml)(Xml.childxml_arg0"HypervisorArn")inmake?iamRoleArn?vmwareToAwsTagMappings?hypervisorArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letiamRoleArn=field_mapjson__"IamRoleArn"IamRoleArn.of_jsoninletvmwareToAwsTagMappings=field_mapjson__"VmwareToAwsTagMappings"VmwareToAwsTagMappings.of_jsoninlethypervisorArn=field_mapjson__"HypervisorArn"ServerArn.of_jsoninmake?iamRoleArn?vmwareToAwsTagMappings?hypervisorArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"This action retrieves the property mappings for the specified hypervisor. A hypervisor property mapping displays the relationship of entity properties available from the hypervisor to the properties available in Amazon Web Services."]moduleGetHypervisorPropertyMappingsInput=structtypenonrect={hypervisorArn:ServerArn.t[@ocaml.doc"The Amazon Resource Name (ARN) of the hypervisor."]}letcontext_="GetHypervisorPropertyMappingsInput"letmake~hypervisorArn=fun()->{hypervisorArn}letto_valuex=structure_to_value[("HypervisorArn",(Some(ServerArn.to_valuex.hypervisorArn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lethypervisorArn=ServerArn.of_xml(Xml.child_exn~context:context_xml_arg0"HypervisorArn")inmake~hypervisorArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lethypervisorArn=field_map_exnjson__"HypervisorArn"ServerArn.of_jsoninmake~hypervisorArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"This action retrieves the property mappings for the specified hypervisor. A hypervisor property mapping displays the relationship of entity properties available from the hypervisor to the properties available in Amazon Web Services."]moduleGetHypervisorOutput=structtypenonrect={hypervisor:HypervisorDetails.toption[@ocaml.doc"Details about the requested hypervisor."]}typenonrecerror=[`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?hypervisor=fun()->{hypervisor}leterror_of_jsonnamejson=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("Hypervisor",(Option.mapx.hypervisor~f:HypervisorDetails.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lethypervisor=(Option.map~f:HypervisorDetails.of_xml)(Xml.childxml_arg0"Hypervisor")inmake?hypervisor()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lethypervisor=field_mapjson__"Hypervisor"HypervisorDetails.of_jsoninmake?hypervisor()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"This action requests information about the specified hypervisor to which the gateway will connect. A hypervisor is hardware, software, or firmware that creates and manages virtual machines, and allocates resources to them."]moduleGetHypervisorInput=structtypenonrect={hypervisorArn:ServerArn.t[@ocaml.doc"The Amazon Resource Name (ARN) of the hypervisor."]}letcontext_="GetHypervisorInput"letmake~hypervisorArn=fun()->{hypervisorArn}letto_valuex=structure_to_value[("HypervisorArn",(Some(ServerArn.to_valuex.hypervisorArn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lethypervisorArn=ServerArn.of_xml(Xml.child_exn~context:context_xml_arg0"HypervisorArn")inmake~hypervisorArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lethypervisorArn=field_map_exnjson__"HypervisorArn"ServerArn.of_jsoninmake~hypervisorArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"This action requests information about the specified hypervisor to which the gateway will connect. A hypervisor is hardware, software, or firmware that creates and manages virtual machines, and allocates resources to them."]moduleGetGatewayOutput=structtypenonrect={gateway:GatewayDetails.toption[@ocaml.doc"By providing the ARN (Amazon Resource Name), this API returns the gateway."]}typenonrecerror=[`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?gateway=fun()->{gateway}leterror_of_jsonnamejson=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("Gateway",(Option.mapx.gateway~f:GatewayDetails.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letgateway=(Option.map~f:GatewayDetails.of_xml)(Xml.childxml_arg0"Gateway")inmake?gateway()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letgateway=field_mapjson__"Gateway"GatewayDetails.of_jsoninmake?gateway()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"By providing the ARN (Amazon Resource Name), this API returns the gateway."]moduleGetGatewayInput=structtypenonrect={gatewayArn:GatewayArn.t[@ocaml.doc"The Amazon Resource Name (ARN) of the gateway."]}letcontext_="GetGatewayInput"letmake~gatewayArn=fun()->{gatewayArn}letto_valuex=structure_to_value[("GatewayArn",(Some(GatewayArn.to_valuex.gatewayArn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letgatewayArn=GatewayArn.of_xml(Xml.child_exn~context:context_xml_arg0"GatewayArn")inmake~gatewayArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letgatewayArn=field_map_exnjson__"GatewayArn"GatewayArn.of_jsoninmake~gatewayArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"By providing the ARN (Amazon Resource Name), this API returns the gateway."]moduleGetBandwidthRateLimitScheduleOutput=structtypenonrect={gatewayArn:GatewayArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and Amazon Web Services Region."];bandwidthRateLimitIntervals:BandwidthRateLimitIntervals.toption[@ocaml.doc"An array containing bandwidth rate limit schedule intervals for a gateway. When no bandwidth rate limit intervals have been scheduled, the array is empty."]}typenonrecerror=[`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?gatewayArn=fun?bandwidthRateLimitIntervals->fun()->{gatewayArn;bandwidthRateLimitIntervals}leterror_of_jsonnamejson=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("GatewayArn",(Option.mapx.gatewayArn~f:GatewayArn.to_value));("BandwidthRateLimitIntervals",(Option.mapx.bandwidthRateLimitIntervals~f:BandwidthRateLimitIntervals.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letbandwidthRateLimitIntervals=(Option.map~f:BandwidthRateLimitIntervals.of_xml)(Xml.childxml_arg0"BandwidthRateLimitIntervals")inletgatewayArn=(Option.map~f:GatewayArn.of_xml)(Xml.childxml_arg0"GatewayArn")inmake?bandwidthRateLimitIntervals?gatewayArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letbandwidthRateLimitIntervals=field_mapjson__"BandwidthRateLimitIntervals"BandwidthRateLimitIntervals.of_jsoninletgatewayArn=field_mapjson__"GatewayArn"GatewayArn.of_jsoninmake?bandwidthRateLimitIntervals?gatewayArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the bandwidth rate limit schedule for a specified gateway. By default, gateways do not have bandwidth rate limit schedules, which means no bandwidth rate limiting is in effect. Use this to get a gateway's bandwidth rate limit schedule."]moduleGetBandwidthRateLimitScheduleInput=structtypenonrect={gatewayArn:GatewayArn.t[@ocaml.doc"The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and Amazon Web Services Region."]}letcontext_="GetBandwidthRateLimitScheduleInput"letmake~gatewayArn=fun()->{gatewayArn}letto_valuex=structure_to_value[("GatewayArn",(Some(GatewayArn.to_valuex.gatewayArn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letgatewayArn=GatewayArn.of_xml(Xml.child_exn~context:context_xml_arg0"GatewayArn")inmake~gatewayArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letgatewayArn=field_map_exnjson__"GatewayArn"GatewayArn.of_jsoninmake~gatewayArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the bandwidth rate limit schedule for a specified gateway. By default, gateways do not have bandwidth rate limit schedules, which means no bandwidth rate limiting is in effect. Use this to get a gateway's bandwidth rate limit schedule."]moduleDisassociateGatewayFromServerOutput=structtypenonrect={gatewayArn:GatewayArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the gateway you disassociated."]}typenonrecerror=[`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?gatewayArn=fun()->{gatewayArn}leterror_of_jsonnamejson=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("GatewayArn",(Option.mapx.gatewayArn~f:GatewayArn.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letgatewayArn=(Option.map~f:GatewayArn.of_xml)(Xml.childxml_arg0"GatewayArn")inmake?gatewayArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letgatewayArn=field_mapjson__"GatewayArn"GatewayArn.of_jsoninmake?gatewayArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Disassociates a backup gateway from the specified server. After the disassociation process finishes, the gateway can no longer access the virtual machines on the server."]moduleDisassociateGatewayFromServerInput=structtypenonrect={gatewayArn:GatewayArn.t[@ocaml.doc"The Amazon Resource Name (ARN) of the gateway to disassociate."]}letcontext_="DisassociateGatewayFromServerInput"letmake~gatewayArn=fun()->{gatewayArn}letto_valuex=structure_to_value[("GatewayArn",(Some(GatewayArn.to_valuex.gatewayArn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letgatewayArn=GatewayArn.of_xml(Xml.child_exn~context:context_xml_arg0"GatewayArn")inmake~gatewayArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letgatewayArn=field_map_exnjson__"GatewayArn"GatewayArn.of_jsoninmake~gatewayArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Disassociates a backup gateway from the specified server. After the disassociation process finishes, the gateway can no longer access the virtual machines on the server."]moduleDeleteHypervisorOutput=structtypenonrect={hypervisorArn:ServerArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the hypervisor you deleted."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?hypervisorArn=fun()->{hypervisorArn}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("HypervisorArn",(Option.mapx.hypervisorArn~f:ServerArn.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lethypervisorArn=(Option.map~f:ServerArn.of_xml)(Xml.childxml_arg0"HypervisorArn")inmake?hypervisorArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lethypervisorArn=field_mapjson__"HypervisorArn"ServerArn.of_jsoninmake?hypervisorArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes a hypervisor."]moduleDeleteHypervisorInput=structtypenonrect={hypervisorArn:ServerArn.t[@ocaml.doc"The Amazon Resource Name (ARN) of the hypervisor to delete."]}letcontext_="DeleteHypervisorInput"letmake~hypervisorArn=fun()->{hypervisorArn}letto_valuex=structure_to_value[("HypervisorArn",(Some(ServerArn.to_valuex.hypervisorArn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lethypervisorArn=ServerArn.of_xml(Xml.child_exn~context:context_xml_arg0"HypervisorArn")inmake~hypervisorArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lethypervisorArn=field_map_exnjson__"HypervisorArn"ServerArn.of_jsoninmake~hypervisorArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes a hypervisor."]moduleDeleteGatewayOutput=structtypenonrect={gatewayArn:GatewayArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the gateway you deleted."]}typenonrecerror=[`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?gatewayArn=fun()->{gatewayArn}leterror_of_jsonnamejson=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("GatewayArn",(Option.mapx.gatewayArn~f:GatewayArn.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letgatewayArn=(Option.map~f:GatewayArn.of_xml)(Xml.childxml_arg0"GatewayArn")inmake?gatewayArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letgatewayArn=field_mapjson__"GatewayArn"GatewayArn.of_jsoninmake?gatewayArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes a backup gateway."]moduleDeleteGatewayInput=structtypenonrect={gatewayArn:GatewayArn.t[@ocaml.doc"The Amazon Resource Name (ARN) of the gateway to delete."]}letcontext_="DeleteGatewayInput"letmake~gatewayArn=fun()->{gatewayArn}letto_valuex=structure_to_value[("GatewayArn",(Some(GatewayArn.to_valuex.gatewayArn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letgatewayArn=GatewayArn.of_xml(Xml.child_exn~context:context_xml_arg0"GatewayArn")inmake~gatewayArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letgatewayArn=field_map_exnjson__"GatewayArn"GatewayArn.of_jsoninmake~gatewayArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes a backup gateway."]moduleCreateGatewayOutput=structtypenonrect={gatewayArn:GatewayArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the gateway you create."]}typenonrecerror=[`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?gatewayArn=fun()->{gatewayArn}leterror_of_jsonnamejson=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("GatewayArn",(Option.mapx.gatewayArn~f:GatewayArn.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letgatewayArn=(Option.map~f:GatewayArn.of_xml)(Xml.childxml_arg0"GatewayArn")inmake?gatewayArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letgatewayArn=field_mapjson__"GatewayArn"GatewayArn.of_jsoninmake?gatewayArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a backup gateway. After you create a gateway, you can associate it with a server using the AssociateGatewayToServer operation."]moduleCreateGatewayInput=structtypenonrect={activationKey:ActivationKey.t[@ocaml.doc"The activation key of the created gateway."];gatewayDisplayName:Name.t[@ocaml.doc"The display name of the created gateway."];gatewayType:GatewayType.t[@ocaml.doc"The type of created gateway."];tags:Tags.toption[@ocaml.doc"A list of up to 50 tags to assign to the gateway. Each tag is a key-value pair."]}letcontext_="CreateGatewayInput"letmake?tags=fun~activationKey->fun~gatewayDisplayName->fun~gatewayType->fun()->{tags;activationKey;gatewayDisplayName;gatewayType}letto_valuex=structure_to_value[("ActivationKey",(Some(ActivationKey.to_valuex.activationKey)));("GatewayDisplayName",(Some(Name.to_valuex.gatewayDisplayName)));("GatewayType",(Some(GatewayType.to_valuex.gatewayType)));("Tags",(Option.mapx.tags~f:Tags.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettags=(Option.map~f:Tags.of_xml)(Xml.childxml_arg0"Tags")inletgatewayType=GatewayType.of_xml(Xml.child_exn~context:context_xml_arg0"GatewayType")inletgatewayDisplayName=Name.of_xml(Xml.child_exn~context:context_xml_arg0"GatewayDisplayName")inletactivationKey=ActivationKey.of_xml(Xml.child_exn~context:context_xml_arg0"ActivationKey")inmake?tags~gatewayType~gatewayDisplayName~activationKey()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"Tags"Tags.of_jsoninletgatewayType=field_map_exnjson__"GatewayType"GatewayType.of_jsoninletgatewayDisplayName=field_map_exnjson__"GatewayDisplayName"Name.of_jsoninletactivationKey=field_map_exnjson__"ActivationKey"ActivationKey.of_jsoninmake?tags~gatewayType~gatewayDisplayName~activationKey()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a backup gateway. After you create a gateway, you can associate it with a server using the AssociateGatewayToServer operation."]moduleAssociateGatewayToServerOutput=structtypenonrect={gatewayArn:GatewayArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of a gateway."]}typenonrecerror=[`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?gatewayArn=fun()->{gatewayArn}leterror_of_jsonnamejson=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("GatewayArn",(Option.mapx.gatewayArn~f:GatewayArn.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letgatewayArn=(Option.map~f:GatewayArn.of_xml)(Xml.childxml_arg0"GatewayArn")inmake?gatewayArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letgatewayArn=field_mapjson__"GatewayArn"GatewayArn.of_jsoninmake?gatewayArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Associates a backup gateway with your server. After you complete the association process, you can back up and restore your VMs through the gateway."]moduleAssociateGatewayToServerInput=structtypenonrect={gatewayArn:GatewayArn.t[@ocaml.doc"The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and Amazon Web Services Region."];serverArn:ServerArn.t[@ocaml.doc"The Amazon Resource Name (ARN) of the server that hosts your virtual machines."]}letcontext_="AssociateGatewayToServerInput"letmake~gatewayArn=fun~serverArn->fun()->{gatewayArn;serverArn}letto_valuex=structure_to_value[("GatewayArn",(Some(GatewayArn.to_valuex.gatewayArn)));("ServerArn",(Some(ServerArn.to_valuex.serverArn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letserverArn=ServerArn.of_xml(Xml.child_exn~context:context_xml_arg0"ServerArn")inletgatewayArn=GatewayArn.of_xml(Xml.child_exn~context:context_xml_arg0"GatewayArn")inmake~serverArn~gatewayArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letserverArn=field_map_exnjson__"ServerArn"ServerArn.of_jsoninletgatewayArn=field_map_exnjson__"GatewayArn"GatewayArn.of_jsoninmake~serverArn~gatewayArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Associates a backup gateway with your server. After you complete the association process, you can back up and restore your VMs through the gateway."]