12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457(* 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.route53domainsletapiVersion="2014-05-15"letendpointPrefix="route53domains"letserviceFullName="Amazon Route 53 Domains"letsignatureVersion="v4"letprotocol="json"letglobalEndpoint=endpointPrefix^".amazonaws.com"lettargetPrefix="Route53Domains_v20140515"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[]))])moduleGlueIp=structtypenonrect=stringletcontext_="GlueIp"letmakei=letopenResultinok_or_failwith(check_string_maxi~max:45);iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"GlueIp"jletto_json=simple_to_jsonto_valueendmoduleExtraParamName=structtypenonrect=|DUNS_NUMBER|BRAND_NUMBER|BIRTH_DEPARTMENT|BIRTH_DATE_IN_YYYY_MM_DD|BIRTH_COUNTRY|BIRTH_CITY|DOCUMENT_NUMBER|AU_ID_NUMBER|AU_ID_TYPE|CA_LEGAL_TYPE|CA_BUSINESS_ENTITY_TYPE|CA_LEGAL_REPRESENTATIVE|CA_LEGAL_REPRESENTATIVE_CAPACITY|ES_IDENTIFICATION|ES_IDENTIFICATION_TYPE|ES_LEGAL_FORM|FI_BUSINESS_NUMBER|FI_ID_NUMBER|FI_NATIONALITY|FI_ORGANIZATION_TYPE|IT_NATIONALITY|IT_PIN|IT_REGISTRANT_ENTITY_TYPE|RU_PASSPORT_DATA|SE_ID_NUMBER|SG_ID_NUMBER|VAT_NUMBER|UK_CONTACT_TYPE|UK_COMPANY_NUMBER|EU_COUNTRY_OF_CITIZENSHIP|AU_PRIORITY_TOKEN|AU_ELIGIBILITY_TYPE|AU_POLICY_REASON|AU_REGISTRANT_NAME|Non_static_idofstringletmakei=iletto_string=function|DUNS_NUMBER->"DUNS_NUMBER"|BRAND_NUMBER->"BRAND_NUMBER"|BIRTH_DEPARTMENT->"BIRTH_DEPARTMENT"|BIRTH_DATE_IN_YYYY_MM_DD->"BIRTH_DATE_IN_YYYY_MM_DD"|BIRTH_COUNTRY->"BIRTH_COUNTRY"|BIRTH_CITY->"BIRTH_CITY"|DOCUMENT_NUMBER->"DOCUMENT_NUMBER"|AU_ID_NUMBER->"AU_ID_NUMBER"|AU_ID_TYPE->"AU_ID_TYPE"|CA_LEGAL_TYPE->"CA_LEGAL_TYPE"|CA_BUSINESS_ENTITY_TYPE->"CA_BUSINESS_ENTITY_TYPE"|CA_LEGAL_REPRESENTATIVE->"CA_LEGAL_REPRESENTATIVE"|CA_LEGAL_REPRESENTATIVE_CAPACITY->"CA_LEGAL_REPRESENTATIVE_CAPACITY"|ES_IDENTIFICATION->"ES_IDENTIFICATION"|ES_IDENTIFICATION_TYPE->"ES_IDENTIFICATION_TYPE"|ES_LEGAL_FORM->"ES_LEGAL_FORM"|FI_BUSINESS_NUMBER->"FI_BUSINESS_NUMBER"|FI_ID_NUMBER->"FI_ID_NUMBER"|FI_NATIONALITY->"FI_NATIONALITY"|FI_ORGANIZATION_TYPE->"FI_ORGANIZATION_TYPE"|IT_NATIONALITY->"IT_NATIONALITY"|IT_PIN->"IT_PIN"|IT_REGISTRANT_ENTITY_TYPE->"IT_REGISTRANT_ENTITY_TYPE"|RU_PASSPORT_DATA->"RU_PASSPORT_DATA"|SE_ID_NUMBER->"SE_ID_NUMBER"|SG_ID_NUMBER->"SG_ID_NUMBER"|VAT_NUMBER->"VAT_NUMBER"|UK_CONTACT_TYPE->"UK_CONTACT_TYPE"|UK_COMPANY_NUMBER->"UK_COMPANY_NUMBER"|EU_COUNTRY_OF_CITIZENSHIP->"EU_COUNTRY_OF_CITIZENSHIP"|AU_PRIORITY_TOKEN->"AU_PRIORITY_TOKEN"|AU_ELIGIBILITY_TYPE->"AU_ELIGIBILITY_TYPE"|AU_POLICY_REASON->"AU_POLICY_REASON"|AU_REGISTRANT_NAME->"AU_REGISTRANT_NAME"|Non_static_ids->sletof_string=function|"DUNS_NUMBER"->DUNS_NUMBER|"BRAND_NUMBER"->BRAND_NUMBER|"BIRTH_DEPARTMENT"->BIRTH_DEPARTMENT|"BIRTH_DATE_IN_YYYY_MM_DD"->BIRTH_DATE_IN_YYYY_MM_DD|"BIRTH_COUNTRY"->BIRTH_COUNTRY|"BIRTH_CITY"->BIRTH_CITY|"DOCUMENT_NUMBER"->DOCUMENT_NUMBER|"AU_ID_NUMBER"->AU_ID_NUMBER|"AU_ID_TYPE"->AU_ID_TYPE|"CA_LEGAL_TYPE"->CA_LEGAL_TYPE|"CA_BUSINESS_ENTITY_TYPE"->CA_BUSINESS_ENTITY_TYPE|"CA_LEGAL_REPRESENTATIVE"->CA_LEGAL_REPRESENTATIVE|"CA_LEGAL_REPRESENTATIVE_CAPACITY"->CA_LEGAL_REPRESENTATIVE_CAPACITY|"ES_IDENTIFICATION"->ES_IDENTIFICATION|"ES_IDENTIFICATION_TYPE"->ES_IDENTIFICATION_TYPE|"ES_LEGAL_FORM"->ES_LEGAL_FORM|"FI_BUSINESS_NUMBER"->FI_BUSINESS_NUMBER|"FI_ID_NUMBER"->FI_ID_NUMBER|"FI_NATIONALITY"->FI_NATIONALITY|"FI_ORGANIZATION_TYPE"->FI_ORGANIZATION_TYPE|"IT_NATIONALITY"->IT_NATIONALITY|"IT_PIN"->IT_PIN|"IT_REGISTRANT_ENTITY_TYPE"->IT_REGISTRANT_ENTITY_TYPE|"RU_PASSPORT_DATA"->RU_PASSPORT_DATA|"SE_ID_NUMBER"->SE_ID_NUMBER|"SG_ID_NUMBER"->SG_ID_NUMBER|"VAT_NUMBER"->VAT_NUMBER|"UK_CONTACT_TYPE"->UK_CONTACT_TYPE|"UK_COMPANY_NUMBER"->UK_COMPANY_NUMBER|"EU_COUNTRY_OF_CITIZENSHIP"->EU_COUNTRY_OF_CITIZENSHIP|"AU_PRIORITY_TOKEN"->AU_PRIORITY_TOKEN|"AU_ELIGIBILITY_TYPE"->AU_ELIGIBILITY_TYPE|"AU_POLICY_REASON"->AU_POLICY_REASON|"AU_REGISTRANT_NAME"->AU_REGISTRANT_NAME|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 ExtraParamName"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ExtraParamName"j)letto_json=simple_to_jsonto_valueendmoduleExtraParamValue=structtypenonrect=stringletcontext_="ExtraParamValue"letmakei=letopenResultinok_or_failwith(check_string_maxi~max:2048);iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ExtraParamValue"jletto_json=simple_to_jsonto_valueendmoduleCurrency=structtypenonrect=stringletcontext_="Currency"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:3)>>=(fun()->check_string_mini~min:3));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"Currency"jletto_json=simple_to_jsonto_valueendmodulePrice=structtypenonrect=floatletmakei=letopenResultinok_or_failwith(check_float_mini~min:0.);iletof_string=Float.of_stringletto_valuex=`Doublexletto_queryv=to_queryto_valuevletto_headerx=Stdlib.Float.to_stringxletof_xmlxml_arg0=Float.of_string(string_of_xml~kind:"a double"xml_arg0)letof_jsonj=float_of_json~kind:"a double"jletto_json=simple_to_jsonto_valueendmoduleValue=structtypenonrect=stringletcontext_="Value"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:1024)>>=(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:"Value"jletto_json=simple_to_jsonto_valueendmoduleDomainName=structtypenonrect=stringletcontext_="DomainName"letmakei=letopenResultinok_or_failwith(check_string_maxi~max:255);iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"DomainName"jletto_json=simple_to_jsonto_valueendmoduleInvoiceId=structtypenonrect=stringletcontext_="InvoiceId"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:"InvoiceId"jletto_json=simple_to_jsonto_valueendmoduleOperationType=structtypenonrect=|REGISTER_DOMAIN|DELETE_DOMAIN|TRANSFER_IN_DOMAIN|UPDATE_DOMAIN_CONTACT|UPDATE_NAMESERVER|CHANGE_PRIVACY_PROTECTION|DOMAIN_LOCK|ENABLE_AUTORENEW|DISABLE_AUTORENEW|ADD_DNSSEC|REMOVE_DNSSEC|EXPIRE_DOMAIN|TRANSFER_OUT_DOMAIN|CHANGE_DOMAIN_OWNER|RENEW_DOMAIN|PUSH_DOMAIN|INTERNAL_TRANSFER_OUT_DOMAIN|INTERNAL_TRANSFER_IN_DOMAIN|RELEASE_TO_GANDI|TRANSFER_ON_RENEW|RESTORE_DOMAIN|Non_static_idofstringletmakei=iletto_string=function|REGISTER_DOMAIN->"REGISTER_DOMAIN"|DELETE_DOMAIN->"DELETE_DOMAIN"|TRANSFER_IN_DOMAIN->"TRANSFER_IN_DOMAIN"|UPDATE_DOMAIN_CONTACT->"UPDATE_DOMAIN_CONTACT"|UPDATE_NAMESERVER->"UPDATE_NAMESERVER"|CHANGE_PRIVACY_PROTECTION->"CHANGE_PRIVACY_PROTECTION"|DOMAIN_LOCK->"DOMAIN_LOCK"|ENABLE_AUTORENEW->"ENABLE_AUTORENEW"|DISABLE_AUTORENEW->"DISABLE_AUTORENEW"|ADD_DNSSEC->"ADD_DNSSEC"|REMOVE_DNSSEC->"REMOVE_DNSSEC"|EXPIRE_DOMAIN->"EXPIRE_DOMAIN"|TRANSFER_OUT_DOMAIN->"TRANSFER_OUT_DOMAIN"|CHANGE_DOMAIN_OWNER->"CHANGE_DOMAIN_OWNER"|RENEW_DOMAIN->"RENEW_DOMAIN"|PUSH_DOMAIN->"PUSH_DOMAIN"|INTERNAL_TRANSFER_OUT_DOMAIN->"INTERNAL_TRANSFER_OUT_DOMAIN"|INTERNAL_TRANSFER_IN_DOMAIN->"INTERNAL_TRANSFER_IN_DOMAIN"|RELEASE_TO_GANDI->"RELEASE_TO_GANDI"|TRANSFER_ON_RENEW->"TRANSFER_ON_RENEW"|RESTORE_DOMAIN->"RESTORE_DOMAIN"|Non_static_ids->sletof_string=function|"REGISTER_DOMAIN"->REGISTER_DOMAIN|"DELETE_DOMAIN"->DELETE_DOMAIN|"TRANSFER_IN_DOMAIN"->TRANSFER_IN_DOMAIN|"UPDATE_DOMAIN_CONTACT"->UPDATE_DOMAIN_CONTACT|"UPDATE_NAMESERVER"->UPDATE_NAMESERVER|"CHANGE_PRIVACY_PROTECTION"->CHANGE_PRIVACY_PROTECTION|"DOMAIN_LOCK"->DOMAIN_LOCK|"ENABLE_AUTORENEW"->ENABLE_AUTORENEW|"DISABLE_AUTORENEW"->DISABLE_AUTORENEW|"ADD_DNSSEC"->ADD_DNSSEC|"REMOVE_DNSSEC"->REMOVE_DNSSEC|"EXPIRE_DOMAIN"->EXPIRE_DOMAIN|"TRANSFER_OUT_DOMAIN"->TRANSFER_OUT_DOMAIN|"CHANGE_DOMAIN_OWNER"->CHANGE_DOMAIN_OWNER|"RENEW_DOMAIN"->RENEW_DOMAIN|"PUSH_DOMAIN"->PUSH_DOMAIN|"INTERNAL_TRANSFER_OUT_DOMAIN"->INTERNAL_TRANSFER_OUT_DOMAIN|"INTERNAL_TRANSFER_IN_DOMAIN"->INTERNAL_TRANSFER_IN_DOMAIN|"RELEASE_TO_GANDI"->RELEASE_TO_GANDI|"TRANSFER_ON_RENEW"->TRANSFER_ON_RENEW|"RESTORE_DOMAIN"->RESTORE_DOMAIN|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 OperationType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"OperationType"j)letto_json=simple_to_jsonto_valueendmoduleTimestamp=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_valueendmoduleTagKey=structtypenonrect=stringletcontext_="TagKey"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:128)>>=(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:"TagKey"jletto_json=simple_to_jsonto_valueendmoduleTagValue=structtypenonrect=stringletcontext_="TagValue"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:256)>>=(fun()->check_string_mini~min: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:"TagValue"jletto_json=simple_to_jsonto_valueendmoduleGlueIpList=structtypenonrect=GlueIp.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:GlueIp.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:GlueIp.of_xml)letof_jsonj=list_of_json~kind:"GlueIpList"~of_json:GlueIp.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleHostName=structtypenonrect=stringletcontext_="HostName"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:255)>>=(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:"HostName"jletto_json=simple_to_jsonto_valueendmoduleExtraParam=structtypenonrect={name:ExtraParamName.t[@ocaml.doc"The name of an additional parameter that is required by a top-level domain. Here are the top-level domains that require additional parameters and the names of the parameters that they require: .au, .com.au, and .net.au AU_REGISTRANT_NAME AU_ID_NUMBER AU_ID_TYPE Valid values include the following: ABN (Australian business number) ACN (Australian company number) TM (Trademark number) AU_ELIGIBILITY_TYPE Valid values include the following: CHARITABLE_TRUST (Charitable trust) CHARITY (Charity) CHILD_CARE_CENTRE (Child care centre) CLUB (Club) COMMERCIAL_STATUTORY_BODY (Commercial statutory body) COMMONWEALTH_ENTITY (Commonwealth entity) COMPANY (Company) COMPANY_LIMITED_BY_GUARANTEE (Company limited by guarantee) EDUCATIONAL_INSTITUTION (Educational institution) GOVERNMENT_SCHOOL (Government school) HIGHER_EDUCATION_INSTITUTION (Higher education institution) INCORPORATED_ASSOCIATION (Incorporated association) INDIGENOUS_CORPORATION (Indigenous corporation) INDUSTRY_BODY (Industry body) INDUSTRY_ORGANISATION (Industry association) NATIONAL_BODY (National body) NON_DISTRIBUTING_COOPERATIVE (Non-distributing cooperative) NON_GOVERNMENT_SCHOOL (Non-government school) NON_PROFIT_ORGANISATION (Non-profit organisation) NON_TRADING_COOPERATIVE (Non-trading cooperative) NOT_FOR_PROFIT_COMMUNITY_GROUP (Not-for-profit community group) PARTNERSHIP (Partnership) PEAK_STATE_TERRITORY_BODY (Peak state/territory body) PENDING_TM_OWNER (Pending TM owner) POLITICAL_PARTY (Political party) PRESCHOOL (Pre-school) PUBLIC_PRIVATE_ANCILLARY_FUND (Public/private ancillary fund) REGISTERED_BUSINESS (Registered business) REGISTERED_ORGANISATION (Registered organisation) REGISTRABLE_BODY (Registrable body) RESEARCH_ORGANISATION (Research organisation) STATUTORY_BODY (Statutory body) TRADE_UNION (Trade union) TRADEMARK_OWNER (Trademark owner) TRADING_COOPERATIVE (Trading cooperative) TRAINING_ORGANISATION (Training organisation) TRUST (Trust) UNINCORPORATED_ASSOCIATION (Unincorporated association) EDUCATION_AND_CARE_SERVICES_CHILDCARE (Education and care services (child care)) GOVERNMENT_BODY (Government body) PROVIDER_OF_NON_ACCREDITED_TRAINING (Provider of non-accredited training) RELIGIOUS_CHURCH_GROUP (Religious/church group) SOLE_TRADER (Sole trader) AU_POLICY_REASON Valid values include the following: POLICY_REASON_1 POLICY_REASON_2 .ca BRAND_NUMBER CA_BUSINESS_ENTITY_TYPE Valid values include the following: BANK (Bank) COMMERCIAL_COMPANY (Commercial company) COMPANY (Company) COOPERATION (Cooperation) COOPERATIVE (Cooperative) COOPRIX (Cooprix) CORP (Corporation) CREDIT_UNION (Credit union) FOMIA (Federation of mutual insurance associations) INC (Incorporated) LTD (Limited) LTEE (Limit\195\169e) LLC (Limited liability corporation) LLP (Limited liability partnership) LTE (Lte.) MBA (Mutual benefit association) MIC (Mutual insurance company) NFP (Not-for-profit corporation) SA (S.A.) SAVINGS_COMPANY (Savings company) SAVINGS_UNION (Savings union) SARL (Soci\195\169t\195\169 \195\160 responsabilit\195\169 limit\195\169e) TRUST (Trust) ULC (Unlimited liability corporation) CA_LEGAL_TYPE When ContactType is PERSON, valid values include the following: ABO (Aboriginal Peoples indigenous to Canada) CCT (Canadian citizen) LGR (Legal Representative of a Canadian Citizen or Permanent Resident) RES (Permanent resident of Canada) When ContactType is a value other than PERSON, valid values include the following: ASS (Canadian unincorporated association) CCO (Canadian corporation) EDU (Canadian educational institution) GOV (Government or government entity in Canada) HOP (Canadian Hospital) INB (Indian Band recognized by the Indian Act of Canada) LAM (Canadian Library, Archive, or Museum) MAJ (Her/His Majesty the Queen/King) OMK (Official mark registered in Canada) PLT (Canadian Political Party) PRT (Partnership Registered in Canada) TDM (Trademark registered in Canada) TRD (Canadian Trade Union) TRS (Trust established in Canada) .es ES_IDENTIFICATION The value of ES_IDENTIFICATION depends on the following values: The value of ES_LEGAL_FORM The value of ES_IDENTIFICATION_TYPE If ES_LEGAL_FORM is any value other than INDIVIDUAL: Specify 1 letter + 8 numbers (CIF \\[Certificado de Identificaci\195\179n Fiscal\\]) Example: B12345678 If ES_LEGAL_FORM is INDIVIDUAL, the value that you specify for ES_IDENTIFICATION depends on the value of ES_IDENTIFICATION_TYPE: If ES_IDENTIFICATION_TYPE is DNI_AND_NIF (for Spanish contacts): Specify 8 numbers + 1 letter (DNI \\[Documento Nacional de Identidad\\], NIF \\[N\195\186mero de Identificaci\195\179n Fiscal\\]) Example: 12345678M If ES_IDENTIFICATION_TYPE is NIE (for foreigners with legal residence): Specify 1 letter + 7 numbers + 1 letter ( NIE \\[N\195\186mero de Identidad de Extranjero\\]) Example: Y1234567X If ES_IDENTIFICATION_TYPE is OTHER (for contacts outside of Spain): Specify a passport number, drivers license number, or national identity card number ES_IDENTIFICATION_TYPE Valid values include the following: DNI_AND_NIF (For Spanish contacts) NIE (For foreigners with legal residence) OTHER (For contacts outside of Spain) ES_LEGAL_FORM Valid values include the following: ASSOCIATION CENTRAL_GOVERNMENT_BODY CIVIL_SOCIETY COMMUNITY_OF_OWNERS COMMUNITY_PROPERTY CONSULATE COOPERATIVE DESIGNATION_OF_ORIGIN_SUPERVISORY_COUNCIL ECONOMIC_INTEREST_GROUP EMBASSY ENTITY_MANAGING_NATURAL_AREAS FARM_PARTNERSHIP FOUNDATION GENERAL_AND_LIMITED_PARTNERSHIP GENERAL_PARTNERSHIP INDIVIDUAL LIMITED_COMPANY LOCAL_AUTHORITY LOCAL_PUBLIC_ENTITY MUTUAL_INSURANCE_COMPANY NATIONAL_PUBLIC_ENTITY ORDER_OR_RELIGIOUS_INSTITUTION OTHERS (Only for contacts outside of Spain) POLITICAL_PARTY PROFESSIONAL_ASSOCIATION PUBLIC_LAW_ASSOCIATION PUBLIC_LIMITED_COMPANY REGIONAL_GOVERNMENT_BODY REGIONAL_PUBLIC_ENTITY SAVINGS_BANK SPANISH_OFFICE SPORTS_ASSOCIATION SPORTS_FEDERATION SPORTS_LIMITED_COMPANY TEMPORARY_ALLIANCE_OF_ENTERPRISES TRADE_UNION WORKER_OWNED_COMPANY WORKER_OWNED_LIMITED_COMPANY .eu EU_COUNTRY_OF_CITIZENSHIP .fi BIRTH_DATE_IN_YYYY_MM_DD FI_BUSINESS_NUMBER FI_ID_NUMBER FI_NATIONALITY Valid values include the following: FINNISH NOT_FINNISH FI_ORGANIZATION_TYPE Valid values include the following: COMPANY CORPORATION GOVERNMENT INSTITUTION POLITICAL_PARTY PUBLIC_COMMUNITY TOWNSHIP .it IT_NATIONALITY IT_PIN IT_REGISTRANT_ENTITY_TYPE Valid values include the following: FOREIGNERS FREELANCE_WORKERS (Freelance workers and professionals) ITALIAN_COMPANIES (Italian companies and one-person companies) NON_PROFIT_ORGANIZATIONS OTHER_SUBJECTS PUBLIC_ORGANIZATIONS .ru BIRTH_DATE_IN_YYYY_MM_DD RU_PASSPORT_DATA .se BIRTH_COUNTRY SE_ID_NUMBER .sg SG_ID_NUMBER .uk, .co.uk, .me.uk, and .org.uk UK_CONTACT_TYPE Valid values include the following: CRC (UK Corporation by Royal Charter) FCORP (Non-UK Corporation) FIND (Non-UK Individual, representing self) FOTHER (Non-UK Entity that does not fit into any other category) GOV (UK Government Body) IND (UK Individual (representing self)) IP (UK Industrial/Provident Registered Company) LLP (UK Limited Liability Partnership) LTD (UK Limited Company) OTHER (UK Entity that does not fit into any other category) PLC (UK Public Limited Company) PTNR (UK Partnership) RCHAR (UK Registered Charity) SCH (UK School) STAT (UK Statutory Body) STRA (UK Sole Trader) UK_COMPANY_NUMBER In addition, many TLDs require a VAT_NUMBER."];value:ExtraParamValue.t[@ocaml.doc"The value that corresponds with the name of an extra parameter."]}letcontext_="ExtraParam"letmake~name=fun~value->fun()->{name;value}letto_valuex=structure_to_value[("Name",(Some(ExtraParamName.to_valuex.name)));("Value",(Some(ExtraParamValue.to_valuex.value)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvalue=ExtraParamValue.of_xml(Xml.child_exn~context:context_xml_arg0"Value")inletname=ExtraParamName.of_xml(Xml.child_exn~context:context_xml_arg0"Name")inmake~value~name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvalue=field_map_exnjson__"Value"ExtraParamValue.of_jsoninletname=field_map_exnjson__"Name"ExtraParamName.of_jsoninmake~value~name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"ExtraParam includes the following elements."]moduleDomainPriceName=structtypenonrect=stringletcontext_="DomainPriceName"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:"DomainPriceName"jletto_json=simple_to_jsonto_valueendmodulePriceWithCurrency=structtypenonrect={price:Price.toption[@ocaml.doc"The price of a domain, in a specific currency."];currency:Currency.toption[@ocaml.doc"The currency specifier."]}letmake?price=fun?currency->fun()->{price;currency}letto_valuex=structure_to_value[("Price",(Option.mapx.price~f:Price.to_value));("Currency",(Option.mapx.currency~f:Currency.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcurrency=(Option.map~f:Currency.of_xml)(Xml.childxml_arg0"Currency")inletprice=(Option.map~f:Price.of_xml)(Xml.childxml_arg0"Price")inmake?currency?price()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcurrency=field_mapjson__"Currency"Currency.of_jsoninletprice=field_mapjson__"Price"Price.of_jsoninmake?currency?price()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Currency-specific price information."]moduleErrorMessage=structtypenonrect=stringletcontext_="ErrorMessage"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:"ErrorMessage"jletto_json=simple_to_jsonto_valueendmoduleOperationId=structtypenonrect=stringletcontext_="OperationId"letmakei=letopenResultinok_or_failwith(check_string_maxi~max:255);iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"OperationId"jletto_json=simple_to_jsonto_valueendmoduleOperationStatus=structtypenonrect=|SUBMITTED|IN_PROGRESS|ERROR|SUCCESSFUL|FAILED|Non_static_idofstringletmakei=iletto_string=function|SUBMITTED->"SUBMITTED"|IN_PROGRESS->"IN_PROGRESS"|ERROR->"ERROR"|SUCCESSFUL->"SUCCESSFUL"|FAILED->"FAILED"|Non_static_ids->sletof_string=function|"SUBMITTED"->SUBMITTED|"IN_PROGRESS"->IN_PROGRESS|"ERROR"->ERROR|"SUCCESSFUL"->SUCCESSFUL|"FAILED"->FAILED|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 OperationStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"OperationStatus"j)letto_json=simple_to_jsonto_valueendmoduleStatusFlag=structtypenonrect=|PENDING_ACCEPTANCE|PENDING_CUSTOMER_ACTION|PENDING_AUTHORIZATION|PENDING_PAYMENT_VERIFICATION|PENDING_SUPPORT_CASE|Non_static_idofstringletmakei=iletto_string=function|PENDING_ACCEPTANCE->"PENDING_ACCEPTANCE"|PENDING_CUSTOMER_ACTION->"PENDING_CUSTOMER_ACTION"|PENDING_AUTHORIZATION->"PENDING_AUTHORIZATION"|PENDING_PAYMENT_VERIFICATION->"PENDING_PAYMENT_VERIFICATION"|PENDING_SUPPORT_CASE->"PENDING_SUPPORT_CASE"|Non_static_ids->sletof_string=function|"PENDING_ACCEPTANCE"->PENDING_ACCEPTANCE|"PENDING_CUSTOMER_ACTION"->PENDING_CUSTOMER_ACTION|"PENDING_AUTHORIZATION"->PENDING_AUTHORIZATION|"PENDING_PAYMENT_VERIFICATION"->PENDING_PAYMENT_VERIFICATION|"PENDING_SUPPORT_CASE"->PENDING_SUPPORT_CASE|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 StatusFlag"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"StatusFlag"j)letto_json=simple_to_jsonto_valueendmoduleBoolean=structtypenonrect=boolletmakei=iletof_string=Bool.of_stringletto_valuex=`Booleanxletto_queryv=to_queryto_valuevletto_headerx=Bool.to_stringxletof_xmlxml_arg0=Bool.of_string(string_of_xml~kind:"a boolean"xml_arg0)letof_json=bool_of_jsonletto_json=simple_to_jsonto_valueendmoduleListDomainsAttributeName=structtypenonrect=|DomainName|Expiry|Non_static_idofstringletmakei=iletto_string=function|DomainName->"DomainName"|Expiry->"Expiry"|Non_static_ids->sletof_string=function|"DomainName"->DomainName|"Expiry"->Expiry|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 ListDomainsAttributeName"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ListDomainsAttributeName"j)letto_json=simple_to_jsonto_valueendmoduleOperator=structtypenonrect=|LE|GE|BEGINS_WITH|Non_static_idofstringletmakei=iletto_string=function|LE->"LE"|GE->"GE"|BEGINS_WITH->"BEGINS_WITH"|Non_static_ids->sletof_string=function|"LE"->LE|"GE"->GE|"BEGINS_WITH"->BEGINS_WITH|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 Operator"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"Operator"j)letto_json=simple_to_jsonto_valueendmoduleValues=structtypenonrect=Value.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:1)>>=(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:Value.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:Value.of_xml)letof_jsonj=list_of_json~kind:"Values"~of_json:Value.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleString_=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_valueendmoduleDnssecPublicKey=structtypenonrect=stringletcontext_="DnssecPublicKey"letmakei=letopenResultinok_or_failwith(check_string_maxi~max:32768);iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"DnssecPublicKey"jletto_json=simple_to_jsonto_valueendmoduleNullableInteger=structtypenonrect=intletmakei=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 NullableInteger"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleBillingRecord=structtypenonrect={domainName:DomainName.toption[@ocaml.doc"The name of the domain that the billing record applies to. If the domain name contains characters other than a-z, 0-9, and - (hyphen), such as an internationalized domain name, then this value is in Punycode. For more information, see DNS Domain Name Format in the Amazon Route 53 Developer Guide."];operation:OperationType.toption[@ocaml.doc"The operation that you were charged for."];invoiceId:InvoiceId.toption[@ocaml.doc"Deprecated property. This field is retained in report structure for backwards compatibility, but will appear blank."];billDate:Timestamp.toption[@ocaml.doc"The date that the operation was billed, in Unix format."];price:Price.toption[@ocaml.doc"The price that you were charged for the operation, in US dollars. Example value: 12.0"]}letmake?domainName=fun?operation->fun?invoiceId->fun?billDate->fun?price->fun()->{domainName;operation;invoiceId;billDate;price}letto_valuex=structure_to_value[("DomainName",(Option.mapx.domainName~f:DomainName.to_value));("Operation",(Option.mapx.operation~f:OperationType.to_value));("InvoiceId",(Option.mapx.invoiceId~f:InvoiceId.to_value));("BillDate",(Option.mapx.billDate~f:Timestamp.to_value));("Price",(Option.mapx.price~f:Price.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letprice=(Option.map~f:Price.of_xml)(Xml.childxml_arg0"Price")inletbillDate=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"BillDate")inletinvoiceId=(Option.map~f:InvoiceId.of_xml)(Xml.childxml_arg0"InvoiceId")inletoperation=(Option.map~f:OperationType.of_xml)(Xml.childxml_arg0"Operation")inletdomainName=(Option.map~f:DomainName.of_xml)(Xml.childxml_arg0"DomainName")inmake?price?billDate?invoiceId?operation?domainName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letprice=field_mapjson__"Price"Price.of_jsoninletbillDate=field_mapjson__"BillDate"Timestamp.of_jsoninletinvoiceId=field_mapjson__"InvoiceId"InvoiceId.of_jsoninletoperation=field_mapjson__"Operation"OperationType.of_jsoninletdomainName=field_mapjson__"DomainName"DomainName.of_jsoninmake?price?billDate?invoiceId?operation?domainName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Information for one billing record."]moduleTag=structtypenonrect={key:TagKey.toption[@ocaml.doc"The key (name) of a tag. Valid values: A-Z, a-z, 0-9, space, \".:/=+\\-\\@\" Constraints: Each key can be 1-128 characters long."];value:TagValue.toption[@ocaml.doc"The value of a tag. Valid values: A-Z, a-z, 0-9, space, \".:/=+\\-\\@\" Constraints: Each value can be 0-256 characters long."]}letmake?key=fun?value->fun()->{key;value}letto_valuex=structure_to_value[("Key",(Option.mapx.key~f:TagKey.to_value));("Value",(Option.mapx.value~f:TagValue.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvalue=(Option.map~f:TagValue.of_xml)(Xml.childxml_arg0"Value")inletkey=(Option.map~f:TagKey.of_xml)(Xml.childxml_arg0"Key")inmake?value?key()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvalue=field_mapjson__"Value"TagValue.of_jsoninletkey=field_mapjson__"Key"TagKey.of_jsoninmake?value?key()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Each tag includes the following elements."]moduleRequestId=structtypenonrect=stringletcontext_="RequestId"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:"RequestId"jletto_json=simple_to_jsonto_valueendmoduleNameserver=structtypenonrect={name:HostName.t[@ocaml.doc"The fully qualified host name of the name server. Constraint: Maximum 255 characters"];glueIps:GlueIpList.toption[@ocaml.doc"Glue IP address of a name server entry. Glue IP addresses are required only when the name of the name server is a subdomain of the domain. For example, if your domain is example.com and the name server for the domain is ns.example.com, you need to specify the IP address for ns.example.com. Constraints: The list can contain only one IPv4 and one IPv6 address."]}letcontext_="Nameserver"letmake?glueIps=fun~name->fun()->{glueIps;name}letto_valuex=structure_to_value[("Name",(Some(HostName.to_valuex.name)));("GlueIps",(Option.mapx.glueIps~f:GlueIpList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letglueIps=(Option.map~f:GlueIpList.of_xml)(Xml.childxml_arg0"GlueIps")inletname=HostName.of_xml(Xml.child_exn~context:context_xml_arg0"Name")inmake?glueIps~name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letglueIps=field_mapjson__"GlueIps"GlueIpList.of_jsoninletname=field_map_exnjson__"Name"HostName.of_jsoninmake?glueIps~name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Name server includes the following elements."]moduleAddressLine=structtypenonrect=stringletcontext_="AddressLine"letmakei=letopenResultinok_or_failwith(check_string_maxi~max:255);iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"AddressLine"jletto_json=simple_to_jsonto_valueendmoduleCity=structtypenonrect=stringletcontext_="City"letmakei=letopenResultinok_or_failwith(check_string_maxi~max:255);iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"City"jletto_json=simple_to_jsonto_valueendmoduleContactName=structtypenonrect=stringletcontext_="ContactName"letmakei=letopenResultinok_or_failwith(check_string_maxi~max:255);iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ContactName"jletto_json=simple_to_jsonto_valueendmoduleContactNumber=structtypenonrect=stringletcontext_="ContactNumber"letmakei=letopenResultinok_or_failwith(check_string_maxi~max:30);iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ContactNumber"jletto_json=simple_to_jsonto_valueendmoduleContactType=structtypenonrect=|PERSON|COMPANY|ASSOCIATION|PUBLIC_BODY|RESELLER|Non_static_idofstringletmakei=iletto_string=function|PERSON->"PERSON"|COMPANY->"COMPANY"|ASSOCIATION->"ASSOCIATION"|PUBLIC_BODY->"PUBLIC_BODY"|RESELLER->"RESELLER"|Non_static_ids->sletof_string=function|"PERSON"->PERSON|"COMPANY"->COMPANY|"ASSOCIATION"->ASSOCIATION|"PUBLIC_BODY"->PUBLIC_BODY|"RESELLER"->RESELLER|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 ContactType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ContactType"j)letto_json=simple_to_jsonto_valueendmoduleCountryCode=structtypenonrect=|AC|AD|AE|AF|AG|AI|AL|AM|AN|AO|AQ|AR|AS|AT|AU|AW|AX|AZ|BA|BB|BD|BE|BF|BG|BH|BI|BJ|BL|BM|BN|BO|BQ|BR|BS|BT|BV|BW|BY|BZ|CA|CC|CD|CF|CG|CH|CI|CK|CL|CM|CN|CO|CR|CU|CV|CW|CX|CY|CZ|DE|DJ|DK|DM|DO|DZ|EC|EE|EG|EH|ER|ES|ET|FI|FJ|FK|FM|FO|FR|GA|GB|GD|GE|GF|GG|GH|GI|GL|GM|GN|GP|GQ|GR|GS|GT|GU|GW|GY|HK|HM|HN|HR|HT|HU|ID|IE|IL|IM|IN|IO|IQ|IR|IS|IT|JE|JM|JO|JP|KE|KG|KH|KI|KM|KN|KP|KR|KW|KY|KZ|LA|LB|LC|LI|LK|LR|LS|LT|LU|LV|LY|MA|MC|MD|ME|MF|MG|MH|MK|ML|MM|MN|MO|MP|MQ|MR|MS|MT|MU|MV|MW|MX|MY|MZ|NA|NC|NE|NF|NG|NI|NL|NO|NP|NR|NU|NZ|OM|PA|PE|PF|PG|PH|PK|PL|PM|PN|PR|PS|PT|PW|PY|QA|RE|RO|RS|RU|RW|SA|SB|SC|SD|SE|SG|SH|SI|SJ|SK|SL|SM|SN|SO|SR|SS|ST|SV|SX|SY|SZ|TC|TD|TF|TG|TH|TJ|TK|TL|TM|TN|TO|TP|TR|TT|TV|TW|TZ|UA|UG|US|UY|UZ|VA|VC|VE|VG|VI|VN|VU|WF|WS|YE|YT|ZA|ZM|ZW|Non_static_idofstringletmakei=iletto_string=function|AC->"AC"|AD->"AD"|AE->"AE"|AF->"AF"|AG->"AG"|AI->"AI"|AL->"AL"|AM->"AM"|AN->"AN"|AO->"AO"|AQ->"AQ"|AR->"AR"|AS->"AS"|AT->"AT"|AU->"AU"|AW->"AW"|AX->"AX"|AZ->"AZ"|BA->"BA"|BB->"BB"|BD->"BD"|BE->"BE"|BF->"BF"|BG->"BG"|BH->"BH"|BI->"BI"|BJ->"BJ"|BL->"BL"|BM->"BM"|BN->"BN"|BO->"BO"|BQ->"BQ"|BR->"BR"|BS->"BS"|BT->"BT"|BV->"BV"|BW->"BW"|BY->"BY"|BZ->"BZ"|CA->"CA"|CC->"CC"|CD->"CD"|CF->"CF"|CG->"CG"|CH->"CH"|CI->"CI"|CK->"CK"|CL->"CL"|CM->"CM"|CN->"CN"|CO->"CO"|CR->"CR"|CU->"CU"|CV->"CV"|CW->"CW"|CX->"CX"|CY->"CY"|CZ->"CZ"|DE->"DE"|DJ->"DJ"|DK->"DK"|DM->"DM"|DO->"DO"|DZ->"DZ"|EC->"EC"|EE->"EE"|EG->"EG"|EH->"EH"|ER->"ER"|ES->"ES"|ET->"ET"|FI->"FI"|FJ->"FJ"|FK->"FK"|FM->"FM"|FO->"FO"|FR->"FR"|GA->"GA"|GB->"GB"|GD->"GD"|GE->"GE"|GF->"GF"|GG->"GG"|GH->"GH"|GI->"GI"|GL->"GL"|GM->"GM"|GN->"GN"|GP->"GP"|GQ->"GQ"|GR->"GR"|GS->"GS"|GT->"GT"|GU->"GU"|GW->"GW"|GY->"GY"|HK->"HK"|HM->"HM"|HN->"HN"|HR->"HR"|HT->"HT"|HU->"HU"|ID->"ID"|IE->"IE"|IL->"IL"|IM->"IM"|IN->"IN"|IO->"IO"|IQ->"IQ"|IR->"IR"|IS->"IS"|IT->"IT"|JE->"JE"|JM->"JM"|JO->"JO"|JP->"JP"|KE->"KE"|KG->"KG"|KH->"KH"|KI->"KI"|KM->"KM"|KN->"KN"|KP->"KP"|KR->"KR"|KW->"KW"|KY->"KY"|KZ->"KZ"|LA->"LA"|LB->"LB"|LC->"LC"|LI->"LI"|LK->"LK"|LR->"LR"|LS->"LS"|LT->"LT"|LU->"LU"|LV->"LV"|LY->"LY"|MA->"MA"|MC->"MC"|MD->"MD"|ME->"ME"|MF->"MF"|MG->"MG"|MH->"MH"|MK->"MK"|ML->"ML"|MM->"MM"|MN->"MN"|MO->"MO"|MP->"MP"|MQ->"MQ"|MR->"MR"|MS->"MS"|MT->"MT"|MU->"MU"|MV->"MV"|MW->"MW"|MX->"MX"|MY->"MY"|MZ->"MZ"|NA->"NA"|NC->"NC"|NE->"NE"|NF->"NF"|NG->"NG"|NI->"NI"|NL->"NL"|NO->"NO"|NP->"NP"|NR->"NR"|NU->"NU"|NZ->"NZ"|OM->"OM"|PA->"PA"|PE->"PE"|PF->"PF"|PG->"PG"|PH->"PH"|PK->"PK"|PL->"PL"|PM->"PM"|PN->"PN"|PR->"PR"|PS->"PS"|PT->"PT"|PW->"PW"|PY->"PY"|QA->"QA"|RE->"RE"|RO->"RO"|RS->"RS"|RU->"RU"|RW->"RW"|SA->"SA"|SB->"SB"|SC->"SC"|SD->"SD"|SE->"SE"|SG->"SG"|SH->"SH"|SI->"SI"|SJ->"SJ"|SK->"SK"|SL->"SL"|SM->"SM"|SN->"SN"|SO->"SO"|SR->"SR"|SS->"SS"|ST->"ST"|SV->"SV"|SX->"SX"|SY->"SY"|SZ->"SZ"|TC->"TC"|TD->"TD"|TF->"TF"|TG->"TG"|TH->"TH"|TJ->"TJ"|TK->"TK"|TL->"TL"|TM->"TM"|TN->"TN"|TO->"TO"|TP->"TP"|TR->"TR"|TT->"TT"|TV->"TV"|TW->"TW"|TZ->"TZ"|UA->"UA"|UG->"UG"|US->"US"|UY->"UY"|UZ->"UZ"|VA->"VA"|VC->"VC"|VE->"VE"|VG->"VG"|VI->"VI"|VN->"VN"|VU->"VU"|WF->"WF"|WS->"WS"|YE->"YE"|YT->"YT"|ZA->"ZA"|ZM->"ZM"|ZW->"ZW"|Non_static_ids->sletof_string=function|"AC"->AC|"AD"->AD|"AE"->AE|"AF"->AF|"AG"->AG|"AI"->AI|"AL"->AL|"AM"->AM|"AN"->AN|"AO"->AO|"AQ"->AQ|"AR"->AR|"AS"->AS|"AT"->AT|"AU"->AU|"AW"->AW|"AX"->AX|"AZ"->AZ|"BA"->BA|"BB"->BB|"BD"->BD|"BE"->BE|"BF"->BF|"BG"->BG|"BH"->BH|"BI"->BI|"BJ"->BJ|"BL"->BL|"BM"->BM|"BN"->BN|"BO"->BO|"BQ"->BQ|"BR"->BR|"BS"->BS|"BT"->BT|"BV"->BV|"BW"->BW|"BY"->BY|"BZ"->BZ|"CA"->CA|"CC"->CC|"CD"->CD|"CF"->CF|"CG"->CG|"CH"->CH|"CI"->CI|"CK"->CK|"CL"->CL|"CM"->CM|"CN"->CN|"CO"->CO|"CR"->CR|"CU"->CU|"CV"->CV|"CW"->CW|"CX"->CX|"CY"->CY|"CZ"->CZ|"DE"->DE|"DJ"->DJ|"DK"->DK|"DM"->DM|"DO"->DO|"DZ"->DZ|"EC"->EC|"EE"->EE|"EG"->EG|"EH"->EH|"ER"->ER|"ES"->ES|"ET"->ET|"FI"->FI|"FJ"->FJ|"FK"->FK|"FM"->FM|"FO"->FO|"FR"->FR|"GA"->GA|"GB"->GB|"GD"->GD|"GE"->GE|"GF"->GF|"GG"->GG|"GH"->GH|"GI"->GI|"GL"->GL|"GM"->GM|"GN"->GN|"GP"->GP|"GQ"->GQ|"GR"->GR|"GS"->GS|"GT"->GT|"GU"->GU|"GW"->GW|"GY"->GY|"HK"->HK|"HM"->HM|"HN"->HN|"HR"->HR|"HT"->HT|"HU"->HU|"ID"->ID|"IE"->IE|"IL"->IL|"IM"->IM|"IN"->IN|"IO"->IO|"IQ"->IQ|"IR"->IR|"IS"->IS|"IT"->IT|"JE"->JE|"JM"->JM|"JO"->JO|"JP"->JP|"KE"->KE|"KG"->KG|"KH"->KH|"KI"->KI|"KM"->KM|"KN"->KN|"KP"->KP|"KR"->KR|"KW"->KW|"KY"->KY|"KZ"->KZ|"LA"->LA|"LB"->LB|"LC"->LC|"LI"->LI|"LK"->LK|"LR"->LR|"LS"->LS|"LT"->LT|"LU"->LU|"LV"->LV|"LY"->LY|"MA"->MA|"MC"->MC|"MD"->MD|"ME"->ME|"MF"->MF|"MG"->MG|"MH"->MH|"MK"->MK|"ML"->ML|"MM"->MM|"MN"->MN|"MO"->MO|"MP"->MP|"MQ"->MQ|"MR"->MR|"MS"->MS|"MT"->MT|"MU"->MU|"MV"->MV|"MW"->MW|"MX"->MX|"MY"->MY|"MZ"->MZ|"NA"->NA|"NC"->NC|"NE"->NE|"NF"->NF|"NG"->NG|"NI"->NI|"NL"->NL|"NO"->NO|"NP"->NP|"NR"->NR|"NU"->NU|"NZ"->NZ|"OM"->OM|"PA"->PA|"PE"->PE|"PF"->PF|"PG"->PG|"PH"->PH|"PK"->PK|"PL"->PL|"PM"->PM|"PN"->PN|"PR"->PR|"PS"->PS|"PT"->PT|"PW"->PW|"PY"->PY|"QA"->QA|"RE"->RE|"RO"->RO|"RS"->RS|"RU"->RU|"RW"->RW|"SA"->SA|"SB"->SB|"SC"->SC|"SD"->SD|"SE"->SE|"SG"->SG|"SH"->SH|"SI"->SI|"SJ"->SJ|"SK"->SK|"SL"->SL|"SM"->SM|"SN"->SN|"SO"->SO|"SR"->SR|"SS"->SS|"ST"->ST|"SV"->SV|"SX"->SX|"SY"->SY|"SZ"->SZ|"TC"->TC|"TD"->TD|"TF"->TF|"TG"->TG|"TH"->TH|"TJ"->TJ|"TK"->TK|"TL"->TL|"TM"->TM|"TN"->TN|"TO"->TO|"TP"->TP|"TR"->TR|"TT"->TT|"TV"->TV|"TW"->TW|"TZ"->TZ|"UA"->UA|"UG"->UG|"US"->US|"UY"->UY|"UZ"->UZ|"VA"->VA|"VC"->VC|"VE"->VE|"VG"->VG|"VI"->VI|"VN"->VN|"VU"->VU|"WF"->WF|"WS"->WS|"YE"->YE|"YT"->YT|"ZA"->ZA|"ZM"->ZM|"ZW"->ZW|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 CountryCode"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"CountryCode"j)letto_json=simple_to_jsonto_valueendmoduleEmail=structtypenonrect=stringletcontext_="Email"letmakei=letopenResultinok_or_failwith(check_string_maxi~max:254);iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"Email"jletto_json=simple_to_jsonto_valueendmoduleExtraParamList=structtypenonrect=ExtraParam.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ExtraParam.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:ExtraParam.of_xml)letof_jsonj=list_of_json~kind:"ExtraParamList"~of_json:ExtraParam.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleState=structtypenonrect=stringletcontext_="State"letmakei=letopenResultinok_or_failwith(check_string_maxi~max:255);iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"State"jletto_json=simple_to_jsonto_valueendmoduleZipCode=structtypenonrect=stringletcontext_="ZipCode"letmakei=letopenResultinok_or_failwith(check_string_maxi~max:255);iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ZipCode"jletto_json=simple_to_jsonto_valueendmoduleTldName=structtypenonrect=stringletcontext_="TldName"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:255)>>=(fun()->check_string_mini~min:2));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"TldName"jletto_json=simple_to_jsonto_valueendmoduleDomainPrice=structtypenonrect={name:DomainPriceName.toption[@ocaml.doc"The name of the TLD for which the prices apply."];registrationPrice:PriceWithCurrency.toption[@ocaml.doc"The price for domain registration with Route\194\16053."];transferPrice:PriceWithCurrency.toption[@ocaml.doc"The price for transferring the domain registration to Route\194\16053."];renewalPrice:PriceWithCurrency.toption[@ocaml.doc"The price for renewing domain registration with Route\194\16053."];changeOwnershipPrice:PriceWithCurrency.toption[@ocaml.doc"The price for changing domain ownership."];restorationPrice:PriceWithCurrency.toption[@ocaml.doc"The price for restoring the domain with Route\194\16053."]}letmake?name=fun?registrationPrice->fun?transferPrice->fun?renewalPrice->fun?changeOwnershipPrice->fun?restorationPrice->fun()->{name;registrationPrice;transferPrice;renewalPrice;changeOwnershipPrice;restorationPrice}letto_valuex=structure_to_value[("Name",(Option.mapx.name~f:DomainPriceName.to_value));("RegistrationPrice",(Option.mapx.registrationPrice~f:PriceWithCurrency.to_value));("TransferPrice",(Option.mapx.transferPrice~f:PriceWithCurrency.to_value));("RenewalPrice",(Option.mapx.renewalPrice~f:PriceWithCurrency.to_value));("ChangeOwnershipPrice",(Option.mapx.changeOwnershipPrice~f:PriceWithCurrency.to_value));("RestorationPrice",(Option.mapx.restorationPrice~f:PriceWithCurrency.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letrestorationPrice=(Option.map~f:PriceWithCurrency.of_xml)(Xml.childxml_arg0"RestorationPrice")inletchangeOwnershipPrice=(Option.map~f:PriceWithCurrency.of_xml)(Xml.childxml_arg0"ChangeOwnershipPrice")inletrenewalPrice=(Option.map~f:PriceWithCurrency.of_xml)(Xml.childxml_arg0"RenewalPrice")inlettransferPrice=(Option.map~f:PriceWithCurrency.of_xml)(Xml.childxml_arg0"TransferPrice")inletregistrationPrice=(Option.map~f:PriceWithCurrency.of_xml)(Xml.childxml_arg0"RegistrationPrice")inletname=(Option.map~f:DomainPriceName.of_xml)(Xml.childxml_arg0"Name")inmake?restorationPrice?changeOwnershipPrice?renewalPrice?transferPrice?registrationPrice?name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letrestorationPrice=field_mapjson__"RestorationPrice"PriceWithCurrency.of_jsoninletchangeOwnershipPrice=field_mapjson__"ChangeOwnershipPrice"PriceWithCurrency.of_jsoninletrenewalPrice=field_mapjson__"RenewalPrice"PriceWithCurrency.of_jsoninlettransferPrice=field_mapjson__"TransferPrice"PriceWithCurrency.of_jsoninletregistrationPrice=field_mapjson__"RegistrationPrice"PriceWithCurrency.of_jsoninletname=field_mapjson__"Name"DomainPriceName.of_jsoninmake?restorationPrice?changeOwnershipPrice?renewalPrice?transferPrice?registrationPrice?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Information about the domain price associated with a TLD."]moduleOperationSummary=structtypenonrect={operationId:OperationId.toption[@ocaml.doc"Identifier returned to track the requested action."];status:OperationStatus.toption[@ocaml.doc"The current status of the requested operation in the system."];type_:OperationType.toption[@ocaml.doc"Type of the action requested."];submittedDate:Timestamp.toption[@ocaml.doc"The date when the request was submitted."];domainName:DomainName.toption[@ocaml.doc"Name of the domain."];message:ErrorMessage.toption[@ocaml.doc"Message about the operation."];statusFlag:StatusFlag.toption[@ocaml.doc"Automatically checks whether there are no outstanding operations on domains that need customer attention. Valid values are: PENDING_ACCEPTANCE: The operation is waiting for acceptance from the account that is receiving the domain. PENDING_CUSTOMER_ACTION: The operation is waiting for customer action, for example, returning an email. PENDING_AUTHORIZATION: The operation is waiting for the form of authorization. For more information, see ResendOperationAuthorization. PENDING_PAYMENT_VERIFICATION: The operation is waiting for the payment method to validate. PENDING_SUPPORT_CASE: The operation includes a support case and is waiting for its resolution."];lastUpdatedDate:Timestamp.toption[@ocaml.doc"The date when the last change was made in Unix time format and Coordinated Universal Time (UTC)."]}letmake?operationId=fun?status->fun?type_->fun?submittedDate->fun?domainName->fun?message->fun?statusFlag->fun?lastUpdatedDate->fun()->{operationId;status;type_;submittedDate;domainName;message;statusFlag;lastUpdatedDate}letto_valuex=structure_to_value[("OperationId",(Option.mapx.operationId~f:OperationId.to_value));("Status",(Option.mapx.status~f:OperationStatus.to_value));("Type",(Option.mapx.type_~f:OperationType.to_value));("SubmittedDate",(Option.mapx.submittedDate~f:Timestamp.to_value));("DomainName",(Option.mapx.domainName~f:DomainName.to_value));("Message",(Option.mapx.message~f:ErrorMessage.to_value));("StatusFlag",(Option.mapx.statusFlag~f:StatusFlag.to_value));("LastUpdatedDate",(Option.mapx.lastUpdatedDate~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlastUpdatedDate=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"LastUpdatedDate")inletstatusFlag=(Option.map~f:StatusFlag.of_xml)(Xml.childxml_arg0"StatusFlag")inletmessage=(Option.map~f:ErrorMessage.of_xml)(Xml.childxml_arg0"Message")inletdomainName=(Option.map~f:DomainName.of_xml)(Xml.childxml_arg0"DomainName")inletsubmittedDate=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"SubmittedDate")inlettype_=(Option.map~f:OperationType.of_xml)(Xml.childxml_arg0"Type")inletstatus=(Option.map~f:OperationStatus.of_xml)(Xml.childxml_arg0"Status")inletoperationId=(Option.map~f:OperationId.of_xml)(Xml.childxml_arg0"OperationId")inmake?lastUpdatedDate?statusFlag?message?domainName?submittedDate?type_?status?operationId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlastUpdatedDate=field_mapjson__"LastUpdatedDate"Timestamp.of_jsoninletstatusFlag=field_mapjson__"StatusFlag"StatusFlag.of_jsoninletmessage=field_mapjson__"Message"ErrorMessage.of_jsoninletdomainName=field_mapjson__"DomainName"DomainName.of_jsoninletsubmittedDate=field_mapjson__"SubmittedDate"Timestamp.of_jsoninlettype_=field_mapjson__"Type"OperationType.of_jsoninletstatus=field_mapjson__"Status"OperationStatus.of_jsoninletoperationId=field_mapjson__"OperationId"OperationId.of_jsoninmake?lastUpdatedDate?statusFlag?message?domainName?submittedDate?type_?status?operationId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"OperationSummary includes the following elements."]moduleDomainSummary=structtypenonrect={domainName:DomainName.toption[@ocaml.doc"The name of the domain that the summary information applies to."];autoRenew:Boolean.toption[@ocaml.doc"Indicates whether the domain is automatically renewed upon expiration."];transferLock:Boolean.toption[@ocaml.doc"Indicates whether a domain is locked from unauthorized transfer to another party."];expiry:Timestamp.toption[@ocaml.doc"Expiration date of the domain in Unix time format and Coordinated Universal Time (UTC)."]}letmake?domainName=fun?autoRenew->fun?transferLock->fun?expiry->fun()->{domainName;autoRenew;transferLock;expiry}letto_valuex=structure_to_value[("DomainName",(Option.mapx.domainName~f:DomainName.to_value));("AutoRenew",(Option.mapx.autoRenew~f:Boolean.to_value));("TransferLock",(Option.mapx.transferLock~f:Boolean.to_value));("Expiry",(Option.mapx.expiry~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letexpiry=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"Expiry")inlettransferLock=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"TransferLock")inletautoRenew=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"AutoRenew")inletdomainName=(Option.map~f:DomainName.of_xml)(Xml.childxml_arg0"DomainName")inmake?expiry?transferLock?autoRenew?domainName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letexpiry=field_mapjson__"Expiry"Timestamp.of_jsoninlettransferLock=field_mapjson__"TransferLock"Boolean.of_jsoninletautoRenew=field_mapjson__"AutoRenew"Boolean.of_jsoninletdomainName=field_mapjson__"DomainName"DomainName.of_jsoninmake?expiry?transferLock?autoRenew?domainName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Summary information about one domain."]moduleFilterCondition=structtypenonrect={name:ListDomainsAttributeName.t[@ocaml.doc"Name of the field which should be used for filtering the list of domains."];operator:Operator.t[@ocaml.doc"The operator values for filtering domain names. The values can be: LE: Less than, or equal to GE: Greater than, or equal to BEGINS_WITH: Begins with"];values:Values.t[@ocaml.doc"An array of strings presenting values to compare. Only 1 item in the list is currently supported."]}letcontext_="FilterCondition"letmake~name=fun~operator->fun~values->fun()->{name;operator;values}letto_valuex=structure_to_value[("Name",(Some(ListDomainsAttributeName.to_valuex.name)));("Operator",(Some(Operator.to_valuex.operator)));("Values",(Some(Values.to_valuex.values)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvalues=Values.of_xml(Xml.child_exn~context:context_xml_arg0"Values")inletoperator=Operator.of_xml(Xml.child_exn~context:context_xml_arg0"Operator")inletname=ListDomainsAttributeName.of_xml(Xml.child_exn~context:context_xml_arg0"Name")inmake~values~operator~name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvalues=field_map_exnjson__"Values"Values.of_jsoninletoperator=field_map_exnjson__"Operator"Operator.of_jsoninletname=field_map_exnjson__"Name"ListDomainsAttributeName.of_jsoninmake~values~operator~name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Information for the filtering of a list of domains returned by ListDomains."]moduleSortOrder=structtypenonrect=|ASC|DESC|Non_static_idofstringletmakei=iletto_string=function|ASC->"ASC"|DESC->"DESC"|Non_static_ids->sletof_string=function|"ASC"->ASC|"DESC"->DESC|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 SortOrder"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"SortOrder"j)letto_json=simple_to_jsonto_valueendmoduleDomainSuggestion=structtypenonrect={domainName:DomainName.toption[@ocaml.doc"A suggested domain name."];availability:String_.toption[@ocaml.doc"Whether the domain name is available for registering. You can register only the domains that are designated as AVAILABLE. Valid values: AVAILABLE The domain name is available. AVAILABLE_RESERVED The domain name is reserved under specific conditions. AVAILABLE_PREORDER The domain name is available and can be preordered. DONT_KNOW The TLD registry didn't reply with a definitive answer about whether the domain name is available. Route 53 can return this response for a variety of reasons, for example, the registry is performing maintenance. Try again later. PENDING The TLD registry didn't return a response in the expected amount of time. When the response is delayed, it usually takes just a few extra seconds. You can resubmit the request immediately. RESERVED The domain name has been reserved for another person or organization. UNAVAILABLE The domain name is not available. UNAVAILABLE_PREMIUM The domain name is not available. UNAVAILABLE_RESTRICTED The domain name is forbidden."]}letmake?domainName=fun?availability->fun()->{domainName;availability}letto_valuex=structure_to_value[("DomainName",(Option.mapx.domainName~f:DomainName.to_value));("Availability",(Option.mapx.availability~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letavailability=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Availability")inletdomainName=(Option.map~f:DomainName.of_xml)(Xml.childxml_arg0"DomainName")inmake?availability?domainName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letavailability=field_mapjson__"Availability"String_.of_jsoninletdomainName=field_mapjson__"DomainName"DomainName.of_jsoninmake?availability?domainName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Information about one suggested domain name."]moduleDnssecKey=structtypenonrect={algorithm:NullableInteger.toption[@ocaml.doc"The number of the public key\226\128\153s cryptographic algorithm according to an IANA assignment. If Route\194\16053 is your DNS service, set this to 13. For more information about enabling DNSSEC signing, see Enabling DNSSEC signing and establishing a chain of trust."];flags:NullableInteger.toption[@ocaml.doc"Defines the type of key. It can be either a KSK (key-signing-key, value 257) or ZSK (zone-signing-key, value 256). Using KSK is always encouraged. Only use ZSK if your DNS provider isn't Route\194\16053 and you don\226\128\153t have KSK available. If you have KSK and ZSK keys, always use KSK to create a delegations signer (DS) record. If you have ZSK keys only \226\128\147 use ZSK to create a DS record."];publicKey:DnssecPublicKey.toption[@ocaml.doc"The base64-encoded public key part of the key pair that is passed to the registry ."];digestType:NullableInteger.toption[@ocaml.doc"The number of the DS digest algorithm according to an IANA assignment. For more information, see IANA for DNSSEC Delegation Signer (DS) Resource Record (RR) Type Digest Algorithms."];digest:String_.toption[@ocaml.doc"The delegation signer digest. Digest is calculated from the public key provided using specified digest algorithm and this digest is the actual value returned from the registry nameservers as the value of DS records."];keyTag:NullableInteger.toption[@ocaml.doc"A numeric identification of the DNSKEY record referred to by this DS record."];id:String_.toption[@ocaml.doc"An ID assigned to each DS record created by AssociateDelegationSignerToDomain."]}letmake?algorithm=fun?flags->fun?publicKey->fun?digestType->fun?digest->fun?keyTag->fun?id->fun()->{algorithm;flags;publicKey;digestType;digest;keyTag;id}letto_valuex=structure_to_value[("Algorithm",(Option.mapx.algorithm~f:NullableInteger.to_value));("Flags",(Option.mapx.flags~f:NullableInteger.to_value));("PublicKey",(Option.mapx.publicKey~f:DnssecPublicKey.to_value));("DigestType",(Option.mapx.digestType~f:NullableInteger.to_value));("Digest",(Option.mapx.digest~f:String_.to_value));("KeyTag",(Option.mapx.keyTag~f:NullableInteger.to_value));("Id",(Option.mapx.id~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letid=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Id")inletkeyTag=(Option.map~f:NullableInteger.of_xml)(Xml.childxml_arg0"KeyTag")inletdigest=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Digest")inletdigestType=(Option.map~f:NullableInteger.of_xml)(Xml.childxml_arg0"DigestType")inletpublicKey=(Option.map~f:DnssecPublicKey.of_xml)(Xml.childxml_arg0"PublicKey")inletflags=(Option.map~f:NullableInteger.of_xml)(Xml.childxml_arg0"Flags")inletalgorithm=(Option.map~f:NullableInteger.of_xml)(Xml.childxml_arg0"Algorithm")inmake?id?keyTag?digest?digestType?publicKey?flags?algorithm()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letid=field_mapjson__"Id"String_.of_jsoninletkeyTag=field_mapjson__"KeyTag"NullableInteger.of_jsoninletdigest=field_mapjson__"Digest"String_.of_jsoninletdigestType=field_mapjson__"DigestType"NullableInteger.of_jsoninletpublicKey=field_mapjson__"PublicKey"DnssecPublicKey.of_jsoninletflags=field_mapjson__"Flags"NullableInteger.of_jsoninletalgorithm=field_mapjson__"Algorithm"NullableInteger.of_jsoninmake?id?keyTag?digest?digestType?publicKey?flags?algorithm()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Information about the DNSSEC key. You get this from your DNS provider and then give it to Route\194\16053 (by using AssociateDelegationSignerToDomain) to pass it to the registry to establish the chain of trust."]moduleDomainStatus=structtypenonrect=stringletcontext_="DomainStatus"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:"DomainStatus"jletto_json=simple_to_jsonto_valueendmoduleTransferable=structtypenonrect=|TRANSFERABLE|UNTRANSFERABLE|DONT_KNOW|DOMAIN_IN_OWN_ACCOUNT|DOMAIN_IN_ANOTHER_ACCOUNT|PREMIUM_DOMAIN|Non_static_idofstringletmakei=iletto_string=function|TRANSFERABLE->"TRANSFERABLE"|UNTRANSFERABLE->"UNTRANSFERABLE"|DONT_KNOW->"DONT_KNOW"|DOMAIN_IN_OWN_ACCOUNT->"DOMAIN_IN_OWN_ACCOUNT"|DOMAIN_IN_ANOTHER_ACCOUNT->"DOMAIN_IN_ANOTHER_ACCOUNT"|PREMIUM_DOMAIN->"PREMIUM_DOMAIN"|Non_static_ids->sletof_string=function|"TRANSFERABLE"->TRANSFERABLE|"UNTRANSFERABLE"->UNTRANSFERABLE|"DONT_KNOW"->DONT_KNOW|"DOMAIN_IN_OWN_ACCOUNT"->DOMAIN_IN_OWN_ACCOUNT|"DOMAIN_IN_ANOTHER_ACCOUNT"->DOMAIN_IN_ANOTHER_ACCOUNT|"PREMIUM_DOMAIN"->PREMIUM_DOMAIN|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 Transferable"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"Transferable"j)letto_json=simple_to_jsonto_valueendmoduleBillingRecords=structtypenonrect=BillingRecord.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:BillingRecord.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:BillingRecord.of_xml)letof_jsonj=list_of_json~kind:"BillingRecords"~of_json:BillingRecord.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleInvalidInput=structtypenonrect={message:ErrorMessage.toption[@ocaml.doc"The requested item is not acceptable. For example, for an OperationId it might refer to the ID of an operation that is already completed. For a domain name, it might not be a valid domain name or belong to the requester account."]}letmake?message=fun()->{message}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:ErrorMessage.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:ErrorMessage.of_xml)(Xml.childxml_arg0"message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"ErrorMessage.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The requested item is not acceptable. For example, for APIs that accept a domain name, the request might specify a domain name that doesn't belong to the account that submitted the request. For AcceptDomainTransferFromAnotherAwsAccount, the password might be invalid."]modulePageMarker=structtypenonrect=stringletcontext_="PageMarker"letmakei=letopenResultinok_or_failwith(check_string_maxi~max:4096);iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"PageMarker"jletto_json=simple_to_jsonto_valueendmodulePageMaxItems=structtypenonrect=intletmakei=letopenResultinok_or_failwith(check_int_maxi~max:100);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 PageMaxItems"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleOperationLimitExceeded=structtypenonrect={message:ErrorMessage.toption[@ocaml.doc"The number of operations or jobs running exceeded the allowed threshold for the account."]}letmake?message=fun()->{message}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:ErrorMessage.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:ErrorMessage.of_xml)(Xml.childxml_arg0"message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"ErrorMessage.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The number of operations or jobs running exceeded the allowed threshold for the account."]moduleUnsupportedTLD=structtypenonrect={message:ErrorMessage.toption[@ocaml.doc"Amazon Route 53 does not support this top-level domain (TLD)."]}letmake?message=fun()->{message}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:ErrorMessage.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:ErrorMessage.of_xml)(Xml.childxml_arg0"message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"ErrorMessage.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Amazon Route 53 does not support this top-level domain (TLD)."]moduleTagList=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:"TagList"~of_json:Tag.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleDuplicateRequest=structtypenonrect={requestId:RequestId.toption[@ocaml.doc"ID of the request operation."];message:ErrorMessage.toption[@ocaml.doc"The request is already in progress for the domain."]}letmake?requestId=fun?message->fun()->{requestId;message}letto_valuex=structure_to_value[("requestId",(Option.mapx.requestId~f:RequestId.to_value));("message",(Option.mapx.message~f:ErrorMessage.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:ErrorMessage.of_xml)(Xml.childxml_arg0"message")inletrequestId=(Option.map~f:RequestId.of_xml)(Xml.childxml_arg0"requestId")inmake?message?requestId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"ErrorMessage.of_jsoninletrequestId=field_mapjson__"requestId"RequestId.of_jsoninmake?message?requestId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The request is already in progress for the domain."]moduleTLDRulesViolation=structtypenonrect={message:ErrorMessage.toption[@ocaml.doc"The top-level domain does not support this operation."]}letmake?message=fun()->{message}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:ErrorMessage.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:ErrorMessage.of_xml)(Xml.childxml_arg0"message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"ErrorMessage.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The top-level domain does not support this operation."]moduleFIAuthKey=structtypenonrect=stringletcontext_="FIAuthKey"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:255)>>=(fun()->check_string_mini~min: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:"FIAuthKey"jletto_json=simple_to_jsonto_valueendmoduleNameserverList=structtypenonrect=Nameserver.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:Nameserver.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:Nameserver.of_xml)letof_jsonj=list_of_json~kind:"NameserverList"~of_json:Nameserver.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleConsent=structtypenonrect={maxPrice:Price.t[@ocaml.doc"Maximum amount the customer agreed to accept."];currency:Currency.t[@ocaml.doc"Currency for the MaxPrice."]}letcontext_="Consent"letmake~maxPrice=fun~currency->fun()->{maxPrice;currency}letto_valuex=structure_to_value[("MaxPrice",(Some(Price.to_valuex.maxPrice)));("Currency",(Some(Currency.to_valuex.currency)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcurrency=Currency.of_xml(Xml.child_exn~context:context_xml_arg0"Currency")inletmaxPrice=Price.of_xml(Xml.child_exn~context:context_xml_arg0"MaxPrice")inmake~currency~maxPrice()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcurrency=field_map_exnjson__"Currency"Currency.of_jsoninletmaxPrice=field_map_exnjson__"MaxPrice"Price.of_jsoninmake~currency~maxPrice()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Customer's consent for the owner change request."]moduleContactDetail=structtypenonrect={firstName:ContactName.toption[@ocaml.doc"First name of contact."];lastName:ContactName.toption[@ocaml.doc"Last name of contact."];contactType:ContactType.toption[@ocaml.doc"Indicates whether the contact is a person, company, association, or public organization. Note the following: If you specify a value other than PERSON, you must also specify a value for OrganizationName. For some TLDs, the privacy protection available depends on the value that you specify for Contact Type. For the privacy protection settings for your TLD, see Domains that You Can Register with Amazon Route 53 in the Amazon Route 53 Developer Guide For .es domains, the value of ContactType must be PERSON for all three contacts."];organizationName:ContactName.toption[@ocaml.doc"Name of the organization for contact types other than PERSON."];addressLine1:AddressLine.toption[@ocaml.doc"First line of the contact's address."];addressLine2:AddressLine.toption[@ocaml.doc"Second line of contact's address, if any."];city:City.toption[@ocaml.doc"The city of the contact's address."];state:State.toption[@ocaml.doc"The state or province of the contact's city."];countryCode:CountryCode.toption[@ocaml.doc"Code for the country of the contact's address."];zipCode:ZipCode.toption[@ocaml.doc"The zip or postal code of the contact's address."];phoneNumber:ContactNumber.toption[@ocaml.doc"The phone number of the contact. Constraints: Phone number must be specified in the format \"+\\[country dialing code\\].\\[number including any area code>\\]\". For example, a US phone number might appear as \"+1.1234567890\"."];email:Email.toption[@ocaml.doc"Email address of the contact."];fax:ContactNumber.toption[@ocaml.doc"Fax number of the contact. Constraints: Phone number must be specified in the format \"+\\[country dialing code\\].\\[number including any area code\\]\". For example, a US phone number might appear as \"+1.1234567890\"."];extraParams:ExtraParamList.toption[@ocaml.doc"A list of name-value pairs for parameters required by certain top-level domains."]}letmake?firstName=fun?lastName->fun?contactType->fun?organizationName->fun?addressLine1->fun?addressLine2->fun?city->fun?state->fun?countryCode->fun?zipCode->fun?phoneNumber->fun?email->fun?fax->fun?extraParams->fun()->{firstName;lastName;contactType;organizationName;addressLine1;addressLine2;city;state;countryCode;zipCode;phoneNumber;email;fax;extraParams}letto_valuex=structure_to_value[("FirstName",(Option.mapx.firstName~f:ContactName.to_value));("LastName",(Option.mapx.lastName~f:ContactName.to_value));("ContactType",(Option.mapx.contactType~f:ContactType.to_value));("OrganizationName",(Option.mapx.organizationName~f:ContactName.to_value));("AddressLine1",(Option.mapx.addressLine1~f:AddressLine.to_value));("AddressLine2",(Option.mapx.addressLine2~f:AddressLine.to_value));("City",(Option.mapx.city~f:City.to_value));("State",(Option.mapx.state~f:State.to_value));("CountryCode",(Option.mapx.countryCode~f:CountryCode.to_value));("ZipCode",(Option.mapx.zipCode~f:ZipCode.to_value));("PhoneNumber",(Option.mapx.phoneNumber~f:ContactNumber.to_value));("Email",(Option.mapx.email~f:Email.to_value));("Fax",(Option.mapx.fax~f:ContactNumber.to_value));("ExtraParams",(Option.mapx.extraParams~f:ExtraParamList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letextraParams=(Option.map~f:ExtraParamList.of_xml)(Xml.childxml_arg0"ExtraParams")inletfax=(Option.map~f:ContactNumber.of_xml)(Xml.childxml_arg0"Fax")inletemail=(Option.map~f:Email.of_xml)(Xml.childxml_arg0"Email")inletphoneNumber=(Option.map~f:ContactNumber.of_xml)(Xml.childxml_arg0"PhoneNumber")inletzipCode=(Option.map~f:ZipCode.of_xml)(Xml.childxml_arg0"ZipCode")inletcountryCode=(Option.map~f:CountryCode.of_xml)(Xml.childxml_arg0"CountryCode")inletstate=(Option.map~f:State.of_xml)(Xml.childxml_arg0"State")inletcity=(Option.map~f:City.of_xml)(Xml.childxml_arg0"City")inletaddressLine2=(Option.map~f:AddressLine.of_xml)(Xml.childxml_arg0"AddressLine2")inletaddressLine1=(Option.map~f:AddressLine.of_xml)(Xml.childxml_arg0"AddressLine1")inletorganizationName=(Option.map~f:ContactName.of_xml)(Xml.childxml_arg0"OrganizationName")inletcontactType=(Option.map~f:ContactType.of_xml)(Xml.childxml_arg0"ContactType")inletlastName=(Option.map~f:ContactName.of_xml)(Xml.childxml_arg0"LastName")inletfirstName=(Option.map~f:ContactName.of_xml)(Xml.childxml_arg0"FirstName")inmake?extraParams?fax?email?phoneNumber?zipCode?countryCode?state?city?addressLine2?addressLine1?organizationName?contactType?lastName?firstName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letextraParams=field_mapjson__"ExtraParams"ExtraParamList.of_jsoninletfax=field_mapjson__"Fax"ContactNumber.of_jsoninletemail=field_mapjson__"Email"Email.of_jsoninletphoneNumber=field_mapjson__"PhoneNumber"ContactNumber.of_jsoninletzipCode=field_mapjson__"ZipCode"ZipCode.of_jsoninletcountryCode=field_mapjson__"CountryCode"CountryCode.of_jsoninletstate=field_mapjson__"State"State.of_jsoninletcity=field_mapjson__"City"City.of_jsoninletaddressLine2=field_mapjson__"AddressLine2"AddressLine.of_jsoninletaddressLine1=field_mapjson__"AddressLine1"AddressLine.of_jsoninletorganizationName=field_mapjson__"OrganizationName"ContactName.of_jsoninletcontactType=field_mapjson__"ContactType"ContactType.of_jsoninletlastName=field_mapjson__"LastName"ContactName.of_jsoninletfirstName=field_mapjson__"FirstName"ContactName.of_jsoninmake?extraParams?fax?email?phoneNumber?zipCode?countryCode?state?city?addressLine2?addressLine1?organizationName?contactType?lastName?firstName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"ContactDetail includes the following elements."]modulePassword=structtypenonrect=stringletcontext_="Password"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:"Password"jletto_json=simple_to_jsonto_valueendmoduleAccountId=structtypenonrect=stringletcontext_="AccountId"letmakei=letopenResultinok_or_failwith((check_string_mini~min:12)>>=(fun()->(check_string_maxi~max:12)>>=(fun()->check_patterni~pattern:"^(\\d{12})$")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"AccountId"jletto_json=simple_to_jsonto_valueendmoduleDomainLimitExceeded=structtypenonrect={message:ErrorMessage.toption[@ocaml.doc"The number of domains has exceeded the allowed threshold for the account."]}letmake?message=fun()->{message}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:ErrorMessage.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:ErrorMessage.of_xml)(Xml.childxml_arg0"message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"ErrorMessage.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The number of domains has exceeded the allowed threshold for the account."]moduleDomainAuthCode=structtypenonrect=stringletcontext_="DomainAuthCode"letmakei=letopenResultinok_or_failwith(check_string_maxi~max:1024);iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"DomainAuthCode"jletto_json=simple_to_jsonto_valueendmoduleDurationInYears=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:10)>>=(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 DurationInYears"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleLangCode=structtypenonrect=stringletcontext_="LangCode"letmakei=letopenResultinok_or_failwith(check_patterni~pattern:"|[A-Za-z]{2,3}");iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"LangCode"jletto_json=simple_to_jsonto_valueendmoduleTLDInMaintenance=structtypenonrect={message:ErrorMessage.toption[@ocaml.doc"The top-level domain is currently undergoing maintenance and the request cannot be processed. Try again later."];tld:TldName.toption[@ocaml.doc"The top-level domain that is currently undergoing maintenance."]}letmake?message=fun?tld->fun()->{message;tld}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:ErrorMessage.to_value));("tld",(Option.mapx.tld~f:TldName.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettld=(Option.map~f:TldName.of_xml)(Xml.childxml_arg0"tld")inletmessage=(Option.map~f:ErrorMessage.of_xml)(Xml.childxml_arg0"message")inmake?tld?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettld=field_mapjson__"tld"TldName.of_jsoninletmessage=field_mapjson__"message"ErrorMessage.of_jsoninmake?tld?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The top-level domain is currently undergoing maintenance and the request cannot be processed. Try again later."]moduleCurrentExpiryYear=structtypenonrect=intletmakei=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 CurrentExpiryYear"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleLabel=structtypenonrect=stringletcontext_="Label"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:"Label"jletto_json=simple_to_jsonto_valueendmoduleDomainPriceList=structtypenonrect=DomainPrice.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:DomainPrice.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:DomainPrice.of_xml)letof_jsonj=list_of_json~kind:"DomainPriceList"~of_json:DomainPrice.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleListPricesPageMaxItems=structtypenonrect=intletmakei=letopenResultinok_or_failwith(check_int_maxi~max:1000);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 ListPricesPageMaxItems"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleOperationSummaryList=structtypenonrect=OperationSummary.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:OperationSummary.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:OperationSummary.of_xml)letof_jsonj=list_of_json~kind:"OperationSummaryList"~of_json:OperationSummary.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleListOperationsSortAttributeName=structtypenonrect=|SubmittedDate|Non_static_idofstringletmakei=iletto_string=function|SubmittedDate->"SubmittedDate"|Non_static_ids->sletof_string=function|"SubmittedDate"->SubmittedDate|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 ListOperationsSortAttributeName"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ListOperationsSortAttributeName"j)letto_json=simple_to_jsonto_valueendmoduleOperationStatusList=structtypenonrect=OperationStatus.tlistletmakei=letopenResultinok_or_failwith(check_list_maxi~max:5);iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:OperationStatus.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:OperationStatus.of_xml)letof_jsonj=list_of_json~kind:"OperationStatusList"~of_json:OperationStatus.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleOperationTypeList=structtypenonrect=OperationType.tlistletmakei=letopenResultinok_or_failwith(check_list_maxi~max:21);iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:OperationType.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:OperationType.of_xml)letof_jsonj=list_of_json~kind:"OperationTypeList"~of_json:OperationType.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleDomainSummaryList=structtypenonrect=DomainSummary.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:DomainSummary.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:DomainSummary.of_xml)letof_jsonj=list_of_json~kind:"DomainSummaryList"~of_json:DomainSummary.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleFilterConditions=structtypenonrect=FilterCondition.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:FilterCondition.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:FilterCondition.of_xml)letof_jsonj=list_of_json~kind:"FilterConditions"~of_json:FilterCondition.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleSortCondition=structtypenonrect={name:ListDomainsAttributeName.t[@ocaml.doc"Field to be used for sorting the list of domains. It can be either the name or the expiration for a domain. Note that if filterCondition is used in the same ListDomains call, the field used for sorting has to be the same as the field used for filtering."];sortOrder:SortOrder.t[@ocaml.doc"The sort order for a list of domains. Either ascending (ASC) or descending (DES)."]}letcontext_="SortCondition"letmake~name=fun~sortOrder->fun()->{name;sortOrder}letto_valuex=structure_to_value[("Name",(Some(ListDomainsAttributeName.to_valuex.name)));("SortOrder",(Some(SortOrder.to_valuex.sortOrder)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letsortOrder=SortOrder.of_xml(Xml.child_exn~context:context_xml_arg0"SortOrder")inletname=ListDomainsAttributeName.of_xml(Xml.child_exn~context:context_xml_arg0"Name")inmake~sortOrder~name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letsortOrder=field_map_exnjson__"SortOrder"SortOrder.of_jsoninletname=field_map_exnjson__"Name"ListDomainsAttributeName.of_jsoninmake~sortOrder~name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Information for sorting a list of domains."]moduleDomainSuggestionsList=structtypenonrect=DomainSuggestion.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:DomainSuggestion.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:DomainSuggestion.of_xml)letof_jsonj=list_of_json~kind:"DomainSuggestionsList"~of_json:DomainSuggestion.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleInteger=structtypenonrect=intletmakei=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 Integer"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleDNSSec=structtypenonrect=stringletcontext_="DNSSec"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:"DNSSec"jletto_json=simple_to_jsonto_valueendmoduleDnssecKeyList=structtypenonrect=DnssecKey.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:DnssecKey.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:DnssecKey.of_xml)letof_jsonj=list_of_json~kind:"DnssecKeyList"~of_json:DnssecKey.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleDomainStatusList=structtypenonrect=DomainStatus.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:DomainStatus.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:DomainStatus.of_xml)letof_jsonj=list_of_json~kind:"DomainStatusList"~of_json:DomainStatus.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleRegistrarName=structtypenonrect=stringletcontext_="RegistrarName"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:"RegistrarName"jletto_json=simple_to_jsonto_valueendmoduleRegistrarUrl=structtypenonrect=stringletcontext_="RegistrarUrl"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:"RegistrarUrl"jletto_json=simple_to_jsonto_valueendmoduleRegistrarWhoIsServer=structtypenonrect=stringletcontext_="RegistrarWhoIsServer"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:"RegistrarWhoIsServer"jletto_json=simple_to_jsonto_valueendmoduleRegistryDomainId=structtypenonrect=stringletcontext_="RegistryDomainId"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:"RegistryDomainId"jletto_json=simple_to_jsonto_valueendmoduleReseller=structtypenonrect=stringletcontext_="Reseller"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:"Reseller"jletto_json=simple_to_jsonto_valueendmoduleReachabilityStatus=structtypenonrect=|PENDING|DONE|EXPIRED|Non_static_idofstringletmakei=iletto_string=function|PENDING->"PENDING"|DONE->"DONE"|EXPIRED->"EXPIRED"|Non_static_ids->sletof_string=function|"PENDING"->PENDING|"DONE"->DONE|"EXPIRED"->EXPIRED|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 ReachabilityStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ReachabilityStatus"j)letto_json=simple_to_jsonto_valueendmoduleTagKeyList=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:"TagKeyList"~of_json:TagKey.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleDomainTransferability=structtypenonrect={transferable:Transferable.toption}letmake?transferable=fun()->{transferable}letto_valuex=structure_to_value[("Transferable",(Option.mapx.transferable~f:Transferable.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettransferable=(Option.map~f:Transferable.of_xml)(Xml.childxml_arg0"Transferable")inmake?transferable()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettransferable=field_mapjson__"Transferable"Transferable.of_jsoninmake?transferable()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A complex type that contains information about whether the specified domain can be transferred to Route 53."]moduleMessage=structtypenonrect=stringletcontext_="Message"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:"Message"jletto_json=simple_to_jsonto_valueendmoduleDomainAvailability=structtypenonrect=|AVAILABLE|AVAILABLE_RESERVED|AVAILABLE_PREORDER|UNAVAILABLE|UNAVAILABLE_PREMIUM|UNAVAILABLE_RESTRICTED|RESERVED|DONT_KNOW|INVALID_NAME_FOR_TLD|PENDING|Non_static_idofstringletmakei=iletto_string=function|AVAILABLE->"AVAILABLE"|AVAILABLE_RESERVED->"AVAILABLE_RESERVED"|AVAILABLE_PREORDER->"AVAILABLE_PREORDER"|UNAVAILABLE->"UNAVAILABLE"|UNAVAILABLE_PREMIUM->"UNAVAILABLE_PREMIUM"|UNAVAILABLE_RESTRICTED->"UNAVAILABLE_RESTRICTED"|RESERVED->"RESERVED"|DONT_KNOW->"DONT_KNOW"|INVALID_NAME_FOR_TLD->"INVALID_NAME_FOR_TLD"|PENDING->"PENDING"|Non_static_ids->sletof_string=function|"AVAILABLE"->AVAILABLE|"AVAILABLE_RESERVED"->AVAILABLE_RESERVED|"AVAILABLE_PREORDER"->AVAILABLE_PREORDER|"UNAVAILABLE"->UNAVAILABLE|"UNAVAILABLE_PREMIUM"->UNAVAILABLE_PREMIUM|"UNAVAILABLE_RESTRICTED"->UNAVAILABLE_RESTRICTED|"RESERVED"->RESERVED|"DONT_KNOW"->DONT_KNOW|"INVALID_NAME_FOR_TLD"->INVALID_NAME_FOR_TLD|"PENDING"->PENDING|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 DomainAvailability"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"DomainAvailability"j)letto_json=simple_to_jsonto_valueendmoduleDnssecLimitExceeded=structtypenonrect={message:ErrorMessage.toption}letmake?message=fun()->{message}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:ErrorMessage.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:ErrorMessage.of_xml)(Xml.childxml_arg0"message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"ErrorMessage.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"This error is returned if you call AssociateDelegationSignerToDomain when the specified domain has reached the maximum number of DS records. You can't add any additional DS records unless you delete an existing one first."]moduleDnssecSigningAttributes=structtypenonrect={algorithm:NullableInteger.toption[@ocaml.doc"Algorithm which was used to generate the digest from the public key."];flags:NullableInteger.toption[@ocaml.doc"Defines the type of key. It can be either a KSK (key-signing-key, value 257) or ZSK (zone-signing-key, value 256). Using KSK is always encouraged. Only use ZSK if your DNS provider isn't Route 53 and you don\226\128\153t have KSK available. If you have KSK and ZSK keys, always use KSK to create a delegations signer (DS) record. If you have ZSK keys only \226\128\147 use ZSK to create a DS record."];publicKey:DnssecPublicKey.toption[@ocaml.doc"The base64-encoded public key part of the key pair that is passed to the registry."]}letmake?algorithm=fun?flags->fun?publicKey->fun()->{algorithm;flags;publicKey}letto_valuex=structure_to_value[("Algorithm",(Option.mapx.algorithm~f:NullableInteger.to_value));("Flags",(Option.mapx.flags~f:NullableInteger.to_value));("PublicKey",(Option.mapx.publicKey~f:DnssecPublicKey.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letpublicKey=(Option.map~f:DnssecPublicKey.of_xml)(Xml.childxml_arg0"PublicKey")inletflags=(Option.map~f:NullableInteger.of_xml)(Xml.childxml_arg0"Flags")inletalgorithm=(Option.map~f:NullableInteger.of_xml)(Xml.childxml_arg0"Algorithm")inmake?publicKey?flags?algorithm()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letpublicKey=field_mapjson__"PublicKey"DnssecPublicKey.of_jsoninletflags=field_mapjson__"Flags"NullableInteger.of_jsoninletalgorithm=field_mapjson__"Algorithm"NullableInteger.of_jsoninmake?publicKey?flags?algorithm()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Information about a delegation signer (DS) record that was created in the registry by AssociateDelegationSignerToDomain."]moduleViewBillingResponse=structtypenonrect={nextPageMarker:PageMarker.toption[@ocaml.doc"If there are more billing records than you specified for MaxItems in the request, submit another request and include the value of NextPageMarker in the value of Marker."];billingRecords:BillingRecords.toption[@ocaml.doc"A summary of billing records."]}typenonrecerror=[`InvalidInputofInvalidInput.t|`Unknown_operation_errorof(string*stringoption)]letmake?nextPageMarker=fun?billingRecords->fun()->{nextPageMarker;billingRecords}leterror_of_jsonnamejson=matchnamewith|"InvalidInput"->`InvalidInput(InvalidInput.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InvalidInput"->`InvalidInput(InvalidInput.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InvalidInpute->`Assoc[("error",(`String"InvalidInput"));("details",(InvalidInput.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("NextPageMarker",(Option.mapx.nextPageMarker~f:PageMarker.to_value));("BillingRecords",(Option.mapx.billingRecords~f:BillingRecords.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letbillingRecords=(Option.map~f:BillingRecords.of_xml)(Xml.childxml_arg0"BillingRecords")inletnextPageMarker=(Option.map~f:PageMarker.of_xml)(Xml.childxml_arg0"NextPageMarker")inmake?billingRecords?nextPageMarker()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letbillingRecords=field_mapjson__"BillingRecords"BillingRecords.of_jsoninletnextPageMarker=field_mapjson__"NextPageMarker"PageMarker.of_jsoninmake?billingRecords?nextPageMarker()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The ViewBilling response includes the following elements."]moduleViewBillingRequest=structtypenonrect={start:Timestamp.toption[@ocaml.doc"The beginning date and time for the time period for which you want a list of billing records. Specify the date and time in Unix time format and Coordinated Universal time (UTC)."];end_:Timestamp.toption[@ocaml.doc"The end date and time for the time period for which you want a list of billing records. Specify the date and time in Unix time format and Coordinated Universal time (UTC)."];marker:PageMarker.toption[@ocaml.doc"For an initial request for a list of billing records, omit this element. If the number of billing records that are associated with the current Amazon Web Services account during the specified period is greater than the value that you specified for MaxItems, you can use Marker to return additional billing records. Get the value of NextPageMarker from the previous response, and submit another request that includes the value of NextPageMarker in the Marker element. Constraints: The marker must match the value of NextPageMarker that was returned in the previous response."];maxItems:PageMaxItems.toption[@ocaml.doc"The number of billing records to be returned. Default: 20"]}letmake?start=fun?end_->fun?marker->fun?maxItems->fun()->{start;end_;marker;maxItems}letto_valuex=structure_to_value[("Start",(Option.mapx.start~f:Timestamp.to_value));("End",(Option.mapx.end_~f:Timestamp.to_value));("Marker",(Option.mapx.marker~f:PageMarker.to_value));("MaxItems",(Option.mapx.maxItems~f:PageMaxItems.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxItems=(Option.map~f:PageMaxItems.of_xml)(Xml.childxml_arg0"MaxItems")inletmarker=(Option.map~f:PageMarker.of_xml)(Xml.childxml_arg0"Marker")inletend_=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"End")inletstart=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"Start")inmake?maxItems?marker?end_?start()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxItems=field_mapjson__"MaxItems"PageMaxItems.of_jsoninletmarker=field_mapjson__"Marker"PageMarker.of_jsoninletend_=field_mapjson__"End"Timestamp.of_jsoninletstart=field_mapjson__"Start"Timestamp.of_jsoninmake?maxItems?marker?end_?start()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The ViewBilling request includes the following elements."]moduleUpdateTagsForDomainResponse=structtypenonrect=unittypenonrecerror=[`InvalidInputofInvalidInput.t|`OperationLimitExceededofOperationLimitExceeded.t|`UnsupportedTLDofUnsupportedTLD.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"InvalidInput"->`InvalidInput(InvalidInput.of_jsonjson)|"OperationLimitExceeded"->`OperationLimitExceeded(OperationLimitExceeded.of_jsonjson)|"UnsupportedTLD"->`UnsupportedTLD(UnsupportedTLD.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InvalidInput"->`InvalidInput(InvalidInput.of_xmlxml)|"OperationLimitExceeded"->`OperationLimitExceeded(OperationLimitExceeded.of_xmlxml)|"UnsupportedTLD"->`UnsupportedTLD(UnsupportedTLD.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InvalidInpute->`Assoc[("error",(`String"InvalidInput"));("details",(InvalidInput.to_jsone))]|`OperationLimitExceedede->`Assoc[("error",(`String"OperationLimitExceeded"));("details",(OperationLimitExceeded.to_jsone))]|`UnsupportedTLDe->`Assoc[("error",(`String"UnsupportedTLD"));("details",(UnsupportedTLD.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"This operation adds or updates tags for a specified domain. All tag operations are eventually consistent; subsequent operations might not immediately represent all issued operations."]moduleUpdateTagsForDomainRequest=structtypenonrect={domainName:DomainName.t[@ocaml.doc"The domain for which you want to add or update tags."];tagsToUpdate:TagList.toption[@ocaml.doc"A list of the tag keys and values that you want to add or update. If you specify a key that already exists, the corresponding value will be replaced."]}letcontext_="UpdateTagsForDomainRequest"letmake?tagsToUpdate=fun~domainName->fun()->{tagsToUpdate;domainName}letto_valuex=structure_to_value[("DomainName",(Some(DomainName.to_valuex.domainName)));("TagsToUpdate",(Option.mapx.tagsToUpdate~f:TagList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettagsToUpdate=(Option.map~f:TagList.of_xml)(Xml.childxml_arg0"TagsToUpdate")inletdomainName=DomainName.of_xml(Xml.child_exn~context:context_xml_arg0"DomainName")inmake?tagsToUpdate~domainName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettagsToUpdate=field_mapjson__"TagsToUpdate"TagList.of_jsoninletdomainName=field_map_exnjson__"DomainName"DomainName.of_jsoninmake?tagsToUpdate~domainName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The UpdateTagsForDomainRequest includes the following elements."]moduleUpdateDomainNameserversResponse=structtypenonrect={operationId:OperationId.toption[@ocaml.doc"Identifier for tracking the progress of the request. To query the operation status, use GetOperationDetail."]}typenonrecerror=[`DuplicateRequestofDuplicateRequest.t|`InvalidInputofInvalidInput.t|`OperationLimitExceededofOperationLimitExceeded.t|`TLDRulesViolationofTLDRulesViolation.t|`UnsupportedTLDofUnsupportedTLD.t|`Unknown_operation_errorof(string*stringoption)]letmake?operationId=fun()->{operationId}leterror_of_jsonnamejson=matchnamewith|"DuplicateRequest"->`DuplicateRequest(DuplicateRequest.of_jsonjson)|"InvalidInput"->`InvalidInput(InvalidInput.of_jsonjson)|"OperationLimitExceeded"->`OperationLimitExceeded(OperationLimitExceeded.of_jsonjson)|"TLDRulesViolation"->`TLDRulesViolation(TLDRulesViolation.of_jsonjson)|"UnsupportedTLD"->`UnsupportedTLD(UnsupportedTLD.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"DuplicateRequest"->`DuplicateRequest(DuplicateRequest.of_xmlxml)|"InvalidInput"->`InvalidInput(InvalidInput.of_xmlxml)|"OperationLimitExceeded"->`OperationLimitExceeded(OperationLimitExceeded.of_xmlxml)|"TLDRulesViolation"->`TLDRulesViolation(TLDRulesViolation.of_xmlxml)|"UnsupportedTLD"->`UnsupportedTLD(UnsupportedTLD.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`DuplicateRequeste->`Assoc[("error",(`String"DuplicateRequest"));("details",(DuplicateRequest.to_jsone))]|`InvalidInpute->`Assoc[("error",(`String"InvalidInput"));("details",(InvalidInput.to_jsone))]|`OperationLimitExceedede->`Assoc[("error",(`String"OperationLimitExceeded"));("details",(OperationLimitExceeded.to_jsone))]|`TLDRulesViolatione->`Assoc[("error",(`String"TLDRulesViolation"));("details",(TLDRulesViolation.to_jsone))]|`UnsupportedTLDe->`Assoc[("error",(`String"UnsupportedTLD"));("details",(UnsupportedTLD.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("OperationId",(Option.mapx.operationId~f:OperationId.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letoperationId=(Option.map~f:OperationId.of_xml)(Xml.childxml_arg0"OperationId")inmake?operationId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letoperationId=field_mapjson__"OperationId"OperationId.of_jsoninmake?operationId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The UpdateDomainNameservers response includes the following element."]moduleUpdateDomainNameserversRequest=structtypenonrect={domainName:DomainName.t[@ocaml.doc"The name of the domain that you want to change name servers for."];fIAuthKey:FIAuthKey.toption[@ocaml.doc"The authorization key for .fi domains"];nameservers:NameserverList.t[@ocaml.doc"A list of new name servers for the domain."]}letcontext_="UpdateDomainNameserversRequest"letmake?fIAuthKey=fun~domainName->fun~nameservers->fun()->{fIAuthKey;domainName;nameservers}letto_valuex=structure_to_value[("DomainName",(Some(DomainName.to_valuex.domainName)));("FIAuthKey",(Option.mapx.fIAuthKey~f:FIAuthKey.to_value));("Nameservers",(Some(NameserverList.to_valuex.nameservers)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnameservers=NameserverList.of_xml(Xml.child_exn~context:context_xml_arg0"Nameservers")inletfIAuthKey=(Option.map~f:FIAuthKey.of_xml)(Xml.childxml_arg0"FIAuthKey")inletdomainName=DomainName.of_xml(Xml.child_exn~context:context_xml_arg0"DomainName")inmake~nameservers?fIAuthKey~domainName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnameservers=field_map_exnjson__"Nameservers"NameserverList.of_jsoninletfIAuthKey=field_mapjson__"FIAuthKey"FIAuthKey.of_jsoninletdomainName=field_map_exnjson__"DomainName"DomainName.of_jsoninmake~nameservers?fIAuthKey~domainName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Replaces the current set of name servers for the domain with the specified set of name servers. If you use Amazon Route 53 as your DNS service, specify the four name servers in the delegation set for the hosted zone for the domain. If successful, this operation returns an operation ID that you can use to track the progress and completion of the action. If the request is not completed successfully, the domain registrant will be notified by email."]moduleUpdateDomainContactResponse=structtypenonrect={operationId:OperationId.toption[@ocaml.doc"Identifier for tracking the progress of the request. To query the operation status, use GetOperationDetail."]}typenonrecerror=[`DuplicateRequestofDuplicateRequest.t|`InvalidInputofInvalidInput.t|`OperationLimitExceededofOperationLimitExceeded.t|`TLDRulesViolationofTLDRulesViolation.t|`UnsupportedTLDofUnsupportedTLD.t|`Unknown_operation_errorof(string*stringoption)]letmake?operationId=fun()->{operationId}leterror_of_jsonnamejson=matchnamewith|"DuplicateRequest"->`DuplicateRequest(DuplicateRequest.of_jsonjson)|"InvalidInput"->`InvalidInput(InvalidInput.of_jsonjson)|"OperationLimitExceeded"->`OperationLimitExceeded(OperationLimitExceeded.of_jsonjson)|"TLDRulesViolation"->`TLDRulesViolation(TLDRulesViolation.of_jsonjson)|"UnsupportedTLD"->`UnsupportedTLD(UnsupportedTLD.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"DuplicateRequest"->`DuplicateRequest(DuplicateRequest.of_xmlxml)|"InvalidInput"->`InvalidInput(InvalidInput.of_xmlxml)|"OperationLimitExceeded"->`OperationLimitExceeded(OperationLimitExceeded.of_xmlxml)|"TLDRulesViolation"->`TLDRulesViolation(TLDRulesViolation.of_xmlxml)|"UnsupportedTLD"->`UnsupportedTLD(UnsupportedTLD.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`DuplicateRequeste->`Assoc[("error",(`String"DuplicateRequest"));("details",(DuplicateRequest.to_jsone))]|`InvalidInpute->`Assoc[("error",(`String"InvalidInput"));("details",(InvalidInput.to_jsone))]|`OperationLimitExceedede->`Assoc[("error",(`String"OperationLimitExceeded"));("details",(OperationLimitExceeded.to_jsone))]|`TLDRulesViolatione->`Assoc[("error",(`String"TLDRulesViolation"));("details",(TLDRulesViolation.to_jsone))]|`UnsupportedTLDe->`Assoc[("error",(`String"UnsupportedTLD"));("details",(UnsupportedTLD.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("OperationId",(Option.mapx.operationId~f:OperationId.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letoperationId=(Option.map~f:OperationId.of_xml)(Xml.childxml_arg0"OperationId")inmake?operationId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letoperationId=field_mapjson__"OperationId"OperationId.of_jsoninmake?operationId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The UpdateDomainContact response includes the following element."]moduleUpdateDomainContactRequest=structtypenonrect={domainName:DomainName.t[@ocaml.doc"The name of the domain that you want to update contact information for."];adminContact:ContactDetail.toption[@ocaml.doc"Provides detailed contact information."];registrantContact:ContactDetail.toption[@ocaml.doc"Provides detailed contact information."];techContact:ContactDetail.toption[@ocaml.doc"Provides detailed contact information."];consent:Consent.toption[@ocaml.doc"Customer's consent for the owner change request. Required if the domain is not free (consent price is more than $0.00)."];billingContact:ContactDetail.toption[@ocaml.doc"Provides detailed contact information."]}letcontext_="UpdateDomainContactRequest"letmake?adminContact=fun?registrantContact->fun?techContact->fun?consent->fun?billingContact->fun~domainName->fun()->{adminContact;registrantContact;techContact;consent;billingContact;domainName}letto_valuex=structure_to_value[("DomainName",(Some(DomainName.to_valuex.domainName)));("AdminContact",(Option.mapx.adminContact~f:ContactDetail.to_value));("RegistrantContact",(Option.mapx.registrantContact~f:ContactDetail.to_value));("TechContact",(Option.mapx.techContact~f:ContactDetail.to_value));("Consent",(Option.mapx.consent~f:Consent.to_value));("BillingContact",(Option.mapx.billingContact~f:ContactDetail.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letbillingContact=(Option.map~f:ContactDetail.of_xml)(Xml.childxml_arg0"BillingContact")inletconsent=(Option.map~f:Consent.of_xml)(Xml.childxml_arg0"Consent")inlettechContact=(Option.map~f:ContactDetail.of_xml)(Xml.childxml_arg0"TechContact")inletregistrantContact=(Option.map~f:ContactDetail.of_xml)(Xml.childxml_arg0"RegistrantContact")inletadminContact=(Option.map~f:ContactDetail.of_xml)(Xml.childxml_arg0"AdminContact")inletdomainName=DomainName.of_xml(Xml.child_exn~context:context_xml_arg0"DomainName")inmake?billingContact?consent?techContact?registrantContact?adminContact~domainName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letbillingContact=field_mapjson__"BillingContact"ContactDetail.of_jsoninletconsent=field_mapjson__"Consent"Consent.of_jsoninlettechContact=field_mapjson__"TechContact"ContactDetail.of_jsoninletregistrantContact=field_mapjson__"RegistrantContact"ContactDetail.of_jsoninletadminContact=field_mapjson__"AdminContact"ContactDetail.of_jsoninletdomainName=field_map_exnjson__"DomainName"DomainName.of_jsoninmake?billingContact?consent?techContact?registrantContact?adminContact~domainName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The UpdateDomainContact request includes the following elements."]moduleUpdateDomainContactPrivacyResponse=structtypenonrect={operationId:OperationId.toption[@ocaml.doc"Identifier for tracking the progress of the request. To use this ID to query the operation status, use GetOperationDetail."]}typenonrecerror=[`DuplicateRequestofDuplicateRequest.t|`InvalidInputofInvalidInput.t|`OperationLimitExceededofOperationLimitExceeded.t|`TLDRulesViolationofTLDRulesViolation.t|`UnsupportedTLDofUnsupportedTLD.t|`Unknown_operation_errorof(string*stringoption)]letmake?operationId=fun()->{operationId}leterror_of_jsonnamejson=matchnamewith|"DuplicateRequest"->`DuplicateRequest(DuplicateRequest.of_jsonjson)|"InvalidInput"->`InvalidInput(InvalidInput.of_jsonjson)|"OperationLimitExceeded"->`OperationLimitExceeded(OperationLimitExceeded.of_jsonjson)|"TLDRulesViolation"->`TLDRulesViolation(TLDRulesViolation.of_jsonjson)|"UnsupportedTLD"->`UnsupportedTLD(UnsupportedTLD.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"DuplicateRequest"->`DuplicateRequest(DuplicateRequest.of_xmlxml)|"InvalidInput"->`InvalidInput(InvalidInput.of_xmlxml)|"OperationLimitExceeded"->`OperationLimitExceeded(OperationLimitExceeded.of_xmlxml)|"TLDRulesViolation"->`TLDRulesViolation(TLDRulesViolation.of_xmlxml)|"UnsupportedTLD"->`UnsupportedTLD(UnsupportedTLD.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`DuplicateRequeste->`Assoc[("error",(`String"DuplicateRequest"));("details",(DuplicateRequest.to_jsone))]|`InvalidInpute->`Assoc[("error",(`String"InvalidInput"));("details",(InvalidInput.to_jsone))]|`OperationLimitExceedede->`Assoc[("error",(`String"OperationLimitExceeded"));("details",(OperationLimitExceeded.to_jsone))]|`TLDRulesViolatione->`Assoc[("error",(`String"TLDRulesViolation"));("details",(TLDRulesViolation.to_jsone))]|`UnsupportedTLDe->`Assoc[("error",(`String"UnsupportedTLD"));("details",(UnsupportedTLD.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("OperationId",(Option.mapx.operationId~f:OperationId.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letoperationId=(Option.map~f:OperationId.of_xml)(Xml.childxml_arg0"OperationId")inmake?operationId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letoperationId=field_mapjson__"OperationId"OperationId.of_jsoninmake?operationId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The UpdateDomainContactPrivacy response includes the following element."]moduleUpdateDomainContactPrivacyRequest=structtypenonrect={domainName:DomainName.t[@ocaml.doc"The name of the domain that you want to update the privacy setting for."];adminPrivacy:Boolean.toption[@ocaml.doc"Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries return contact information either for Amazon Registrar or for our registrar associate, Gandi. If you specify false, WHOIS queries return the information that you entered for the admin contact. You must specify the same privacy setting for the administrative, billing, registrant, and technical contacts."];registrantPrivacy:Boolean.toption[@ocaml.doc"Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries return contact information either for Amazon Registrar or for our registrar associate, Gandi. If you specify false, WHOIS queries return the information that you entered for the registrant contact (domain owner). You must specify the same privacy setting for the administrative, billing, registrant, and technical contacts."];techPrivacy:Boolean.toption[@ocaml.doc"Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries return contact information either for Amazon Registrar or for our registrar associate, Gandi. If you specify false, WHOIS queries return the information that you entered for the technical contact. You must specify the same privacy setting for the administrative, billing, registrant, and technical contacts."];billingPrivacy:Boolean.toption[@ocaml.doc"Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries return contact information either for Amazon Registrar or for our registrar associate, Gandi. If you specify false, WHOIS queries return the information that you entered for the billing contact. You must specify the same privacy setting for the administrative, billing, registrant, and technical contacts."]}letcontext_="UpdateDomainContactPrivacyRequest"letmake?adminPrivacy=fun?registrantPrivacy->fun?techPrivacy->fun?billingPrivacy->fun~domainName->fun()->{adminPrivacy;registrantPrivacy;techPrivacy;billingPrivacy;domainName}letto_valuex=structure_to_value[("DomainName",(Some(DomainName.to_valuex.domainName)));("AdminPrivacy",(Option.mapx.adminPrivacy~f:Boolean.to_value));("RegistrantPrivacy",(Option.mapx.registrantPrivacy~f:Boolean.to_value));("TechPrivacy",(Option.mapx.techPrivacy~f:Boolean.to_value));("BillingPrivacy",(Option.mapx.billingPrivacy~f:Boolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letbillingPrivacy=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"BillingPrivacy")inlettechPrivacy=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"TechPrivacy")inletregistrantPrivacy=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"RegistrantPrivacy")inletadminPrivacy=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"AdminPrivacy")inletdomainName=DomainName.of_xml(Xml.child_exn~context:context_xml_arg0"DomainName")inmake?billingPrivacy?techPrivacy?registrantPrivacy?adminPrivacy~domainName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letbillingPrivacy=field_mapjson__"BillingPrivacy"Boolean.of_jsoninlettechPrivacy=field_mapjson__"TechPrivacy"Boolean.of_jsoninletregistrantPrivacy=field_mapjson__"RegistrantPrivacy"Boolean.of_jsoninletadminPrivacy=field_mapjson__"AdminPrivacy"Boolean.of_jsoninletdomainName=field_map_exnjson__"DomainName"DomainName.of_jsoninmake?billingPrivacy?techPrivacy?registrantPrivacy?adminPrivacy~domainName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The UpdateDomainContactPrivacy request includes the following elements."]moduleTransferDomainToAnotherAwsAccountResponse=structtypenonrect={operationId:OperationId.toption[@ocaml.doc"Identifier for tracking the progress of the request. To query the operation status, use GetOperationDetail."];password:Password.toption[@ocaml.doc"To finish transferring a domain to another Amazon Web Services account, the account that the domain is being transferred to must submit an AcceptDomainTransferFromAnotherAwsAccount request. The request must include the value of the Password element that was returned in the TransferDomainToAnotherAwsAccount response."]}typenonrecerror=[`DuplicateRequestofDuplicateRequest.t|`InvalidInputofInvalidInput.t|`OperationLimitExceededofOperationLimitExceeded.t|`UnsupportedTLDofUnsupportedTLD.t|`Unknown_operation_errorof(string*stringoption)]letmake?operationId=fun?password->fun()->{operationId;password}leterror_of_jsonnamejson=matchnamewith|"DuplicateRequest"->`DuplicateRequest(DuplicateRequest.of_jsonjson)|"InvalidInput"->`InvalidInput(InvalidInput.of_jsonjson)|"OperationLimitExceeded"->`OperationLimitExceeded(OperationLimitExceeded.of_jsonjson)|"UnsupportedTLD"->`UnsupportedTLD(UnsupportedTLD.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"DuplicateRequest"->`DuplicateRequest(DuplicateRequest.of_xmlxml)|"InvalidInput"->`InvalidInput(InvalidInput.of_xmlxml)|"OperationLimitExceeded"->`OperationLimitExceeded(OperationLimitExceeded.of_xmlxml)|"UnsupportedTLD"->`UnsupportedTLD(UnsupportedTLD.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`DuplicateRequeste->`Assoc[("error",(`String"DuplicateRequest"));("details",(DuplicateRequest.to_jsone))]|`InvalidInpute->`Assoc[("error",(`String"InvalidInput"));("details",(InvalidInput.to_jsone))]|`OperationLimitExceedede->`Assoc[("error",(`String"OperationLimitExceeded"));("details",(OperationLimitExceeded.to_jsone))]|`UnsupportedTLDe->`Assoc[("error",(`String"UnsupportedTLD"));("details",(UnsupportedTLD.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("OperationId",(Option.mapx.operationId~f:OperationId.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")inletoperationId=(Option.map~f:OperationId.of_xml)(Xml.childxml_arg0"OperationId")inmake?password?operationId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letpassword=field_mapjson__"Password"Password.of_jsoninletoperationId=field_mapjson__"OperationId"OperationId.of_jsoninmake?password?operationId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The TransferDomainToAnotherAwsAccount response includes the following elements."]moduleTransferDomainToAnotherAwsAccountRequest=structtypenonrect={domainName:DomainName.t[@ocaml.doc"The name of the domain that you want to transfer from the current Amazon Web Services account to another account."];accountId:AccountId.t[@ocaml.doc"The account ID of the Amazon Web Services account that you want to transfer the domain to, for example, 111122223333."]}letcontext_="TransferDomainToAnotherAwsAccountRequest"letmake~domainName=fun~accountId->fun()->{domainName;accountId}letto_valuex=structure_to_value[("DomainName",(Some(DomainName.to_valuex.domainName)));("AccountId",(Some(AccountId.to_valuex.accountId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letaccountId=AccountId.of_xml(Xml.child_exn~context:context_xml_arg0"AccountId")inletdomainName=DomainName.of_xml(Xml.child_exn~context:context_xml_arg0"DomainName")inmake~accountId~domainName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letaccountId=field_map_exnjson__"AccountId"AccountId.of_jsoninletdomainName=field_map_exnjson__"DomainName"DomainName.of_jsoninmake~accountId~domainName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The TransferDomainToAnotherAwsAccount request includes the following elements."]moduleTransferDomainResponse=structtypenonrect={operationId:OperationId.toption[@ocaml.doc"Identifier for tracking the progress of the request. To query the operation status, use GetOperationDetail."]}typenonrecerror=[`DomainLimitExceededofDomainLimitExceeded.t|`DuplicateRequestofDuplicateRequest.t|`InvalidInputofInvalidInput.t|`OperationLimitExceededofOperationLimitExceeded.t|`TLDRulesViolationofTLDRulesViolation.t|`UnsupportedTLDofUnsupportedTLD.t|`Unknown_operation_errorof(string*stringoption)]letmake?operationId=fun()->{operationId}leterror_of_jsonnamejson=matchnamewith|"DomainLimitExceeded"->`DomainLimitExceeded(DomainLimitExceeded.of_jsonjson)|"DuplicateRequest"->`DuplicateRequest(DuplicateRequest.of_jsonjson)|"InvalidInput"->`InvalidInput(InvalidInput.of_jsonjson)|"OperationLimitExceeded"->`OperationLimitExceeded(OperationLimitExceeded.of_jsonjson)|"TLDRulesViolation"->`TLDRulesViolation(TLDRulesViolation.of_jsonjson)|"UnsupportedTLD"->`UnsupportedTLD(UnsupportedTLD.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"DomainLimitExceeded"->`DomainLimitExceeded(DomainLimitExceeded.of_xmlxml)|"DuplicateRequest"->`DuplicateRequest(DuplicateRequest.of_xmlxml)|"InvalidInput"->`InvalidInput(InvalidInput.of_xmlxml)|"OperationLimitExceeded"->`OperationLimitExceeded(OperationLimitExceeded.of_xmlxml)|"TLDRulesViolation"->`TLDRulesViolation(TLDRulesViolation.of_xmlxml)|"UnsupportedTLD"->`UnsupportedTLD(UnsupportedTLD.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`DomainLimitExceedede->`Assoc[("error",(`String"DomainLimitExceeded"));("details",(DomainLimitExceeded.to_jsone))]|`DuplicateRequeste->`Assoc[("error",(`String"DuplicateRequest"));("details",(DuplicateRequest.to_jsone))]|`InvalidInpute->`Assoc[("error",(`String"InvalidInput"));("details",(InvalidInput.to_jsone))]|`OperationLimitExceedede->`Assoc[("error",(`String"OperationLimitExceeded"));("details",(OperationLimitExceeded.to_jsone))]|`TLDRulesViolatione->`Assoc[("error",(`String"TLDRulesViolation"));("details",(TLDRulesViolation.to_jsone))]|`UnsupportedTLDe->`Assoc[("error",(`String"UnsupportedTLD"));("details",(UnsupportedTLD.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("OperationId",(Option.mapx.operationId~f:OperationId.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letoperationId=(Option.map~f:OperationId.of_xml)(Xml.childxml_arg0"OperationId")inmake?operationId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letoperationId=field_mapjson__"OperationId"OperationId.of_jsoninmake?operationId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The TransferDomain response includes the following element."]moduleTransferDomainRequest=structtypenonrect={domainName:DomainName.t[@ocaml.doc"The name of the domain that you want to transfer to Route 53. The top-level domain (TLD), such as .com, must be a TLD that Route 53 supports. For a list of supported TLDs, see Domains that You Can Register with Amazon Route 53 in the Amazon Route 53 Developer Guide. The domain name can contain only the following characters: Letters a through z. Domain names are not case sensitive. Numbers 0 through 9. Hyphen (-). You can't specify a hyphen at the beginning or end of a label. Period (.) to separate the labels in the name, such as the . in example.com."];idnLangCode:LangCode.toption[@ocaml.doc"Reserved for future use."];durationInYears:DurationInYears.toption[@ocaml.doc"Reserved for future use. Currently, the effect of a domain transfer on the registration period varies by TLD. For information about how transferring a domain affects the expiration date, see the Transfer Term column in the pricing information at Amazon Route 53 Pricing. Default: 1"];nameservers:NameserverList.toption[@ocaml.doc"Contains details for the host and glue IP addresses."];authCode:DomainAuthCode.toption[@ocaml.doc"The authorization code for the domain. You get this value from the current registrar."];autoRenew:Boolean.toption[@ocaml.doc"Indicates whether the domain will be automatically renewed (true) or not (false). Auto renewal only takes effect after the account is charged. Default: true"];adminContact:ContactDetail.t[@ocaml.doc"Provides detailed contact information."];registrantContact:ContactDetail.t[@ocaml.doc"Provides detailed contact information."];techContact:ContactDetail.t[@ocaml.doc"Provides detailed contact information."];privacyProtectAdminContact:Boolean.toption[@ocaml.doc"Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries return contact information for the registrar, the phrase \"REDACTED FOR PRIVACY\", or \"On behalf of <domain name> owner.\". While some domains may allow different privacy settings per contact, we recommend specifying the same privacy setting for all contacts. Default: true"];privacyProtectRegistrantContact:Boolean.toption[@ocaml.doc"Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries return contact information either for Amazon Registrar or for our registrar associate, Gandi. If you specify false, WHOIS queries return the information that you entered for the registrant contact (domain owner). You must specify the same privacy setting for the administrative, billing, registrant, and technical contacts. Default: true"];privacyProtectTechContact:Boolean.toption[@ocaml.doc"Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries return contact information either for Amazon Registrar or for our registrar associate, Gandi. If you specify false, WHOIS queries return the information that you entered for the technical contact. You must specify the same privacy setting for the administrative, billing, registrant, and technical contacts. Default: true"];billingContact:ContactDetail.toption[@ocaml.doc"Provides detailed contact information."];privacyProtectBillingContact:Boolean.toption[@ocaml.doc"Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries return contact information either for Amazon Registrar or for our registrar associate, Gandi. If you specify false, WHOIS queries return the information that you entered for the billing contact. You must specify the same privacy setting for the administrative, billing, registrant, and technical contacts."]}letcontext_="TransferDomainRequest"letmake?idnLangCode=fun?durationInYears->fun?nameservers->fun?authCode->fun?autoRenew->fun?privacyProtectAdminContact->fun?privacyProtectRegistrantContact->fun?privacyProtectTechContact->fun?billingContact->fun?privacyProtectBillingContact->fun~domainName->fun~adminContact->fun~registrantContact->fun~techContact->fun()->{idnLangCode;durationInYears;nameservers;authCode;autoRenew;privacyProtectAdminContact;privacyProtectRegistrantContact;privacyProtectTechContact;billingContact;privacyProtectBillingContact;domainName;adminContact;registrantContact;techContact}letto_valuex=structure_to_value[("DomainName",(Some(DomainName.to_valuex.domainName)));("IdnLangCode",(Option.mapx.idnLangCode~f:LangCode.to_value));("DurationInYears",(Option.mapx.durationInYears~f:DurationInYears.to_value));("Nameservers",(Option.mapx.nameservers~f:NameserverList.to_value));("AuthCode",(Option.mapx.authCode~f:DomainAuthCode.to_value));("AutoRenew",(Option.mapx.autoRenew~f:Boolean.to_value));("AdminContact",(Some(ContactDetail.to_valuex.adminContact)));("RegistrantContact",(Some(ContactDetail.to_valuex.registrantContact)));("TechContact",(Some(ContactDetail.to_valuex.techContact)));("PrivacyProtectAdminContact",(Option.mapx.privacyProtectAdminContact~f:Boolean.to_value));("PrivacyProtectRegistrantContact",(Option.mapx.privacyProtectRegistrantContact~f:Boolean.to_value));("PrivacyProtectTechContact",(Option.mapx.privacyProtectTechContact~f:Boolean.to_value));("BillingContact",(Option.mapx.billingContact~f:ContactDetail.to_value));("PrivacyProtectBillingContact",(Option.mapx.privacyProtectBillingContact~f:Boolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letprivacyProtectBillingContact=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"PrivacyProtectBillingContact")inletbillingContact=(Option.map~f:ContactDetail.of_xml)(Xml.childxml_arg0"BillingContact")inletprivacyProtectTechContact=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"PrivacyProtectTechContact")inletprivacyProtectRegistrantContact=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"PrivacyProtectRegistrantContact")inletprivacyProtectAdminContact=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"PrivacyProtectAdminContact")inlettechContact=ContactDetail.of_xml(Xml.child_exn~context:context_xml_arg0"TechContact")inletregistrantContact=ContactDetail.of_xml(Xml.child_exn~context:context_xml_arg0"RegistrantContact")inletadminContact=ContactDetail.of_xml(Xml.child_exn~context:context_xml_arg0"AdminContact")inletautoRenew=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"AutoRenew")inletauthCode=(Option.map~f:DomainAuthCode.of_xml)(Xml.childxml_arg0"AuthCode")inletnameservers=(Option.map~f:NameserverList.of_xml)(Xml.childxml_arg0"Nameservers")inletdurationInYears=(Option.map~f:DurationInYears.of_xml)(Xml.childxml_arg0"DurationInYears")inletidnLangCode=(Option.map~f:LangCode.of_xml)(Xml.childxml_arg0"IdnLangCode")inletdomainName=DomainName.of_xml(Xml.child_exn~context:context_xml_arg0"DomainName")inmake?privacyProtectBillingContact?billingContact?privacyProtectTechContact?privacyProtectRegistrantContact?privacyProtectAdminContact~techContact~registrantContact~adminContact?autoRenew?authCode?nameservers?durationInYears?idnLangCode~domainName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letprivacyProtectBillingContact=field_mapjson__"PrivacyProtectBillingContact"Boolean.of_jsoninletbillingContact=field_mapjson__"BillingContact"ContactDetail.of_jsoninletprivacyProtectTechContact=field_mapjson__"PrivacyProtectTechContact"Boolean.of_jsoninletprivacyProtectRegistrantContact=field_mapjson__"PrivacyProtectRegistrantContact"Boolean.of_jsoninletprivacyProtectAdminContact=field_mapjson__"PrivacyProtectAdminContact"Boolean.of_jsoninlettechContact=field_map_exnjson__"TechContact"ContactDetail.of_jsoninletregistrantContact=field_map_exnjson__"RegistrantContact"ContactDetail.of_jsoninletadminContact=field_map_exnjson__"AdminContact"ContactDetail.of_jsoninletautoRenew=field_mapjson__"AutoRenew"Boolean.of_jsoninletauthCode=field_mapjson__"AuthCode"DomainAuthCode.of_jsoninletnameservers=field_mapjson__"Nameservers"NameserverList.of_jsoninletdurationInYears=field_mapjson__"DurationInYears"DurationInYears.of_jsoninletidnLangCode=field_mapjson__"IdnLangCode"LangCode.of_jsoninletdomainName=field_map_exnjson__"DomainName"DomainName.of_jsoninmake?privacyProtectBillingContact?billingContact?privacyProtectTechContact?privacyProtectRegistrantContact?privacyProtectAdminContact~techContact~registrantContact~adminContact?autoRenew?authCode?nameservers?durationInYears?idnLangCode~domainName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The TransferDomain request includes the following elements."]moduleRetrieveDomainAuthCodeResponse=structtypenonrect={authCode:DomainAuthCode.toption[@ocaml.doc"The authorization code for the domain."]}typenonrecerror=[`InvalidInputofInvalidInput.t|`TLDInMaintenanceofTLDInMaintenance.t|`UnsupportedTLDofUnsupportedTLD.t|`Unknown_operation_errorof(string*stringoption)]letmake?authCode=fun()->{authCode}leterror_of_jsonnamejson=matchnamewith|"InvalidInput"->`InvalidInput(InvalidInput.of_jsonjson)|"TLDInMaintenance"->`TLDInMaintenance(TLDInMaintenance.of_jsonjson)|"UnsupportedTLD"->`UnsupportedTLD(UnsupportedTLD.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InvalidInput"->`InvalidInput(InvalidInput.of_xmlxml)|"TLDInMaintenance"->`TLDInMaintenance(TLDInMaintenance.of_xmlxml)|"UnsupportedTLD"->`UnsupportedTLD(UnsupportedTLD.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InvalidInpute->`Assoc[("error",(`String"InvalidInput"));("details",(InvalidInput.to_jsone))]|`TLDInMaintenancee->`Assoc[("error",(`String"TLDInMaintenance"));("details",(TLDInMaintenance.to_jsone))]|`UnsupportedTLDe->`Assoc[("error",(`String"UnsupportedTLD"));("details",(UnsupportedTLD.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("AuthCode",(Option.mapx.authCode~f:DomainAuthCode.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letauthCode=(Option.map~f:DomainAuthCode.of_xml)(Xml.childxml_arg0"AuthCode")inmake?authCode()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letauthCode=field_mapjson__"AuthCode"DomainAuthCode.of_jsoninmake?authCode()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The RetrieveDomainAuthCode response includes the following element."]moduleRetrieveDomainAuthCodeRequest=structtypenonrect={domainName:DomainName.t[@ocaml.doc"The name of the domain that you want to get an authorization code for."]}letcontext_="RetrieveDomainAuthCodeRequest"letmake~domainName=fun()->{domainName}letto_valuex=structure_to_value[("DomainName",(Some(DomainName.to_valuex.domainName)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdomainName=DomainName.of_xml(Xml.child_exn~context:context_xml_arg0"DomainName")inmake~domainName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdomainName=field_map_exnjson__"DomainName"DomainName.of_jsoninmake~domainName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A request for the authorization code for the specified domain. To transfer a domain to another registrar, you provide this value to the new registrar."]moduleResendOperationAuthorizationRequest=structtypenonrect={operationId:OperationId.t[@ocaml.doc"Operation ID."]}letcontext_="ResendOperationAuthorizationRequest"letmake~operationId=fun()->{operationId}letto_valuex=structure_to_value[("OperationId",(Some(OperationId.to_valuex.operationId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letoperationId=OperationId.of_xml(Xml.child_exn~context:context_xml_arg0"OperationId")inmake~operationId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letoperationId=field_map_exnjson__"OperationId"OperationId.of_jsoninmake~operationId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Resend the form of authorization email for this operation."]moduleResendContactReachabilityEmailResponse=structtypenonrect={domainName:DomainName.toption[@ocaml.doc"The domain name for which you requested a confirmation email."];emailAddress:Email.toption[@ocaml.doc"The email address for the registrant contact at the time that we sent the verification email."];isAlreadyVerified:Boolean.toption[@ocaml.doc"True if the email address for the registrant contact has already been verified, and false otherwise. If the email address has already been verified, we don't send another confirmation email."]}typenonrecerror=[`InvalidInputofInvalidInput.t|`OperationLimitExceededofOperationLimitExceeded.t|`TLDInMaintenanceofTLDInMaintenance.t|`UnsupportedTLDofUnsupportedTLD.t|`Unknown_operation_errorof(string*stringoption)]letmake?domainName=fun?emailAddress->fun?isAlreadyVerified->fun()->{domainName;emailAddress;isAlreadyVerified}leterror_of_jsonnamejson=matchnamewith|"InvalidInput"->`InvalidInput(InvalidInput.of_jsonjson)|"OperationLimitExceeded"->`OperationLimitExceeded(OperationLimitExceeded.of_jsonjson)|"TLDInMaintenance"->`TLDInMaintenance(TLDInMaintenance.of_jsonjson)|"UnsupportedTLD"->`UnsupportedTLD(UnsupportedTLD.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InvalidInput"->`InvalidInput(InvalidInput.of_xmlxml)|"OperationLimitExceeded"->`OperationLimitExceeded(OperationLimitExceeded.of_xmlxml)|"TLDInMaintenance"->`TLDInMaintenance(TLDInMaintenance.of_xmlxml)|"UnsupportedTLD"->`UnsupportedTLD(UnsupportedTLD.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InvalidInpute->`Assoc[("error",(`String"InvalidInput"));("details",(InvalidInput.to_jsone))]|`OperationLimitExceedede->`Assoc[("error",(`String"OperationLimitExceeded"));("details",(OperationLimitExceeded.to_jsone))]|`TLDInMaintenancee->`Assoc[("error",(`String"TLDInMaintenance"));("details",(TLDInMaintenance.to_jsone))]|`UnsupportedTLDe->`Assoc[("error",(`String"UnsupportedTLD"));("details",(UnsupportedTLD.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("domainName",(Option.mapx.domainName~f:DomainName.to_value));("emailAddress",(Option.mapx.emailAddress~f:Email.to_value));("isAlreadyVerified",(Option.mapx.isAlreadyVerified~f:Boolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letisAlreadyVerified=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"isAlreadyVerified")inletemailAddress=(Option.map~f:Email.of_xml)(Xml.childxml_arg0"emailAddress")inletdomainName=(Option.map~f:DomainName.of_xml)(Xml.childxml_arg0"domainName")inmake?isAlreadyVerified?emailAddress?domainName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letisAlreadyVerified=field_mapjson__"isAlreadyVerified"Boolean.of_jsoninletemailAddress=field_mapjson__"emailAddress"Email.of_jsoninletdomainName=field_mapjson__"domainName"DomainName.of_jsoninmake?isAlreadyVerified?emailAddress?domainName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"For operations that require confirmation that the email address for the registrant contact is valid, such as registering a new domain, this operation resends the confirmation email to the current email address for the registrant contact."]moduleResendContactReachabilityEmailRequest=structtypenonrect={domainName:DomainName.toption[@ocaml.doc"The name of the domain for which you want Route 53 to resend a confirmation email to the registrant contact."]}letmake?domainName=fun()->{domainName}letto_valuex=structure_to_value[("domainName",(Option.mapx.domainName~f:DomainName.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdomainName=(Option.map~f:DomainName.of_xml)(Xml.childxml_arg0"domainName")inmake?domainName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdomainName=field_mapjson__"domainName"DomainName.of_jsoninmake?domainName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"For operations that require confirmation that the email address for the registrant contact is valid, such as registering a new domain, this operation resends the confirmation email to the current email address for the registrant contact."]moduleRenewDomainResponse=structtypenonrect={operationId:OperationId.toption[@ocaml.doc"Identifier for tracking the progress of the request. To query the operation status, use GetOperationDetail."]}typenonrecerror=[`DuplicateRequestofDuplicateRequest.t|`InvalidInputofInvalidInput.t|`OperationLimitExceededofOperationLimitExceeded.t|`TLDRulesViolationofTLDRulesViolation.t|`UnsupportedTLDofUnsupportedTLD.t|`Unknown_operation_errorof(string*stringoption)]letmake?operationId=fun()->{operationId}leterror_of_jsonnamejson=matchnamewith|"DuplicateRequest"->`DuplicateRequest(DuplicateRequest.of_jsonjson)|"InvalidInput"->`InvalidInput(InvalidInput.of_jsonjson)|"OperationLimitExceeded"->`OperationLimitExceeded(OperationLimitExceeded.of_jsonjson)|"TLDRulesViolation"->`TLDRulesViolation(TLDRulesViolation.of_jsonjson)|"UnsupportedTLD"->`UnsupportedTLD(UnsupportedTLD.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"DuplicateRequest"->`DuplicateRequest(DuplicateRequest.of_xmlxml)|"InvalidInput"->`InvalidInput(InvalidInput.of_xmlxml)|"OperationLimitExceeded"->`OperationLimitExceeded(OperationLimitExceeded.of_xmlxml)|"TLDRulesViolation"->`TLDRulesViolation(TLDRulesViolation.of_xmlxml)|"UnsupportedTLD"->`UnsupportedTLD(UnsupportedTLD.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`DuplicateRequeste->`Assoc[("error",(`String"DuplicateRequest"));("details",(DuplicateRequest.to_jsone))]|`InvalidInpute->`Assoc[("error",(`String"InvalidInput"));("details",(InvalidInput.to_jsone))]|`OperationLimitExceedede->`Assoc[("error",(`String"OperationLimitExceeded"));("details",(OperationLimitExceeded.to_jsone))]|`TLDRulesViolatione->`Assoc[("error",(`String"TLDRulesViolation"));("details",(TLDRulesViolation.to_jsone))]|`UnsupportedTLDe->`Assoc[("error",(`String"UnsupportedTLD"));("details",(UnsupportedTLD.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("OperationId",(Option.mapx.operationId~f:OperationId.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letoperationId=(Option.map~f:OperationId.of_xml)(Xml.childxml_arg0"OperationId")inmake?operationId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letoperationId=field_mapjson__"OperationId"OperationId.of_jsoninmake?operationId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"This operation renews a domain for the specified number of years. The cost of renewing your domain is billed to your Amazon Web Services account. We recommend that you renew your domain several weeks before the expiration date. Some TLD registries delete domains before the expiration date if you haven't renewed far enough in advance. For more information about renewing domain registration, see Renewing Registration for a Domain in the Amazon Route 53 Developer Guide."]moduleRenewDomainRequest=structtypenonrect={domainName:DomainName.t[@ocaml.doc"The name of the domain that you want to renew."];durationInYears:DurationInYears.toption[@ocaml.doc"The number of years that you want to renew the domain for. The maximum number of years depends on the top-level domain. For the range of valid values for your domain, see Domains that You Can Register with Amazon Route 53 in the Amazon Route 53 Developer Guide. Default: 1"];currentExpiryYear:CurrentExpiryYear.t[@ocaml.doc"The year when the registration for the domain is set to expire. This value must match the current expiration date for the domain."]}letcontext_="RenewDomainRequest"letmake?durationInYears=fun~domainName->fun~currentExpiryYear->fun()->{durationInYears;domainName;currentExpiryYear}letto_valuex=structure_to_value[("DomainName",(Some(DomainName.to_valuex.domainName)));("DurationInYears",(Option.mapx.durationInYears~f:DurationInYears.to_value));("CurrentExpiryYear",(Some(CurrentExpiryYear.to_valuex.currentExpiryYear)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcurrentExpiryYear=CurrentExpiryYear.of_xml(Xml.child_exn~context:context_xml_arg0"CurrentExpiryYear")inletdurationInYears=(Option.map~f:DurationInYears.of_xml)(Xml.childxml_arg0"DurationInYears")inletdomainName=DomainName.of_xml(Xml.child_exn~context:context_xml_arg0"DomainName")inmake~currentExpiryYear?durationInYears~domainName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcurrentExpiryYear=field_map_exnjson__"CurrentExpiryYear"CurrentExpiryYear.of_jsoninletdurationInYears=field_mapjson__"DurationInYears"DurationInYears.of_jsoninletdomainName=field_map_exnjson__"DomainName"DomainName.of_jsoninmake~currentExpiryYear?durationInYears~domainName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A RenewDomain request includes the number of years that you want to renew for and the current expiration year."]moduleRejectDomainTransferFromAnotherAwsAccountResponse=structtypenonrect={operationId:OperationId.toption[@ocaml.doc"The identifier that TransferDomainToAnotherAwsAccount returned to track the progress of the request. Because the transfer request was rejected, the value is no longer valid, and you can't use GetOperationDetail to query the operation status."]}typenonrecerror=[`InvalidInputofInvalidInput.t|`OperationLimitExceededofOperationLimitExceeded.t|`UnsupportedTLDofUnsupportedTLD.t|`Unknown_operation_errorof(string*stringoption)]letmake?operationId=fun()->{operationId}leterror_of_jsonnamejson=matchnamewith|"InvalidInput"->`InvalidInput(InvalidInput.of_jsonjson)|"OperationLimitExceeded"->`OperationLimitExceeded(OperationLimitExceeded.of_jsonjson)|"UnsupportedTLD"->`UnsupportedTLD(UnsupportedTLD.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InvalidInput"->`InvalidInput(InvalidInput.of_xmlxml)|"OperationLimitExceeded"->`OperationLimitExceeded(OperationLimitExceeded.of_xmlxml)|"UnsupportedTLD"->`UnsupportedTLD(UnsupportedTLD.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InvalidInpute->`Assoc[("error",(`String"InvalidInput"));("details",(InvalidInput.to_jsone))]|`OperationLimitExceedede->`Assoc[("error",(`String"OperationLimitExceeded"));("details",(OperationLimitExceeded.to_jsone))]|`UnsupportedTLDe->`Assoc[("error",(`String"UnsupportedTLD"));("details",(UnsupportedTLD.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("OperationId",(Option.mapx.operationId~f:OperationId.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letoperationId=(Option.map~f:OperationId.of_xml)(Xml.childxml_arg0"OperationId")inmake?operationId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letoperationId=field_mapjson__"OperationId"OperationId.of_jsoninmake?operationId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The RejectDomainTransferFromAnotherAwsAccount response includes the following element."]moduleRejectDomainTransferFromAnotherAwsAccountRequest=structtypenonrect={domainName:DomainName.t[@ocaml.doc"The name of the domain that was specified when another Amazon Web Services account submitted a TransferDomainToAnotherAwsAccount request."]}letcontext_="RejectDomainTransferFromAnotherAwsAccountRequest"letmake~domainName=fun()->{domainName}letto_valuex=structure_to_value[("DomainName",(Some(DomainName.to_valuex.domainName)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdomainName=DomainName.of_xml(Xml.child_exn~context:context_xml_arg0"DomainName")inmake~domainName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdomainName=field_map_exnjson__"DomainName"DomainName.of_jsoninmake~domainName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The RejectDomainTransferFromAnotherAwsAccount request includes the following element."]moduleRegisterDomainResponse=structtypenonrect={operationId:OperationId.toption[@ocaml.doc"Identifier for tracking the progress of the request. To query the operation status, use GetOperationDetail."]}typenonrecerror=[`DomainLimitExceededofDomainLimitExceeded.t|`DuplicateRequestofDuplicateRequest.t|`InvalidInputofInvalidInput.t|`OperationLimitExceededofOperationLimitExceeded.t|`TLDRulesViolationofTLDRulesViolation.t|`UnsupportedTLDofUnsupportedTLD.t|`Unknown_operation_errorof(string*stringoption)]letmake?operationId=fun()->{operationId}leterror_of_jsonnamejson=matchnamewith|"DomainLimitExceeded"->`DomainLimitExceeded(DomainLimitExceeded.of_jsonjson)|"DuplicateRequest"->`DuplicateRequest(DuplicateRequest.of_jsonjson)|"InvalidInput"->`InvalidInput(InvalidInput.of_jsonjson)|"OperationLimitExceeded"->`OperationLimitExceeded(OperationLimitExceeded.of_jsonjson)|"TLDRulesViolation"->`TLDRulesViolation(TLDRulesViolation.of_jsonjson)|"UnsupportedTLD"->`UnsupportedTLD(UnsupportedTLD.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"DomainLimitExceeded"->`DomainLimitExceeded(DomainLimitExceeded.of_xmlxml)|"DuplicateRequest"->`DuplicateRequest(DuplicateRequest.of_xmlxml)|"InvalidInput"->`InvalidInput(InvalidInput.of_xmlxml)|"OperationLimitExceeded"->`OperationLimitExceeded(OperationLimitExceeded.of_xmlxml)|"TLDRulesViolation"->`TLDRulesViolation(TLDRulesViolation.of_xmlxml)|"UnsupportedTLD"->`UnsupportedTLD(UnsupportedTLD.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`DomainLimitExceedede->`Assoc[("error",(`String"DomainLimitExceeded"));("details",(DomainLimitExceeded.to_jsone))]|`DuplicateRequeste->`Assoc[("error",(`String"DuplicateRequest"));("details",(DuplicateRequest.to_jsone))]|`InvalidInpute->`Assoc[("error",(`String"InvalidInput"));("details",(InvalidInput.to_jsone))]|`OperationLimitExceedede->`Assoc[("error",(`String"OperationLimitExceeded"));("details",(OperationLimitExceeded.to_jsone))]|`TLDRulesViolatione->`Assoc[("error",(`String"TLDRulesViolation"));("details",(TLDRulesViolation.to_jsone))]|`UnsupportedTLDe->`Assoc[("error",(`String"UnsupportedTLD"));("details",(UnsupportedTLD.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("OperationId",(Option.mapx.operationId~f:OperationId.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letoperationId=(Option.map~f:OperationId.of_xml)(Xml.childxml_arg0"OperationId")inmake?operationId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letoperationId=field_mapjson__"OperationId"OperationId.of_jsoninmake?operationId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The RegisterDomain response includes the following element."]moduleRegisterDomainRequest=structtypenonrect={domainName:DomainName.t[@ocaml.doc"The domain name that you want to register. The top-level domain (TLD), such as .com, must be a TLD that Route 53 supports. For a list of supported TLDs, see Domains that You Can Register with Amazon Route 53 in the Amazon Route 53 Developer Guide. The domain name can contain only the following characters: Letters a through z. Domain names are not case sensitive. Numbers 0 through 9. Hyphen (-). You can't specify a hyphen at the beginning or end of a label. Period (.) to separate the labels in the name, such as the . in example.com. Internationalized domain names are not supported for some top-level domains. To determine whether the TLD that you want to use supports internationalized domain names, see Domains that You Can Register with Amazon Route 53. For more information, see Formatting Internationalized Domain Names."];idnLangCode:LangCode.toption[@ocaml.doc"Reserved for future use."];durationInYears:DurationInYears.t[@ocaml.doc"The number of years that you want to register the domain for. Domains are registered for a minimum of one year. The maximum period depends on the top-level domain. For the range of valid values for your domain, see Domains that You Can Register with Amazon Route 53 in the Amazon Route 53 Developer Guide. Default: 1"];autoRenew:Boolean.toption[@ocaml.doc"Indicates whether the domain will be automatically renewed (true) or not (false). Auto renewal only takes effect after the account is charged. Default: true"];adminContact:ContactDetail.t[@ocaml.doc"Provides detailed contact information. For information about the values that you specify for each element, see ContactDetail."];registrantContact:ContactDetail.t[@ocaml.doc"Provides detailed contact information. For information about the values that you specify for each element, see ContactDetail."];techContact:ContactDetail.t[@ocaml.doc"Provides detailed contact information. For information about the values that you specify for each element, see ContactDetail."];privacyProtectAdminContact:Boolean.toption[@ocaml.doc"Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries return contact information either for Amazon Registrar or for our registrar associate, Gandi. If you specify false, WHOIS queries return the information that you entered for the admin contact. You must specify the same privacy setting for the administrative, billing, registrant, and technical contacts. Default: true"];privacyProtectRegistrantContact:Boolean.toption[@ocaml.doc"Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries return contact information either for Amazon Registrar or for our registrar associate, Gandi. If you specify false, WHOIS queries return the information that you entered for the registrant contact (the domain owner). You must specify the same privacy setting for the administrative, billing, registrant, and technical contacts. Default: true"];privacyProtectTechContact:Boolean.toption[@ocaml.doc"Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries return contact information either for Amazon Registrar or for our registrar associate, Gandi. If you specify false, WHOIS queries return the information that you entered for the technical contact. You must specify the same privacy setting for the administrative, billing, registrant, and technical contacts. Default: true"];billingContact:ContactDetail.toption[@ocaml.doc"Provides detailed contact information. For information about the values that you specify for each element, see ContactDetail."];privacyProtectBillingContact:Boolean.toption[@ocaml.doc"Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries return contact information either for Amazon Registrar or for our registrar associate, Gandi. If you specify false, WHOIS queries return the information that you entered for the billing contact. You must specify the same privacy setting for the administrative, billing, registrant, and technical contacts."]}letcontext_="RegisterDomainRequest"letmake?idnLangCode=fun?autoRenew->fun?privacyProtectAdminContact->fun?privacyProtectRegistrantContact->fun?privacyProtectTechContact->fun?billingContact->fun?privacyProtectBillingContact->fun~domainName->fun~durationInYears->fun~adminContact->fun~registrantContact->fun~techContact->fun()->{idnLangCode;autoRenew;privacyProtectAdminContact;privacyProtectRegistrantContact;privacyProtectTechContact;billingContact;privacyProtectBillingContact;domainName;durationInYears;adminContact;registrantContact;techContact}letto_valuex=structure_to_value[("DomainName",(Some(DomainName.to_valuex.domainName)));("IdnLangCode",(Option.mapx.idnLangCode~f:LangCode.to_value));("DurationInYears",(Some(DurationInYears.to_valuex.durationInYears)));("AutoRenew",(Option.mapx.autoRenew~f:Boolean.to_value));("AdminContact",(Some(ContactDetail.to_valuex.adminContact)));("RegistrantContact",(Some(ContactDetail.to_valuex.registrantContact)));("TechContact",(Some(ContactDetail.to_valuex.techContact)));("PrivacyProtectAdminContact",(Option.mapx.privacyProtectAdminContact~f:Boolean.to_value));("PrivacyProtectRegistrantContact",(Option.mapx.privacyProtectRegistrantContact~f:Boolean.to_value));("PrivacyProtectTechContact",(Option.mapx.privacyProtectTechContact~f:Boolean.to_value));("BillingContact",(Option.mapx.billingContact~f:ContactDetail.to_value));("PrivacyProtectBillingContact",(Option.mapx.privacyProtectBillingContact~f:Boolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letprivacyProtectBillingContact=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"PrivacyProtectBillingContact")inletbillingContact=(Option.map~f:ContactDetail.of_xml)(Xml.childxml_arg0"BillingContact")inletprivacyProtectTechContact=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"PrivacyProtectTechContact")inletprivacyProtectRegistrantContact=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"PrivacyProtectRegistrantContact")inletprivacyProtectAdminContact=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"PrivacyProtectAdminContact")inlettechContact=ContactDetail.of_xml(Xml.child_exn~context:context_xml_arg0"TechContact")inletregistrantContact=ContactDetail.of_xml(Xml.child_exn~context:context_xml_arg0"RegistrantContact")inletadminContact=ContactDetail.of_xml(Xml.child_exn~context:context_xml_arg0"AdminContact")inletautoRenew=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"AutoRenew")inletdurationInYears=DurationInYears.of_xml(Xml.child_exn~context:context_xml_arg0"DurationInYears")inletidnLangCode=(Option.map~f:LangCode.of_xml)(Xml.childxml_arg0"IdnLangCode")inletdomainName=DomainName.of_xml(Xml.child_exn~context:context_xml_arg0"DomainName")inmake?privacyProtectBillingContact?billingContact?privacyProtectTechContact?privacyProtectRegistrantContact?privacyProtectAdminContact~techContact~registrantContact~adminContact?autoRenew~durationInYears?idnLangCode~domainName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letprivacyProtectBillingContact=field_mapjson__"PrivacyProtectBillingContact"Boolean.of_jsoninletbillingContact=field_mapjson__"BillingContact"ContactDetail.of_jsoninletprivacyProtectTechContact=field_mapjson__"PrivacyProtectTechContact"Boolean.of_jsoninletprivacyProtectRegistrantContact=field_mapjson__"PrivacyProtectRegistrantContact"Boolean.of_jsoninletprivacyProtectAdminContact=field_mapjson__"PrivacyProtectAdminContact"Boolean.of_jsoninlettechContact=field_map_exnjson__"TechContact"ContactDetail.of_jsoninletregistrantContact=field_map_exnjson__"RegistrantContact"ContactDetail.of_jsoninletadminContact=field_map_exnjson__"AdminContact"ContactDetail.of_jsoninletautoRenew=field_mapjson__"AutoRenew"Boolean.of_jsoninletdurationInYears=field_map_exnjson__"DurationInYears"DurationInYears.of_jsoninletidnLangCode=field_mapjson__"IdnLangCode"LangCode.of_jsoninletdomainName=field_map_exnjson__"DomainName"DomainName.of_jsoninmake?privacyProtectBillingContact?billingContact?privacyProtectTechContact?privacyProtectRegistrantContact?privacyProtectAdminContact~techContact~registrantContact~adminContact?autoRenew~durationInYears?idnLangCode~domainName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The RegisterDomain request includes the following elements."]modulePushDomainRequest=structtypenonrect={domainName:DomainName.t[@ocaml.doc"Name of the domain."];target:Label.t[@ocaml.doc"New IPS tag for the domain."]}letcontext_="PushDomainRequest"letmake~domainName=fun~target->fun()->{domainName;target}letto_valuex=structure_to_value[("DomainName",(Some(DomainName.to_valuex.domainName)));("Target",(Some(Label.to_valuex.target)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettarget=Label.of_xml(Xml.child_exn~context:context_xml_arg0"Target")inletdomainName=DomainName.of_xml(Xml.child_exn~context:context_xml_arg0"DomainName")inmake~target~domainName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettarget=field_map_exnjson__"Target"Label.of_jsoninletdomainName=field_map_exnjson__"DomainName"DomainName.of_jsoninmake~target~domainName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Moves a domain from Amazon Web Services to another registrar. Supported actions: Changes the IPS tags of a .uk domain, and pushes it to transit. Transit means that the domain is ready to be transferred to another registrar."]moduleListTagsForDomainResponse=structtypenonrect={tagList:TagList.toption[@ocaml.doc"A list of the tags that are associated with the specified domain."]}typenonrecerror=[`InvalidInputofInvalidInput.t|`OperationLimitExceededofOperationLimitExceeded.t|`UnsupportedTLDofUnsupportedTLD.t|`Unknown_operation_errorof(string*stringoption)]letmake?tagList=fun()->{tagList}leterror_of_jsonnamejson=matchnamewith|"InvalidInput"->`InvalidInput(InvalidInput.of_jsonjson)|"OperationLimitExceeded"->`OperationLimitExceeded(OperationLimitExceeded.of_jsonjson)|"UnsupportedTLD"->`UnsupportedTLD(UnsupportedTLD.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InvalidInput"->`InvalidInput(InvalidInput.of_xmlxml)|"OperationLimitExceeded"->`OperationLimitExceeded(OperationLimitExceeded.of_xmlxml)|"UnsupportedTLD"->`UnsupportedTLD(UnsupportedTLD.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InvalidInpute->`Assoc[("error",(`String"InvalidInput"));("details",(InvalidInput.to_jsone))]|`OperationLimitExceedede->`Assoc[("error",(`String"OperationLimitExceeded"));("details",(OperationLimitExceeded.to_jsone))]|`UnsupportedTLDe->`Assoc[("error",(`String"UnsupportedTLD"));("details",(UnsupportedTLD.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("TagList",(Option.mapx.tagList~f:TagList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettagList=(Option.map~f:TagList.of_xml)(Xml.childxml_arg0"TagList")inmake?tagList()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettagList=field_mapjson__"TagList"TagList.of_jsoninmake?tagList()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The ListTagsForDomain response includes the following elements."]moduleListTagsForDomainRequest=structtypenonrect={domainName:DomainName.t[@ocaml.doc"The domain for which you want to get a list of tags."]}letcontext_="ListTagsForDomainRequest"letmake~domainName=fun()->{domainName}letto_valuex=structure_to_value[("DomainName",(Some(DomainName.to_valuex.domainName)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdomainName=DomainName.of_xml(Xml.child_exn~context:context_xml_arg0"DomainName")inmake~domainName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdomainName=field_map_exnjson__"DomainName"DomainName.of_jsoninmake~domainName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The ListTagsForDomainRequest includes the following elements."]moduleListPricesResponse=structtypenonrect={prices:DomainPriceList.toption[@ocaml.doc"A complex type that includes all the pricing information. If you specify a TLD, this array contains only the pricing for that TLD."];nextPageMarker:PageMarker.toption[@ocaml.doc"If there are more prices than you specified for MaxItems in the request, submit another request and include the value of NextPageMarker in the value of Marker. Used only for all TLDs. If you specify a TLD, don't specify a NextPageMarker."]}typenonrecerror=[`InvalidInputofInvalidInput.t|`UnsupportedTLDofUnsupportedTLD.t|`Unknown_operation_errorof(string*stringoption)]letmake?prices=fun?nextPageMarker->fun()->{prices;nextPageMarker}leterror_of_jsonnamejson=matchnamewith|"InvalidInput"->`InvalidInput(InvalidInput.of_jsonjson)|"UnsupportedTLD"->`UnsupportedTLD(UnsupportedTLD.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InvalidInput"->`InvalidInput(InvalidInput.of_xmlxml)|"UnsupportedTLD"->`UnsupportedTLD(UnsupportedTLD.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InvalidInpute->`Assoc[("error",(`String"InvalidInput"));("details",(InvalidInput.to_jsone))]|`UnsupportedTLDe->`Assoc[("error",(`String"UnsupportedTLD"));("details",(UnsupportedTLD.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("Prices",(Option.mapx.prices~f:DomainPriceList.to_value));("NextPageMarker",(Option.mapx.nextPageMarker~f:PageMarker.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextPageMarker=(Option.map~f:PageMarker.of_xml)(Xml.childxml_arg0"NextPageMarker")inletprices=(Option.map~f:DomainPriceList.of_xml)(Xml.childxml_arg0"Prices")inmake?nextPageMarker?prices()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextPageMarker=field_mapjson__"NextPageMarker"PageMarker.of_jsoninletprices=field_mapjson__"Prices"DomainPriceList.of_jsoninmake?nextPageMarker?prices()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists the following prices for either all the TLDs supported by Route\194\16053, or the specified TLD: Registration Transfer Owner change Domain renewal Domain restoration"]moduleListPricesRequest=structtypenonrect={tld:TldName.toption[@ocaml.doc"The TLD for which you want to receive the pricing information. For example. .net. If a Tld value is not provided, a list of prices for all TLDs supported by Route\194\16053 is returned."];marker:PageMarker.toption[@ocaml.doc"For an initial request for a list of prices, omit this element. If the number of prices that are not yet complete is greater than the value that you specified for MaxItems, you can use Marker to return additional prices. Get the value of NextPageMarker from the previous response, and submit another request that includes the value of NextPageMarker in the Marker element. Used only for all TLDs. If you specify a TLD, don't specify a Marker."];maxItems:ListPricesPageMaxItems.toption[@ocaml.doc"Number of Prices to be returned. Used only for all TLDs. If you specify a TLD, don't specify a MaxItems."]}letmake?tld=fun?marker->fun?maxItems->fun()->{tld;marker;maxItems}letto_valuex=structure_to_value[("Tld",(Option.mapx.tld~f:TldName.to_value));("Marker",(Option.mapx.marker~f:PageMarker.to_value));("MaxItems",(Option.mapx.maxItems~f:ListPricesPageMaxItems.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxItems=(Option.map~f:ListPricesPageMaxItems.of_xml)(Xml.childxml_arg0"MaxItems")inletmarker=(Option.map~f:PageMarker.of_xml)(Xml.childxml_arg0"Marker")inlettld=(Option.map~f:TldName.of_xml)(Xml.childxml_arg0"Tld")inmake?maxItems?marker?tld()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxItems=field_mapjson__"MaxItems"ListPricesPageMaxItems.of_jsoninletmarker=field_mapjson__"Marker"PageMarker.of_jsoninlettld=field_mapjson__"Tld"TldName.of_jsoninmake?maxItems?marker?tld()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists the following prices for either all the TLDs supported by Route\194\16053, or the specified TLD: Registration Transfer Owner change Domain renewal Domain restoration"]moduleListOperationsResponse=structtypenonrect={operations:OperationSummaryList.toption[@ocaml.doc"Lists summaries of the operations."];nextPageMarker:PageMarker.toption[@ocaml.doc"If there are more operations than you specified for MaxItems in the request, submit another request and include the value of NextPageMarker in the value of Marker."]}typenonrecerror=[`InvalidInputofInvalidInput.t|`Unknown_operation_errorof(string*stringoption)]letmake?operations=fun?nextPageMarker->fun()->{operations;nextPageMarker}leterror_of_jsonnamejson=matchnamewith|"InvalidInput"->`InvalidInput(InvalidInput.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InvalidInput"->`InvalidInput(InvalidInput.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InvalidInpute->`Assoc[("error",(`String"InvalidInput"));("details",(InvalidInput.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("Operations",(Option.mapx.operations~f:OperationSummaryList.to_value));("NextPageMarker",(Option.mapx.nextPageMarker~f:PageMarker.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextPageMarker=(Option.map~f:PageMarker.of_xml)(Xml.childxml_arg0"NextPageMarker")inletoperations=(Option.map~f:OperationSummaryList.of_xml)(Xml.childxml_arg0"Operations")inmake?nextPageMarker?operations()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextPageMarker=field_mapjson__"NextPageMarker"PageMarker.of_jsoninletoperations=field_mapjson__"Operations"OperationSummaryList.of_jsoninmake?nextPageMarker?operations()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The ListOperations response includes the following elements."]moduleListOperationsRequest=structtypenonrect={submittedSince:Timestamp.toption[@ocaml.doc"An optional parameter that lets you get information about all the operations that you submitted after a specified date and time. Specify the date and time in Unix time format and Coordinated Universal time (UTC)."];marker:PageMarker.toption[@ocaml.doc"For an initial request for a list of operations, omit this element. If the number of operations that are not yet complete is greater than the value that you specified for MaxItems, you can use Marker to return additional operations. Get the value of NextPageMarker from the previous response, and submit another request that includes the value of NextPageMarker in the Marker element."];maxItems:PageMaxItems.toption[@ocaml.doc"Number of domains to be returned. Default: 20"];status:OperationStatusList.toption[@ocaml.doc"The status of the operations."];type_:OperationTypeList.toption[@ocaml.doc"An arrays of the domains operation types."];sortBy:ListOperationsSortAttributeName.toption[@ocaml.doc"The sort type for returned values."];sortOrder:SortOrder.toption[@ocaml.doc"The sort order for returned values, either ascending or descending."]}letmake?submittedSince=fun?marker->fun?maxItems->fun?status->fun?type_->fun?sortBy->fun?sortOrder->fun()->{submittedSince;marker;maxItems;status;type_;sortBy;sortOrder}letto_valuex=structure_to_value[("SubmittedSince",(Option.mapx.submittedSince~f:Timestamp.to_value));("Marker",(Option.mapx.marker~f:PageMarker.to_value));("MaxItems",(Option.mapx.maxItems~f:PageMaxItems.to_value));("Status",(Option.mapx.status~f:OperationStatusList.to_value));("Type",(Option.mapx.type_~f:OperationTypeList.to_value));("SortBy",(Option.mapx.sortBy~f:ListOperationsSortAttributeName.to_value));("SortOrder",(Option.mapx.sortOrder~f:SortOrder.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letsortOrder=(Option.map~f:SortOrder.of_xml)(Xml.childxml_arg0"SortOrder")inletsortBy=(Option.map~f:ListOperationsSortAttributeName.of_xml)(Xml.childxml_arg0"SortBy")inlettype_=(Option.map~f:OperationTypeList.of_xml)(Xml.childxml_arg0"Type")inletstatus=(Option.map~f:OperationStatusList.of_xml)(Xml.childxml_arg0"Status")inletmaxItems=(Option.map~f:PageMaxItems.of_xml)(Xml.childxml_arg0"MaxItems")inletmarker=(Option.map~f:PageMarker.of_xml)(Xml.childxml_arg0"Marker")inletsubmittedSince=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"SubmittedSince")inmake?sortOrder?sortBy?type_?status?maxItems?marker?submittedSince()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letsortOrder=field_mapjson__"SortOrder"SortOrder.of_jsoninletsortBy=field_mapjson__"SortBy"ListOperationsSortAttributeName.of_jsoninlettype_=field_mapjson__"Type"OperationTypeList.of_jsoninletstatus=field_mapjson__"Status"OperationStatusList.of_jsoninletmaxItems=field_mapjson__"MaxItems"PageMaxItems.of_jsoninletmarker=field_mapjson__"Marker"PageMarker.of_jsoninletsubmittedSince=field_mapjson__"SubmittedSince"Timestamp.of_jsoninmake?sortOrder?sortBy?type_?status?maxItems?marker?submittedSince()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The ListOperations request includes the following elements."]moduleListDomainsResponse=structtypenonrect={domains:DomainSummaryList.toption[@ocaml.doc"A list of domains."];nextPageMarker:PageMarker.toption[@ocaml.doc"If there are more domains than you specified for MaxItems in the request, submit another request and include the value of NextPageMarker in the value of Marker."]}typenonrecerror=[`InvalidInputofInvalidInput.t|`Unknown_operation_errorof(string*stringoption)]letmake?domains=fun?nextPageMarker->fun()->{domains;nextPageMarker}leterror_of_jsonnamejson=matchnamewith|"InvalidInput"->`InvalidInput(InvalidInput.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InvalidInput"->`InvalidInput(InvalidInput.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InvalidInpute->`Assoc[("error",(`String"InvalidInput"));("details",(InvalidInput.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("Domains",(Option.mapx.domains~f:DomainSummaryList.to_value));("NextPageMarker",(Option.mapx.nextPageMarker~f:PageMarker.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextPageMarker=(Option.map~f:PageMarker.of_xml)(Xml.childxml_arg0"NextPageMarker")inletdomains=(Option.map~f:DomainSummaryList.of_xml)(Xml.childxml_arg0"Domains")inmake?nextPageMarker?domains()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextPageMarker=field_mapjson__"NextPageMarker"PageMarker.of_jsoninletdomains=field_mapjson__"Domains"DomainSummaryList.of_jsoninmake?nextPageMarker?domains()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The ListDomains response includes the following elements."]moduleListDomainsRequest=structtypenonrect={filterConditions:FilterConditions.toption[@ocaml.doc"A complex type that contains information about the filters applied during the ListDomains request. The filter conditions can include domain name and domain expiration."];sortCondition:SortCondition.toption[@ocaml.doc"A complex type that contains information about the requested ordering of domains in the returned list."];marker:PageMarker.toption[@ocaml.doc"For an initial request for a list of domains, omit this element. If the number of domains that are associated with the current Amazon Web Services account is greater than the value that you specified for MaxItems, you can use Marker to return additional domains. Get the value of NextPageMarker from the previous response, and submit another request that includes the value of NextPageMarker in the Marker element. Constraints: The marker must match the value specified in the previous request."];maxItems:PageMaxItems.toption[@ocaml.doc"Number of domains to be returned. Default: 20"]}letmake?filterConditions=fun?sortCondition->fun?marker->fun?maxItems->fun()->{filterConditions;sortCondition;marker;maxItems}letto_valuex=structure_to_value[("FilterConditions",(Option.mapx.filterConditions~f:FilterConditions.to_value));("SortCondition",(Option.mapx.sortCondition~f:SortCondition.to_value));("Marker",(Option.mapx.marker~f:PageMarker.to_value));("MaxItems",(Option.mapx.maxItems~f:PageMaxItems.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxItems=(Option.map~f:PageMaxItems.of_xml)(Xml.childxml_arg0"MaxItems")inletmarker=(Option.map~f:PageMarker.of_xml)(Xml.childxml_arg0"Marker")inletsortCondition=(Option.map~f:SortCondition.of_xml)(Xml.childxml_arg0"SortCondition")inletfilterConditions=(Option.map~f:FilterConditions.of_xml)(Xml.childxml_arg0"FilterConditions")inmake?maxItems?marker?sortCondition?filterConditions()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxItems=field_mapjson__"MaxItems"PageMaxItems.of_jsoninletmarker=field_mapjson__"Marker"PageMarker.of_jsoninletsortCondition=field_mapjson__"SortCondition"SortCondition.of_jsoninletfilterConditions=field_mapjson__"FilterConditions"FilterConditions.of_jsoninmake?maxItems?marker?sortCondition?filterConditions()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The ListDomains request includes the following elements."]moduleGetOperationDetailResponse=structtypenonrect={operationId:OperationId.toption[@ocaml.doc"The identifier for the operation."];status:OperationStatus.toption[@ocaml.doc"The current status of the requested operation in the system."];message:ErrorMessage.toption[@ocaml.doc"Detailed information on the status including possible errors."];domainName:DomainName.toption[@ocaml.doc"The name of a domain."];type_:OperationType.toption[@ocaml.doc"The type of operation that was requested."];submittedDate:Timestamp.toption[@ocaml.doc"The date when the request was submitted."];lastUpdatedDate:Timestamp.toption[@ocaml.doc"The date when the operation was last updated."];statusFlag:StatusFlag.toption[@ocaml.doc"Lists any outstanding operations that require customer action. Valid values are: PENDING_ACCEPTANCE: The operation is waiting for acceptance from the account that is receiving the domain. PENDING_CUSTOMER_ACTION: The operation is waiting for customer action, for example, returning an email. PENDING_AUTHORIZATION: The operation is waiting for the form of authorization. For more information, see ResendOperationAuthorization. PENDING_PAYMENT_VERIFICATION: The operation is waiting for the payment method to validate. PENDING_SUPPORT_CASE: The operation includes a support case and is waiting for its resolution."]}typenonrecerror=[`InvalidInputofInvalidInput.t|`Unknown_operation_errorof(string*stringoption)]letmake?operationId=fun?status->fun?message->fun?domainName->fun?type_->fun?submittedDate->fun?lastUpdatedDate->fun?statusFlag->fun()->{operationId;status;message;domainName;type_;submittedDate;lastUpdatedDate;statusFlag}leterror_of_jsonnamejson=matchnamewith|"InvalidInput"->`InvalidInput(InvalidInput.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InvalidInput"->`InvalidInput(InvalidInput.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InvalidInpute->`Assoc[("error",(`String"InvalidInput"));("details",(InvalidInput.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("OperationId",(Option.mapx.operationId~f:OperationId.to_value));("Status",(Option.mapx.status~f:OperationStatus.to_value));("Message",(Option.mapx.message~f:ErrorMessage.to_value));("DomainName",(Option.mapx.domainName~f:DomainName.to_value));("Type",(Option.mapx.type_~f:OperationType.to_value));("SubmittedDate",(Option.mapx.submittedDate~f:Timestamp.to_value));("LastUpdatedDate",(Option.mapx.lastUpdatedDate~f:Timestamp.to_value));("StatusFlag",(Option.mapx.statusFlag~f:StatusFlag.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstatusFlag=(Option.map~f:StatusFlag.of_xml)(Xml.childxml_arg0"StatusFlag")inletlastUpdatedDate=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"LastUpdatedDate")inletsubmittedDate=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"SubmittedDate")inlettype_=(Option.map~f:OperationType.of_xml)(Xml.childxml_arg0"Type")inletdomainName=(Option.map~f:DomainName.of_xml)(Xml.childxml_arg0"DomainName")inletmessage=(Option.map~f:ErrorMessage.of_xml)(Xml.childxml_arg0"Message")inletstatus=(Option.map~f:OperationStatus.of_xml)(Xml.childxml_arg0"Status")inletoperationId=(Option.map~f:OperationId.of_xml)(Xml.childxml_arg0"OperationId")inmake?statusFlag?lastUpdatedDate?submittedDate?type_?domainName?message?status?operationId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstatusFlag=field_mapjson__"StatusFlag"StatusFlag.of_jsoninletlastUpdatedDate=field_mapjson__"LastUpdatedDate"Timestamp.of_jsoninletsubmittedDate=field_mapjson__"SubmittedDate"Timestamp.of_jsoninlettype_=field_mapjson__"Type"OperationType.of_jsoninletdomainName=field_mapjson__"DomainName"DomainName.of_jsoninletmessage=field_mapjson__"Message"ErrorMessage.of_jsoninletstatus=field_mapjson__"Status"OperationStatus.of_jsoninletoperationId=field_mapjson__"OperationId"OperationId.of_jsoninmake?statusFlag?lastUpdatedDate?submittedDate?type_?domainName?message?status?operationId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The GetOperationDetail response includes the following elements."]moduleGetOperationDetailRequest=structtypenonrect={operationId:OperationId.t[@ocaml.doc"The identifier for the operation for which you want to get the status. Route 53 returned the identifier in the response to the original request."]}letcontext_="GetOperationDetailRequest"letmake~operationId=fun()->{operationId}letto_valuex=structure_to_value[("OperationId",(Some(OperationId.to_valuex.operationId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letoperationId=OperationId.of_xml(Xml.child_exn~context:context_xml_arg0"OperationId")inmake~operationId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letoperationId=field_map_exnjson__"OperationId"OperationId.of_jsoninmake~operationId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The GetOperationDetail request includes the following element."]moduleGetDomainSuggestionsResponse=structtypenonrect={suggestionsList:DomainSuggestionsList.toption[@ocaml.doc"A list of possible domain names. If you specified true for OnlyAvailable in the request, the list contains only domains that are available for registration."]}typenonrecerror=[`InvalidInputofInvalidInput.t|`TLDInMaintenanceofTLDInMaintenance.t|`UnsupportedTLDofUnsupportedTLD.t|`Unknown_operation_errorof(string*stringoption)]letmake?suggestionsList=fun()->{suggestionsList}leterror_of_jsonnamejson=matchnamewith|"InvalidInput"->`InvalidInput(InvalidInput.of_jsonjson)|"TLDInMaintenance"->`TLDInMaintenance(TLDInMaintenance.of_jsonjson)|"UnsupportedTLD"->`UnsupportedTLD(UnsupportedTLD.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InvalidInput"->`InvalidInput(InvalidInput.of_xmlxml)|"TLDInMaintenance"->`TLDInMaintenance(TLDInMaintenance.of_xmlxml)|"UnsupportedTLD"->`UnsupportedTLD(UnsupportedTLD.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InvalidInpute->`Assoc[("error",(`String"InvalidInput"));("details",(InvalidInput.to_jsone))]|`TLDInMaintenancee->`Assoc[("error",(`String"TLDInMaintenance"));("details",(TLDInMaintenance.to_jsone))]|`UnsupportedTLDe->`Assoc[("error",(`String"UnsupportedTLD"));("details",(UnsupportedTLD.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("SuggestionsList",(Option.mapx.suggestionsList~f:DomainSuggestionsList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letsuggestionsList=(Option.map~f:DomainSuggestionsList.of_xml)(Xml.childxml_arg0"SuggestionsList")inmake?suggestionsList()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letsuggestionsList=field_mapjson__"SuggestionsList"DomainSuggestionsList.of_jsoninmake?suggestionsList()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The GetDomainSuggestions operation returns a list of suggested domain names."]moduleGetDomainSuggestionsRequest=structtypenonrect={domainName:DomainName.t[@ocaml.doc"A domain name that you want to use as the basis for a list of possible domain names. The top-level domain (TLD), such as .com, must be a TLD that Route 53 supports. For a list of supported TLDs, see Domains that You Can Register with Amazon Route 53 in the Amazon Route 53 Developer Guide. The domain name can contain only the following characters: Letters a through z. Domain names are not case sensitive. Numbers 0 through 9. Hyphen (-). You can't specify a hyphen at the beginning or end of a label. Period (.) to separate the labels in the name, such as the . in example.com. Internationalized domain names are not supported for some top-level domains. To determine whether the TLD that you want to use supports internationalized domain names, see Domains that You Can Register with Amazon Route 53."];suggestionCount:Integer.t[@ocaml.doc"The number of suggested domain names that you want Route 53 to return. Specify a value between 1 and 50. Note that fewer than the requested number might be returned."];onlyAvailable:Boolean.t[@ocaml.doc"If OnlyAvailable is true, Route 53 returns only domain names that are available. If OnlyAvailable is false, Route 53 returns domain names without checking whether they're available to be registered. To determine whether the domain is available, you can call checkDomainAvailability for each suggestion."]}letcontext_="GetDomainSuggestionsRequest"letmake~domainName=fun~suggestionCount->fun~onlyAvailable->fun()->{domainName;suggestionCount;onlyAvailable}letto_valuex=structure_to_value[("DomainName",(Some(DomainName.to_valuex.domainName)));("SuggestionCount",(Some(Integer.to_valuex.suggestionCount)));("OnlyAvailable",(Some(Boolean.to_valuex.onlyAvailable)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letonlyAvailable=Boolean.of_xml(Xml.child_exn~context:context_xml_arg0"OnlyAvailable")inletsuggestionCount=Integer.of_xml(Xml.child_exn~context:context_xml_arg0"SuggestionCount")inletdomainName=DomainName.of_xml(Xml.child_exn~context:context_xml_arg0"DomainName")inmake~onlyAvailable~suggestionCount~domainName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letonlyAvailable=field_map_exnjson__"OnlyAvailable"Boolean.of_jsoninletsuggestionCount=field_map_exnjson__"SuggestionCount"Integer.of_jsoninletdomainName=field_map_exnjson__"DomainName"DomainName.of_jsoninmake~onlyAvailable~suggestionCount~domainName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The GetDomainSuggestions operation returns a list of suggested domain names."]moduleGetDomainDetailResponse=structtypenonrect={domainName:DomainName.toption[@ocaml.doc"The name of a domain."];nameservers:NameserverList.toption[@ocaml.doc"The name servers of the domain."];autoRenew:Boolean.toption[@ocaml.doc"Specifies whether the domain registration is set to renew automatically."];adminContact:ContactDetail.toption[@ocaml.doc"Provides details about the domain administrative contact."];registrantContact:ContactDetail.toption[@ocaml.doc"Provides details about the domain registrant."];techContact:ContactDetail.toption[@ocaml.doc"Provides details about the domain technical contact."];adminPrivacy:Boolean.toption[@ocaml.doc"Specifies whether contact information is concealed from WHOIS queries. If the value is true, WHOIS (\"who is\") queries return contact information either for Amazon Registrar or for our registrar associate, Gandi. If the value is false, WHOIS queries return the information that you entered for the admin contact."];registrantPrivacy:Boolean.toption[@ocaml.doc"Specifies whether contact information is concealed from WHOIS queries. If the value is true, WHOIS (\"who is\") queries return contact information either for Amazon Registrar or for our registrar associate, Gandi. If the value is false, WHOIS queries return the information that you entered for the registrant contact (domain owner)."];techPrivacy:Boolean.toption[@ocaml.doc"Specifies whether contact information is concealed from WHOIS queries. If the value is true, WHOIS (\"who is\") queries return contact information either for Amazon Registrar or for our registrar associate, Gandi. If the value is false, WHOIS queries return the information that you entered for the technical contact."];registrarName:RegistrarName.toption[@ocaml.doc"Name of the registrar of the domain as identified in the registry."];whoIsServer:RegistrarWhoIsServer.toption[@ocaml.doc"The fully qualified name of the WHOIS server that can answer the WHOIS query for the domain."];registrarUrl:RegistrarUrl.toption[@ocaml.doc"Web address of the registrar."];abuseContactEmail:Email.toption[@ocaml.doc"Email address to contact to report incorrect contact information for a domain, to report that the domain is being used to send spam, to report that someone is cybersquatting on a domain name, or report some other type of abuse."];abuseContactPhone:ContactNumber.toption[@ocaml.doc"Phone number for reporting abuse."];registryDomainId:RegistryDomainId.toption[@ocaml.doc"Reserved for future use."];creationDate:Timestamp.toption[@ocaml.doc"The date when the domain was created as found in the response to a WHOIS query. The date and time is in Unix time format and Coordinated Universal time (UTC)."];updatedDate:Timestamp.toption[@ocaml.doc"The last updated date of the domain as found in the response to a WHOIS query. The date and time is in Unix time format and Coordinated Universal time (UTC)."];expirationDate:Timestamp.toption[@ocaml.doc"The date when the registration for the domain is set to expire. The date and time is in Unix time format and Coordinated Universal time (UTC)."];reseller:Reseller.toption[@ocaml.doc"Reserved for future use."];dnsSec:DNSSec.toption[@ocaml.doc"Deprecated."];statusList:DomainStatusList.toption[@ocaml.doc"An array of domain name status codes, also known as Extensible Provisioning Protocol (EPP) status codes. ICANN, the organization that maintains a central database of domain names, has developed a set of domain name status codes that tell you the status of a variety of operations on a domain name, for example, registering a domain name, transferring a domain name to another registrar, renewing the registration for a domain name, and so on. All registrars use this same set of status codes. For a current list of domain name status codes and an explanation of what each code means, go to the ICANN website and search for epp status codes. (Search on the ICANN website; web searches sometimes return an old version of the document.)"];dnssecKeys:DnssecKeyList.toption[@ocaml.doc"A complex type that contains information about the DNSSEC configuration."];billingContact:ContactDetail.toption[@ocaml.doc"Provides details about the domain billing contact."];billingPrivacy:Boolean.toption[@ocaml.doc"Specifies whether contact information is concealed from WHOIS queries. If the value is true, WHOIS (\"who is\") queries return contact information either for Amazon Registrar or for our registrar associate, Gandi. If the value is false, WHOIS queries return the information that you entered for the billing contact."]}typenonrecerror=[`InvalidInputofInvalidInput.t|`UnsupportedTLDofUnsupportedTLD.t|`Unknown_operation_errorof(string*stringoption)]letmake?domainName=fun?nameservers->fun?autoRenew->fun?adminContact->fun?registrantContact->fun?techContact->fun?adminPrivacy->fun?registrantPrivacy->fun?techPrivacy->fun?registrarName->fun?whoIsServer->fun?registrarUrl->fun?abuseContactEmail->fun?abuseContactPhone->fun?registryDomainId->fun?creationDate->fun?updatedDate->fun?expirationDate->fun?reseller->fun?dnsSec->fun?statusList->fun?dnssecKeys->fun?billingContact->fun?billingPrivacy->fun()->{domainName;nameservers;autoRenew;adminContact;registrantContact;techContact;adminPrivacy;registrantPrivacy;techPrivacy;registrarName;whoIsServer;registrarUrl;abuseContactEmail;abuseContactPhone;registryDomainId;creationDate;updatedDate;expirationDate;reseller;dnsSec;statusList;dnssecKeys;billingContact;billingPrivacy}leterror_of_jsonnamejson=matchnamewith|"InvalidInput"->`InvalidInput(InvalidInput.of_jsonjson)|"UnsupportedTLD"->`UnsupportedTLD(UnsupportedTLD.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InvalidInput"->`InvalidInput(InvalidInput.of_xmlxml)|"UnsupportedTLD"->`UnsupportedTLD(UnsupportedTLD.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InvalidInpute->`Assoc[("error",(`String"InvalidInput"));("details",(InvalidInput.to_jsone))]|`UnsupportedTLDe->`Assoc[("error",(`String"UnsupportedTLD"));("details",(UnsupportedTLD.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("DomainName",(Option.mapx.domainName~f:DomainName.to_value));("Nameservers",(Option.mapx.nameservers~f:NameserverList.to_value));("AutoRenew",(Option.mapx.autoRenew~f:Boolean.to_value));("AdminContact",(Option.mapx.adminContact~f:ContactDetail.to_value));("RegistrantContact",(Option.mapx.registrantContact~f:ContactDetail.to_value));("TechContact",(Option.mapx.techContact~f:ContactDetail.to_value));("AdminPrivacy",(Option.mapx.adminPrivacy~f:Boolean.to_value));("RegistrantPrivacy",(Option.mapx.registrantPrivacy~f:Boolean.to_value));("TechPrivacy",(Option.mapx.techPrivacy~f:Boolean.to_value));("RegistrarName",(Option.mapx.registrarName~f:RegistrarName.to_value));("WhoIsServer",(Option.mapx.whoIsServer~f:RegistrarWhoIsServer.to_value));("RegistrarUrl",(Option.mapx.registrarUrl~f:RegistrarUrl.to_value));("AbuseContactEmail",(Option.mapx.abuseContactEmail~f:Email.to_value));("AbuseContactPhone",(Option.mapx.abuseContactPhone~f:ContactNumber.to_value));("RegistryDomainId",(Option.mapx.registryDomainId~f:RegistryDomainId.to_value));("CreationDate",(Option.mapx.creationDate~f:Timestamp.to_value));("UpdatedDate",(Option.mapx.updatedDate~f:Timestamp.to_value));("ExpirationDate",(Option.mapx.expirationDate~f:Timestamp.to_value));("Reseller",(Option.mapx.reseller~f:Reseller.to_value));("DnsSec",(Option.mapx.dnsSec~f:DNSSec.to_value));("StatusList",(Option.mapx.statusList~f:DomainStatusList.to_value));("DnssecKeys",(Option.mapx.dnssecKeys~f:DnssecKeyList.to_value));("BillingContact",(Option.mapx.billingContact~f:ContactDetail.to_value));("BillingPrivacy",(Option.mapx.billingPrivacy~f:Boolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letbillingPrivacy=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"BillingPrivacy")inletbillingContact=(Option.map~f:ContactDetail.of_xml)(Xml.childxml_arg0"BillingContact")inletdnssecKeys=(Option.map~f:DnssecKeyList.of_xml)(Xml.childxml_arg0"DnssecKeys")inletstatusList=(Option.map~f:DomainStatusList.of_xml)(Xml.childxml_arg0"StatusList")inletdnsSec=(Option.map~f:DNSSec.of_xml)(Xml.childxml_arg0"DnsSec")inletreseller=(Option.map~f:Reseller.of_xml)(Xml.childxml_arg0"Reseller")inletexpirationDate=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"ExpirationDate")inletupdatedDate=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"UpdatedDate")inletcreationDate=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"CreationDate")inletregistryDomainId=(Option.map~f:RegistryDomainId.of_xml)(Xml.childxml_arg0"RegistryDomainId")inletabuseContactPhone=(Option.map~f:ContactNumber.of_xml)(Xml.childxml_arg0"AbuseContactPhone")inletabuseContactEmail=(Option.map~f:Email.of_xml)(Xml.childxml_arg0"AbuseContactEmail")inletregistrarUrl=(Option.map~f:RegistrarUrl.of_xml)(Xml.childxml_arg0"RegistrarUrl")inletwhoIsServer=(Option.map~f:RegistrarWhoIsServer.of_xml)(Xml.childxml_arg0"WhoIsServer")inletregistrarName=(Option.map~f:RegistrarName.of_xml)(Xml.childxml_arg0"RegistrarName")inlettechPrivacy=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"TechPrivacy")inletregistrantPrivacy=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"RegistrantPrivacy")inletadminPrivacy=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"AdminPrivacy")inlettechContact=(Option.map~f:ContactDetail.of_xml)(Xml.childxml_arg0"TechContact")inletregistrantContact=(Option.map~f:ContactDetail.of_xml)(Xml.childxml_arg0"RegistrantContact")inletadminContact=(Option.map~f:ContactDetail.of_xml)(Xml.childxml_arg0"AdminContact")inletautoRenew=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"AutoRenew")inletnameservers=(Option.map~f:NameserverList.of_xml)(Xml.childxml_arg0"Nameservers")inletdomainName=(Option.map~f:DomainName.of_xml)(Xml.childxml_arg0"DomainName")inmake?billingPrivacy?billingContact?dnssecKeys?statusList?dnsSec?reseller?expirationDate?updatedDate?creationDate?registryDomainId?abuseContactPhone?abuseContactEmail?registrarUrl?whoIsServer?registrarName?techPrivacy?registrantPrivacy?adminPrivacy?techContact?registrantContact?adminContact?autoRenew?nameservers?domainName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letbillingPrivacy=field_mapjson__"BillingPrivacy"Boolean.of_jsoninletbillingContact=field_mapjson__"BillingContact"ContactDetail.of_jsoninletdnssecKeys=field_mapjson__"DnssecKeys"DnssecKeyList.of_jsoninletstatusList=field_mapjson__"StatusList"DomainStatusList.of_jsoninletdnsSec=field_mapjson__"DnsSec"DNSSec.of_jsoninletreseller=field_mapjson__"Reseller"Reseller.of_jsoninletexpirationDate=field_mapjson__"ExpirationDate"Timestamp.of_jsoninletupdatedDate=field_mapjson__"UpdatedDate"Timestamp.of_jsoninletcreationDate=field_mapjson__"CreationDate"Timestamp.of_jsoninletregistryDomainId=field_mapjson__"RegistryDomainId"RegistryDomainId.of_jsoninletabuseContactPhone=field_mapjson__"AbuseContactPhone"ContactNumber.of_jsoninletabuseContactEmail=field_mapjson__"AbuseContactEmail"Email.of_jsoninletregistrarUrl=field_mapjson__"RegistrarUrl"RegistrarUrl.of_jsoninletwhoIsServer=field_mapjson__"WhoIsServer"RegistrarWhoIsServer.of_jsoninletregistrarName=field_mapjson__"RegistrarName"RegistrarName.of_jsoninlettechPrivacy=field_mapjson__"TechPrivacy"Boolean.of_jsoninletregistrantPrivacy=field_mapjson__"RegistrantPrivacy"Boolean.of_jsoninletadminPrivacy=field_mapjson__"AdminPrivacy"Boolean.of_jsoninlettechContact=field_mapjson__"TechContact"ContactDetail.of_jsoninletregistrantContact=field_mapjson__"RegistrantContact"ContactDetail.of_jsoninletadminContact=field_mapjson__"AdminContact"ContactDetail.of_jsoninletautoRenew=field_mapjson__"AutoRenew"Boolean.of_jsoninletnameservers=field_mapjson__"Nameservers"NameserverList.of_jsoninletdomainName=field_mapjson__"DomainName"DomainName.of_jsoninmake?billingPrivacy?billingContact?dnssecKeys?statusList?dnsSec?reseller?expirationDate?updatedDate?creationDate?registryDomainId?abuseContactPhone?abuseContactEmail?registrarUrl?whoIsServer?registrarName?techPrivacy?registrantPrivacy?adminPrivacy?techContact?registrantContact?adminContact?autoRenew?nameservers?domainName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The GetDomainDetail response includes the following elements."]moduleGetDomainDetailRequest=structtypenonrect={domainName:DomainName.t[@ocaml.doc"The name of the domain that you want to get detailed information about."]}letcontext_="GetDomainDetailRequest"letmake~domainName=fun()->{domainName}letto_valuex=structure_to_value[("DomainName",(Some(DomainName.to_valuex.domainName)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdomainName=DomainName.of_xml(Xml.child_exn~context:context_xml_arg0"DomainName")inmake~domainName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdomainName=field_map_exnjson__"DomainName"DomainName.of_jsoninmake~domainName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The GetDomainDetail request includes the following element."]moduleGetContactReachabilityStatusResponse=structtypenonrect={domainName:DomainName.toption[@ocaml.doc"The domain name for which you requested the reachability status."];status:ReachabilityStatus.toption[@ocaml.doc"Whether the registrant contact has responded. Values include the following: PENDING We sent the confirmation email and haven't received a response yet. DONE We sent the email and got confirmation from the registrant contact. EXPIRED The time limit expired before the registrant contact responded."]}typenonrecerror=[`InvalidInputofInvalidInput.t|`OperationLimitExceededofOperationLimitExceeded.t|`UnsupportedTLDofUnsupportedTLD.t|`Unknown_operation_errorof(string*stringoption)]letmake?domainName=fun?status->fun()->{domainName;status}leterror_of_jsonnamejson=matchnamewith|"InvalidInput"->`InvalidInput(InvalidInput.of_jsonjson)|"OperationLimitExceeded"->`OperationLimitExceeded(OperationLimitExceeded.of_jsonjson)|"UnsupportedTLD"->`UnsupportedTLD(UnsupportedTLD.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InvalidInput"->`InvalidInput(InvalidInput.of_xmlxml)|"OperationLimitExceeded"->`OperationLimitExceeded(OperationLimitExceeded.of_xmlxml)|"UnsupportedTLD"->`UnsupportedTLD(UnsupportedTLD.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InvalidInpute->`Assoc[("error",(`String"InvalidInput"));("details",(InvalidInput.to_jsone))]|`OperationLimitExceedede->`Assoc[("error",(`String"OperationLimitExceeded"));("details",(OperationLimitExceeded.to_jsone))]|`UnsupportedTLDe->`Assoc[("error",(`String"UnsupportedTLD"));("details",(UnsupportedTLD.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("domainName",(Option.mapx.domainName~f:DomainName.to_value));("status",(Option.mapx.status~f:ReachabilityStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstatus=(Option.map~f:ReachabilityStatus.of_xml)(Xml.childxml_arg0"status")inletdomainName=(Option.map~f:DomainName.of_xml)(Xml.childxml_arg0"domainName")inmake?status?domainName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstatus=field_mapjson__"status"ReachabilityStatus.of_jsoninletdomainName=field_mapjson__"domainName"DomainName.of_jsoninmake?status?domainName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"For operations that require confirmation that the email address for the registrant contact is valid, such as registering a new domain, this operation returns information about whether the registrant contact has responded. If you want us to resend the email, use the ResendContactReachabilityEmail operation."]moduleGetContactReachabilityStatusRequest=structtypenonrect={domainName:DomainName.toption[@ocaml.doc"The name of the domain for which you want to know whether the registrant contact has confirmed that the email address is valid."]}letmake?domainName=fun()->{domainName}letto_valuex=structure_to_value[("domainName",(Option.mapx.domainName~f:DomainName.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdomainName=(Option.map~f:DomainName.of_xml)(Xml.childxml_arg0"domainName")inmake?domainName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdomainName=field_mapjson__"domainName"DomainName.of_jsoninmake?domainName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"For operations that require confirmation that the email address for the registrant contact is valid, such as registering a new domain, this operation returns information about whether the registrant contact has responded. If you want us to resend the email, use the ResendContactReachabilityEmail operation."]moduleEnableDomainTransferLockResponse=structtypenonrect={operationId:OperationId.toption[@ocaml.doc"Identifier for tracking the progress of the request. To use this ID to query the operation status, use GetOperationDetail."]}typenonrecerror=[`DuplicateRequestofDuplicateRequest.t|`InvalidInputofInvalidInput.t|`OperationLimitExceededofOperationLimitExceeded.t|`TLDRulesViolationofTLDRulesViolation.t|`UnsupportedTLDofUnsupportedTLD.t|`Unknown_operation_errorof(string*stringoption)]letmake?operationId=fun()->{operationId}leterror_of_jsonnamejson=matchnamewith|"DuplicateRequest"->`DuplicateRequest(DuplicateRequest.of_jsonjson)|"InvalidInput"->`InvalidInput(InvalidInput.of_jsonjson)|"OperationLimitExceeded"->`OperationLimitExceeded(OperationLimitExceeded.of_jsonjson)|"TLDRulesViolation"->`TLDRulesViolation(TLDRulesViolation.of_jsonjson)|"UnsupportedTLD"->`UnsupportedTLD(UnsupportedTLD.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"DuplicateRequest"->`DuplicateRequest(DuplicateRequest.of_xmlxml)|"InvalidInput"->`InvalidInput(InvalidInput.of_xmlxml)|"OperationLimitExceeded"->`OperationLimitExceeded(OperationLimitExceeded.of_xmlxml)|"TLDRulesViolation"->`TLDRulesViolation(TLDRulesViolation.of_xmlxml)|"UnsupportedTLD"->`UnsupportedTLD(UnsupportedTLD.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`DuplicateRequeste->`Assoc[("error",(`String"DuplicateRequest"));("details",(DuplicateRequest.to_jsone))]|`InvalidInpute->`Assoc[("error",(`String"InvalidInput"));("details",(InvalidInput.to_jsone))]|`OperationLimitExceedede->`Assoc[("error",(`String"OperationLimitExceeded"));("details",(OperationLimitExceeded.to_jsone))]|`TLDRulesViolatione->`Assoc[("error",(`String"TLDRulesViolation"));("details",(TLDRulesViolation.to_jsone))]|`UnsupportedTLDe->`Assoc[("error",(`String"UnsupportedTLD"));("details",(UnsupportedTLD.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("OperationId",(Option.mapx.operationId~f:OperationId.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letoperationId=(Option.map~f:OperationId.of_xml)(Xml.childxml_arg0"OperationId")inmake?operationId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letoperationId=field_mapjson__"OperationId"OperationId.of_jsoninmake?operationId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The EnableDomainTransferLock response includes the following elements."]moduleEnableDomainTransferLockRequest=structtypenonrect={domainName:DomainName.t[@ocaml.doc"The name of the domain that you want to set the transfer lock for."]}letcontext_="EnableDomainTransferLockRequest"letmake~domainName=fun()->{domainName}letto_valuex=structure_to_value[("DomainName",(Some(DomainName.to_valuex.domainName)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdomainName=DomainName.of_xml(Xml.child_exn~context:context_xml_arg0"DomainName")inmake~domainName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdomainName=field_map_exnjson__"DomainName"DomainName.of_jsoninmake~domainName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A request to set the transfer lock for the specified domain."]moduleEnableDomainAutoRenewResponse=structtypenonrect=unittypenonrecerror=[`InvalidInputofInvalidInput.t|`TLDRulesViolationofTLDRulesViolation.t|`UnsupportedTLDofUnsupportedTLD.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"InvalidInput"->`InvalidInput(InvalidInput.of_jsonjson)|"TLDRulesViolation"->`TLDRulesViolation(TLDRulesViolation.of_jsonjson)|"UnsupportedTLD"->`UnsupportedTLD(UnsupportedTLD.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InvalidInput"->`InvalidInput(InvalidInput.of_xmlxml)|"TLDRulesViolation"->`TLDRulesViolation(TLDRulesViolation.of_xmlxml)|"UnsupportedTLD"->`UnsupportedTLD(UnsupportedTLD.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InvalidInpute->`Assoc[("error",(`String"InvalidInput"));("details",(InvalidInput.to_jsone))]|`TLDRulesViolatione->`Assoc[("error",(`String"TLDRulesViolation"));("details",(TLDRulesViolation.to_jsone))]|`UnsupportedTLDe->`Assoc[("error",(`String"UnsupportedTLD"));("details",(UnsupportedTLD.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"This operation configures Amazon Route 53 to automatically renew the specified domain before the domain registration expires. The cost of renewing your domain registration is billed to your Amazon Web Services account. The period during which you can renew a domain name varies by TLD. For a list of TLDs and their renewal policies, see Domains That You Can Register with Amazon Route 53 in the Amazon Route 53 Developer Guide. Route 53 requires that you renew before the end of the renewal period so we can complete processing before the deadline."]moduleEnableDomainAutoRenewRequest=structtypenonrect={domainName:DomainName.t[@ocaml.doc"The name of the domain that you want to enable automatic renewal for."]}letcontext_="EnableDomainAutoRenewRequest"letmake~domainName=fun()->{domainName}letto_valuex=structure_to_value[("DomainName",(Some(DomainName.to_valuex.domainName)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdomainName=DomainName.of_xml(Xml.child_exn~context:context_xml_arg0"DomainName")inmake~domainName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdomainName=field_map_exnjson__"DomainName"DomainName.of_jsoninmake~domainName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"This operation configures Amazon Route 53 to automatically renew the specified domain before the domain registration expires. The cost of renewing your domain registration is billed to your Amazon Web Services account. The period during which you can renew a domain name varies by TLD. For a list of TLDs and their renewal policies, see Domains That You Can Register with Amazon Route 53 in the Amazon Route 53 Developer Guide. Route 53 requires that you renew before the end of the renewal period so we can complete processing before the deadline."]moduleDisassociateDelegationSignerFromDomainResponse=structtypenonrect={operationId:OperationId.toption[@ocaml.doc"Identifier for tracking the progress of the request. To query the operation status, use GetOperationDetail."]}typenonrecerror=[`DuplicateRequestofDuplicateRequest.t|`InvalidInputofInvalidInput.t|`OperationLimitExceededofOperationLimitExceeded.t|`TLDRulesViolationofTLDRulesViolation.t|`UnsupportedTLDofUnsupportedTLD.t|`Unknown_operation_errorof(string*stringoption)]letmake?operationId=fun()->{operationId}leterror_of_jsonnamejson=matchnamewith|"DuplicateRequest"->`DuplicateRequest(DuplicateRequest.of_jsonjson)|"InvalidInput"->`InvalidInput(InvalidInput.of_jsonjson)|"OperationLimitExceeded"->`OperationLimitExceeded(OperationLimitExceeded.of_jsonjson)|"TLDRulesViolation"->`TLDRulesViolation(TLDRulesViolation.of_jsonjson)|"UnsupportedTLD"->`UnsupportedTLD(UnsupportedTLD.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"DuplicateRequest"->`DuplicateRequest(DuplicateRequest.of_xmlxml)|"InvalidInput"->`InvalidInput(InvalidInput.of_xmlxml)|"OperationLimitExceeded"->`OperationLimitExceeded(OperationLimitExceeded.of_xmlxml)|"TLDRulesViolation"->`TLDRulesViolation(TLDRulesViolation.of_xmlxml)|"UnsupportedTLD"->`UnsupportedTLD(UnsupportedTLD.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`DuplicateRequeste->`Assoc[("error",(`String"DuplicateRequest"));("details",(DuplicateRequest.to_jsone))]|`InvalidInpute->`Assoc[("error",(`String"InvalidInput"));("details",(InvalidInput.to_jsone))]|`OperationLimitExceedede->`Assoc[("error",(`String"OperationLimitExceeded"));("details",(OperationLimitExceeded.to_jsone))]|`TLDRulesViolatione->`Assoc[("error",(`String"TLDRulesViolation"));("details",(TLDRulesViolation.to_jsone))]|`UnsupportedTLDe->`Assoc[("error",(`String"UnsupportedTLD"));("details",(UnsupportedTLD.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("OperationId",(Option.mapx.operationId~f:OperationId.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letoperationId=(Option.map~f:OperationId.of_xml)(Xml.childxml_arg0"OperationId")inmake?operationId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letoperationId=field_mapjson__"OperationId"OperationId.of_jsoninmake?operationId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes a delegation signer (DS) record in the registry zone for this domain name."]moduleDisassociateDelegationSignerFromDomainRequest=structtypenonrect={domainName:DomainName.t[@ocaml.doc"Name of the domain."];id:String_.t[@ocaml.doc"An internal identification number assigned to each DS record after it\226\128\153s created. You can retrieve it as part of DNSSEC information returned by GetDomainDetail."]}letcontext_="DisassociateDelegationSignerFromDomainRequest"letmake~domainName=fun~id->fun()->{domainName;id}letto_valuex=structure_to_value[("DomainName",(Some(DomainName.to_valuex.domainName)));("Id",(Some(String_.to_valuex.id)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letid=String_.of_xml(Xml.child_exn~context:context_xml_arg0"Id")inletdomainName=DomainName.of_xml(Xml.child_exn~context:context_xml_arg0"DomainName")inmake~id~domainName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letid=field_map_exnjson__"Id"String_.of_jsoninletdomainName=field_map_exnjson__"DomainName"DomainName.of_jsoninmake~id~domainName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes a delegation signer (DS) record in the registry zone for this domain name."]moduleDisableDomainTransferLockResponse=structtypenonrect={operationId:OperationId.toption[@ocaml.doc"Identifier for tracking the progress of the request. To query the operation status, use GetOperationDetail."]}typenonrecerror=[`DuplicateRequestofDuplicateRequest.t|`InvalidInputofInvalidInput.t|`OperationLimitExceededofOperationLimitExceeded.t|`TLDRulesViolationofTLDRulesViolation.t|`UnsupportedTLDofUnsupportedTLD.t|`Unknown_operation_errorof(string*stringoption)]letmake?operationId=fun()->{operationId}leterror_of_jsonnamejson=matchnamewith|"DuplicateRequest"->`DuplicateRequest(DuplicateRequest.of_jsonjson)|"InvalidInput"->`InvalidInput(InvalidInput.of_jsonjson)|"OperationLimitExceeded"->`OperationLimitExceeded(OperationLimitExceeded.of_jsonjson)|"TLDRulesViolation"->`TLDRulesViolation(TLDRulesViolation.of_jsonjson)|"UnsupportedTLD"->`UnsupportedTLD(UnsupportedTLD.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"DuplicateRequest"->`DuplicateRequest(DuplicateRequest.of_xmlxml)|"InvalidInput"->`InvalidInput(InvalidInput.of_xmlxml)|"OperationLimitExceeded"->`OperationLimitExceeded(OperationLimitExceeded.of_xmlxml)|"TLDRulesViolation"->`TLDRulesViolation(TLDRulesViolation.of_xmlxml)|"UnsupportedTLD"->`UnsupportedTLD(UnsupportedTLD.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`DuplicateRequeste->`Assoc[("error",(`String"DuplicateRequest"));("details",(DuplicateRequest.to_jsone))]|`InvalidInpute->`Assoc[("error",(`String"InvalidInput"));("details",(InvalidInput.to_jsone))]|`OperationLimitExceedede->`Assoc[("error",(`String"OperationLimitExceeded"));("details",(OperationLimitExceeded.to_jsone))]|`TLDRulesViolatione->`Assoc[("error",(`String"TLDRulesViolation"));("details",(TLDRulesViolation.to_jsone))]|`UnsupportedTLDe->`Assoc[("error",(`String"UnsupportedTLD"));("details",(UnsupportedTLD.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("OperationId",(Option.mapx.operationId~f:OperationId.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letoperationId=(Option.map~f:OperationId.of_xml)(Xml.childxml_arg0"OperationId")inmake?operationId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letoperationId=field_mapjson__"OperationId"OperationId.of_jsoninmake?operationId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The DisableDomainTransferLock response includes the following element."]moduleDisableDomainTransferLockRequest=structtypenonrect={domainName:DomainName.t[@ocaml.doc"The name of the domain that you want to remove the transfer lock for."]}letcontext_="DisableDomainTransferLockRequest"letmake~domainName=fun()->{domainName}letto_valuex=structure_to_value[("DomainName",(Some(DomainName.to_valuex.domainName)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdomainName=DomainName.of_xml(Xml.child_exn~context:context_xml_arg0"DomainName")inmake~domainName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdomainName=field_map_exnjson__"DomainName"DomainName.of_jsoninmake~domainName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The DisableDomainTransferLock request includes the following element."]moduleDisableDomainAutoRenewResponse=structtypenonrect=unittypenonrecerror=[`InvalidInputofInvalidInput.t|`UnsupportedTLDofUnsupportedTLD.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"InvalidInput"->`InvalidInput(InvalidInput.of_jsonjson)|"UnsupportedTLD"->`UnsupportedTLD(UnsupportedTLD.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InvalidInput"->`InvalidInput(InvalidInput.of_xmlxml)|"UnsupportedTLD"->`UnsupportedTLD(UnsupportedTLD.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InvalidInpute->`Assoc[("error",(`String"InvalidInput"));("details",(InvalidInput.to_jsone))]|`UnsupportedTLDe->`Assoc[("error",(`String"UnsupportedTLD"));("details",(UnsupportedTLD.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"This operation disables automatic renewal of domain registration for the specified domain."]moduleDisableDomainAutoRenewRequest=structtypenonrect={domainName:DomainName.t[@ocaml.doc"The name of the domain that you want to disable automatic renewal for."]}letcontext_="DisableDomainAutoRenewRequest"letmake~domainName=fun()->{domainName}letto_valuex=structure_to_value[("DomainName",(Some(DomainName.to_valuex.domainName)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdomainName=DomainName.of_xml(Xml.child_exn~context:context_xml_arg0"DomainName")inmake~domainName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdomainName=field_map_exnjson__"DomainName"DomainName.of_jsoninmake~domainName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"This operation disables automatic renewal of domain registration for the specified domain."]moduleDeleteTagsForDomainResponse=structtypenonrect=unittypenonrecerror=[`InvalidInputofInvalidInput.t|`OperationLimitExceededofOperationLimitExceeded.t|`UnsupportedTLDofUnsupportedTLD.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"InvalidInput"->`InvalidInput(InvalidInput.of_jsonjson)|"OperationLimitExceeded"->`OperationLimitExceeded(OperationLimitExceeded.of_jsonjson)|"UnsupportedTLD"->`UnsupportedTLD(UnsupportedTLD.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InvalidInput"->`InvalidInput(InvalidInput.of_xmlxml)|"OperationLimitExceeded"->`OperationLimitExceeded(OperationLimitExceeded.of_xmlxml)|"UnsupportedTLD"->`UnsupportedTLD(UnsupportedTLD.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InvalidInpute->`Assoc[("error",(`String"InvalidInput"));("details",(InvalidInput.to_jsone))]|`OperationLimitExceedede->`Assoc[("error",(`String"OperationLimitExceeded"));("details",(OperationLimitExceeded.to_jsone))]|`UnsupportedTLDe->`Assoc[("error",(`String"UnsupportedTLD"));("details",(UnsupportedTLD.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"This operation deletes the specified tags for a domain. All tag operations are eventually consistent; subsequent operations might not immediately represent all issued operations."]moduleDeleteTagsForDomainRequest=structtypenonrect={domainName:DomainName.t[@ocaml.doc"The domain for which you want to delete one or more tags."];tagsToDelete:TagKeyList.t[@ocaml.doc"A list of tag keys to delete."]}letcontext_="DeleteTagsForDomainRequest"letmake~domainName=fun~tagsToDelete->fun()->{domainName;tagsToDelete}letto_valuex=structure_to_value[("DomainName",(Some(DomainName.to_valuex.domainName)));("TagsToDelete",(Some(TagKeyList.to_valuex.tagsToDelete)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettagsToDelete=TagKeyList.of_xml(Xml.child_exn~context:context_xml_arg0"TagsToDelete")inletdomainName=DomainName.of_xml(Xml.child_exn~context:context_xml_arg0"DomainName")inmake~tagsToDelete~domainName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettagsToDelete=field_map_exnjson__"TagsToDelete"TagKeyList.of_jsoninletdomainName=field_map_exnjson__"DomainName"DomainName.of_jsoninmake~tagsToDelete~domainName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The DeleteTagsForDomainRequest includes the following elements."]moduleDeleteDomainResponse=structtypenonrect={operationId:OperationId.toption[@ocaml.doc"Identifier for tracking the progress of the request. To query the operation status, use GetOperationDetail."]}typenonrecerror=[`DuplicateRequestofDuplicateRequest.t|`InvalidInputofInvalidInput.t|`TLDRulesViolationofTLDRulesViolation.t|`UnsupportedTLDofUnsupportedTLD.t|`Unknown_operation_errorof(string*stringoption)]letmake?operationId=fun()->{operationId}leterror_of_jsonnamejson=matchnamewith|"DuplicateRequest"->`DuplicateRequest(DuplicateRequest.of_jsonjson)|"InvalidInput"->`InvalidInput(InvalidInput.of_jsonjson)|"TLDRulesViolation"->`TLDRulesViolation(TLDRulesViolation.of_jsonjson)|"UnsupportedTLD"->`UnsupportedTLD(UnsupportedTLD.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"DuplicateRequest"->`DuplicateRequest(DuplicateRequest.of_xmlxml)|"InvalidInput"->`InvalidInput(InvalidInput.of_xmlxml)|"TLDRulesViolation"->`TLDRulesViolation(TLDRulesViolation.of_xmlxml)|"UnsupportedTLD"->`UnsupportedTLD(UnsupportedTLD.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`DuplicateRequeste->`Assoc[("error",(`String"DuplicateRequest"));("details",(DuplicateRequest.to_jsone))]|`InvalidInpute->`Assoc[("error",(`String"InvalidInput"));("details",(InvalidInput.to_jsone))]|`TLDRulesViolatione->`Assoc[("error",(`String"TLDRulesViolation"));("details",(TLDRulesViolation.to_jsone))]|`UnsupportedTLDe->`Assoc[("error",(`String"UnsupportedTLD"));("details",(UnsupportedTLD.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("OperationId",(Option.mapx.operationId~f:OperationId.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letoperationId=(Option.map~f:OperationId.of_xml)(Xml.childxml_arg0"OperationId")inmake?operationId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letoperationId=field_mapjson__"OperationId"OperationId.of_jsoninmake?operationId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"This operation deletes the specified domain. This action is permanent. For more information, see Deleting a domain name registration. To transfer the domain registration to another registrar, use the transfer process that\226\128\153s provided by the registrar to which you want to transfer the registration. Otherwise, the following apply: You can\226\128\153t get a refund for the cost of a deleted domain registration. The registry for the top-level domain might hold the domain name for a brief time before releasing it for other users to register (varies by registry). When the registration has been deleted, we'll send you a confirmation to the registrant contact. The email will come from noreply\\@domainnameverification.net or noreply\\@emailverification.info or noreply\\@registrar.amazon."]moduleDeleteDomainRequest=structtypenonrect={domainName:DomainName.t[@ocaml.doc"Name of the domain to be deleted."]}letcontext_="DeleteDomainRequest"letmake~domainName=fun()->{domainName}letto_valuex=structure_to_value[("DomainName",(Some(DomainName.to_valuex.domainName)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdomainName=DomainName.of_xml(Xml.child_exn~context:context_xml_arg0"DomainName")inmake~domainName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdomainName=field_map_exnjson__"DomainName"DomainName.of_jsoninmake~domainName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"This operation deletes the specified domain. This action is permanent. For more information, see Deleting a domain name registration. To transfer the domain registration to another registrar, use the transfer process that\226\128\153s provided by the registrar to which you want to transfer the registration. Otherwise, the following apply: You can\226\128\153t get a refund for the cost of a deleted domain registration. The registry for the top-level domain might hold the domain name for a brief time before releasing it for other users to register (varies by registry). When the registration has been deleted, we'll send you a confirmation to the registrant contact. The email will come from noreply\\@domainnameverification.net or noreply\\@emailverification.info or noreply\\@registrar.amazon."]moduleCheckDomainTransferabilityResponse=structtypenonrect={transferability:DomainTransferability.toption[@ocaml.doc"A complex type that contains information about whether the specified domain can be transferred to Route 53."];message:Message.toption[@ocaml.doc"Provides an explanation for when a domain can't be transferred."]}typenonrecerror=[`InvalidInputofInvalidInput.t|`TLDInMaintenanceofTLDInMaintenance.t|`UnsupportedTLDofUnsupportedTLD.t|`Unknown_operation_errorof(string*stringoption)]letmake?transferability=fun?message->fun()->{transferability;message}leterror_of_jsonnamejson=matchnamewith|"InvalidInput"->`InvalidInput(InvalidInput.of_jsonjson)|"TLDInMaintenance"->`TLDInMaintenance(TLDInMaintenance.of_jsonjson)|"UnsupportedTLD"->`UnsupportedTLD(UnsupportedTLD.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InvalidInput"->`InvalidInput(InvalidInput.of_xmlxml)|"TLDInMaintenance"->`TLDInMaintenance(TLDInMaintenance.of_xmlxml)|"UnsupportedTLD"->`UnsupportedTLD(UnsupportedTLD.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InvalidInpute->`Assoc[("error",(`String"InvalidInput"));("details",(InvalidInput.to_jsone))]|`TLDInMaintenancee->`Assoc[("error",(`String"TLDInMaintenance"));("details",(TLDInMaintenance.to_jsone))]|`UnsupportedTLDe->`Assoc[("error",(`String"UnsupportedTLD"));("details",(UnsupportedTLD.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("Transferability",(Option.mapx.transferability~f:DomainTransferability.to_value));("Message",(Option.mapx.message~f:Message.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:Message.of_xml)(Xml.childxml_arg0"Message")inlettransferability=(Option.map~f:DomainTransferability.of_xml)(Xml.childxml_arg0"Transferability")inmake?message?transferability()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"Message"Message.of_jsoninlettransferability=field_mapjson__"Transferability"DomainTransferability.of_jsoninmake?message?transferability()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The CheckDomainTransferability response includes the following elements."]moduleCheckDomainTransferabilityRequest=structtypenonrect={domainName:DomainName.t[@ocaml.doc"The name of the domain that you want to transfer to Route 53. The top-level domain (TLD), such as .com, must be a TLD that Route 53 supports. For a list of supported TLDs, see Domains that You Can Register with Amazon Route 53 in the Amazon Route 53 Developer Guide. The domain name can contain only the following characters: Letters a through z. Domain names are not case sensitive. Numbers 0 through 9. Hyphen (-). You can't specify a hyphen at the beginning or end of a label. Period (.) to separate the labels in the name, such as the . in example.com."];authCode:DomainAuthCode.toption[@ocaml.doc"If the registrar for the top-level domain (TLD) requires an authorization code to transfer the domain, the code that you got from the current registrar for the domain."]}letcontext_="CheckDomainTransferabilityRequest"letmake?authCode=fun~domainName->fun()->{authCode;domainName}letto_valuex=structure_to_value[("DomainName",(Some(DomainName.to_valuex.domainName)));("AuthCode",(Option.mapx.authCode~f:DomainAuthCode.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letauthCode=(Option.map~f:DomainAuthCode.of_xml)(Xml.childxml_arg0"AuthCode")inletdomainName=DomainName.of_xml(Xml.child_exn~context:context_xml_arg0"DomainName")inmake?authCode~domainName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letauthCode=field_mapjson__"AuthCode"DomainAuthCode.of_jsoninletdomainName=field_map_exnjson__"DomainName"DomainName.of_jsoninmake?authCode~domainName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The CheckDomainTransferability request contains the following elements."]moduleCheckDomainAvailabilityResponse=structtypenonrect={availability:DomainAvailability.toption[@ocaml.doc"Whether the domain name is available for registering. You can register only domains designated as AVAILABLE. Valid values: AVAILABLE The domain name is available. AVAILABLE_RESERVED The domain name is reserved under specific conditions. AVAILABLE_PREORDER The domain name is available and can be preordered. DONT_KNOW The TLD registry didn't reply with a definitive answer about whether the domain name is available. Route 53 can return this response for a variety of reasons, for example, the registry is performing maintenance. Try again later. INVALID_NAME_FOR_TLD The TLD isn't valid. For example, it can contain characters that aren't allowed. PENDING The TLD registry didn't return a response in the expected amount of time. When the response is delayed, it usually takes just a few extra seconds. You can resubmit the request immediately. RESERVED The domain name has been reserved for another person or organization. UNAVAILABLE The domain name is not available. UNAVAILABLE_PREMIUM The domain name is not available. UNAVAILABLE_RESTRICTED The domain name is forbidden."]}typenonrecerror=[`InvalidInputofInvalidInput.t|`TLDInMaintenanceofTLDInMaintenance.t|`UnsupportedTLDofUnsupportedTLD.t|`Unknown_operation_errorof(string*stringoption)]letmake?availability=fun()->{availability}leterror_of_jsonnamejson=matchnamewith|"InvalidInput"->`InvalidInput(InvalidInput.of_jsonjson)|"TLDInMaintenance"->`TLDInMaintenance(TLDInMaintenance.of_jsonjson)|"UnsupportedTLD"->`UnsupportedTLD(UnsupportedTLD.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InvalidInput"->`InvalidInput(InvalidInput.of_xmlxml)|"TLDInMaintenance"->`TLDInMaintenance(TLDInMaintenance.of_xmlxml)|"UnsupportedTLD"->`UnsupportedTLD(UnsupportedTLD.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InvalidInpute->`Assoc[("error",(`String"InvalidInput"));("details",(InvalidInput.to_jsone))]|`TLDInMaintenancee->`Assoc[("error",(`String"TLDInMaintenance"));("details",(TLDInMaintenance.to_jsone))]|`UnsupportedTLDe->`Assoc[("error",(`String"UnsupportedTLD"));("details",(UnsupportedTLD.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("Availability",(Option.mapx.availability~f:DomainAvailability.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letavailability=(Option.map~f:DomainAvailability.of_xml)(Xml.childxml_arg0"Availability")inmake?availability()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letavailability=field_mapjson__"Availability"DomainAvailability.of_jsoninmake?availability()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The CheckDomainAvailability response includes the following elements."]moduleCheckDomainAvailabilityRequest=structtypenonrect={domainName:DomainName.t[@ocaml.doc"The name of the domain that you want to get availability for. The top-level domain (TLD), such as .com, must be a TLD that Route 53 supports. For a list of supported TLDs, see Domains that You Can Register with Amazon Route 53 in the Amazon Route 53 Developer Guide. The domain name can contain only the following characters: Letters a through z. Domain names are not case sensitive. Numbers 0 through 9. Hyphen (-). You can't specify a hyphen at the beginning or end of a label. Period (.) to separate the labels in the name, such as the . in example.com. Internationalized domain names are not supported for some top-level domains. To determine whether the TLD that you want to use supports internationalized domain names, see Domains that You Can Register with Amazon Route 53. For more information, see Formatting Internationalized Domain Names."];idnLangCode:LangCode.toption[@ocaml.doc"Reserved for future use."]}letcontext_="CheckDomainAvailabilityRequest"letmake?idnLangCode=fun~domainName->fun()->{idnLangCode;domainName}letto_valuex=structure_to_value[("DomainName",(Some(DomainName.to_valuex.domainName)));("IdnLangCode",(Option.mapx.idnLangCode~f:LangCode.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letidnLangCode=(Option.map~f:LangCode.of_xml)(Xml.childxml_arg0"IdnLangCode")inletdomainName=DomainName.of_xml(Xml.child_exn~context:context_xml_arg0"DomainName")inmake?idnLangCode~domainName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letidnLangCode=field_mapjson__"IdnLangCode"LangCode.of_jsoninletdomainName=field_map_exnjson__"DomainName"DomainName.of_jsoninmake?idnLangCode~domainName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The CheckDomainAvailability request contains the following elements."]moduleCancelDomainTransferToAnotherAwsAccountResponse=structtypenonrect={operationId:OperationId.toption[@ocaml.doc"The identifier that TransferDomainToAnotherAwsAccount returned to track the progress of the request. Because the transfer request was canceled, the value is no longer valid, and you can't use GetOperationDetail to query the operation status."]}typenonrecerror=[`InvalidInputofInvalidInput.t|`OperationLimitExceededofOperationLimitExceeded.t|`UnsupportedTLDofUnsupportedTLD.t|`Unknown_operation_errorof(string*stringoption)]letmake?operationId=fun()->{operationId}leterror_of_jsonnamejson=matchnamewith|"InvalidInput"->`InvalidInput(InvalidInput.of_jsonjson)|"OperationLimitExceeded"->`OperationLimitExceeded(OperationLimitExceeded.of_jsonjson)|"UnsupportedTLD"->`UnsupportedTLD(UnsupportedTLD.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InvalidInput"->`InvalidInput(InvalidInput.of_xmlxml)|"OperationLimitExceeded"->`OperationLimitExceeded(OperationLimitExceeded.of_xmlxml)|"UnsupportedTLD"->`UnsupportedTLD(UnsupportedTLD.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InvalidInpute->`Assoc[("error",(`String"InvalidInput"));("details",(InvalidInput.to_jsone))]|`OperationLimitExceedede->`Assoc[("error",(`String"OperationLimitExceeded"));("details",(OperationLimitExceeded.to_jsone))]|`UnsupportedTLDe->`Assoc[("error",(`String"UnsupportedTLD"));("details",(UnsupportedTLD.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("OperationId",(Option.mapx.operationId~f:OperationId.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letoperationId=(Option.map~f:OperationId.of_xml)(Xml.childxml_arg0"OperationId")inmake?operationId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letoperationId=field_mapjson__"OperationId"OperationId.of_jsoninmake?operationId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The CancelDomainTransferToAnotherAwsAccount response includes the following element."]moduleCancelDomainTransferToAnotherAwsAccountRequest=structtypenonrect={domainName:DomainName.t[@ocaml.doc"The name of the domain for which you want to cancel the transfer to another Amazon Web Services account."]}letcontext_="CancelDomainTransferToAnotherAwsAccountRequest"letmake~domainName=fun()->{domainName}letto_valuex=structure_to_value[("DomainName",(Some(DomainName.to_valuex.domainName)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdomainName=DomainName.of_xml(Xml.child_exn~context:context_xml_arg0"DomainName")inmake~domainName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdomainName=field_map_exnjson__"DomainName"DomainName.of_jsoninmake~domainName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The CancelDomainTransferToAnotherAwsAccount request includes the following element."]moduleAssociateDelegationSignerToDomainResponse=structtypenonrect={operationId:OperationId.toption[@ocaml.doc"The identifier for tracking the progress of the request. To query the operation status, use GetOperationDetail."]}typenonrecerror=[`DnssecLimitExceededofDnssecLimitExceeded.t|`DuplicateRequestofDuplicateRequest.t|`InvalidInputofInvalidInput.t|`OperationLimitExceededofOperationLimitExceeded.t|`TLDRulesViolationofTLDRulesViolation.t|`UnsupportedTLDofUnsupportedTLD.t|`Unknown_operation_errorof(string*stringoption)]letmake?operationId=fun()->{operationId}leterror_of_jsonnamejson=matchnamewith|"DnssecLimitExceeded"->`DnssecLimitExceeded(DnssecLimitExceeded.of_jsonjson)|"DuplicateRequest"->`DuplicateRequest(DuplicateRequest.of_jsonjson)|"InvalidInput"->`InvalidInput(InvalidInput.of_jsonjson)|"OperationLimitExceeded"->`OperationLimitExceeded(OperationLimitExceeded.of_jsonjson)|"TLDRulesViolation"->`TLDRulesViolation(TLDRulesViolation.of_jsonjson)|"UnsupportedTLD"->`UnsupportedTLD(UnsupportedTLD.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"DnssecLimitExceeded"->`DnssecLimitExceeded(DnssecLimitExceeded.of_xmlxml)|"DuplicateRequest"->`DuplicateRequest(DuplicateRequest.of_xmlxml)|"InvalidInput"->`InvalidInput(InvalidInput.of_xmlxml)|"OperationLimitExceeded"->`OperationLimitExceeded(OperationLimitExceeded.of_xmlxml)|"TLDRulesViolation"->`TLDRulesViolation(TLDRulesViolation.of_xmlxml)|"UnsupportedTLD"->`UnsupportedTLD(UnsupportedTLD.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`DnssecLimitExceedede->`Assoc[("error",(`String"DnssecLimitExceeded"));("details",(DnssecLimitExceeded.to_jsone))]|`DuplicateRequeste->`Assoc[("error",(`String"DuplicateRequest"));("details",(DuplicateRequest.to_jsone))]|`InvalidInpute->`Assoc[("error",(`String"InvalidInput"));("details",(InvalidInput.to_jsone))]|`OperationLimitExceedede->`Assoc[("error",(`String"OperationLimitExceeded"));("details",(OperationLimitExceeded.to_jsone))]|`TLDRulesViolatione->`Assoc[("error",(`String"TLDRulesViolation"));("details",(TLDRulesViolation.to_jsone))]|`UnsupportedTLDe->`Assoc[("error",(`String"UnsupportedTLD"));("details",(UnsupportedTLD.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("OperationId",(Option.mapx.operationId~f:OperationId.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letoperationId=(Option.map~f:OperationId.of_xml)(Xml.childxml_arg0"OperationId")inmake?operationId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letoperationId=field_mapjson__"OperationId"OperationId.of_jsoninmake?operationId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a delegation signer (DS) record in the registry zone for this domain name. Note that creating DS record at the registry impacts DNSSEC validation of your DNS records. This action may render your domain name unavailable on the internet if the steps are completed in the wrong order, or with incorrect timing. For more information about DNSSEC signing, see Configuring DNSSEC signing in the Route\194\16053 developer guide."]moduleAssociateDelegationSignerToDomainRequest=structtypenonrect={domainName:DomainName.t[@ocaml.doc"The name of the domain."];signingAttributes:DnssecSigningAttributes.t[@ocaml.doc"The information about a key, including the algorithm, public key-value, and flags."]}letcontext_="AssociateDelegationSignerToDomainRequest"letmake~domainName=fun~signingAttributes->fun()->{domainName;signingAttributes}letto_valuex=structure_to_value[("DomainName",(Some(DomainName.to_valuex.domainName)));("SigningAttributes",(Some(DnssecSigningAttributes.to_valuex.signingAttributes)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letsigningAttributes=DnssecSigningAttributes.of_xml(Xml.child_exn~context:context_xml_arg0"SigningAttributes")inletdomainName=DomainName.of_xml(Xml.child_exn~context:context_xml_arg0"DomainName")inmake~signingAttributes~domainName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letsigningAttributes=field_map_exnjson__"SigningAttributes"DnssecSigningAttributes.of_jsoninletdomainName=field_map_exnjson__"DomainName"DomainName.of_jsoninmake~signingAttributes~domainName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a delegation signer (DS) record in the registry zone for this domain name. Note that creating DS record at the registry impacts DNSSEC validation of your DNS records. This action may render your domain name unavailable on the internet if the steps are completed in the wrong order, or with incorrect timing. For more information about DNSSEC signing, see Configuring DNSSEC signing in the Route\194\16053 developer guide."]moduleAcceptDomainTransferFromAnotherAwsAccountResponse=structtypenonrect={operationId:OperationId.toption[@ocaml.doc"Identifier for tracking the progress of the request. To query the operation status, use GetOperationDetail."]}typenonrecerror=[`DomainLimitExceededofDomainLimitExceeded.t|`InvalidInputofInvalidInput.t|`OperationLimitExceededofOperationLimitExceeded.t|`UnsupportedTLDofUnsupportedTLD.t|`Unknown_operation_errorof(string*stringoption)]letmake?operationId=fun()->{operationId}leterror_of_jsonnamejson=matchnamewith|"DomainLimitExceeded"->`DomainLimitExceeded(DomainLimitExceeded.of_jsonjson)|"InvalidInput"->`InvalidInput(InvalidInput.of_jsonjson)|"OperationLimitExceeded"->`OperationLimitExceeded(OperationLimitExceeded.of_jsonjson)|"UnsupportedTLD"->`UnsupportedTLD(UnsupportedTLD.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"DomainLimitExceeded"->`DomainLimitExceeded(DomainLimitExceeded.of_xmlxml)|"InvalidInput"->`InvalidInput(InvalidInput.of_xmlxml)|"OperationLimitExceeded"->`OperationLimitExceeded(OperationLimitExceeded.of_xmlxml)|"UnsupportedTLD"->`UnsupportedTLD(UnsupportedTLD.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`DomainLimitExceedede->`Assoc[("error",(`String"DomainLimitExceeded"));("details",(DomainLimitExceeded.to_jsone))]|`InvalidInpute->`Assoc[("error",(`String"InvalidInput"));("details",(InvalidInput.to_jsone))]|`OperationLimitExceedede->`Assoc[("error",(`String"OperationLimitExceeded"));("details",(OperationLimitExceeded.to_jsone))]|`UnsupportedTLDe->`Assoc[("error",(`String"UnsupportedTLD"));("details",(UnsupportedTLD.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("OperationId",(Option.mapx.operationId~f:OperationId.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letoperationId=(Option.map~f:OperationId.of_xml)(Xml.childxml_arg0"OperationId")inmake?operationId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letoperationId=field_mapjson__"OperationId"OperationId.of_jsoninmake?operationId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The AcceptDomainTransferFromAnotherAwsAccount response includes the following element."]moduleAcceptDomainTransferFromAnotherAwsAccountRequest=structtypenonrect={domainName:DomainName.t[@ocaml.doc"The name of the domain that was specified when another Amazon Web Services account submitted a TransferDomainToAnotherAwsAccount request."];password:Password.t[@ocaml.doc"The password that was returned by the TransferDomainToAnotherAwsAccount request."]}letcontext_="AcceptDomainTransferFromAnotherAwsAccountRequest"letmake~domainName=fun~password->fun()->{domainName;password}letto_valuex=structure_to_value[("DomainName",(Some(DomainName.to_valuex.domainName)));("Password",(Some(Password.to_valuex.password)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letpassword=Password.of_xml(Xml.child_exn~context:context_xml_arg0"Password")inletdomainName=DomainName.of_xml(Xml.child_exn~context:context_xml_arg0"DomainName")inmake~password~domainName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letpassword=field_map_exnjson__"Password"Password.of_jsoninletdomainName=field_map_exnjson__"DomainName"DomainName.of_jsoninmake~password~domainName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The AcceptDomainTransferFromAnotherAwsAccount request includes the following elements."]