12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777(* 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.s3tablesletapiVersion="2018-05-10"letendpointPrefix="s3tables"letserviceFullName="Amazon S3 Tables"letsignatureVersion="v4"letprotocol="rest_json"letglobalEndpoint=endpointPrefix^".amazonaws.com"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[]))])moduleTableBucketARN=structtypenonrect=stringletcontext_="TableBucketARN"letmakei=letopenResultinok_or_failwith(check_patterni~pattern:"(arn:aws[-a-z0-9]*:[a-z0-9]+:[-a-z0-9]*:[0-9]{12}:bucket/[a-z0-9_-]{3,63})");iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"TableBucketARN"jletto_json=simple_to_jsonto_valueendmoduleInteger=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_valueendmoduleString_=structtypenonrect=stringletcontext_="String"letmakei=iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"String"jletto_json=simple_to_jsonto_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_valueendmoduleDocument=structtypenonrect=unitletmake()=()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_valuevendmoduleIcebergNullOrder=structtypenonrect=|Nulls_first|Nulls_last|Non_static_idofstringletmakei=iletto_string=function|Nulls_first->"nulls-first"|Nulls_last->"nulls-last"|Non_static_ids->sletof_string=function|"nulls-first"->Nulls_first|"nulls-last"->Nulls_last|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 IcebergNullOrder"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"IcebergNullOrder"j)letto_json=simple_to_jsonto_valueendmoduleIcebergSortDirection=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 IcebergSortDirection"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"IcebergSortDirection"j)letto_json=simple_to_jsonto_valueendmoduleReplicationDestination=structtypenonrect={destinationTableBucketARN:TableBucketARN.t[@ocaml.doc"The Amazon Resource Name (ARN) of the destination table bucket where tables will be replicated."]}letcontext_="ReplicationDestination"letmake~destinationTableBucketARN=fun()->{destinationTableBucketARN}letto_valuex=structure_to_value[("destinationTableBucketARN",(Some(TableBucketARN.to_valuex.destinationTableBucketARN)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdestinationTableBucketARN=TableBucketARN.of_xml(Xml.child_exn~context:context_xml_arg0"destinationTableBucketARN")inmake~destinationTableBucketARN()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdestinationTableBucketARN=field_map_exnjson__"destinationTableBucketARN"TableBucketARN.of_jsoninmake~destinationTableBucketARN()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Specifies a destination table bucket for replication."]moduleIcebergCompactionStrategy=structtypenonrect=|Auto|Binpack|Sort|Z_order|Non_static_idofstringletmakei=iletto_string=function|Auto->"auto"|Binpack->"binpack"|Sort->"sort"|Z_order->"z-order"|Non_static_ids->sletof_string=function|"auto"->Auto|"binpack"->Binpack|"sort"->Sort|"z-order"->Z_order|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 IcebergCompactionStrategy"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"IcebergCompactionStrategy"j)letto_json=simple_to_jsonto_valueendmodulePositiveInteger=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:2147483647)>>=(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 PositiveInteger"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleIcebergPartitionField=structtypenonrect={sourceId:Integer.t[@ocaml.doc"The ID of the source schema field to partition by. This must reference a valid field ID from the table schema."];transform:String_.t[@ocaml.doc"The partition transform to apply to the source field. Supported transforms include identity, year, month, day, hour, bucket, and truncate. For more information, see the Apache Iceberg partition transforms documentation."];name:String_.t[@ocaml.doc"The name for this partition field. This name is used in the partitioned file paths."];fieldId:Integer.toption[@ocaml.doc"An optional unique identifier for this partition field. If not specified, S3 Tables automatically assigns a field ID."]}letcontext_="IcebergPartitionField"letmake?fieldId=fun~sourceId->fun~transform->fun~name->fun()->{fieldId;sourceId;transform;name}letto_valuex=structure_to_value[("source-id",(Some(Integer.to_valuex.sourceId)));("transform",(Some(String_.to_valuex.transform)));("name",(Some(String_.to_valuex.name)));("field-id",(Option.mapx.fieldId~f:Integer.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letfieldId=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"field-id")inletname=String_.of_xml(Xml.child_exn~context:context_xml_arg0"name")inlettransform=String_.of_xml(Xml.child_exn~context:context_xml_arg0"transform")inletsourceId=Integer.of_xml(Xml.child_exn~context:context_xml_arg0"source-id")inmake?fieldId~name~transform~sourceId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letfieldId=field_mapjson__"fieldId"Integer.of_jsoninletname=field_map_exnjson__"name"String_.of_jsoninlettransform=field_map_exnjson__"transform"String_.of_jsoninletsourceId=field_map_exnjson__"sourceId"Integer.of_jsoninmake?fieldId~name~transform~sourceId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Defines a single partition field in an Iceberg partition specification."]moduleSchemaField=structtypenonrect={id:Integer.toption[@ocaml.doc"An optional unique identifier for the schema field. Field IDs are used by Apache Iceberg to track schema evolution and maintain compatibility across schema changes. If not specified, S3 Tables automatically assigns field IDs."];name:String_.t[@ocaml.doc"The name of the field."];type_:String_.t[@ocaml.doc"The field type. S3 Tables supports all Apache Iceberg primitive types. For more information, see the Apache Iceberg documentation."];required:Boolean.toption[@ocaml.doc"A Boolean value that specifies whether values are required for each row in this field. By default, this is false and null values are allowed in the field. If this is true the field does not allow null values."]}letcontext_="SchemaField"letmake?id=fun?required->fun~name->fun~type_->fun()->{id;required;name;type_}letto_valuex=structure_to_value[("id",(Option.mapx.id~f:Integer.to_value));("name",(Some(String_.to_valuex.name)));("type",(Some(String_.to_valuex.type_)));("required",(Option.mapx.required~f:Boolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letrequired=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"required")inlettype_=String_.of_xml(Xml.child_exn~context:context_xml_arg0"type")inletname=String_.of_xml(Xml.child_exn~context:context_xml_arg0"name")inletid=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"id")inmake?required~type_~name?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letrequired=field_mapjson__"required"Boolean.of_jsoninlettype_=field_map_exnjson__"type"String_.of_jsoninletname=field_map_exnjson__"name"String_.of_jsoninletid=field_mapjson__"id"Integer.of_jsoninmake?required~type_~name?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Contains details about a schema field."]moduleSchemaV2Field=structtypenonrect={id:Integer.t[@ocaml.doc"The unique identifier for the schema field. Field IDs are used by Apache Iceberg to track schema evolution and maintain compatibility across schema changes."];name:String_.t[@ocaml.doc"The name of the field."];type_:Document.t[@ocaml.doc"The data type of the field. This can be a primitive type string such as boolean, int, long, float, double, string, binary, date, timestamp, or timestamptz, or a complex type represented as a JSON object for nested types such as struct, list, or map. For more information, see the Apache Iceberg schemas and data types documentation."];required:Boolean.t[@ocaml.doc"A Boolean value that specifies whether values are required for each row in this field. If this is true, the field does not allow null values."];doc:String_.toption[@ocaml.doc"An optional description of the field."]}letcontext_="SchemaV2Field"letmake?doc=fun~id->fun~name->fun~type_->fun~required->fun()->{doc;id;name;type_;required}letto_valuex=structure_to_value[("id",(Some(Integer.to_valuex.id)));("name",(Some(String_.to_valuex.name)));("type",(Some(Document.to_valuex.type_)));("required",(Some(Boolean.to_valuex.required)));("doc",(Option.mapx.doc~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdoc=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"doc")inletrequired=Boolean.of_xml(Xml.child_exn~context:context_xml_arg0"required")inlettype_=Document.of_xml(Xml.child_exn~context:context_xml_arg0"type")inletname=String_.of_xml(Xml.child_exn~context:context_xml_arg0"name")inletid=Integer.of_xml(Xml.child_exn~context:context_xml_arg0"id")inmake?doc~required~type_~name~id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdoc=field_mapjson__"doc"String_.of_jsoninletrequired=field_map_exnjson__"required"Boolean.of_jsoninlettype_=field_map_exnjson__"type"Document.of_jsoninletname=field_map_exnjson__"name"String_.of_jsoninletid=field_map_exnjson__"id"Integer.of_jsoninmake?doc~required~type_~name~id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Contains details about a schema field in the V2 format. This field format supports nested and complex data types such as struct, list, and map, in addition to primitive types."]moduleIcebergSortField=structtypenonrect={sourceId:Integer.t[@ocaml.doc"The ID of the source schema field to sort by. This must reference a valid field ID from the table schema."];transform:String_.t[@ocaml.doc"The transform to apply to the source field before sorting. Use identity to sort by the field value directly, or specify other transforms as needed."];direction:IcebergSortDirection.t[@ocaml.doc"The sort direction. Valid values are asc for ascending order or desc for descending order."];nullOrder:IcebergNullOrder.t[@ocaml.doc"Specifies how null values are ordered. Valid values are nulls-first to place nulls before non-null values, or nulls-last to place nulls after non-null values."]}letcontext_="IcebergSortField"letmake~sourceId=fun~transform->fun~direction->fun~nullOrder->fun()->{sourceId;transform;direction;nullOrder}letto_valuex=structure_to_value[("source-id",(Some(Integer.to_valuex.sourceId)));("transform",(Some(String_.to_valuex.transform)));("direction",(Some(IcebergSortDirection.to_valuex.direction)));("null-order",(Some(IcebergNullOrder.to_valuex.nullOrder)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnullOrder=IcebergNullOrder.of_xml(Xml.child_exn~context:context_xml_arg0"null-order")inletdirection=IcebergSortDirection.of_xml(Xml.child_exn~context:context_xml_arg0"direction")inlettransform=String_.of_xml(Xml.child_exn~context:context_xml_arg0"transform")inletsourceId=Integer.of_xml(Xml.child_exn~context:context_xml_arg0"source-id")inmake~nullOrder~direction~transform~sourceId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnullOrder=field_map_exnjson__"nullOrder"IcebergNullOrder.of_jsoninletdirection=field_map_exnjson__"direction"IcebergSortDirection.of_jsoninlettransform=field_map_exnjson__"transform"String_.of_jsoninletsourceId=field_map_exnjson__"sourceId"Integer.of_jsoninmake~nullOrder~direction~transform~sourceId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Defines a single sort field in an Iceberg sort order specification."]moduleReplicationDestinations=structtypenonrect=ReplicationDestination.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:5)>>=(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:ReplicationDestination.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:ReplicationDestination.of_xml)letof_jsonj=list_of_json~kind:"ReplicationDestinations"~of_json:ReplicationDestination.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleNamespaceName=structtypenonrect=stringletcontext_="NamespaceName"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:255)>>=(fun()->check_patterni~pattern:"[0-9a-z_]*")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"NamespaceName"jletto_json=simple_to_jsonto_valueendmoduleMetadataLocation=structtypenonrect=stringletcontext_="MetadataLocation"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:2048)>>=(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:"MetadataLocation"jletto_json=simple_to_jsonto_valueendmoduleSyntheticTimestamp_date_time=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_valueendmoduleIcebergCompactionSettings=structtypenonrect={targetFileSizeMB:PositiveInteger.toption[@ocaml.doc"The target file size for the table in MB."];strategy:IcebergCompactionStrategy.toption[@ocaml.doc"The compaction strategy to use for the table. This determines how files are selected and combined during compaction operations."]}letmake?targetFileSizeMB=fun?strategy->fun()->{targetFileSizeMB;strategy}letto_valuex=structure_to_value[("targetFileSizeMB",(Option.mapx.targetFileSizeMB~f:PositiveInteger.to_value));("strategy",(Option.mapx.strategy~f:IcebergCompactionStrategy.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstrategy=(Option.map~f:IcebergCompactionStrategy.of_xml)(Xml.childxml_arg0"strategy")inlettargetFileSizeMB=(Option.map~f:PositiveInteger.of_xml)(Xml.childxml_arg0"targetFileSizeMB")inmake?strategy?targetFileSizeMB()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstrategy=field_mapjson__"strategy"IcebergCompactionStrategy.of_jsoninlettargetFileSizeMB=field_mapjson__"targetFileSizeMB"PositiveInteger.of_jsoninmake?strategy?targetFileSizeMB()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Contains details about the compaction settings for an Iceberg table."]moduleIcebergSnapshotManagementSettings=structtypenonrect={minSnapshotsToKeep:PositiveInteger.toption[@ocaml.doc"The minimum number of snapshots to keep."];maxSnapshotAgeHours:PositiveInteger.toption[@ocaml.doc"The maximum age of a snapshot before it can be expired."]}letmake?minSnapshotsToKeep=fun?maxSnapshotAgeHours->fun()->{minSnapshotsToKeep;maxSnapshotAgeHours}letto_valuex=structure_to_value[("minSnapshotsToKeep",(Option.mapx.minSnapshotsToKeep~f:PositiveInteger.to_value));("maxSnapshotAgeHours",(Option.mapx.maxSnapshotAgeHours~f:PositiveInteger.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxSnapshotAgeHours=(Option.map~f:PositiveInteger.of_xml)(Xml.childxml_arg0"maxSnapshotAgeHours")inletminSnapshotsToKeep=(Option.map~f:PositiveInteger.of_xml)(Xml.childxml_arg0"minSnapshotsToKeep")inmake?maxSnapshotAgeHours?minSnapshotsToKeep()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxSnapshotAgeHours=field_mapjson__"maxSnapshotAgeHours"PositiveInteger.of_jsoninletminSnapshotsToKeep=field_mapjson__"minSnapshotsToKeep"PositiveInteger.of_jsoninmake?maxSnapshotAgeHours?minSnapshotsToKeep()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Contains details about the snapshot management settings for an Iceberg table. The oldest snapshot expires when its age exceeds the maxSnapshotAgeHours and the total number of snapshots exceeds the value for the minimum number of snapshots to keep minSnapshotsToKeep."]moduleIcebergUnreferencedFileRemovalSettings=structtypenonrect={unreferencedDays:PositiveInteger.toption[@ocaml.doc"The number of days an object has to be unreferenced before it is marked as non-current."];nonCurrentDays:PositiveInteger.toption[@ocaml.doc"The number of days an object has to be non-current before it is deleted."]}letmake?unreferencedDays=fun?nonCurrentDays->fun()->{unreferencedDays;nonCurrentDays}letto_valuex=structure_to_value[("unreferencedDays",(Option.mapx.unreferencedDays~f:PositiveInteger.to_value));("nonCurrentDays",(Option.mapx.nonCurrentDays~f:PositiveInteger.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnonCurrentDays=(Option.map~f:PositiveInteger.of_xml)(Xml.childxml_arg0"nonCurrentDays")inletunreferencedDays=(Option.map~f:PositiveInteger.of_xml)(Xml.childxml_arg0"unreferencedDays")inmake?nonCurrentDays?unreferencedDays()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnonCurrentDays=field_mapjson__"nonCurrentDays"PositiveInteger.of_jsoninletunreferencedDays=field_mapjson__"unreferencedDays"PositiveInteger.of_jsoninmake?nonCurrentDays?unreferencedDays()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Contains details about the unreferenced file removal settings for an Iceberg table bucket."]moduleIcebergPartitionFieldList=structtypenonrect=IcebergPartitionField.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:IcebergPartitionField.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:IcebergPartitionField.of_xml)letof_jsonj=list_of_json~kind:"IcebergPartitionFieldList"~of_json:IcebergPartitionField.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleSchemaFieldList=structtypenonrect=SchemaField.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:SchemaField.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:SchemaField.of_xml)letof_jsonj=list_of_json~kind:"SchemaFieldList"~of_json:SchemaField.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleIntegerList=structtypenonrect=Integer.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:Integer.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:Integer.of_xml)letof_jsonj=list_of_json~kind:"IntegerList"~of_json:Integer.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleSchemaV2FieldList=structtypenonrect=SchemaV2Field.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:SchemaV2Field.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:SchemaV2Field.of_xml)letof_jsonj=list_of_json~kind:"SchemaV2FieldList"~of_json:SchemaV2Field.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleSchemaV2FieldType=structtypenonrect=|Struct|Non_static_idofstringletmakei=iletto_string=function|Struct->"struct"|Non_static_ids->sletof_string=function|"struct"->Struct|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 SchemaV2FieldType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"SchemaV2FieldType"j)letto_json=simple_to_jsonto_valueendmoduleIcebergSortFieldList=structtypenonrect=IcebergSortField.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:IcebergSortField.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:IcebergSortField.of_xml)letof_jsonj=list_of_json~kind:"IcebergSortFieldList"~of_json:IcebergSortField.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleTableReplicationRule=structtypenonrect={destinations:ReplicationDestinations.t[@ocaml.doc"An array of destination table buckets where this table should be replicated."]}letcontext_="TableReplicationRule"letmake~destinations=fun()->{destinations}letto_valuex=structure_to_value[("destinations",(Some(ReplicationDestinations.to_valuex.destinations)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdestinations=ReplicationDestinations.of_xml(Xml.child_exn~context:context_xml_arg0"destinations")inmake~destinations()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdestinations=field_map_exnjson__"destinations"ReplicationDestinations.of_jsoninmake~destinations()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Defines a rule for replicating a table to one or more destination tables."]moduleTableBucketReplicationRule=structtypenonrect={destinations:ReplicationDestinations.t[@ocaml.doc"An array of destination table buckets where tables should be replicated."]}letcontext_="TableBucketReplicationRule"letmake~destinations=fun()->{destinations}letto_valuex=structure_to_value[("destinations",(Some(ReplicationDestinations.to_valuex.destinations)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdestinations=ReplicationDestinations.of_xml(Xml.child_exn~context:context_xml_arg0"destinations")inmake~destinations()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdestinations=field_map_exnjson__"destinations"ReplicationDestinations.of_jsoninmake~destinations()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Defines a rule for replicating tables from a source table bucket to one or more destination table buckets."]moduleNamespaceId=structtypenonrect=stringletcontext_="NamespaceId"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:"NamespaceId"jletto_json=simple_to_jsonto_valueendmoduleNamespaceList=structtypenonrect=NamespaceName.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:NamespaceName.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:NamespaceName.of_xml)letof_jsonj=list_of_json~kind:"NamespaceList"~of_json:NamespaceName.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleTableARN=structtypenonrect=stringletcontext_="TableARN"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:"(arn:aws[-a-z0-9]*:[a-z0-9]+:[-a-z0-9]*:[0-9]{12}:bucket/[a-z0-9_-]{3,63}/table/[a-zA-Z0-9-_]{1,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:"TableARN"jletto_json=simple_to_jsonto_valueendmoduleTableBucketId=structtypenonrect=stringletcontext_="TableBucketId"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:"TableBucketId"jletto_json=simple_to_jsonto_valueendmoduleTableName=structtypenonrect=stringletcontext_="TableName"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:255)>>=(fun()->check_patterni~pattern:"[0-9a-z_]*")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"TableName"jletto_json=simple_to_jsonto_valueendmoduleTableType=structtypenonrect=|Customer|Aws|Non_static_idofstringletmakei=iletto_string=function|Customer->"customer"|Aws->"aws"|Non_static_ids->sletof_string=function|"customer"->Customer|"aws"->Aws|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 TableType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"TableType"j)letto_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:"[0-9].*")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"AccountId"jletto_json=simple_to_jsonto_valueendmoduleTableBucketName=structtypenonrect=stringletcontext_="TableBucketName"letmakei=letopenResultinok_or_failwith((check_string_mini~min:3)>>=(fun()->(check_string_maxi~max:63)>>=(fun()->check_patterni~pattern:"[0-9a-z-]*")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"TableBucketName"jletto_json=simple_to_jsonto_valueendmoduleTableBucketType=structtypenonrect=|Customer|Aws|Non_static_idofstringletmakei=iletto_string=function|Customer->"customer"|Aws->"aws"|Non_static_ids->sletof_string=function|"customer"->Customer|"aws"->Aws|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 TableBucketType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"TableBucketType"j)letto_json=simple_to_jsonto_valueendmoduleLastSuccessfulReplicatedUpdate=structtypenonrect={metadataLocation:MetadataLocation.toption[@ocaml.doc"The S3 location of the metadata that was successfully replicated."];timestamp:SyntheticTimestamp_date_time.toption[@ocaml.doc"The timestamp when the replication update completed successfully."]}letmake?metadataLocation=fun?timestamp->fun()->{metadataLocation;timestamp}letto_valuex=structure_to_value[("metadataLocation",(Option.mapx.metadataLocation~f:MetadataLocation.to_value));("timestamp",(Option.mapx.timestamp~f:SyntheticTimestamp_date_time.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettimestamp=(Option.map~f:SyntheticTimestamp_date_time.of_xml)(Xml.childxml_arg0"timestamp")inletmetadataLocation=(Option.map~f:MetadataLocation.of_xml)(Xml.childxml_arg0"metadataLocation")inmake?timestamp?metadataLocation()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettimestamp=field_mapjson__"timestamp"SyntheticTimestamp_date_time.of_jsoninletmetadataLocation=field_mapjson__"metadataLocation"MetadataLocation.of_jsoninmake?timestamp?metadataLocation()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Contains information about the most recent successful replication update to a destination."]moduleReplicationStatus=structtypenonrect=|Pending|Completed|Failed|Non_static_idofstringletmakei=iletto_string=function|Pending->"pending"|Completed->"completed"|Failed->"failed"|Non_static_ids->sletof_string=function|"pending"->Pending|"completed"->Completed|"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 ReplicationStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ReplicationStatus"j)letto_json=simple_to_jsonto_valueendmoduleJobStatus=structtypenonrect=|Not_Yet_Run|Successful|Failed|Disabled|Non_static_idofstringletmakei=iletto_string=function|Not_Yet_Run->"Not_Yet_Run"|Successful->"Successful"|Failed->"Failed"|Disabled->"Disabled"|Non_static_ids->sletof_string=function|"Not_Yet_Run"->Not_Yet_Run|"Successful"->Successful|"Failed"->Failed|"Disabled"->Disabled|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 JobStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"JobStatus"j)letto_json=simple_to_jsonto_valueendmoduleMaintenanceStatus=structtypenonrect=|Enabled|Disabled|Non_static_idofstringletmakei=iletto_string=function|Enabled->"enabled"|Disabled->"disabled"|Non_static_ids->sletof_string=function|"enabled"->Enabled|"disabled"->Disabled|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 MaintenanceStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"MaintenanceStatus"j)letto_json=simple_to_jsonto_valueendmoduleTableMaintenanceSettings=structtypenonrect={icebergCompaction:IcebergCompactionSettings.toption[@ocaml.doc"Contains details about the Iceberg compaction settings for the table."];icebergSnapshotManagement:IcebergSnapshotManagementSettings.toption[@ocaml.doc"Contains details about the Iceberg snapshot management settings for the table."]}letmake?icebergCompaction=fun?icebergSnapshotManagement->fun()->{icebergCompaction;icebergSnapshotManagement}letto_valuex=structure_to_value[("icebergCompaction",(Option.mapx.icebergCompaction~f:IcebergCompactionSettings.to_value));("icebergSnapshotManagement",(Option.mapx.icebergSnapshotManagement~f:IcebergSnapshotManagementSettings.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=leticebergSnapshotManagement=(Option.map~f:IcebergSnapshotManagementSettings.of_xml)(Xml.childxml_arg0"icebergSnapshotManagement")inleticebergCompaction=(Option.map~f:IcebergCompactionSettings.of_xml)(Xml.childxml_arg0"icebergCompaction")inmake?icebergSnapshotManagement?icebergCompaction()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=leticebergSnapshotManagement=field_mapjson__"icebergSnapshotManagement"IcebergSnapshotManagementSettings.of_jsoninleticebergCompaction=field_mapjson__"icebergCompaction"IcebergCompactionSettings.of_jsoninmake?icebergSnapshotManagement?icebergCompaction()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Contains details about maintenance settings for the table."]moduleTableBucketMaintenanceSettings=structtypenonrect={icebergUnreferencedFileRemoval:IcebergUnreferencedFileRemovalSettings.toption[@ocaml.doc"The unreferenced file removal settings for the table bucket."]}letmake?icebergUnreferencedFileRemoval=fun()->{icebergUnreferencedFileRemoval}letto_valuex=structure_to_value[("icebergUnreferencedFileRemoval",(Option.mapx.icebergUnreferencedFileRemoval~f:IcebergUnreferencedFileRemovalSettings.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=leticebergUnreferencedFileRemoval=(Option.map~f:IcebergUnreferencedFileRemovalSettings.of_xml)(Xml.childxml_arg0"icebergUnreferencedFileRemoval")inmake?icebergUnreferencedFileRemoval()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=leticebergUnreferencedFileRemoval=field_mapjson__"icebergUnreferencedFileRemoval"IcebergUnreferencedFileRemovalSettings.of_jsoninmake?icebergUnreferencedFileRemoval()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Contains details about the maintenance settings for the table bucket."]moduleIcebergPartitionSpec=structtypenonrect={fields:IcebergPartitionFieldList.t[@ocaml.doc"The list of partition fields that define how the table data is partitioned. Each field specifies a source field and a transform to apply. This field is required if partitionSpec is provided."];specId:Integer.toption[@ocaml.doc"The unique identifier for this partition specification. If not specified, defaults to 0."]}letcontext_="IcebergPartitionSpec"letmake?specId=fun~fields->fun()->{specId;fields}letto_valuex=structure_to_value[("fields",(Some(IcebergPartitionFieldList.to_valuex.fields)));("spec-id",(Option.mapx.specId~f:Integer.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letspecId=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"spec-id")inletfields=IcebergPartitionFieldList.of_xml(Xml.child_exn~context:context_xml_arg0"fields")inmake?specId~fields()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letspecId=field_mapjson__"specId"Integer.of_jsoninletfields=field_map_exnjson__"fields"IcebergPartitionFieldList.of_jsoninmake?specId~fields()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Defines how data in an Iceberg table is partitioned. Partitioning helps optimize query performance by organizing data into separate files based on field values. Each partition field specifies a transform to apply to a source field."]moduleIcebergSchema=structtypenonrect={fields:SchemaFieldList.t[@ocaml.doc"The schema fields for the table"]}letcontext_="IcebergSchema"letmake~fields=fun()->{fields}letto_valuex=structure_to_value[("fields",(Some(SchemaFieldList.to_valuex.fields)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letfields=SchemaFieldList.of_xml(Xml.child_exn~context:context_xml_arg0"fields")inmake~fields()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letfields=field_map_exnjson__"fields"SchemaFieldList.of_jsoninmake~fields()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Contains details about the schema for an Iceberg table."]moduleIcebergSchemaV2=structtypenonrect={type_:SchemaV2FieldType.t[@ocaml.doc"The type of the top-level schema, which is always a struct type as defined in the Apache Iceberg specification. This value must be struct."];fields:SchemaV2FieldList.t[@ocaml.doc"The schema fields for the table. Each field defines a column in the table, including its name, type, and whether it is required."];schemaId:Integer.toption[@ocaml.doc"An optional unique identifier for the schema. Schema IDs are used by Apache Iceberg to track schema evolution."];identifierFieldIds:IntegerList.toption[@ocaml.doc"A list of field IDs that are used as the identifier fields for the table. Identifier fields uniquely identify a row in the table."]}letcontext_="IcebergSchemaV2"letmake?schemaId=fun?identifierFieldIds->fun~type_->fun~fields->fun()->{schemaId;identifierFieldIds;type_;fields}letto_valuex=structure_to_value[("type",(Some(SchemaV2FieldType.to_valuex.type_)));("fields",(Some(SchemaV2FieldList.to_valuex.fields)));("schema-id",(Option.mapx.schemaId~f:Integer.to_value));("identifier-field-ids",(Option.mapx.identifierFieldIds~f:IntegerList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letidentifierFieldIds=(Option.map~f:IntegerList.of_xml)(Xml.childxml_arg0"identifier-field-ids")inletschemaId=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"schema-id")inletfields=SchemaV2FieldList.of_xml(Xml.child_exn~context:context_xml_arg0"fields")inlettype_=SchemaV2FieldType.of_xml(Xml.child_exn~context:context_xml_arg0"type")inmake?identifierFieldIds?schemaId~fields~type_()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letidentifierFieldIds=field_mapjson__"identifierFieldIds"IntegerList.of_jsoninletschemaId=field_mapjson__"schemaId"Integer.of_jsoninletfields=field_map_exnjson__"fields"SchemaV2FieldList.of_jsoninlettype_=field_map_exnjson__"type"SchemaV2FieldType.of_jsoninmake?identifierFieldIds?schemaId~fields~type_()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Contains details about the schema for an Iceberg table using the V2 format. This schema format supports nested and complex data types such as struct, list, and map, in addition to primitive types."]moduleIcebergSortOrder=structtypenonrect={orderId:Integer.t[@ocaml.doc"The unique identifier for this sort order. If not specified, defaults to 1. The order ID is used by Apache Iceberg to track sort order evolution."];fields:IcebergSortFieldList.t[@ocaml.doc"The list of sort fields that define how data is sorted within files. Each field specifies a source field, sort direction, and null ordering. This field is required if writeOrder is provided."]}letcontext_="IcebergSortOrder"letmake~orderId=fun~fields->fun()->{orderId;fields}letto_valuex=structure_to_value[("order-id",(Some(Integer.to_valuex.orderId)));("fields",(Some(IcebergSortFieldList.to_valuex.fields)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letfields=IcebergSortFieldList.of_xml(Xml.child_exn~context:context_xml_arg0"fields")inletorderId=Integer.of_xml(Xml.child_exn~context:context_xml_arg0"order-id")inmake~fields~orderId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letfields=field_map_exnjson__"fields"IcebergSortFieldList.of_jsoninletorderId=field_map_exnjson__"orderId"Integer.of_jsoninmake~fields~orderId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Defines the sort order for data within an Iceberg table. Sorting data can improve query performance by enabling more efficient data skipping."]moduleTableProperties=structtypenonrect=(String_.t*String_.t)listletmakei=iletof_headerxs=make(List.filter_mapxs~f:(fun(k,v)->(Base.String.chop_prefixk~prefix:"x-amz-meta-")|>(Option.map~f:(funchopped->((String_.of_stringchopped),(String_.of_stringv))))))letto_valuexs=(xs|>(List.map~f:(fun(x,y)->(String_.to_valuex)|>(funx->(String_.to_valuey)|>(funy->(x,y))))))|>(funx->`Mapx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for Map_shape objects"()letof_xml_=failwith"of_xml_converter_of_shape: Map_shape case not implemented"letof_jsonj=object_of_json~key_of_string:String_.of_string~of_json:String_.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleErrorMessage=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_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_valueendmoduleIAMRole=structtypenonrect=stringletcontext_="IAMRole"letmakei=letopenResultinok_or_failwith((check_string_mini~min:20)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:"arn:.+:iam::[0-9]{12}:role/.+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"IAMRole"jletto_json=simple_to_jsonto_valueendmoduleTableReplicationRules=structtypenonrect=TableReplicationRule.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:TableReplicationRule.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:TableReplicationRule.of_xml)letof_jsonj=list_of_json~kind:"TableReplicationRules"~of_json:TableReplicationRule.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleTableRecordExpirationSettings=structtypenonrect={days:PositiveInteger.toption[@ocaml.doc"If you enable record expiration for a table, you can specify the number of days to retain your table records. For example, to retain your table records for one year, set this value to 365."]}letmake?days=fun()->{days}letto_valuex=structure_to_value[("days",(Option.mapx.days~f:PositiveInteger.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdays=(Option.map~f:PositiveInteger.of_xml)(Xml.childxml_arg0"days")inmake?days()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdays=field_mapjson__"days"PositiveInteger.of_jsoninmake?days()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The record expiration setting that specifies when records expire and are automatically removed from a table."]moduleTableRecordExpirationStatus=structtypenonrect=|Enabled|Disabled|Non_static_idofstringletmakei=iletto_string=function|Enabled->"enabled"|Disabled->"disabled"|Non_static_ids->sletof_string=function|"enabled"->Enabled|"disabled"->Disabled|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 TableRecordExpirationStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"TableRecordExpirationStatus"j)letto_json=simple_to_jsonto_valueendmoduleStorageClass=structtypenonrect=|STANDARD|INTELLIGENT_TIERING|Non_static_idofstringletmakei=iletto_string=function|STANDARD->"STANDARD"|INTELLIGENT_TIERING->"INTELLIGENT_TIERING"|Non_static_ids->sletof_string=function|"STANDARD"->STANDARD|"INTELLIGENT_TIERING"->INTELLIGENT_TIERING|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 StorageClass"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"StorageClass"j)letto_json=simple_to_jsonto_valueendmoduleTableBucketReplicationRules=structtypenonrect=TableBucketReplicationRule.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:TableBucketReplicationRule.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:TableBucketReplicationRule.of_xml)letof_jsonj=list_of_json~kind:"TableBucketReplicationRules"~of_json:TableBucketReplicationRule.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleEncryptionConfigurationKmsKeyArnString=structtypenonrect=stringletcontext_="EncryptionConfigurationKmsKeyArnString"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:"(arn:aws[-a-z0-9]*:kms:[-a-z0-9]*:[0-9]{12}:key/.+)")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"EncryptionConfigurationKmsKeyArnString"jletto_json=simple_to_jsonto_valueendmoduleSSEAlgorithm=structtypenonrect=|AES256|Aws_kms|Non_static_idofstringletmakei=iletto_string=function|AES256->"AES256"|Aws_kms->"aws:kms"|Non_static_ids->sletof_string=function|"AES256"->AES256|"aws:kms"->Aws_kms|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 SSEAlgorithm"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"SSEAlgorithm"j)letto_json=simple_to_jsonto_valueendmoduleTableSummary=structtypenonrect={namespace:NamespaceList.toption[@ocaml.doc"The name of the namespace."];name:TableName.toption[@ocaml.doc"The name of the table."];type_:TableType.toption[@ocaml.doc"The type of the table."];tableARN:TableARN.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the table."];createdAt:SyntheticTimestamp_date_time.toption[@ocaml.doc"The date and time the table was created at."];modifiedAt:SyntheticTimestamp_date_time.toption[@ocaml.doc"The date and time the table was last modified at."];managedByService:String_.toption[@ocaml.doc"The Amazon Web Services service managing this table, if applicable. For example, a replicated table is managed by the S3 Tables replication service."];namespaceId:NamespaceId.toption[@ocaml.doc"The unique identifier for the namespace that contains this table."];tableBucketId:TableBucketId.toption[@ocaml.doc"The unique identifier for the table bucket that contains this table."]}letmake?namespace=fun?name->fun?type_->fun?tableARN->fun?createdAt->fun?modifiedAt->fun?managedByService->fun?namespaceId->fun?tableBucketId->fun()->{namespace;name;type_;tableARN;createdAt;modifiedAt;managedByService;namespaceId;tableBucketId}letto_valuex=structure_to_value[("namespace",(Option.mapx.namespace~f:NamespaceList.to_value));("name",(Option.mapx.name~f:TableName.to_value));("type",(Option.mapx.type_~f:TableType.to_value));("tableARN",(Option.mapx.tableARN~f:TableARN.to_value));("createdAt",(Option.mapx.createdAt~f:SyntheticTimestamp_date_time.to_value));("modifiedAt",(Option.mapx.modifiedAt~f:SyntheticTimestamp_date_time.to_value));("managedByService",(Option.mapx.managedByService~f:String_.to_value));("namespaceId",(Option.mapx.namespaceId~f:NamespaceId.to_value));("tableBucketId",(Option.mapx.tableBucketId~f:TableBucketId.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettableBucketId=(Option.map~f:TableBucketId.of_xml)(Xml.childxml_arg0"tableBucketId")inletnamespaceId=(Option.map~f:NamespaceId.of_xml)(Xml.childxml_arg0"namespaceId")inletmanagedByService=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"managedByService")inletmodifiedAt=(Option.map~f:SyntheticTimestamp_date_time.of_xml)(Xml.childxml_arg0"modifiedAt")inletcreatedAt=(Option.map~f:SyntheticTimestamp_date_time.of_xml)(Xml.childxml_arg0"createdAt")inlettableARN=(Option.map~f:TableARN.of_xml)(Xml.childxml_arg0"tableARN")inlettype_=(Option.map~f:TableType.of_xml)(Xml.childxml_arg0"type")inletname=(Option.map~f:TableName.of_xml)(Xml.childxml_arg0"name")inletnamespace=(Option.map~f:NamespaceList.of_xml)(Xml.childxml_arg0"namespace")inmake?tableBucketId?namespaceId?managedByService?modifiedAt?createdAt?tableARN?type_?name?namespace()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettableBucketId=field_mapjson__"tableBucketId"TableBucketId.of_jsoninletnamespaceId=field_mapjson__"namespaceId"NamespaceId.of_jsoninletmanagedByService=field_mapjson__"managedByService"String_.of_jsoninletmodifiedAt=field_mapjson__"modifiedAt"SyntheticTimestamp_date_time.of_jsoninletcreatedAt=field_mapjson__"createdAt"SyntheticTimestamp_date_time.of_jsoninlettableARN=field_mapjson__"tableARN"TableARN.of_jsoninlettype_=field_mapjson__"type"TableType.of_jsoninletname=field_mapjson__"name"TableName.of_jsoninletnamespace=field_mapjson__"namespace"NamespaceList.of_jsoninmake?tableBucketId?namespaceId?managedByService?modifiedAt?createdAt?tableARN?type_?name?namespace()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Contains details about a table."]moduleTableBucketSummary=structtypenonrect={arn:TableBucketARN.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the table bucket."];name:TableBucketName.toption[@ocaml.doc"The name of the table bucket."];ownerAccountId:AccountId.toption[@ocaml.doc"The ID of the account that owns the table bucket."];createdAt:SyntheticTimestamp_date_time.toption[@ocaml.doc"The date and time the table bucket was created at."];tableBucketId:TableBucketId.toption[@ocaml.doc"The system-assigned unique identifier for the table bucket."];type_:TableBucketType.toption[@ocaml.doc"The type of the table bucket."]}letmake?arn=fun?name->fun?ownerAccountId->fun?createdAt->fun?tableBucketId->fun?type_->fun()->{arn;name;ownerAccountId;createdAt;tableBucketId;type_}letto_valuex=structure_to_value[("arn",(Option.mapx.arn~f:TableBucketARN.to_value));("name",(Option.mapx.name~f:TableBucketName.to_value));("ownerAccountId",(Option.mapx.ownerAccountId~f:AccountId.to_value));("createdAt",(Option.mapx.createdAt~f:SyntheticTimestamp_date_time.to_value));("tableBucketId",(Option.mapx.tableBucketId~f:TableBucketId.to_value));("type",(Option.mapx.type_~f:TableBucketType.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettype_=(Option.map~f:TableBucketType.of_xml)(Xml.childxml_arg0"type")inlettableBucketId=(Option.map~f:TableBucketId.of_xml)(Xml.childxml_arg0"tableBucketId")inletcreatedAt=(Option.map~f:SyntheticTimestamp_date_time.of_xml)(Xml.childxml_arg0"createdAt")inletownerAccountId=(Option.map~f:AccountId.of_xml)(Xml.childxml_arg0"ownerAccountId")inletname=(Option.map~f:TableBucketName.of_xml)(Xml.childxml_arg0"name")inletarn=(Option.map~f:TableBucketARN.of_xml)(Xml.childxml_arg0"arn")inmake?type_?tableBucketId?createdAt?ownerAccountId?name?arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettype_=field_mapjson__"type"TableBucketType.of_jsoninlettableBucketId=field_mapjson__"tableBucketId"TableBucketId.of_jsoninletcreatedAt=field_mapjson__"createdAt"SyntheticTimestamp_date_time.of_jsoninletownerAccountId=field_mapjson__"ownerAccountId"AccountId.of_jsoninletname=field_mapjson__"name"TableBucketName.of_jsoninletarn=field_mapjson__"arn"TableBucketARN.of_jsoninmake?type_?tableBucketId?createdAt?ownerAccountId?name?arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Contains details about a table bucket."]moduleNamespaceSummary=structtypenonrect={namespace:NamespaceList.toption[@ocaml.doc"The name of the namespace."];createdAt:SyntheticTimestamp_date_time.toption[@ocaml.doc"The date and time the namespace was created at."];createdBy:AccountId.toption[@ocaml.doc"The ID of the account that created the namespace."];ownerAccountId:AccountId.toption[@ocaml.doc"The ID of the account that owns the namespace."];namespaceId:NamespaceId.toption[@ocaml.doc"The system-assigned unique identifier for the namespace."];tableBucketId:TableBucketId.toption[@ocaml.doc"The system-assigned unique identifier for the table bucket that contains this namespace."]}letmake?namespace=fun?createdAt->fun?createdBy->fun?ownerAccountId->fun?namespaceId->fun?tableBucketId->fun()->{namespace;createdAt;createdBy;ownerAccountId;namespaceId;tableBucketId}letto_valuex=structure_to_value[("namespace",(Option.mapx.namespace~f:NamespaceList.to_value));("createdAt",(Option.mapx.createdAt~f:SyntheticTimestamp_date_time.to_value));("createdBy",(Option.mapx.createdBy~f:AccountId.to_value));("ownerAccountId",(Option.mapx.ownerAccountId~f:AccountId.to_value));("namespaceId",(Option.mapx.namespaceId~f:NamespaceId.to_value));("tableBucketId",(Option.mapx.tableBucketId~f:TableBucketId.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettableBucketId=(Option.map~f:TableBucketId.of_xml)(Xml.childxml_arg0"tableBucketId")inletnamespaceId=(Option.map~f:NamespaceId.of_xml)(Xml.childxml_arg0"namespaceId")inletownerAccountId=(Option.map~f:AccountId.of_xml)(Xml.childxml_arg0"ownerAccountId")inletcreatedBy=(Option.map~f:AccountId.of_xml)(Xml.childxml_arg0"createdBy")inletcreatedAt=(Option.map~f:SyntheticTimestamp_date_time.of_xml)(Xml.childxml_arg0"createdAt")inletnamespace=(Option.map~f:NamespaceList.of_xml)(Xml.childxml_arg0"namespace")inmake?tableBucketId?namespaceId?ownerAccountId?createdBy?createdAt?namespace()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettableBucketId=field_mapjson__"tableBucketId"TableBucketId.of_jsoninletnamespaceId=field_mapjson__"namespaceId"NamespaceId.of_jsoninletownerAccountId=field_mapjson__"ownerAccountId"AccountId.of_jsoninletcreatedBy=field_mapjson__"createdBy"AccountId.of_jsoninletcreatedAt=field_mapjson__"createdAt"SyntheticTimestamp_date_time.of_jsoninletnamespace=field_mapjson__"namespace"NamespaceList.of_jsoninmake?tableBucketId?namespaceId?ownerAccountId?createdBy?createdAt?namespace()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Contains details about a namespace."]moduleReplicationInformation=structtypenonrect={sourceTableARN:TableARN.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the source table from which this table is replicated."]}letmake?sourceTableARN=fun()->{sourceTableARN}letto_valuex=structure_to_value[("sourceTableARN",(Option.mapx.sourceTableARN~f:TableARN.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letsourceTableARN=(Option.map~f:TableARN.of_xml)(Xml.childxml_arg0"sourceTableARN")inmake?sourceTableARN()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letsourceTableARN=field_mapjson__"sourceTableARN"TableARN.of_jsoninmake?sourceTableARN()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Contains information about the source of a replicated table."]moduleReplicationDestinationStatusModel=structtypenonrect={replicationStatus:ReplicationStatus.toption[@ocaml.doc"The current status of replication to this destination."];destinationTableBucketArn:TableBucketARN.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the destination table bucket."];destinationTableArn:TableARN.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the destination table."];lastSuccessfulReplicatedUpdate:LastSuccessfulReplicatedUpdate.toption[@ocaml.doc"Information about the most recent successful replication update to this destination."];failureMessage:String_.toption[@ocaml.doc"If replication has failed, this field contains an error message describing the failure reason."]}letmake?replicationStatus=fun?destinationTableBucketArn->fun?destinationTableArn->fun?lastSuccessfulReplicatedUpdate->fun?failureMessage->fun()->{replicationStatus;destinationTableBucketArn;destinationTableArn;lastSuccessfulReplicatedUpdate;failureMessage}letto_valuex=structure_to_value[("replicationStatus",(Option.mapx.replicationStatus~f:ReplicationStatus.to_value));("destinationTableBucketArn",(Option.mapx.destinationTableBucketArn~f:TableBucketARN.to_value));("destinationTableArn",(Option.mapx.destinationTableArn~f:TableARN.to_value));("lastSuccessfulReplicatedUpdate",(Option.mapx.lastSuccessfulReplicatedUpdate~f:LastSuccessfulReplicatedUpdate.to_value));("failureMessage",(Option.mapx.failureMessage~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letfailureMessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"failureMessage")inletlastSuccessfulReplicatedUpdate=(Option.map~f:LastSuccessfulReplicatedUpdate.of_xml)(Xml.childxml_arg0"lastSuccessfulReplicatedUpdate")inletdestinationTableArn=(Option.map~f:TableARN.of_xml)(Xml.childxml_arg0"destinationTableArn")inletdestinationTableBucketArn=(Option.map~f:TableBucketARN.of_xml)(Xml.childxml_arg0"destinationTableBucketArn")inletreplicationStatus=(Option.map~f:ReplicationStatus.of_xml)(Xml.childxml_arg0"replicationStatus")inmake?failureMessage?lastSuccessfulReplicatedUpdate?destinationTableArn?destinationTableBucketArn?replicationStatus()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letfailureMessage=field_mapjson__"failureMessage"String_.of_jsoninletlastSuccessfulReplicatedUpdate=field_mapjson__"lastSuccessfulReplicatedUpdate"LastSuccessfulReplicatedUpdate.of_jsoninletdestinationTableArn=field_mapjson__"destinationTableArn"TableARN.of_jsoninletdestinationTableBucketArn=field_mapjson__"destinationTableBucketArn"TableBucketARN.of_jsoninletreplicationStatus=field_mapjson__"replicationStatus"ReplicationStatus.of_jsoninmake?failureMessage?lastSuccessfulReplicatedUpdate?destinationTableArn?destinationTableBucketArn?replicationStatus()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Contains status information for a replication destination, including the current replication state, last successful update, and any error messages."]moduleLong=structtypenonrect=Int64.tletmakei=iletof_string=Int64.of_stringletto_valuex=`Longxletto_queryv=to_queryto_valuevletto_headerx=Int64.to_stringxletof_xmlxml_arg0=Int64.of_string(string_of_xml~kind:"a long"xml_arg0)letof_jsonj=Int64.of_float(float_of_json~kind:"a long"j)letto_json=simple_to_jsonto_valueendmoduleTableMaintenanceJobStatusValue=structtypenonrect={status:JobStatus.toption[@ocaml.doc"The status of the job."];lastRunTimestamp:SyntheticTimestamp_date_time.toption[@ocaml.doc"The date and time that the maintenance job was last run."];failureMessage:String_.toption[@ocaml.doc"The failure message of a failed job."]}letmake?status=fun?lastRunTimestamp->fun?failureMessage->fun()->{status;lastRunTimestamp;failureMessage}letto_valuex=structure_to_value[("status",(Option.mapx.status~f:JobStatus.to_value));("lastRunTimestamp",(Option.mapx.lastRunTimestamp~f:SyntheticTimestamp_date_time.to_value));("failureMessage",(Option.mapx.failureMessage~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letfailureMessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"failureMessage")inletlastRunTimestamp=(Option.map~f:SyntheticTimestamp_date_time.of_xml)(Xml.childxml_arg0"lastRunTimestamp")inletstatus=(Option.map~f:JobStatus.of_xml)(Xml.childxml_arg0"status")inmake?failureMessage?lastRunTimestamp?status()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letfailureMessage=field_mapjson__"failureMessage"String_.of_jsoninletlastRunTimestamp=field_mapjson__"lastRunTimestamp"SyntheticTimestamp_date_time.of_jsoninletstatus=field_mapjson__"status"JobStatus.of_jsoninmake?failureMessage?lastRunTimestamp?status()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Details about the status of a maintenance job."]moduleTableMaintenanceJobType=structtypenonrect=|IcebergCompaction|IcebergSnapshotManagement|IcebergUnreferencedFileRemoval|Non_static_idofstringletmakei=iletto_string=function|IcebergCompaction->"icebergCompaction"|IcebergSnapshotManagement->"icebergSnapshotManagement"|IcebergUnreferencedFileRemoval->"icebergUnreferencedFileRemoval"|Non_static_ids->sletof_string=function|"icebergCompaction"->IcebergCompaction|"icebergSnapshotManagement"->IcebergSnapshotManagement|"icebergUnreferencedFileRemoval"->IcebergUnreferencedFileRemoval|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 TableMaintenanceJobType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"TableMaintenanceJobType"j)letto_json=simple_to_jsonto_valueendmoduleTableMaintenanceConfigurationValue=structtypenonrect={status:MaintenanceStatus.toption[@ocaml.doc"The status of the maintenance configuration."];settings:TableMaintenanceSettings.toption[@ocaml.doc"Contains details about the settings for the maintenance configuration."]}letmake?status=fun?settings->fun()->{status;settings}letto_valuex=structure_to_value[("status",(Option.mapx.status~f:MaintenanceStatus.to_value));("settings",(Option.mapx.settings~f:TableMaintenanceSettings.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letsettings=(Option.map~f:TableMaintenanceSettings.of_xml)(Xml.childxml_arg0"settings")inletstatus=(Option.map~f:MaintenanceStatus.of_xml)(Xml.childxml_arg0"status")inmake?settings?status()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letsettings=field_mapjson__"settings"TableMaintenanceSettings.of_jsoninletstatus=field_mapjson__"status"MaintenanceStatus.of_jsoninmake?settings?status()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The values that define a maintenance configuration for a table."]moduleTableMaintenanceType=structtypenonrect=|IcebergCompaction|IcebergSnapshotManagement|Non_static_idofstringletmakei=iletto_string=function|IcebergCompaction->"icebergCompaction"|IcebergSnapshotManagement->"icebergSnapshotManagement"|Non_static_ids->sletof_string=function|"icebergCompaction"->IcebergCompaction|"icebergSnapshotManagement"->IcebergSnapshotManagement|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 TableMaintenanceType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"TableMaintenanceType"j)letto_json=simple_to_jsonto_valueendmoduleTableBucketMaintenanceConfigurationValue=structtypenonrect={status:MaintenanceStatus.toption[@ocaml.doc"The status of the maintenance configuration."];settings:TableBucketMaintenanceSettings.toption[@ocaml.doc"Contains details about the settings of the maintenance configuration."]}letmake?status=fun?settings->fun()->{status;settings}letto_valuex=structure_to_value[("status",(Option.mapx.status~f:MaintenanceStatus.to_value));("settings",(Option.mapx.settings~f:TableBucketMaintenanceSettings.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letsettings=(Option.map~f:TableBucketMaintenanceSettings.of_xml)(Xml.childxml_arg0"settings")inletstatus=(Option.map~f:MaintenanceStatus.of_xml)(Xml.childxml_arg0"status")inmake?settings?status()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letsettings=field_mapjson__"settings"TableBucketMaintenanceSettings.of_jsoninletstatus=field_mapjson__"status"MaintenanceStatus.of_jsoninmake?settings?status()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Details about the values that define the maintenance configuration for a table bucket."]moduleTableBucketMaintenanceType=structtypenonrect=|IcebergUnreferencedFileRemoval|Non_static_idofstringletmakei=iletto_string=function|IcebergUnreferencedFileRemoval->"icebergUnreferencedFileRemoval"|Non_static_ids->sletof_string=function|"icebergUnreferencedFileRemoval"->IcebergUnreferencedFileRemoval|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 TableBucketMaintenanceType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"TableBucketMaintenanceType"j)letto_json=simple_to_jsonto_valueendmoduleIcebergMetadata=structtypenonrect={schema:IcebergSchema.toption[@ocaml.doc"The schema for an Iceberg table. Use this property to define table schemas with primitive types only. For schemas that include nested or complex types such as struct, list, or map, use schemaV2 instead."];schemaV2:IcebergSchemaV2.toption[@ocaml.doc"The schema for an Iceberg table using the V2 format. Use this property to define table schemas that include nested or complex data types such as struct, list, or map, in addition to primitive types. For schemas with only primitive types, you can use either schema or schemaV2."];partitionSpec:IcebergPartitionSpec.toption[@ocaml.doc"The partition specification for the Iceberg table. Partitioning organizes data into separate files based on the values of one or more fields, which can improve query performance by reducing the amount of data scanned. Each partition field applies a transform (such as identity, year, month, or bucket) to a single field."];writeOrder:IcebergSortOrder.toption[@ocaml.doc"The sort order for the Iceberg table. Sort order defines how data is sorted within data files, which can improve query performance by enabling more efficient data skipping and filtering."];properties:TableProperties.toption[@ocaml.doc"A map of custom configuration properties for the Iceberg table."]}letmake?schema=fun?schemaV2->fun?partitionSpec->fun?writeOrder->fun?properties->fun()->{schema;schemaV2;partitionSpec;writeOrder;properties}letto_valuex=structure_to_value[("schema",(Option.mapx.schema~f:IcebergSchema.to_value));("schemaV2",(Option.mapx.schemaV2~f:IcebergSchemaV2.to_value));("partitionSpec",(Option.mapx.partitionSpec~f:IcebergPartitionSpec.to_value));("writeOrder",(Option.mapx.writeOrder~f:IcebergSortOrder.to_value));("properties",(Option.mapx.properties~f:TableProperties.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letproperties=(Option.map~f:TableProperties.of_xml)(Xml.childxml_arg0"properties")inletwriteOrder=(Option.map~f:IcebergSortOrder.of_xml)(Xml.childxml_arg0"writeOrder")inletpartitionSpec=(Option.map~f:IcebergPartitionSpec.of_xml)(Xml.childxml_arg0"partitionSpec")inletschemaV2=(Option.map~f:IcebergSchemaV2.of_xml)(Xml.childxml_arg0"schemaV2")inletschema=(Option.map~f:IcebergSchema.of_xml)(Xml.childxml_arg0"schema")inmake?properties?writeOrder?partitionSpec?schemaV2?schema()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letproperties=field_mapjson__"properties"TableProperties.of_jsoninletwriteOrder=field_mapjson__"writeOrder"IcebergSortOrder.of_jsoninletpartitionSpec=field_mapjson__"partitionSpec"IcebergPartitionSpec.of_jsoninletschemaV2=field_mapjson__"schemaV2"IcebergSchemaV2.of_jsoninletschema=field_mapjson__"schema"IcebergSchema.of_jsoninmake?properties?writeOrder?partitionSpec?schemaV2?schema()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Contains details about the metadata for an Iceberg table."]moduleBadRequestException=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"The request is invalid or malformed."]moduleConflictException=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"The request failed because there is a conflict with a previous write. You can retry the request."]moduleForbiddenException=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"The caller isn't authorized to make the request."]moduleInternalServerErrorException=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"The request failed due to an internal server error."]moduleNotFoundException=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"The request was rejected because the specified resource could not be found."]moduleTooManyRequestsException=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"The limit on the number of requests per second was exceeded."]moduleVersionToken=structtypenonrect=stringletcontext_="VersionToken"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:2048)>>=(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:"VersionToken"jletto_json=simple_to_jsonto_valueendmoduleResourceArn=structtypenonrect=stringletcontext_="ResourceArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:"arn:aws[-a-z0-9]*:[a-z0-9]+:[-a-z0-9]*:[0-9]{12}:bucket/.+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ResourceArn"jletto_json=simple_to_jsonto_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_valuevendmoduleTags=structtypenonrect=(TagKey.t*TagValue.t)listletmakei=iletof_headerxs=make(List.filter_mapxs~f:(fun(k,v)->(Base.String.chop_prefixk~prefix:"x-amz-meta-")|>(Option.map~f:(funchopped->((TagKey.of_stringchopped),(TagValue.of_stringv))))))letto_valuexs=(xs|>(List.map~f:(fun(x,y)->(TagKey.to_valuex)|>(funx->(TagValue.to_valuey)|>(funy->(x,y))))))|>(funx->`Mapx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for Map_shape objects"()letof_xml_=failwith"of_xml_converter_of_shape: Map_shape case not implemented"letof_jsonj=object_of_json~key_of_string:TagKey.of_string~of_json:TagValue.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleAccessDeniedException=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"The action cannot be performed because you do not have the required permission."]moduleTableReplicationConfiguration=structtypenonrect={role:IAMRole.t[@ocaml.doc"The Amazon Resource Name (ARN) of the IAM role that S3 Tables assumes to replicate the table on your behalf."];rules:TableReplicationRules.t[@ocaml.doc"An array of replication rules that define where this table should be replicated."]}letcontext_="TableReplicationConfiguration"letmake~role=fun~rules->fun()->{role;rules}letto_valuex=structure_to_value[("role",(Some(IAMRole.to_valuex.role)));("rules",(Some(TableReplicationRules.to_valuex.rules)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letrules=TableReplicationRules.of_xml(Xml.child_exn~context:context_xml_arg0"rules")inletrole=IAMRole.of_xml(Xml.child_exn~context:context_xml_arg0"role")inmake~rules~role()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letrules=field_map_exnjson__"rules"TableReplicationRules.of_jsoninletrole=field_map_exnjson__"role"IAMRole.of_jsoninmake~rules~role()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The replication configuration for an individual table. This configuration defines how the table is replicated to destination tables."]moduleTableRecordExpirationConfigurationValue=structtypenonrect={status:TableRecordExpirationStatus.toption[@ocaml.doc"The status of the expiration settings for records in the table."];settings:TableRecordExpirationSettings.toption[@ocaml.doc"The expiration settings for records in the table."]}letmake?status=fun?settings->fun()->{status;settings}letto_valuex=structure_to_value[("status",(Option.mapx.status~f:TableRecordExpirationStatus.to_value));("settings",(Option.mapx.settings~f:TableRecordExpirationSettings.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letsettings=(Option.map~f:TableRecordExpirationSettings.of_xml)(Xml.childxml_arg0"settings")inletstatus=(Option.map~f:TableRecordExpirationStatus.of_xml)(Xml.childxml_arg0"status")inmake?settings?status()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letsettings=field_mapjson__"settings"TableRecordExpirationSettings.of_jsoninletstatus=field_mapjson__"status"TableRecordExpirationStatus.of_jsoninmake?settings?status()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The expiration configuration settings for records in a table, and the status of the configuration. If the status of the configuration is enabled, records expire and are automatically removed after the number of days specified in the record expiration settings for the table."]moduleResourcePolicy=structtypenonrect=stringletcontext_="ResourcePolicy"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:20480)>>=(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:"ResourcePolicy"jletto_json=simple_to_jsonto_valueendmoduleStorageClassConfiguration=structtypenonrect={storageClass:StorageClass.t[@ocaml.doc"The storage class for the table or table bucket. Valid values include storage classes optimized for different access patterns and cost profiles."]}letcontext_="StorageClassConfiguration"letmake~storageClass=fun()->{storageClass}letto_valuex=structure_to_value[("storageClass",(Some(StorageClass.to_valuex.storageClass)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstorageClass=StorageClass.of_xml(Xml.child_exn~context:context_xml_arg0"storageClass")inmake~storageClass()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstorageClass=field_map_exnjson__"storageClass"StorageClass.of_jsoninmake~storageClass()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The configuration details for the storage class of tables or table buckets. This allows you to optimize storage costs by selecting the appropriate storage class based on your access patterns and performance requirements."]moduleTableBucketReplicationConfiguration=structtypenonrect={role:IAMRole.t[@ocaml.doc"The Amazon Resource Name (ARN) of the IAM role that S3 Tables assumes to replicate tables on your behalf."];rules:TableBucketReplicationRules.t[@ocaml.doc"An array of replication rules that define which tables to replicate and where to replicate them."]}letcontext_="TableBucketReplicationConfiguration"letmake~role=fun~rules->fun()->{role;rules}letto_valuex=structure_to_value[("role",(Some(IAMRole.to_valuex.role)));("rules",(Some(TableBucketReplicationRules.to_valuex.rules)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letrules=TableBucketReplicationRules.of_xml(Xml.child_exn~context:context_xml_arg0"rules")inletrole=IAMRole.of_xml(Xml.child_exn~context:context_xml_arg0"role")inmake~rules~role()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letrules=field_map_exnjson__"rules"TableBucketReplicationRules.of_jsoninletrole=field_map_exnjson__"role"IAMRole.of_jsoninmake~rules~role()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The replication configuration for a table bucket. This configuration defines how tables in the source bucket are replicated to destination table buckets, including the IAM role used for replication."]moduleEncryptionConfiguration=structtypenonrect={sseAlgorithm:SSEAlgorithm.t[@ocaml.doc"The server-side encryption algorithm to use. Valid values are AES256 for S3-managed encryption keys, or aws:kms for Amazon Web Services KMS-managed encryption keys. If you choose SSE-KMS encryption you must grant the S3 Tables maintenance principal access to your KMS key. For more information, see Permissions requirements for S3 Tables SSE-KMS encryption."];kmsKeyArn:EncryptionConfigurationKmsKeyArnString.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the KMS key to use for encryption. This field is required only when sseAlgorithm is set to aws:kms."]}letcontext_="EncryptionConfiguration"letmake?kmsKeyArn=fun~sseAlgorithm->fun()->{kmsKeyArn;sseAlgorithm}letto_valuex=structure_to_value[("sseAlgorithm",(Some(SSEAlgorithm.to_valuex.sseAlgorithm)));("kmsKeyArn",(Option.mapx.kmsKeyArn~f:EncryptionConfigurationKmsKeyArnString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letkmsKeyArn=(Option.map~f:EncryptionConfigurationKmsKeyArnString.of_xml)(Xml.childxml_arg0"kmsKeyArn")inletsseAlgorithm=SSEAlgorithm.of_xml(Xml.child_exn~context:context_xml_arg0"sseAlgorithm")inmake?kmsKeyArn~sseAlgorithm()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letkmsKeyArn=field_mapjson__"kmsKeyArn"EncryptionConfigurationKmsKeyArnString.of_jsoninletsseAlgorithm=field_map_exnjson__"sseAlgorithm"SSEAlgorithm.of_jsoninmake?kmsKeyArn~sseAlgorithm()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Configuration specifying how data should be encrypted. This structure defines the encryption algorithm and optional KMS key to be used for server-side encryption."]moduleNextToken=structtypenonrect=stringletcontext_="NextToken"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:2048)>>=(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:"NextToken"jletto_json=simple_to_jsonto_valueendmoduleTableSummaryList=structtypenonrect=TableSummary.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:TableSummary.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:TableSummary.of_xml)letof_jsonj=list_of_json~kind:"TableSummaryList"~of_json:TableSummary.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleListTablesLimit=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:1000)>>=(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 ListTablesLimit"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleListTablesRequestPrefixString=structtypenonrect=stringletcontext_="ListTablesRequestPrefixString"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:"ListTablesRequestPrefixString"jletto_json=simple_to_jsonto_valueendmoduleTableBucketSummaryList=structtypenonrect=TableBucketSummary.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:TableBucketSummary.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:TableBucketSummary.of_xml)letof_jsonj=list_of_json~kind:"TableBucketSummaryList"~of_json:TableBucketSummary.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleListTableBucketsLimit=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:1000)>>=(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 ListTableBucketsLimit"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleListTableBucketsRequestPrefixString=structtypenonrect=stringletcontext_="ListTableBucketsRequestPrefixString"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:63)>>=(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:"ListTableBucketsRequestPrefixString"jletto_json=simple_to_jsonto_valueendmoduleNamespaceSummaryList=structtypenonrect=NamespaceSummary.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:NamespaceSummary.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:NamespaceSummary.of_xml)letof_jsonj=list_of_json~kind:"NamespaceSummaryList"~of_json:NamespaceSummary.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleListNamespacesLimit=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:1000)>>=(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 ListNamespacesLimit"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleListNamespacesRequestPrefixString=structtypenonrect=stringletcontext_="ListNamespacesRequestPrefixString"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:"ListNamespacesRequestPrefixString"jletto_json=simple_to_jsonto_valueendmoduleManagedTableInformation=structtypenonrect={replicationInformation:ReplicationInformation.toption[@ocaml.doc"If this table is a replica, contains information about the source table from which it is replicated."]}letmake?replicationInformation=fun()->{replicationInformation}letto_valuex=structure_to_value[("replicationInformation",(Option.mapx.replicationInformation~f:ReplicationInformation.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letreplicationInformation=(Option.map~f:ReplicationInformation.of_xml)(Xml.childxml_arg0"replicationInformation")inmake?replicationInformation()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letreplicationInformation=field_mapjson__"replicationInformation"ReplicationInformation.of_jsoninmake?replicationInformation()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Contains information about tables that are managed by S3 Tables, including replication information for replica tables."]moduleOpenTableFormat=structtypenonrect=|ICEBERG|Non_static_idofstringletmakei=iletto_string=function|ICEBERG->"ICEBERG"|Non_static_ids->sletof_string=function|"ICEBERG"->ICEBERG|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 OpenTableFormat"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"OpenTableFormat"j)letto_json=simple_to_jsonto_valueendmoduleWarehouseLocation=structtypenonrect=stringletcontext_="WarehouseLocation"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:2048)>>=(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:"WarehouseLocation"jletto_json=simple_to_jsonto_valueendmoduleReplicationDestinationStatuses=structtypenonrect=ReplicationDestinationStatusModel.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:5)>>=(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:ReplicationDestinationStatusModel.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:ReplicationDestinationStatusModel.of_xml)letof_jsonj=list_of_json~kind:"ReplicationDestinationStatuses"~of_json:ReplicationDestinationStatusModel.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleMethodNotAllowedException=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"The requested operation is not allowed on this resource. This may occur when attempting to modify a resource that is managed by a service or has restrictions that prevent the operation."]moduleTableRecordExpirationJobMetrics=structtypenonrect={deletedDataFiles:Long.toption[@ocaml.doc"The total number of data files that were removed when the job ran."];deletedRecords:Long.toption[@ocaml.doc"The total number of records that were removed when the job ran."];removedFilesSize:Long.toption[@ocaml.doc"The total size (in bytes) of the data files that were removed when the job ran."]}letmake?deletedDataFiles=fun?deletedRecords->fun?removedFilesSize->fun()->{deletedDataFiles;deletedRecords;removedFilesSize}letto_valuex=structure_to_value[("deletedDataFiles",(Option.mapx.deletedDataFiles~f:Long.to_value));("deletedRecords",(Option.mapx.deletedRecords~f:Long.to_value));("removedFilesSize",(Option.mapx.removedFilesSize~f:Long.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letremovedFilesSize=(Option.map~f:Long.of_xml)(Xml.childxml_arg0"removedFilesSize")inletdeletedRecords=(Option.map~f:Long.of_xml)(Xml.childxml_arg0"deletedRecords")inletdeletedDataFiles=(Option.map~f:Long.of_xml)(Xml.childxml_arg0"deletedDataFiles")inmake?removedFilesSize?deletedRecords?deletedDataFiles()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letremovedFilesSize=field_mapjson__"removedFilesSize"Long.of_jsoninletdeletedRecords=field_mapjson__"deletedRecords"Long.of_jsoninletdeletedDataFiles=field_mapjson__"deletedDataFiles"Long.of_jsoninmake?removedFilesSize?deletedRecords?deletedDataFiles()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Provides metrics for the record expiration job that most recently ran for a table. The metrics provide insight into the amount of data that was removed when the job ran."]moduleTableRecordExpirationJobStatus=structtypenonrect=|NotYetRun|Successful|Failed|Disabled|Non_static_idofstringletmakei=iletto_string=function|NotYetRun->"NotYetRun"|Successful->"Successful"|Failed->"Failed"|Disabled->"Disabled"|Non_static_ids->sletof_string=function|"NotYetRun"->NotYetRun|"Successful"->Successful|"Failed"->Failed|"Disabled"->Disabled|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 TableRecordExpirationJobStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"TableRecordExpirationJobStatus"j)letto_json=simple_to_jsonto_valueendmoduleTableMaintenanceJobStatus=structtypenonrect=(TableMaintenanceJobType.t*TableMaintenanceJobStatusValue.t)listletmakei=iletof_headerxs=make(List.filter_mapxs~f:(fun(k,v)->(Base.String.chop_prefixk~prefix:"x-amz-meta-")|>(Option.map~f:(funchopped->let(_:string)=vinlet(_:string)=choppedinfailwith"no of_header for complex types TableMaintenanceJobType TableMaintenanceJobStatusValue"))))letto_valuexs=(xs|>(List.map~f:(fun(x,y)->(TableMaintenanceJobType.to_valuex)|>(funx->(TableMaintenanceJobStatusValue.to_valuey)|>(funy->(x,y))))))|>(funx->`Mapx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for Map_shape objects"()letof_xml_=failwith"of_xml_converter_of_shape: Map_shape case not implemented"letof_jsonj=object_of_json~key_of_string:TableMaintenanceJobType.of_string~of_json:TableMaintenanceJobStatusValue.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleTableMaintenanceConfiguration=structtypenonrect=(TableMaintenanceType.t*TableMaintenanceConfigurationValue.t)listletmakei=iletof_headerxs=make(List.filter_mapxs~f:(fun(k,v)->(Base.String.chop_prefixk~prefix:"x-amz-meta-")|>(Option.map~f:(funchopped->let(_:string)=vinlet(_:string)=choppedinfailwith"no of_header for complex types TableMaintenanceType TableMaintenanceConfigurationValue"))))letto_valuexs=(xs|>(List.map~f:(fun(x,y)->(TableMaintenanceType.to_valuex)|>(funx->(TableMaintenanceConfigurationValue.to_valuey)|>(funy->(x,y))))))|>(funx->`Mapx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for Map_shape objects"()letof_xml_=failwith"of_xml_converter_of_shape: Map_shape case not implemented"letof_jsonj=object_of_json~key_of_string:TableMaintenanceType.of_string~of_json:TableMaintenanceConfigurationValue.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleTableBucketMaintenanceConfiguration=structtypenonrect=(TableBucketMaintenanceType.t*TableBucketMaintenanceConfigurationValue.t)listletmakei=iletof_headerxs=make(List.filter_mapxs~f:(fun(k,v)->(Base.String.chop_prefixk~prefix:"x-amz-meta-")|>(Option.map~f:(funchopped->let(_:string)=vinlet(_:string)=choppedinfailwith"no of_header for complex types TableBucketMaintenanceType TableBucketMaintenanceConfigurationValue"))))letto_valuexs=(xs|>(List.map~f:(fun(x,y)->(TableBucketMaintenanceType.to_valuex)|>(funx->(TableBucketMaintenanceConfigurationValue.to_valuey)|>(funy->(x,y))))))|>(funx->`Mapx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for Map_shape objects"()letof_xml_=failwith"of_xml_converter_of_shape: Map_shape case not implemented"letof_jsonj=object_of_json~key_of_string:TableBucketMaintenanceType.of_string~of_json:TableBucketMaintenanceConfigurationValue.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleTableMetadata=structtypenonrect={iceberg:IcebergMetadata.toption[@ocaml.doc"Contains details about the metadata of an Iceberg table."]}letmake?iceberg=fun()->{iceberg}letto_valuex=structure_to_value[("iceberg",(Option.mapx.iceberg~f:IcebergMetadata.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=leticeberg=(Option.map~f:IcebergMetadata.of_xml)(Xml.childxml_arg0"iceberg")inmake?iceberg()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=leticeberg=field_mapjson__"iceberg"IcebergMetadata.of_jsoninmake?iceberg()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Contains details about the table metadata."]moduleCreateNamespaceRequestNamespaceList=structtypenonrect=NamespaceName.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:NamespaceName.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:NamespaceName.of_xml)letof_jsonj=list_of_json~kind:"CreateNamespaceRequestNamespaceList"~of_json:NamespaceName.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleUpdateTableMetadataLocationResponse=structtypenonrect={name:TableName.toption[@ocaml.doc"The name of the table."];tableARN:TableARN.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the table."];namespace:NamespaceList.toption[@ocaml.doc"The namespace the table is associated with."];versionToken:VersionToken.toption[@ocaml.doc"The version token of the table."];metadataLocation:MetadataLocation.toption[@ocaml.doc"The metadata location of the table."]}typenonrecerror=[`BadRequestExceptionofBadRequestException.t|`ConflictExceptionofConflictException.t|`ForbiddenExceptionofForbiddenException.t|`InternalServerErrorExceptionofInternalServerErrorException.t|`NotFoundExceptionofNotFoundException.t|`TooManyRequestsExceptionofTooManyRequestsException.t|`Unknown_operation_errorof(string*stringoption)]letmake?name=fun?tableARN->fun?namespace->fun?versionToken->fun?metadataLocation->fun()->{name;tableARN;namespace;versionToken;metadataLocation}leterror_of_jsonnamejson=matchnamewith|"BadRequestException"->`BadRequestException(BadRequestException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_jsonjson)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_jsonjson)|"NotFoundException"->`NotFoundException(NotFoundException.of_jsonjson)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestException"->`BadRequestException(BadRequestException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_xmlxml)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_xmlxml)|"NotFoundException"->`NotFoundException(NotFoundException.of_xmlxml)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestExceptione->`Assoc[("error",(`String"BadRequestException"));("details",(BadRequestException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`ForbiddenExceptione->`Assoc[("error",(`String"ForbiddenException"));("details",(ForbiddenException.to_jsone))]|`InternalServerErrorExceptione->`Assoc[("error",(`String"InternalServerErrorException"));("details",(InternalServerErrorException.to_jsone))]|`NotFoundExceptione->`Assoc[("error",(`String"NotFoundException"));("details",(NotFoundException.to_jsone))]|`TooManyRequestsExceptione->`Assoc[("error",(`String"TooManyRequestsException"));("details",(TooManyRequestsException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("name",(Option.mapx.name~f:TableName.to_value));("tableARN",(Option.mapx.tableARN~f:TableARN.to_value));("namespace",(Option.mapx.namespace~f:NamespaceList.to_value));("versionToken",(Option.mapx.versionToken~f:VersionToken.to_value));("metadataLocation",(Option.mapx.metadataLocation~f:MetadataLocation.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmetadataLocation=(Option.map~f:MetadataLocation.of_xml)(Xml.childxml_arg0"metadataLocation")inletversionToken=(Option.map~f:VersionToken.of_xml)(Xml.childxml_arg0"versionToken")inletnamespace=(Option.map~f:NamespaceList.of_xml)(Xml.childxml_arg0"namespace")inlettableARN=(Option.map~f:TableARN.of_xml)(Xml.childxml_arg0"tableARN")inletname=(Option.map~f:TableName.of_xml)(Xml.childxml_arg0"name")inmake?metadataLocation?versionToken?namespace?tableARN?name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmetadataLocation=field_mapjson__"metadataLocation"MetadataLocation.of_jsoninletversionToken=field_mapjson__"versionToken"VersionToken.of_jsoninletnamespace=field_mapjson__"namespace"NamespaceList.of_jsoninlettableARN=field_mapjson__"tableARN"TableARN.of_jsoninletname=field_mapjson__"name"TableName.of_jsoninmake?metadataLocation?versionToken?namespace?tableARN?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates the metadata location for a table. The metadata location of a table must be an S3 URI that begins with the table's warehouse location. The metadata location for an Apache Iceberg table must end with .metadata.json, or if the metadata file is Gzip-compressed, .metadata.json.gz. Permissions You must have the s3tables:UpdateTableMetadataLocation permission to use this operation."]moduleUpdateTableMetadataLocationRequest=structtypenonrect={tableBucketARN:TableBucketARN.t[@ocaml.doc"The Amazon Resource Name (ARN) of the table bucket."];namespace:NamespaceName.t[@ocaml.doc"The namespace of the table."];name:TableName.t[@ocaml.doc"The name of the table."];versionToken:VersionToken.t[@ocaml.doc"The version token of the table."];metadataLocation:MetadataLocation.t[@ocaml.doc"The new metadata location for the table."]}letcontext_="UpdateTableMetadataLocationRequest"letmake~tableBucketARN=fun~namespace->fun~name->fun~versionToken->fun~metadataLocation->fun()->{tableBucketARN;namespace;name;versionToken;metadataLocation}letto_valuex=structure_to_value[("tableBucketARN",(Some(TableBucketARN.to_valuex.tableBucketARN)));("namespace",(Some(NamespaceName.to_valuex.namespace)));("name",(Some(TableName.to_valuex.name)));("versionToken",(Some(VersionToken.to_valuex.versionToken)));("metadataLocation",(Some(MetadataLocation.to_valuex.metadataLocation)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmetadataLocation=MetadataLocation.of_xml(Xml.child_exn~context:context_xml_arg0"metadataLocation")inletversionToken=VersionToken.of_xml(Xml.child_exn~context:context_xml_arg0"versionToken")inletname=TableName.of_xml(Xml.child_exn~context:context_xml_arg0"name")inletnamespace=NamespaceName.of_xml(Xml.child_exn~context:context_xml_arg0"namespace")inlettableBucketARN=TableBucketARN.of_xml(Xml.child_exn~context:context_xml_arg0"tableBucketARN")inmake~metadataLocation~versionToken~name~namespace~tableBucketARN()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmetadataLocation=field_map_exnjson__"metadataLocation"MetadataLocation.of_jsoninletversionToken=field_map_exnjson__"versionToken"VersionToken.of_jsoninletname=field_map_exnjson__"name"TableName.of_jsoninletnamespace=field_map_exnjson__"namespace"NamespaceName.of_jsoninlettableBucketARN=field_map_exnjson__"tableBucketARN"TableBucketARN.of_jsoninmake~metadataLocation~versionToken~name~namespace~tableBucketARN()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates the metadata location for a table. The metadata location of a table must be an S3 URI that begins with the table's warehouse location. The metadata location for an Apache Iceberg table must end with .metadata.json, or if the metadata file is Gzip-compressed, .metadata.json.gz. Permissions You must have the s3tables:UpdateTableMetadataLocation permission to use this operation."]moduleUntagResourceResponse=structtypenonrect=unittypenonrecerror=[`BadRequestExceptionofBadRequestException.t|`ConflictExceptionofConflictException.t|`ForbiddenExceptionofForbiddenException.t|`InternalServerErrorExceptionofInternalServerErrorException.t|`NotFoundExceptionofNotFoundException.t|`TooManyRequestsExceptionofTooManyRequestsException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"BadRequestException"->`BadRequestException(BadRequestException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_jsonjson)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_jsonjson)|"NotFoundException"->`NotFoundException(NotFoundException.of_jsonjson)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestException"->`BadRequestException(BadRequestException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_xmlxml)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_xmlxml)|"NotFoundException"->`NotFoundException(NotFoundException.of_xmlxml)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestExceptione->`Assoc[("error",(`String"BadRequestException"));("details",(BadRequestException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`ForbiddenExceptione->`Assoc[("error",(`String"ForbiddenException"));("details",(ForbiddenException.to_jsone))]|`InternalServerErrorExceptione->`Assoc[("error",(`String"InternalServerErrorException"));("details",(InternalServerErrorException.to_jsone))]|`NotFoundExceptione->`Assoc[("error",(`String"NotFoundException"));("details",(NotFoundException.to_jsone))]|`TooManyRequestsExceptione->`Assoc[("error",(`String"TooManyRequestsException"));("details",(TooManyRequestsException.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"Removes the specified user-defined tags from an Amazon S3 Tables resource. You can pass one or more tag keys. For a list of S3 resources that support tagging, see Managing tags for Amazon S3 resources. Permissions For tables and table buckets, you must have the s3tables:UntagResource permission to use this operation."]moduleUntagResourceRequest=structtypenonrect={resourceArn:ResourceArn.t[@ocaml.doc"The Amazon Resource Name (ARN) of the Amazon S3 Tables resource that you're removing tags from. The tagged resource can be a table bucket or a table. For a list of all S3 resources that support tagging, see Managing tags for Amazon S3 resources."];tagKeys:TagKeyList.t[@ocaml.doc"The array of tag keys that you're removing from the S3 Tables resource. For more information, see Tagging for cost allocation or attribute-based access control (ABAC)."]}letcontext_="UntagResourceRequest"letmake~resourceArn=fun~tagKeys->fun()->{resourceArn;tagKeys}letto_valuex=structure_to_value[("resourceArn",(Some(ResourceArn.to_valuex.resourceArn)));("tagKeys",(Some(TagKeyList.to_valuex.tagKeys)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettagKeys=TagKeyList.of_xml(Xml.child_exn~context:context_xml_arg0"tagKeys")inletresourceArn=ResourceArn.of_xml(Xml.child_exn~context:context_xml_arg0"resourceArn")inmake~tagKeys~resourceArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettagKeys=field_map_exnjson__"tagKeys"TagKeyList.of_jsoninletresourceArn=field_map_exnjson__"resourceArn"ResourceArn.of_jsoninmake~tagKeys~resourceArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Removes the specified user-defined tags from an Amazon S3 Tables resource. You can pass one or more tag keys. For a list of S3 resources that support tagging, see Managing tags for Amazon S3 resources. Permissions For tables and table buckets, you must have the s3tables:UntagResource permission to use this operation."]moduleTagResourceResponse=structtypenonrect=unittypenonrecerror=[`BadRequestExceptionofBadRequestException.t|`ConflictExceptionofConflictException.t|`ForbiddenExceptionofForbiddenException.t|`InternalServerErrorExceptionofInternalServerErrorException.t|`NotFoundExceptionofNotFoundException.t|`TooManyRequestsExceptionofTooManyRequestsException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"BadRequestException"->`BadRequestException(BadRequestException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_jsonjson)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_jsonjson)|"NotFoundException"->`NotFoundException(NotFoundException.of_jsonjson)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestException"->`BadRequestException(BadRequestException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_xmlxml)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_xmlxml)|"NotFoundException"->`NotFoundException(NotFoundException.of_xmlxml)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestExceptione->`Assoc[("error",(`String"BadRequestException"));("details",(BadRequestException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`ForbiddenExceptione->`Assoc[("error",(`String"ForbiddenException"));("details",(ForbiddenException.to_jsone))]|`InternalServerErrorExceptione->`Assoc[("error",(`String"InternalServerErrorException"));("details",(InternalServerErrorException.to_jsone))]|`NotFoundExceptione->`Assoc[("error",(`String"NotFoundException"));("details",(NotFoundException.to_jsone))]|`TooManyRequestsExceptione->`Assoc[("error",(`String"TooManyRequestsException"));("details",(TooManyRequestsException.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"Applies one or more user-defined tags to an Amazon S3 Tables resource or updates existing tags. Each tag is a label consisting of a key and value pair. Tags can help you organize, track costs for, and control access to your resources. You can add up to 50 tags for each S3 resource. For a list of S3 resources that support tagging, see Managing tags for Amazon S3 resources. Permissions For tables and table buckets, you must have the s3tables:TagResource permission to use this operation."]moduleTagResourceRequest=structtypenonrect={resourceArn:ResourceArn.t[@ocaml.doc"The Amazon Resource Name (ARN) of the Amazon S3 Tables resource that you're applying tags to. The tagged resource can be a table bucket or a table. For a list of all S3 resources that support tagging, see Managing tags for Amazon S3 resources."];tags:Tags.t[@ocaml.doc"The user-defined tag that you want to add to the specified S3 Tables resource. For more information, see Tagging for cost allocation or attribute-based access control (ABAC)."]}letcontext_="TagResourceRequest"letmake~resourceArn=fun~tags->fun()->{resourceArn;tags}letto_valuex=structure_to_value[("resourceArn",(Some(ResourceArn.to_valuex.resourceArn)));("tags",(Some(Tags.to_valuex.tags)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettags=Tags.of_xml(Xml.child_exn~context:context_xml_arg0"tags")inletresourceArn=ResourceArn.of_xml(Xml.child_exn~context:context_xml_arg0"resourceArn")inmake~tags~resourceArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_map_exnjson__"tags"Tags.of_jsoninletresourceArn=field_map_exnjson__"resourceArn"ResourceArn.of_jsoninmake~tags~resourceArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Applies one or more user-defined tags to an Amazon S3 Tables resource or updates existing tags. Each tag is a label consisting of a key and value pair. Tags can help you organize, track costs for, and control access to your resources. You can add up to 50 tags for each S3 resource. For a list of S3 resources that support tagging, see Managing tags for Amazon S3 resources. Permissions For tables and table buckets, you must have the s3tables:TagResource permission to use this operation."]moduleRenameTableRequest=structtypenonrect={tableBucketARN:TableBucketARN.t[@ocaml.doc"The Amazon Resource Name (ARN) of the table bucket."];namespace:NamespaceName.t[@ocaml.doc"The namespace associated with the table."];name:TableName.t[@ocaml.doc"The current name of the table."];newNamespaceName:NamespaceName.toption[@ocaml.doc"The new name for the namespace."];newName:TableName.toption[@ocaml.doc"The new name for the table."];versionToken:VersionToken.toption[@ocaml.doc"The version token of the table."]}letcontext_="RenameTableRequest"letmake?newNamespaceName=fun?newName->fun?versionToken->fun~tableBucketARN->fun~namespace->fun~name->fun()->{newNamespaceName;newName;versionToken;tableBucketARN;namespace;name}letto_valuex=structure_to_value[("tableBucketARN",(Some(TableBucketARN.to_valuex.tableBucketARN)));("namespace",(Some(NamespaceName.to_valuex.namespace)));("name",(Some(TableName.to_valuex.name)));("newNamespaceName",(Option.mapx.newNamespaceName~f:NamespaceName.to_value));("newName",(Option.mapx.newName~f:TableName.to_value));("versionToken",(Option.mapx.versionToken~f:VersionToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letversionToken=(Option.map~f:VersionToken.of_xml)(Xml.childxml_arg0"versionToken")inletnewName=(Option.map~f:TableName.of_xml)(Xml.childxml_arg0"newName")inletnewNamespaceName=(Option.map~f:NamespaceName.of_xml)(Xml.childxml_arg0"newNamespaceName")inletname=TableName.of_xml(Xml.child_exn~context:context_xml_arg0"name")inletnamespace=NamespaceName.of_xml(Xml.child_exn~context:context_xml_arg0"namespace")inlettableBucketARN=TableBucketARN.of_xml(Xml.child_exn~context:context_xml_arg0"tableBucketARN")inmake?versionToken?newName?newNamespaceName~name~namespace~tableBucketARN()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letversionToken=field_mapjson__"versionToken"VersionToken.of_jsoninletnewName=field_mapjson__"newName"TableName.of_jsoninletnewNamespaceName=field_mapjson__"newNamespaceName"NamespaceName.of_jsoninletname=field_map_exnjson__"name"TableName.of_jsoninletnamespace=field_map_exnjson__"namespace"NamespaceName.of_jsoninlettableBucketARN=field_map_exnjson__"tableBucketARN"TableBucketARN.of_jsoninmake?versionToken?newName?newNamespaceName~name~namespace~tableBucketARN()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Renames a table or a namespace. For more information, see S3 Tables in the Amazon Simple Storage Service User Guide. Permissions You must have the s3tables:RenameTable permission to use this operation."]modulePutTableReplicationResponse=structtypenonrect={versionToken:String_.toption[@ocaml.doc"A new version token representing the updated replication configuration."];status:String_.toption[@ocaml.doc"The status of the replication configuration operation."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`BadRequestExceptionofBadRequestException.t|`ConflictExceptionofConflictException.t|`ForbiddenExceptionofForbiddenException.t|`InternalServerErrorExceptionofInternalServerErrorException.t|`NotFoundExceptionofNotFoundException.t|`TooManyRequestsExceptionofTooManyRequestsException.t|`Unknown_operation_errorof(string*stringoption)]letmake?versionToken=fun?status->fun()->{versionToken;status}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"BadRequestException"->`BadRequestException(BadRequestException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_jsonjson)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_jsonjson)|"NotFoundException"->`NotFoundException(NotFoundException.of_jsonjson)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"BadRequestException"->`BadRequestException(BadRequestException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_xmlxml)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_xmlxml)|"NotFoundException"->`NotFoundException(NotFoundException.of_xmlxml)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`BadRequestExceptione->`Assoc[("error",(`String"BadRequestException"));("details",(BadRequestException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`ForbiddenExceptione->`Assoc[("error",(`String"ForbiddenException"));("details",(ForbiddenException.to_jsone))]|`InternalServerErrorExceptione->`Assoc[("error",(`String"InternalServerErrorException"));("details",(InternalServerErrorException.to_jsone))]|`NotFoundExceptione->`Assoc[("error",(`String"NotFoundException"));("details",(NotFoundException.to_jsone))]|`TooManyRequestsExceptione->`Assoc[("error",(`String"TooManyRequestsException"));("details",(TooManyRequestsException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("versionToken",(Option.mapx.versionToken~f:String_.to_value));("status",(Option.mapx.status~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstatus=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"status")inletversionToken=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"versionToken")inmake?status?versionToken()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstatus=field_mapjson__"status"String_.of_jsoninletversionToken=field_mapjson__"versionToken"String_.of_jsoninmake?status?versionToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates or updates the replication configuration for a specific table. This operation allows you to define table-level replication independently of bucket-level replication, providing granular control over which tables are replicated and where. Permissions You must have the s3tables:PutTableReplication permission to use this operation. The IAM role specified in the configuration must have permissions to read from the source table and write to all destination tables. You must also have the following permissions: s3tables:GetTable permission on the source table being replicated. s3tables:CreateTable permission for the destination. s3tables:CreateNamespace permission for the destination. s3tables:GetTableMaintenanceConfig permission for the source table. s3tables:PutTableMaintenanceConfig permission for the destination table. You must have iam:PassRole permission with condition allowing roles to be passed to replication.s3tables.amazonaws.com."]modulePutTableReplicationRequest=structtypenonrect={tableArn:TableARN.t[@ocaml.doc"The Amazon Resource Name (ARN) of the source table."];versionToken:String_.toption[@ocaml.doc"A version token from a previous GetTableReplication call. Use this token to ensure you're updating the expected version of the configuration."];configuration:TableReplicationConfiguration.t[@ocaml.doc"The replication configuration to apply to the table, including the IAM role and replication rules."]}letcontext_="PutTableReplicationRequest"letmake?versionToken=fun~tableArn->fun~configuration->fun()->{versionToken;tableArn;configuration}letto_valuex=structure_to_value[("tableArn",(Some(TableARN.to_valuex.tableArn)));("versionToken",(Option.mapx.versionToken~f:String_.to_value));("configuration",(Some(TableReplicationConfiguration.to_valuex.configuration)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letconfiguration=TableReplicationConfiguration.of_xml(Xml.child_exn~context:context_xml_arg0"configuration")inletversionToken=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"versionToken")inlettableArn=TableARN.of_xml(Xml.child_exn~context:context_xml_arg0"tableArn")inmake~configuration?versionToken~tableArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letconfiguration=field_map_exnjson__"configuration"TableReplicationConfiguration.of_jsoninletversionToken=field_mapjson__"versionToken"String_.of_jsoninlettableArn=field_map_exnjson__"tableArn"TableARN.of_jsoninmake~configuration?versionToken~tableArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates or updates the replication configuration for a specific table. This operation allows you to define table-level replication independently of bucket-level replication, providing granular control over which tables are replicated and where. Permissions You must have the s3tables:PutTableReplication permission to use this operation. The IAM role specified in the configuration must have permissions to read from the source table and write to all destination tables. You must also have the following permissions: s3tables:GetTable permission on the source table being replicated. s3tables:CreateTable permission for the destination. s3tables:CreateNamespace permission for the destination. s3tables:GetTableMaintenanceConfig permission for the source table. s3tables:PutTableMaintenanceConfig permission for the destination table. You must have iam:PassRole permission with condition allowing roles to be passed to replication.s3tables.amazonaws.com."]modulePutTableRecordExpirationConfigurationRequest=structtypenonrect={tableArn:TableARN.t[@ocaml.doc"The Amazon Resource Name (ARN) of the table."];value:TableRecordExpirationConfigurationValue.t[@ocaml.doc"The record expiration configuration to apply to the table, including the status (enabled or disabled) and retention period in days."]}letcontext_="PutTableRecordExpirationConfigurationRequest"letmake~tableArn=fun~value->fun()->{tableArn;value}letto_valuex=structure_to_value[("tableArn",(Some(TableARN.to_valuex.tableArn)));("value",(Some(TableRecordExpirationConfigurationValue.to_valuex.value)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvalue=TableRecordExpirationConfigurationValue.of_xml(Xml.child_exn~context:context_xml_arg0"value")inlettableArn=TableARN.of_xml(Xml.child_exn~context:context_xml_arg0"tableArn")inmake~value~tableArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvalue=field_map_exnjson__"value"TableRecordExpirationConfigurationValue.of_jsoninlettableArn=field_map_exnjson__"tableArn"TableARN.of_jsoninmake~value~tableArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates or updates the expiration configuration settings for records in a table, including the status of the configuration. If you enable record expiration for a table, records expire and are automatically removed from the table after the number of days that you specify. Permissions You must have the s3tables:PutTableRecordExpirationConfiguration permission to use this operation."]modulePutTablePolicyRequest=structtypenonrect={tableBucketARN:TableBucketARN.t[@ocaml.doc"The Amazon Resource Name (ARN) of the table bucket that contains the table."];namespace:NamespaceName.t[@ocaml.doc"The namespace associated with the table."];name:TableName.t[@ocaml.doc"The name of the table."];resourcePolicy:ResourcePolicy.t[@ocaml.doc"The JSON that defines the policy."]}letcontext_="PutTablePolicyRequest"letmake~tableBucketARN=fun~namespace->fun~name->fun~resourcePolicy->fun()->{tableBucketARN;namespace;name;resourcePolicy}letto_valuex=structure_to_value[("tableBucketARN",(Some(TableBucketARN.to_valuex.tableBucketARN)));("namespace",(Some(NamespaceName.to_valuex.namespace)));("name",(Some(TableName.to_valuex.name)));("resourcePolicy",(Some(ResourcePolicy.to_valuex.resourcePolicy)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresourcePolicy=ResourcePolicy.of_xml(Xml.child_exn~context:context_xml_arg0"resourcePolicy")inletname=TableName.of_xml(Xml.child_exn~context:context_xml_arg0"name")inletnamespace=NamespaceName.of_xml(Xml.child_exn~context:context_xml_arg0"namespace")inlettableBucketARN=TableBucketARN.of_xml(Xml.child_exn~context:context_xml_arg0"tableBucketARN")inmake~resourcePolicy~name~namespace~tableBucketARN()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresourcePolicy=field_map_exnjson__"resourcePolicy"ResourcePolicy.of_jsoninletname=field_map_exnjson__"name"TableName.of_jsoninletnamespace=field_map_exnjson__"namespace"NamespaceName.of_jsoninlettableBucketARN=field_map_exnjson__"tableBucketARN"TableBucketARN.of_jsoninmake~resourcePolicy~name~namespace~tableBucketARN()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a new table policy or replaces an existing table policy for a table. For more information, see Adding a table policy in the Amazon Simple Storage Service User Guide. Permissions You must have the s3tables:PutTablePolicy permission to use this operation."]modulePutTableMaintenanceConfigurationRequest=structtypenonrect={tableBucketARN:TableBucketARN.t[@ocaml.doc"The Amazon Resource Name (ARN) of the table associated with the maintenance configuration."];namespace:NamespaceName.t[@ocaml.doc"The namespace of the table."];name:TableName.t[@ocaml.doc"The name of the table."];type_:TableMaintenanceType.t[@ocaml.doc"The type of the maintenance configuration."];value:TableMaintenanceConfigurationValue.t[@ocaml.doc"Defines the values of the maintenance configuration for the table."]}letcontext_="PutTableMaintenanceConfigurationRequest"letmake~tableBucketARN=fun~namespace->fun~name->fun~type_->fun~value->fun()->{tableBucketARN;namespace;name;type_;value}letto_valuex=structure_to_value[("tableBucketARN",(Some(TableBucketARN.to_valuex.tableBucketARN)));("namespace",(Some(NamespaceName.to_valuex.namespace)));("name",(Some(TableName.to_valuex.name)));("type",(Some(TableMaintenanceType.to_valuex.type_)));("value",(Some(TableMaintenanceConfigurationValue.to_valuex.value)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvalue=TableMaintenanceConfigurationValue.of_xml(Xml.child_exn~context:context_xml_arg0"value")inlettype_=TableMaintenanceType.of_xml(Xml.child_exn~context:context_xml_arg0"type")inletname=TableName.of_xml(Xml.child_exn~context:context_xml_arg0"name")inletnamespace=NamespaceName.of_xml(Xml.child_exn~context:context_xml_arg0"namespace")inlettableBucketARN=TableBucketARN.of_xml(Xml.child_exn~context:context_xml_arg0"tableBucketARN")inmake~value~type_~name~namespace~tableBucketARN()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvalue=field_map_exnjson__"value"TableMaintenanceConfigurationValue.of_jsoninlettype_=field_map_exnjson__"type"TableMaintenanceType.of_jsoninletname=field_map_exnjson__"name"TableName.of_jsoninletnamespace=field_map_exnjson__"namespace"NamespaceName.of_jsoninlettableBucketARN=field_map_exnjson__"tableBucketARN"TableBucketARN.of_jsoninmake~value~type_~name~namespace~tableBucketARN()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a new maintenance configuration or replaces an existing maintenance configuration for a table. For more information, see S3 Tables maintenance in the Amazon Simple Storage Service User Guide. Permissions You must have the s3tables:PutTableMaintenanceConfiguration permission to use this operation."]modulePutTableBucketStorageClassRequest=structtypenonrect={tableBucketARN:TableBucketARN.t[@ocaml.doc"The Amazon Resource Name (ARN) of the table bucket."];storageClassConfiguration:StorageClassConfiguration.t[@ocaml.doc"The storage class configuration to apply to the table bucket. This configuration will serve as the default for new tables created in this bucket."]}letcontext_="PutTableBucketStorageClassRequest"letmake~tableBucketARN=fun~storageClassConfiguration->fun()->{tableBucketARN;storageClassConfiguration}letto_valuex=structure_to_value[("tableBucketARN",(Some(TableBucketARN.to_valuex.tableBucketARN)));("storageClassConfiguration",(Some(StorageClassConfiguration.to_valuex.storageClassConfiguration)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstorageClassConfiguration=StorageClassConfiguration.of_xml(Xml.child_exn~context:context_xml_arg0"storageClassConfiguration")inlettableBucketARN=TableBucketARN.of_xml(Xml.child_exn~context:context_xml_arg0"tableBucketARN")inmake~storageClassConfiguration~tableBucketARN()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstorageClassConfiguration=field_map_exnjson__"storageClassConfiguration"StorageClassConfiguration.of_jsoninlettableBucketARN=field_map_exnjson__"tableBucketARN"TableBucketARN.of_jsoninmake~storageClassConfiguration~tableBucketARN()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Sets or updates the storage class configuration for a table bucket. This configuration serves as the default storage class for all new tables created in the bucket, allowing you to optimize storage costs at the bucket level. Permissions You must have the s3tables:PutTableBucketStorageClass permission to use this operation."]modulePutTableBucketReplicationResponse=structtypenonrect={versionToken:VersionToken.toption[@ocaml.doc"A new version token representing the updated replication configuration."];status:String_.toption[@ocaml.doc"The status of the replication configuration operation."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`BadRequestExceptionofBadRequestException.t|`ConflictExceptionofConflictException.t|`ForbiddenExceptionofForbiddenException.t|`InternalServerErrorExceptionofInternalServerErrorException.t|`NotFoundExceptionofNotFoundException.t|`TooManyRequestsExceptionofTooManyRequestsException.t|`Unknown_operation_errorof(string*stringoption)]letmake?versionToken=fun?status->fun()->{versionToken;status}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"BadRequestException"->`BadRequestException(BadRequestException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_jsonjson)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_jsonjson)|"NotFoundException"->`NotFoundException(NotFoundException.of_jsonjson)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"BadRequestException"->`BadRequestException(BadRequestException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_xmlxml)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_xmlxml)|"NotFoundException"->`NotFoundException(NotFoundException.of_xmlxml)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`BadRequestExceptione->`Assoc[("error",(`String"BadRequestException"));("details",(BadRequestException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`ForbiddenExceptione->`Assoc[("error",(`String"ForbiddenException"));("details",(ForbiddenException.to_jsone))]|`InternalServerErrorExceptione->`Assoc[("error",(`String"InternalServerErrorException"));("details",(InternalServerErrorException.to_jsone))]|`NotFoundExceptione->`Assoc[("error",(`String"NotFoundException"));("details",(NotFoundException.to_jsone))]|`TooManyRequestsExceptione->`Assoc[("error",(`String"TooManyRequestsException"));("details",(TooManyRequestsException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("versionToken",(Option.mapx.versionToken~f:VersionToken.to_value));("status",(Option.mapx.status~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstatus=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"status")inletversionToken=(Option.map~f:VersionToken.of_xml)(Xml.childxml_arg0"versionToken")inmake?status?versionToken()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstatus=field_mapjson__"status"String_.of_jsoninletversionToken=field_mapjson__"versionToken"VersionToken.of_jsoninmake?status?versionToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates or updates the replication configuration for a table bucket. This operation defines how tables in the source bucket are replicated to destination buckets. Replication helps ensure data availability and disaster recovery across regions or accounts. Permissions You must have the s3tables:PutTableBucketReplication permission to use this operation. The IAM role specified in the configuration must have permissions to read from the source bucket and write permissions to all destination buckets. You must also have the following permissions: s3tables:GetTable permission on the source table. s3tables:ListTables permission on the bucket containing the table. s3tables:CreateTable permission for the destination. s3tables:CreateNamespace permission for the destination. s3tables:GetTableMaintenanceConfig permission for the source bucket. s3tables:PutTableMaintenanceConfig permission for the destination bucket. You must have iam:PassRole permission with condition allowing roles to be passed to replication.s3tables.amazonaws.com."]modulePutTableBucketReplicationRequest=structtypenonrect={tableBucketARN:TableBucketARN.t[@ocaml.doc"The Amazon Resource Name (ARN) of the source table bucket."];versionToken:VersionToken.toption[@ocaml.doc"A version token from a previous GetTableBucketReplication call. Use this token to ensure you're updating the expected version of the configuration."];configuration:TableBucketReplicationConfiguration.t[@ocaml.doc"The replication configuration to apply, including the IAM role and replication rules."]}letcontext_="PutTableBucketReplicationRequest"letmake?versionToken=fun~tableBucketARN->fun~configuration->fun()->{versionToken;tableBucketARN;configuration}letto_valuex=structure_to_value[("tableBucketARN",(Some(TableBucketARN.to_valuex.tableBucketARN)));("versionToken",(Option.mapx.versionToken~f:VersionToken.to_value));("configuration",(Some(TableBucketReplicationConfiguration.to_valuex.configuration)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letconfiguration=TableBucketReplicationConfiguration.of_xml(Xml.child_exn~context:context_xml_arg0"configuration")inletversionToken=(Option.map~f:VersionToken.of_xml)(Xml.childxml_arg0"versionToken")inlettableBucketARN=TableBucketARN.of_xml(Xml.child_exn~context:context_xml_arg0"tableBucketARN")inmake~configuration?versionToken~tableBucketARN()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letconfiguration=field_map_exnjson__"configuration"TableBucketReplicationConfiguration.of_jsoninletversionToken=field_mapjson__"versionToken"VersionToken.of_jsoninlettableBucketARN=field_map_exnjson__"tableBucketARN"TableBucketARN.of_jsoninmake~configuration?versionToken~tableBucketARN()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates or updates the replication configuration for a table bucket. This operation defines how tables in the source bucket are replicated to destination buckets. Replication helps ensure data availability and disaster recovery across regions or accounts. Permissions You must have the s3tables:PutTableBucketReplication permission to use this operation. The IAM role specified in the configuration must have permissions to read from the source bucket and write permissions to all destination buckets. You must also have the following permissions: s3tables:GetTable permission on the source table. s3tables:ListTables permission on the bucket containing the table. s3tables:CreateTable permission for the destination. s3tables:CreateNamespace permission for the destination. s3tables:GetTableMaintenanceConfig permission for the source bucket. s3tables:PutTableMaintenanceConfig permission for the destination bucket. You must have iam:PassRole permission with condition allowing roles to be passed to replication.s3tables.amazonaws.com."]modulePutTableBucketPolicyRequest=structtypenonrect={tableBucketARN:TableBucketARN.t[@ocaml.doc"The Amazon Resource Name (ARN) of the table bucket."];resourcePolicy:ResourcePolicy.t[@ocaml.doc"The JSON that defines the policy."]}letcontext_="PutTableBucketPolicyRequest"letmake~tableBucketARN=fun~resourcePolicy->fun()->{tableBucketARN;resourcePolicy}letto_valuex=structure_to_value[("tableBucketARN",(Some(TableBucketARN.to_valuex.tableBucketARN)));("resourcePolicy",(Some(ResourcePolicy.to_valuex.resourcePolicy)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresourcePolicy=ResourcePolicy.of_xml(Xml.child_exn~context:context_xml_arg0"resourcePolicy")inlettableBucketARN=TableBucketARN.of_xml(Xml.child_exn~context:context_xml_arg0"tableBucketARN")inmake~resourcePolicy~tableBucketARN()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresourcePolicy=field_map_exnjson__"resourcePolicy"ResourcePolicy.of_jsoninlettableBucketARN=field_map_exnjson__"tableBucketARN"TableBucketARN.of_jsoninmake~resourcePolicy~tableBucketARN()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a new table bucket policy or replaces an existing table bucket policy for a table bucket. For more information, see Adding a table bucket policy in the Amazon Simple Storage Service User Guide. Permissions You must have the s3tables:PutTableBucketPolicy permission to use this operation."]modulePutTableBucketMetricsConfigurationRequest=structtypenonrect={tableBucketARN:TableBucketARN.t[@ocaml.doc"The Amazon Resource Name (ARN) of the table bucket."]}letcontext_="PutTableBucketMetricsConfigurationRequest"letmake~tableBucketARN=fun()->{tableBucketARN}letto_valuex=structure_to_value[("tableBucketARN",(Some(TableBucketARN.to_valuex.tableBucketARN)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettableBucketARN=TableBucketARN.of_xml(Xml.child_exn~context:context_xml_arg0"tableBucketARN")inmake~tableBucketARN()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettableBucketARN=field_map_exnjson__"tableBucketARN"TableBucketARN.of_jsoninmake~tableBucketARN()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Sets the metrics configuration for a table bucket. Permissions You must have the s3tables:PutTableBucketMetricsConfiguration permission to use this operation."]modulePutTableBucketMaintenanceConfigurationRequest=structtypenonrect={tableBucketARN:TableBucketARN.t[@ocaml.doc"The Amazon Resource Name (ARN) of the table bucket associated with the maintenance configuration."];type_:TableBucketMaintenanceType.t[@ocaml.doc"The type of the maintenance configuration."];value:TableBucketMaintenanceConfigurationValue.t[@ocaml.doc"Defines the values of the maintenance configuration for the table bucket."]}letcontext_="PutTableBucketMaintenanceConfigurationRequest"letmake~tableBucketARN=fun~type_->fun~value->fun()->{tableBucketARN;type_;value}letto_valuex=structure_to_value[("tableBucketARN",(Some(TableBucketARN.to_valuex.tableBucketARN)));("type",(Some(TableBucketMaintenanceType.to_valuex.type_)));("value",(Some(TableBucketMaintenanceConfigurationValue.to_valuex.value)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvalue=TableBucketMaintenanceConfigurationValue.of_xml(Xml.child_exn~context:context_xml_arg0"value")inlettype_=TableBucketMaintenanceType.of_xml(Xml.child_exn~context:context_xml_arg0"type")inlettableBucketARN=TableBucketARN.of_xml(Xml.child_exn~context:context_xml_arg0"tableBucketARN")inmake~value~type_~tableBucketARN()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvalue=field_map_exnjson__"value"TableBucketMaintenanceConfigurationValue.of_jsoninlettype_=field_map_exnjson__"type"TableBucketMaintenanceType.of_jsoninlettableBucketARN=field_map_exnjson__"tableBucketARN"TableBucketARN.of_jsoninmake~value~type_~tableBucketARN()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a new maintenance configuration or replaces an existing maintenance configuration for a table bucket. For more information, see Amazon S3 table bucket maintenance in the Amazon Simple Storage Service User Guide. Permissions You must have the s3tables:PutTableBucketMaintenanceConfiguration permission to use this operation."]modulePutTableBucketEncryptionRequest=structtypenonrect={tableBucketARN:TableBucketARN.t[@ocaml.doc"The Amazon Resource Name (ARN) of the table bucket."];encryptionConfiguration:EncryptionConfiguration.t[@ocaml.doc"The encryption configuration to apply to the table bucket."]}letcontext_="PutTableBucketEncryptionRequest"letmake~tableBucketARN=fun~encryptionConfiguration->fun()->{tableBucketARN;encryptionConfiguration}letto_valuex=structure_to_value[("tableBucketARN",(Some(TableBucketARN.to_valuex.tableBucketARN)));("encryptionConfiguration",(Some(EncryptionConfiguration.to_valuex.encryptionConfiguration)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letencryptionConfiguration=EncryptionConfiguration.of_xml(Xml.child_exn~context:context_xml_arg0"encryptionConfiguration")inlettableBucketARN=TableBucketARN.of_xml(Xml.child_exn~context:context_xml_arg0"tableBucketARN")inmake~encryptionConfiguration~tableBucketARN()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letencryptionConfiguration=field_map_exnjson__"encryptionConfiguration"EncryptionConfiguration.of_jsoninlettableBucketARN=field_map_exnjson__"tableBucketARN"TableBucketARN.of_jsoninmake~encryptionConfiguration~tableBucketARN()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Sets the encryption configuration for a table bucket. Permissions You must have the s3tables:PutTableBucketEncryption permission to use this operation. If you choose SSE-KMS encryption you must grant the S3 Tables maintenance principal access to your KMS key. For more information, see Permissions requirements for S3 Tables SSE-KMS encryption in the Amazon Simple Storage Service User Guide."]moduleListTagsForResourceResponse=structtypenonrect={tags:Tags.toption[@ocaml.doc"The user-defined tags that are applied to the resource. For more information, see Tagging for cost allocation or attribute-based access control (ABAC)."]}typenonrecerror=[`BadRequestExceptionofBadRequestException.t|`ConflictExceptionofConflictException.t|`ForbiddenExceptionofForbiddenException.t|`InternalServerErrorExceptionofInternalServerErrorException.t|`NotFoundExceptionofNotFoundException.t|`TooManyRequestsExceptionofTooManyRequestsException.t|`Unknown_operation_errorof(string*stringoption)]letmake?tags=fun()->{tags}leterror_of_jsonnamejson=matchnamewith|"BadRequestException"->`BadRequestException(BadRequestException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_jsonjson)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_jsonjson)|"NotFoundException"->`NotFoundException(NotFoundException.of_jsonjson)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestException"->`BadRequestException(BadRequestException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_xmlxml)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_xmlxml)|"NotFoundException"->`NotFoundException(NotFoundException.of_xmlxml)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestExceptione->`Assoc[("error",(`String"BadRequestException"));("details",(BadRequestException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`ForbiddenExceptione->`Assoc[("error",(`String"ForbiddenException"));("details",(ForbiddenException.to_jsone))]|`InternalServerErrorExceptione->`Assoc[("error",(`String"InternalServerErrorException"));("details",(InternalServerErrorException.to_jsone))]|`NotFoundExceptione->`Assoc[("error",(`String"NotFoundException"));("details",(NotFoundException.to_jsone))]|`TooManyRequestsExceptione->`Assoc[("error",(`String"TooManyRequestsException"));("details",(TooManyRequestsException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("tags",(Option.mapx.tags~f:Tags.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettags=(Option.map~f:Tags.of_xml)(Xml.childxml_arg0"tags")inmake?tags()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"tags"Tags.of_jsoninmake?tags()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists all of the tags applied to a specified Amazon S3 Tables resource. Each tag is a label consisting of a key and value pair. Tags can help you organize, track costs for, and control access to resources. For a list of S3 resources that support tagging, see Managing tags for Amazon S3 resources. Permissions For tables and table buckets, you must have the s3tables:ListTagsForResource permission to use this operation."]moduleListTagsForResourceRequest=structtypenonrect={resourceArn:ResourceArn.t[@ocaml.doc"The Amazon Resource Name (ARN) of the Amazon S3 Tables resource that you want to list tags for. The tagged resource can be a table bucket or a table. For a list of all S3 resources that support tagging, see Managing tags for Amazon S3 resources."]}letcontext_="ListTagsForResourceRequest"letmake~resourceArn=fun()->{resourceArn}letto_valuex=structure_to_value[("resourceArn",(Some(ResourceArn.to_valuex.resourceArn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresourceArn=ResourceArn.of_xml(Xml.child_exn~context:context_xml_arg0"resourceArn")inmake~resourceArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresourceArn=field_map_exnjson__"resourceArn"ResourceArn.of_jsoninmake~resourceArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists all of the tags applied to a specified Amazon S3 Tables resource. Each tag is a label consisting of a key and value pair. Tags can help you organize, track costs for, and control access to resources. For a list of S3 resources that support tagging, see Managing tags for Amazon S3 resources. Permissions For tables and table buckets, you must have the s3tables:ListTagsForResource permission to use this operation."]moduleListTablesResponse=structtypenonrect={tables:TableSummaryList.toption[@ocaml.doc"A list of tables."];continuationToken:NextToken.toption[@ocaml.doc"You can use this ContinuationToken for pagination of the list results."]}typenonrecerror=[`BadRequestExceptionofBadRequestException.t|`ConflictExceptionofConflictException.t|`ForbiddenExceptionofForbiddenException.t|`InternalServerErrorExceptionofInternalServerErrorException.t|`NotFoundExceptionofNotFoundException.t|`TooManyRequestsExceptionofTooManyRequestsException.t|`Unknown_operation_errorof(string*stringoption)]letmake?tables=fun?continuationToken->fun()->{tables;continuationToken}leterror_of_jsonnamejson=matchnamewith|"BadRequestException"->`BadRequestException(BadRequestException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_jsonjson)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_jsonjson)|"NotFoundException"->`NotFoundException(NotFoundException.of_jsonjson)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestException"->`BadRequestException(BadRequestException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_xmlxml)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_xmlxml)|"NotFoundException"->`NotFoundException(NotFoundException.of_xmlxml)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestExceptione->`Assoc[("error",(`String"BadRequestException"));("details",(BadRequestException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`ForbiddenExceptione->`Assoc[("error",(`String"ForbiddenException"));("details",(ForbiddenException.to_jsone))]|`InternalServerErrorExceptione->`Assoc[("error",(`String"InternalServerErrorException"));("details",(InternalServerErrorException.to_jsone))]|`NotFoundExceptione->`Assoc[("error",(`String"NotFoundException"));("details",(NotFoundException.to_jsone))]|`TooManyRequestsExceptione->`Assoc[("error",(`String"TooManyRequestsException"));("details",(TooManyRequestsException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("tables",(Option.mapx.tables~f:TableSummaryList.to_value));("continuationToken",(Option.mapx.continuationToken~f:NextToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcontinuationToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"continuationToken")inlettables=(Option.map~f:TableSummaryList.of_xml)(Xml.childxml_arg0"tables")inmake?continuationToken?tables()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcontinuationToken=field_mapjson__"continuationToken"NextToken.of_jsoninlettables=field_mapjson__"tables"TableSummaryList.of_jsoninmake?continuationToken?tables()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"List tables in the given table bucket. For more information, see S3 Tables in the Amazon Simple Storage Service User Guide. Permissions You must have the s3tables:ListTables permission to use this operation."]moduleListTablesRequest=structtypenonrect={tableBucketARN:TableBucketARN.t[@ocaml.doc"The Amazon resource Name (ARN) of the table bucket."];namespace:NamespaceName.toption[@ocaml.doc"The namespace of the tables."];prefix:ListTablesRequestPrefixString.toption[@ocaml.doc"The prefix of the tables."];continuationToken:NextToken.toption[@ocaml.doc"ContinuationToken indicates to Amazon S3 that the list is being continued on this bucket with a token. ContinuationToken is obfuscated and is not a real key. You can use this ContinuationToken for pagination of the list results."];maxTables:ListTablesLimit.toption[@ocaml.doc"The maximum number of tables to return."]}letcontext_="ListTablesRequest"letmake?namespace=fun?prefix->fun?continuationToken->fun?maxTables->fun~tableBucketARN->fun()->{namespace;prefix;continuationToken;maxTables;tableBucketARN}letto_valuex=structure_to_value[("tableBucketARN",(Some(TableBucketARN.to_valuex.tableBucketARN)));("namespace",(Option.mapx.namespace~f:NamespaceName.to_value));("prefix",(Option.mapx.prefix~f:ListTablesRequestPrefixString.to_value));("continuationToken",(Option.mapx.continuationToken~f:NextToken.to_value));("maxTables",(Option.mapx.maxTables~f:ListTablesLimit.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxTables=(Option.map~f:ListTablesLimit.of_xml)(Xml.childxml_arg0"maxTables")inletcontinuationToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"continuationToken")inletprefix=(Option.map~f:ListTablesRequestPrefixString.of_xml)(Xml.childxml_arg0"prefix")inletnamespace=(Option.map~f:NamespaceName.of_xml)(Xml.childxml_arg0"namespace")inlettableBucketARN=TableBucketARN.of_xml(Xml.child_exn~context:context_xml_arg0"tableBucketARN")inmake?maxTables?continuationToken?prefix?namespace~tableBucketARN()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxTables=field_mapjson__"maxTables"ListTablesLimit.of_jsoninletcontinuationToken=field_mapjson__"continuationToken"NextToken.of_jsoninletprefix=field_mapjson__"prefix"ListTablesRequestPrefixString.of_jsoninletnamespace=field_mapjson__"namespace"NamespaceName.of_jsoninlettableBucketARN=field_map_exnjson__"tableBucketARN"TableBucketARN.of_jsoninmake?maxTables?continuationToken?prefix?namespace~tableBucketARN()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"List tables in the given table bucket. For more information, see S3 Tables in the Amazon Simple Storage Service User Guide. Permissions You must have the s3tables:ListTables permission to use this operation."]moduleListTableBucketsResponse=structtypenonrect={tableBuckets:TableBucketSummaryList.toption[@ocaml.doc"A list of table buckets."];continuationToken:NextToken.toption[@ocaml.doc"You can use this ContinuationToken for pagination of the list results."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`BadRequestExceptionofBadRequestException.t|`ConflictExceptionofConflictException.t|`ForbiddenExceptionofForbiddenException.t|`InternalServerErrorExceptionofInternalServerErrorException.t|`NotFoundExceptionofNotFoundException.t|`TooManyRequestsExceptionofTooManyRequestsException.t|`Unknown_operation_errorof(string*stringoption)]letmake?tableBuckets=fun?continuationToken->fun()->{tableBuckets;continuationToken}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"BadRequestException"->`BadRequestException(BadRequestException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_jsonjson)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_jsonjson)|"NotFoundException"->`NotFoundException(NotFoundException.of_jsonjson)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"BadRequestException"->`BadRequestException(BadRequestException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_xmlxml)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_xmlxml)|"NotFoundException"->`NotFoundException(NotFoundException.of_xmlxml)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`BadRequestExceptione->`Assoc[("error",(`String"BadRequestException"));("details",(BadRequestException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`ForbiddenExceptione->`Assoc[("error",(`String"ForbiddenException"));("details",(ForbiddenException.to_jsone))]|`InternalServerErrorExceptione->`Assoc[("error",(`String"InternalServerErrorException"));("details",(InternalServerErrorException.to_jsone))]|`NotFoundExceptione->`Assoc[("error",(`String"NotFoundException"));("details",(NotFoundException.to_jsone))]|`TooManyRequestsExceptione->`Assoc[("error",(`String"TooManyRequestsException"));("details",(TooManyRequestsException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("tableBuckets",(Option.mapx.tableBuckets~f:TableBucketSummaryList.to_value));("continuationToken",(Option.mapx.continuationToken~f:NextToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcontinuationToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"continuationToken")inlettableBuckets=(Option.map~f:TableBucketSummaryList.of_xml)(Xml.childxml_arg0"tableBuckets")inmake?continuationToken?tableBuckets()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcontinuationToken=field_mapjson__"continuationToken"NextToken.of_jsoninlettableBuckets=field_mapjson__"tableBuckets"TableBucketSummaryList.of_jsoninmake?continuationToken?tableBuckets()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists table buckets for your account. For more information, see S3 Table buckets in the Amazon Simple Storage Service User Guide. Permissions You must have the s3tables:ListTableBuckets permission to use this operation."]moduleListTableBucketsRequest=structtypenonrect={prefix:ListTableBucketsRequestPrefixString.toption[@ocaml.doc"The prefix of the table buckets."];continuationToken:NextToken.toption[@ocaml.doc"ContinuationToken indicates to Amazon S3 that the list is being continued on this bucket with a token. ContinuationToken is obfuscated and is not a real key. You can use this ContinuationToken for pagination of the list results."];maxBuckets:ListTableBucketsLimit.toption[@ocaml.doc"The maximum number of table buckets to return in the list."];type_:TableBucketType.toption[@ocaml.doc"The type of table buckets to filter by in the list."]}letmake?prefix=fun?continuationToken->fun?maxBuckets->fun?type_->fun()->{prefix;continuationToken;maxBuckets;type_}letto_valuex=structure_to_value[("prefix",(Option.mapx.prefix~f:ListTableBucketsRequestPrefixString.to_value));("continuationToken",(Option.mapx.continuationToken~f:NextToken.to_value));("maxBuckets",(Option.mapx.maxBuckets~f:ListTableBucketsLimit.to_value));("type",(Option.mapx.type_~f:TableBucketType.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettype_=(Option.map~f:TableBucketType.of_xml)(Xml.childxml_arg0"type")inletmaxBuckets=(Option.map~f:ListTableBucketsLimit.of_xml)(Xml.childxml_arg0"maxBuckets")inletcontinuationToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"continuationToken")inletprefix=(Option.map~f:ListTableBucketsRequestPrefixString.of_xml)(Xml.childxml_arg0"prefix")inmake?type_?maxBuckets?continuationToken?prefix()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettype_=field_mapjson__"type"TableBucketType.of_jsoninletmaxBuckets=field_mapjson__"maxBuckets"ListTableBucketsLimit.of_jsoninletcontinuationToken=field_mapjson__"continuationToken"NextToken.of_jsoninletprefix=field_mapjson__"prefix"ListTableBucketsRequestPrefixString.of_jsoninmake?type_?maxBuckets?continuationToken?prefix()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists table buckets for your account. For more information, see S3 Table buckets in the Amazon Simple Storage Service User Guide. Permissions You must have the s3tables:ListTableBuckets permission to use this operation."]moduleListNamespacesResponse=structtypenonrect={namespaces:NamespaceSummaryList.toption[@ocaml.doc"A list of namespaces."];continuationToken:NextToken.toption[@ocaml.doc"The ContinuationToken for pagination of the list results."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`BadRequestExceptionofBadRequestException.t|`ConflictExceptionofConflictException.t|`ForbiddenExceptionofForbiddenException.t|`InternalServerErrorExceptionofInternalServerErrorException.t|`NotFoundExceptionofNotFoundException.t|`TooManyRequestsExceptionofTooManyRequestsException.t|`Unknown_operation_errorof(string*stringoption)]letmake?namespaces=fun?continuationToken->fun()->{namespaces;continuationToken}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"BadRequestException"->`BadRequestException(BadRequestException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_jsonjson)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_jsonjson)|"NotFoundException"->`NotFoundException(NotFoundException.of_jsonjson)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"BadRequestException"->`BadRequestException(BadRequestException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_xmlxml)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_xmlxml)|"NotFoundException"->`NotFoundException(NotFoundException.of_xmlxml)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`BadRequestExceptione->`Assoc[("error",(`String"BadRequestException"));("details",(BadRequestException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`ForbiddenExceptione->`Assoc[("error",(`String"ForbiddenException"));("details",(ForbiddenException.to_jsone))]|`InternalServerErrorExceptione->`Assoc[("error",(`String"InternalServerErrorException"));("details",(InternalServerErrorException.to_jsone))]|`NotFoundExceptione->`Assoc[("error",(`String"NotFoundException"));("details",(NotFoundException.to_jsone))]|`TooManyRequestsExceptione->`Assoc[("error",(`String"TooManyRequestsException"));("details",(TooManyRequestsException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("namespaces",(Option.mapx.namespaces~f:NamespaceSummaryList.to_value));("continuationToken",(Option.mapx.continuationToken~f:NextToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcontinuationToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"continuationToken")inletnamespaces=(Option.map~f:NamespaceSummaryList.of_xml)(Xml.childxml_arg0"namespaces")inmake?continuationToken?namespaces()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcontinuationToken=field_mapjson__"continuationToken"NextToken.of_jsoninletnamespaces=field_mapjson__"namespaces"NamespaceSummaryList.of_jsoninmake?continuationToken?namespaces()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists the namespaces within a table bucket. For more information, see Table namespaces in the Amazon Simple Storage Service User Guide. Permissions You must have the s3tables:ListNamespaces permission to use this operation."]moduleListNamespacesRequest=structtypenonrect={tableBucketARN:TableBucketARN.t[@ocaml.doc"The Amazon Resource Name (ARN) of the table bucket."];prefix:ListNamespacesRequestPrefixString.toption[@ocaml.doc"The prefix of the namespaces."];continuationToken:NextToken.toption[@ocaml.doc"ContinuationToken indicates to Amazon S3 that the list is being continued on this bucket with a token. ContinuationToken is obfuscated and is not a real key. You can use this ContinuationToken for pagination of the list results."];maxNamespaces:ListNamespacesLimit.toption[@ocaml.doc"The maximum number of namespaces to return in the list."]}letcontext_="ListNamespacesRequest"letmake?prefix=fun?continuationToken->fun?maxNamespaces->fun~tableBucketARN->fun()->{prefix;continuationToken;maxNamespaces;tableBucketARN}letto_valuex=structure_to_value[("tableBucketARN",(Some(TableBucketARN.to_valuex.tableBucketARN)));("prefix",(Option.mapx.prefix~f:ListNamespacesRequestPrefixString.to_value));("continuationToken",(Option.mapx.continuationToken~f:NextToken.to_value));("maxNamespaces",(Option.mapx.maxNamespaces~f:ListNamespacesLimit.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxNamespaces=(Option.map~f:ListNamespacesLimit.of_xml)(Xml.childxml_arg0"maxNamespaces")inletcontinuationToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"continuationToken")inletprefix=(Option.map~f:ListNamespacesRequestPrefixString.of_xml)(Xml.childxml_arg0"prefix")inlettableBucketARN=TableBucketARN.of_xml(Xml.child_exn~context:context_xml_arg0"tableBucketARN")inmake?maxNamespaces?continuationToken?prefix~tableBucketARN()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxNamespaces=field_mapjson__"maxNamespaces"ListNamespacesLimit.of_jsoninletcontinuationToken=field_mapjson__"continuationToken"NextToken.of_jsoninletprefix=field_mapjson__"prefix"ListNamespacesRequestPrefixString.of_jsoninlettableBucketARN=field_map_exnjson__"tableBucketARN"TableBucketARN.of_jsoninmake?maxNamespaces?continuationToken?prefix~tableBucketARN()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists the namespaces within a table bucket. For more information, see Table namespaces in the Amazon Simple Storage Service User Guide. Permissions You must have the s3tables:ListNamespaces permission to use this operation."]moduleGetTableStorageClassResponse=structtypenonrect={storageClassConfiguration:StorageClassConfiguration.toption[@ocaml.doc"The storage class configuration for the table."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`BadRequestExceptionofBadRequestException.t|`ForbiddenExceptionofForbiddenException.t|`InternalServerErrorExceptionofInternalServerErrorException.t|`NotFoundExceptionofNotFoundException.t|`TooManyRequestsExceptionofTooManyRequestsException.t|`Unknown_operation_errorof(string*stringoption)]letmake?storageClassConfiguration=fun()->{storageClassConfiguration}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"BadRequestException"->`BadRequestException(BadRequestException.of_jsonjson)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_jsonjson)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_jsonjson)|"NotFoundException"->`NotFoundException(NotFoundException.of_jsonjson)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"BadRequestException"->`BadRequestException(BadRequestException.of_xmlxml)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_xmlxml)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_xmlxml)|"NotFoundException"->`NotFoundException(NotFoundException.of_xmlxml)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`BadRequestExceptione->`Assoc[("error",(`String"BadRequestException"));("details",(BadRequestException.to_jsone))]|`ForbiddenExceptione->`Assoc[("error",(`String"ForbiddenException"));("details",(ForbiddenException.to_jsone))]|`InternalServerErrorExceptione->`Assoc[("error",(`String"InternalServerErrorException"));("details",(InternalServerErrorException.to_jsone))]|`NotFoundExceptione->`Assoc[("error",(`String"NotFoundException"));("details",(NotFoundException.to_jsone))]|`TooManyRequestsExceptione->`Assoc[("error",(`String"TooManyRequestsException"));("details",(TooManyRequestsException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("storageClassConfiguration",(Option.mapx.storageClassConfiguration~f:StorageClassConfiguration.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstorageClassConfiguration=(Option.map~f:StorageClassConfiguration.of_xml)(Xml.childxml_arg0"storageClassConfiguration")inmake?storageClassConfiguration()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstorageClassConfiguration=field_mapjson__"storageClassConfiguration"StorageClassConfiguration.of_jsoninmake?storageClassConfiguration()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the storage class configuration for a specific table. This allows you to view the storage class settings that apply to an individual table, which may differ from the table bucket's default configuration. Permissions You must have the s3tables:GetTableStorageClass permission to use this operation."]moduleGetTableStorageClassRequest=structtypenonrect={tableBucketARN:TableBucketARN.t[@ocaml.doc"The Amazon Resource Name (ARN) of the table bucket that contains the table."];namespace:NamespaceName.t[@ocaml.doc"The namespace associated with the table."];name:TableName.t[@ocaml.doc"The name of the table."]}letcontext_="GetTableStorageClassRequest"letmake~tableBucketARN=fun~namespace->fun~name->fun()->{tableBucketARN;namespace;name}letto_valuex=structure_to_value[("tableBucketARN",(Some(TableBucketARN.to_valuex.tableBucketARN)));("namespace",(Some(NamespaceName.to_valuex.namespace)));("name",(Some(TableName.to_valuex.name)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letname=TableName.of_xml(Xml.child_exn~context:context_xml_arg0"name")inletnamespace=NamespaceName.of_xml(Xml.child_exn~context:context_xml_arg0"namespace")inlettableBucketARN=TableBucketARN.of_xml(Xml.child_exn~context:context_xml_arg0"tableBucketARN")inmake~name~namespace~tableBucketARN()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letname=field_map_exnjson__"name"TableName.of_jsoninletnamespace=field_map_exnjson__"namespace"NamespaceName.of_jsoninlettableBucketARN=field_map_exnjson__"tableBucketARN"TableBucketARN.of_jsoninmake~name~namespace~tableBucketARN()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the storage class configuration for a specific table. This allows you to view the storage class settings that apply to an individual table, which may differ from the table bucket's default configuration. Permissions You must have the s3tables:GetTableStorageClass permission to use this operation."]moduleGetTableResponse=structtypenonrect={name:TableName.toption[@ocaml.doc"The name of the table."];type_:TableType.toption[@ocaml.doc"The type of the table."];tableARN:TableARN.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the table."];namespace:NamespaceList.toption[@ocaml.doc"The namespace associated with the table."];namespaceId:NamespaceId.toption[@ocaml.doc"The unique identifier of the namespace containing this table."];versionToken:VersionToken.toption[@ocaml.doc"The version token of the table."];metadataLocation:MetadataLocation.toption[@ocaml.doc"The metadata location of the table."];warehouseLocation:WarehouseLocation.toption[@ocaml.doc"The warehouse location of the table."];createdAt:SyntheticTimestamp_date_time.toption[@ocaml.doc"The date and time the table bucket was created at."];createdBy:AccountId.toption[@ocaml.doc"The ID of the account that created the table."];managedByService:String_.toption[@ocaml.doc"The service that manages the table."];modifiedAt:SyntheticTimestamp_date_time.toption[@ocaml.doc"The date and time the table was last modified on."];modifiedBy:AccountId.toption[@ocaml.doc"The ID of the account that last modified the table."];ownerAccountId:AccountId.toption[@ocaml.doc"The ID of the account that owns the table."];format:OpenTableFormat.toption[@ocaml.doc"The format of the table."];tableBucketId:TableBucketId.toption[@ocaml.doc"The unique identifier of the table bucket containing this table."];managedTableInformation:ManagedTableInformation.toption[@ocaml.doc"If this table is managed by S3 Tables, contains additional information such as replication details."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`BadRequestExceptionofBadRequestException.t|`ConflictExceptionofConflictException.t|`ForbiddenExceptionofForbiddenException.t|`InternalServerErrorExceptionofInternalServerErrorException.t|`NotFoundExceptionofNotFoundException.t|`TooManyRequestsExceptionofTooManyRequestsException.t|`Unknown_operation_errorof(string*stringoption)]letmake?name=fun?type_->fun?tableARN->fun?namespace->fun?namespaceId->fun?versionToken->fun?metadataLocation->fun?warehouseLocation->fun?createdAt->fun?createdBy->fun?managedByService->fun?modifiedAt->fun?modifiedBy->fun?ownerAccountId->fun?format->fun?tableBucketId->fun?managedTableInformation->fun()->{name;type_;tableARN;namespace;namespaceId;versionToken;metadataLocation;warehouseLocation;createdAt;createdBy;managedByService;modifiedAt;modifiedBy;ownerAccountId;format;tableBucketId;managedTableInformation}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"BadRequestException"->`BadRequestException(BadRequestException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_jsonjson)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_jsonjson)|"NotFoundException"->`NotFoundException(NotFoundException.of_jsonjson)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"BadRequestException"->`BadRequestException(BadRequestException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_xmlxml)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_xmlxml)|"NotFoundException"->`NotFoundException(NotFoundException.of_xmlxml)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`BadRequestExceptione->`Assoc[("error",(`String"BadRequestException"));("details",(BadRequestException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`ForbiddenExceptione->`Assoc[("error",(`String"ForbiddenException"));("details",(ForbiddenException.to_jsone))]|`InternalServerErrorExceptione->`Assoc[("error",(`String"InternalServerErrorException"));("details",(InternalServerErrorException.to_jsone))]|`NotFoundExceptione->`Assoc[("error",(`String"NotFoundException"));("details",(NotFoundException.to_jsone))]|`TooManyRequestsExceptione->`Assoc[("error",(`String"TooManyRequestsException"));("details",(TooManyRequestsException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("name",(Option.mapx.name~f:TableName.to_value));("type",(Option.mapx.type_~f:TableType.to_value));("tableARN",(Option.mapx.tableARN~f:TableARN.to_value));("namespace",(Option.mapx.namespace~f:NamespaceList.to_value));("namespaceId",(Option.mapx.namespaceId~f:NamespaceId.to_value));("versionToken",(Option.mapx.versionToken~f:VersionToken.to_value));("metadataLocation",(Option.mapx.metadataLocation~f:MetadataLocation.to_value));("warehouseLocation",(Option.mapx.warehouseLocation~f:WarehouseLocation.to_value));("createdAt",(Option.mapx.createdAt~f:SyntheticTimestamp_date_time.to_value));("createdBy",(Option.mapx.createdBy~f:AccountId.to_value));("managedByService",(Option.mapx.managedByService~f:String_.to_value));("modifiedAt",(Option.mapx.modifiedAt~f:SyntheticTimestamp_date_time.to_value));("modifiedBy",(Option.mapx.modifiedBy~f:AccountId.to_value));("ownerAccountId",(Option.mapx.ownerAccountId~f:AccountId.to_value));("format",(Option.mapx.format~f:OpenTableFormat.to_value));("tableBucketId",(Option.mapx.tableBucketId~f:TableBucketId.to_value));("managedTableInformation",(Option.mapx.managedTableInformation~f:ManagedTableInformation.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmanagedTableInformation=(Option.map~f:ManagedTableInformation.of_xml)(Xml.childxml_arg0"managedTableInformation")inlettableBucketId=(Option.map~f:TableBucketId.of_xml)(Xml.childxml_arg0"tableBucketId")inletformat=(Option.map~f:OpenTableFormat.of_xml)(Xml.childxml_arg0"format")inletownerAccountId=(Option.map~f:AccountId.of_xml)(Xml.childxml_arg0"ownerAccountId")inletmodifiedBy=(Option.map~f:AccountId.of_xml)(Xml.childxml_arg0"modifiedBy")inletmodifiedAt=(Option.map~f:SyntheticTimestamp_date_time.of_xml)(Xml.childxml_arg0"modifiedAt")inletmanagedByService=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"managedByService")inletcreatedBy=(Option.map~f:AccountId.of_xml)(Xml.childxml_arg0"createdBy")inletcreatedAt=(Option.map~f:SyntheticTimestamp_date_time.of_xml)(Xml.childxml_arg0"createdAt")inletwarehouseLocation=(Option.map~f:WarehouseLocation.of_xml)(Xml.childxml_arg0"warehouseLocation")inletmetadataLocation=(Option.map~f:MetadataLocation.of_xml)(Xml.childxml_arg0"metadataLocation")inletversionToken=(Option.map~f:VersionToken.of_xml)(Xml.childxml_arg0"versionToken")inletnamespaceId=(Option.map~f:NamespaceId.of_xml)(Xml.childxml_arg0"namespaceId")inletnamespace=(Option.map~f:NamespaceList.of_xml)(Xml.childxml_arg0"namespace")inlettableARN=(Option.map~f:TableARN.of_xml)(Xml.childxml_arg0"tableARN")inlettype_=(Option.map~f:TableType.of_xml)(Xml.childxml_arg0"type")inletname=(Option.map~f:TableName.of_xml)(Xml.childxml_arg0"name")inmake?managedTableInformation?tableBucketId?format?ownerAccountId?modifiedBy?modifiedAt?managedByService?createdBy?createdAt?warehouseLocation?metadataLocation?versionToken?namespaceId?namespace?tableARN?type_?name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmanagedTableInformation=field_mapjson__"managedTableInformation"ManagedTableInformation.of_jsoninlettableBucketId=field_mapjson__"tableBucketId"TableBucketId.of_jsoninletformat=field_mapjson__"format"OpenTableFormat.of_jsoninletownerAccountId=field_mapjson__"ownerAccountId"AccountId.of_jsoninletmodifiedBy=field_mapjson__"modifiedBy"AccountId.of_jsoninletmodifiedAt=field_mapjson__"modifiedAt"SyntheticTimestamp_date_time.of_jsoninletmanagedByService=field_mapjson__"managedByService"String_.of_jsoninletcreatedBy=field_mapjson__"createdBy"AccountId.of_jsoninletcreatedAt=field_mapjson__"createdAt"SyntheticTimestamp_date_time.of_jsoninletwarehouseLocation=field_mapjson__"warehouseLocation"WarehouseLocation.of_jsoninletmetadataLocation=field_mapjson__"metadataLocation"MetadataLocation.of_jsoninletversionToken=field_mapjson__"versionToken"VersionToken.of_jsoninletnamespaceId=field_mapjson__"namespaceId"NamespaceId.of_jsoninletnamespace=field_mapjson__"namespace"NamespaceList.of_jsoninlettableARN=field_mapjson__"tableARN"TableARN.of_jsoninlettype_=field_mapjson__"type"TableType.of_jsoninletname=field_mapjson__"name"TableName.of_jsoninmake?managedTableInformation?tableBucketId?format?ownerAccountId?modifiedBy?modifiedAt?managedByService?createdBy?createdAt?warehouseLocation?metadataLocation?versionToken?namespaceId?namespace?tableARN?type_?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets details about a table. For more information, see S3 Tables in the Amazon Simple Storage Service User Guide. Permissions You must have the s3tables:GetTable permission to use this operation."]moduleGetTableRequest=structtypenonrect={tableBucketARN:TableBucketARN.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the table bucket associated with the table."];namespace:NamespaceName.toption[@ocaml.doc"The name of the namespace the table is associated with."];name:TableName.toption[@ocaml.doc"The name of the table."];tableArn:TableARN.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the table."]}letmake?tableBucketARN=fun?namespace->fun?name->fun?tableArn->fun()->{tableBucketARN;namespace;name;tableArn}letto_valuex=structure_to_value[("tableBucketARN",(Option.mapx.tableBucketARN~f:TableBucketARN.to_value));("namespace",(Option.mapx.namespace~f:NamespaceName.to_value));("name",(Option.mapx.name~f:TableName.to_value));("tableArn",(Option.mapx.tableArn~f:TableARN.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettableArn=(Option.map~f:TableARN.of_xml)(Xml.childxml_arg0"tableArn")inletname=(Option.map~f:TableName.of_xml)(Xml.childxml_arg0"name")inletnamespace=(Option.map~f:NamespaceName.of_xml)(Xml.childxml_arg0"namespace")inlettableBucketARN=(Option.map~f:TableBucketARN.of_xml)(Xml.childxml_arg0"tableBucketARN")inmake?tableArn?name?namespace?tableBucketARN()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettableArn=field_mapjson__"tableArn"TableARN.of_jsoninletname=field_mapjson__"name"TableName.of_jsoninletnamespace=field_mapjson__"namespace"NamespaceName.of_jsoninlettableBucketARN=field_mapjson__"tableBucketARN"TableBucketARN.of_jsoninmake?tableArn?name?namespace?tableBucketARN()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets details about a table. For more information, see S3 Tables in the Amazon Simple Storage Service User Guide. Permissions You must have the s3tables:GetTable permission to use this operation."]moduleGetTableReplicationStatusResponse=structtypenonrect={sourceTableArn:TableARN.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the source table being replicated."];destinations:ReplicationDestinationStatuses.toption[@ocaml.doc"An array of status information for each replication destination, including the current state, last successful update, and any error messages."]}typenonrecerror=[`BadRequestExceptionofBadRequestException.t|`ConflictExceptionofConflictException.t|`ForbiddenExceptionofForbiddenException.t|`InternalServerErrorExceptionofInternalServerErrorException.t|`NotFoundExceptionofNotFoundException.t|`TooManyRequestsExceptionofTooManyRequestsException.t|`Unknown_operation_errorof(string*stringoption)]letmake?sourceTableArn=fun?destinations->fun()->{sourceTableArn;destinations}leterror_of_jsonnamejson=matchnamewith|"BadRequestException"->`BadRequestException(BadRequestException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_jsonjson)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_jsonjson)|"NotFoundException"->`NotFoundException(NotFoundException.of_jsonjson)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestException"->`BadRequestException(BadRequestException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_xmlxml)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_xmlxml)|"NotFoundException"->`NotFoundException(NotFoundException.of_xmlxml)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestExceptione->`Assoc[("error",(`String"BadRequestException"));("details",(BadRequestException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`ForbiddenExceptione->`Assoc[("error",(`String"ForbiddenException"));("details",(ForbiddenException.to_jsone))]|`InternalServerErrorExceptione->`Assoc[("error",(`String"InternalServerErrorException"));("details",(InternalServerErrorException.to_jsone))]|`NotFoundExceptione->`Assoc[("error",(`String"NotFoundException"));("details",(NotFoundException.to_jsone))]|`TooManyRequestsExceptione->`Assoc[("error",(`String"TooManyRequestsException"));("details",(TooManyRequestsException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("sourceTableArn",(Option.mapx.sourceTableArn~f:TableARN.to_value));("destinations",(Option.mapx.destinations~f:ReplicationDestinationStatuses.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdestinations=(Option.map~f:ReplicationDestinationStatuses.of_xml)(Xml.childxml_arg0"destinations")inletsourceTableArn=(Option.map~f:TableARN.of_xml)(Xml.childxml_arg0"sourceTableArn")inmake?destinations?sourceTableArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdestinations=field_mapjson__"destinations"ReplicationDestinationStatuses.of_jsoninletsourceTableArn=field_mapjson__"sourceTableArn"TableARN.of_jsoninmake?destinations?sourceTableArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the replication status for a table, including the status of replication to each destination. This operation provides visibility into replication health and progress. Permissions You must have the s3tables:GetTableReplicationStatus permission to use this operation."]moduleGetTableReplicationStatusRequest=structtypenonrect={tableArn:TableARN.t[@ocaml.doc"The Amazon Resource Name (ARN) of the table."]}letcontext_="GetTableReplicationStatusRequest"letmake~tableArn=fun()->{tableArn}letto_valuex=structure_to_value[("tableArn",(Some(TableARN.to_valuex.tableArn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettableArn=TableARN.of_xml(Xml.child_exn~context:context_xml_arg0"tableArn")inmake~tableArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettableArn=field_map_exnjson__"tableArn"TableARN.of_jsoninmake~tableArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the replication status for a table, including the status of replication to each destination. This operation provides visibility into replication health and progress. Permissions You must have the s3tables:GetTableReplicationStatus permission to use this operation."]moduleGetTableReplicationResponse=structtypenonrect={versionToken:String_.toption[@ocaml.doc"A version token that represents the current state of the table's replication configuration. Use this token when updating the configuration to ensure consistency."];configuration:TableReplicationConfiguration.toption[@ocaml.doc"The replication configuration for the table, including the IAM role and replication rules."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`BadRequestExceptionofBadRequestException.t|`ConflictExceptionofConflictException.t|`ForbiddenExceptionofForbiddenException.t|`InternalServerErrorExceptionofInternalServerErrorException.t|`NotFoundExceptionofNotFoundException.t|`TooManyRequestsExceptionofTooManyRequestsException.t|`Unknown_operation_errorof(string*stringoption)]letmake?versionToken=fun?configuration->fun()->{versionToken;configuration}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"BadRequestException"->`BadRequestException(BadRequestException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_jsonjson)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_jsonjson)|"NotFoundException"->`NotFoundException(NotFoundException.of_jsonjson)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"BadRequestException"->`BadRequestException(BadRequestException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_xmlxml)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_xmlxml)|"NotFoundException"->`NotFoundException(NotFoundException.of_xmlxml)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`BadRequestExceptione->`Assoc[("error",(`String"BadRequestException"));("details",(BadRequestException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`ForbiddenExceptione->`Assoc[("error",(`String"ForbiddenException"));("details",(ForbiddenException.to_jsone))]|`InternalServerErrorExceptione->`Assoc[("error",(`String"InternalServerErrorException"));("details",(InternalServerErrorException.to_jsone))]|`NotFoundExceptione->`Assoc[("error",(`String"NotFoundException"));("details",(NotFoundException.to_jsone))]|`TooManyRequestsExceptione->`Assoc[("error",(`String"TooManyRequestsException"));("details",(TooManyRequestsException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("versionToken",(Option.mapx.versionToken~f:String_.to_value));("configuration",(Option.mapx.configuration~f:TableReplicationConfiguration.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letconfiguration=(Option.map~f:TableReplicationConfiguration.of_xml)(Xml.childxml_arg0"configuration")inletversionToken=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"versionToken")inmake?configuration?versionToken()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letconfiguration=field_mapjson__"configuration"TableReplicationConfiguration.of_jsoninletversionToken=field_mapjson__"versionToken"String_.of_jsoninmake?configuration?versionToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the replication configuration for a specific table. Permissions You must have the s3tables:GetTableReplication permission to use this operation."]moduleGetTableReplicationRequest=structtypenonrect={tableArn:TableARN.t[@ocaml.doc"The Amazon Resource Name (ARN) of the table."]}letcontext_="GetTableReplicationRequest"letmake~tableArn=fun()->{tableArn}letto_valuex=structure_to_value[("tableArn",(Some(TableARN.to_valuex.tableArn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettableArn=TableARN.of_xml(Xml.child_exn~context:context_xml_arg0"tableArn")inmake~tableArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettableArn=field_map_exnjson__"tableArn"TableARN.of_jsoninmake~tableArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the replication configuration for a specific table. Permissions You must have the s3tables:GetTableReplication permission to use this operation."]moduleGetTableRecordExpirationJobStatusResponse=structtypenonrect={status:TableRecordExpirationJobStatus.toption[@ocaml.doc"The current status of the most recent expiration job."];lastRunTimestamp:SyntheticTimestamp_date_time.toption[@ocaml.doc"The timestamp when the expiration job was last executed."];failureMessage:String_.toption[@ocaml.doc"If the job failed, this field contains an error message describing the failure reason."];metrics:TableRecordExpirationJobMetrics.toption[@ocaml.doc"Metrics about the most recent expiration job execution, including the number of records and files deleted."]}typenonrecerror=[`BadRequestExceptionofBadRequestException.t|`ForbiddenExceptionofForbiddenException.t|`InternalServerErrorExceptionofInternalServerErrorException.t|`MethodNotAllowedExceptionofMethodNotAllowedException.t|`NotFoundExceptionofNotFoundException.t|`TooManyRequestsExceptionofTooManyRequestsException.t|`Unknown_operation_errorof(string*stringoption)]letmake?status=fun?lastRunTimestamp->fun?failureMessage->fun?metrics->fun()->{status;lastRunTimestamp;failureMessage;metrics}leterror_of_jsonnamejson=matchnamewith|"BadRequestException"->`BadRequestException(BadRequestException.of_jsonjson)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_jsonjson)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_jsonjson)|"MethodNotAllowedException"->`MethodNotAllowedException(MethodNotAllowedException.of_jsonjson)|"NotFoundException"->`NotFoundException(NotFoundException.of_jsonjson)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestException"->`BadRequestException(BadRequestException.of_xmlxml)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_xmlxml)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_xmlxml)|"MethodNotAllowedException"->`MethodNotAllowedException(MethodNotAllowedException.of_xmlxml)|"NotFoundException"->`NotFoundException(NotFoundException.of_xmlxml)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestExceptione->`Assoc[("error",(`String"BadRequestException"));("details",(BadRequestException.to_jsone))]|`ForbiddenExceptione->`Assoc[("error",(`String"ForbiddenException"));("details",(ForbiddenException.to_jsone))]|`InternalServerErrorExceptione->`Assoc[("error",(`String"InternalServerErrorException"));("details",(InternalServerErrorException.to_jsone))]|`MethodNotAllowedExceptione->`Assoc[("error",(`String"MethodNotAllowedException"));("details",(MethodNotAllowedException.to_jsone))]|`NotFoundExceptione->`Assoc[("error",(`String"NotFoundException"));("details",(NotFoundException.to_jsone))]|`TooManyRequestsExceptione->`Assoc[("error",(`String"TooManyRequestsException"));("details",(TooManyRequestsException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("status",(Option.mapx.status~f:TableRecordExpirationJobStatus.to_value));("lastRunTimestamp",(Option.mapx.lastRunTimestamp~f:SyntheticTimestamp_date_time.to_value));("failureMessage",(Option.mapx.failureMessage~f:String_.to_value));("metrics",(Option.mapx.metrics~f:TableRecordExpirationJobMetrics.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmetrics=(Option.map~f:TableRecordExpirationJobMetrics.of_xml)(Xml.childxml_arg0"metrics")inletfailureMessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"failureMessage")inletlastRunTimestamp=(Option.map~f:SyntheticTimestamp_date_time.of_xml)(Xml.childxml_arg0"lastRunTimestamp")inletstatus=(Option.map~f:TableRecordExpirationJobStatus.of_xml)(Xml.childxml_arg0"status")inmake?metrics?failureMessage?lastRunTimestamp?status()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmetrics=field_mapjson__"metrics"TableRecordExpirationJobMetrics.of_jsoninletfailureMessage=field_mapjson__"failureMessage"String_.of_jsoninletlastRunTimestamp=field_mapjson__"lastRunTimestamp"SyntheticTimestamp_date_time.of_jsoninletstatus=field_mapjson__"status"TableRecordExpirationJobStatus.of_jsoninmake?metrics?failureMessage?lastRunTimestamp?status()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the status, metrics, and details of the latest record expiration job for a table. This includes when the job ran, and whether it succeeded or failed. If the job ran successfully, this also includes statistics about the records that were removed. Permissions You must have the s3tables:GetTableRecordExpirationJobStatus permission to use this operation."]moduleGetTableRecordExpirationJobStatusRequest=structtypenonrect={tableArn:TableARN.t[@ocaml.doc"The Amazon Resource Name (ARN) of the table."]}letcontext_="GetTableRecordExpirationJobStatusRequest"letmake~tableArn=fun()->{tableArn}letto_valuex=structure_to_value[("tableArn",(Some(TableARN.to_valuex.tableArn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettableArn=TableARN.of_xml(Xml.child_exn~context:context_xml_arg0"tableArn")inmake~tableArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettableArn=field_map_exnjson__"tableArn"TableARN.of_jsoninmake~tableArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the status, metrics, and details of the latest record expiration job for a table. This includes when the job ran, and whether it succeeded or failed. If the job ran successfully, this also includes statistics about the records that were removed. Permissions You must have the s3tables:GetTableRecordExpirationJobStatus permission to use this operation."]moduleGetTableRecordExpirationConfigurationResponse=structtypenonrect={configuration:TableRecordExpirationConfigurationValue.toption[@ocaml.doc"The record expiration configuration for the table, including the status and retention settings."]}typenonrecerror=[`BadRequestExceptionofBadRequestException.t|`ForbiddenExceptionofForbiddenException.t|`InternalServerErrorExceptionofInternalServerErrorException.t|`MethodNotAllowedExceptionofMethodNotAllowedException.t|`NotFoundExceptionofNotFoundException.t|`TooManyRequestsExceptionofTooManyRequestsException.t|`Unknown_operation_errorof(string*stringoption)]letmake?configuration=fun()->{configuration}leterror_of_jsonnamejson=matchnamewith|"BadRequestException"->`BadRequestException(BadRequestException.of_jsonjson)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_jsonjson)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_jsonjson)|"MethodNotAllowedException"->`MethodNotAllowedException(MethodNotAllowedException.of_jsonjson)|"NotFoundException"->`NotFoundException(NotFoundException.of_jsonjson)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestException"->`BadRequestException(BadRequestException.of_xmlxml)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_xmlxml)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_xmlxml)|"MethodNotAllowedException"->`MethodNotAllowedException(MethodNotAllowedException.of_xmlxml)|"NotFoundException"->`NotFoundException(NotFoundException.of_xmlxml)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestExceptione->`Assoc[("error",(`String"BadRequestException"));("details",(BadRequestException.to_jsone))]|`ForbiddenExceptione->`Assoc[("error",(`String"ForbiddenException"));("details",(ForbiddenException.to_jsone))]|`InternalServerErrorExceptione->`Assoc[("error",(`String"InternalServerErrorException"));("details",(InternalServerErrorException.to_jsone))]|`MethodNotAllowedExceptione->`Assoc[("error",(`String"MethodNotAllowedException"));("details",(MethodNotAllowedException.to_jsone))]|`NotFoundExceptione->`Assoc[("error",(`String"NotFoundException"));("details",(NotFoundException.to_jsone))]|`TooManyRequestsExceptione->`Assoc[("error",(`String"TooManyRequestsException"));("details",(TooManyRequestsException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("configuration",(Option.mapx.configuration~f:TableRecordExpirationConfigurationValue.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letconfiguration=(Option.map~f:TableRecordExpirationConfigurationValue.of_xml)(Xml.childxml_arg0"configuration")inmake?configuration()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letconfiguration=field_mapjson__"configuration"TableRecordExpirationConfigurationValue.of_jsoninmake?configuration()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the expiration configuration settings for records in a table, and the status of the configuration. If the status of the configuration is enabled, records expire and are automatically removed from the table after the specified number of days. Permissions You must have the s3tables:GetTableRecordExpirationConfiguration permission to use this operation."]moduleGetTableRecordExpirationConfigurationRequest=structtypenonrect={tableArn:TableARN.t[@ocaml.doc"The Amazon Resource Name (ARN) of the table."]}letcontext_="GetTableRecordExpirationConfigurationRequest"letmake~tableArn=fun()->{tableArn}letto_valuex=structure_to_value[("tableArn",(Some(TableARN.to_valuex.tableArn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettableArn=TableARN.of_xml(Xml.child_exn~context:context_xml_arg0"tableArn")inmake~tableArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettableArn=field_map_exnjson__"tableArn"TableARN.of_jsoninmake~tableArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the expiration configuration settings for records in a table, and the status of the configuration. If the status of the configuration is enabled, records expire and are automatically removed from the table after the specified number of days. Permissions You must have the s3tables:GetTableRecordExpirationConfiguration permission to use this operation."]moduleGetTablePolicyResponse=structtypenonrect={resourcePolicy:ResourcePolicy.toption[@ocaml.doc"The JSON that defines the policy."]}typenonrecerror=[`BadRequestExceptionofBadRequestException.t|`ConflictExceptionofConflictException.t|`ForbiddenExceptionofForbiddenException.t|`InternalServerErrorExceptionofInternalServerErrorException.t|`NotFoundExceptionofNotFoundException.t|`TooManyRequestsExceptionofTooManyRequestsException.t|`Unknown_operation_errorof(string*stringoption)]letmake?resourcePolicy=fun()->{resourcePolicy}leterror_of_jsonnamejson=matchnamewith|"BadRequestException"->`BadRequestException(BadRequestException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_jsonjson)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_jsonjson)|"NotFoundException"->`NotFoundException(NotFoundException.of_jsonjson)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestException"->`BadRequestException(BadRequestException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_xmlxml)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_xmlxml)|"NotFoundException"->`NotFoundException(NotFoundException.of_xmlxml)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestExceptione->`Assoc[("error",(`String"BadRequestException"));("details",(BadRequestException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`ForbiddenExceptione->`Assoc[("error",(`String"ForbiddenException"));("details",(ForbiddenException.to_jsone))]|`InternalServerErrorExceptione->`Assoc[("error",(`String"InternalServerErrorException"));("details",(InternalServerErrorException.to_jsone))]|`NotFoundExceptione->`Assoc[("error",(`String"NotFoundException"));("details",(NotFoundException.to_jsone))]|`TooManyRequestsExceptione->`Assoc[("error",(`String"TooManyRequestsException"));("details",(TooManyRequestsException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("resourcePolicy",(Option.mapx.resourcePolicy~f:ResourcePolicy.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresourcePolicy=(Option.map~f:ResourcePolicy.of_xml)(Xml.childxml_arg0"resourcePolicy")inmake?resourcePolicy()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresourcePolicy=field_mapjson__"resourcePolicy"ResourcePolicy.of_jsoninmake?resourcePolicy()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets details about a table policy. For more information, see Viewing a table policy in the Amazon Simple Storage Service User Guide. Permissions You must have the s3tables:GetTablePolicy permission to use this operation."]moduleGetTablePolicyRequest=structtypenonrect={tableBucketARN:TableBucketARN.t[@ocaml.doc"The Amazon Resource Name (ARN) of the table bucket that contains the table."];namespace:NamespaceName.t[@ocaml.doc"The namespace associated with the table."];name:TableName.t[@ocaml.doc"The name of the table."]}letcontext_="GetTablePolicyRequest"letmake~tableBucketARN=fun~namespace->fun~name->fun()->{tableBucketARN;namespace;name}letto_valuex=structure_to_value[("tableBucketARN",(Some(TableBucketARN.to_valuex.tableBucketARN)));("namespace",(Some(NamespaceName.to_valuex.namespace)));("name",(Some(TableName.to_valuex.name)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letname=TableName.of_xml(Xml.child_exn~context:context_xml_arg0"name")inletnamespace=NamespaceName.of_xml(Xml.child_exn~context:context_xml_arg0"namespace")inlettableBucketARN=TableBucketARN.of_xml(Xml.child_exn~context:context_xml_arg0"tableBucketARN")inmake~name~namespace~tableBucketARN()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letname=field_map_exnjson__"name"TableName.of_jsoninletnamespace=field_map_exnjson__"namespace"NamespaceName.of_jsoninlettableBucketARN=field_map_exnjson__"tableBucketARN"TableBucketARN.of_jsoninmake~name~namespace~tableBucketARN()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets details about a table policy. For more information, see Viewing a table policy in the Amazon Simple Storage Service User Guide. Permissions You must have the s3tables:GetTablePolicy permission to use this operation."]moduleGetTableMetadataLocationResponse=structtypenonrect={versionToken:VersionToken.toption[@ocaml.doc"The version token."];metadataLocation:MetadataLocation.toption[@ocaml.doc"The metadata location."];warehouseLocation:WarehouseLocation.toption[@ocaml.doc"The warehouse location."]}typenonrecerror=[`BadRequestExceptionofBadRequestException.t|`ConflictExceptionofConflictException.t|`ForbiddenExceptionofForbiddenException.t|`InternalServerErrorExceptionofInternalServerErrorException.t|`NotFoundExceptionofNotFoundException.t|`TooManyRequestsExceptionofTooManyRequestsException.t|`Unknown_operation_errorof(string*stringoption)]letmake?versionToken=fun?metadataLocation->fun?warehouseLocation->fun()->{versionToken;metadataLocation;warehouseLocation}leterror_of_jsonnamejson=matchnamewith|"BadRequestException"->`BadRequestException(BadRequestException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_jsonjson)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_jsonjson)|"NotFoundException"->`NotFoundException(NotFoundException.of_jsonjson)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestException"->`BadRequestException(BadRequestException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_xmlxml)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_xmlxml)|"NotFoundException"->`NotFoundException(NotFoundException.of_xmlxml)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestExceptione->`Assoc[("error",(`String"BadRequestException"));("details",(BadRequestException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`ForbiddenExceptione->`Assoc[("error",(`String"ForbiddenException"));("details",(ForbiddenException.to_jsone))]|`InternalServerErrorExceptione->`Assoc[("error",(`String"InternalServerErrorException"));("details",(InternalServerErrorException.to_jsone))]|`NotFoundExceptione->`Assoc[("error",(`String"NotFoundException"));("details",(NotFoundException.to_jsone))]|`TooManyRequestsExceptione->`Assoc[("error",(`String"TooManyRequestsException"));("details",(TooManyRequestsException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("versionToken",(Option.mapx.versionToken~f:VersionToken.to_value));("metadataLocation",(Option.mapx.metadataLocation~f:MetadataLocation.to_value));("warehouseLocation",(Option.mapx.warehouseLocation~f:WarehouseLocation.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letwarehouseLocation=(Option.map~f:WarehouseLocation.of_xml)(Xml.childxml_arg0"warehouseLocation")inletmetadataLocation=(Option.map~f:MetadataLocation.of_xml)(Xml.childxml_arg0"metadataLocation")inletversionToken=(Option.map~f:VersionToken.of_xml)(Xml.childxml_arg0"versionToken")inmake?warehouseLocation?metadataLocation?versionToken()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letwarehouseLocation=field_mapjson__"warehouseLocation"WarehouseLocation.of_jsoninletmetadataLocation=field_mapjson__"metadataLocation"MetadataLocation.of_jsoninletversionToken=field_mapjson__"versionToken"VersionToken.of_jsoninmake?warehouseLocation?metadataLocation?versionToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets the location of the table metadata. Permissions You must have the s3tables:GetTableMetadataLocation permission to use this operation."]moduleGetTableMetadataLocationRequest=structtypenonrect={tableBucketARN:TableBucketARN.t[@ocaml.doc"The Amazon Resource Name (ARN) of the table bucket."];namespace:NamespaceName.t[@ocaml.doc"The namespace of the table."];name:TableName.t[@ocaml.doc"The name of the table."]}letcontext_="GetTableMetadataLocationRequest"letmake~tableBucketARN=fun~namespace->fun~name->fun()->{tableBucketARN;namespace;name}letto_valuex=structure_to_value[("tableBucketARN",(Some(TableBucketARN.to_valuex.tableBucketARN)));("namespace",(Some(NamespaceName.to_valuex.namespace)));("name",(Some(TableName.to_valuex.name)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letname=TableName.of_xml(Xml.child_exn~context:context_xml_arg0"name")inletnamespace=NamespaceName.of_xml(Xml.child_exn~context:context_xml_arg0"namespace")inlettableBucketARN=TableBucketARN.of_xml(Xml.child_exn~context:context_xml_arg0"tableBucketARN")inmake~name~namespace~tableBucketARN()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letname=field_map_exnjson__"name"TableName.of_jsoninletnamespace=field_map_exnjson__"namespace"NamespaceName.of_jsoninlettableBucketARN=field_map_exnjson__"tableBucketARN"TableBucketARN.of_jsoninmake~name~namespace~tableBucketARN()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets the location of the table metadata. Permissions You must have the s3tables:GetTableMetadataLocation permission to use this operation."]moduleGetTableMaintenanceJobStatusResponse=structtypenonrect={tableARN:TableARN.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the table."];status:TableMaintenanceJobStatus.toption[@ocaml.doc"The status of the maintenance job."]}typenonrecerror=[`BadRequestExceptionofBadRequestException.t|`ConflictExceptionofConflictException.t|`ForbiddenExceptionofForbiddenException.t|`InternalServerErrorExceptionofInternalServerErrorException.t|`NotFoundExceptionofNotFoundException.t|`TooManyRequestsExceptionofTooManyRequestsException.t|`Unknown_operation_errorof(string*stringoption)]letmake?tableARN=fun?status->fun()->{tableARN;status}leterror_of_jsonnamejson=matchnamewith|"BadRequestException"->`BadRequestException(BadRequestException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_jsonjson)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_jsonjson)|"NotFoundException"->`NotFoundException(NotFoundException.of_jsonjson)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestException"->`BadRequestException(BadRequestException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_xmlxml)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_xmlxml)|"NotFoundException"->`NotFoundException(NotFoundException.of_xmlxml)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestExceptione->`Assoc[("error",(`String"BadRequestException"));("details",(BadRequestException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`ForbiddenExceptione->`Assoc[("error",(`String"ForbiddenException"));("details",(ForbiddenException.to_jsone))]|`InternalServerErrorExceptione->`Assoc[("error",(`String"InternalServerErrorException"));("details",(InternalServerErrorException.to_jsone))]|`NotFoundExceptione->`Assoc[("error",(`String"NotFoundException"));("details",(NotFoundException.to_jsone))]|`TooManyRequestsExceptione->`Assoc[("error",(`String"TooManyRequestsException"));("details",(TooManyRequestsException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("tableARN",(Option.mapx.tableARN~f:TableARN.to_value));("status",(Option.mapx.status~f:TableMaintenanceJobStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstatus=(Option.map~f:TableMaintenanceJobStatus.of_xml)(Xml.childxml_arg0"status")inlettableARN=(Option.map~f:TableARN.of_xml)(Xml.childxml_arg0"tableARN")inmake?status?tableARN()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstatus=field_mapjson__"status"TableMaintenanceJobStatus.of_jsoninlettableARN=field_mapjson__"tableARN"TableARN.of_jsoninmake?status?tableARN()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets the status of a maintenance job for a table. For more information, see S3 Tables maintenance in the Amazon Simple Storage Service User Guide. Permissions You must have the s3tables:GetTableMaintenanceJobStatus permission to use this operation."]moduleGetTableMaintenanceJobStatusRequest=structtypenonrect={tableBucketARN:TableBucketARN.t[@ocaml.doc"The Amazon Resource Name (ARN) of the table bucket."];namespace:NamespaceName.t[@ocaml.doc"The name of the namespace the table is associated with."];name:TableName.t[@ocaml.doc"The name of the table containing the maintenance job status you want to check."]}letcontext_="GetTableMaintenanceJobStatusRequest"letmake~tableBucketARN=fun~namespace->fun~name->fun()->{tableBucketARN;namespace;name}letto_valuex=structure_to_value[("tableBucketARN",(Some(TableBucketARN.to_valuex.tableBucketARN)));("namespace",(Some(NamespaceName.to_valuex.namespace)));("name",(Some(TableName.to_valuex.name)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letname=TableName.of_xml(Xml.child_exn~context:context_xml_arg0"name")inletnamespace=NamespaceName.of_xml(Xml.child_exn~context:context_xml_arg0"namespace")inlettableBucketARN=TableBucketARN.of_xml(Xml.child_exn~context:context_xml_arg0"tableBucketARN")inmake~name~namespace~tableBucketARN()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letname=field_map_exnjson__"name"TableName.of_jsoninletnamespace=field_map_exnjson__"namespace"NamespaceName.of_jsoninlettableBucketARN=field_map_exnjson__"tableBucketARN"TableBucketARN.of_jsoninmake~name~namespace~tableBucketARN()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets the status of a maintenance job for a table. For more information, see S3 Tables maintenance in the Amazon Simple Storage Service User Guide. Permissions You must have the s3tables:GetTableMaintenanceJobStatus permission to use this operation."]moduleGetTableMaintenanceConfigurationResponse=structtypenonrect={tableARN:TableARN.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the table."];configuration:TableMaintenanceConfiguration.toption[@ocaml.doc"Details about the maintenance configuration for the table bucket."]}typenonrecerror=[`BadRequestExceptionofBadRequestException.t|`ConflictExceptionofConflictException.t|`ForbiddenExceptionofForbiddenException.t|`InternalServerErrorExceptionofInternalServerErrorException.t|`NotFoundExceptionofNotFoundException.t|`TooManyRequestsExceptionofTooManyRequestsException.t|`Unknown_operation_errorof(string*stringoption)]letmake?tableARN=fun?configuration->fun()->{tableARN;configuration}leterror_of_jsonnamejson=matchnamewith|"BadRequestException"->`BadRequestException(BadRequestException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_jsonjson)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_jsonjson)|"NotFoundException"->`NotFoundException(NotFoundException.of_jsonjson)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestException"->`BadRequestException(BadRequestException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_xmlxml)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_xmlxml)|"NotFoundException"->`NotFoundException(NotFoundException.of_xmlxml)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestExceptione->`Assoc[("error",(`String"BadRequestException"));("details",(BadRequestException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`ForbiddenExceptione->`Assoc[("error",(`String"ForbiddenException"));("details",(ForbiddenException.to_jsone))]|`InternalServerErrorExceptione->`Assoc[("error",(`String"InternalServerErrorException"));("details",(InternalServerErrorException.to_jsone))]|`NotFoundExceptione->`Assoc[("error",(`String"NotFoundException"));("details",(NotFoundException.to_jsone))]|`TooManyRequestsExceptione->`Assoc[("error",(`String"TooManyRequestsException"));("details",(TooManyRequestsException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("tableARN",(Option.mapx.tableARN~f:TableARN.to_value));("configuration",(Option.mapx.configuration~f:TableMaintenanceConfiguration.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letconfiguration=(Option.map~f:TableMaintenanceConfiguration.of_xml)(Xml.childxml_arg0"configuration")inlettableARN=(Option.map~f:TableARN.of_xml)(Xml.childxml_arg0"tableARN")inmake?configuration?tableARN()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letconfiguration=field_mapjson__"configuration"TableMaintenanceConfiguration.of_jsoninlettableARN=field_mapjson__"tableARN"TableARN.of_jsoninmake?configuration?tableARN()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets details about the maintenance configuration of a table. For more information, see S3 Tables maintenance in the Amazon Simple Storage Service User Guide. Permissions You must have the s3tables:GetTableMaintenanceConfiguration permission to use this operation. You must have the s3tables:GetTableData permission to use set the compaction strategy to sort or zorder."]moduleGetTableMaintenanceConfigurationRequest=structtypenonrect={tableBucketARN:TableBucketARN.t[@ocaml.doc"The Amazon Resource Name (ARN) of the table bucket."];namespace:NamespaceName.t[@ocaml.doc"The namespace associated with the table."];name:TableName.t[@ocaml.doc"The name of the table."]}letcontext_="GetTableMaintenanceConfigurationRequest"letmake~tableBucketARN=fun~namespace->fun~name->fun()->{tableBucketARN;namespace;name}letto_valuex=structure_to_value[("tableBucketARN",(Some(TableBucketARN.to_valuex.tableBucketARN)));("namespace",(Some(NamespaceName.to_valuex.namespace)));("name",(Some(TableName.to_valuex.name)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letname=TableName.of_xml(Xml.child_exn~context:context_xml_arg0"name")inletnamespace=NamespaceName.of_xml(Xml.child_exn~context:context_xml_arg0"namespace")inlettableBucketARN=TableBucketARN.of_xml(Xml.child_exn~context:context_xml_arg0"tableBucketARN")inmake~name~namespace~tableBucketARN()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letname=field_map_exnjson__"name"TableName.of_jsoninletnamespace=field_map_exnjson__"namespace"NamespaceName.of_jsoninlettableBucketARN=field_map_exnjson__"tableBucketARN"TableBucketARN.of_jsoninmake~name~namespace~tableBucketARN()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets details about the maintenance configuration of a table. For more information, see S3 Tables maintenance in the Amazon Simple Storage Service User Guide. Permissions You must have the s3tables:GetTableMaintenanceConfiguration permission to use this operation. You must have the s3tables:GetTableData permission to use set the compaction strategy to sort or zorder."]moduleGetTableEncryptionResponse=structtypenonrect={encryptionConfiguration:EncryptionConfiguration.toption[@ocaml.doc"The encryption configuration for the table."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`BadRequestExceptionofBadRequestException.t|`ForbiddenExceptionofForbiddenException.t|`InternalServerErrorExceptionofInternalServerErrorException.t|`NotFoundExceptionofNotFoundException.t|`TooManyRequestsExceptionofTooManyRequestsException.t|`Unknown_operation_errorof(string*stringoption)]letmake?encryptionConfiguration=fun()->{encryptionConfiguration}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"BadRequestException"->`BadRequestException(BadRequestException.of_jsonjson)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_jsonjson)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_jsonjson)|"NotFoundException"->`NotFoundException(NotFoundException.of_jsonjson)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"BadRequestException"->`BadRequestException(BadRequestException.of_xmlxml)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_xmlxml)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_xmlxml)|"NotFoundException"->`NotFoundException(NotFoundException.of_xmlxml)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`BadRequestExceptione->`Assoc[("error",(`String"BadRequestException"));("details",(BadRequestException.to_jsone))]|`ForbiddenExceptione->`Assoc[("error",(`String"ForbiddenException"));("details",(ForbiddenException.to_jsone))]|`InternalServerErrorExceptione->`Assoc[("error",(`String"InternalServerErrorException"));("details",(InternalServerErrorException.to_jsone))]|`NotFoundExceptione->`Assoc[("error",(`String"NotFoundException"));("details",(NotFoundException.to_jsone))]|`TooManyRequestsExceptione->`Assoc[("error",(`String"TooManyRequestsException"));("details",(TooManyRequestsException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("encryptionConfiguration",(Option.mapx.encryptionConfiguration~f:EncryptionConfiguration.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letencryptionConfiguration=(Option.map~f:EncryptionConfiguration.of_xml)(Xml.childxml_arg0"encryptionConfiguration")inmake?encryptionConfiguration()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letencryptionConfiguration=field_mapjson__"encryptionConfiguration"EncryptionConfiguration.of_jsoninmake?encryptionConfiguration()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets the encryption configuration for a table. Permissions You must have the s3tables:GetTableEncryption permission to use this operation."]moduleGetTableEncryptionRequest=structtypenonrect={tableBucketARN:TableBucketARN.t[@ocaml.doc"The Amazon Resource Name (ARN) of the table bucket containing the table."];namespace:NamespaceName.t[@ocaml.doc"The namespace associated with the table."];name:TableName.t[@ocaml.doc"The name of the table."]}letcontext_="GetTableEncryptionRequest"letmake~tableBucketARN=fun~namespace->fun~name->fun()->{tableBucketARN;namespace;name}letto_valuex=structure_to_value[("tableBucketARN",(Some(TableBucketARN.to_valuex.tableBucketARN)));("namespace",(Some(NamespaceName.to_valuex.namespace)));("name",(Some(TableName.to_valuex.name)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letname=TableName.of_xml(Xml.child_exn~context:context_xml_arg0"name")inletnamespace=NamespaceName.of_xml(Xml.child_exn~context:context_xml_arg0"namespace")inlettableBucketARN=TableBucketARN.of_xml(Xml.child_exn~context:context_xml_arg0"tableBucketARN")inmake~name~namespace~tableBucketARN()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letname=field_map_exnjson__"name"TableName.of_jsoninletnamespace=field_map_exnjson__"namespace"NamespaceName.of_jsoninlettableBucketARN=field_map_exnjson__"tableBucketARN"TableBucketARN.of_jsoninmake~name~namespace~tableBucketARN()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets the encryption configuration for a table. Permissions You must have the s3tables:GetTableEncryption permission to use this operation."]moduleGetTableBucketStorageClassResponse=structtypenonrect={storageClassConfiguration:StorageClassConfiguration.toption[@ocaml.doc"The storage class configuration for the table bucket."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`BadRequestExceptionofBadRequestException.t|`ForbiddenExceptionofForbiddenException.t|`InternalServerErrorExceptionofInternalServerErrorException.t|`NotFoundExceptionofNotFoundException.t|`TooManyRequestsExceptionofTooManyRequestsException.t|`Unknown_operation_errorof(string*stringoption)]letmake?storageClassConfiguration=fun()->{storageClassConfiguration}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"BadRequestException"->`BadRequestException(BadRequestException.of_jsonjson)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_jsonjson)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_jsonjson)|"NotFoundException"->`NotFoundException(NotFoundException.of_jsonjson)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"BadRequestException"->`BadRequestException(BadRequestException.of_xmlxml)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_xmlxml)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_xmlxml)|"NotFoundException"->`NotFoundException(NotFoundException.of_xmlxml)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`BadRequestExceptione->`Assoc[("error",(`String"BadRequestException"));("details",(BadRequestException.to_jsone))]|`ForbiddenExceptione->`Assoc[("error",(`String"ForbiddenException"));("details",(ForbiddenException.to_jsone))]|`InternalServerErrorExceptione->`Assoc[("error",(`String"InternalServerErrorException"));("details",(InternalServerErrorException.to_jsone))]|`NotFoundExceptione->`Assoc[("error",(`String"NotFoundException"));("details",(NotFoundException.to_jsone))]|`TooManyRequestsExceptione->`Assoc[("error",(`String"TooManyRequestsException"));("details",(TooManyRequestsException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("storageClassConfiguration",(Option.mapx.storageClassConfiguration~f:StorageClassConfiguration.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstorageClassConfiguration=(Option.map~f:StorageClassConfiguration.of_xml)(Xml.childxml_arg0"storageClassConfiguration")inmake?storageClassConfiguration()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstorageClassConfiguration=field_mapjson__"storageClassConfiguration"StorageClassConfiguration.of_jsoninmake?storageClassConfiguration()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the storage class configuration for a specific table. This allows you to view the storage class settings that apply to an individual table, which may differ from the table bucket's default configuration. Permissions You must have the s3tables:GetTableBucketStorageClass permission to use this operation."]moduleGetTableBucketStorageClassRequest=structtypenonrect={tableBucketARN:TableBucketARN.t[@ocaml.doc"The Amazon Resource Name (ARN) of the table bucket."]}letcontext_="GetTableBucketStorageClassRequest"letmake~tableBucketARN=fun()->{tableBucketARN}letto_valuex=structure_to_value[("tableBucketARN",(Some(TableBucketARN.to_valuex.tableBucketARN)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettableBucketARN=TableBucketARN.of_xml(Xml.child_exn~context:context_xml_arg0"tableBucketARN")inmake~tableBucketARN()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettableBucketARN=field_map_exnjson__"tableBucketARN"TableBucketARN.of_jsoninmake~tableBucketARN()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the storage class configuration for a specific table. This allows you to view the storage class settings that apply to an individual table, which may differ from the table bucket's default configuration. Permissions You must have the s3tables:GetTableBucketStorageClass permission to use this operation."]moduleGetTableBucketResponse=structtypenonrect={arn:TableBucketARN.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the table bucket."];name:TableBucketName.toption[@ocaml.doc"The name of the table bucket"];ownerAccountId:AccountId.toption[@ocaml.doc"The ID of the account that owns the table bucket."];createdAt:SyntheticTimestamp_date_time.toption[@ocaml.doc"The date and time the table bucket was created."];tableBucketId:TableBucketId.toption[@ocaml.doc"The unique identifier of the table bucket."];type_:TableBucketType.toption[@ocaml.doc"The type of the table bucket."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`BadRequestExceptionofBadRequestException.t|`ConflictExceptionofConflictException.t|`ForbiddenExceptionofForbiddenException.t|`InternalServerErrorExceptionofInternalServerErrorException.t|`NotFoundExceptionofNotFoundException.t|`TooManyRequestsExceptionofTooManyRequestsException.t|`Unknown_operation_errorof(string*stringoption)]letmake?arn=fun?name->fun?ownerAccountId->fun?createdAt->fun?tableBucketId->fun?type_->fun()->{arn;name;ownerAccountId;createdAt;tableBucketId;type_}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"BadRequestException"->`BadRequestException(BadRequestException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_jsonjson)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_jsonjson)|"NotFoundException"->`NotFoundException(NotFoundException.of_jsonjson)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"BadRequestException"->`BadRequestException(BadRequestException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_xmlxml)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_xmlxml)|"NotFoundException"->`NotFoundException(NotFoundException.of_xmlxml)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`BadRequestExceptione->`Assoc[("error",(`String"BadRequestException"));("details",(BadRequestException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`ForbiddenExceptione->`Assoc[("error",(`String"ForbiddenException"));("details",(ForbiddenException.to_jsone))]|`InternalServerErrorExceptione->`Assoc[("error",(`String"InternalServerErrorException"));("details",(InternalServerErrorException.to_jsone))]|`NotFoundExceptione->`Assoc[("error",(`String"NotFoundException"));("details",(NotFoundException.to_jsone))]|`TooManyRequestsExceptione->`Assoc[("error",(`String"TooManyRequestsException"));("details",(TooManyRequestsException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("arn",(Option.mapx.arn~f:TableBucketARN.to_value));("name",(Option.mapx.name~f:TableBucketName.to_value));("ownerAccountId",(Option.mapx.ownerAccountId~f:AccountId.to_value));("createdAt",(Option.mapx.createdAt~f:SyntheticTimestamp_date_time.to_value));("tableBucketId",(Option.mapx.tableBucketId~f:TableBucketId.to_value));("type",(Option.mapx.type_~f:TableBucketType.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettype_=(Option.map~f:TableBucketType.of_xml)(Xml.childxml_arg0"type")inlettableBucketId=(Option.map~f:TableBucketId.of_xml)(Xml.childxml_arg0"tableBucketId")inletcreatedAt=(Option.map~f:SyntheticTimestamp_date_time.of_xml)(Xml.childxml_arg0"createdAt")inletownerAccountId=(Option.map~f:AccountId.of_xml)(Xml.childxml_arg0"ownerAccountId")inletname=(Option.map~f:TableBucketName.of_xml)(Xml.childxml_arg0"name")inletarn=(Option.map~f:TableBucketARN.of_xml)(Xml.childxml_arg0"arn")inmake?type_?tableBucketId?createdAt?ownerAccountId?name?arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettype_=field_mapjson__"type"TableBucketType.of_jsoninlettableBucketId=field_mapjson__"tableBucketId"TableBucketId.of_jsoninletcreatedAt=field_mapjson__"createdAt"SyntheticTimestamp_date_time.of_jsoninletownerAccountId=field_mapjson__"ownerAccountId"AccountId.of_jsoninletname=field_mapjson__"name"TableBucketName.of_jsoninletarn=field_mapjson__"arn"TableBucketARN.of_jsoninmake?type_?tableBucketId?createdAt?ownerAccountId?name?arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets details on a table bucket. For more information, see Viewing details about an Amazon S3 table bucket in the Amazon Simple Storage Service User Guide. Permissions You must have the s3tables:GetTableBucket permission to use this operation."]moduleGetTableBucketRequest=structtypenonrect={tableBucketARN:TableBucketARN.t[@ocaml.doc"The Amazon Resource Name (ARN) of the table bucket."]}letcontext_="GetTableBucketRequest"letmake~tableBucketARN=fun()->{tableBucketARN}letto_valuex=structure_to_value[("tableBucketARN",(Some(TableBucketARN.to_valuex.tableBucketARN)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettableBucketARN=TableBucketARN.of_xml(Xml.child_exn~context:context_xml_arg0"tableBucketARN")inmake~tableBucketARN()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettableBucketARN=field_map_exnjson__"tableBucketARN"TableBucketARN.of_jsoninmake~tableBucketARN()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets details on a table bucket. For more information, see Viewing details about an Amazon S3 table bucket in the Amazon Simple Storage Service User Guide. Permissions You must have the s3tables:GetTableBucket permission to use this operation."]moduleGetTableBucketReplicationResponse=structtypenonrect={versionToken:VersionToken.toption[@ocaml.doc"A version token that represents the current state of the replication configuration. Use this token when updating the configuration to ensure consistency."];configuration:TableBucketReplicationConfiguration.toption[@ocaml.doc"The replication configuration for the table bucket, including the IAM role and replication rules."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`BadRequestExceptionofBadRequestException.t|`ConflictExceptionofConflictException.t|`ForbiddenExceptionofForbiddenException.t|`InternalServerErrorExceptionofInternalServerErrorException.t|`NotFoundExceptionofNotFoundException.t|`TooManyRequestsExceptionofTooManyRequestsException.t|`Unknown_operation_errorof(string*stringoption)]letmake?versionToken=fun?configuration->fun()->{versionToken;configuration}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"BadRequestException"->`BadRequestException(BadRequestException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_jsonjson)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_jsonjson)|"NotFoundException"->`NotFoundException(NotFoundException.of_jsonjson)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"BadRequestException"->`BadRequestException(BadRequestException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_xmlxml)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_xmlxml)|"NotFoundException"->`NotFoundException(NotFoundException.of_xmlxml)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`BadRequestExceptione->`Assoc[("error",(`String"BadRequestException"));("details",(BadRequestException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`ForbiddenExceptione->`Assoc[("error",(`String"ForbiddenException"));("details",(ForbiddenException.to_jsone))]|`InternalServerErrorExceptione->`Assoc[("error",(`String"InternalServerErrorException"));("details",(InternalServerErrorException.to_jsone))]|`NotFoundExceptione->`Assoc[("error",(`String"NotFoundException"));("details",(NotFoundException.to_jsone))]|`TooManyRequestsExceptione->`Assoc[("error",(`String"TooManyRequestsException"));("details",(TooManyRequestsException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("versionToken",(Option.mapx.versionToken~f:VersionToken.to_value));("configuration",(Option.mapx.configuration~f:TableBucketReplicationConfiguration.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letconfiguration=(Option.map~f:TableBucketReplicationConfiguration.of_xml)(Xml.childxml_arg0"configuration")inletversionToken=(Option.map~f:VersionToken.of_xml)(Xml.childxml_arg0"versionToken")inmake?configuration?versionToken()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letconfiguration=field_mapjson__"configuration"TableBucketReplicationConfiguration.of_jsoninletversionToken=field_mapjson__"versionToken"VersionToken.of_jsoninmake?configuration?versionToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the replication configuration for a table bucket.This operation returns the IAM role, versionToken, and replication rules that define how tables in this bucket are replicated to other buckets. Permissions You must have the s3tables:GetTableBucketReplication permission to use this operation."]moduleGetTableBucketReplicationRequest=structtypenonrect={tableBucketARN:TableBucketARN.t[@ocaml.doc"The Amazon Resource Name (ARN) of the table bucket."]}letcontext_="GetTableBucketReplicationRequest"letmake~tableBucketARN=fun()->{tableBucketARN}letto_valuex=structure_to_value[("tableBucketARN",(Some(TableBucketARN.to_valuex.tableBucketARN)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettableBucketARN=TableBucketARN.of_xml(Xml.child_exn~context:context_xml_arg0"tableBucketARN")inmake~tableBucketARN()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettableBucketARN=field_map_exnjson__"tableBucketARN"TableBucketARN.of_jsoninmake~tableBucketARN()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the replication configuration for a table bucket.This operation returns the IAM role, versionToken, and replication rules that define how tables in this bucket are replicated to other buckets. Permissions You must have the s3tables:GetTableBucketReplication permission to use this operation."]moduleGetTableBucketPolicyResponse=structtypenonrect={resourcePolicy:ResourcePolicy.toption[@ocaml.doc"The JSON that defines the policy."]}typenonrecerror=[`BadRequestExceptionofBadRequestException.t|`ConflictExceptionofConflictException.t|`ForbiddenExceptionofForbiddenException.t|`InternalServerErrorExceptionofInternalServerErrorException.t|`NotFoundExceptionofNotFoundException.t|`TooManyRequestsExceptionofTooManyRequestsException.t|`Unknown_operation_errorof(string*stringoption)]letmake?resourcePolicy=fun()->{resourcePolicy}leterror_of_jsonnamejson=matchnamewith|"BadRequestException"->`BadRequestException(BadRequestException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_jsonjson)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_jsonjson)|"NotFoundException"->`NotFoundException(NotFoundException.of_jsonjson)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestException"->`BadRequestException(BadRequestException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_xmlxml)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_xmlxml)|"NotFoundException"->`NotFoundException(NotFoundException.of_xmlxml)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestExceptione->`Assoc[("error",(`String"BadRequestException"));("details",(BadRequestException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`ForbiddenExceptione->`Assoc[("error",(`String"ForbiddenException"));("details",(ForbiddenException.to_jsone))]|`InternalServerErrorExceptione->`Assoc[("error",(`String"InternalServerErrorException"));("details",(InternalServerErrorException.to_jsone))]|`NotFoundExceptione->`Assoc[("error",(`String"NotFoundException"));("details",(NotFoundException.to_jsone))]|`TooManyRequestsExceptione->`Assoc[("error",(`String"TooManyRequestsException"));("details",(TooManyRequestsException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("resourcePolicy",(Option.mapx.resourcePolicy~f:ResourcePolicy.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresourcePolicy=(Option.map~f:ResourcePolicy.of_xml)(Xml.childxml_arg0"resourcePolicy")inmake?resourcePolicy()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresourcePolicy=field_mapjson__"resourcePolicy"ResourcePolicy.of_jsoninmake?resourcePolicy()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets details about a table bucket policy. For more information, see Viewing a table bucket policy in the Amazon Simple Storage Service User Guide. Permissions You must have the s3tables:GetTableBucketPolicy permission to use this operation."]moduleGetTableBucketPolicyRequest=structtypenonrect={tableBucketARN:TableBucketARN.t[@ocaml.doc"The Amazon Resource Name (ARN) of the table bucket."]}letcontext_="GetTableBucketPolicyRequest"letmake~tableBucketARN=fun()->{tableBucketARN}letto_valuex=structure_to_value[("tableBucketARN",(Some(TableBucketARN.to_valuex.tableBucketARN)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettableBucketARN=TableBucketARN.of_xml(Xml.child_exn~context:context_xml_arg0"tableBucketARN")inmake~tableBucketARN()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettableBucketARN=field_map_exnjson__"tableBucketARN"TableBucketARN.of_jsoninmake~tableBucketARN()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets details about a table bucket policy. For more information, see Viewing a table bucket policy in the Amazon Simple Storage Service User Guide. Permissions You must have the s3tables:GetTableBucketPolicy permission to use this operation."]moduleGetTableBucketMetricsConfigurationResponse=structtypenonrect={tableBucketARN:TableBucketARN.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the table bucket."];id:String_.toption[@ocaml.doc"The unique identifier of the metrics configuration."]}typenonrecerror=[`BadRequestExceptionofBadRequestException.t|`ConflictExceptionofConflictException.t|`ForbiddenExceptionofForbiddenException.t|`InternalServerErrorExceptionofInternalServerErrorException.t|`NotFoundExceptionofNotFoundException.t|`TooManyRequestsExceptionofTooManyRequestsException.t|`Unknown_operation_errorof(string*stringoption)]letmake?tableBucketARN=fun?id->fun()->{tableBucketARN;id}leterror_of_jsonnamejson=matchnamewith|"BadRequestException"->`BadRequestException(BadRequestException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_jsonjson)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_jsonjson)|"NotFoundException"->`NotFoundException(NotFoundException.of_jsonjson)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestException"->`BadRequestException(BadRequestException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_xmlxml)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_xmlxml)|"NotFoundException"->`NotFoundException(NotFoundException.of_xmlxml)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestExceptione->`Assoc[("error",(`String"BadRequestException"));("details",(BadRequestException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`ForbiddenExceptione->`Assoc[("error",(`String"ForbiddenException"));("details",(ForbiddenException.to_jsone))]|`InternalServerErrorExceptione->`Assoc[("error",(`String"InternalServerErrorException"));("details",(InternalServerErrorException.to_jsone))]|`NotFoundExceptione->`Assoc[("error",(`String"NotFoundException"));("details",(NotFoundException.to_jsone))]|`TooManyRequestsExceptione->`Assoc[("error",(`String"TooManyRequestsException"));("details",(TooManyRequestsException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("tableBucketARN",(Option.mapx.tableBucketARN~f:TableBucketARN.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")inlettableBucketARN=(Option.map~f:TableBucketARN.of_xml)(Xml.childxml_arg0"tableBucketARN")inmake?id?tableBucketARN()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letid=field_mapjson__"id"String_.of_jsoninlettableBucketARN=field_mapjson__"tableBucketARN"TableBucketARN.of_jsoninmake?id?tableBucketARN()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets the metrics configuration for a table bucket. Permissions You must have the s3tables:GetTableBucketMetricsConfiguration permission to use this operation."]moduleGetTableBucketMetricsConfigurationRequest=structtypenonrect={tableBucketARN:TableBucketARN.t[@ocaml.doc"The Amazon Resource Name (ARN) of the table bucket."]}letcontext_="GetTableBucketMetricsConfigurationRequest"letmake~tableBucketARN=fun()->{tableBucketARN}letto_valuex=structure_to_value[("tableBucketARN",(Some(TableBucketARN.to_valuex.tableBucketARN)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettableBucketARN=TableBucketARN.of_xml(Xml.child_exn~context:context_xml_arg0"tableBucketARN")inmake~tableBucketARN()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettableBucketARN=field_map_exnjson__"tableBucketARN"TableBucketARN.of_jsoninmake~tableBucketARN()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets the metrics configuration for a table bucket. Permissions You must have the s3tables:GetTableBucketMetricsConfiguration permission to use this operation."]moduleGetTableBucketMaintenanceConfigurationResponse=structtypenonrect={tableBucketARN:TableBucketARN.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the table bucket associated with the maintenance configuration."];configuration:TableBucketMaintenanceConfiguration.toption[@ocaml.doc"Details about the maintenance configuration for the table bucket."]}typenonrecerror=[`BadRequestExceptionofBadRequestException.t|`ConflictExceptionofConflictException.t|`ForbiddenExceptionofForbiddenException.t|`InternalServerErrorExceptionofInternalServerErrorException.t|`NotFoundExceptionofNotFoundException.t|`TooManyRequestsExceptionofTooManyRequestsException.t|`Unknown_operation_errorof(string*stringoption)]letmake?tableBucketARN=fun?configuration->fun()->{tableBucketARN;configuration}leterror_of_jsonnamejson=matchnamewith|"BadRequestException"->`BadRequestException(BadRequestException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_jsonjson)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_jsonjson)|"NotFoundException"->`NotFoundException(NotFoundException.of_jsonjson)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestException"->`BadRequestException(BadRequestException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_xmlxml)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_xmlxml)|"NotFoundException"->`NotFoundException(NotFoundException.of_xmlxml)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestExceptione->`Assoc[("error",(`String"BadRequestException"));("details",(BadRequestException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`ForbiddenExceptione->`Assoc[("error",(`String"ForbiddenException"));("details",(ForbiddenException.to_jsone))]|`InternalServerErrorExceptione->`Assoc[("error",(`String"InternalServerErrorException"));("details",(InternalServerErrorException.to_jsone))]|`NotFoundExceptione->`Assoc[("error",(`String"NotFoundException"));("details",(NotFoundException.to_jsone))]|`TooManyRequestsExceptione->`Assoc[("error",(`String"TooManyRequestsException"));("details",(TooManyRequestsException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("tableBucketARN",(Option.mapx.tableBucketARN~f:TableBucketARN.to_value));("configuration",(Option.mapx.configuration~f:TableBucketMaintenanceConfiguration.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letconfiguration=(Option.map~f:TableBucketMaintenanceConfiguration.of_xml)(Xml.childxml_arg0"configuration")inlettableBucketARN=(Option.map~f:TableBucketARN.of_xml)(Xml.childxml_arg0"tableBucketARN")inmake?configuration?tableBucketARN()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letconfiguration=field_mapjson__"configuration"TableBucketMaintenanceConfiguration.of_jsoninlettableBucketARN=field_mapjson__"tableBucketARN"TableBucketARN.of_jsoninmake?configuration?tableBucketARN()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets details about a maintenance configuration for a given table bucket. For more information, see Amazon S3 table bucket maintenance in the Amazon Simple Storage Service User Guide. Permissions You must have the s3tables:GetTableBucketMaintenanceConfiguration permission to use this operation."]moduleGetTableBucketMaintenanceConfigurationRequest=structtypenonrect={tableBucketARN:TableBucketARN.t[@ocaml.doc"The Amazon Resource Name (ARN) of the table bucket associated with the maintenance configuration."]}letcontext_="GetTableBucketMaintenanceConfigurationRequest"letmake~tableBucketARN=fun()->{tableBucketARN}letto_valuex=structure_to_value[("tableBucketARN",(Some(TableBucketARN.to_valuex.tableBucketARN)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettableBucketARN=TableBucketARN.of_xml(Xml.child_exn~context:context_xml_arg0"tableBucketARN")inmake~tableBucketARN()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettableBucketARN=field_map_exnjson__"tableBucketARN"TableBucketARN.of_jsoninmake~tableBucketARN()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets details about a maintenance configuration for a given table bucket. For more information, see Amazon S3 table bucket maintenance in the Amazon Simple Storage Service User Guide. Permissions You must have the s3tables:GetTableBucketMaintenanceConfiguration permission to use this operation."]moduleGetTableBucketEncryptionResponse=structtypenonrect={encryptionConfiguration:EncryptionConfiguration.toption[@ocaml.doc"The encryption configuration for the table bucket."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`BadRequestExceptionofBadRequestException.t|`ForbiddenExceptionofForbiddenException.t|`InternalServerErrorExceptionofInternalServerErrorException.t|`NotFoundExceptionofNotFoundException.t|`TooManyRequestsExceptionofTooManyRequestsException.t|`Unknown_operation_errorof(string*stringoption)]letmake?encryptionConfiguration=fun()->{encryptionConfiguration}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"BadRequestException"->`BadRequestException(BadRequestException.of_jsonjson)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_jsonjson)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_jsonjson)|"NotFoundException"->`NotFoundException(NotFoundException.of_jsonjson)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"BadRequestException"->`BadRequestException(BadRequestException.of_xmlxml)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_xmlxml)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_xmlxml)|"NotFoundException"->`NotFoundException(NotFoundException.of_xmlxml)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`BadRequestExceptione->`Assoc[("error",(`String"BadRequestException"));("details",(BadRequestException.to_jsone))]|`ForbiddenExceptione->`Assoc[("error",(`String"ForbiddenException"));("details",(ForbiddenException.to_jsone))]|`InternalServerErrorExceptione->`Assoc[("error",(`String"InternalServerErrorException"));("details",(InternalServerErrorException.to_jsone))]|`NotFoundExceptione->`Assoc[("error",(`String"NotFoundException"));("details",(NotFoundException.to_jsone))]|`TooManyRequestsExceptione->`Assoc[("error",(`String"TooManyRequestsException"));("details",(TooManyRequestsException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("encryptionConfiguration",(Option.mapx.encryptionConfiguration~f:EncryptionConfiguration.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letencryptionConfiguration=(Option.map~f:EncryptionConfiguration.of_xml)(Xml.childxml_arg0"encryptionConfiguration")inmake?encryptionConfiguration()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letencryptionConfiguration=field_mapjson__"encryptionConfiguration"EncryptionConfiguration.of_jsoninmake?encryptionConfiguration()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets the encryption configuration for a table bucket. Permissions You must have the s3tables:GetTableBucketEncryption permission to use this operation."]moduleGetTableBucketEncryptionRequest=structtypenonrect={tableBucketARN:TableBucketARN.t[@ocaml.doc"The Amazon Resource Name (ARN) of the table bucket."]}letcontext_="GetTableBucketEncryptionRequest"letmake~tableBucketARN=fun()->{tableBucketARN}letto_valuex=structure_to_value[("tableBucketARN",(Some(TableBucketARN.to_valuex.tableBucketARN)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettableBucketARN=TableBucketARN.of_xml(Xml.child_exn~context:context_xml_arg0"tableBucketARN")inmake~tableBucketARN()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettableBucketARN=field_map_exnjson__"tableBucketARN"TableBucketARN.of_jsoninmake~tableBucketARN()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets the encryption configuration for a table bucket. Permissions You must have the s3tables:GetTableBucketEncryption permission to use this operation."]moduleGetNamespaceResponse=structtypenonrect={namespace:NamespaceList.toption[@ocaml.doc"The name of the namespace."];createdAt:SyntheticTimestamp_date_time.toption[@ocaml.doc"The date and time the namespace was created at."];createdBy:AccountId.toption[@ocaml.doc"The ID of the account that created the namespace."];ownerAccountId:AccountId.toption[@ocaml.doc"The ID of the account that owns the namespcace."];namespaceId:NamespaceId.toption[@ocaml.doc"The unique identifier of the namespace."];tableBucketId:TableBucketId.toption[@ocaml.doc"The unique identifier of the table bucket containing this namespace."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`BadRequestExceptionofBadRequestException.t|`ConflictExceptionofConflictException.t|`ForbiddenExceptionofForbiddenException.t|`InternalServerErrorExceptionofInternalServerErrorException.t|`NotFoundExceptionofNotFoundException.t|`TooManyRequestsExceptionofTooManyRequestsException.t|`Unknown_operation_errorof(string*stringoption)]letmake?namespace=fun?createdAt->fun?createdBy->fun?ownerAccountId->fun?namespaceId->fun?tableBucketId->fun()->{namespace;createdAt;createdBy;ownerAccountId;namespaceId;tableBucketId}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"BadRequestException"->`BadRequestException(BadRequestException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_jsonjson)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_jsonjson)|"NotFoundException"->`NotFoundException(NotFoundException.of_jsonjson)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"BadRequestException"->`BadRequestException(BadRequestException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_xmlxml)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_xmlxml)|"NotFoundException"->`NotFoundException(NotFoundException.of_xmlxml)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`BadRequestExceptione->`Assoc[("error",(`String"BadRequestException"));("details",(BadRequestException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`ForbiddenExceptione->`Assoc[("error",(`String"ForbiddenException"));("details",(ForbiddenException.to_jsone))]|`InternalServerErrorExceptione->`Assoc[("error",(`String"InternalServerErrorException"));("details",(InternalServerErrorException.to_jsone))]|`NotFoundExceptione->`Assoc[("error",(`String"NotFoundException"));("details",(NotFoundException.to_jsone))]|`TooManyRequestsExceptione->`Assoc[("error",(`String"TooManyRequestsException"));("details",(TooManyRequestsException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("namespace",(Option.mapx.namespace~f:NamespaceList.to_value));("createdAt",(Option.mapx.createdAt~f:SyntheticTimestamp_date_time.to_value));("createdBy",(Option.mapx.createdBy~f:AccountId.to_value));("ownerAccountId",(Option.mapx.ownerAccountId~f:AccountId.to_value));("namespaceId",(Option.mapx.namespaceId~f:NamespaceId.to_value));("tableBucketId",(Option.mapx.tableBucketId~f:TableBucketId.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettableBucketId=(Option.map~f:TableBucketId.of_xml)(Xml.childxml_arg0"tableBucketId")inletnamespaceId=(Option.map~f:NamespaceId.of_xml)(Xml.childxml_arg0"namespaceId")inletownerAccountId=(Option.map~f:AccountId.of_xml)(Xml.childxml_arg0"ownerAccountId")inletcreatedBy=(Option.map~f:AccountId.of_xml)(Xml.childxml_arg0"createdBy")inletcreatedAt=(Option.map~f:SyntheticTimestamp_date_time.of_xml)(Xml.childxml_arg0"createdAt")inletnamespace=(Option.map~f:NamespaceList.of_xml)(Xml.childxml_arg0"namespace")inmake?tableBucketId?namespaceId?ownerAccountId?createdBy?createdAt?namespace()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettableBucketId=field_mapjson__"tableBucketId"TableBucketId.of_jsoninletnamespaceId=field_mapjson__"namespaceId"NamespaceId.of_jsoninletownerAccountId=field_mapjson__"ownerAccountId"AccountId.of_jsoninletcreatedBy=field_mapjson__"createdBy"AccountId.of_jsoninletcreatedAt=field_mapjson__"createdAt"SyntheticTimestamp_date_time.of_jsoninletnamespace=field_mapjson__"namespace"NamespaceList.of_jsoninmake?tableBucketId?namespaceId?ownerAccountId?createdBy?createdAt?namespace()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets details about a namespace. For more information, see Table namespaces in the Amazon Simple Storage Service User Guide. Permissions You must have the s3tables:GetNamespace permission to use this operation."]moduleGetNamespaceRequest=structtypenonrect={tableBucketARN:TableBucketARN.t[@ocaml.doc"The Amazon Resource Name (ARN) of the table bucket."];namespace:NamespaceName.t[@ocaml.doc"The name of the namespace."]}letcontext_="GetNamespaceRequest"letmake~tableBucketARN=fun~namespace->fun()->{tableBucketARN;namespace}letto_valuex=structure_to_value[("tableBucketARN",(Some(TableBucketARN.to_valuex.tableBucketARN)));("namespace",(Some(NamespaceName.to_valuex.namespace)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnamespace=NamespaceName.of_xml(Xml.child_exn~context:context_xml_arg0"namespace")inlettableBucketARN=TableBucketARN.of_xml(Xml.child_exn~context:context_xml_arg0"tableBucketARN")inmake~namespace~tableBucketARN()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnamespace=field_map_exnjson__"namespace"NamespaceName.of_jsoninlettableBucketARN=field_map_exnjson__"tableBucketARN"TableBucketARN.of_jsoninmake~namespace~tableBucketARN()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets details about a namespace. For more information, see Table namespaces in the Amazon Simple Storage Service User Guide. Permissions You must have the s3tables:GetNamespace permission to use this operation."]moduleDeleteTableRequest=structtypenonrect={tableBucketARN:TableBucketARN.t[@ocaml.doc"The Amazon Resource Name (ARN) of the table bucket that contains the table."];namespace:NamespaceName.t[@ocaml.doc"The namespace associated with the table."];name:TableName.t[@ocaml.doc"The name of the table."];versionToken:VersionToken.toption[@ocaml.doc"The version token of the table."]}letcontext_="DeleteTableRequest"letmake?versionToken=fun~tableBucketARN->fun~namespace->fun~name->fun()->{versionToken;tableBucketARN;namespace;name}letto_valuex=structure_to_value[("tableBucketARN",(Some(TableBucketARN.to_valuex.tableBucketARN)));("namespace",(Some(NamespaceName.to_valuex.namespace)));("name",(Some(TableName.to_valuex.name)));("versionToken",(Option.mapx.versionToken~f:VersionToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letversionToken=(Option.map~f:VersionToken.of_xml)(Xml.childxml_arg0"versionToken")inletname=TableName.of_xml(Xml.child_exn~context:context_xml_arg0"name")inletnamespace=NamespaceName.of_xml(Xml.child_exn~context:context_xml_arg0"namespace")inlettableBucketARN=TableBucketARN.of_xml(Xml.child_exn~context:context_xml_arg0"tableBucketARN")inmake?versionToken~name~namespace~tableBucketARN()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letversionToken=field_mapjson__"versionToken"VersionToken.of_jsoninletname=field_map_exnjson__"name"TableName.of_jsoninletnamespace=field_map_exnjson__"namespace"NamespaceName.of_jsoninlettableBucketARN=field_map_exnjson__"tableBucketARN"TableBucketARN.of_jsoninmake?versionToken~name~namespace~tableBucketARN()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes a table. For more information, see Deleting an Amazon S3 table in the Amazon Simple Storage Service User Guide. Permissions You must have the s3tables:DeleteTable permission to use this operation."]moduleDeleteTableReplicationRequest=structtypenonrect={tableArn:TableARN.t[@ocaml.doc"The Amazon Resource Name (ARN) of the table."];versionToken:String_.t[@ocaml.doc"A version token from a previous GetTableReplication call. Use this token to ensure you're deleting the expected version of the configuration."]}letcontext_="DeleteTableReplicationRequest"letmake~tableArn=fun~versionToken->fun()->{tableArn;versionToken}letto_valuex=structure_to_value[("tableArn",(Some(TableARN.to_valuex.tableArn)));("versionToken",(Some(String_.to_valuex.versionToken)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letversionToken=String_.of_xml(Xml.child_exn~context:context_xml_arg0"versionToken")inlettableArn=TableARN.of_xml(Xml.child_exn~context:context_xml_arg0"tableArn")inmake~versionToken~tableArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letversionToken=field_map_exnjson__"versionToken"String_.of_jsoninlettableArn=field_map_exnjson__"tableArn"TableARN.of_jsoninmake~versionToken~tableArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes the replication configuration for a specific table. After deletion, new updates to this table will no longer be replicated to destination tables, though existing replicated copies will remain in destination buckets. Permissions You must have the s3tables:DeleteTableReplication permission to use this operation."]moduleDeleteTablePolicyRequest=structtypenonrect={tableBucketARN:TableBucketARN.t[@ocaml.doc"The Amazon Resource Name (ARN) of the table bucket that contains the table."];namespace:NamespaceName.t[@ocaml.doc"The namespace associated with the table."];name:TableName.t[@ocaml.doc"The table name."]}letcontext_="DeleteTablePolicyRequest"letmake~tableBucketARN=fun~namespace->fun~name->fun()->{tableBucketARN;namespace;name}letto_valuex=structure_to_value[("tableBucketARN",(Some(TableBucketARN.to_valuex.tableBucketARN)));("namespace",(Some(NamespaceName.to_valuex.namespace)));("name",(Some(TableName.to_valuex.name)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letname=TableName.of_xml(Xml.child_exn~context:context_xml_arg0"name")inletnamespace=NamespaceName.of_xml(Xml.child_exn~context:context_xml_arg0"namespace")inlettableBucketARN=TableBucketARN.of_xml(Xml.child_exn~context:context_xml_arg0"tableBucketARN")inmake~name~namespace~tableBucketARN()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letname=field_map_exnjson__"name"TableName.of_jsoninletnamespace=field_map_exnjson__"namespace"NamespaceName.of_jsoninlettableBucketARN=field_map_exnjson__"tableBucketARN"TableBucketARN.of_jsoninmake~name~namespace~tableBucketARN()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes a table policy. For more information, see Deleting a table policy in the Amazon Simple Storage Service User Guide. Permissions You must have the s3tables:DeleteTablePolicy permission to use this operation."]moduleDeleteTableBucketRequest=structtypenonrect={tableBucketARN:TableBucketARN.t[@ocaml.doc"The Amazon Resource Name (ARN) of the table bucket."]}letcontext_="DeleteTableBucketRequest"letmake~tableBucketARN=fun()->{tableBucketARN}letto_valuex=structure_to_value[("tableBucketARN",(Some(TableBucketARN.to_valuex.tableBucketARN)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettableBucketARN=TableBucketARN.of_xml(Xml.child_exn~context:context_xml_arg0"tableBucketARN")inmake~tableBucketARN()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettableBucketARN=field_map_exnjson__"tableBucketARN"TableBucketARN.of_jsoninmake~tableBucketARN()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes a table bucket. For more information, see Deleting a table bucket in the Amazon Simple Storage Service User Guide. Permissions You must have the s3tables:DeleteTableBucket permission to use this operation."]moduleDeleteTableBucketReplicationRequest=structtypenonrect={tableBucketARN:TableBucketARN.t[@ocaml.doc"The Amazon Resource Name (ARN) of the table bucket."];versionToken:VersionToken.toption[@ocaml.doc"A version token from a previous GetTableBucketReplication call. Use this token to ensure you're deleting the expected version of the configuration."]}letcontext_="DeleteTableBucketReplicationRequest"letmake?versionToken=fun~tableBucketARN->fun()->{versionToken;tableBucketARN}letto_valuex=structure_to_value[("tableBucketARN",(Some(TableBucketARN.to_valuex.tableBucketARN)));("versionToken",(Option.mapx.versionToken~f:VersionToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letversionToken=(Option.map~f:VersionToken.of_xml)(Xml.childxml_arg0"versionToken")inlettableBucketARN=TableBucketARN.of_xml(Xml.child_exn~context:context_xml_arg0"tableBucketARN")inmake?versionToken~tableBucketARN()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letversionToken=field_mapjson__"versionToken"VersionToken.of_jsoninlettableBucketARN=field_map_exnjson__"tableBucketARN"TableBucketARN.of_jsoninmake?versionToken~tableBucketARN()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes the replication configuration for a table bucket. After deletion, new table updates will no longer be replicated to destination buckets, though existing replicated tables will remain in destination buckets. Permissions You must have the s3tables:DeleteTableBucketReplication permission to use this operation."]moduleDeleteTableBucketPolicyRequest=structtypenonrect={tableBucketARN:TableBucketARN.t[@ocaml.doc"The Amazon Resource Name (ARN) of the table bucket."]}letcontext_="DeleteTableBucketPolicyRequest"letmake~tableBucketARN=fun()->{tableBucketARN}letto_valuex=structure_to_value[("tableBucketARN",(Some(TableBucketARN.to_valuex.tableBucketARN)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettableBucketARN=TableBucketARN.of_xml(Xml.child_exn~context:context_xml_arg0"tableBucketARN")inmake~tableBucketARN()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettableBucketARN=field_map_exnjson__"tableBucketARN"TableBucketARN.of_jsoninmake~tableBucketARN()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes a table bucket policy. For more information, see Deleting a table bucket policy in the Amazon Simple Storage Service User Guide. Permissions You must have the s3tables:DeleteTableBucketPolicy permission to use this operation."]moduleDeleteTableBucketMetricsConfigurationRequest=structtypenonrect={tableBucketARN:TableBucketARN.t[@ocaml.doc"The Amazon Resource Name (ARN) of the table bucket."]}letcontext_="DeleteTableBucketMetricsConfigurationRequest"letmake~tableBucketARN=fun()->{tableBucketARN}letto_valuex=structure_to_value[("tableBucketARN",(Some(TableBucketARN.to_valuex.tableBucketARN)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettableBucketARN=TableBucketARN.of_xml(Xml.child_exn~context:context_xml_arg0"tableBucketARN")inmake~tableBucketARN()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettableBucketARN=field_map_exnjson__"tableBucketARN"TableBucketARN.of_jsoninmake~tableBucketARN()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes the metrics configuration for a table bucket. Permissions You must have the s3tables:DeleteTableBucketMetricsConfiguration permission to use this operation."]moduleDeleteTableBucketEncryptionRequest=structtypenonrect={tableBucketARN:TableBucketARN.t[@ocaml.doc"The Amazon Resource Name (ARN) of the table bucket."]}letcontext_="DeleteTableBucketEncryptionRequest"letmake~tableBucketARN=fun()->{tableBucketARN}letto_valuex=structure_to_value[("tableBucketARN",(Some(TableBucketARN.to_valuex.tableBucketARN)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettableBucketARN=TableBucketARN.of_xml(Xml.child_exn~context:context_xml_arg0"tableBucketARN")inmake~tableBucketARN()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettableBucketARN=field_map_exnjson__"tableBucketARN"TableBucketARN.of_jsoninmake~tableBucketARN()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes the encryption configuration for a table bucket. Permissions You must have the s3tables:DeleteTableBucketEncryption permission to use this operation."]moduleDeleteNamespaceRequest=structtypenonrect={tableBucketARN:TableBucketARN.t[@ocaml.doc"The Amazon Resource Name (ARN) of the table bucket associated with the namespace."];namespace:NamespaceName.t[@ocaml.doc"The name of the namespace."]}letcontext_="DeleteNamespaceRequest"letmake~tableBucketARN=fun~namespace->fun()->{tableBucketARN;namespace}letto_valuex=structure_to_value[("tableBucketARN",(Some(TableBucketARN.to_valuex.tableBucketARN)));("namespace",(Some(NamespaceName.to_valuex.namespace)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnamespace=NamespaceName.of_xml(Xml.child_exn~context:context_xml_arg0"namespace")inlettableBucketARN=TableBucketARN.of_xml(Xml.child_exn~context:context_xml_arg0"tableBucketARN")inmake~namespace~tableBucketARN()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnamespace=field_map_exnjson__"namespace"NamespaceName.of_jsoninlettableBucketARN=field_map_exnjson__"tableBucketARN"TableBucketARN.of_jsoninmake~namespace~tableBucketARN()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes a namespace. For more information, see Delete a namespace in the Amazon Simple Storage Service User Guide. Permissions You must have the s3tables:DeleteNamespace permission to use this operation."]moduleCreateTableResponse=structtypenonrect={tableARN:TableARN.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the table."];versionToken:VersionToken.toption[@ocaml.doc"The version token of the table."]}typenonrecerror=[`BadRequestExceptionofBadRequestException.t|`ConflictExceptionofConflictException.t|`ForbiddenExceptionofForbiddenException.t|`InternalServerErrorExceptionofInternalServerErrorException.t|`NotFoundExceptionofNotFoundException.t|`TooManyRequestsExceptionofTooManyRequestsException.t|`Unknown_operation_errorof(string*stringoption)]letmake?tableARN=fun?versionToken->fun()->{tableARN;versionToken}leterror_of_jsonnamejson=matchnamewith|"BadRequestException"->`BadRequestException(BadRequestException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_jsonjson)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_jsonjson)|"NotFoundException"->`NotFoundException(NotFoundException.of_jsonjson)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestException"->`BadRequestException(BadRequestException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_xmlxml)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_xmlxml)|"NotFoundException"->`NotFoundException(NotFoundException.of_xmlxml)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestExceptione->`Assoc[("error",(`String"BadRequestException"));("details",(BadRequestException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`ForbiddenExceptione->`Assoc[("error",(`String"ForbiddenException"));("details",(ForbiddenException.to_jsone))]|`InternalServerErrorExceptione->`Assoc[("error",(`String"InternalServerErrorException"));("details",(InternalServerErrorException.to_jsone))]|`NotFoundExceptione->`Assoc[("error",(`String"NotFoundException"));("details",(NotFoundException.to_jsone))]|`TooManyRequestsExceptione->`Assoc[("error",(`String"TooManyRequestsException"));("details",(TooManyRequestsException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("tableARN",(Option.mapx.tableARN~f:TableARN.to_value));("versionToken",(Option.mapx.versionToken~f:VersionToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letversionToken=(Option.map~f:VersionToken.of_xml)(Xml.childxml_arg0"versionToken")inlettableARN=(Option.map~f:TableARN.of_xml)(Xml.childxml_arg0"tableARN")inmake?versionToken?tableARN()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letversionToken=field_mapjson__"versionToken"VersionToken.of_jsoninlettableARN=field_mapjson__"tableARN"TableARN.of_jsoninmake?versionToken?tableARN()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a new table associated with the given namespace in a table bucket. For more information, see Creating an Amazon S3 table in the Amazon Simple Storage Service User Guide. Permissions You must have the s3tables:CreateTable permission to use this operation. If you use this operation with the optional metadata request parameter you must have the s3tables:PutTableData permission. If you use this operation with the optional encryptionConfiguration request parameter you must have the s3tables:PutTableEncryption permission. If you use this operation with the storageClassConfiguration request parameter, you must have the s3tables:PutTableStorageClass permission. To create a table with tags, you must have the s3tables:TagResource permission in addition to s3tables:CreateTable permission. Additionally, If you choose SSE-KMS encryption you must grant the S3 Tables maintenance principal access to your KMS key. For more information, see Permissions requirements for S3 Tables SSE-KMS encryption."]moduleCreateTableRequest=structtypenonrect={tableBucketARN:TableBucketARN.t[@ocaml.doc"The Amazon Resource Name (ARN) of the table bucket to create the table in."];namespace:NamespaceName.t[@ocaml.doc"The namespace to associated with the table."];name:TableName.t[@ocaml.doc"The name for the table."];format:OpenTableFormat.t[@ocaml.doc"The format for the table."];metadata:TableMetadata.toption[@ocaml.doc"The metadata for the table."];encryptionConfiguration:EncryptionConfiguration.toption[@ocaml.doc"The encryption configuration to use for the table. This configuration specifies the encryption algorithm and, if using SSE-KMS, the KMS key to use for encrypting the table. If you choose SSE-KMS encryption you must grant the S3 Tables maintenance principal access to your KMS key. For more information, see Permissions requirements for S3 Tables SSE-KMS encryption."];storageClassConfiguration:StorageClassConfiguration.toption[@ocaml.doc"The storage class configuration for the table. If not specified, the table inherits the storage class configuration from its table bucket. Specify this parameter to override the bucket's default storage class for this table."];tags:Tags.toption[@ocaml.doc"A map of user-defined tags that you would like to apply to the table that you are creating. A tag is a key-value pair that you apply to your resources. Tags can help you organize, track costs for, and control access to resources. For more information, see Tagging for cost allocation or attribute-based access control (ABAC). You must have the s3tables:TagResource permission in addition to s3tables:CreateTable permission to create a table with tags."]}letcontext_="CreateTableRequest"letmake?metadata=fun?encryptionConfiguration->fun?storageClassConfiguration->fun?tags->fun~tableBucketARN->fun~namespace->fun~name->fun~format->fun()->{metadata;encryptionConfiguration;storageClassConfiguration;tags;tableBucketARN;namespace;name;format}letto_valuex=structure_to_value[("tableBucketARN",(Some(TableBucketARN.to_valuex.tableBucketARN)));("namespace",(Some(NamespaceName.to_valuex.namespace)));("name",(Some(TableName.to_valuex.name)));("format",(Some(OpenTableFormat.to_valuex.format)));("metadata",(Option.mapx.metadata~f:TableMetadata.to_value));("encryptionConfiguration",(Option.mapx.encryptionConfiguration~f:EncryptionConfiguration.to_value));("storageClassConfiguration",(Option.mapx.storageClassConfiguration~f:StorageClassConfiguration.to_value));("tags",(Option.mapx.tags~f:Tags.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettags=(Option.map~f:Tags.of_xml)(Xml.childxml_arg0"tags")inletstorageClassConfiguration=(Option.map~f:StorageClassConfiguration.of_xml)(Xml.childxml_arg0"storageClassConfiguration")inletencryptionConfiguration=(Option.map~f:EncryptionConfiguration.of_xml)(Xml.childxml_arg0"encryptionConfiguration")inletmetadata=(Option.map~f:TableMetadata.of_xml)(Xml.childxml_arg0"metadata")inletformat=OpenTableFormat.of_xml(Xml.child_exn~context:context_xml_arg0"format")inletname=TableName.of_xml(Xml.child_exn~context:context_xml_arg0"name")inletnamespace=NamespaceName.of_xml(Xml.child_exn~context:context_xml_arg0"namespace")inlettableBucketARN=TableBucketARN.of_xml(Xml.child_exn~context:context_xml_arg0"tableBucketARN")inmake?tags?storageClassConfiguration?encryptionConfiguration?metadata~format~name~namespace~tableBucketARN()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"tags"Tags.of_jsoninletstorageClassConfiguration=field_mapjson__"storageClassConfiguration"StorageClassConfiguration.of_jsoninletencryptionConfiguration=field_mapjson__"encryptionConfiguration"EncryptionConfiguration.of_jsoninletmetadata=field_mapjson__"metadata"TableMetadata.of_jsoninletformat=field_map_exnjson__"format"OpenTableFormat.of_jsoninletname=field_map_exnjson__"name"TableName.of_jsoninletnamespace=field_map_exnjson__"namespace"NamespaceName.of_jsoninlettableBucketARN=field_map_exnjson__"tableBucketARN"TableBucketARN.of_jsoninmake?tags?storageClassConfiguration?encryptionConfiguration?metadata~format~name~namespace~tableBucketARN()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a new table associated with the given namespace in a table bucket. For more information, see Creating an Amazon S3 table in the Amazon Simple Storage Service User Guide. Permissions You must have the s3tables:CreateTable permission to use this operation. If you use this operation with the optional metadata request parameter you must have the s3tables:PutTableData permission. If you use this operation with the optional encryptionConfiguration request parameter you must have the s3tables:PutTableEncryption permission. If you use this operation with the storageClassConfiguration request parameter, you must have the s3tables:PutTableStorageClass permission. To create a table with tags, you must have the s3tables:TagResource permission in addition to s3tables:CreateTable permission. Additionally, If you choose SSE-KMS encryption you must grant the S3 Tables maintenance principal access to your KMS key. For more information, see Permissions requirements for S3 Tables SSE-KMS encryption."]moduleCreateTableBucketResponse=structtypenonrect={arn:TableBucketARN.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the table bucket."]}typenonrecerror=[`BadRequestExceptionofBadRequestException.t|`ConflictExceptionofConflictException.t|`ForbiddenExceptionofForbiddenException.t|`InternalServerErrorExceptionofInternalServerErrorException.t|`NotFoundExceptionofNotFoundException.t|`TooManyRequestsExceptionofTooManyRequestsException.t|`Unknown_operation_errorof(string*stringoption)]letmake?arn=fun()->{arn}leterror_of_jsonnamejson=matchnamewith|"BadRequestException"->`BadRequestException(BadRequestException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_jsonjson)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_jsonjson)|"NotFoundException"->`NotFoundException(NotFoundException.of_jsonjson)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestException"->`BadRequestException(BadRequestException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_xmlxml)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_xmlxml)|"NotFoundException"->`NotFoundException(NotFoundException.of_xmlxml)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestExceptione->`Assoc[("error",(`String"BadRequestException"));("details",(BadRequestException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`ForbiddenExceptione->`Assoc[("error",(`String"ForbiddenException"));("details",(ForbiddenException.to_jsone))]|`InternalServerErrorExceptione->`Assoc[("error",(`String"InternalServerErrorException"));("details",(InternalServerErrorException.to_jsone))]|`NotFoundExceptione->`Assoc[("error",(`String"NotFoundException"));("details",(NotFoundException.to_jsone))]|`TooManyRequestsExceptione->`Assoc[("error",(`String"TooManyRequestsException"));("details",(TooManyRequestsException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("arn",(Option.mapx.arn~f:TableBucketARN.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letarn=(Option.map~f:TableBucketARN.of_xml)(Xml.childxml_arg0"arn")inmake?arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letarn=field_mapjson__"arn"TableBucketARN.of_jsoninmake?arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a table bucket. For more information, see Creating a table bucket in the Amazon Simple Storage Service User Guide. Permissions You must have the s3tables:CreateTableBucket permission to use this operation. If you use this operation with the optional encryptionConfiguration parameter you must have the s3tables:PutTableBucketEncryption permission. If you use this operation with the storageClassConfiguration request parameter, you must have the s3tables:PutTableBucketStorageClass permission. To create a table bucket with tags, you must have the s3tables:TagResource permission in addition to s3tables:CreateTableBucket permission."]moduleCreateTableBucketRequest=structtypenonrect={name:TableBucketName.t[@ocaml.doc"The name for the table bucket."];encryptionConfiguration:EncryptionConfiguration.toption[@ocaml.doc"The encryption configuration to use for the table bucket. This configuration specifies the default encryption settings that will be applied to all tables created in this bucket unless overridden at the table level. The configuration includes the encryption algorithm and, if using SSE-KMS, the KMS key to use."];storageClassConfiguration:StorageClassConfiguration.toption[@ocaml.doc"The default storage class configuration for the table bucket. This configuration will be applied to all new tables created in this bucket unless overridden at the table level. If not specified, the service default storage class will be used."];tags:Tags.toption[@ocaml.doc"A map of user-defined tags that you would like to apply to the table bucket that you are creating. A tag is a key-value pair that you apply to your resources. Tags can help you organize and control access to resources. For more information, see Tagging for cost allocation or attribute-based access control (ABAC). You must have the s3tables:TagResource permission in addition to s3tables:CreateTableBucket permisson to create a table bucket with tags."]}letcontext_="CreateTableBucketRequest"letmake?encryptionConfiguration=fun?storageClassConfiguration->fun?tags->fun~name->fun()->{encryptionConfiguration;storageClassConfiguration;tags;name}letto_valuex=structure_to_value[("name",(Some(TableBucketName.to_valuex.name)));("encryptionConfiguration",(Option.mapx.encryptionConfiguration~f:EncryptionConfiguration.to_value));("storageClassConfiguration",(Option.mapx.storageClassConfiguration~f:StorageClassConfiguration.to_value));("tags",(Option.mapx.tags~f:Tags.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettags=(Option.map~f:Tags.of_xml)(Xml.childxml_arg0"tags")inletstorageClassConfiguration=(Option.map~f:StorageClassConfiguration.of_xml)(Xml.childxml_arg0"storageClassConfiguration")inletencryptionConfiguration=(Option.map~f:EncryptionConfiguration.of_xml)(Xml.childxml_arg0"encryptionConfiguration")inletname=TableBucketName.of_xml(Xml.child_exn~context:context_xml_arg0"name")inmake?tags?storageClassConfiguration?encryptionConfiguration~name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"tags"Tags.of_jsoninletstorageClassConfiguration=field_mapjson__"storageClassConfiguration"StorageClassConfiguration.of_jsoninletencryptionConfiguration=field_mapjson__"encryptionConfiguration"EncryptionConfiguration.of_jsoninletname=field_map_exnjson__"name"TableBucketName.of_jsoninmake?tags?storageClassConfiguration?encryptionConfiguration~name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a table bucket. For more information, see Creating a table bucket in the Amazon Simple Storage Service User Guide. Permissions You must have the s3tables:CreateTableBucket permission to use this operation. If you use this operation with the optional encryptionConfiguration parameter you must have the s3tables:PutTableBucketEncryption permission. If you use this operation with the storageClassConfiguration request parameter, you must have the s3tables:PutTableBucketStorageClass permission. To create a table bucket with tags, you must have the s3tables:TagResource permission in addition to s3tables:CreateTableBucket permission."]moduleCreateNamespaceResponse=structtypenonrect={tableBucketARN:TableBucketARN.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the table bucket the namespace was created in."];namespace:NamespaceList.toption[@ocaml.doc"The name of the namespace."]}typenonrecerror=[`BadRequestExceptionofBadRequestException.t|`ConflictExceptionofConflictException.t|`ForbiddenExceptionofForbiddenException.t|`InternalServerErrorExceptionofInternalServerErrorException.t|`NotFoundExceptionofNotFoundException.t|`TooManyRequestsExceptionofTooManyRequestsException.t|`Unknown_operation_errorof(string*stringoption)]letmake?tableBucketARN=fun?namespace->fun()->{tableBucketARN;namespace}leterror_of_jsonnamejson=matchnamewith|"BadRequestException"->`BadRequestException(BadRequestException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_jsonjson)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_jsonjson)|"NotFoundException"->`NotFoundException(NotFoundException.of_jsonjson)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestException"->`BadRequestException(BadRequestException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"ForbiddenException"->`ForbiddenException(ForbiddenException.of_xmlxml)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_xmlxml)|"NotFoundException"->`NotFoundException(NotFoundException.of_xmlxml)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestExceptione->`Assoc[("error",(`String"BadRequestException"));("details",(BadRequestException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`ForbiddenExceptione->`Assoc[("error",(`String"ForbiddenException"));("details",(ForbiddenException.to_jsone))]|`InternalServerErrorExceptione->`Assoc[("error",(`String"InternalServerErrorException"));("details",(InternalServerErrorException.to_jsone))]|`NotFoundExceptione->`Assoc[("error",(`String"NotFoundException"));("details",(NotFoundException.to_jsone))]|`TooManyRequestsExceptione->`Assoc[("error",(`String"TooManyRequestsException"));("details",(TooManyRequestsException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("tableBucketARN",(Option.mapx.tableBucketARN~f:TableBucketARN.to_value));("namespace",(Option.mapx.namespace~f:NamespaceList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnamespace=(Option.map~f:NamespaceList.of_xml)(Xml.childxml_arg0"namespace")inlettableBucketARN=(Option.map~f:TableBucketARN.of_xml)(Xml.childxml_arg0"tableBucketARN")inmake?namespace?tableBucketARN()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnamespace=field_mapjson__"namespace"NamespaceList.of_jsoninlettableBucketARN=field_mapjson__"tableBucketARN"TableBucketARN.of_jsoninmake?namespace?tableBucketARN()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a namespace. A namespace is a logical grouping of tables within your table bucket, which you can use to organize tables. For more information, see Create a namespace in the Amazon Simple Storage Service User Guide. Permissions You must have the s3tables:CreateNamespace permission to use this operation."]moduleCreateNamespaceRequest=structtypenonrect={tableBucketARN:TableBucketARN.t[@ocaml.doc"The Amazon Resource Name (ARN) of the table bucket to create the namespace in."];namespace:CreateNamespaceRequestNamespaceList.t[@ocaml.doc"A name for the namespace."]}letcontext_="CreateNamespaceRequest"letmake~tableBucketARN=fun~namespace->fun()->{tableBucketARN;namespace}letto_valuex=structure_to_value[("tableBucketARN",(Some(TableBucketARN.to_valuex.tableBucketARN)));("namespace",(Some(CreateNamespaceRequestNamespaceList.to_valuex.namespace)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnamespace=CreateNamespaceRequestNamespaceList.of_xml(Xml.child_exn~context:context_xml_arg0"namespace")inlettableBucketARN=TableBucketARN.of_xml(Xml.child_exn~context:context_xml_arg0"tableBucketARN")inmake~namespace~tableBucketARN()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnamespace=field_map_exnjson__"namespace"CreateNamespaceRequestNamespaceList.of_jsoninlettableBucketARN=field_map_exnjson__"tableBucketARN"TableBucketARN.of_jsoninmake~namespace~tableBucketARN()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a namespace. A namespace is a logical grouping of tables within your table bucket, which you can use to organize tables. For more information, see Create a namespace in the Amazon Simple Storage Service User Guide. Permissions You must have the s3tables:CreateNamespace permission to use this operation."]