12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236(* 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.ivs_realtimeletapiVersion="2020-07-14"letendpointPrefix="ivsrealtime"letserviceFullName="Amazon Interactive Video Service RealTime"letsignatureVersion="v4"letprotocol="rest_json"letglobalEndpoint=endpointPrefix^".amazonaws.com"letserviceAbbreviation="ivsrealtime"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[]))])moduleThumbnailStorageType=structtypenonrect=|SEQUENTIAL|LATEST|Non_static_idofstringletmakei=iletto_string=function|SEQUENTIAL->"SEQUENTIAL"|LATEST->"LATEST"|Non_static_ids->sletof_string=function|"SEQUENTIAL"->SEQUENTIAL|"LATEST"->LATEST|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 ThumbnailStorageType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ThumbnailStorageType"j)letto_json=simple_to_jsonto_valueendmoduleThumbnailIntervalSeconds=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:86400)>>=(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 ThumbnailIntervalSeconds"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleThumbnailStorageTypeList=structtypenonrect=ThumbnailStorageType.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:2)>>=(fun()->check_list_mini~min:0));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ThumbnailStorageType.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:ThumbnailStorageType.of_xml)letof_jsonj=list_of_json~kind:"ThumbnailStorageTypeList"~of_json:ThumbnailStorageType.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleCompositionRecordingTargetSegmentDurationSeconds=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:10)>>=(fun()->check_int_mini~min:2));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 CompositionRecordingTargetSegmentDurationSeconds"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleCompositionThumbnailConfiguration=structtypenonrect={targetIntervalSeconds:ThumbnailIntervalSeconds.toption[@ocaml.doc"The targeted thumbnail-generation interval in seconds. Default: 60."];storage:ThumbnailStorageTypeList.toption[@ocaml.doc"Indicates the format in which thumbnails are recorded. SEQUENTIAL records all generated thumbnails in a serial manner, to the media/thumbnails/(width)x(height) directory, where (width) and (height) are the width and height of the thumbnail. LATEST saves the latest thumbnail in media/latest_thumbnail/(width)x(height)/thumb.jpg and overwrites it at the interval specified by targetIntervalSeconds. You can enable both SEQUENTIAL and LATEST. Default: SEQUENTIAL."]}letmake?targetIntervalSeconds=fun?storage->fun()->{targetIntervalSeconds;storage}letto_valuex=structure_to_value[("targetIntervalSeconds",(Option.mapx.targetIntervalSeconds~f:ThumbnailIntervalSeconds.to_value));("storage",(Option.mapx.storage~f:ThumbnailStorageTypeList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstorage=(Option.map~f:ThumbnailStorageTypeList.of_xml)(Xml.childxml_arg0"storage")inlettargetIntervalSeconds=(Option.map~f:ThumbnailIntervalSeconds.of_xml)(Xml.childxml_arg0"targetIntervalSeconds")inmake?storage?targetIntervalSeconds()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstorage=field_mapjson__"storage"ThumbnailStorageTypeList.of_jsoninlettargetIntervalSeconds=field_mapjson__"targetIntervalSeconds"ThumbnailIntervalSeconds.of_jsoninmake?storage?targetIntervalSeconds()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"An object representing a configuration of thumbnails for recorded video for a Composition."]moduleEncoderConfigurationArn=structtypenonrect=stringletcontext_="EncoderConfigurationArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:128)>>=(fun()->check_patterni~pattern:"arn:aws:ivs:[a-z0-9-]+:[0-9]+:encoder-configuration/[a-zA-Z0-9-]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"EncoderConfigurationArn"jletto_json=simple_to_jsonto_valueendmoduleCompositionRecordingHlsConfiguration=structtypenonrect={targetSegmentDurationSeconds:CompositionRecordingTargetSegmentDurationSeconds.toption[@ocaml.doc"Defines the target duration for recorded segments generated when using composite recording. Default: 2."]}letmake?targetSegmentDurationSeconds=fun()->{targetSegmentDurationSeconds}letto_valuex=structure_to_value[("targetSegmentDurationSeconds",(Option.mapx.targetSegmentDurationSeconds~f:CompositionRecordingTargetSegmentDurationSeconds.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettargetSegmentDurationSeconds=(Option.map~f:CompositionRecordingTargetSegmentDurationSeconds.of_xml)(Xml.childxml_arg0"targetSegmentDurationSeconds")inmake?targetSegmentDurationSeconds()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettargetSegmentDurationSeconds=field_mapjson__"targetSegmentDurationSeconds"CompositionRecordingTargetSegmentDurationSeconds.of_jsoninmake?targetSegmentDurationSeconds()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"An object representing a configuration of HLS recordings for server-side composition."]moduleRecordingConfigurationFormat=structtypenonrect=|HLS|Non_static_idofstringletmakei=iletto_string=function|HLS->"HLS"|Non_static_ids->sletof_string=function|"HLS"->HLS|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 RecordingConfigurationFormat"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"RecordingConfigurationFormat"j)letto_json=simple_to_jsonto_valueendmoduleChannelArn=structtypenonrect=stringletcontext_="ChannelArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:128)>>=(fun()->check_patterni~pattern:"arn:aws:ivs:[a-z0-9-]+:[0-9]+:channel/[a-zA-Z0-9-]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ChannelArn"jletto_json=simple_to_jsonto_valueendmoduleCompositionThumbnailConfigurationList=structtypenonrect=CompositionThumbnailConfiguration.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:1)>>=(fun()->check_list_mini~min:0));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:CompositionThumbnailConfiguration.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:CompositionThumbnailConfiguration.of_xml)letof_jsonj=list_of_json~kind:"CompositionThumbnailConfigurationList"~of_json:CompositionThumbnailConfiguration.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleEncoderConfigurationArnList=structtypenonrect=EncoderConfigurationArn.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:EncoderConfigurationArn.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:EncoderConfigurationArn.of_xml)letof_jsonj=list_of_json~kind:"EncoderConfigurationArnList"~of_json:EncoderConfigurationArn.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleRecordingConfiguration=structtypenonrect={hlsConfiguration:CompositionRecordingHlsConfiguration.toption[@ocaml.doc"An HLS configuration object to return information about how the recording will be configured."];format:RecordingConfigurationFormat.toption[@ocaml.doc"The recording format for storing a recording in Amazon S3."]}letmake?hlsConfiguration=fun?format->fun()->{hlsConfiguration;format}letto_valuex=structure_to_value[("hlsConfiguration",(Option.mapx.hlsConfiguration~f:CompositionRecordingHlsConfiguration.to_value));("format",(Option.mapx.format~f:RecordingConfigurationFormat.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letformat=(Option.map~f:RecordingConfigurationFormat.of_xml)(Xml.childxml_arg0"format")inlethlsConfiguration=(Option.map~f:CompositionRecordingHlsConfiguration.of_xml)(Xml.childxml_arg0"hlsConfiguration")inmake?format?hlsConfiguration()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letformat=field_mapjson__"format"RecordingConfigurationFormat.of_jsoninlethlsConfiguration=field_mapjson__"hlsConfiguration"CompositionRecordingHlsConfiguration.of_jsoninmake?format?hlsConfiguration()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"An object representing a configuration to record a stage stream."]moduleStorageConfigurationArn=structtypenonrect=stringletcontext_="StorageConfigurationArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:128)>>=(fun()->check_patterni~pattern:"arn:aws:ivs:[a-z0-9-]+:[0-9]+:storage-configuration/[a-zA-Z0-9-]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"StorageConfigurationArn"jletto_json=simple_to_jsonto_valueendmoduleString_=structtypenonrect=stringletcontext_="String"letmakei=iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"String"jletto_json=simple_to_jsonto_valueendmoduleChannelDestinationConfiguration=structtypenonrect={channelArn:ChannelArn.t[@ocaml.doc"ARN of the channel to use for broadcasting. The channel and stage resources must be in the same AWS account and region. The channel must be offline (not broadcasting)."];encoderConfigurationArn:EncoderConfigurationArn.toption[@ocaml.doc"ARN of the EncoderConfiguration resource. The encoder configuration and stage resources must be in the same AWS account and region."]}letcontext_="ChannelDestinationConfiguration"letmake?encoderConfigurationArn=fun~channelArn->fun()->{encoderConfigurationArn;channelArn}letto_valuex=structure_to_value[("channelArn",(Some(ChannelArn.to_valuex.channelArn)));("encoderConfigurationArn",(Option.mapx.encoderConfigurationArn~f:EncoderConfigurationArn.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letencoderConfigurationArn=(Option.map~f:EncoderConfigurationArn.of_xml)(Xml.childxml_arg0"encoderConfigurationArn")inletchannelArn=ChannelArn.of_xml(Xml.child_exn~context:context_xml_arg0"channelArn")inmake?encoderConfigurationArn~channelArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letencoderConfigurationArn=field_mapjson__"encoderConfigurationArn"EncoderConfigurationArn.of_jsoninletchannelArn=field_map_exnjson__"channelArn"ChannelArn.of_jsoninmake?encoderConfigurationArn~channelArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Object specifying a channel as a destination."]moduleDestinationConfigurationName=structtypenonrect=stringletcontext_="DestinationConfigurationName"letmakei=letopenResultinok_or_failwith((check_string_mini~min:0)>>=(fun()->(check_string_maxi~max:128)>>=(fun()->check_patterni~pattern:"[a-zA-Z0-9-_]*")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"DestinationConfigurationName"jletto_json=simple_to_jsonto_valueendmoduleS3DestinationConfiguration=structtypenonrect={storageConfigurationArn:StorageConfigurationArn.t[@ocaml.doc"ARN of the StorageConfiguration where recorded videos will be stored."];encoderConfigurationArns:EncoderConfigurationArnList.t[@ocaml.doc"ARNs of the EncoderConfiguration resource. The encoder configuration and stage resources must be in the same AWS account and region."];recordingConfiguration:RecordingConfiguration.toption[@ocaml.doc"Array of maps, each of the form string:string (key:value). This is an optional customer specification, currently used only to specify the recording format for storing a recording in Amazon S3."];thumbnailConfigurations:CompositionThumbnailConfigurationList.toption[@ocaml.doc"A complex type that allows you to enable/disable the recording of thumbnails for a Composition and modify the interval at which thumbnails are generated for the live session."]}letcontext_="S3DestinationConfiguration"letmake?recordingConfiguration=fun?thumbnailConfigurations->fun~storageConfigurationArn->fun~encoderConfigurationArns->fun()->{recordingConfiguration;thumbnailConfigurations;storageConfigurationArn;encoderConfigurationArns}letto_valuex=structure_to_value[("storageConfigurationArn",(Some(StorageConfigurationArn.to_valuex.storageConfigurationArn)));("encoderConfigurationArns",(Some(EncoderConfigurationArnList.to_valuex.encoderConfigurationArns)));("recordingConfiguration",(Option.mapx.recordingConfiguration~f:RecordingConfiguration.to_value));("thumbnailConfigurations",(Option.mapx.thumbnailConfigurations~f:CompositionThumbnailConfigurationList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letthumbnailConfigurations=(Option.map~f:CompositionThumbnailConfigurationList.of_xml)(Xml.childxml_arg0"thumbnailConfigurations")inletrecordingConfiguration=(Option.map~f:RecordingConfiguration.of_xml)(Xml.childxml_arg0"recordingConfiguration")inletencoderConfigurationArns=EncoderConfigurationArnList.of_xml(Xml.child_exn~context:context_xml_arg0"encoderConfigurationArns")inletstorageConfigurationArn=StorageConfigurationArn.of_xml(Xml.child_exn~context:context_xml_arg0"storageConfigurationArn")inmake?thumbnailConfigurations?recordingConfiguration~encoderConfigurationArns~storageConfigurationArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letthumbnailConfigurations=field_mapjson__"thumbnailConfigurations"CompositionThumbnailConfigurationList.of_jsoninletrecordingConfiguration=field_mapjson__"recordingConfiguration"RecordingConfiguration.of_jsoninletencoderConfigurationArns=field_map_exnjson__"encoderConfigurationArns"EncoderConfigurationArnList.of_jsoninletstorageConfigurationArn=field_map_exnjson__"storageConfigurationArn"StorageConfigurationArn.of_jsoninmake?thumbnailConfigurations?recordingConfiguration~encoderConfigurationArns~storageConfigurationArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A complex type that describes an S3 location where recorded videos will be stored."]moduleS3Detail=structtypenonrect={recordingPrefix:String_.toption[@ocaml.doc"The S3 bucket prefix under which the recording is stored."]}letmake?recordingPrefix=fun()->{recordingPrefix}letto_valuex=structure_to_value[("recordingPrefix",(Option.mapx.recordingPrefix~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letrecordingPrefix=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"recordingPrefix")inmake?recordingPrefix()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letrecordingPrefix=field_mapjson__"recordingPrefix"String_.of_jsoninmake?recordingPrefix()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Complex data type that defines S3Detail objects."]moduleParticipantTokenCapability=structtypenonrect=|PUBLISH|SUBSCRIBE|Non_static_idofstringletmakei=iletto_string=function|PUBLISH->"PUBLISH"|SUBSCRIBE->"SUBSCRIBE"|Non_static_ids->sletof_string=function|"PUBLISH"->PUBLISH|"SUBSCRIBE"->SUBSCRIBE|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 ParticipantTokenCapability"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ParticipantTokenCapability"j)letto_json=simple_to_jsonto_valueendmoduleDestinationState=structtypenonrect=|STARTING|ACTIVE|STOPPING|RECONNECTING|FAILED|STOPPED|Non_static_idofstringletmakei=iletto_string=function|STARTING->"STARTING"|ACTIVE->"ACTIVE"|STOPPING->"STOPPING"|RECONNECTING->"RECONNECTING"|FAILED->"FAILED"|STOPPED->"STOPPED"|Non_static_ids->sletof_string=function|"STARTING"->STARTING|"ACTIVE"->ACTIVE|"STOPPING"->STOPPING|"RECONNECTING"->RECONNECTING|"FAILED"->FAILED|"STOPPED"->STOPPED|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 DestinationState"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"DestinationState"j)letto_json=simple_to_jsonto_valueendmoduleTime=structtypenonrect=stringletmakei=iletof_stringx=xletto_valuex=`Timestampxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=string_of_xml~kind:"a timestamp"letof_json=timestamp_of_jsonletto_json=simple_to_jsonto_valueendmoduleParticipantRecordingTargetSegmentDurationSeconds=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:10)>>=(fun()->check_int_mini~min:2));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 ParticipantRecordingTargetSegmentDurationSeconds"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleParticipantRecordingMediaType=structtypenonrect=|AUDIO_VIDEO|AUDIO_ONLY|NONE|Non_static_idofstringletmakei=iletto_string=function|AUDIO_VIDEO->"AUDIO_VIDEO"|AUDIO_ONLY->"AUDIO_ONLY"|NONE->"NONE"|Non_static_ids->sletof_string=function|"AUDIO_VIDEO"->AUDIO_VIDEO|"AUDIO_ONLY"->AUDIO_ONLY|"NONE"->NONE|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 ParticipantRecordingMediaType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ParticipantRecordingMediaType"j)letto_json=simple_to_jsonto_valueendmoduleThumbnailRecordingMode=structtypenonrect=|INTERVAL|DISABLED|Non_static_idofstringletmakei=iletto_string=function|INTERVAL->"INTERVAL"|DISABLED->"DISABLED"|Non_static_ids->sletof_string=function|"INTERVAL"->INTERVAL|"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 ThumbnailRecordingMode"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ThumbnailRecordingMode"j)letto_json=simple_to_jsonto_valueendmoduleParticipantId=structtypenonrect=stringletcontext_="ParticipantId"letmakei=letopenResultinok_or_failwith((check_string_mini~min:0)>>=(fun()->(check_string_maxi~max:64)>>=(fun()->check_patterni~pattern:"[a-zA-Z0-9-]*")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ParticipantId"jletto_json=simple_to_jsonto_valueendmoduleStreamKey=structtypenonrect=stringletcontext_="StreamKey"letmakei=letopenResultinok_or_failwith(check_patterni~pattern:"rt_[0-9]+_[a-z0-9-]+_[a-zA-Z0-9-]+_.+");iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"StreamKey"jletto_json=simple_to_jsonto_valueendmoduleDestinationConfiguration=structtypenonrect={name:DestinationConfigurationName.toption[@ocaml.doc"Name that can be specified to help identify the destination."];channel:ChannelDestinationConfiguration.toption[@ocaml.doc"An IVS channel to be used for broadcasting, for server-side composition. Either a channel or an s3 must be specified."];s3:S3DestinationConfiguration.toption[@ocaml.doc"An S3 storage configuration to be used for recording video data. Either a channel or an s3 must be specified."]}letmake?name=fun?channel->fun?s3->fun()->{name;channel;s3}letto_valuex=structure_to_value[("name",(Option.mapx.name~f:DestinationConfigurationName.to_value));("channel",(Option.mapx.channel~f:ChannelDestinationConfiguration.to_value));("s3",(Option.mapx.s3~f:S3DestinationConfiguration.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lets3=(Option.map~f:S3DestinationConfiguration.of_xml)(Xml.childxml_arg0"s3")inletchannel=(Option.map~f:ChannelDestinationConfiguration.of_xml)(Xml.childxml_arg0"channel")inletname=(Option.map~f:DestinationConfigurationName.of_xml)(Xml.childxml_arg0"name")inmake?s3?channel?name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lets3=field_mapjson__"s3"S3DestinationConfiguration.of_jsoninletchannel=field_mapjson__"channel"ChannelDestinationConfiguration.of_jsoninletname=field_mapjson__"name"DestinationConfigurationName.of_jsoninmake?s3?channel?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Complex data type that defines destination-configuration objects."]moduleDestinationDetail=structtypenonrect={s3:S3Detail.toption[@ocaml.doc"An S3 detail object to return information about the S3 destination."]}letmake?s3=fun()->{s3}letto_valuex=structure_to_value[("s3",(Option.mapx.s3~f:S3Detail.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lets3=(Option.map~f:S3Detail.of_xml)(Xml.childxml_arg0"s3")inmake?s3()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lets3=field_mapjson__"s3"S3Detail.of_jsoninmake?s3()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Complex data type that defines destination-detail objects."]moduleAttributeKey=structtypenonrect=stringletcontext_="AttributeKey"letmakei=letopenResultinok_or_failwith((check_string_mini~min:0)>>=(fun()->(check_string_maxi~max:128)>>=(fun()->check_patterni~pattern:"[a-zA-Z0-9-_]*")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"AttributeKey"jletto_json=simple_to_jsonto_valueendmoduleGridGap=structtypenonrect=intletmakei=letopenResultinok_or_failwith(check_int_mini~min:0);iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for GridGap"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleOmitStoppedVideo=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_valueendmoduleVideoAspectRatio=structtypenonrect=|AUTO|VIDEO|SQUARE|PORTRAIT|Non_static_idofstringletmakei=iletto_string=function|AUTO->"AUTO"|VIDEO->"VIDEO"|SQUARE->"SQUARE"|PORTRAIT->"PORTRAIT"|Non_static_ids->sletof_string=function|"AUTO"->AUTO|"VIDEO"->VIDEO|"SQUARE"->SQUARE|"PORTRAIT"->PORTRAIT|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 VideoAspectRatio"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"VideoAspectRatio"j)letto_json=simple_to_jsonto_valueendmoduleVideoFillMode=structtypenonrect=|FILL|COVER|CONTAIN|Non_static_idofstringletmakei=iletto_string=function|FILL->"FILL"|COVER->"COVER"|CONTAIN->"CONTAIN"|Non_static_ids->sletof_string=function|"FILL"->FILL|"COVER"->COVER|"CONTAIN"->CONTAIN|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 VideoFillMode"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"VideoFillMode"j)letto_json=simple_to_jsonto_valueendmodulePipBehavior=structtypenonrect=|STATIC|DYNAMIC|Non_static_idofstringletmakei=iletto_string=function|STATIC->"STATIC"|DYNAMIC->"DYNAMIC"|Non_static_ids->sletof_string=function|"STATIC"->STATIC|"DYNAMIC"->DYNAMIC|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 PipBehavior"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"PipBehavior"j)letto_json=simple_to_jsonto_valueendmodulePipHeight=structtypenonrect=intletmakei=letopenResultinok_or_failwith(check_int_mini~min:1);iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for PipHeight"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmodulePipOffset=structtypenonrect=intletmakei=letopenResultinok_or_failwith(check_int_mini~min:0);iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for PipOffset"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmodulePipPosition=structtypenonrect=|TOP_LEFT|TOP_RIGHT|BOTTOM_LEFT|BOTTOM_RIGHT|Non_static_idofstringletmakei=iletto_string=function|TOP_LEFT->"TOP_LEFT"|TOP_RIGHT->"TOP_RIGHT"|BOTTOM_LEFT->"BOTTOM_LEFT"|BOTTOM_RIGHT->"BOTTOM_RIGHT"|Non_static_ids->sletof_string=function|"TOP_LEFT"->TOP_LEFT|"TOP_RIGHT"->TOP_RIGHT|"BOTTOM_LEFT"->BOTTOM_LEFT|"BOTTOM_RIGHT"->BOTTOM_RIGHT|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 PipPosition"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"PipPosition"j)letto_json=simple_to_jsonto_valueendmodulePipWidth=structtypenonrect=intletmakei=letopenResultinok_or_failwith(check_int_mini~min:1);iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for PipWidth"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleS3BucketName=structtypenonrect=stringletcontext_="S3BucketName"letmakei=letopenResultinok_or_failwith((check_string_mini~min:3)>>=(fun()->(check_string_maxi~max:63)>>=(fun()->check_patterni~pattern:"[a-z0-9-.]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"S3BucketName"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_valueendmoduleParticipantTokenAttributes=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_valuevendmoduleParticipantTokenCapabilities=structtypenonrect=ParticipantTokenCapability.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:2)>>=(fun()->check_list_mini~min:0));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ParticipantTokenCapability.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:ParticipantTokenCapability.of_xml)letof_jsonj=list_of_json~kind:"ParticipantTokenCapabilities"~of_json:ParticipantTokenCapability.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleParticipantTokenExpirationTime=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_valueendmoduleParticipantTokenUserId=structtypenonrect=stringletcontext_="ParticipantTokenUserId"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:128)>>=(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:"ParticipantTokenUserId"jletto_json=simple_to_jsonto_valueendmoduleDestinationSummary=structtypenonrect={id:String_.toption[@ocaml.doc"Unique identifier for this destination, assigned by IVS."];state:DestinationState.toption[@ocaml.doc"State of the Composition Destination."];startTime:Time.toption[@ocaml.doc"UTC time of the destination start. This is an ISO 8601 timestamp; note that this is returned as a string."];endTime:Time.toption[@ocaml.doc"UTC time of the destination end. This is an ISO 8601 timestamp; note that this is returned as a string."]}letmake?id=fun?state->fun?startTime->fun?endTime->fun()->{id;state;startTime;endTime}letto_valuex=structure_to_value[("id",(Option.mapx.id~f:String_.to_value));("state",(Option.mapx.state~f:DestinationState.to_value));("startTime",(Option.mapx.startTime~f:Time.to_value));("endTime",(Option.mapx.endTime~f:Time.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letendTime=(Option.map~f:Time.of_xml)(Xml.childxml_arg0"endTime")inletstartTime=(Option.map~f:Time.of_xml)(Xml.childxml_arg0"startTime")inletstate=(Option.map~f:DestinationState.of_xml)(Xml.childxml_arg0"state")inletid=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"id")inmake?endTime?startTime?state?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letendTime=field_mapjson__"endTime"Time.of_jsoninletstartTime=field_mapjson__"startTime"Time.of_jsoninletstate=field_mapjson__"state"DestinationState.of_jsoninletid=field_mapjson__"id"String_.of_jsoninmake?endTime?startTime?state?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Summary information about a Destination."]moduleAutoParticipantRecordingStorageConfigurationArn=structtypenonrect=stringletcontext_="AutoParticipantRecordingStorageConfigurationArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:0)>>=(fun()->(check_string_maxi~max:128)>>=(fun()->check_patterni~pattern:"^$|^arn:aws:ivs:[a-z0-9-]+:[0-9]+:storage-configuration/[a-zA-Z0-9-]+$")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"AutoParticipantRecordingStorageConfigurationArn"jletto_json=simple_to_jsonto_valueendmoduleParticipantRecordingHlsConfiguration=structtypenonrect={targetSegmentDurationSeconds:ParticipantRecordingTargetSegmentDurationSeconds.toption[@ocaml.doc"Defines the target duration for recorded segments generated when recording a stage participant. Segments may have durations longer than the specified value when needed to ensure each segment begins with a keyframe. Default: 6."]}letmake?targetSegmentDurationSeconds=fun()->{targetSegmentDurationSeconds}letto_valuex=structure_to_value[("targetSegmentDurationSeconds",(Option.mapx.targetSegmentDurationSeconds~f:ParticipantRecordingTargetSegmentDurationSeconds.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettargetSegmentDurationSeconds=(Option.map~f:ParticipantRecordingTargetSegmentDurationSeconds.of_xml)(Xml.childxml_arg0"targetSegmentDurationSeconds")inmake?targetSegmentDurationSeconds()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettargetSegmentDurationSeconds=field_mapjson__"targetSegmentDurationSeconds"ParticipantRecordingTargetSegmentDurationSeconds.of_jsoninmake?targetSegmentDurationSeconds()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"An object representing a configuration of participant HLS recordings for individual participant recording."]moduleParticipantRecordingMediaTypeList=structtypenonrect=ParticipantRecordingMediaType.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:1)>>=(fun()->check_list_mini~min:0));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ParticipantRecordingMediaType.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:ParticipantRecordingMediaType.of_xml)letof_jsonj=list_of_json~kind:"ParticipantRecordingMediaTypeList"~of_json:ParticipantRecordingMediaType.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleParticipantRecordingReconnectWindowSeconds=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:300)>>=(fun()->check_int_mini~min:0));iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for ParticipantRecordingReconnectWindowSeconds"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleParticipantThumbnailConfiguration=structtypenonrect={targetIntervalSeconds:ThumbnailIntervalSeconds.toption[@ocaml.doc"The targeted thumbnail-generation interval in seconds. This is configurable only if recordingMode is INTERVAL. Default: 60."];storage:ThumbnailStorageTypeList.toption[@ocaml.doc"Indicates the format in which thumbnails are recorded. SEQUENTIAL records all generated thumbnails in a serial manner, to the media/thumbnails/high directory. LATEST saves the latest thumbnail in media/latest_thumbnail/high/thumb.jpg and overwrites it at the interval specified by targetIntervalSeconds. You can enable both SEQUENTIAL and LATEST. Default: SEQUENTIAL."];recordingMode:ThumbnailRecordingMode.toption[@ocaml.doc"Thumbnail recording mode. Default: DISABLED."]}letmake?targetIntervalSeconds=fun?storage->fun?recordingMode->fun()->{targetIntervalSeconds;storage;recordingMode}letto_valuex=structure_to_value[("targetIntervalSeconds",(Option.mapx.targetIntervalSeconds~f:ThumbnailIntervalSeconds.to_value));("storage",(Option.mapx.storage~f:ThumbnailStorageTypeList.to_value));("recordingMode",(Option.mapx.recordingMode~f:ThumbnailRecordingMode.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letrecordingMode=(Option.map~f:ThumbnailRecordingMode.of_xml)(Xml.childxml_arg0"recordingMode")inletstorage=(Option.map~f:ThumbnailStorageTypeList.of_xml)(Xml.childxml_arg0"storage")inlettargetIntervalSeconds=(Option.map~f:ThumbnailIntervalSeconds.of_xml)(Xml.childxml_arg0"targetIntervalSeconds")inmake?recordingMode?storage?targetIntervalSeconds()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letrecordingMode=field_mapjson__"recordingMode"ThumbnailRecordingMode.of_jsoninletstorage=field_mapjson__"storage"ThumbnailStorageTypeList.of_jsoninlettargetIntervalSeconds=field_mapjson__"targetIntervalSeconds"ThumbnailIntervalSeconds.of_jsoninmake?recordingMode?storage?targetIntervalSeconds()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"An object representing a configuration of thumbnails for recorded video from an individual participant."]moduleRecordParticipantReplicas=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_valueendmoduleStageEndpoint=structtypenonrect=stringletcontext_="StageEndpoint"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:2048)>>=(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:"StageEndpoint"jletto_json=simple_to_jsonto_valueendmoduleRedundantIngestCredential=structtypenonrect={participantId:ParticipantId.toption[@ocaml.doc"ID of the participant within the stage."];streamKey:StreamKey.toption[@ocaml.doc"Ingest-key value."]}letmake?participantId=fun?streamKey->fun()->{participantId;streamKey}letto_valuex=structure_to_value[("participantId",(Option.mapx.participantId~f:ParticipantId.to_value));("streamKey",(Option.mapx.streamKey~f:StreamKey.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstreamKey=(Option.map~f:StreamKey.of_xml)(Xml.childxml_arg0"streamKey")inletparticipantId=(Option.map~f:ParticipantId.of_xml)(Xml.childxml_arg0"participantId")inmake?streamKey?participantId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstreamKey=field_mapjson__"streamKey"StreamKey.of_jsoninletparticipantId=field_mapjson__"participantId"ParticipantId.of_jsoninmake?streamKey?participantId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"An object representing a redundant ingest credential."]moduleDestination=structtypenonrect={id:String_.toption[@ocaml.doc"Unique identifier for this destination, assigned by IVS."];state:DestinationState.toption[@ocaml.doc"State of the Composition Destination."];startTime:Time.toption[@ocaml.doc"UTC time of the destination start. This is an ISO 8601 timestamp; note that this is returned as a string."];endTime:Time.toption[@ocaml.doc"UTC time of the destination end. This is an ISO 8601 timestamp; note that this is returned as a string."];configuration:DestinationConfiguration.toption[@ocaml.doc"Configuration used to create this destination."];detail:DestinationDetail.toption[@ocaml.doc"Optional details regarding the status of the destination."]}letmake?id=fun?state->fun?startTime->fun?endTime->fun?configuration->fun?detail->fun()->{id;state;startTime;endTime;configuration;detail}letto_valuex=structure_to_value[("id",(Option.mapx.id~f:String_.to_value));("state",(Option.mapx.state~f:DestinationState.to_value));("startTime",(Option.mapx.startTime~f:Time.to_value));("endTime",(Option.mapx.endTime~f:Time.to_value));("configuration",(Option.mapx.configuration~f:DestinationConfiguration.to_value));("detail",(Option.mapx.detail~f:DestinationDetail.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdetail=(Option.map~f:DestinationDetail.of_xml)(Xml.childxml_arg0"detail")inletconfiguration=(Option.map~f:DestinationConfiguration.of_xml)(Xml.childxml_arg0"configuration")inletendTime=(Option.map~f:Time.of_xml)(Xml.childxml_arg0"endTime")inletstartTime=(Option.map~f:Time.of_xml)(Xml.childxml_arg0"startTime")inletstate=(Option.map~f:DestinationState.of_xml)(Xml.childxml_arg0"state")inletid=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"id")inmake?detail?configuration?endTime?startTime?state?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdetail=field_mapjson__"detail"DestinationDetail.of_jsoninletconfiguration=field_mapjson__"configuration"DestinationConfiguration.of_jsoninletendTime=field_mapjson__"endTime"Time.of_jsoninletstartTime=field_mapjson__"startTime"Time.of_jsoninletstate=field_mapjson__"state"DestinationState.of_jsoninletid=field_mapjson__"id"String_.of_jsoninmake?detail?configuration?endTime?startTime?state?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Object specifying the status of a Destination."]moduleGridConfiguration=structtypenonrect={featuredParticipantAttribute:AttributeKey.toption[@ocaml.doc"This attribute name identifies the featured slot. A participant with this attribute set to \"true\" (as a string value) in ParticipantTokenConfiguration is placed in the featured slot. Default: \"\" (no featured participant)."];omitStoppedVideo:OmitStoppedVideo.toption[@ocaml.doc"Determines whether to omit participants with stopped video in the composition. Default: false."];videoAspectRatio:VideoAspectRatio.toption[@ocaml.doc"Sets the non-featured participant display mode, to control the aspect ratio of video tiles. VIDEO is 16:9, SQUARE is 1:1, and PORTRAIT is 3:4. Default: VIDEO."];videoFillMode:VideoFillMode.toption[@ocaml.doc"Defines how video content fits within the participant tile: FILL (stretched), COVER (cropped), or CONTAIN (letterboxed). When not set, videoFillMode defaults to COVER fill mode for participants in the grid and to CONTAIN fill mode for featured participants."];gridGap:GridGap.toption[@ocaml.doc"Specifies the spacing between participant tiles in pixels. Default: 2."];participantOrderAttribute:AttributeKey.toption[@ocaml.doc"Attribute name in ParticipantTokenConfiguration identifying the participant ordering key. Participants with participantOrderAttribute set to \"\" or not specified are ordered based on their arrival time into the stage."]}letmake?featuredParticipantAttribute=fun?omitStoppedVideo->fun?videoAspectRatio->fun?videoFillMode->fun?gridGap->fun?participantOrderAttribute->fun()->{featuredParticipantAttribute;omitStoppedVideo;videoAspectRatio;videoFillMode;gridGap;participantOrderAttribute}letto_valuex=structure_to_value[("featuredParticipantAttribute",(Option.mapx.featuredParticipantAttribute~f:AttributeKey.to_value));("omitStoppedVideo",(Option.mapx.omitStoppedVideo~f:OmitStoppedVideo.to_value));("videoAspectRatio",(Option.mapx.videoAspectRatio~f:VideoAspectRatio.to_value));("videoFillMode",(Option.mapx.videoFillMode~f:VideoFillMode.to_value));("gridGap",(Option.mapx.gridGap~f:GridGap.to_value));("participantOrderAttribute",(Option.mapx.participantOrderAttribute~f:AttributeKey.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letparticipantOrderAttribute=(Option.map~f:AttributeKey.of_xml)(Xml.childxml_arg0"participantOrderAttribute")inletgridGap=(Option.map~f:GridGap.of_xml)(Xml.childxml_arg0"gridGap")inletvideoFillMode=(Option.map~f:VideoFillMode.of_xml)(Xml.childxml_arg0"videoFillMode")inletvideoAspectRatio=(Option.map~f:VideoAspectRatio.of_xml)(Xml.childxml_arg0"videoAspectRatio")inletomitStoppedVideo=(Option.map~f:OmitStoppedVideo.of_xml)(Xml.childxml_arg0"omitStoppedVideo")inletfeaturedParticipantAttribute=(Option.map~f:AttributeKey.of_xml)(Xml.childxml_arg0"featuredParticipantAttribute")inmake?participantOrderAttribute?gridGap?videoFillMode?videoAspectRatio?omitStoppedVideo?featuredParticipantAttribute()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letparticipantOrderAttribute=field_mapjson__"participantOrderAttribute"AttributeKey.of_jsoninletgridGap=field_mapjson__"gridGap"GridGap.of_jsoninletvideoFillMode=field_mapjson__"videoFillMode"VideoFillMode.of_jsoninletvideoAspectRatio=field_mapjson__"videoAspectRatio"VideoAspectRatio.of_jsoninletomitStoppedVideo=field_mapjson__"omitStoppedVideo"OmitStoppedVideo.of_jsoninletfeaturedParticipantAttribute=field_mapjson__"featuredParticipantAttribute"AttributeKey.of_jsoninmake?participantOrderAttribute?gridGap?videoFillMode?videoAspectRatio?omitStoppedVideo?featuredParticipantAttribute()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Configuration information specific to Grid layout, for server-side composition. See \"Layouts\" in Server-Side Composition."]modulePipConfiguration=structtypenonrect={featuredParticipantAttribute:AttributeKey.toption[@ocaml.doc"This attribute name identifies the featured slot. A participant with this attribute set to \"true\" (as a string value) in ParticipantTokenConfiguration is placed in the featured slot. Default: \"\" (no featured participant)."];omitStoppedVideo:OmitStoppedVideo.toption[@ocaml.doc"Determines whether to omit participants with stopped video in the composition. Default: false."];videoFillMode:VideoFillMode.toption[@ocaml.doc"Defines how video content fits within the participant tile: FILL (stretched), COVER (cropped), or CONTAIN (letterboxed). Default: COVER."];gridGap:GridGap.toption[@ocaml.doc"Specifies the spacing between participant tiles in pixels. Default: 0."];pipParticipantAttribute:AttributeKey.toption[@ocaml.doc"Specifies the participant for the PiP window. A participant with this attribute set to \"true\" (as a string value) in ParticipantTokenConfiguration is placed in the PiP slot. Default: \"\" (no PiP participant)."];pipBehavior:PipBehavior.toption[@ocaml.doc"Defines PiP behavior when all participants have left: STATIC (maintains original position/size) or DYNAMIC (expands to full composition). Default: STATIC."];pipOffset:PipOffset.toption[@ocaml.doc"Sets the PiP window\226\128\153s offset position in pixels from the closest edges determined by PipPosition. Default: 0."];pipPosition:PipPosition.toption[@ocaml.doc"Determines the corner position of the PiP window. Default: BOTTOM_RIGHT."];pipWidth:PipWidth.toption[@ocaml.doc"Specifies the width of the PiP window in pixels. When this is not set explicitly, pipWidth\226\128\153s value will be based on the size of the composition and the aspect ratio of the participant\226\128\153s video."];pipHeight:PipHeight.toption[@ocaml.doc"Specifies the height of the PiP window in pixels. When this is not set explicitly, pipHeight\226\128\153s value will be based on the size of the composition and the aspect ratio of the participant\226\128\153s video."];participantOrderAttribute:AttributeKey.toption[@ocaml.doc"Attribute name in ParticipantTokenConfiguration identifying the participant ordering key. Participants with participantOrderAttribute set to \"\" or not specified are ordered based on their arrival time into the stage."]}letmake?featuredParticipantAttribute=fun?omitStoppedVideo->fun?videoFillMode->fun?gridGap->fun?pipParticipantAttribute->fun?pipBehavior->fun?pipOffset->fun?pipPosition->fun?pipWidth->fun?pipHeight->fun?participantOrderAttribute->fun()->{featuredParticipantAttribute;omitStoppedVideo;videoFillMode;gridGap;pipParticipantAttribute;pipBehavior;pipOffset;pipPosition;pipWidth;pipHeight;participantOrderAttribute}letto_valuex=structure_to_value[("featuredParticipantAttribute",(Option.mapx.featuredParticipantAttribute~f:AttributeKey.to_value));("omitStoppedVideo",(Option.mapx.omitStoppedVideo~f:OmitStoppedVideo.to_value));("videoFillMode",(Option.mapx.videoFillMode~f:VideoFillMode.to_value));("gridGap",(Option.mapx.gridGap~f:GridGap.to_value));("pipParticipantAttribute",(Option.mapx.pipParticipantAttribute~f:AttributeKey.to_value));("pipBehavior",(Option.mapx.pipBehavior~f:PipBehavior.to_value));("pipOffset",(Option.mapx.pipOffset~f:PipOffset.to_value));("pipPosition",(Option.mapx.pipPosition~f:PipPosition.to_value));("pipWidth",(Option.mapx.pipWidth~f:PipWidth.to_value));("pipHeight",(Option.mapx.pipHeight~f:PipHeight.to_value));("participantOrderAttribute",(Option.mapx.participantOrderAttribute~f:AttributeKey.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letparticipantOrderAttribute=(Option.map~f:AttributeKey.of_xml)(Xml.childxml_arg0"participantOrderAttribute")inletpipHeight=(Option.map~f:PipHeight.of_xml)(Xml.childxml_arg0"pipHeight")inletpipWidth=(Option.map~f:PipWidth.of_xml)(Xml.childxml_arg0"pipWidth")inletpipPosition=(Option.map~f:PipPosition.of_xml)(Xml.childxml_arg0"pipPosition")inletpipOffset=(Option.map~f:PipOffset.of_xml)(Xml.childxml_arg0"pipOffset")inletpipBehavior=(Option.map~f:PipBehavior.of_xml)(Xml.childxml_arg0"pipBehavior")inletpipParticipantAttribute=(Option.map~f:AttributeKey.of_xml)(Xml.childxml_arg0"pipParticipantAttribute")inletgridGap=(Option.map~f:GridGap.of_xml)(Xml.childxml_arg0"gridGap")inletvideoFillMode=(Option.map~f:VideoFillMode.of_xml)(Xml.childxml_arg0"videoFillMode")inletomitStoppedVideo=(Option.map~f:OmitStoppedVideo.of_xml)(Xml.childxml_arg0"omitStoppedVideo")inletfeaturedParticipantAttribute=(Option.map~f:AttributeKey.of_xml)(Xml.childxml_arg0"featuredParticipantAttribute")inmake?participantOrderAttribute?pipHeight?pipWidth?pipPosition?pipOffset?pipBehavior?pipParticipantAttribute?gridGap?videoFillMode?omitStoppedVideo?featuredParticipantAttribute()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letparticipantOrderAttribute=field_mapjson__"participantOrderAttribute"AttributeKey.of_jsoninletpipHeight=field_mapjson__"pipHeight"PipHeight.of_jsoninletpipWidth=field_mapjson__"pipWidth"PipWidth.of_jsoninletpipPosition=field_mapjson__"pipPosition"PipPosition.of_jsoninletpipOffset=field_mapjson__"pipOffset"PipOffset.of_jsoninletpipBehavior=field_mapjson__"pipBehavior"PipBehavior.of_jsoninletpipParticipantAttribute=field_mapjson__"pipParticipantAttribute"AttributeKey.of_jsoninletgridGap=field_mapjson__"gridGap"GridGap.of_jsoninletvideoFillMode=field_mapjson__"videoFillMode"VideoFillMode.of_jsoninletomitStoppedVideo=field_mapjson__"omitStoppedVideo"OmitStoppedVideo.of_jsoninletfeaturedParticipantAttribute=field_mapjson__"featuredParticipantAttribute"AttributeKey.of_jsoninmake?participantOrderAttribute?pipHeight?pipWidth?pipPosition?pipOffset?pipBehavior?pipParticipantAttribute?gridGap?videoFillMode?omitStoppedVideo?featuredParticipantAttribute()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Configuration information specific to Picture-in-Picture (PiP) layout, for server-side composition."]moduleS3StorageConfiguration=structtypenonrect={bucketName:S3BucketName.t[@ocaml.doc"Location (S3 bucket name) where recorded videos will be stored. Note that the StorageConfiguration and S3 bucket must be in the same region as the Composition."]}letcontext_="S3StorageConfiguration"letmake~bucketName=fun()->{bucketName}letto_valuex=structure_to_value[("bucketName",(Some(S3BucketName.to_valuex.bucketName)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letbucketName=S3BucketName.of_xml(Xml.child_exn~context:context_xml_arg0"bucketName")inmake~bucketName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letbucketName=field_map_exnjson__"bucketName"S3BucketName.of_jsoninmake~bucketName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A complex type that describes an S3 location where recorded videos will be stored."]moduleStorageConfigurationName=structtypenonrect=stringletcontext_="StorageConfigurationName"letmakei=letopenResultinok_or_failwith((check_string_mini~min:0)>>=(fun()->(check_string_maxi~max:128)>>=(fun()->check_patterni~pattern:"[a-zA-Z0-9-_]*")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"StorageConfigurationName"jletto_json=simple_to_jsonto_valueendmoduleTags=structtypenonrect=(TagKey.t*TagValue.t)listletmakei=letopenResultinok_or_failwith((check_list_maxi~max:50)>>=(fun()->check_list_mini~min:0));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_valuevendmoduleStageArn=structtypenonrect=stringletcontext_="StageArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:128)>>=(fun()->check_patterni~pattern:"arn:aws:ivs:[a-z0-9-]+:[0-9]+:stage/[a-zA-Z0-9-]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"StageArn"jletto_json=simple_to_jsonto_valueendmoduleStageName=structtypenonrect=stringletcontext_="StageName"letmakei=letopenResultinok_or_failwith((check_string_mini~min:0)>>=(fun()->(check_string_maxi~max:128)>>=(fun()->check_patterni~pattern:"[a-zA-Z0-9-_]*")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"StageName"jletto_json=simple_to_jsonto_valueendmoduleStageSessionId=structtypenonrect=stringletcontext_="StageSessionId"letmakei=letopenResultinok_or_failwith((check_string_mini~min:16)>>=(fun()->(check_string_maxi~max:16)>>=(fun()->check_patterni~pattern:"st-[a-zA-Z0-9]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"StageSessionId"jletto_json=simple_to_jsonto_valueendmodulePublicKeyArn=structtypenonrect=stringletcontext_="PublicKeyArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:128)>>=(fun()->check_patterni~pattern:"arn:aws:ivs:[a-z0-9-]+:[0-9]+:public-key/[a-zA-Z0-9-]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"PublicKeyArn"jletto_json=simple_to_jsonto_valueendmodulePublicKeyName=structtypenonrect=stringletcontext_="PublicKeyName"letmakei=letopenResultinok_or_failwith((check_string_mini~min:0)>>=(fun()->(check_string_maxi~max:128)>>=(fun()->check_patterni~pattern:"[a-zA-Z0-9-_]*")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"PublicKeyName"jletto_json=simple_to_jsonto_valueendmoduleIngestConfigurationArn=structtypenonrect=stringletcontext_="IngestConfigurationArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:128)>>=(fun()->check_patterni~pattern:"arn:aws:ivs:[a-z0-9-]+:[0-9]+:ingest-configuration/[a-zA-Z0-9-]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"IngestConfigurationArn"jletto_json=simple_to_jsonto_valueendmoduleParticipantRecordingState=structtypenonrect=|STARTING|ACTIVE|STOPPING|STOPPED|FAILED|DISABLED|Non_static_idofstringletmakei=iletto_string=function|STARTING->"STARTING"|ACTIVE->"ACTIVE"|STOPPING->"STOPPING"|STOPPED->"STOPPED"|FAILED->"FAILED"|DISABLED->"DISABLED"|Non_static_ids->sletof_string=function|"STARTING"->STARTING|"ACTIVE"->ACTIVE|"STOPPING"->STOPPING|"STOPPED"->STOPPED|"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 ParticipantRecordingState"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ParticipantRecordingState"j)letto_json=simple_to_jsonto_valueendmoduleParticipantState=structtypenonrect=|CONNECTED|DISCONNECTED|Non_static_idofstringletmakei=iletto_string=function|CONNECTED->"CONNECTED"|DISCONNECTED->"DISCONNECTED"|Non_static_ids->sletof_string=function|"CONNECTED"->CONNECTED|"DISCONNECTED"->DISCONNECTED|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 ParticipantState"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ParticipantState"j)letto_json=simple_to_jsonto_valueendmodulePublished=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_valueendmoduleRedundantIngest=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_valueendmoduleReplicationState=structtypenonrect=|ACTIVE|STOPPED|Non_static_idofstringletmakei=iletto_string=function|ACTIVE->"ACTIVE"|STOPPED->"STOPPED"|Non_static_ids->sletof_string=function|"ACTIVE"->ACTIVE|"STOPPED"->STOPPED|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 ReplicationState"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ReplicationState"j)letto_json=simple_to_jsonto_valueendmoduleReplicationType=structtypenonrect=|SOURCE|REPLICA|NONE|Non_static_idofstringletmakei=iletto_string=function|SOURCE->"SOURCE"|REPLICA->"REPLICA"|NONE->"NONE"|Non_static_ids->sletof_string=function|"SOURCE"->SOURCE|"REPLICA"->REPLICA|"NONE"->NONE|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 ReplicationType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ReplicationType"j)letto_json=simple_to_jsonto_valueendmoduleUserId=structtypenonrect=stringletcontext_="UserId"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:128)>>=(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:"UserId"jletto_json=simple_to_jsonto_valueendmoduleEventErrorCode=structtypenonrect=|INSUFFICIENT_CAPABILITIES|QUOTA_EXCEEDED|PUBLISHER_NOT_FOUND|BITRATE_EXCEEDED|RESOLUTION_EXCEEDED|STREAM_DURATION_EXCEEDED|INVALID_AUDIO_CODEC|INVALID_VIDEO_CODEC|INVALID_PROTOCOL|INVALID_STREAM_KEY|REUSE_OF_STREAM_KEY|B_FRAME_PRESENT|INVALID_INPUT|INTERNAL_SERVER_EXCEPTION|Non_static_idofstringletmakei=iletto_string=function|INSUFFICIENT_CAPABILITIES->"INSUFFICIENT_CAPABILITIES"|QUOTA_EXCEEDED->"QUOTA_EXCEEDED"|PUBLISHER_NOT_FOUND->"PUBLISHER_NOT_FOUND"|BITRATE_EXCEEDED->"BITRATE_EXCEEDED"|RESOLUTION_EXCEEDED->"RESOLUTION_EXCEEDED"|STREAM_DURATION_EXCEEDED->"STREAM_DURATION_EXCEEDED"|INVALID_AUDIO_CODEC->"INVALID_AUDIO_CODEC"|INVALID_VIDEO_CODEC->"INVALID_VIDEO_CODEC"|INVALID_PROTOCOL->"INVALID_PROTOCOL"|INVALID_STREAM_KEY->"INVALID_STREAM_KEY"|REUSE_OF_STREAM_KEY->"REUSE_OF_STREAM_KEY"|B_FRAME_PRESENT->"B_FRAME_PRESENT"|INVALID_INPUT->"INVALID_INPUT"|INTERNAL_SERVER_EXCEPTION->"INTERNAL_SERVER_EXCEPTION"|Non_static_ids->sletof_string=function|"INSUFFICIENT_CAPABILITIES"->INSUFFICIENT_CAPABILITIES|"QUOTA_EXCEEDED"->QUOTA_EXCEEDED|"PUBLISHER_NOT_FOUND"->PUBLISHER_NOT_FOUND|"BITRATE_EXCEEDED"->BITRATE_EXCEEDED|"RESOLUTION_EXCEEDED"->RESOLUTION_EXCEEDED|"STREAM_DURATION_EXCEEDED"->STREAM_DURATION_EXCEEDED|"INVALID_AUDIO_CODEC"->INVALID_AUDIO_CODEC|"INVALID_VIDEO_CODEC"->INVALID_VIDEO_CODEC|"INVALID_PROTOCOL"->INVALID_PROTOCOL|"INVALID_STREAM_KEY"->INVALID_STREAM_KEY|"REUSE_OF_STREAM_KEY"->REUSE_OF_STREAM_KEY|"B_FRAME_PRESENT"->B_FRAME_PRESENT|"INVALID_INPUT"->INVALID_INPUT|"INTERNAL_SERVER_EXCEPTION"->INTERNAL_SERVER_EXCEPTION|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 EventErrorCode"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"EventErrorCode"j)letto_json=simple_to_jsonto_valueendmoduleEventName=structtypenonrect=|JOINED|LEFT|PUBLISH_STARTED|PUBLISH_STOPPED|SUBSCRIBE_STARTED|SUBSCRIBE_STOPPED|PUBLISH_ERROR|SUBSCRIBE_ERROR|JOIN_ERROR|REPLICATION_STARTED|REPLICATION_STOPPED|TOKEN_EXCHANGED|Non_static_idofstringletmakei=iletto_string=function|JOINED->"JOINED"|LEFT->"LEFT"|PUBLISH_STARTED->"PUBLISH_STARTED"|PUBLISH_STOPPED->"PUBLISH_STOPPED"|SUBSCRIBE_STARTED->"SUBSCRIBE_STARTED"|SUBSCRIBE_STOPPED->"SUBSCRIBE_STOPPED"|PUBLISH_ERROR->"PUBLISH_ERROR"|SUBSCRIBE_ERROR->"SUBSCRIBE_ERROR"|JOIN_ERROR->"JOIN_ERROR"|REPLICATION_STARTED->"REPLICATION_STARTED"|REPLICATION_STOPPED->"REPLICATION_STOPPED"|TOKEN_EXCHANGED->"TOKEN_EXCHANGED"|Non_static_ids->sletof_string=function|"JOINED"->JOINED|"LEFT"->LEFT|"PUBLISH_STARTED"->PUBLISH_STARTED|"PUBLISH_STOPPED"->PUBLISH_STOPPED|"SUBSCRIBE_STARTED"->SUBSCRIBE_STARTED|"SUBSCRIBE_STOPPED"->SUBSCRIBE_STOPPED|"PUBLISH_ERROR"->PUBLISH_ERROR|"SUBSCRIBE_ERROR"->SUBSCRIBE_ERROR|"JOIN_ERROR"->JOIN_ERROR|"REPLICATION_STARTED"->REPLICATION_STARTED|"REPLICATION_STOPPED"->REPLICATION_STOPPED|"TOKEN_EXCHANGED"->TOKEN_EXCHANGED|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 EventName"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"EventName"j)letto_json=simple_to_jsonto_valueendmoduleExchangedParticipantToken=structtypenonrect={capabilities:ParticipantTokenCapabilities.toption[@ocaml.doc"Set of capabilities that the user is allowed to perform in the stage."];attributes:ParticipantTokenAttributes.toption[@ocaml.doc"Application-provided attributes to encode into the token and attach to a stage. Map keys and values can contain UTF-8 encoded text. The maximum length of this field is 1 KB total. This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information."];userId:ParticipantTokenUserId.toption[@ocaml.doc"Customer-assigned name to help identify the token; this can be used to link a participant to a user in the customer\226\128\153s own systems. This can be any UTF-8 encoded text. This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information."];expirationTime:ParticipantTokenExpirationTime.toption[@ocaml.doc"ISO 8601 timestamp (returned as a string) for when this token expires."]}letmake?capabilities=fun?attributes->fun?userId->fun?expirationTime->fun()->{capabilities;attributes;userId;expirationTime}letto_valuex=structure_to_value[("capabilities",(Option.mapx.capabilities~f:ParticipantTokenCapabilities.to_value));("attributes",(Option.mapx.attributes~f:ParticipantTokenAttributes.to_value));("userId",(Option.mapx.userId~f:ParticipantTokenUserId.to_value));("expirationTime",(Option.mapx.expirationTime~f:ParticipantTokenExpirationTime.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letexpirationTime=(Option.map~f:ParticipantTokenExpirationTime.of_xml)(Xml.childxml_arg0"expirationTime")inletuserId=(Option.map~f:ParticipantTokenUserId.of_xml)(Xml.childxml_arg0"userId")inletattributes=(Option.map~f:ParticipantTokenAttributes.of_xml)(Xml.childxml_arg0"attributes")inletcapabilities=(Option.map~f:ParticipantTokenCapabilities.of_xml)(Xml.childxml_arg0"capabilities")inmake?expirationTime?userId?attributes?capabilities()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letexpirationTime=field_mapjson__"expirationTime"ParticipantTokenExpirationTime.of_jsoninletuserId=field_mapjson__"userId"ParticipantTokenUserId.of_jsoninletattributes=field_mapjson__"attributes"ParticipantTokenAttributes.of_jsoninletcapabilities=field_mapjson__"capabilities"ParticipantTokenCapabilities.of_jsoninmake?expirationTime?userId?attributes?capabilities()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Object specifying an exchanged participant token in a stage, created when an original participant token is updated. Important: Treat tokens as opaque; i.e., do not build functionality based on token contents. The format of tokens could change in the future."]moduleReplica=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_valueendmoduleIngestConfigurationName=structtypenonrect=stringletcontext_="IngestConfigurationName"letmakei=letopenResultinok_or_failwith((check_string_mini~min:0)>>=(fun()->(check_string_maxi~max:128)>>=(fun()->check_patterni~pattern:"[a-zA-Z0-9-_]*")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"IngestConfigurationName"jletto_json=simple_to_jsonto_valueendmoduleIngestConfigurationStageArn=structtypenonrect=stringletcontext_="IngestConfigurationStageArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:0)>>=(fun()->(check_string_maxi~max:128)>>=(fun()->check_patterni~pattern:"^$|^arn:aws:ivs:[a-z0-9-]+:[0-9]+:stage/[a-zA-Z0-9-]+$")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"IngestConfigurationStageArn"jletto_json=simple_to_jsonto_valueendmoduleIngestConfigurationState=structtypenonrect=|ACTIVE|INACTIVE|Non_static_idofstringletmakei=iletto_string=function|ACTIVE->"ACTIVE"|INACTIVE->"INACTIVE"|Non_static_ids->sletof_string=function|"ACTIVE"->ACTIVE|"INACTIVE"->INACTIVE|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 IngestConfigurationState"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"IngestConfigurationState"j)letto_json=simple_to_jsonto_valueendmoduleIngestProtocol=structtypenonrect=|RTMP|RTMPS|Non_static_idofstringletmakei=iletto_string=function|RTMP->"RTMP"|RTMPS->"RTMPS"|Non_static_ids->sletof_string=function|"RTMP"->RTMP|"RTMPS"->RTMPS|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 IngestProtocol"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"IngestProtocol"j)letto_json=simple_to_jsonto_valueendmoduleEncoderConfigurationName=structtypenonrect=stringletcontext_="EncoderConfigurationName"letmakei=letopenResultinok_or_failwith((check_string_mini~min:0)>>=(fun()->(check_string_maxi~max:128)>>=(fun()->check_patterni~pattern:"[a-zA-Z0-9-_]*")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"EncoderConfigurationName"jletto_json=simple_to_jsonto_valueendmoduleCompositionArn=structtypenonrect=stringletcontext_="CompositionArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:128)>>=(fun()->check_patterni~pattern:"arn:aws:ivs:[a-z0-9-]+:[0-9]+:composition/[a-zA-Z0-9-]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"CompositionArn"jletto_json=simple_to_jsonto_valueendmoduleCompositionState=structtypenonrect=|STARTING|ACTIVE|STOPPING|FAILED|STOPPED|Non_static_idofstringletmakei=iletto_string=function|STARTING->"STARTING"|ACTIVE->"ACTIVE"|STOPPING->"STOPPING"|FAILED->"FAILED"|STOPPED->"STOPPED"|Non_static_ids->sletof_string=function|"STARTING"->STARTING|"ACTIVE"->ACTIVE|"STOPPING"->STOPPING|"FAILED"->FAILED|"STOPPED"->STOPPED|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 CompositionState"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"CompositionState"j)letto_json=simple_to_jsonto_valueendmoduleDestinationSummaryList=structtypenonrect=DestinationSummary.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:2)>>=(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:DestinationSummary.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:DestinationSummary.of_xml)letof_jsonj=list_of_json~kind:"DestinationSummaryList"~of_json:DestinationSummary.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleBitrate=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:8500000)>>=(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 Bitrate"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleFramerate=structtypenonrect=floatletmakei=letopenResultinok_or_failwith((check_float_mini~min:60.)>>=(fun()->check_float_mini~min:1.));iletof_string=Float.of_stringletto_valuex=`Floatxletto_queryv=to_queryto_valuevletto_headerx=Stdlib.Float.to_stringxletof_xmlxml_arg0=Float.of_string(string_of_xml~kind:"a float"xml_arg0)letof_jsonj=float_of_json~kind:"a float"jletto_json=simple_to_jsonto_valueendmoduleHeight=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:1920)>>=(fun()->check_int_mini~min:2));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 Height"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleWidth=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:1920)>>=(fun()->check_int_mini~min:2));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 Width"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleParticipantTokenDurationMinutes=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:20160)>>=(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 ParticipantTokenDurationMinutes"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleParticipantTokenId=structtypenonrect=stringletcontext_="ParticipantTokenId"letmakei=letopenResultinok_or_failwith((check_string_mini~min:0)>>=(fun()->(check_string_maxi~max:64)>>=(fun()->check_patterni~pattern:"[a-zA-Z0-9-_]*")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ParticipantTokenId"jletto_json=simple_to_jsonto_valueendmoduleParticipantTokenString=structtypenonrect=stringletcontext_="ParticipantTokenString"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:"ParticipantTokenString"jletto_json=simple_to_jsonto_valueendmoduleErrorMessage=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_valueendmoduleAutoParticipantRecordingConfiguration=structtypenonrect={storageConfigurationArn:AutoParticipantRecordingStorageConfigurationArn.t[@ocaml.doc"ARN of the StorageConfiguration resource to use for individual participant recording. Default: \"\" (empty string, no storage configuration is specified). Individual participant recording cannot be started unless a storage configuration is specified, when a Stage is created or updated. To disable individual participant recording, set this to \"\"; other fields in this object will get reset to their defaults when sending \"\"."];mediaTypes:ParticipantRecordingMediaTypeList.toption[@ocaml.doc"Types of media to be recorded. Default: AUDIO_VIDEO."];thumbnailConfiguration:ParticipantThumbnailConfiguration.toption[@ocaml.doc"A complex type that allows you to enable/disable the recording of thumbnails for individual participant recording and modify the interval at which thumbnails are generated for the live session."];recordingReconnectWindowSeconds:ParticipantRecordingReconnectWindowSeconds.toption[@ocaml.doc"If a stage publisher disconnects and then reconnects within the specified interval, the multiple recordings will be considered a single recording and merged together. The default value is 0, which disables merging."];hlsConfiguration:ParticipantRecordingHlsConfiguration.toption[@ocaml.doc"HLS configuration object for individual participant recording."];recordParticipantReplicas:RecordParticipantReplicas.toption[@ocaml.doc"Optional field to disable replica participant recording. If this is set to false when a participant is a replica, replica participants are not recorded. Default: true."]}letcontext_="AutoParticipantRecordingConfiguration"letmake?mediaTypes=fun?thumbnailConfiguration->fun?recordingReconnectWindowSeconds->fun?hlsConfiguration->fun?recordParticipantReplicas->fun~storageConfigurationArn->fun()->{mediaTypes;thumbnailConfiguration;recordingReconnectWindowSeconds;hlsConfiguration;recordParticipantReplicas;storageConfigurationArn}letto_valuex=structure_to_value[("storageConfigurationArn",(Some(AutoParticipantRecordingStorageConfigurationArn.to_valuex.storageConfigurationArn)));("mediaTypes",(Option.mapx.mediaTypes~f:ParticipantRecordingMediaTypeList.to_value));("thumbnailConfiguration",(Option.mapx.thumbnailConfiguration~f:ParticipantThumbnailConfiguration.to_value));("recordingReconnectWindowSeconds",(Option.mapx.recordingReconnectWindowSeconds~f:ParticipantRecordingReconnectWindowSeconds.to_value));("hlsConfiguration",(Option.mapx.hlsConfiguration~f:ParticipantRecordingHlsConfiguration.to_value));("recordParticipantReplicas",(Option.mapx.recordParticipantReplicas~f:RecordParticipantReplicas.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letrecordParticipantReplicas=(Option.map~f:RecordParticipantReplicas.of_xml)(Xml.childxml_arg0"recordParticipantReplicas")inlethlsConfiguration=(Option.map~f:ParticipantRecordingHlsConfiguration.of_xml)(Xml.childxml_arg0"hlsConfiguration")inletrecordingReconnectWindowSeconds=(Option.map~f:ParticipantRecordingReconnectWindowSeconds.of_xml)(Xml.childxml_arg0"recordingReconnectWindowSeconds")inletthumbnailConfiguration=(Option.map~f:ParticipantThumbnailConfiguration.of_xml)(Xml.childxml_arg0"thumbnailConfiguration")inletmediaTypes=(Option.map~f:ParticipantRecordingMediaTypeList.of_xml)(Xml.childxml_arg0"mediaTypes")inletstorageConfigurationArn=AutoParticipantRecordingStorageConfigurationArn.of_xml(Xml.child_exn~context:context_xml_arg0"storageConfigurationArn")inmake?recordParticipantReplicas?hlsConfiguration?recordingReconnectWindowSeconds?thumbnailConfiguration?mediaTypes~storageConfigurationArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letrecordParticipantReplicas=field_mapjson__"recordParticipantReplicas"RecordParticipantReplicas.of_jsoninlethlsConfiguration=field_mapjson__"hlsConfiguration"ParticipantRecordingHlsConfiguration.of_jsoninletrecordingReconnectWindowSeconds=field_mapjson__"recordingReconnectWindowSeconds"ParticipantRecordingReconnectWindowSeconds.of_jsoninletthumbnailConfiguration=field_mapjson__"thumbnailConfiguration"ParticipantThumbnailConfiguration.of_jsoninletmediaTypes=field_mapjson__"mediaTypes"ParticipantRecordingMediaTypeList.of_jsoninletstorageConfigurationArn=field_map_exnjson__"storageConfigurationArn"AutoParticipantRecordingStorageConfigurationArn.of_jsoninmake?recordParticipantReplicas?hlsConfiguration?recordingReconnectWindowSeconds?thumbnailConfiguration?mediaTypes~storageConfigurationArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Object specifying a configuration for individual participant recording."]moduleStageEndpoints=structtypenonrect={events:StageEndpoint.toption[@ocaml.doc"Events endpoint."];whip:StageEndpoint.toption[@ocaml.doc"The endpoint to be used for IVS real-time streaming using the WHIP protocol."];rtmp:StageEndpoint.toption[@ocaml.doc"The endpoint to be used for IVS real-time streaming using the RTMP protocol."];rtmps:StageEndpoint.toption[@ocaml.doc"The endpoint to be used for IVS real-time streaming using the RTMPS protocol."]}letmake?events=fun?whip->fun?rtmp->fun?rtmps->fun()->{events;whip;rtmp;rtmps}letto_valuex=structure_to_value[("events",(Option.mapx.events~f:StageEndpoint.to_value));("whip",(Option.mapx.whip~f:StageEndpoint.to_value));("rtmp",(Option.mapx.rtmp~f:StageEndpoint.to_value));("rtmps",(Option.mapx.rtmps~f:StageEndpoint.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letrtmps=(Option.map~f:StageEndpoint.of_xml)(Xml.childxml_arg0"rtmps")inletrtmp=(Option.map~f:StageEndpoint.of_xml)(Xml.childxml_arg0"rtmp")inletwhip=(Option.map~f:StageEndpoint.of_xml)(Xml.childxml_arg0"whip")inletevents=(Option.map~f:StageEndpoint.of_xml)(Xml.childxml_arg0"events")inmake?rtmps?rtmp?whip?events()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letrtmps=field_mapjson__"rtmps"StageEndpoint.of_jsoninletrtmp=field_mapjson__"rtmp"StageEndpoint.of_jsoninletwhip=field_mapjson__"whip"StageEndpoint.of_jsoninletevents=field_mapjson__"events"StageEndpoint.of_jsoninmake?rtmps?rtmp?whip?events()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Summary information about various endpoints for a stage. We recommend that you cache these values at stage creation; the values can be cached for up to 14 days."]moduleParticipantAttributes=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_valuevendmoduleRedundantIngestCredentials=structtypenonrect=RedundantIngestCredential.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:RedundantIngestCredential.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:RedundantIngestCredential.of_xml)letof_jsonj=list_of_json~kind:"RedundantIngestCredentials"~of_json:RedundantIngestCredential.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleDestinationList=structtypenonrect=Destination.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:2)>>=(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:Destination.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:Destination.of_xml)letof_jsonj=list_of_json~kind:"DestinationList"~of_json:Destination.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleLayoutConfiguration=structtypenonrect={grid:GridConfiguration.toption[@ocaml.doc"Configuration related to grid layout. Default: Grid layout."];pip:PipConfiguration.toption[@ocaml.doc"Configuration related to PiP layout."]}letmake?grid=fun?pip->fun()->{grid;pip}letto_valuex=structure_to_value[("grid",(Option.mapx.grid~f:GridConfiguration.to_value));("pip",(Option.mapx.pip~f:PipConfiguration.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letpip=(Option.map~f:PipConfiguration.of_xml)(Xml.childxml_arg0"pip")inletgrid=(Option.map~f:GridConfiguration.of_xml)(Xml.childxml_arg0"grid")inmake?pip?grid()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letpip=field_mapjson__"pip"PipConfiguration.of_jsoninletgrid=field_mapjson__"grid"GridConfiguration.of_jsoninmake?pip?grid()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Configuration information of supported layouts for server-side composition."]moduleStorageConfigurationSummary=structtypenonrect={arn:StorageConfigurationArn.toption[@ocaml.doc"ARN of the storage configuration."];name:StorageConfigurationName.toption[@ocaml.doc"Name of the storage configuration."];s3:S3StorageConfiguration.toption[@ocaml.doc"An S3 destination configuration where recorded videos will be stored."];tags:Tags.toption[@ocaml.doc"Tags attached to the resource. Array of maps, each of the form string:string (key:value). See Best practices and strategies in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there."]}letmake?arn=fun?name->fun?s3->fun?tags->fun()->{arn;name;s3;tags}letto_valuex=structure_to_value[("arn",(Option.mapx.arn~f:StorageConfigurationArn.to_value));("name",(Option.mapx.name~f:StorageConfigurationName.to_value));("s3",(Option.mapx.s3~f:S3StorageConfiguration.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")inlets3=(Option.map~f:S3StorageConfiguration.of_xml)(Xml.childxml_arg0"s3")inletname=(Option.map~f:StorageConfigurationName.of_xml)(Xml.childxml_arg0"name")inletarn=(Option.map~f:StorageConfigurationArn.of_xml)(Xml.childxml_arg0"arn")inmake?tags?s3?name?arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"tags"Tags.of_jsoninlets3=field_mapjson__"s3"S3StorageConfiguration.of_jsoninletname=field_mapjson__"name"StorageConfigurationName.of_jsoninletarn=field_mapjson__"arn"StorageConfigurationArn.of_jsoninmake?tags?s3?name?arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Summary information about a storage configuration."]moduleStageSummary=structtypenonrect={arn:StageArn.toption[@ocaml.doc"Stage ARN."];name:StageName.toption[@ocaml.doc"Stage name."];activeSessionId:StageSessionId.toption[@ocaml.doc"ID of the active session within the stage."];tags:Tags.toption[@ocaml.doc"Tags attached to the resource. Array of maps, each of the form string:string (key:value). See Best practices and strategies in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there."]}letmake?arn=fun?name->fun?activeSessionId->fun?tags->fun()->{arn;name;activeSessionId;tags}letto_valuex=structure_to_value[("arn",(Option.mapx.arn~f:StageArn.to_value));("name",(Option.mapx.name~f:StageName.to_value));("activeSessionId",(Option.mapx.activeSessionId~f:StageSessionId.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")inletactiveSessionId=(Option.map~f:StageSessionId.of_xml)(Xml.childxml_arg0"activeSessionId")inletname=(Option.map~f:StageName.of_xml)(Xml.childxml_arg0"name")inletarn=(Option.map~f:StageArn.of_xml)(Xml.childxml_arg0"arn")inmake?tags?activeSessionId?name?arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"tags"Tags.of_jsoninletactiveSessionId=field_mapjson__"activeSessionId"StageSessionId.of_jsoninletname=field_mapjson__"name"StageName.of_jsoninletarn=field_mapjson__"arn"StageArn.of_jsoninmake?tags?activeSessionId?name?arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Summary information about a stage."]moduleStageSessionSummary=structtypenonrect={sessionId:StageSessionId.toption[@ocaml.doc"ID of the session within the stage."];startTime:Time.toption[@ocaml.doc"ISO 8601 timestamp (returned as a string) when this stage session began."];endTime:Time.toption[@ocaml.doc"ISO 8601 timestamp (returned as a string) when the stage session ended. This is null if the stage is active."]}letmake?sessionId=fun?startTime->fun?endTime->fun()->{sessionId;startTime;endTime}letto_valuex=structure_to_value[("sessionId",(Option.mapx.sessionId~f:StageSessionId.to_value));("startTime",(Option.mapx.startTime~f:Time.to_value));("endTime",(Option.mapx.endTime~f:Time.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letendTime=(Option.map~f:Time.of_xml)(Xml.childxml_arg0"endTime")inletstartTime=(Option.map~f:Time.of_xml)(Xml.childxml_arg0"startTime")inletsessionId=(Option.map~f:StageSessionId.of_xml)(Xml.childxml_arg0"sessionId")inmake?endTime?startTime?sessionId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letendTime=field_mapjson__"endTime"Time.of_jsoninletstartTime=field_mapjson__"startTime"Time.of_jsoninletsessionId=field_mapjson__"sessionId"StageSessionId.of_jsoninmake?endTime?startTime?sessionId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Summary information about a stage session."]modulePublicKeySummary=structtypenonrect={arn:PublicKeyArn.toption[@ocaml.doc"Public key ARN."];name:PublicKeyName.toption[@ocaml.doc"Public key name."];tags:Tags.toption[@ocaml.doc"Tags attached to the resource. Array of maps, each of the form string:string (key:value). See Best practices and strategies in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there."]}letmake?arn=fun?name->fun?tags->fun()->{arn;name;tags}letto_valuex=structure_to_value[("arn",(Option.mapx.arn~f:PublicKeyArn.to_value));("name",(Option.mapx.name~f:PublicKeyName.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")inletname=(Option.map~f:PublicKeyName.of_xml)(Xml.childxml_arg0"name")inletarn=(Option.map~f:PublicKeyArn.of_xml)(Xml.childxml_arg0"arn")inmake?tags?name?arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"tags"Tags.of_jsoninletname=field_mapjson__"name"PublicKeyName.of_jsoninletarn=field_mapjson__"arn"PublicKeyArn.of_jsoninmake?tags?name?arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Summary information about a public key."]moduleParticipantSummary=structtypenonrect={participantId:ParticipantId.toption[@ocaml.doc"Unique identifier for this participant, assigned by IVS."];userId:UserId.toption[@ocaml.doc"Customer-assigned name to help identify the token; this can be used to link a participant to a user in the customer\226\128\153s own systems. This can be any UTF-8 encoded text. This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information."];state:ParticipantState.toption[@ocaml.doc"Whether the participant is connected to or disconnected from the stage."];firstJoinTime:Time.toption[@ocaml.doc"ISO 8601 timestamp (returned as a string) when the participant first joined the stage session."];published:Published.toption[@ocaml.doc"Whether the participant ever published to the stage session."];recordingState:ParticipantRecordingState.toption[@ocaml.doc"The participant\226\128\153s recording state."];replicationType:ReplicationType.toption[@ocaml.doc"Indicates if the participant has been replicated to another stage or is a replica from another stage. Default: NONE."];replicationState:ReplicationState.toption[@ocaml.doc"The participant's replication state."];sourceStageArn:StageArn.toption[@ocaml.doc"Source stage ARN from which this participant is replicated, if replicationType is REPLICA."];sourceSessionId:StageSessionId.toption[@ocaml.doc"ID of the session within the source stage, if replicationType is REPLICA."];redundantIngest:RedundantIngest.toption[@ocaml.doc"Indicates whether redundant ingest is enabled for the participant."];ingestConfigurationArn:IngestConfigurationArn.toption[@ocaml.doc"The participant\226\128\153s ingest configuration."]}letmake?participantId=fun?userId->fun?state->fun?firstJoinTime->fun?published->fun?recordingState->fun?replicationType->fun?replicationState->fun?sourceStageArn->fun?sourceSessionId->fun?redundantIngest->fun?ingestConfigurationArn->fun()->{participantId;userId;state;firstJoinTime;published;recordingState;replicationType;replicationState;sourceStageArn;sourceSessionId;redundantIngest;ingestConfigurationArn}letto_valuex=structure_to_value[("participantId",(Option.mapx.participantId~f:ParticipantId.to_value));("userId",(Option.mapx.userId~f:UserId.to_value));("state",(Option.mapx.state~f:ParticipantState.to_value));("firstJoinTime",(Option.mapx.firstJoinTime~f:Time.to_value));("published",(Option.mapx.published~f:Published.to_value));("recordingState",(Option.mapx.recordingState~f:ParticipantRecordingState.to_value));("replicationType",(Option.mapx.replicationType~f:ReplicationType.to_value));("replicationState",(Option.mapx.replicationState~f:ReplicationState.to_value));("sourceStageArn",(Option.mapx.sourceStageArn~f:StageArn.to_value));("sourceSessionId",(Option.mapx.sourceSessionId~f:StageSessionId.to_value));("redundantIngest",(Option.mapx.redundantIngest~f:RedundantIngest.to_value));("ingestConfigurationArn",(Option.mapx.ingestConfigurationArn~f:IngestConfigurationArn.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letingestConfigurationArn=(Option.map~f:IngestConfigurationArn.of_xml)(Xml.childxml_arg0"ingestConfigurationArn")inletredundantIngest=(Option.map~f:RedundantIngest.of_xml)(Xml.childxml_arg0"redundantIngest")inletsourceSessionId=(Option.map~f:StageSessionId.of_xml)(Xml.childxml_arg0"sourceSessionId")inletsourceStageArn=(Option.map~f:StageArn.of_xml)(Xml.childxml_arg0"sourceStageArn")inletreplicationState=(Option.map~f:ReplicationState.of_xml)(Xml.childxml_arg0"replicationState")inletreplicationType=(Option.map~f:ReplicationType.of_xml)(Xml.childxml_arg0"replicationType")inletrecordingState=(Option.map~f:ParticipantRecordingState.of_xml)(Xml.childxml_arg0"recordingState")inletpublished=(Option.map~f:Published.of_xml)(Xml.childxml_arg0"published")inletfirstJoinTime=(Option.map~f:Time.of_xml)(Xml.childxml_arg0"firstJoinTime")inletstate=(Option.map~f:ParticipantState.of_xml)(Xml.childxml_arg0"state")inletuserId=(Option.map~f:UserId.of_xml)(Xml.childxml_arg0"userId")inletparticipantId=(Option.map~f:ParticipantId.of_xml)(Xml.childxml_arg0"participantId")inmake?ingestConfigurationArn?redundantIngest?sourceSessionId?sourceStageArn?replicationState?replicationType?recordingState?published?firstJoinTime?state?userId?participantId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letingestConfigurationArn=field_mapjson__"ingestConfigurationArn"IngestConfigurationArn.of_jsoninletredundantIngest=field_mapjson__"redundantIngest"RedundantIngest.of_jsoninletsourceSessionId=field_mapjson__"sourceSessionId"StageSessionId.of_jsoninletsourceStageArn=field_mapjson__"sourceStageArn"StageArn.of_jsoninletreplicationState=field_mapjson__"replicationState"ReplicationState.of_jsoninletreplicationType=field_mapjson__"replicationType"ReplicationType.of_jsoninletrecordingState=field_mapjson__"recordingState"ParticipantRecordingState.of_jsoninletpublished=field_mapjson__"published"Published.of_jsoninletfirstJoinTime=field_mapjson__"firstJoinTime"Time.of_jsoninletstate=field_mapjson__"state"ParticipantState.of_jsoninletuserId=field_mapjson__"userId"UserId.of_jsoninletparticipantId=field_mapjson__"participantId"ParticipantId.of_jsoninmake?ingestConfigurationArn?redundantIngest?sourceSessionId?sourceStageArn?replicationState?replicationType?recordingState?published?firstJoinTime?state?userId?participantId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Summary object describing a participant that has joined a stage."]moduleParticipantReplica=structtypenonrect={sourceStageArn:StageArn.toption[@ocaml.doc"ARN of the stage from which this participant is replicated."];participantId:ParticipantId.toption[@ocaml.doc"Participant ID of the publisher that will be replicated. This is assigned by IVS and returned by CreateParticipantToken or the jti (JWT ID) used to create a self signed token."];sourceSessionId:StageSessionId.toption[@ocaml.doc"ID of the session within the source stage."];destinationStageArn:StageArn.toption[@ocaml.doc"ARN of the stage where the participant is replicated."];destinationSessionId:StageSessionId.toption[@ocaml.doc"ID of the session within the destination stage."];replicationState:ReplicationState.toption[@ocaml.doc"Replica\226\128\153s current replication state."]}letmake?sourceStageArn=fun?participantId->fun?sourceSessionId->fun?destinationStageArn->fun?destinationSessionId->fun?replicationState->fun()->{sourceStageArn;participantId;sourceSessionId;destinationStageArn;destinationSessionId;replicationState}letto_valuex=structure_to_value[("sourceStageArn",(Option.mapx.sourceStageArn~f:StageArn.to_value));("participantId",(Option.mapx.participantId~f:ParticipantId.to_value));("sourceSessionId",(Option.mapx.sourceSessionId~f:StageSessionId.to_value));("destinationStageArn",(Option.mapx.destinationStageArn~f:StageArn.to_value));("destinationSessionId",(Option.mapx.destinationSessionId~f:StageSessionId.to_value));("replicationState",(Option.mapx.replicationState~f:ReplicationState.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letreplicationState=(Option.map~f:ReplicationState.of_xml)(Xml.childxml_arg0"replicationState")inletdestinationSessionId=(Option.map~f:StageSessionId.of_xml)(Xml.childxml_arg0"destinationSessionId")inletdestinationStageArn=(Option.map~f:StageArn.of_xml)(Xml.childxml_arg0"destinationStageArn")inletsourceSessionId=(Option.map~f:StageSessionId.of_xml)(Xml.childxml_arg0"sourceSessionId")inletparticipantId=(Option.map~f:ParticipantId.of_xml)(Xml.childxml_arg0"participantId")inletsourceStageArn=(Option.map~f:StageArn.of_xml)(Xml.childxml_arg0"sourceStageArn")inmake?replicationState?destinationSessionId?destinationStageArn?sourceSessionId?participantId?sourceStageArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letreplicationState=field_mapjson__"replicationState"ReplicationState.of_jsoninletdestinationSessionId=field_mapjson__"destinationSessionId"StageSessionId.of_jsoninletdestinationStageArn=field_mapjson__"destinationStageArn"StageArn.of_jsoninletsourceSessionId=field_mapjson__"sourceSessionId"StageSessionId.of_jsoninletparticipantId=field_mapjson__"participantId"ParticipantId.of_jsoninletsourceStageArn=field_mapjson__"sourceStageArn"StageArn.of_jsoninmake?replicationState?destinationSessionId?destinationStageArn?sourceSessionId?participantId?sourceStageArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Information about the replicated destination stage for a participant."]moduleEvent=structtypenonrect={name:EventName.toption[@ocaml.doc"The name of the event."];participantId:ParticipantId.toption[@ocaml.doc"Unique identifier for the participant who triggered the event. This is assigned by IVS."];eventTime:Time.toption[@ocaml.doc"ISO 8601 timestamp (returned as a string) for when the event occurred."];remoteParticipantId:ParticipantId.toption[@ocaml.doc"Unique identifier for the remote participant. For a subscribe event, this is the publisher. For a publish or join event, this is null. This is assigned by IVS."];errorCode:EventErrorCode.toption[@ocaml.doc"If the event is an error event, the error code is provided to give insight into the specific error that occurred. If the event is not an error event, this field is null. B_FRAME_PRESENT \226\128\148 The participant's stream includes B-frames. For details, see IVS RTMP Publishing. BITRATE_EXCEEDED \226\128\148 The participant exceeded the maximum supported bitrate. For details, see Service Quotas. INSUFFICIENT_CAPABILITIES \226\128\148 The participant tried to take an action that the participant\226\128\153s token is not allowed to do. For details on participant capabilities, see the capabilities field in CreateParticipantToken. INTERNAL_SERVER_EXCEPTION \226\128\148 The participant failed to publish to the stage due to an internal server error. INVALID_AUDIO_CODEC \226\128\148 The participant is using an invalid audio codec. For details, see Stream Ingest. INVALID_INPUT \226\128\148 The participant is using an invalid input stream. INVALID_PROTOCOL \226\128\148 The participant's IngestConfiguration resource is configured for RTMPS but they tried streaming with RTMP. For details, see IVS RTMP Publishing. INVALID_STREAM_KEY \226\128\148 The participant is using an invalid stream key. For details, see IVS RTMP Publishing. INVALID_VIDEO_CODEC \226\128\148 The participant is using an invalid video codec. For details, see Stream Ingest. PUBLISHER_NOT_FOUND \226\128\148 The participant tried to subscribe to a publisher that doesn\226\128\153t exist. QUOTA_EXCEEDED \226\128\148 The number of participants who want to publish/subscribe to a stage exceeds the quota. For details, see Service Quotas. RESOLUTION_EXCEEDED \226\128\148 The participant exceeded the maximum supported resolution. For details, see Service Quotas. REUSE_OF_STREAM_KEY \226\128\148 The participant tried to use a stream key that is associated with another active stage session. STREAM_DURATION_EXCEEDED \226\128\148 The participant exceeded the maximum allowed stream duration. For details, see Service Quotas."];destinationStageArn:StageArn.toption[@ocaml.doc"ARN of the stage where the participant is replicated. Applicable only if the event name is REPLICATION_STARTED or REPLICATION_STOPPED."];destinationSessionId:StageSessionId.toption[@ocaml.doc"ID of the session within the destination stage. Applicable only if the event name is REPLICATION_STARTED or REPLICATION_STOPPED."];replica:Replica.toption[@ocaml.doc"If true, this indicates the participantId is a replicated participant. If this is a subscribe event, then this flag refers to remoteParticipantId. Default: false."];previousToken:ExchangedParticipantToken.toption[@ocaml.doc"Source participant token for TOKEN_EXCHANGED event."];newToken:ExchangedParticipantToken.toption[@ocaml.doc"Participant token created during TOKEN_EXCHANGED event."]}letmake?name=fun?participantId->fun?eventTime->fun?remoteParticipantId->fun?errorCode->fun?destinationStageArn->fun?destinationSessionId->fun?replica->fun?previousToken->fun?newToken->fun()->{name;participantId;eventTime;remoteParticipantId;errorCode;destinationStageArn;destinationSessionId;replica;previousToken;newToken}letto_valuex=structure_to_value[("name",(Option.mapx.name~f:EventName.to_value));("participantId",(Option.mapx.participantId~f:ParticipantId.to_value));("eventTime",(Option.mapx.eventTime~f:Time.to_value));("remoteParticipantId",(Option.mapx.remoteParticipantId~f:ParticipantId.to_value));("errorCode",(Option.mapx.errorCode~f:EventErrorCode.to_value));("destinationStageArn",(Option.mapx.destinationStageArn~f:StageArn.to_value));("destinationSessionId",(Option.mapx.destinationSessionId~f:StageSessionId.to_value));("replica",(Option.mapx.replica~f:Replica.to_value));("previousToken",(Option.mapx.previousToken~f:ExchangedParticipantToken.to_value));("newToken",(Option.mapx.newToken~f:ExchangedParticipantToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnewToken=(Option.map~f:ExchangedParticipantToken.of_xml)(Xml.childxml_arg0"newToken")inletpreviousToken=(Option.map~f:ExchangedParticipantToken.of_xml)(Xml.childxml_arg0"previousToken")inletreplica=(Option.map~f:Replica.of_xml)(Xml.childxml_arg0"replica")inletdestinationSessionId=(Option.map~f:StageSessionId.of_xml)(Xml.childxml_arg0"destinationSessionId")inletdestinationStageArn=(Option.map~f:StageArn.of_xml)(Xml.childxml_arg0"destinationStageArn")inleterrorCode=(Option.map~f:EventErrorCode.of_xml)(Xml.childxml_arg0"errorCode")inletremoteParticipantId=(Option.map~f:ParticipantId.of_xml)(Xml.childxml_arg0"remoteParticipantId")inleteventTime=(Option.map~f:Time.of_xml)(Xml.childxml_arg0"eventTime")inletparticipantId=(Option.map~f:ParticipantId.of_xml)(Xml.childxml_arg0"participantId")inletname=(Option.map~f:EventName.of_xml)(Xml.childxml_arg0"name")inmake?newToken?previousToken?replica?destinationSessionId?destinationStageArn?errorCode?remoteParticipantId?eventTime?participantId?name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnewToken=field_mapjson__"newToken"ExchangedParticipantToken.of_jsoninletpreviousToken=field_mapjson__"previousToken"ExchangedParticipantToken.of_jsoninletreplica=field_mapjson__"replica"Replica.of_jsoninletdestinationSessionId=field_mapjson__"destinationSessionId"StageSessionId.of_jsoninletdestinationStageArn=field_mapjson__"destinationStageArn"StageArn.of_jsoninleterrorCode=field_mapjson__"errorCode"EventErrorCode.of_jsoninletremoteParticipantId=field_mapjson__"remoteParticipantId"ParticipantId.of_jsoninleteventTime=field_mapjson__"eventTime"Time.of_jsoninletparticipantId=field_mapjson__"participantId"ParticipantId.of_jsoninletname=field_mapjson__"name"EventName.of_jsoninmake?newToken?previousToken?replica?destinationSessionId?destinationStageArn?errorCode?remoteParticipantId?eventTime?participantId?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"An occurrence during a stage session."]moduleIngestConfigurationSummary=structtypenonrect={name:IngestConfigurationName.toption[@ocaml.doc"Ingest name."];arn:IngestConfigurationArn.toption[@ocaml.doc"Ingest configuration ARN."];ingestProtocol:IngestProtocol.toption[@ocaml.doc"Type of ingest protocol that the user employs for broadcasting."];stageArn:IngestConfigurationStageArn.toption[@ocaml.doc"ARN of the stage with which the IngestConfiguration is associated."];participantId:ParticipantId.toption[@ocaml.doc"ID of the participant within the stage."];state:IngestConfigurationState.toption[@ocaml.doc"State of the ingest configuration. It is ACTIVE if a publisher currently is publishing to the stage associated with the ingest configuration."];userId:UserId.toption[@ocaml.doc"Customer-assigned name to help identify the participant using the IngestConfiguration; this can be used to link a participant to a user in the customer\226\128\153s own systems. This can be any UTF-8 encoded text. This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information."];redundantIngest:RedundantIngest.toption[@ocaml.doc"Indicates whether redundant ingest is enabled for the ingest configuration."]}letmake?name=fun?arn->fun?ingestProtocol->fun?stageArn->fun?participantId->fun?state->fun?userId->fun?redundantIngest->fun()->{name;arn;ingestProtocol;stageArn;participantId;state;userId;redundantIngest}letto_valuex=structure_to_value[("name",(Option.mapx.name~f:IngestConfigurationName.to_value));("arn",(Option.mapx.arn~f:IngestConfigurationArn.to_value));("ingestProtocol",(Option.mapx.ingestProtocol~f:IngestProtocol.to_value));("stageArn",(Option.mapx.stageArn~f:IngestConfigurationStageArn.to_value));("participantId",(Option.mapx.participantId~f:ParticipantId.to_value));("state",(Option.mapx.state~f:IngestConfigurationState.to_value));("userId",(Option.mapx.userId~f:UserId.to_value));("redundantIngest",(Option.mapx.redundantIngest~f:RedundantIngest.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letredundantIngest=(Option.map~f:RedundantIngest.of_xml)(Xml.childxml_arg0"redundantIngest")inletuserId=(Option.map~f:UserId.of_xml)(Xml.childxml_arg0"userId")inletstate=(Option.map~f:IngestConfigurationState.of_xml)(Xml.childxml_arg0"state")inletparticipantId=(Option.map~f:ParticipantId.of_xml)(Xml.childxml_arg0"participantId")inletstageArn=(Option.map~f:IngestConfigurationStageArn.of_xml)(Xml.childxml_arg0"stageArn")inletingestProtocol=(Option.map~f:IngestProtocol.of_xml)(Xml.childxml_arg0"ingestProtocol")inletarn=(Option.map~f:IngestConfigurationArn.of_xml)(Xml.childxml_arg0"arn")inletname=(Option.map~f:IngestConfigurationName.of_xml)(Xml.childxml_arg0"name")inmake?redundantIngest?userId?state?participantId?stageArn?ingestProtocol?arn?name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letredundantIngest=field_mapjson__"redundantIngest"RedundantIngest.of_jsoninletuserId=field_mapjson__"userId"UserId.of_jsoninletstate=field_mapjson__"state"IngestConfigurationState.of_jsoninletparticipantId=field_mapjson__"participantId"ParticipantId.of_jsoninletstageArn=field_mapjson__"stageArn"IngestConfigurationStageArn.of_jsoninletingestProtocol=field_mapjson__"ingestProtocol"IngestProtocol.of_jsoninletarn=field_mapjson__"arn"IngestConfigurationArn.of_jsoninletname=field_mapjson__"name"IngestConfigurationName.of_jsoninmake?redundantIngest?userId?state?participantId?stageArn?ingestProtocol?arn?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Summary information about an IngestConfiguration."]moduleEncoderConfigurationSummary=structtypenonrect={arn:EncoderConfigurationArn.toption[@ocaml.doc"ARN of the EncoderConfiguration resource."];name:EncoderConfigurationName.toption[@ocaml.doc"Optional name to identify the resource."];tags:Tags.toption[@ocaml.doc"Tags attached to the resource. Array of maps, each of the form string:string (key:value). See Best practices and strategies in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there."]}letmake?arn=fun?name->fun?tags->fun()->{arn;name;tags}letto_valuex=structure_to_value[("arn",(Option.mapx.arn~f:EncoderConfigurationArn.to_value));("name",(Option.mapx.name~f:EncoderConfigurationName.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")inletname=(Option.map~f:EncoderConfigurationName.of_xml)(Xml.childxml_arg0"name")inletarn=(Option.map~f:EncoderConfigurationArn.of_xml)(Xml.childxml_arg0"arn")inmake?tags?name?arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"tags"Tags.of_jsoninletname=field_mapjson__"name"EncoderConfigurationName.of_jsoninletarn=field_mapjson__"arn"EncoderConfigurationArn.of_jsoninmake?tags?name?arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Summary information about an EncoderConfiguration."]moduleCompositionSummary=structtypenonrect={arn:CompositionArn.toption[@ocaml.doc"ARN of the Composition resource."];stageArn:StageArn.toption[@ocaml.doc"ARN of the attached stage."];destinations:DestinationSummaryList.toption[@ocaml.doc"Array of Destination objects."];state:CompositionState.toption[@ocaml.doc"State of the Composition resource."];tags:Tags.toption[@ocaml.doc"Tags attached to the resource. Array of maps, each of the form string:string (key:value). See Best practices and strategies in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there."];startTime:Time.toption[@ocaml.doc"UTC time of the Composition start. This is an ISO 8601 timestamp; note that this is returned as a string."];endTime:Time.toption[@ocaml.doc"UTC time of the Composition end. This is an ISO 8601 timestamp; note that this is returned as a string."]}letmake?arn=fun?stageArn->fun?destinations->fun?state->fun?tags->fun?startTime->fun?endTime->fun()->{arn;stageArn;destinations;state;tags;startTime;endTime}letto_valuex=structure_to_value[("arn",(Option.mapx.arn~f:CompositionArn.to_value));("stageArn",(Option.mapx.stageArn~f:StageArn.to_value));("destinations",(Option.mapx.destinations~f:DestinationSummaryList.to_value));("state",(Option.mapx.state~f:CompositionState.to_value));("tags",(Option.mapx.tags~f:Tags.to_value));("startTime",(Option.mapx.startTime~f:Time.to_value));("endTime",(Option.mapx.endTime~f:Time.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letendTime=(Option.map~f:Time.of_xml)(Xml.childxml_arg0"endTime")inletstartTime=(Option.map~f:Time.of_xml)(Xml.childxml_arg0"startTime")inlettags=(Option.map~f:Tags.of_xml)(Xml.childxml_arg0"tags")inletstate=(Option.map~f:CompositionState.of_xml)(Xml.childxml_arg0"state")inletdestinations=(Option.map~f:DestinationSummaryList.of_xml)(Xml.childxml_arg0"destinations")inletstageArn=(Option.map~f:StageArn.of_xml)(Xml.childxml_arg0"stageArn")inletarn=(Option.map~f:CompositionArn.of_xml)(Xml.childxml_arg0"arn")inmake?endTime?startTime?tags?state?destinations?stageArn?arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letendTime=field_mapjson__"endTime"Time.of_jsoninletstartTime=field_mapjson__"startTime"Time.of_jsoninlettags=field_mapjson__"tags"Tags.of_jsoninletstate=field_mapjson__"state"CompositionState.of_jsoninletdestinations=field_mapjson__"destinations"DestinationSummaryList.of_jsoninletstageArn=field_mapjson__"stageArn"StageArn.of_jsoninletarn=field_mapjson__"arn"CompositionArn.of_jsoninmake?endTime?startTime?tags?state?destinations?stageArn?arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Summary information about a Composition."]modulePublicKeyFingerprint=structtypenonrect=stringletcontext_="PublicKeyFingerprint"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:"PublicKeyFingerprint"jletto_json=simple_to_jsonto_valueendmodulePublicKeyMaterial=structtypenonrect=stringletcontext_="PublicKeyMaterial"letmakei=letopenResultinok_or_failwith(check_patterni~pattern:".*-----BEGIN PUBLIC KEY-----\\r?\\n([a-zA-Z0-9+/=\\r\\n]+)\\r?\\n-----END PUBLIC KEY-----(\\r?\\n)?.*");iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"PublicKeyMaterial"jletto_json=simple_to_jsonto_valueendmoduleParticipantClientAttribute=structtypenonrect=stringletcontext_="ParticipantClientAttribute"letmakei=letopenResultinok_or_failwith((check_string_mini~min:0)>>=(fun()->(check_string_maxi~max:128)>>=(fun()->check_patterni~pattern:"[a-zA-Z0-9-_.,:;\\s]*")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ParticipantClientAttribute"jletto_json=simple_to_jsonto_valueendmoduleParticipantProtocol=structtypenonrect=|UNKNOWN|WHIP|RTMP|RTMPS|Non_static_idofstringletmakei=iletto_string=function|UNKNOWN->"UNKNOWN"|WHIP->"WHIP"|RTMP->"RTMP"|RTMPS->"RTMPS"|Non_static_ids->sletof_string=function|"UNKNOWN"->UNKNOWN|"WHIP"->WHIP|"RTMP"->RTMP|"RTMPS"->RTMPS|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 ParticipantProtocol"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ParticipantProtocol"j)letto_json=simple_to_jsonto_valueendmoduleParticipantRecordingS3BucketName=structtypenonrect=stringletcontext_="ParticipantRecordingS3BucketName"letmakei=letopenResultinok_or_failwith((check_string_mini~min:0)>>=(fun()->(check_string_maxi~max:63)>>=(fun()->check_patterni~pattern:"[a-z0-9-.]*")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ParticipantRecordingS3BucketName"jletto_json=simple_to_jsonto_valueendmoduleParticipantRecordingS3Prefix=structtypenonrect=stringletcontext_="ParticipantRecordingS3Prefix"letmakei=letopenResultinok_or_failwith((check_string_mini~min:0)>>=(fun()->(check_string_maxi~max:256)>>=(fun()->check_patterni~pattern:"[a-zA-Z0-9-]*")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ParticipantRecordingS3Prefix"jletto_json=simple_to_jsonto_valueendmoduleVideo=structtypenonrect={width:Width.toption[@ocaml.doc"Video-resolution width. This must be an even number. Note that the maximum value is determined by width times height, such that the maximum total pixels is 2073600 (1920x1080 or 1080x1920). Default: 1280."];height:Height.toption[@ocaml.doc"Video-resolution height. This must be an even number. Note that the maximum value is determined by width times height, such that the maximum total pixels is 2073600 (1920x1080 or 1080x1920). Default: 720."];framerate:Framerate.toption[@ocaml.doc"Video frame rate, in fps. Default: 30."];bitrate:Bitrate.toption[@ocaml.doc"Bitrate for generated output, in bps. Default: 2500000."]}letmake?width=fun?height->fun?framerate->fun?bitrate->fun()->{width;height;framerate;bitrate}letto_valuex=structure_to_value[("width",(Option.mapx.width~f:Width.to_value));("height",(Option.mapx.height~f:Height.to_value));("framerate",(Option.mapx.framerate~f:Framerate.to_value));("bitrate",(Option.mapx.bitrate~f:Bitrate.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letbitrate=(Option.map~f:Bitrate.of_xml)(Xml.childxml_arg0"bitrate")inletframerate=(Option.map~f:Framerate.of_xml)(Xml.childxml_arg0"framerate")inletheight=(Option.map~f:Height.of_xml)(Xml.childxml_arg0"height")inletwidth=(Option.map~f:Width.of_xml)(Xml.childxml_arg0"width")inmake?bitrate?framerate?height?width()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letbitrate=field_mapjson__"bitrate"Bitrate.of_jsoninletframerate=field_mapjson__"framerate"Framerate.of_jsoninletheight=field_mapjson__"height"Height.of_jsoninletwidth=field_mapjson__"width"Width.of_jsoninmake?bitrate?framerate?height?width()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Settings for video."]moduleParticipantToken=structtypenonrect={participantId:ParticipantTokenId.toption[@ocaml.doc"Unique identifier for this participant token, assigned by IVS."];token:ParticipantTokenString.toption[@ocaml.doc"The issued client token, encrypted."];userId:ParticipantTokenUserId.toption[@ocaml.doc"Customer-assigned name to help identify the token; this can be used to link a participant to a user in the customer\226\128\153s own systems. This can be any UTF-8 encoded text. This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information."];attributes:ParticipantTokenAttributes.toption[@ocaml.doc"Application-provided attributes to encode into the token and attach to a stage. Map keys and values can contain UTF-8 encoded text. The maximum length of this field is 1 KB total. This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information."];duration:ParticipantTokenDurationMinutes.toption[@ocaml.doc"Duration (in minutes), after which the participant token expires. Default: 720 (12 hours)."];capabilities:ParticipantTokenCapabilities.toption[@ocaml.doc"Set of capabilities that the user is allowed to perform in the stage."];expirationTime:ParticipantTokenExpirationTime.toption[@ocaml.doc"ISO 8601 timestamp (returned as a string) for when this token expires."]}letmake?participantId=fun?token->fun?userId->fun?attributes->fun?duration->fun?capabilities->fun?expirationTime->fun()->{participantId;token;userId;attributes;duration;capabilities;expirationTime}letto_valuex=structure_to_value[("participantId",(Option.mapx.participantId~f:ParticipantTokenId.to_value));("token",(Option.mapx.token~f:ParticipantTokenString.to_value));("userId",(Option.mapx.userId~f:ParticipantTokenUserId.to_value));("attributes",(Option.mapx.attributes~f:ParticipantTokenAttributes.to_value));("duration",(Option.mapx.duration~f:ParticipantTokenDurationMinutes.to_value));("capabilities",(Option.mapx.capabilities~f:ParticipantTokenCapabilities.to_value));("expirationTime",(Option.mapx.expirationTime~f:ParticipantTokenExpirationTime.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letexpirationTime=(Option.map~f:ParticipantTokenExpirationTime.of_xml)(Xml.childxml_arg0"expirationTime")inletcapabilities=(Option.map~f:ParticipantTokenCapabilities.of_xml)(Xml.childxml_arg0"capabilities")inletduration=(Option.map~f:ParticipantTokenDurationMinutes.of_xml)(Xml.childxml_arg0"duration")inletattributes=(Option.map~f:ParticipantTokenAttributes.of_xml)(Xml.childxml_arg0"attributes")inletuserId=(Option.map~f:ParticipantTokenUserId.of_xml)(Xml.childxml_arg0"userId")inlettoken=(Option.map~f:ParticipantTokenString.of_xml)(Xml.childxml_arg0"token")inletparticipantId=(Option.map~f:ParticipantTokenId.of_xml)(Xml.childxml_arg0"participantId")inmake?expirationTime?capabilities?duration?attributes?userId?token?participantId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letexpirationTime=field_mapjson__"expirationTime"ParticipantTokenExpirationTime.of_jsoninletcapabilities=field_mapjson__"capabilities"ParticipantTokenCapabilities.of_jsoninletduration=field_mapjson__"duration"ParticipantTokenDurationMinutes.of_jsoninletattributes=field_mapjson__"attributes"ParticipantTokenAttributes.of_jsoninletuserId=field_mapjson__"userId"ParticipantTokenUserId.of_jsoninlettoken=field_mapjson__"token"ParticipantTokenString.of_jsoninletparticipantId=field_mapjson__"participantId"ParticipantTokenId.of_jsoninmake?expirationTime?capabilities?duration?attributes?userId?token?participantId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Object specifying a participant token in a stage. Important: Treat tokens as opaque; i.e., do not build functionality based on token contents. The format of tokens could change in the future."]moduleParticipantTokenConfiguration=structtypenonrect={duration:ParticipantTokenDurationMinutes.toption[@ocaml.doc"Duration (in minutes), after which the corresponding participant token expires. Default: 720 (12 hours)."];userId:ParticipantTokenUserId.toption[@ocaml.doc"Customer-assigned name to help identify the token; this can be used to link a participant to a user in the customer\226\128\153s own systems. This can be any UTF-8 encoded text. This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information."];attributes:ParticipantTokenAttributes.toption[@ocaml.doc"Application-provided attributes to encode into the corresponding participant token and attach to a stage. Map keys and values can contain UTF-8 encoded text. The maximum length of this field is 1 KB total. This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information."];capabilities:ParticipantTokenCapabilities.toption[@ocaml.doc"Set of capabilities that the user is allowed to perform in the stage."]}letmake?duration=fun?userId->fun?attributes->fun?capabilities->fun()->{duration;userId;attributes;capabilities}letto_valuex=structure_to_value[("duration",(Option.mapx.duration~f:ParticipantTokenDurationMinutes.to_value));("userId",(Option.mapx.userId~f:ParticipantTokenUserId.to_value));("attributes",(Option.mapx.attributes~f:ParticipantTokenAttributes.to_value));("capabilities",(Option.mapx.capabilities~f:ParticipantTokenCapabilities.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcapabilities=(Option.map~f:ParticipantTokenCapabilities.of_xml)(Xml.childxml_arg0"capabilities")inletattributes=(Option.map~f:ParticipantTokenAttributes.of_xml)(Xml.childxml_arg0"attributes")inletuserId=(Option.map~f:ParticipantTokenUserId.of_xml)(Xml.childxml_arg0"userId")inletduration=(Option.map~f:ParticipantTokenDurationMinutes.of_xml)(Xml.childxml_arg0"duration")inmake?capabilities?attributes?userId?duration()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcapabilities=field_mapjson__"capabilities"ParticipantTokenCapabilities.of_jsoninletattributes=field_mapjson__"attributes"ParticipantTokenAttributes.of_jsoninletuserId=field_mapjson__"userId"ParticipantTokenUserId.of_jsoninletduration=field_mapjson__"duration"ParticipantTokenDurationMinutes.of_jsoninmake?capabilities?attributes?userId?duration()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Object specifying a participant token configuration in a stage."]moduleAccessDeniedException=structtypenonrect={accessControlAllowOrigin:String_.toption;accessControlExposeHeaders:String_.toption;cacheControl:String_.toption;contentSecurityPolicy:String_.toption;strictTransportSecurity:String_.toption;xContentTypeOptions:String_.toption;xFrameOptions:String_.toption;xAmznErrorType:String_.toption;exceptionMessage:ErrorMessage.toption[@ocaml.doc"User does not have sufficient access to perform this action."]}letmake?accessControlAllowOrigin=fun?accessControlExposeHeaders->fun?cacheControl->fun?contentSecurityPolicy->fun?strictTransportSecurity->fun?xContentTypeOptions->fun?xFrameOptions->fun?xAmznErrorType->fun?exceptionMessage->fun()->{accessControlAllowOrigin;accessControlExposeHeaders;cacheControl;contentSecurityPolicy;strictTransportSecurity;xContentTypeOptions;xFrameOptions;xAmznErrorType;exceptionMessage}letto_valuex=structure_to_value[("Access-Control-Allow-Origin",(Option.mapx.accessControlAllowOrigin~f:String_.to_value));("Access-Control-Expose-Headers",(Option.mapx.accessControlExposeHeaders~f:String_.to_value));("Cache-Control",(Option.mapx.cacheControl~f:String_.to_value));("Content-Security-Policy",(Option.mapx.contentSecurityPolicy~f:String_.to_value));("Strict-Transport-Security",(Option.mapx.strictTransportSecurity~f:String_.to_value));("X-Content-Type-Options",(Option.mapx.xContentTypeOptions~f:String_.to_value));("X-Frame-Options",(Option.mapx.xFrameOptions~f:String_.to_value));("x-amzn-ErrorType",(Option.mapx.xAmznErrorType~f:String_.to_value));("exceptionMessage",(Option.mapx.exceptionMessage~f:ErrorMessage.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letexceptionMessage=(Option.map~f:ErrorMessage.of_xml)(Xml.childxml_arg0"exceptionMessage")inletxAmznErrorType=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"x-amzn-ErrorType")inletxFrameOptions=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"X-Frame-Options")inletxContentTypeOptions=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"X-Content-Type-Options")inletstrictTransportSecurity=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Strict-Transport-Security")inletcontentSecurityPolicy=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Content-Security-Policy")inletcacheControl=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Cache-Control")inletaccessControlExposeHeaders=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Access-Control-Expose-Headers")inletaccessControlAllowOrigin=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Access-Control-Allow-Origin")inmake?exceptionMessage?xAmznErrorType?xFrameOptions?xContentTypeOptions?strictTransportSecurity?contentSecurityPolicy?cacheControl?accessControlExposeHeaders?accessControlAllowOrigin()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letexceptionMessage=field_mapjson__"exceptionMessage"ErrorMessage.of_jsoninletxAmznErrorType=field_mapjson__"xAmznErrorType"String_.of_jsoninletxFrameOptions=field_mapjson__"xFrameOptions"String_.of_jsoninletxContentTypeOptions=field_mapjson__"xContentTypeOptions"String_.of_jsoninletstrictTransportSecurity=field_mapjson__"strictTransportSecurity"String_.of_jsoninletcontentSecurityPolicy=field_mapjson__"contentSecurityPolicy"String_.of_jsoninletcacheControl=field_mapjson__"cacheControl"String_.of_jsoninletaccessControlExposeHeaders=field_mapjson__"accessControlExposeHeaders"String_.of_jsoninletaccessControlAllowOrigin=field_mapjson__"accessControlAllowOrigin"String_.of_jsoninmake?exceptionMessage?xAmznErrorType?xFrameOptions?xContentTypeOptions?strictTransportSecurity?contentSecurityPolicy?cacheControl?accessControlExposeHeaders?accessControlAllowOrigin()letto_jsonv=composed_to_jsonto_valuevendmoduleConflictException=structtypenonrect={accessControlAllowOrigin:String_.toption;accessControlExposeHeaders:String_.toption;cacheControl:String_.toption;contentSecurityPolicy:String_.toption;strictTransportSecurity:String_.toption;xContentTypeOptions:String_.toption;xFrameOptions:String_.toption;xAmznErrorType:String_.toption;exceptionMessage:ErrorMessage.toption[@ocaml.doc"Updating or deleting a resource can cause an inconsistent state."]}letmake?accessControlAllowOrigin=fun?accessControlExposeHeaders->fun?cacheControl->fun?contentSecurityPolicy->fun?strictTransportSecurity->fun?xContentTypeOptions->fun?xFrameOptions->fun?xAmznErrorType->fun?exceptionMessage->fun()->{accessControlAllowOrigin;accessControlExposeHeaders;cacheControl;contentSecurityPolicy;strictTransportSecurity;xContentTypeOptions;xFrameOptions;xAmznErrorType;exceptionMessage}letto_valuex=structure_to_value[("Access-Control-Allow-Origin",(Option.mapx.accessControlAllowOrigin~f:String_.to_value));("Access-Control-Expose-Headers",(Option.mapx.accessControlExposeHeaders~f:String_.to_value));("Cache-Control",(Option.mapx.cacheControl~f:String_.to_value));("Content-Security-Policy",(Option.mapx.contentSecurityPolicy~f:String_.to_value));("Strict-Transport-Security",(Option.mapx.strictTransportSecurity~f:String_.to_value));("X-Content-Type-Options",(Option.mapx.xContentTypeOptions~f:String_.to_value));("X-Frame-Options",(Option.mapx.xFrameOptions~f:String_.to_value));("x-amzn-ErrorType",(Option.mapx.xAmznErrorType~f:String_.to_value));("exceptionMessage",(Option.mapx.exceptionMessage~f:ErrorMessage.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letexceptionMessage=(Option.map~f:ErrorMessage.of_xml)(Xml.childxml_arg0"exceptionMessage")inletxAmznErrorType=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"x-amzn-ErrorType")inletxFrameOptions=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"X-Frame-Options")inletxContentTypeOptions=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"X-Content-Type-Options")inletstrictTransportSecurity=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Strict-Transport-Security")inletcontentSecurityPolicy=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Content-Security-Policy")inletcacheControl=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Cache-Control")inletaccessControlExposeHeaders=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Access-Control-Expose-Headers")inletaccessControlAllowOrigin=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Access-Control-Allow-Origin")inmake?exceptionMessage?xAmznErrorType?xFrameOptions?xContentTypeOptions?strictTransportSecurity?contentSecurityPolicy?cacheControl?accessControlExposeHeaders?accessControlAllowOrigin()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letexceptionMessage=field_mapjson__"exceptionMessage"ErrorMessage.of_jsoninletxAmznErrorType=field_mapjson__"xAmznErrorType"String_.of_jsoninletxFrameOptions=field_mapjson__"xFrameOptions"String_.of_jsoninletxContentTypeOptions=field_mapjson__"xContentTypeOptions"String_.of_jsoninletstrictTransportSecurity=field_mapjson__"strictTransportSecurity"String_.of_jsoninletcontentSecurityPolicy=field_mapjson__"contentSecurityPolicy"String_.of_jsoninletcacheControl=field_mapjson__"cacheControl"String_.of_jsoninletaccessControlExposeHeaders=field_mapjson__"accessControlExposeHeaders"String_.of_jsoninletaccessControlAllowOrigin=field_mapjson__"accessControlAllowOrigin"String_.of_jsoninmake?exceptionMessage?xAmznErrorType?xFrameOptions?xContentTypeOptions?strictTransportSecurity?contentSecurityPolicy?cacheControl?accessControlExposeHeaders?accessControlAllowOrigin()letto_jsonv=composed_to_jsonto_valuevendmodulePendingVerification=structtypenonrect={accessControlAllowOrigin:String_.toption;accessControlExposeHeaders:String_.toption;cacheControl:String_.toption;contentSecurityPolicy:String_.toption;strictTransportSecurity:String_.toption;xContentTypeOptions:String_.toption;xFrameOptions:String_.toption;xAmznErrorType:String_.toption;exceptionMessage:ErrorMessage.toption[@ocaml.doc"Your account is pending verification."]}letmake?accessControlAllowOrigin=fun?accessControlExposeHeaders->fun?cacheControl->fun?contentSecurityPolicy->fun?strictTransportSecurity->fun?xContentTypeOptions->fun?xFrameOptions->fun?xAmznErrorType->fun?exceptionMessage->fun()->{accessControlAllowOrigin;accessControlExposeHeaders;cacheControl;contentSecurityPolicy;strictTransportSecurity;xContentTypeOptions;xFrameOptions;xAmznErrorType;exceptionMessage}letto_valuex=structure_to_value[("Access-Control-Allow-Origin",(Option.mapx.accessControlAllowOrigin~f:String_.to_value));("Access-Control-Expose-Headers",(Option.mapx.accessControlExposeHeaders~f:String_.to_value));("Cache-Control",(Option.mapx.cacheControl~f:String_.to_value));("Content-Security-Policy",(Option.mapx.contentSecurityPolicy~f:String_.to_value));("Strict-Transport-Security",(Option.mapx.strictTransportSecurity~f:String_.to_value));("X-Content-Type-Options",(Option.mapx.xContentTypeOptions~f:String_.to_value));("X-Frame-Options",(Option.mapx.xFrameOptions~f:String_.to_value));("x-amzn-ErrorType",(Option.mapx.xAmznErrorType~f:String_.to_value));("exceptionMessage",(Option.mapx.exceptionMessage~f:ErrorMessage.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letexceptionMessage=(Option.map~f:ErrorMessage.of_xml)(Xml.childxml_arg0"exceptionMessage")inletxAmznErrorType=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"x-amzn-ErrorType")inletxFrameOptions=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"X-Frame-Options")inletxContentTypeOptions=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"X-Content-Type-Options")inletstrictTransportSecurity=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Strict-Transport-Security")inletcontentSecurityPolicy=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Content-Security-Policy")inletcacheControl=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Cache-Control")inletaccessControlExposeHeaders=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Access-Control-Expose-Headers")inletaccessControlAllowOrigin=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Access-Control-Allow-Origin")inmake?exceptionMessage?xAmznErrorType?xFrameOptions?xContentTypeOptions?strictTransportSecurity?contentSecurityPolicy?cacheControl?accessControlExposeHeaders?accessControlAllowOrigin()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letexceptionMessage=field_mapjson__"exceptionMessage"ErrorMessage.of_jsoninletxAmznErrorType=field_mapjson__"xAmznErrorType"String_.of_jsoninletxFrameOptions=field_mapjson__"xFrameOptions"String_.of_jsoninletxContentTypeOptions=field_mapjson__"xContentTypeOptions"String_.of_jsoninletstrictTransportSecurity=field_mapjson__"strictTransportSecurity"String_.of_jsoninletcontentSecurityPolicy=field_mapjson__"contentSecurityPolicy"String_.of_jsoninletcacheControl=field_mapjson__"cacheControl"String_.of_jsoninletaccessControlExposeHeaders=field_mapjson__"accessControlExposeHeaders"String_.of_jsoninletaccessControlAllowOrigin=field_mapjson__"accessControlAllowOrigin"String_.of_jsoninmake?exceptionMessage?xAmznErrorType?xFrameOptions?xContentTypeOptions?strictTransportSecurity?contentSecurityPolicy?cacheControl?accessControlExposeHeaders?accessControlAllowOrigin()letto_jsonv=composed_to_jsonto_valuevendmoduleResourceNotFoundException=structtypenonrect={accessControlAllowOrigin:String_.toption;accessControlExposeHeaders:String_.toption;cacheControl:String_.toption;contentSecurityPolicy:String_.toption;strictTransportSecurity:String_.toption;xContentTypeOptions:String_.toption;xFrameOptions:String_.toption;xAmznErrorType:String_.toption;exceptionMessage:ErrorMessage.toption[@ocaml.doc"Request references a resource which does not exist."]}letmake?accessControlAllowOrigin=fun?accessControlExposeHeaders->fun?cacheControl->fun?contentSecurityPolicy->fun?strictTransportSecurity->fun?xContentTypeOptions->fun?xFrameOptions->fun?xAmznErrorType->fun?exceptionMessage->fun()->{accessControlAllowOrigin;accessControlExposeHeaders;cacheControl;contentSecurityPolicy;strictTransportSecurity;xContentTypeOptions;xFrameOptions;xAmznErrorType;exceptionMessage}letto_valuex=structure_to_value[("Access-Control-Allow-Origin",(Option.mapx.accessControlAllowOrigin~f:String_.to_value));("Access-Control-Expose-Headers",(Option.mapx.accessControlExposeHeaders~f:String_.to_value));("Cache-Control",(Option.mapx.cacheControl~f:String_.to_value));("Content-Security-Policy",(Option.mapx.contentSecurityPolicy~f:String_.to_value));("Strict-Transport-Security",(Option.mapx.strictTransportSecurity~f:String_.to_value));("X-Content-Type-Options",(Option.mapx.xContentTypeOptions~f:String_.to_value));("X-Frame-Options",(Option.mapx.xFrameOptions~f:String_.to_value));("x-amzn-ErrorType",(Option.mapx.xAmznErrorType~f:String_.to_value));("exceptionMessage",(Option.mapx.exceptionMessage~f:ErrorMessage.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letexceptionMessage=(Option.map~f:ErrorMessage.of_xml)(Xml.childxml_arg0"exceptionMessage")inletxAmznErrorType=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"x-amzn-ErrorType")inletxFrameOptions=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"X-Frame-Options")inletxContentTypeOptions=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"X-Content-Type-Options")inletstrictTransportSecurity=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Strict-Transport-Security")inletcontentSecurityPolicy=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Content-Security-Policy")inletcacheControl=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Cache-Control")inletaccessControlExposeHeaders=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Access-Control-Expose-Headers")inletaccessControlAllowOrigin=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Access-Control-Allow-Origin")inmake?exceptionMessage?xAmznErrorType?xFrameOptions?xContentTypeOptions?strictTransportSecurity?contentSecurityPolicy?cacheControl?accessControlExposeHeaders?accessControlAllowOrigin()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letexceptionMessage=field_mapjson__"exceptionMessage"ErrorMessage.of_jsoninletxAmznErrorType=field_mapjson__"xAmznErrorType"String_.of_jsoninletxFrameOptions=field_mapjson__"xFrameOptions"String_.of_jsoninletxContentTypeOptions=field_mapjson__"xContentTypeOptions"String_.of_jsoninletstrictTransportSecurity=field_mapjson__"strictTransportSecurity"String_.of_jsoninletcontentSecurityPolicy=field_mapjson__"contentSecurityPolicy"String_.of_jsoninletcacheControl=field_mapjson__"cacheControl"String_.of_jsoninletaccessControlExposeHeaders=field_mapjson__"accessControlExposeHeaders"String_.of_jsoninletaccessControlAllowOrigin=field_mapjson__"accessControlAllowOrigin"String_.of_jsoninmake?exceptionMessage?xAmznErrorType?xFrameOptions?xContentTypeOptions?strictTransportSecurity?contentSecurityPolicy?cacheControl?accessControlExposeHeaders?accessControlAllowOrigin()letto_jsonv=composed_to_jsonto_valuevendmoduleServiceQuotaExceededException=structtypenonrect={accessControlAllowOrigin:String_.toption;accessControlExposeHeaders:String_.toption;cacheControl:String_.toption;contentSecurityPolicy:String_.toption;strictTransportSecurity:String_.toption;xContentTypeOptions:String_.toption;xFrameOptions:String_.toption;xAmznErrorType:String_.toption;exceptionMessage:ErrorMessage.toption[@ocaml.doc"Request would cause a service quota to be exceeded."]}letmake?accessControlAllowOrigin=fun?accessControlExposeHeaders->fun?cacheControl->fun?contentSecurityPolicy->fun?strictTransportSecurity->fun?xContentTypeOptions->fun?xFrameOptions->fun?xAmznErrorType->fun?exceptionMessage->fun()->{accessControlAllowOrigin;accessControlExposeHeaders;cacheControl;contentSecurityPolicy;strictTransportSecurity;xContentTypeOptions;xFrameOptions;xAmznErrorType;exceptionMessage}letto_valuex=structure_to_value[("Access-Control-Allow-Origin",(Option.mapx.accessControlAllowOrigin~f:String_.to_value));("Access-Control-Expose-Headers",(Option.mapx.accessControlExposeHeaders~f:String_.to_value));("Cache-Control",(Option.mapx.cacheControl~f:String_.to_value));("Content-Security-Policy",(Option.mapx.contentSecurityPolicy~f:String_.to_value));("Strict-Transport-Security",(Option.mapx.strictTransportSecurity~f:String_.to_value));("X-Content-Type-Options",(Option.mapx.xContentTypeOptions~f:String_.to_value));("X-Frame-Options",(Option.mapx.xFrameOptions~f:String_.to_value));("x-amzn-ErrorType",(Option.mapx.xAmznErrorType~f:String_.to_value));("exceptionMessage",(Option.mapx.exceptionMessage~f:ErrorMessage.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letexceptionMessage=(Option.map~f:ErrorMessage.of_xml)(Xml.childxml_arg0"exceptionMessage")inletxAmznErrorType=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"x-amzn-ErrorType")inletxFrameOptions=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"X-Frame-Options")inletxContentTypeOptions=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"X-Content-Type-Options")inletstrictTransportSecurity=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Strict-Transport-Security")inletcontentSecurityPolicy=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Content-Security-Policy")inletcacheControl=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Cache-Control")inletaccessControlExposeHeaders=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Access-Control-Expose-Headers")inletaccessControlAllowOrigin=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Access-Control-Allow-Origin")inmake?exceptionMessage?xAmznErrorType?xFrameOptions?xContentTypeOptions?strictTransportSecurity?contentSecurityPolicy?cacheControl?accessControlExposeHeaders?accessControlAllowOrigin()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letexceptionMessage=field_mapjson__"exceptionMessage"ErrorMessage.of_jsoninletxAmznErrorType=field_mapjson__"xAmznErrorType"String_.of_jsoninletxFrameOptions=field_mapjson__"xFrameOptions"String_.of_jsoninletxContentTypeOptions=field_mapjson__"xContentTypeOptions"String_.of_jsoninletstrictTransportSecurity=field_mapjson__"strictTransportSecurity"String_.of_jsoninletcontentSecurityPolicy=field_mapjson__"contentSecurityPolicy"String_.of_jsoninletcacheControl=field_mapjson__"cacheControl"String_.of_jsoninletaccessControlExposeHeaders=field_mapjson__"accessControlExposeHeaders"String_.of_jsoninletaccessControlAllowOrigin=field_mapjson__"accessControlAllowOrigin"String_.of_jsoninmake?exceptionMessage?xAmznErrorType?xFrameOptions?xContentTypeOptions?strictTransportSecurity?contentSecurityPolicy?cacheControl?accessControlExposeHeaders?accessControlAllowOrigin()letto_jsonv=composed_to_jsonto_valuevendmoduleStage=structtypenonrect={arn:StageArn.toption[@ocaml.doc"Stage ARN."];name:StageName.toption[@ocaml.doc"Stage name."];activeSessionId:StageSessionId.toption[@ocaml.doc"ID of the active session within the stage."];tags:Tags.toption[@ocaml.doc"Tags attached to the resource. Array of maps, each of the form string:string (key:value). See Best practices and strategies in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there."];autoParticipantRecordingConfiguration:AutoParticipantRecordingConfiguration.toption[@ocaml.doc"Configuration object for individual participant recording, attached to the stage."];endpoints:StageEndpoints.toption[@ocaml.doc"Summary information about various endpoints for a stage."]}letmake?arn=fun?name->fun?activeSessionId->fun?tags->fun?autoParticipantRecordingConfiguration->fun?endpoints->fun()->{arn;name;activeSessionId;tags;autoParticipantRecordingConfiguration;endpoints}letto_valuex=structure_to_value[("arn",(Option.mapx.arn~f:StageArn.to_value));("name",(Option.mapx.name~f:StageName.to_value));("activeSessionId",(Option.mapx.activeSessionId~f:StageSessionId.to_value));("tags",(Option.mapx.tags~f:Tags.to_value));("autoParticipantRecordingConfiguration",(Option.mapx.autoParticipantRecordingConfiguration~f:AutoParticipantRecordingConfiguration.to_value));("endpoints",(Option.mapx.endpoints~f:StageEndpoints.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letendpoints=(Option.map~f:StageEndpoints.of_xml)(Xml.childxml_arg0"endpoints")inletautoParticipantRecordingConfiguration=(Option.map~f:AutoParticipantRecordingConfiguration.of_xml)(Xml.childxml_arg0"autoParticipantRecordingConfiguration")inlettags=(Option.map~f:Tags.of_xml)(Xml.childxml_arg0"tags")inletactiveSessionId=(Option.map~f:StageSessionId.of_xml)(Xml.childxml_arg0"activeSessionId")inletname=(Option.map~f:StageName.of_xml)(Xml.childxml_arg0"name")inletarn=(Option.map~f:StageArn.of_xml)(Xml.childxml_arg0"arn")inmake?endpoints?autoParticipantRecordingConfiguration?tags?activeSessionId?name?arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letendpoints=field_mapjson__"endpoints"StageEndpoints.of_jsoninletautoParticipantRecordingConfiguration=field_mapjson__"autoParticipantRecordingConfiguration"AutoParticipantRecordingConfiguration.of_jsoninlettags=field_mapjson__"tags"Tags.of_jsoninletactiveSessionId=field_mapjson__"activeSessionId"StageSessionId.of_jsoninletname=field_mapjson__"name"StageName.of_jsoninletarn=field_mapjson__"arn"StageArn.of_jsoninmake?endpoints?autoParticipantRecordingConfiguration?tags?activeSessionId?name?arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Object specifying a stage."]moduleValidationException=structtypenonrect={accessControlAllowOrigin:String_.toption;accessControlExposeHeaders:String_.toption;cacheControl:String_.toption;contentSecurityPolicy:String_.toption;strictTransportSecurity:String_.toption;xContentTypeOptions:String_.toption;xFrameOptions:String_.toption;xAmznErrorType:String_.toption;exceptionMessage:ErrorMessage.toption[@ocaml.doc"The input fails to satisfy the constraints specified by an Amazon Web Services service."]}letmake?accessControlAllowOrigin=fun?accessControlExposeHeaders->fun?cacheControl->fun?contentSecurityPolicy->fun?strictTransportSecurity->fun?xContentTypeOptions->fun?xFrameOptions->fun?xAmznErrorType->fun?exceptionMessage->fun()->{accessControlAllowOrigin;accessControlExposeHeaders;cacheControl;contentSecurityPolicy;strictTransportSecurity;xContentTypeOptions;xFrameOptions;xAmznErrorType;exceptionMessage}letto_valuex=structure_to_value[("Access-Control-Allow-Origin",(Option.mapx.accessControlAllowOrigin~f:String_.to_value));("Access-Control-Expose-Headers",(Option.mapx.accessControlExposeHeaders~f:String_.to_value));("Cache-Control",(Option.mapx.cacheControl~f:String_.to_value));("Content-Security-Policy",(Option.mapx.contentSecurityPolicy~f:String_.to_value));("Strict-Transport-Security",(Option.mapx.strictTransportSecurity~f:String_.to_value));("X-Content-Type-Options",(Option.mapx.xContentTypeOptions~f:String_.to_value));("X-Frame-Options",(Option.mapx.xFrameOptions~f:String_.to_value));("x-amzn-ErrorType",(Option.mapx.xAmznErrorType~f:String_.to_value));("exceptionMessage",(Option.mapx.exceptionMessage~f:ErrorMessage.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letexceptionMessage=(Option.map~f:ErrorMessage.of_xml)(Xml.childxml_arg0"exceptionMessage")inletxAmznErrorType=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"x-amzn-ErrorType")inletxFrameOptions=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"X-Frame-Options")inletxContentTypeOptions=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"X-Content-Type-Options")inletstrictTransportSecurity=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Strict-Transport-Security")inletcontentSecurityPolicy=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Content-Security-Policy")inletcacheControl=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Cache-Control")inletaccessControlExposeHeaders=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Access-Control-Expose-Headers")inletaccessControlAllowOrigin=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Access-Control-Allow-Origin")inmake?exceptionMessage?xAmznErrorType?xFrameOptions?xContentTypeOptions?strictTransportSecurity?contentSecurityPolicy?cacheControl?accessControlExposeHeaders?accessControlAllowOrigin()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letexceptionMessage=field_mapjson__"exceptionMessage"ErrorMessage.of_jsoninletxAmznErrorType=field_mapjson__"xAmznErrorType"String_.of_jsoninletxFrameOptions=field_mapjson__"xFrameOptions"String_.of_jsoninletxContentTypeOptions=field_mapjson__"xContentTypeOptions"String_.of_jsoninletstrictTransportSecurity=field_mapjson__"strictTransportSecurity"String_.of_jsoninletcontentSecurityPolicy=field_mapjson__"contentSecurityPolicy"String_.of_jsoninletcacheControl=field_mapjson__"cacheControl"String_.of_jsoninletaccessControlExposeHeaders=field_mapjson__"accessControlExposeHeaders"String_.of_jsoninletaccessControlAllowOrigin=field_mapjson__"accessControlAllowOrigin"String_.of_jsoninmake?exceptionMessage?xAmznErrorType?xFrameOptions?xContentTypeOptions?strictTransportSecurity?contentSecurityPolicy?cacheControl?accessControlExposeHeaders?accessControlAllowOrigin()letto_jsonv=composed_to_jsonto_valuevendmoduleIngestConfiguration=structtypenonrect={name:IngestConfigurationName.toption[@ocaml.doc"Ingest name"];arn:IngestConfigurationArn.toption[@ocaml.doc"Ingest configuration ARN."];ingestProtocol:IngestProtocol.toption[@ocaml.doc"Type of ingest protocol that the user employs for broadcasting."];streamKey:StreamKey.toption[@ocaml.doc"Ingest-key value for the RTMP(S) protocol."];stageArn:IngestConfigurationStageArn.toption[@ocaml.doc"ARN of the stage with which the IngestConfiguration is associated."];participantId:ParticipantId.toption[@ocaml.doc"ID of the participant within the stage."];state:IngestConfigurationState.toption[@ocaml.doc"State of the ingest configuration. It is ACTIVE if a publisher currently is publishing to the stage associated with the ingest configuration."];userId:UserId.toption[@ocaml.doc"Customer-assigned name to help identify the participant using the IngestConfiguration; this can be used to link a participant to a user in the customer\226\128\153s own systems. This can be any UTF-8 encoded text. This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information."];redundantIngest:RedundantIngest.toption[@ocaml.doc"Indicates whether redundant ingest is enabled for the ingest configuration."];redundantIngestCredentials:RedundantIngestCredentials.toption[@ocaml.doc"A list of redundant ingest credentials, present only when redundantIngest is set to true. See Redundant Ingest in IVS RTMP Publishing for details."];attributes:ParticipantAttributes.toption[@ocaml.doc"Application-provided attributes to to store in the IngestConfiguration and attach to a stage. Map keys and values can contain UTF-8 encoded text. The maximum length of this field is 1 KB total. This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information."];tags:Tags.toption[@ocaml.doc"Tags attached to the resource. Array of maps, each of the form string:string (key:value). See Best practices and strategies in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there."]}letmake?name=fun?arn->fun?ingestProtocol->fun?streamKey->fun?stageArn->fun?participantId->fun?state->fun?userId->fun?redundantIngest->fun?redundantIngestCredentials->fun?attributes->fun?tags->fun()->{name;arn;ingestProtocol;streamKey;stageArn;participantId;state;userId;redundantIngest;redundantIngestCredentials;attributes;tags}letto_valuex=structure_to_value[("name",(Option.mapx.name~f:IngestConfigurationName.to_value));("arn",(Option.mapx.arn~f:IngestConfigurationArn.to_value));("ingestProtocol",(Option.mapx.ingestProtocol~f:IngestProtocol.to_value));("streamKey",(Option.mapx.streamKey~f:StreamKey.to_value));("stageArn",(Option.mapx.stageArn~f:IngestConfigurationStageArn.to_value));("participantId",(Option.mapx.participantId~f:ParticipantId.to_value));("state",(Option.mapx.state~f:IngestConfigurationState.to_value));("userId",(Option.mapx.userId~f:UserId.to_value));("redundantIngest",(Option.mapx.redundantIngest~f:RedundantIngest.to_value));("redundantIngestCredentials",(Option.mapx.redundantIngestCredentials~f:RedundantIngestCredentials.to_value));("attributes",(Option.mapx.attributes~f:ParticipantAttributes.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")inletattributes=(Option.map~f:ParticipantAttributes.of_xml)(Xml.childxml_arg0"attributes")inletredundantIngestCredentials=(Option.map~f:RedundantIngestCredentials.of_xml)(Xml.childxml_arg0"redundantIngestCredentials")inletredundantIngest=(Option.map~f:RedundantIngest.of_xml)(Xml.childxml_arg0"redundantIngest")inletuserId=(Option.map~f:UserId.of_xml)(Xml.childxml_arg0"userId")inletstate=(Option.map~f:IngestConfigurationState.of_xml)(Xml.childxml_arg0"state")inletparticipantId=(Option.map~f:ParticipantId.of_xml)(Xml.childxml_arg0"participantId")inletstageArn=(Option.map~f:IngestConfigurationStageArn.of_xml)(Xml.childxml_arg0"stageArn")inletstreamKey=(Option.map~f:StreamKey.of_xml)(Xml.childxml_arg0"streamKey")inletingestProtocol=(Option.map~f:IngestProtocol.of_xml)(Xml.childxml_arg0"ingestProtocol")inletarn=(Option.map~f:IngestConfigurationArn.of_xml)(Xml.childxml_arg0"arn")inletname=(Option.map~f:IngestConfigurationName.of_xml)(Xml.childxml_arg0"name")inmake?tags?attributes?redundantIngestCredentials?redundantIngest?userId?state?participantId?stageArn?streamKey?ingestProtocol?arn?name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"tags"Tags.of_jsoninletattributes=field_mapjson__"attributes"ParticipantAttributes.of_jsoninletredundantIngestCredentials=field_mapjson__"redundantIngestCredentials"RedundantIngestCredentials.of_jsoninletredundantIngest=field_mapjson__"redundantIngest"RedundantIngest.of_jsoninletuserId=field_mapjson__"userId"UserId.of_jsoninletstate=field_mapjson__"state"IngestConfigurationState.of_jsoninletparticipantId=field_mapjson__"participantId"ParticipantId.of_jsoninletstageArn=field_mapjson__"stageArn"IngestConfigurationStageArn.of_jsoninletstreamKey=field_mapjson__"streamKey"StreamKey.of_jsoninletingestProtocol=field_mapjson__"ingestProtocol"IngestProtocol.of_jsoninletarn=field_mapjson__"arn"IngestConfigurationArn.of_jsoninletname=field_mapjson__"name"IngestConfigurationName.of_jsoninmake?tags?attributes?redundantIngestCredentials?redundantIngest?userId?state?participantId?stageArn?streamKey?ingestProtocol?arn?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Object specifying an ingest configuration."]moduleInternalServerException=structtypenonrect={accessControlAllowOrigin:String_.toption;accessControlExposeHeaders:String_.toption;cacheControl:String_.toption;contentSecurityPolicy:String_.toption;strictTransportSecurity:String_.toption;xContentTypeOptions:String_.toption;xFrameOptions:String_.toption;xAmznErrorType:String_.toption;exceptionMessage:ErrorMessage.toption[@ocaml.doc"Unexpected error during processing of request."]}letmake?accessControlAllowOrigin=fun?accessControlExposeHeaders->fun?cacheControl->fun?contentSecurityPolicy->fun?strictTransportSecurity->fun?xContentTypeOptions->fun?xFrameOptions->fun?xAmznErrorType->fun?exceptionMessage->fun()->{accessControlAllowOrigin;accessControlExposeHeaders;cacheControl;contentSecurityPolicy;strictTransportSecurity;xContentTypeOptions;xFrameOptions;xAmznErrorType;exceptionMessage}letto_valuex=structure_to_value[("Access-Control-Allow-Origin",(Option.mapx.accessControlAllowOrigin~f:String_.to_value));("Access-Control-Expose-Headers",(Option.mapx.accessControlExposeHeaders~f:String_.to_value));("Cache-Control",(Option.mapx.cacheControl~f:String_.to_value));("Content-Security-Policy",(Option.mapx.contentSecurityPolicy~f:String_.to_value));("Strict-Transport-Security",(Option.mapx.strictTransportSecurity~f:String_.to_value));("X-Content-Type-Options",(Option.mapx.xContentTypeOptions~f:String_.to_value));("X-Frame-Options",(Option.mapx.xFrameOptions~f:String_.to_value));("x-amzn-ErrorType",(Option.mapx.xAmznErrorType~f:String_.to_value));("exceptionMessage",(Option.mapx.exceptionMessage~f:ErrorMessage.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letexceptionMessage=(Option.map~f:ErrorMessage.of_xml)(Xml.childxml_arg0"exceptionMessage")inletxAmznErrorType=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"x-amzn-ErrorType")inletxFrameOptions=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"X-Frame-Options")inletxContentTypeOptions=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"X-Content-Type-Options")inletstrictTransportSecurity=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Strict-Transport-Security")inletcontentSecurityPolicy=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Content-Security-Policy")inletcacheControl=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Cache-Control")inletaccessControlExposeHeaders=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Access-Control-Expose-Headers")inletaccessControlAllowOrigin=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Access-Control-Allow-Origin")inmake?exceptionMessage?xAmznErrorType?xFrameOptions?xContentTypeOptions?strictTransportSecurity?contentSecurityPolicy?cacheControl?accessControlExposeHeaders?accessControlAllowOrigin()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letexceptionMessage=field_mapjson__"exceptionMessage"ErrorMessage.of_jsoninletxAmznErrorType=field_mapjson__"xAmznErrorType"String_.of_jsoninletxFrameOptions=field_mapjson__"xFrameOptions"String_.of_jsoninletxContentTypeOptions=field_mapjson__"xContentTypeOptions"String_.of_jsoninletstrictTransportSecurity=field_mapjson__"strictTransportSecurity"String_.of_jsoninletcontentSecurityPolicy=field_mapjson__"contentSecurityPolicy"String_.of_jsoninletcacheControl=field_mapjson__"cacheControl"String_.of_jsoninletaccessControlExposeHeaders=field_mapjson__"accessControlExposeHeaders"String_.of_jsoninletaccessControlAllowOrigin=field_mapjson__"accessControlAllowOrigin"String_.of_jsoninmake?exceptionMessage?xAmznErrorType?xFrameOptions?xContentTypeOptions?strictTransportSecurity?contentSecurityPolicy?cacheControl?accessControlExposeHeaders?accessControlAllowOrigin()letto_jsonv=composed_to_jsonto_valuevendmoduleResourceArn=structtypenonrect=stringletcontext_="ResourceArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:128)>>=(fun()->check_patterni~pattern:"arn:aws:ivs:[a-z0-9-]+:[0-9]+:[a-z-]/[a-zA-Z0-9-]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ResourceArn"jletto_json=simple_to_jsonto_valueendmoduleTagKeyList=structtypenonrect=TagKey.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:50)>>=(fun()->check_list_mini~min:0));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f: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_valuevendmoduleReconnectWindowSeconds=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:300)>>=(fun()->check_int_mini~min:0));iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for ReconnectWindowSeconds"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleComposition=structtypenonrect={arn:CompositionArn.toption[@ocaml.doc"ARN of the Composition resource."];stageArn:StageArn.toption[@ocaml.doc"ARN of the stage used as input"];state:CompositionState.toption[@ocaml.doc"State of the Composition."];layout:LayoutConfiguration.toption[@ocaml.doc"Layout object to configure composition parameters."];destinations:DestinationList.toption[@ocaml.doc"Array of Destination objects. A Composition can contain either one destination (channel or s3) or two (one channel and one s3)."];tags:Tags.toption[@ocaml.doc"Tags attached to the resource. Array of maps, each of the form string:string (key:value). See Best practices and strategies in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there."];startTime:Time.toption[@ocaml.doc"UTC time of the Composition start. This is an ISO 8601 timestamp; note that this is returned as a string."];endTime:Time.toption[@ocaml.doc"UTC time of the Composition end. This is an ISO 8601 timestamp; note that this is returned as a string."]}letmake?arn=fun?stageArn->fun?state->fun?layout->fun?destinations->fun?tags->fun?startTime->fun?endTime->fun()->{arn;stageArn;state;layout;destinations;tags;startTime;endTime}letto_valuex=structure_to_value[("arn",(Option.mapx.arn~f:CompositionArn.to_value));("stageArn",(Option.mapx.stageArn~f:StageArn.to_value));("state",(Option.mapx.state~f:CompositionState.to_value));("layout",(Option.mapx.layout~f:LayoutConfiguration.to_value));("destinations",(Option.mapx.destinations~f:DestinationList.to_value));("tags",(Option.mapx.tags~f:Tags.to_value));("startTime",(Option.mapx.startTime~f:Time.to_value));("endTime",(Option.mapx.endTime~f:Time.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letendTime=(Option.map~f:Time.of_xml)(Xml.childxml_arg0"endTime")inletstartTime=(Option.map~f:Time.of_xml)(Xml.childxml_arg0"startTime")inlettags=(Option.map~f:Tags.of_xml)(Xml.childxml_arg0"tags")inletdestinations=(Option.map~f:DestinationList.of_xml)(Xml.childxml_arg0"destinations")inletlayout=(Option.map~f:LayoutConfiguration.of_xml)(Xml.childxml_arg0"layout")inletstate=(Option.map~f:CompositionState.of_xml)(Xml.childxml_arg0"state")inletstageArn=(Option.map~f:StageArn.of_xml)(Xml.childxml_arg0"stageArn")inletarn=(Option.map~f:CompositionArn.of_xml)(Xml.childxml_arg0"arn")inmake?endTime?startTime?tags?destinations?layout?state?stageArn?arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letendTime=field_mapjson__"endTime"Time.of_jsoninletstartTime=field_mapjson__"startTime"Time.of_jsoninlettags=field_mapjson__"tags"Tags.of_jsoninletdestinations=field_mapjson__"destinations"DestinationList.of_jsoninletlayout=field_mapjson__"layout"LayoutConfiguration.of_jsoninletstate=field_mapjson__"state"CompositionState.of_jsoninletstageArn=field_mapjson__"stageArn"StageArn.of_jsoninletarn=field_mapjson__"arn"CompositionArn.of_jsoninmake?endTime?startTime?tags?destinations?layout?state?stageArn?arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Object specifying a Composition resource."]moduleCompositionClientToken=structtypenonrect=stringletcontext_="CompositionClientToken"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:64)>>=(fun()->check_patterni~pattern:"[a-zA-Z0-9-_]*")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"CompositionClientToken"jletto_json=simple_to_jsonto_valueendmoduleDestinationConfigurationList=structtypenonrect=DestinationConfiguration.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:2)>>=(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:DestinationConfiguration.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:DestinationConfiguration.of_xml)letof_jsonj=list_of_json~kind:"DestinationConfigurationList"~of_json:DestinationConfiguration.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmodulePaginationToken=structtypenonrect=stringletcontext_="PaginationToken"letmakei=letopenResultinok_or_failwith((check_string_mini~min:0)>>=(fun()->(check_string_maxi~max:1024)>>=(fun()->check_patterni~pattern:"[a-zA-Z0-9+/=_-]*")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"PaginationToken"jletto_json=simple_to_jsonto_valueendmoduleStorageConfigurationSummaryList=structtypenonrect=StorageConfigurationSummary.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:StorageConfigurationSummary.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:StorageConfigurationSummary.of_xml)letof_jsonj=list_of_json~kind:"StorageConfigurationSummaryList"~of_json:StorageConfigurationSummary.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleMaxStorageConfigurationResults=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:100)>>=(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 MaxStorageConfigurationResults"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleStageSummaryList=structtypenonrect=StageSummary.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:StageSummary.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:StageSummary.of_xml)letof_jsonj=list_of_json~kind:"StageSummaryList"~of_json:StageSummary.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleMaxStageResults=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:100)>>=(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 MaxStageResults"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleStageSessionList=structtypenonrect=StageSessionSummary.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:StageSessionSummary.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:StageSessionSummary.of_xml)letof_jsonj=list_of_json~kind:"StageSessionList"~of_json:StageSessionSummary.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleMaxStageSessionResults=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:100)>>=(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 MaxStageSessionResults"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmodulePublicKeyList=structtypenonrect=PublicKeySummary.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:PublicKeySummary.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:PublicKeySummary.of_xml)letof_jsonj=list_of_json~kind:"PublicKeyList"~of_json:PublicKeySummary.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleMaxPublicKeyResults=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:100)>>=(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 MaxPublicKeyResults"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleParticipantList=structtypenonrect=ParticipantSummary.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ParticipantSummary.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:ParticipantSummary.of_xml)letof_jsonj=list_of_json~kind:"ParticipantList"~of_json:ParticipantSummary.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleMaxParticipantResults=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:100)>>=(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 MaxParticipantResults"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleParticipantRecordingFilterByRecordingState=structtypenonrect=|STARTING|ACTIVE|STOPPING|STOPPED|FAILED|Non_static_idofstringletmakei=iletto_string=function|STARTING->"STARTING"|ACTIVE->"ACTIVE"|STOPPING->"STOPPING"|STOPPED->"STOPPED"|FAILED->"FAILED"|Non_static_ids->sletof_string=function|"STARTING"->STARTING|"ACTIVE"->ACTIVE|"STOPPING"->STOPPING|"STOPPED"->STOPPED|"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 ParticipantRecordingFilterByRecordingState"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ParticipantRecordingFilterByRecordingState"j)letto_json=simple_to_jsonto_valueendmoduleParticipantReplicaList=structtypenonrect=ParticipantReplica.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ParticipantReplica.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:ParticipantReplica.of_xml)letof_jsonj=list_of_json~kind:"ParticipantReplicaList"~of_json:ParticipantReplica.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleMaxParticipantReplicaResults=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:50)>>=(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 MaxParticipantReplicaResults"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleEventList=structtypenonrect=Event.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:Event.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:Event.of_xml)letof_jsonj=list_of_json~kind:"EventList"~of_json:Event.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleMaxParticipantEventResults=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:100)>>=(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 MaxParticipantEventResults"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleIngestConfigurationList=structtypenonrect=IngestConfigurationSummary.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:IngestConfigurationSummary.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:IngestConfigurationSummary.of_xml)letof_jsonj=list_of_json~kind:"IngestConfigurationList"~of_json:IngestConfigurationSummary.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleMaxIngestConfigurationResults=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:100)>>=(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 MaxIngestConfigurationResults"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleEncoderConfigurationSummaryList=structtypenonrect=EncoderConfigurationSummary.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:EncoderConfigurationSummary.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:EncoderConfigurationSummary.of_xml)letof_jsonj=list_of_json~kind:"EncoderConfigurationSummaryList"~of_json:EncoderConfigurationSummary.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleMaxEncoderConfigurationResults=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:100)>>=(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 MaxEncoderConfigurationResults"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleCompositionSummaryList=structtypenonrect=CompositionSummary.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:CompositionSummary.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:CompositionSummary.of_xml)letof_jsonj=list_of_json~kind:"CompositionSummaryList"~of_json:CompositionSummary.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleMaxCompositionResults=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:100)>>=(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 MaxCompositionResults"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmodulePublicKey=structtypenonrect={arn:PublicKeyArn.toption[@ocaml.doc"Public key ARN."];name:PublicKeyName.toption[@ocaml.doc"Public key name."];publicKeyMaterial:PublicKeyMaterial.toption[@ocaml.doc"Public key material."];fingerprint:PublicKeyFingerprint.toption[@ocaml.doc"The public key fingerprint, a short string used to identify or verify the full public key."];tags:Tags.toption[@ocaml.doc"Tags attached to the resource. Array of maps, each of the form string:string (key:value). See Best practices and strategies in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there."]}letmake?arn=fun?name->fun?publicKeyMaterial->fun?fingerprint->fun?tags->fun()->{arn;name;publicKeyMaterial;fingerprint;tags}letto_valuex=structure_to_value[("arn",(Option.mapx.arn~f:PublicKeyArn.to_value));("name",(Option.mapx.name~f:PublicKeyName.to_value));("publicKeyMaterial",(Option.mapx.publicKeyMaterial~f:PublicKeyMaterial.to_value));("fingerprint",(Option.mapx.fingerprint~f:PublicKeyFingerprint.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")inletfingerprint=(Option.map~f:PublicKeyFingerprint.of_xml)(Xml.childxml_arg0"fingerprint")inletpublicKeyMaterial=(Option.map~f:PublicKeyMaterial.of_xml)(Xml.childxml_arg0"publicKeyMaterial")inletname=(Option.map~f:PublicKeyName.of_xml)(Xml.childxml_arg0"name")inletarn=(Option.map~f:PublicKeyArn.of_xml)(Xml.childxml_arg0"arn")inmake?tags?fingerprint?publicKeyMaterial?name?arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"tags"Tags.of_jsoninletfingerprint=field_mapjson__"fingerprint"PublicKeyFingerprint.of_jsoninletpublicKeyMaterial=field_mapjson__"publicKeyMaterial"PublicKeyMaterial.of_jsoninletname=field_mapjson__"name"PublicKeyName.of_jsoninletarn=field_mapjson__"arn"PublicKeyArn.of_jsoninmake?tags?fingerprint?publicKeyMaterial?name?arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Object specifying a public key used to sign stage participant tokens."]moduleStorageConfiguration=structtypenonrect={arn:StorageConfigurationArn.toption[@ocaml.doc"ARN of the storage configuration."];name:StorageConfigurationName.toption[@ocaml.doc"Name of the storage configuration."];s3:S3StorageConfiguration.toption[@ocaml.doc"An S3 destination configuration where recorded videos will be stored."];tags:Tags.toption[@ocaml.doc"Tags attached to the resource. Array of maps, each of the form string:string (key:value). See Best practices and strategies in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there."]}letmake?arn=fun?name->fun?s3->fun?tags->fun()->{arn;name;s3;tags}letto_valuex=structure_to_value[("arn",(Option.mapx.arn~f:StorageConfigurationArn.to_value));("name",(Option.mapx.name~f:StorageConfigurationName.to_value));("s3",(Option.mapx.s3~f:S3StorageConfiguration.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")inlets3=(Option.map~f:S3StorageConfiguration.of_xml)(Xml.childxml_arg0"s3")inletname=(Option.map~f:StorageConfigurationName.of_xml)(Xml.childxml_arg0"name")inletarn=(Option.map~f:StorageConfigurationArn.of_xml)(Xml.childxml_arg0"arn")inmake?tags?s3?name?arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"tags"Tags.of_jsoninlets3=field_mapjson__"s3"S3StorageConfiguration.of_jsoninletname=field_mapjson__"name"StorageConfigurationName.of_jsoninletarn=field_mapjson__"arn"StorageConfigurationArn.of_jsoninmake?tags?s3?name?arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A complex type that describes a location where recorded videos will be stored."]moduleStageSession=structtypenonrect={sessionId:StageSessionId.toption[@ocaml.doc"ID of the session within the stage."];startTime:Time.toption[@ocaml.doc"ISO 8601 timestamp (returned as a string) when this stage session began."];endTime:Time.toption[@ocaml.doc"ISO 8601 timestamp (returned as a string) when the stage session ended. This is null if the stage is active."]}letmake?sessionId=fun?startTime->fun?endTime->fun()->{sessionId;startTime;endTime}letto_valuex=structure_to_value[("sessionId",(Option.mapx.sessionId~f:StageSessionId.to_value));("startTime",(Option.mapx.startTime~f:Time.to_value));("endTime",(Option.mapx.endTime~f:Time.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letendTime=(Option.map~f:Time.of_xml)(Xml.childxml_arg0"endTime")inletstartTime=(Option.map~f:Time.of_xml)(Xml.childxml_arg0"startTime")inletsessionId=(Option.map~f:StageSessionId.of_xml)(Xml.childxml_arg0"sessionId")inmake?endTime?startTime?sessionId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letendTime=field_mapjson__"endTime"Time.of_jsoninletstartTime=field_mapjson__"startTime"Time.of_jsoninletsessionId=field_mapjson__"sessionId"StageSessionId.of_jsoninmake?endTime?startTime?sessionId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A stage session begins when the first participant joins a stage and ends after the last participant leaves the stage. A stage session helps with debugging stages by grouping events and participants into shorter periods of time (i.e., a session), which is helpful when stages are used over long periods of time."]moduleParticipant=structtypenonrect={participantId:ParticipantId.toption[@ocaml.doc"Unique identifier for this participant, assigned by IVS."];userId:UserId.toption[@ocaml.doc"Customer-assigned name to help identify the token; this can be used to link a participant to a user in the customer\226\128\153s own systems. This can be any UTF-8 encoded text. This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information."];state:ParticipantState.toption[@ocaml.doc"Whether the participant is connected to or disconnected from the stage."];firstJoinTime:Time.toption[@ocaml.doc"ISO 8601 timestamp (returned as a string) when the participant first joined the stage session."];attributes:ParticipantAttributes.toption[@ocaml.doc"Application-provided attributes to encode into the token and attach to a stage. Map keys and values can contain UTF-8 encoded text. The maximum length of this field is 1 KB total. This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information."];published:Published.toption[@ocaml.doc"Whether the participant ever published to the stage session."];ispName:ParticipantClientAttribute.toption[@ocaml.doc"The participant\226\128\153s Internet Service Provider."];osName:ParticipantClientAttribute.toption[@ocaml.doc"The participant\226\128\153s operating system."];osVersion:ParticipantClientAttribute.toption[@ocaml.doc"The participant\226\128\153s operating system version."];browserName:ParticipantClientAttribute.toption[@ocaml.doc"The participant\226\128\153s browser."];browserVersion:ParticipantClientAttribute.toption[@ocaml.doc"The participant\226\128\153s browser version."];sdkVersion:ParticipantClientAttribute.toption[@ocaml.doc"The participant\226\128\153s SDK version."];recordingS3BucketName:ParticipantRecordingS3BucketName.toption[@ocaml.doc"Name of the S3 bucket to where the participant is being recorded, if individual participant recording is enabled, or \"\" (empty string), if recording is not enabled."];recordingS3Prefix:ParticipantRecordingS3Prefix.toption[@ocaml.doc"S3 prefix of the S3 bucket where the participant is being recorded, if individual participant recording is enabled, or \"\" (empty string), if recording is not enabled. If individual participant recording merge is enabled, and if a stage publisher disconnects from a stage and then reconnects, IVS tries to record to the same S3 prefix as the previous session. See Merge Fragmented Individual Participant Recordings."];recordingState:ParticipantRecordingState.toption[@ocaml.doc"The participant\226\128\153s recording state."];protocol:ParticipantProtocol.toption[@ocaml.doc"Type of ingest protocol that the participant employs for broadcasting."];replicationType:ReplicationType.toption[@ocaml.doc"Indicates if the participant has been replicated to another stage or is a replica from another stage. Default: NONE."];replicationState:ReplicationState.toption[@ocaml.doc"The participant's replication state."];sourceStageArn:StageArn.toption[@ocaml.doc"Source stage ARN from which this participant is replicated, if replicationType is REPLICA."];sourceSessionId:StageSessionId.toption[@ocaml.doc"ID of the session within the source stage, if replicationType is REPLICA."];redundantIngest:RedundantIngest.toption[@ocaml.doc"Indicates whether redundant ingest is enabled for the participant."];ingestConfigurationArn:IngestConfigurationArn.toption[@ocaml.doc"The participant\226\128\153s ingest configuration."]}letmake?participantId=fun?userId->fun?state->fun?firstJoinTime->fun?attributes->fun?published->fun?ispName->fun?osName->fun?osVersion->fun?browserName->fun?browserVersion->fun?sdkVersion->fun?recordingS3BucketName->fun?recordingS3Prefix->fun?recordingState->fun?protocol->fun?replicationType->fun?replicationState->fun?sourceStageArn->fun?sourceSessionId->fun?redundantIngest->fun?ingestConfigurationArn->fun()->{participantId;userId;state;firstJoinTime;attributes;published;ispName;osName;osVersion;browserName;browserVersion;sdkVersion;recordingS3BucketName;recordingS3Prefix;recordingState;protocol;replicationType;replicationState;sourceStageArn;sourceSessionId;redundantIngest;ingestConfigurationArn}letto_valuex=structure_to_value[("participantId",(Option.mapx.participantId~f:ParticipantId.to_value));("userId",(Option.mapx.userId~f:UserId.to_value));("state",(Option.mapx.state~f:ParticipantState.to_value));("firstJoinTime",(Option.mapx.firstJoinTime~f:Time.to_value));("attributes",(Option.mapx.attributes~f:ParticipantAttributes.to_value));("published",(Option.mapx.published~f:Published.to_value));("ispName",(Option.mapx.ispName~f:ParticipantClientAttribute.to_value));("osName",(Option.mapx.osName~f:ParticipantClientAttribute.to_value));("osVersion",(Option.mapx.osVersion~f:ParticipantClientAttribute.to_value));("browserName",(Option.mapx.browserName~f:ParticipantClientAttribute.to_value));("browserVersion",(Option.mapx.browserVersion~f:ParticipantClientAttribute.to_value));("sdkVersion",(Option.mapx.sdkVersion~f:ParticipantClientAttribute.to_value));("recordingS3BucketName",(Option.mapx.recordingS3BucketName~f:ParticipantRecordingS3BucketName.to_value));("recordingS3Prefix",(Option.mapx.recordingS3Prefix~f:ParticipantRecordingS3Prefix.to_value));("recordingState",(Option.mapx.recordingState~f:ParticipantRecordingState.to_value));("protocol",(Option.mapx.protocol~f:ParticipantProtocol.to_value));("replicationType",(Option.mapx.replicationType~f:ReplicationType.to_value));("replicationState",(Option.mapx.replicationState~f:ReplicationState.to_value));("sourceStageArn",(Option.mapx.sourceStageArn~f:StageArn.to_value));("sourceSessionId",(Option.mapx.sourceSessionId~f:StageSessionId.to_value));("redundantIngest",(Option.mapx.redundantIngest~f:RedundantIngest.to_value));("ingestConfigurationArn",(Option.mapx.ingestConfigurationArn~f:IngestConfigurationArn.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letingestConfigurationArn=(Option.map~f:IngestConfigurationArn.of_xml)(Xml.childxml_arg0"ingestConfigurationArn")inletredundantIngest=(Option.map~f:RedundantIngest.of_xml)(Xml.childxml_arg0"redundantIngest")inletsourceSessionId=(Option.map~f:StageSessionId.of_xml)(Xml.childxml_arg0"sourceSessionId")inletsourceStageArn=(Option.map~f:StageArn.of_xml)(Xml.childxml_arg0"sourceStageArn")inletreplicationState=(Option.map~f:ReplicationState.of_xml)(Xml.childxml_arg0"replicationState")inletreplicationType=(Option.map~f:ReplicationType.of_xml)(Xml.childxml_arg0"replicationType")inletprotocol=(Option.map~f:ParticipantProtocol.of_xml)(Xml.childxml_arg0"protocol")inletrecordingState=(Option.map~f:ParticipantRecordingState.of_xml)(Xml.childxml_arg0"recordingState")inletrecordingS3Prefix=(Option.map~f:ParticipantRecordingS3Prefix.of_xml)(Xml.childxml_arg0"recordingS3Prefix")inletrecordingS3BucketName=(Option.map~f:ParticipantRecordingS3BucketName.of_xml)(Xml.childxml_arg0"recordingS3BucketName")inletsdkVersion=(Option.map~f:ParticipantClientAttribute.of_xml)(Xml.childxml_arg0"sdkVersion")inletbrowserVersion=(Option.map~f:ParticipantClientAttribute.of_xml)(Xml.childxml_arg0"browserVersion")inletbrowserName=(Option.map~f:ParticipantClientAttribute.of_xml)(Xml.childxml_arg0"browserName")inletosVersion=(Option.map~f:ParticipantClientAttribute.of_xml)(Xml.childxml_arg0"osVersion")inletosName=(Option.map~f:ParticipantClientAttribute.of_xml)(Xml.childxml_arg0"osName")inletispName=(Option.map~f:ParticipantClientAttribute.of_xml)(Xml.childxml_arg0"ispName")inletpublished=(Option.map~f:Published.of_xml)(Xml.childxml_arg0"published")inletattributes=(Option.map~f:ParticipantAttributes.of_xml)(Xml.childxml_arg0"attributes")inletfirstJoinTime=(Option.map~f:Time.of_xml)(Xml.childxml_arg0"firstJoinTime")inletstate=(Option.map~f:ParticipantState.of_xml)(Xml.childxml_arg0"state")inletuserId=(Option.map~f:UserId.of_xml)(Xml.childxml_arg0"userId")inletparticipantId=(Option.map~f:ParticipantId.of_xml)(Xml.childxml_arg0"participantId")inmake?ingestConfigurationArn?redundantIngest?sourceSessionId?sourceStageArn?replicationState?replicationType?protocol?recordingState?recordingS3Prefix?recordingS3BucketName?sdkVersion?browserVersion?browserName?osVersion?osName?ispName?published?attributes?firstJoinTime?state?userId?participantId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letingestConfigurationArn=field_mapjson__"ingestConfigurationArn"IngestConfigurationArn.of_jsoninletredundantIngest=field_mapjson__"redundantIngest"RedundantIngest.of_jsoninletsourceSessionId=field_mapjson__"sourceSessionId"StageSessionId.of_jsoninletsourceStageArn=field_mapjson__"sourceStageArn"StageArn.of_jsoninletreplicationState=field_mapjson__"replicationState"ReplicationState.of_jsoninletreplicationType=field_mapjson__"replicationType"ReplicationType.of_jsoninletprotocol=field_mapjson__"protocol"ParticipantProtocol.of_jsoninletrecordingState=field_mapjson__"recordingState"ParticipantRecordingState.of_jsoninletrecordingS3Prefix=field_mapjson__"recordingS3Prefix"ParticipantRecordingS3Prefix.of_jsoninletrecordingS3BucketName=field_mapjson__"recordingS3BucketName"ParticipantRecordingS3BucketName.of_jsoninletsdkVersion=field_mapjson__"sdkVersion"ParticipantClientAttribute.of_jsoninletbrowserVersion=field_mapjson__"browserVersion"ParticipantClientAttribute.of_jsoninletbrowserName=field_mapjson__"browserName"ParticipantClientAttribute.of_jsoninletosVersion=field_mapjson__"osVersion"ParticipantClientAttribute.of_jsoninletosName=field_mapjson__"osName"ParticipantClientAttribute.of_jsoninletispName=field_mapjson__"ispName"ParticipantClientAttribute.of_jsoninletpublished=field_mapjson__"published"Published.of_jsoninletattributes=field_mapjson__"attributes"ParticipantAttributes.of_jsoninletfirstJoinTime=field_mapjson__"firstJoinTime"Time.of_jsoninletstate=field_mapjson__"state"ParticipantState.of_jsoninletuserId=field_mapjson__"userId"UserId.of_jsoninletparticipantId=field_mapjson__"participantId"ParticipantId.of_jsoninmake?ingestConfigurationArn?redundantIngest?sourceSessionId?sourceStageArn?replicationState?replicationType?protocol?recordingState?recordingS3Prefix?recordingS3BucketName?sdkVersion?browserVersion?browserName?osVersion?osName?ispName?published?attributes?firstJoinTime?state?userId?participantId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Object describing a participant that has joined a stage."]moduleEncoderConfiguration=structtypenonrect={arn:EncoderConfigurationArn.toption[@ocaml.doc"ARN of the EncoderConfiguration resource."];name:EncoderConfigurationName.toption[@ocaml.doc"Optional name to identify the resource."];video:Video.toption[@ocaml.doc"Video configuration. Default: video resolution 1280x720, bitrate 2500 kbps, 30 fps"];tags:Tags.toption[@ocaml.doc"Tags attached to the resource. Array of maps, each of the form string:string (key:value). See Best practices and strategies in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there."]}letmake?arn=fun?name->fun?video->fun?tags->fun()->{arn;name;video;tags}letto_valuex=structure_to_value[("arn",(Option.mapx.arn~f:EncoderConfigurationArn.to_value));("name",(Option.mapx.name~f:EncoderConfigurationName.to_value));("video",(Option.mapx.video~f:Video.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")inletvideo=(Option.map~f:Video.of_xml)(Xml.childxml_arg0"video")inletname=(Option.map~f:EncoderConfigurationName.of_xml)(Xml.childxml_arg0"name")inletarn=(Option.map~f:EncoderConfigurationArn.of_xml)(Xml.childxml_arg0"arn")inmake?tags?video?name?arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"tags"Tags.of_jsoninletvideo=field_mapjson__"video"Video.of_jsoninletname=field_mapjson__"name"EncoderConfigurationName.of_jsoninletarn=field_mapjson__"arn"EncoderConfigurationArn.of_jsoninmake?tags?video?name?arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Settings for transcoding."]moduleDisconnectParticipantReason=structtypenonrect=stringletcontext_="DisconnectParticipantReason"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:128)>>=(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:"DisconnectParticipantReason"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_valueendmoduleParticipantTokenList=structtypenonrect=ParticipantToken.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ParticipantToken.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:ParticipantToken.of_xml)letof_jsonj=list_of_json~kind:"ParticipantTokenList"~of_json:ParticipantToken.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleParticipantTokenConfigurations=structtypenonrect=ParticipantTokenConfiguration.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:12)>>=(fun()->check_list_mini~min:0));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ParticipantTokenConfiguration.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:ParticipantTokenConfiguration.of_xml)letof_jsonj=list_of_json~kind:"ParticipantTokenConfigurations"~of_json:ParticipantTokenConfiguration.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleInsecureIngest=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_valueendmoduleUpdateStageResponse=structtypenonrect={stage:Stage.toption[@ocaml.doc"The updated stage."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`PendingVerificationofPendingVerification.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?stage=fun()->{stage}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"PendingVerification"->`PendingVerification(PendingVerification.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"PendingVerification"->`PendingVerification(PendingVerification.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`PendingVerificatione->`Assoc[("error",(`String"PendingVerification"));("details",(PendingVerification.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("stage",(Option.mapx.stage~f:Stage.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstage=(Option.map~f:Stage.of_xml)(Xml.childxml_arg0"stage")inmake?stage()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstage=field_mapjson__"stage"Stage.of_jsoninmake?stage()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates a stage\226\128\153s configuration."]moduleUpdateStageRequest=structtypenonrect={arn:StageArn.t[@ocaml.doc"ARN of the stage to be updated."];name:StageName.toption[@ocaml.doc"Name of the stage to be updated."];autoParticipantRecordingConfiguration:AutoParticipantRecordingConfiguration.toption[@ocaml.doc"Configuration object for individual participant recording, to attach to the stage. Note that this cannot be updated while recording is active."]}letcontext_="UpdateStageRequest"letmake?name=fun?autoParticipantRecordingConfiguration->fun~arn->fun()->{name;autoParticipantRecordingConfiguration;arn}letto_valuex=structure_to_value[("arn",(Some(StageArn.to_valuex.arn)));("name",(Option.mapx.name~f:StageName.to_value));("autoParticipantRecordingConfiguration",(Option.mapx.autoParticipantRecordingConfiguration~f:AutoParticipantRecordingConfiguration.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letautoParticipantRecordingConfiguration=(Option.map~f:AutoParticipantRecordingConfiguration.of_xml)(Xml.childxml_arg0"autoParticipantRecordingConfiguration")inletname=(Option.map~f:StageName.of_xml)(Xml.childxml_arg0"name")inletarn=StageArn.of_xml(Xml.child_exn~context:context_xml_arg0"arn")inmake?autoParticipantRecordingConfiguration?name~arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letautoParticipantRecordingConfiguration=field_mapjson__"autoParticipantRecordingConfiguration"AutoParticipantRecordingConfiguration.of_jsoninletname=field_mapjson__"name"StageName.of_jsoninletarn=field_map_exnjson__"arn"StageArn.of_jsoninmake?autoParticipantRecordingConfiguration?name~arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates a stage\226\128\153s configuration."]moduleUpdateIngestConfigurationResponse=structtypenonrect={ingestConfiguration:IngestConfiguration.toption[@ocaml.doc"The updated IngestConfiguration."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`PendingVerificationofPendingVerification.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?ingestConfiguration=fun()->{ingestConfiguration}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"PendingVerification"->`PendingVerification(PendingVerification.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"PendingVerification"->`PendingVerification(PendingVerification.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`PendingVerificatione->`Assoc[("error",(`String"PendingVerification"));("details",(PendingVerification.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("ingestConfiguration",(Option.mapx.ingestConfiguration~f:IngestConfiguration.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letingestConfiguration=(Option.map~f:IngestConfiguration.of_xml)(Xml.childxml_arg0"ingestConfiguration")inmake?ingestConfiguration()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letingestConfiguration=field_mapjson__"ingestConfiguration"IngestConfiguration.of_jsoninmake?ingestConfiguration()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates a specified IngestConfiguration. Only the stage ARN attached to the IngestConfiguration can be updated. An IngestConfiguration that is active cannot be updated."]moduleUpdateIngestConfigurationRequest=structtypenonrect={arn:IngestConfigurationArn.t[@ocaml.doc"ARN of the IngestConfiguration, for which the related stage ARN needs to be updated."];stageArn:IngestConfigurationStageArn.toption[@ocaml.doc"Stage ARN that needs to be updated."];redundantIngest:RedundantIngest.toption[@ocaml.doc"Indicates whether redundant ingest is enabled for the ingest configuration. Default: false."]}letcontext_="UpdateIngestConfigurationRequest"letmake?stageArn=fun?redundantIngest->fun~arn->fun()->{stageArn;redundantIngest;arn}letto_valuex=structure_to_value[("arn",(Some(IngestConfigurationArn.to_valuex.arn)));("stageArn",(Option.mapx.stageArn~f:IngestConfigurationStageArn.to_value));("redundantIngest",(Option.mapx.redundantIngest~f:RedundantIngest.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letredundantIngest=(Option.map~f:RedundantIngest.of_xml)(Xml.childxml_arg0"redundantIngest")inletstageArn=(Option.map~f:IngestConfigurationStageArn.of_xml)(Xml.childxml_arg0"stageArn")inletarn=IngestConfigurationArn.of_xml(Xml.child_exn~context:context_xml_arg0"arn")inmake?redundantIngest?stageArn~arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letredundantIngest=field_mapjson__"redundantIngest"RedundantIngest.of_jsoninletstageArn=field_mapjson__"stageArn"IngestConfigurationStageArn.of_jsoninletarn=field_map_exnjson__"arn"IngestConfigurationArn.of_jsoninmake?redundantIngest?stageArn~arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates a specified IngestConfiguration. Only the stage ARN attached to the IngestConfiguration can be updated. An IngestConfiguration that is active cannot be updated."]moduleUntagResourceResponse=structtypenonrect=unittypenonrecerror=[`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Removes tags from the resource with the specified ARN."]moduleUntagResourceRequest=structtypenonrect={resourceArn:ResourceArn.t[@ocaml.doc"The ARN of the resource to be untagged. The ARN must be URL-encoded."];tagKeys:TagKeyList.t[@ocaml.doc"Array of tag keys (strings) for the tags to be removed. See Best practices and strategies in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there."]}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 tags from the resource with the specified ARN."]moduleTagResourceResponse=structtypenonrect=unittypenonrecerror=[`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Adds or updates tags for the AWS resource with the specified ARN."]moduleTagResourceRequest=structtypenonrect={resourceArn:ResourceArn.t[@ocaml.doc"The ARN of the resource to be tagged. The ARN must be URL-encoded."];tags:Tags.t[@ocaml.doc"Array of tags to be added or updated. Array of maps, each of the form string:string (key:value). See Best practices and strategies in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there."]}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"Adds or updates tags for the AWS resource with the specified ARN."]moduleStopParticipantReplicationResponse=structtypenonrect={accessControlAllowOrigin:String_.toption[@ocaml.doc"See Access-Control-Allow-Origin in the MDN Web Docs."];accessControlExposeHeaders:String_.toption[@ocaml.doc"See Access-Control-Expose-Headers in the MDN Web Docs."];cacheControl:String_.toption[@ocaml.doc"See Cache-Control in the MDN Web Docs."];contentSecurityPolicy:String_.toption[@ocaml.doc"See Content-Security-Policy in the MDN Web Docs."];strictTransportSecurity:String_.toption[@ocaml.doc"See Strict-Transport-Security in the MDN Web Docs."];xContentTypeOptions:String_.toption[@ocaml.doc"See X-Content-Type-Options in the MDN Web Docs."];xFrameOptions:String_.toption[@ocaml.doc"See X-Frame-Options in the MDN Web Docs."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?accessControlAllowOrigin=fun?accessControlExposeHeaders->fun?cacheControl->fun?contentSecurityPolicy->fun?strictTransportSecurity->fun?xContentTypeOptions->fun?xFrameOptions->fun()->{accessControlAllowOrigin;accessControlExposeHeaders;cacheControl;contentSecurityPolicy;strictTransportSecurity;xContentTypeOptions;xFrameOptions}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letof_header_and_body=((fun(xs,pipe)->make?accessControlAllowOrigin:(Option.map((List.Assoc.find~equal:String.Caseless.equal)xs"Access-Control-Allow-Origin")~f:String_.of_string)?accessControlExposeHeaders:(Option.map((List.Assoc.find~equal:String.Caseless.equal)xs"Access-Control-Expose-Headers")~f:String_.of_string)?cacheControl:(Option.map((List.Assoc.find~equal:String.Caseless.equal)xs"Cache-Control")~f:String_.of_string)?contentSecurityPolicy:(Option.map((List.Assoc.find~equal:String.Caseless.equal)xs"Content-Security-Policy")~f:String_.of_string)?strictTransportSecurity:(Option.map((List.Assoc.find~equal:String.Caseless.equal)xs"Strict-Transport-Security")~f:String_.of_string)?xContentTypeOptions:(Option.map((List.Assoc.find~equal:String.Caseless.equal)xs"X-Content-Type-Options")~f:String_.of_string)?xFrameOptions:(Option.map((List.Assoc.find~equal:String.Caseless.equal)xs"X-Frame-Options")~f:String_.of_string)())[@warning"-27"])letto_valuex=structure_to_value[("Access-Control-Allow-Origin",(Option.mapx.accessControlAllowOrigin~f:String_.to_value));("Access-Control-Expose-Headers",(Option.mapx.accessControlExposeHeaders~f:String_.to_value));("Cache-Control",(Option.mapx.cacheControl~f:String_.to_value));("Content-Security-Policy",(Option.mapx.contentSecurityPolicy~f:String_.to_value));("Strict-Transport-Security",(Option.mapx.strictTransportSecurity~f:String_.to_value));("X-Content-Type-Options",(Option.mapx.xContentTypeOptions~f:String_.to_value));("X-Frame-Options",(Option.mapx.xFrameOptions~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letxFrameOptions=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"X-Frame-Options")inletxContentTypeOptions=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"X-Content-Type-Options")inletstrictTransportSecurity=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Strict-Transport-Security")inletcontentSecurityPolicy=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Content-Security-Policy")inletcacheControl=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Cache-Control")inletaccessControlExposeHeaders=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Access-Control-Expose-Headers")inletaccessControlAllowOrigin=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Access-Control-Allow-Origin")inmake?xFrameOptions?xContentTypeOptions?strictTransportSecurity?contentSecurityPolicy?cacheControl?accessControlExposeHeaders?accessControlAllowOrigin()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letxFrameOptions=field_mapjson__"xFrameOptions"String_.of_jsoninletxContentTypeOptions=field_mapjson__"xContentTypeOptions"String_.of_jsoninletstrictTransportSecurity=field_mapjson__"strictTransportSecurity"String_.of_jsoninletcontentSecurityPolicy=field_mapjson__"contentSecurityPolicy"String_.of_jsoninletcacheControl=field_mapjson__"cacheControl"String_.of_jsoninletaccessControlExposeHeaders=field_mapjson__"accessControlExposeHeaders"String_.of_jsoninletaccessControlAllowOrigin=field_mapjson__"accessControlAllowOrigin"String_.of_jsoninmake?xFrameOptions?xContentTypeOptions?strictTransportSecurity?contentSecurityPolicy?cacheControl?accessControlExposeHeaders?accessControlAllowOrigin()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Stops a replicated participant session."]moduleStopParticipantReplicationRequest=structtypenonrect={sourceStageArn:StageArn.t[@ocaml.doc"ARN of the stage where the participant is publishing."];destinationStageArn:StageArn.t[@ocaml.doc"ARN of the stage where the participant has been replicated."];participantId:ParticipantId.t[@ocaml.doc"Participant ID of the publisher that has been replicated. This is assigned by IVS and returned by CreateParticipantToken or the jti (JWT ID) used to create a self signed token."]}letcontext_="StopParticipantReplicationRequest"letmake~sourceStageArn=fun~destinationStageArn->fun~participantId->fun()->{sourceStageArn;destinationStageArn;participantId}letto_valuex=structure_to_value[("sourceStageArn",(Some(StageArn.to_valuex.sourceStageArn)));("destinationStageArn",(Some(StageArn.to_valuex.destinationStageArn)));("participantId",(Some(ParticipantId.to_valuex.participantId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letparticipantId=ParticipantId.of_xml(Xml.child_exn~context:context_xml_arg0"participantId")inletdestinationStageArn=StageArn.of_xml(Xml.child_exn~context:context_xml_arg0"destinationStageArn")inletsourceStageArn=StageArn.of_xml(Xml.child_exn~context:context_xml_arg0"sourceStageArn")inmake~participantId~destinationStageArn~sourceStageArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letparticipantId=field_map_exnjson__"participantId"ParticipantId.of_jsoninletdestinationStageArn=field_map_exnjson__"destinationStageArn"StageArn.of_jsoninletsourceStageArn=field_map_exnjson__"sourceStageArn"StageArn.of_jsoninmake~participantId~destinationStageArn~sourceStageArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Stops a replicated participant session."]moduleStopCompositionResponse=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Stops and deletes a Composition resource. Any broadcast from the Composition resource is stopped."]moduleStopCompositionRequest=structtypenonrect={arn:CompositionArn.t[@ocaml.doc"ARN of the Composition."]}letcontext_="StopCompositionRequest"letmake~arn=fun()->{arn}letto_valuex=structure_to_value[("arn",(Some(CompositionArn.to_valuex.arn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letarn=CompositionArn.of_xml(Xml.child_exn~context:context_xml_arg0"arn")inmake~arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letarn=field_map_exnjson__"arn"CompositionArn.of_jsoninmake~arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Stops and deletes a Composition resource. Any broadcast from the Composition resource is stopped."]moduleStartParticipantReplicationResponse=structtypenonrect={accessControlAllowOrigin:String_.toption[@ocaml.doc"See Access-Control-Allow-Origin in the MDN Web Docs."];accessControlExposeHeaders:String_.toption[@ocaml.doc"See Access-Control-Expose-Headers in the MDN Web Docs."];cacheControl:String_.toption[@ocaml.doc"See Cache-Control in the MDN Web Docs."];contentSecurityPolicy:String_.toption[@ocaml.doc"See Content-Security-Policy in the MDN Web Docs."];strictTransportSecurity:String_.toption[@ocaml.doc"See Strict-Transport-Security in the MDN Web Docs."];xContentTypeOptions:String_.toption[@ocaml.doc"See X-Content-Type-Options in the MDN Web Docs."];xFrameOptions:String_.toption[@ocaml.doc"See X-Frame-Options in the MDN Web Docs."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`PendingVerificationofPendingVerification.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?accessControlAllowOrigin=fun?accessControlExposeHeaders->fun?cacheControl->fun?contentSecurityPolicy->fun?strictTransportSecurity->fun?xContentTypeOptions->fun?xFrameOptions->fun()->{accessControlAllowOrigin;accessControlExposeHeaders;cacheControl;contentSecurityPolicy;strictTransportSecurity;xContentTypeOptions;xFrameOptions}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"PendingVerification"->`PendingVerification(PendingVerification.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"PendingVerification"->`PendingVerification(PendingVerification.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`PendingVerificatione->`Assoc[("error",(`String"PendingVerification"));("details",(PendingVerification.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letof_header_and_body=((fun(xs,pipe)->make?accessControlAllowOrigin:(Option.map((List.Assoc.find~equal:String.Caseless.equal)xs"Access-Control-Allow-Origin")~f:String_.of_string)?accessControlExposeHeaders:(Option.map((List.Assoc.find~equal:String.Caseless.equal)xs"Access-Control-Expose-Headers")~f:String_.of_string)?cacheControl:(Option.map((List.Assoc.find~equal:String.Caseless.equal)xs"Cache-Control")~f:String_.of_string)?contentSecurityPolicy:(Option.map((List.Assoc.find~equal:String.Caseless.equal)xs"Content-Security-Policy")~f:String_.of_string)?strictTransportSecurity:(Option.map((List.Assoc.find~equal:String.Caseless.equal)xs"Strict-Transport-Security")~f:String_.of_string)?xContentTypeOptions:(Option.map((List.Assoc.find~equal:String.Caseless.equal)xs"X-Content-Type-Options")~f:String_.of_string)?xFrameOptions:(Option.map((List.Assoc.find~equal:String.Caseless.equal)xs"X-Frame-Options")~f:String_.of_string)())[@warning"-27"])letto_valuex=structure_to_value[("Access-Control-Allow-Origin",(Option.mapx.accessControlAllowOrigin~f:String_.to_value));("Access-Control-Expose-Headers",(Option.mapx.accessControlExposeHeaders~f:String_.to_value));("Cache-Control",(Option.mapx.cacheControl~f:String_.to_value));("Content-Security-Policy",(Option.mapx.contentSecurityPolicy~f:String_.to_value));("Strict-Transport-Security",(Option.mapx.strictTransportSecurity~f:String_.to_value));("X-Content-Type-Options",(Option.mapx.xContentTypeOptions~f:String_.to_value));("X-Frame-Options",(Option.mapx.xFrameOptions~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letxFrameOptions=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"X-Frame-Options")inletxContentTypeOptions=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"X-Content-Type-Options")inletstrictTransportSecurity=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Strict-Transport-Security")inletcontentSecurityPolicy=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Content-Security-Policy")inletcacheControl=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Cache-Control")inletaccessControlExposeHeaders=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Access-Control-Expose-Headers")inletaccessControlAllowOrigin=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Access-Control-Allow-Origin")inmake?xFrameOptions?xContentTypeOptions?strictTransportSecurity?contentSecurityPolicy?cacheControl?accessControlExposeHeaders?accessControlAllowOrigin()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letxFrameOptions=field_mapjson__"xFrameOptions"String_.of_jsoninletxContentTypeOptions=field_mapjson__"xContentTypeOptions"String_.of_jsoninletstrictTransportSecurity=field_mapjson__"strictTransportSecurity"String_.of_jsoninletcontentSecurityPolicy=field_mapjson__"contentSecurityPolicy"String_.of_jsoninletcacheControl=field_mapjson__"cacheControl"String_.of_jsoninletaccessControlExposeHeaders=field_mapjson__"accessControlExposeHeaders"String_.of_jsoninletaccessControlAllowOrigin=field_mapjson__"accessControlAllowOrigin"String_.of_jsoninmake?xFrameOptions?xContentTypeOptions?strictTransportSecurity?contentSecurityPolicy?cacheControl?accessControlExposeHeaders?accessControlAllowOrigin()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Starts replicating a publishing participant from a source stage to a destination stage."]moduleStartParticipantReplicationRequest=structtypenonrect={sourceStageArn:StageArn.t[@ocaml.doc"ARN of the stage where the participant is publishing."];destinationStageArn:StageArn.t[@ocaml.doc"ARN of the stage to which the participant will be replicated."];participantId:ParticipantId.t[@ocaml.doc"Participant ID of the publisher that will be replicated. This is assigned by IVS and returned by CreateParticipantToken or the jti (JWT ID) used to create a self signed token."];reconnectWindowSeconds:ReconnectWindowSeconds.toption[@ocaml.doc"If the participant disconnects and then reconnects within the specified interval, replication will continue to be ACTIVE. Default: 0."];attributes:ParticipantAttributes.toption[@ocaml.doc"Application-provided attributes to set on the replicated participant in the destination stage. Map keys and values can contain UTF-8 encoded text. The maximum length of this field is 1 KB total. This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information. These attributes are merged with any attributes set for this participant when creating the token. If there is overlap in keys, the values in these attributes are replaced."]}letcontext_="StartParticipantReplicationRequest"letmake?reconnectWindowSeconds=fun?attributes->fun~sourceStageArn->fun~destinationStageArn->fun~participantId->fun()->{reconnectWindowSeconds;attributes;sourceStageArn;destinationStageArn;participantId}letto_valuex=structure_to_value[("sourceStageArn",(Some(StageArn.to_valuex.sourceStageArn)));("destinationStageArn",(Some(StageArn.to_valuex.destinationStageArn)));("participantId",(Some(ParticipantId.to_valuex.participantId)));("reconnectWindowSeconds",(Option.mapx.reconnectWindowSeconds~f:ReconnectWindowSeconds.to_value));("attributes",(Option.mapx.attributes~f:ParticipantAttributes.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letattributes=(Option.map~f:ParticipantAttributes.of_xml)(Xml.childxml_arg0"attributes")inletreconnectWindowSeconds=(Option.map~f:ReconnectWindowSeconds.of_xml)(Xml.childxml_arg0"reconnectWindowSeconds")inletparticipantId=ParticipantId.of_xml(Xml.child_exn~context:context_xml_arg0"participantId")inletdestinationStageArn=StageArn.of_xml(Xml.child_exn~context:context_xml_arg0"destinationStageArn")inletsourceStageArn=StageArn.of_xml(Xml.child_exn~context:context_xml_arg0"sourceStageArn")inmake?attributes?reconnectWindowSeconds~participantId~destinationStageArn~sourceStageArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letattributes=field_mapjson__"attributes"ParticipantAttributes.of_jsoninletreconnectWindowSeconds=field_mapjson__"reconnectWindowSeconds"ReconnectWindowSeconds.of_jsoninletparticipantId=field_map_exnjson__"participantId"ParticipantId.of_jsoninletdestinationStageArn=field_map_exnjson__"destinationStageArn"StageArn.of_jsoninletsourceStageArn=field_map_exnjson__"sourceStageArn"StageArn.of_jsoninmake?attributes?reconnectWindowSeconds~participantId~destinationStageArn~sourceStageArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Starts replicating a publishing participant from a source stage to a destination stage."]moduleStartCompositionResponse=structtypenonrect={composition:Composition.toption[@ocaml.doc"The Composition that was created."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`PendingVerificationofPendingVerification.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?composition=fun()->{composition}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"PendingVerification"->`PendingVerification(PendingVerification.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"PendingVerification"->`PendingVerification(PendingVerification.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`PendingVerificatione->`Assoc[("error",(`String"PendingVerification"));("details",(PendingVerification.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("composition",(Option.mapx.composition~f:Composition.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcomposition=(Option.map~f:Composition.of_xml)(Xml.childxml_arg0"composition")inmake?composition()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcomposition=field_mapjson__"composition"Composition.of_jsoninmake?composition()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Starts a Composition from a stage based on the configuration provided in the request. A Composition is an ephemeral resource that exists after this operation returns successfully. Composition stops and the resource is deleted: When StopComposition is called. After a 1-minute timeout, when all participants are disconnected from the stage. After a 1-minute timeout, if there are no participants in the stage when StartComposition is called. When broadcasting to the IVS channel fails and all retries are exhausted. When broadcasting is disconnected and all attempts to reconnect are exhausted."]moduleStartCompositionRequest=structtypenonrect={stageArn:StageArn.t[@ocaml.doc"ARN of the stage to be used for compositing."];idempotencyToken:CompositionClientToken.toption[@ocaml.doc"Idempotency token."];layout:LayoutConfiguration.toption[@ocaml.doc"Layout object to configure composition parameters."];destinations:DestinationConfigurationList.t[@ocaml.doc"Array of destination configuration."];tags:Tags.toption[@ocaml.doc"Tags attached to the resource. Array of maps, each of the form string:string (key:value). See Best practices and strategies in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there."]}letcontext_="StartCompositionRequest"letmake?idempotencyToken=fun?layout->fun?tags->fun~stageArn->fun~destinations->fun()->{idempotencyToken;layout;tags;stageArn;destinations}letto_valuex=structure_to_value[("stageArn",(Some(StageArn.to_valuex.stageArn)));("idempotencyToken",(Option.mapx.idempotencyToken~f:CompositionClientToken.to_value));("layout",(Option.mapx.layout~f:LayoutConfiguration.to_value));("destinations",(Some(DestinationConfigurationList.to_valuex.destinations)));("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")inletdestinations=DestinationConfigurationList.of_xml(Xml.child_exn~context:context_xml_arg0"destinations")inletlayout=(Option.map~f:LayoutConfiguration.of_xml)(Xml.childxml_arg0"layout")inletidempotencyToken=(Option.map~f:CompositionClientToken.of_xml)(Xml.childxml_arg0"idempotencyToken")inletstageArn=StageArn.of_xml(Xml.child_exn~context:context_xml_arg0"stageArn")inmake?tags~destinations?layout?idempotencyToken~stageArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"tags"Tags.of_jsoninletdestinations=field_map_exnjson__"destinations"DestinationConfigurationList.of_jsoninletlayout=field_mapjson__"layout"LayoutConfiguration.of_jsoninletidempotencyToken=field_mapjson__"idempotencyToken"CompositionClientToken.of_jsoninletstageArn=field_map_exnjson__"stageArn"StageArn.of_jsoninmake?tags~destinations?layout?idempotencyToken~stageArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Starts a Composition from a stage based on the configuration provided in the request. A Composition is an ephemeral resource that exists after this operation returns successfully. Composition stops and the resource is deleted: When StopComposition is called. After a 1-minute timeout, when all participants are disconnected from the stage. After a 1-minute timeout, if there are no participants in the stage when StartComposition is called. When broadcasting to the IVS channel fails and all retries are exhausted. When broadcasting is disconnected and all attempts to reconnect are exhausted."]moduleListTagsForResourceResponse=structtypenonrect={tags:Tags.toption[@ocaml.doc"Tags attached to the resource. Array of maps, each of the form string:string (key:value)."]}typenonrecerror=[`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?tags=fun()->{tags}leterror_of_jsonnamejson=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("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"Gets information about AWS tags for the specified ARN."]moduleListTagsForResourceRequest=structtypenonrect={resourceArn:ResourceArn.t[@ocaml.doc"The ARN of the resource to be retrieved. The ARN must be URL-encoded."]}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"Gets information about AWS tags for the specified ARN."]moduleListStorageConfigurationsResponse=structtypenonrect={storageConfigurations:StorageConfigurationSummaryList.toption[@ocaml.doc"List of the matching storage configurations."];nextToken:PaginationToken.toption[@ocaml.doc"If there are more storage configurations than maxResults, use nextToken in the request to get the next set."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?storageConfigurations=fun?nextToken->fun()->{storageConfigurations;nextToken}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("storageConfigurations",(Option.mapx.storageConfigurations~f:StorageConfigurationSummaryList.to_value));("nextToken",(Option.mapx.nextToken~f:PaginationToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:PaginationToken.of_xml)(Xml.childxml_arg0"nextToken")inletstorageConfigurations=(Option.map~f:StorageConfigurationSummaryList.of_xml)(Xml.childxml_arg0"storageConfigurations")inmake?nextToken?storageConfigurations()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"PaginationToken.of_jsoninletstorageConfigurations=field_mapjson__"storageConfigurations"StorageConfigurationSummaryList.of_jsoninmake?nextToken?storageConfigurations()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets summary information about all storage configurations in your account, in the AWS region where the API request is processed."]moduleListStorageConfigurationsRequest=structtypenonrect={nextToken:PaginationToken.toption[@ocaml.doc"The first storage configuration to retrieve. This is used for pagination; see the nextToken response field."];maxResults:MaxStorageConfigurationResults.toption[@ocaml.doc"Maximum number of storage configurations to return. Default: your service quota or 100, whichever is smaller."]}letmake?nextToken=fun?maxResults->fun()->{nextToken;maxResults}letto_valuex=structure_to_value[("nextToken",(Option.mapx.nextToken~f:PaginationToken.to_value));("maxResults",(Option.mapx.maxResults~f:MaxStorageConfigurationResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:MaxStorageConfigurationResults.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:PaginationToken.of_xml)(Xml.childxml_arg0"nextToken")inmake?maxResults?nextToken()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"maxResults"MaxStorageConfigurationResults.of_jsoninletnextToken=field_mapjson__"nextToken"PaginationToken.of_jsoninmake?maxResults?nextToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets summary information about all storage configurations in your account, in the AWS region where the API request is processed."]moduleListStagesResponse=structtypenonrect={stages:StageSummaryList.toption[@ocaml.doc"List of the matching stages (summary information only)."];nextToken:PaginationToken.toption[@ocaml.doc"If there are more stages than maxResults, use nextToken in the request to get the next set."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?stages=fun?nextToken->fun()->{stages;nextToken}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("stages",(Option.mapx.stages~f:StageSummaryList.to_value));("nextToken",(Option.mapx.nextToken~f:PaginationToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:PaginationToken.of_xml)(Xml.childxml_arg0"nextToken")inletstages=(Option.map~f:StageSummaryList.of_xml)(Xml.childxml_arg0"stages")inmake?nextToken?stages()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"PaginationToken.of_jsoninletstages=field_mapjson__"stages"StageSummaryList.of_jsoninmake?nextToken?stages()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets summary information about all stages in your account, in the AWS region where the API request is processed."]moduleListStagesRequest=structtypenonrect={nextToken:PaginationToken.toption[@ocaml.doc"The first stage to retrieve. This is used for pagination; see the nextToken response field."];maxResults:MaxStageResults.toption[@ocaml.doc"Maximum number of results to return. Default: 50."]}letmake?nextToken=fun?maxResults->fun()->{nextToken;maxResults}letto_valuex=structure_to_value[("nextToken",(Option.mapx.nextToken~f:PaginationToken.to_value));("maxResults",(Option.mapx.maxResults~f:MaxStageResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:MaxStageResults.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:PaginationToken.of_xml)(Xml.childxml_arg0"nextToken")inmake?maxResults?nextToken()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"maxResults"MaxStageResults.of_jsoninletnextToken=field_mapjson__"nextToken"PaginationToken.of_jsoninmake?maxResults?nextToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets summary information about all stages in your account, in the AWS region where the API request is processed."]moduleListStageSessionsResponse=structtypenonrect={stageSessions:StageSessionList.toption[@ocaml.doc"List of matching stage sessions."];nextToken:PaginationToken.toption[@ocaml.doc"If there are more stage sessions than maxResults, use nextToken in the request to get the next set."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?stageSessions=fun?nextToken->fun()->{stageSessions;nextToken}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("stageSessions",(Option.mapx.stageSessions~f:StageSessionList.to_value));("nextToken",(Option.mapx.nextToken~f:PaginationToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:PaginationToken.of_xml)(Xml.childxml_arg0"nextToken")inletstageSessions=(Option.map~f:StageSessionList.of_xml)(Xml.childxml_arg0"stageSessions")inmake?nextToken?stageSessions()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"PaginationToken.of_jsoninletstageSessions=field_mapjson__"stageSessions"StageSessionList.of_jsoninmake?nextToken?stageSessions()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets all sessions for a specified stage."]moduleListStageSessionsRequest=structtypenonrect={stageArn:StageArn.t[@ocaml.doc"Stage ARN."];nextToken:PaginationToken.toption[@ocaml.doc"The first stage session to retrieve. This is used for pagination; see the nextToken response field."];maxResults:MaxStageSessionResults.toption[@ocaml.doc"Maximum number of results to return. Default: 50."]}letcontext_="ListStageSessionsRequest"letmake?nextToken=fun?maxResults->fun~stageArn->fun()->{nextToken;maxResults;stageArn}letto_valuex=structure_to_value[("stageArn",(Some(StageArn.to_valuex.stageArn)));("nextToken",(Option.mapx.nextToken~f:PaginationToken.to_value));("maxResults",(Option.mapx.maxResults~f:MaxStageSessionResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:MaxStageSessionResults.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:PaginationToken.of_xml)(Xml.childxml_arg0"nextToken")inletstageArn=StageArn.of_xml(Xml.child_exn~context:context_xml_arg0"stageArn")inmake?maxResults?nextToken~stageArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"maxResults"MaxStageSessionResults.of_jsoninletnextToken=field_mapjson__"nextToken"PaginationToken.of_jsoninletstageArn=field_map_exnjson__"stageArn"StageArn.of_jsoninmake?maxResults?nextToken~stageArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets all sessions for a specified stage."]moduleListPublicKeysResponse=structtypenonrect={publicKeys:PublicKeyList.toption[@ocaml.doc"List of the matching public keys (summary information only)."];nextToken:PaginationToken.toption[@ocaml.doc"If there are more public keys than maxResults, use nextToken in the request to get the next set."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?publicKeys=fun?nextToken->fun()->{publicKeys;nextToken}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("publicKeys",(Option.mapx.publicKeys~f:PublicKeyList.to_value));("nextToken",(Option.mapx.nextToken~f:PaginationToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:PaginationToken.of_xml)(Xml.childxml_arg0"nextToken")inletpublicKeys=(Option.map~f:PublicKeyList.of_xml)(Xml.childxml_arg0"publicKeys")inmake?nextToken?publicKeys()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"PaginationToken.of_jsoninletpublicKeys=field_mapjson__"publicKeys"PublicKeyList.of_jsoninmake?nextToken?publicKeys()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets summary information about all public keys in your account, in the AWS region where the API request is processed."]moduleListPublicKeysRequest=structtypenonrect={nextToken:PaginationToken.toption[@ocaml.doc"The first public key to retrieve. This is used for pagination; see the nextToken response field."];maxResults:MaxPublicKeyResults.toption[@ocaml.doc"Maximum number of results to return. Default: 50."]}letmake?nextToken=fun?maxResults->fun()->{nextToken;maxResults}letto_valuex=structure_to_value[("nextToken",(Option.mapx.nextToken~f:PaginationToken.to_value));("maxResults",(Option.mapx.maxResults~f:MaxPublicKeyResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:MaxPublicKeyResults.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:PaginationToken.of_xml)(Xml.childxml_arg0"nextToken")inmake?maxResults?nextToken()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"maxResults"MaxPublicKeyResults.of_jsoninletnextToken=field_mapjson__"nextToken"PaginationToken.of_jsoninmake?maxResults?nextToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets summary information about all public keys in your account, in the AWS region where the API request is processed."]moduleListParticipantsResponse=structtypenonrect={participants:ParticipantList.toption[@ocaml.doc"List of the matching participants (summary information only)."];nextToken:PaginationToken.toption[@ocaml.doc"If there are more participants than maxResults, use nextToken in the request to get the next set."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?participants=fun?nextToken->fun()->{participants;nextToken}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("participants",(Option.mapx.participants~f:ParticipantList.to_value));("nextToken",(Option.mapx.nextToken~f:PaginationToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:PaginationToken.of_xml)(Xml.childxml_arg0"nextToken")inletparticipants=(Option.map~f:ParticipantList.of_xml)(Xml.childxml_arg0"participants")inmake?nextToken?participants()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"PaginationToken.of_jsoninletparticipants=field_mapjson__"participants"ParticipantList.of_jsoninmake?nextToken?participants()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists all participants in a specified stage session."]moduleListParticipantsRequest=structtypenonrect={stageArn:StageArn.t[@ocaml.doc"Stage ARN."];sessionId:StageSessionId.t[@ocaml.doc"ID of the session within the stage."];filterByUserId:UserId.toption[@ocaml.doc"Filters the response list to match the specified user ID. Only one of filterByUserId, filterByPublished, filterByState, or filterByRecordingState can be provided per request. A userId is a customer-assigned name to help identify the token; this can be used to link a participant to a user in the customer\226\128\153s own systems."];filterByPublished:Published.toption[@ocaml.doc"Filters the response list to only show participants who published during the stage session. Only one of filterByUserId, filterByPublished, filterByState, or filterByRecordingState can be provided per request."];filterByState:ParticipantState.toption[@ocaml.doc"Filters the response list to only show participants in the specified state. Only one of filterByUserId, filterByPublished, filterByState, or filterByRecordingState can be provided per request."];nextToken:PaginationToken.toption[@ocaml.doc"The first participant to retrieve. This is used for pagination; see the nextToken response field."];maxResults:MaxParticipantResults.toption[@ocaml.doc"Maximum number of results to return. Default: 50."];filterByRecordingState:ParticipantRecordingFilterByRecordingState.toption[@ocaml.doc"Filters the response list to only show participants with the specified recording state. Only one of filterByUserId, filterByPublished, filterByState, or filterByRecordingState can be provided per request."]}letcontext_="ListParticipantsRequest"letmake?filterByUserId=fun?filterByPublished->fun?filterByState->fun?nextToken->fun?maxResults->fun?filterByRecordingState->fun~stageArn->fun~sessionId->fun()->{filterByUserId;filterByPublished;filterByState;nextToken;maxResults;filterByRecordingState;stageArn;sessionId}letto_valuex=structure_to_value[("stageArn",(Some(StageArn.to_valuex.stageArn)));("sessionId",(Some(StageSessionId.to_valuex.sessionId)));("filterByUserId",(Option.mapx.filterByUserId~f:UserId.to_value));("filterByPublished",(Option.mapx.filterByPublished~f:Published.to_value));("filterByState",(Option.mapx.filterByState~f:ParticipantState.to_value));("nextToken",(Option.mapx.nextToken~f:PaginationToken.to_value));("maxResults",(Option.mapx.maxResults~f:MaxParticipantResults.to_value));("filterByRecordingState",(Option.mapx.filterByRecordingState~f:ParticipantRecordingFilterByRecordingState.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letfilterByRecordingState=(Option.map~f:ParticipantRecordingFilterByRecordingState.of_xml)(Xml.childxml_arg0"filterByRecordingState")inletmaxResults=(Option.map~f:MaxParticipantResults.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:PaginationToken.of_xml)(Xml.childxml_arg0"nextToken")inletfilterByState=(Option.map~f:ParticipantState.of_xml)(Xml.childxml_arg0"filterByState")inletfilterByPublished=(Option.map~f:Published.of_xml)(Xml.childxml_arg0"filterByPublished")inletfilterByUserId=(Option.map~f:UserId.of_xml)(Xml.childxml_arg0"filterByUserId")inletsessionId=StageSessionId.of_xml(Xml.child_exn~context:context_xml_arg0"sessionId")inletstageArn=StageArn.of_xml(Xml.child_exn~context:context_xml_arg0"stageArn")inmake?filterByRecordingState?maxResults?nextToken?filterByState?filterByPublished?filterByUserId~sessionId~stageArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letfilterByRecordingState=field_mapjson__"filterByRecordingState"ParticipantRecordingFilterByRecordingState.of_jsoninletmaxResults=field_mapjson__"maxResults"MaxParticipantResults.of_jsoninletnextToken=field_mapjson__"nextToken"PaginationToken.of_jsoninletfilterByState=field_mapjson__"filterByState"ParticipantState.of_jsoninletfilterByPublished=field_mapjson__"filterByPublished"Published.of_jsoninletfilterByUserId=field_mapjson__"filterByUserId"UserId.of_jsoninletsessionId=field_map_exnjson__"sessionId"StageSessionId.of_jsoninletstageArn=field_map_exnjson__"stageArn"StageArn.of_jsoninmake?filterByRecordingState?maxResults?nextToken?filterByState?filterByPublished?filterByUserId~sessionId~stageArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists all participants in a specified stage session."]moduleListParticipantReplicasResponse=structtypenonrect={replicas:ParticipantReplicaList.toption[@ocaml.doc"List of all participant replicas."];nextToken:PaginationToken.toption[@ocaml.doc"If there are more participants than maxResults, use nextToken in the request to get the next set."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?replicas=fun?nextToken->fun()->{replicas;nextToken}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("replicas",(Option.mapx.replicas~f:ParticipantReplicaList.to_value));("nextToken",(Option.mapx.nextToken~f:PaginationToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:PaginationToken.of_xml)(Xml.childxml_arg0"nextToken")inletreplicas=(Option.map~f:ParticipantReplicaList.of_xml)(Xml.childxml_arg0"replicas")inmake?nextToken?replicas()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"PaginationToken.of_jsoninletreplicas=field_mapjson__"replicas"ParticipantReplicaList.of_jsoninmake?nextToken?replicas()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists all the replicas for a participant from a source stage."]moduleListParticipantReplicasRequest=structtypenonrect={sourceStageArn:StageArn.t[@ocaml.doc"ARN of the stage where the participant is publishing."];participantId:ParticipantId.t[@ocaml.doc"Participant ID of the publisher that has been replicated. This is assigned by IVS and returned by CreateParticipantToken or the jti (JWT ID) used to create a self signed token."];nextToken:PaginationToken.toption[@ocaml.doc"The first participant to retrieve. This is used for pagination; see the nextToken response field."];maxResults:MaxParticipantReplicaResults.toption[@ocaml.doc"Maximum number of results to return. Default: 50."]}letcontext_="ListParticipantReplicasRequest"letmake?nextToken=fun?maxResults->fun~sourceStageArn->fun~participantId->fun()->{nextToken;maxResults;sourceStageArn;participantId}letto_valuex=structure_to_value[("sourceStageArn",(Some(StageArn.to_valuex.sourceStageArn)));("participantId",(Some(ParticipantId.to_valuex.participantId)));("nextToken",(Option.mapx.nextToken~f:PaginationToken.to_value));("maxResults",(Option.mapx.maxResults~f:MaxParticipantReplicaResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:MaxParticipantReplicaResults.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:PaginationToken.of_xml)(Xml.childxml_arg0"nextToken")inletparticipantId=ParticipantId.of_xml(Xml.child_exn~context:context_xml_arg0"participantId")inletsourceStageArn=StageArn.of_xml(Xml.child_exn~context:context_xml_arg0"sourceStageArn")inmake?maxResults?nextToken~participantId~sourceStageArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"maxResults"MaxParticipantReplicaResults.of_jsoninletnextToken=field_mapjson__"nextToken"PaginationToken.of_jsoninletparticipantId=field_map_exnjson__"participantId"ParticipantId.of_jsoninletsourceStageArn=field_map_exnjson__"sourceStageArn"StageArn.of_jsoninmake?maxResults?nextToken~participantId~sourceStageArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists all the replicas for a participant from a source stage."]moduleListParticipantEventsResponse=structtypenonrect={events:EventList.toption[@ocaml.doc"List of the matching events."];nextToken:PaginationToken.toption[@ocaml.doc"If there are more events than maxResults, use nextToken in the request to get the next set."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?events=fun?nextToken->fun()->{events;nextToken}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("events",(Option.mapx.events~f:EventList.to_value));("nextToken",(Option.mapx.nextToken~f:PaginationToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:PaginationToken.of_xml)(Xml.childxml_arg0"nextToken")inletevents=(Option.map~f:EventList.of_xml)(Xml.childxml_arg0"events")inmake?nextToken?events()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"PaginationToken.of_jsoninletevents=field_mapjson__"events"EventList.of_jsoninmake?nextToken?events()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists events for a specified participant that occurred during a specified stage session."]moduleListParticipantEventsRequest=structtypenonrect={stageArn:StageArn.t[@ocaml.doc"Stage ARN."];sessionId:StageSessionId.t[@ocaml.doc"ID of a session within the stage."];participantId:ParticipantId.t[@ocaml.doc"Unique identifier for this participant. This is assigned by IVS and returned by CreateParticipantToken."];nextToken:PaginationToken.toption[@ocaml.doc"The first participant event to retrieve. This is used for pagination; see the nextToken response field."];maxResults:MaxParticipantEventResults.toption[@ocaml.doc"Maximum number of results to return. Default: 50."]}letcontext_="ListParticipantEventsRequest"letmake?nextToken=fun?maxResults->fun~stageArn->fun~sessionId->fun~participantId->fun()->{nextToken;maxResults;stageArn;sessionId;participantId}letto_valuex=structure_to_value[("stageArn",(Some(StageArn.to_valuex.stageArn)));("sessionId",(Some(StageSessionId.to_valuex.sessionId)));("participantId",(Some(ParticipantId.to_valuex.participantId)));("nextToken",(Option.mapx.nextToken~f:PaginationToken.to_value));("maxResults",(Option.mapx.maxResults~f:MaxParticipantEventResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:MaxParticipantEventResults.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:PaginationToken.of_xml)(Xml.childxml_arg0"nextToken")inletparticipantId=ParticipantId.of_xml(Xml.child_exn~context:context_xml_arg0"participantId")inletsessionId=StageSessionId.of_xml(Xml.child_exn~context:context_xml_arg0"sessionId")inletstageArn=StageArn.of_xml(Xml.child_exn~context:context_xml_arg0"stageArn")inmake?maxResults?nextToken~participantId~sessionId~stageArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"maxResults"MaxParticipantEventResults.of_jsoninletnextToken=field_mapjson__"nextToken"PaginationToken.of_jsoninletparticipantId=field_map_exnjson__"participantId"ParticipantId.of_jsoninletsessionId=field_map_exnjson__"sessionId"StageSessionId.of_jsoninletstageArn=field_map_exnjson__"stageArn"StageArn.of_jsoninmake?maxResults?nextToken~participantId~sessionId~stageArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists events for a specified participant that occurred during a specified stage session."]moduleListIngestConfigurationsResponse=structtypenonrect={ingestConfigurations:IngestConfigurationList.toption[@ocaml.doc"List of the matching ingest configurations (summary information only)."];nextToken:PaginationToken.toption[@ocaml.doc"If there are more IngestConfigurations than maxResults, use nextToken in the request to get the next set."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?ingestConfigurations=fun?nextToken->fun()->{ingestConfigurations;nextToken}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("ingestConfigurations",(Option.mapx.ingestConfigurations~f:IngestConfigurationList.to_value));("nextToken",(Option.mapx.nextToken~f:PaginationToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:PaginationToken.of_xml)(Xml.childxml_arg0"nextToken")inletingestConfigurations=(Option.map~f:IngestConfigurationList.of_xml)(Xml.childxml_arg0"ingestConfigurations")inmake?nextToken?ingestConfigurations()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"PaginationToken.of_jsoninletingestConfigurations=field_mapjson__"ingestConfigurations"IngestConfigurationList.of_jsoninmake?nextToken?ingestConfigurations()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists all IngestConfigurations in your account, in the AWS region where the API request is processed."]moduleListIngestConfigurationsRequest=structtypenonrect={filterByStageArn:StageArn.toption[@ocaml.doc"Filters the response list to match the specified stage ARN. Only one filter (by stage ARN or by state) can be used at a time."];filterByState:IngestConfigurationState.toption[@ocaml.doc"Filters the response list to match the specified state. Only one filter (by stage ARN or by state) can be used at a time."];nextToken:PaginationToken.toption[@ocaml.doc"The first IngestConfiguration to retrieve. This is used for pagination; see the nextToken response field."];maxResults:MaxIngestConfigurationResults.toption[@ocaml.doc"Maximum number of results to return. Default: 50."]}letmake?filterByStageArn=fun?filterByState->fun?nextToken->fun?maxResults->fun()->{filterByStageArn;filterByState;nextToken;maxResults}letto_valuex=structure_to_value[("filterByStageArn",(Option.mapx.filterByStageArn~f:StageArn.to_value));("filterByState",(Option.mapx.filterByState~f:IngestConfigurationState.to_value));("nextToken",(Option.mapx.nextToken~f:PaginationToken.to_value));("maxResults",(Option.mapx.maxResults~f:MaxIngestConfigurationResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:MaxIngestConfigurationResults.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:PaginationToken.of_xml)(Xml.childxml_arg0"nextToken")inletfilterByState=(Option.map~f:IngestConfigurationState.of_xml)(Xml.childxml_arg0"filterByState")inletfilterByStageArn=(Option.map~f:StageArn.of_xml)(Xml.childxml_arg0"filterByStageArn")inmake?maxResults?nextToken?filterByState?filterByStageArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"maxResults"MaxIngestConfigurationResults.of_jsoninletnextToken=field_mapjson__"nextToken"PaginationToken.of_jsoninletfilterByState=field_mapjson__"filterByState"IngestConfigurationState.of_jsoninletfilterByStageArn=field_mapjson__"filterByStageArn"StageArn.of_jsoninmake?maxResults?nextToken?filterByState?filterByStageArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists all IngestConfigurations in your account, in the AWS region where the API request is processed."]moduleListEncoderConfigurationsResponse=structtypenonrect={encoderConfigurations:EncoderConfigurationSummaryList.toption[@ocaml.doc"List of the matching EncoderConfigurations (summary information only)."];nextToken:PaginationToken.toption[@ocaml.doc"If there are more encoder configurations than maxResults, use nextToken in the request to get the next set."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?encoderConfigurations=fun?nextToken->fun()->{encoderConfigurations;nextToken}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("encoderConfigurations",(Option.mapx.encoderConfigurations~f:EncoderConfigurationSummaryList.to_value));("nextToken",(Option.mapx.nextToken~f:PaginationToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:PaginationToken.of_xml)(Xml.childxml_arg0"nextToken")inletencoderConfigurations=(Option.map~f:EncoderConfigurationSummaryList.of_xml)(Xml.childxml_arg0"encoderConfigurations")inmake?nextToken?encoderConfigurations()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"PaginationToken.of_jsoninletencoderConfigurations=field_mapjson__"encoderConfigurations"EncoderConfigurationSummaryList.of_jsoninmake?nextToken?encoderConfigurations()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets summary information about all EncoderConfigurations in your account, in the AWS region where the API request is processed."]moduleListEncoderConfigurationsRequest=structtypenonrect={nextToken:PaginationToken.toption[@ocaml.doc"The first encoder configuration to retrieve. This is used for pagination; see the nextToken response field."];maxResults:MaxEncoderConfigurationResults.toption[@ocaml.doc"Maximum number of results to return. Default: 100."]}letmake?nextToken=fun?maxResults->fun()->{nextToken;maxResults}letto_valuex=structure_to_value[("nextToken",(Option.mapx.nextToken~f:PaginationToken.to_value));("maxResults",(Option.mapx.maxResults~f:MaxEncoderConfigurationResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:MaxEncoderConfigurationResults.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:PaginationToken.of_xml)(Xml.childxml_arg0"nextToken")inmake?maxResults?nextToken()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"maxResults"MaxEncoderConfigurationResults.of_jsoninletnextToken=field_mapjson__"nextToken"PaginationToken.of_jsoninmake?maxResults?nextToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets summary information about all EncoderConfigurations in your account, in the AWS region where the API request is processed."]moduleListCompositionsResponse=structtypenonrect={compositions:CompositionSummaryList.toption[@ocaml.doc"List of the matching Compositions (summary information only)."];nextToken:PaginationToken.toption[@ocaml.doc"If there are more compositions than maxResults, use nextToken in the request to get the next set."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?compositions=fun?nextToken->fun()->{compositions;nextToken}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("compositions",(Option.mapx.compositions~f:CompositionSummaryList.to_value));("nextToken",(Option.mapx.nextToken~f:PaginationToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:PaginationToken.of_xml)(Xml.childxml_arg0"nextToken")inletcompositions=(Option.map~f:CompositionSummaryList.of_xml)(Xml.childxml_arg0"compositions")inmake?nextToken?compositions()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"PaginationToken.of_jsoninletcompositions=field_mapjson__"compositions"CompositionSummaryList.of_jsoninmake?nextToken?compositions()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets summary information about all Compositions in your account, in the AWS region where the API request is processed."]moduleListCompositionsRequest=structtypenonrect={filterByStageArn:StageArn.toption[@ocaml.doc"Filters the Composition list to match the specified Stage ARN."];filterByEncoderConfigurationArn:EncoderConfigurationArn.toption[@ocaml.doc"Filters the Composition list to match the specified EncoderConfiguration attached to at least one of its output."];nextToken:PaginationToken.toption[@ocaml.doc"The first Composition to retrieve. This is used for pagination; see the nextToken response field."];maxResults:MaxCompositionResults.toption[@ocaml.doc"Maximum number of results to return. Default: 100."]}letmake?filterByStageArn=fun?filterByEncoderConfigurationArn->fun?nextToken->fun?maxResults->fun()->{filterByStageArn;filterByEncoderConfigurationArn;nextToken;maxResults}letto_valuex=structure_to_value[("filterByStageArn",(Option.mapx.filterByStageArn~f:StageArn.to_value));("filterByEncoderConfigurationArn",(Option.mapx.filterByEncoderConfigurationArn~f:EncoderConfigurationArn.to_value));("nextToken",(Option.mapx.nextToken~f:PaginationToken.to_value));("maxResults",(Option.mapx.maxResults~f:MaxCompositionResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:MaxCompositionResults.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:PaginationToken.of_xml)(Xml.childxml_arg0"nextToken")inletfilterByEncoderConfigurationArn=(Option.map~f:EncoderConfigurationArn.of_xml)(Xml.childxml_arg0"filterByEncoderConfigurationArn")inletfilterByStageArn=(Option.map~f:StageArn.of_xml)(Xml.childxml_arg0"filterByStageArn")inmake?maxResults?nextToken?filterByEncoderConfigurationArn?filterByStageArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"maxResults"MaxCompositionResults.of_jsoninletnextToken=field_mapjson__"nextToken"PaginationToken.of_jsoninletfilterByEncoderConfigurationArn=field_mapjson__"filterByEncoderConfigurationArn"EncoderConfigurationArn.of_jsoninletfilterByStageArn=field_mapjson__"filterByStageArn"StageArn.of_jsoninmake?maxResults?nextToken?filterByEncoderConfigurationArn?filterByStageArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets summary information about all Compositions in your account, in the AWS region where the API request is processed."]moduleImportPublicKeyResponse=structtypenonrect={publicKey:PublicKey.toption[@ocaml.doc"The public key that was imported."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`PendingVerificationofPendingVerification.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?publicKey=fun()->{publicKey}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"PendingVerification"->`PendingVerification(PendingVerification.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"PendingVerification"->`PendingVerification(PendingVerification.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`PendingVerificatione->`Assoc[("error",(`String"PendingVerification"));("details",(PendingVerification.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("publicKey",(Option.mapx.publicKey~f:PublicKey.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letpublicKey=(Option.map~f:PublicKey.of_xml)(Xml.childxml_arg0"publicKey")inmake?publicKey()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letpublicKey=field_mapjson__"publicKey"PublicKey.of_jsoninmake?publicKey()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Import a public key to be used for signing stage participant tokens."]moduleImportPublicKeyRequest=structtypenonrect={publicKeyMaterial:PublicKeyMaterial.t[@ocaml.doc"The content of the public key to be imported."];name:PublicKeyName.toption[@ocaml.doc"Name of the public key to be imported."];tags:Tags.toption[@ocaml.doc"Tags attached to the resource. Array of maps, each of the form string:string (key:value). See Best practices and strategies in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there."]}letcontext_="ImportPublicKeyRequest"letmake?name=fun?tags->fun~publicKeyMaterial->fun()->{name;tags;publicKeyMaterial}letto_valuex=structure_to_value[("publicKeyMaterial",(Some(PublicKeyMaterial.to_valuex.publicKeyMaterial)));("name",(Option.mapx.name~f:PublicKeyName.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")inletname=(Option.map~f:PublicKeyName.of_xml)(Xml.childxml_arg0"name")inletpublicKeyMaterial=PublicKeyMaterial.of_xml(Xml.child_exn~context:context_xml_arg0"publicKeyMaterial")inmake?tags?name~publicKeyMaterial()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"tags"Tags.of_jsoninletname=field_mapjson__"name"PublicKeyName.of_jsoninletpublicKeyMaterial=field_map_exnjson__"publicKeyMaterial"PublicKeyMaterial.of_jsoninmake?tags?name~publicKeyMaterial()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Import a public key to be used for signing stage participant tokens."]moduleGetStorageConfigurationResponse=structtypenonrect={storageConfiguration:StorageConfiguration.toption[@ocaml.doc"The StorageConfiguration that was returned."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?storageConfiguration=fun()->{storageConfiguration}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("storageConfiguration",(Option.mapx.storageConfiguration~f:StorageConfiguration.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstorageConfiguration=(Option.map~f:StorageConfiguration.of_xml)(Xml.childxml_arg0"storageConfiguration")inmake?storageConfiguration()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstorageConfiguration=field_mapjson__"storageConfiguration"StorageConfiguration.of_jsoninmake?storageConfiguration()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets the storage configuration for the specified ARN."]moduleGetStorageConfigurationRequest=structtypenonrect={arn:StorageConfigurationArn.t[@ocaml.doc"ARN of the storage configuration to be retrieved."]}letcontext_="GetStorageConfigurationRequest"letmake~arn=fun()->{arn}letto_valuex=structure_to_value[("arn",(Some(StorageConfigurationArn.to_valuex.arn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letarn=StorageConfigurationArn.of_xml(Xml.child_exn~context:context_xml_arg0"arn")inmake~arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letarn=field_map_exnjson__"arn"StorageConfigurationArn.of_jsoninmake~arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets the storage configuration for the specified ARN."]moduleGetStageSessionResponse=structtypenonrect={stageSession:StageSession.toption[@ocaml.doc"The stage session that is returned."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?stageSession=fun()->{stageSession}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("stageSession",(Option.mapx.stageSession~f:StageSession.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstageSession=(Option.map~f:StageSession.of_xml)(Xml.childxml_arg0"stageSession")inmake?stageSession()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstageSession=field_mapjson__"stageSession"StageSession.of_jsoninmake?stageSession()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets information for the specified stage session."]moduleGetStageSessionRequest=structtypenonrect={stageArn:StageArn.t[@ocaml.doc"ARN of the stage for which the information is to be retrieved."];sessionId:StageSessionId.t[@ocaml.doc"ID of a session within the stage."]}letcontext_="GetStageSessionRequest"letmake~stageArn=fun~sessionId->fun()->{stageArn;sessionId}letto_valuex=structure_to_value[("stageArn",(Some(StageArn.to_valuex.stageArn)));("sessionId",(Some(StageSessionId.to_valuex.sessionId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letsessionId=StageSessionId.of_xml(Xml.child_exn~context:context_xml_arg0"sessionId")inletstageArn=StageArn.of_xml(Xml.child_exn~context:context_xml_arg0"stageArn")inmake~sessionId~stageArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letsessionId=field_map_exnjson__"sessionId"StageSessionId.of_jsoninletstageArn=field_map_exnjson__"stageArn"StageArn.of_jsoninmake~sessionId~stageArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets information for the specified stage session."]moduleGetStageResponse=structtypenonrect={stage:Stage.toption[@ocaml.doc"The stage that is returned."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?stage=fun()->{stage}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("stage",(Option.mapx.stage~f:Stage.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstage=(Option.map~f:Stage.of_xml)(Xml.childxml_arg0"stage")inmake?stage()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstage=field_mapjson__"stage"Stage.of_jsoninmake?stage()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets information for the specified stage."]moduleGetStageRequest=structtypenonrect={arn:StageArn.t[@ocaml.doc"ARN of the stage for which the information is to be retrieved."]}letcontext_="GetStageRequest"letmake~arn=fun()->{arn}letto_valuex=structure_to_value[("arn",(Some(StageArn.to_valuex.arn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letarn=StageArn.of_xml(Xml.child_exn~context:context_xml_arg0"arn")inmake~arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letarn=field_map_exnjson__"arn"StageArn.of_jsoninmake~arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets information for the specified stage."]moduleGetPublicKeyResponse=structtypenonrect={publicKey:PublicKey.toption[@ocaml.doc"The public key that is returned."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?publicKey=fun()->{publicKey}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("publicKey",(Option.mapx.publicKey~f:PublicKey.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letpublicKey=(Option.map~f:PublicKey.of_xml)(Xml.childxml_arg0"publicKey")inmake?publicKey()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letpublicKey=field_mapjson__"publicKey"PublicKey.of_jsoninmake?publicKey()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets information for the specified public key."]moduleGetPublicKeyRequest=structtypenonrect={arn:PublicKeyArn.t[@ocaml.doc"ARN of the public key for which the information is to be retrieved."]}letcontext_="GetPublicKeyRequest"letmake~arn=fun()->{arn}letto_valuex=structure_to_value[("arn",(Some(PublicKeyArn.to_valuex.arn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letarn=PublicKeyArn.of_xml(Xml.child_exn~context:context_xml_arg0"arn")inmake~arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letarn=field_map_exnjson__"arn"PublicKeyArn.of_jsoninmake~arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets information for the specified public key."]moduleGetParticipantResponse=structtypenonrect={participant:Participant.toption[@ocaml.doc"The participant that is returned."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?participant=fun()->{participant}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("participant",(Option.mapx.participant~f:Participant.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letparticipant=(Option.map~f:Participant.of_xml)(Xml.childxml_arg0"participant")inmake?participant()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letparticipant=field_mapjson__"participant"Participant.of_jsoninmake?participant()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets information about the specified participant token."]moduleGetParticipantRequest=structtypenonrect={stageArn:StageArn.t[@ocaml.doc"Stage ARN."];sessionId:StageSessionId.t[@ocaml.doc"ID of a session within the stage."];participantId:ParticipantId.t[@ocaml.doc"Unique identifier for the participant. This is assigned by IVS and returned by CreateParticipantToken."]}letcontext_="GetParticipantRequest"letmake~stageArn=fun~sessionId->fun~participantId->fun()->{stageArn;sessionId;participantId}letto_valuex=structure_to_value[("stageArn",(Some(StageArn.to_valuex.stageArn)));("sessionId",(Some(StageSessionId.to_valuex.sessionId)));("participantId",(Some(ParticipantId.to_valuex.participantId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letparticipantId=ParticipantId.of_xml(Xml.child_exn~context:context_xml_arg0"participantId")inletsessionId=StageSessionId.of_xml(Xml.child_exn~context:context_xml_arg0"sessionId")inletstageArn=StageArn.of_xml(Xml.child_exn~context:context_xml_arg0"stageArn")inmake~participantId~sessionId~stageArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letparticipantId=field_map_exnjson__"participantId"ParticipantId.of_jsoninletsessionId=field_map_exnjson__"sessionId"StageSessionId.of_jsoninletstageArn=field_map_exnjson__"stageArn"StageArn.of_jsoninmake~participantId~sessionId~stageArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets information about the specified participant token."]moduleGetIngestConfigurationResponse=structtypenonrect={ingestConfiguration:IngestConfiguration.toption[@ocaml.doc"The IngestConfiguration that was returned."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?ingestConfiguration=fun()->{ingestConfiguration}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("ingestConfiguration",(Option.mapx.ingestConfiguration~f:IngestConfiguration.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letingestConfiguration=(Option.map~f:IngestConfiguration.of_xml)(Xml.childxml_arg0"ingestConfiguration")inmake?ingestConfiguration()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letingestConfiguration=field_mapjson__"ingestConfiguration"IngestConfiguration.of_jsoninmake?ingestConfiguration()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets information about the specified IngestConfiguration."]moduleGetIngestConfigurationRequest=structtypenonrect={arn:IngestConfigurationArn.t[@ocaml.doc"ARN of the ingest for which the information is to be retrieved."]}letcontext_="GetIngestConfigurationRequest"letmake~arn=fun()->{arn}letto_valuex=structure_to_value[("arn",(Some(IngestConfigurationArn.to_valuex.arn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letarn=IngestConfigurationArn.of_xml(Xml.child_exn~context:context_xml_arg0"arn")inmake~arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letarn=field_map_exnjson__"arn"IngestConfigurationArn.of_jsoninmake~arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets information about the specified IngestConfiguration."]moduleGetEncoderConfigurationResponse=structtypenonrect={encoderConfiguration:EncoderConfiguration.toption[@ocaml.doc"The EncoderConfiguration that was returned."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?encoderConfiguration=fun()->{encoderConfiguration}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("encoderConfiguration",(Option.mapx.encoderConfiguration~f:EncoderConfiguration.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letencoderConfiguration=(Option.map~f:EncoderConfiguration.of_xml)(Xml.childxml_arg0"encoderConfiguration")inmake?encoderConfiguration()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letencoderConfiguration=field_mapjson__"encoderConfiguration"EncoderConfiguration.of_jsoninmake?encoderConfiguration()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets information about the specified EncoderConfiguration resource."]moduleGetEncoderConfigurationRequest=structtypenonrect={arn:EncoderConfigurationArn.t[@ocaml.doc"ARN of the EncoderConfiguration resource."]}letcontext_="GetEncoderConfigurationRequest"letmake~arn=fun()->{arn}letto_valuex=structure_to_value[("arn",(Some(EncoderConfigurationArn.to_valuex.arn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letarn=EncoderConfigurationArn.of_xml(Xml.child_exn~context:context_xml_arg0"arn")inmake~arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letarn=field_map_exnjson__"arn"EncoderConfigurationArn.of_jsoninmake~arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets information about the specified EncoderConfiguration resource."]moduleGetCompositionResponse=structtypenonrect={composition:Composition.toption[@ocaml.doc"The Composition that was returned."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?composition=fun()->{composition}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("composition",(Option.mapx.composition~f:Composition.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcomposition=(Option.map~f:Composition.of_xml)(Xml.childxml_arg0"composition")inmake?composition()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcomposition=field_mapjson__"composition"Composition.of_jsoninmake?composition()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Get information about the specified Composition resource."]moduleGetCompositionRequest=structtypenonrect={arn:CompositionArn.t[@ocaml.doc"ARN of the Composition resource."]}letcontext_="GetCompositionRequest"letmake~arn=fun()->{arn}letto_valuex=structure_to_value[("arn",(Some(CompositionArn.to_valuex.arn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letarn=CompositionArn.of_xml(Xml.child_exn~context:context_xml_arg0"arn")inmake~arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letarn=field_map_exnjson__"arn"CompositionArn.of_jsoninmake~arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Get information about the specified Composition resource."]moduleDisconnectParticipantResponse=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`PendingVerificationofPendingVerification.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"PendingVerification"->`PendingVerification(PendingVerification.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"PendingVerification"->`PendingVerification(PendingVerification.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`PendingVerificatione->`Assoc[("error",(`String"PendingVerification"));("details",(PendingVerification.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Disconnects a specified participant from a specified stage. If the participant is publishing using an IngestConfiguration, DisconnectParticipant also updates the stageArn in the IngestConfiguration to be an empty string."]moduleDisconnectParticipantRequest=structtypenonrect={stageArn:StageArn.t[@ocaml.doc"ARN of the stage to which the participant is attached."];participantId:ParticipantTokenId.t[@ocaml.doc"Identifier of the participant to be disconnected. IVS assigns this; it is returned by CreateParticipantToken (for streams using WebRTC ingest) or CreateIngestConfiguration (for streams using RTMP ingest)."];reason:DisconnectParticipantReason.toption[@ocaml.doc"Description of why this participant is being disconnected."]}letcontext_="DisconnectParticipantRequest"letmake?reason=fun~stageArn->fun~participantId->fun()->{reason;stageArn;participantId}letto_valuex=structure_to_value[("stageArn",(Some(StageArn.to_valuex.stageArn)));("participantId",(Some(ParticipantTokenId.to_valuex.participantId)));("reason",(Option.mapx.reason~f:DisconnectParticipantReason.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letreason=(Option.map~f:DisconnectParticipantReason.of_xml)(Xml.childxml_arg0"reason")inletparticipantId=ParticipantTokenId.of_xml(Xml.child_exn~context:context_xml_arg0"participantId")inletstageArn=StageArn.of_xml(Xml.child_exn~context:context_xml_arg0"stageArn")inmake?reason~participantId~stageArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letreason=field_mapjson__"reason"DisconnectParticipantReason.of_jsoninletparticipantId=field_map_exnjson__"participantId"ParticipantTokenId.of_jsoninletstageArn=field_map_exnjson__"stageArn"StageArn.of_jsoninmake?reason~participantId~stageArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Disconnects a specified participant from a specified stage. If the participant is publishing using an IngestConfiguration, DisconnectParticipant also updates the stageArn in the IngestConfiguration to be an empty string."]moduleDeleteStorageConfigurationResponse=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes the storage configuration for the specified ARN. If you try to delete a storage configuration that is used by a Composition, you will get an error (409 ConflictException). To avoid this, for all Compositions that reference the storage configuration, first use StopComposition and wait for it to complete, then use DeleteStorageConfiguration."]moduleDeleteStorageConfigurationRequest=structtypenonrect={arn:StorageConfigurationArn.t[@ocaml.doc"ARN of the storage configuration to be deleted."]}letcontext_="DeleteStorageConfigurationRequest"letmake~arn=fun()->{arn}letto_valuex=structure_to_value[("arn",(Some(StorageConfigurationArn.to_valuex.arn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letarn=StorageConfigurationArn.of_xml(Xml.child_exn~context:context_xml_arg0"arn")inmake~arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letarn=field_map_exnjson__"arn"StorageConfigurationArn.of_jsoninmake~arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes the storage configuration for the specified ARN. If you try to delete a storage configuration that is used by a Composition, you will get an error (409 ConflictException). To avoid this, for all Compositions that reference the storage configuration, first use StopComposition and wait for it to complete, then use DeleteStorageConfiguration."]moduleDeleteStageResponse=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`PendingVerificationofPendingVerification.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"PendingVerification"->`PendingVerification(PendingVerification.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"PendingVerification"->`PendingVerification(PendingVerification.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`PendingVerificatione->`Assoc[("error",(`String"PendingVerification"));("details",(PendingVerification.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Shuts down and deletes the specified stage (disconnecting all participants). This operation also removes the stageArn from the associated IngestConfiguration, if there are participants using the IngestConfiguration to publish to the stage."]moduleDeleteStageRequest=structtypenonrect={arn:StageArn.t[@ocaml.doc"ARN of the stage to be deleted."]}letcontext_="DeleteStageRequest"letmake~arn=fun()->{arn}letto_valuex=structure_to_value[("arn",(Some(StageArn.to_valuex.arn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letarn=StageArn.of_xml(Xml.child_exn~context:context_xml_arg0"arn")inmake~arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letarn=field_map_exnjson__"arn"StageArn.of_jsoninmake~arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Shuts down and deletes the specified stage (disconnecting all participants). This operation also removes the stageArn from the associated IngestConfiguration, if there are participants using the IngestConfiguration to publish to the stage."]moduleDeletePublicKeyResponse=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`PendingVerificationofPendingVerification.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"PendingVerification"->`PendingVerification(PendingVerification.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"PendingVerification"->`PendingVerification(PendingVerification.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`PendingVerificatione->`Assoc[("error",(`String"PendingVerification"));("details",(PendingVerification.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes the specified public key used to sign stage participant tokens. This invalidates future participant tokens generated using the key pair\226\128\153s private key."]moduleDeletePublicKeyRequest=structtypenonrect={arn:PublicKeyArn.t[@ocaml.doc"ARN of the public key to be deleted."]}letcontext_="DeletePublicKeyRequest"letmake~arn=fun()->{arn}letto_valuex=structure_to_value[("arn",(Some(PublicKeyArn.to_valuex.arn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letarn=PublicKeyArn.of_xml(Xml.child_exn~context:context_xml_arg0"arn")inmake~arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letarn=field_map_exnjson__"arn"PublicKeyArn.of_jsoninmake~arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes the specified public key used to sign stage participant tokens. This invalidates future participant tokens generated using the key pair\226\128\153s private key."]moduleDeleteIngestConfigurationResponse=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`PendingVerificationofPendingVerification.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"PendingVerification"->`PendingVerification(PendingVerification.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"PendingVerification"->`PendingVerification(PendingVerification.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`PendingVerificatione->`Assoc[("error",(`String"PendingVerification"));("details",(PendingVerification.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes a specified IngestConfiguration, so it can no longer be used to broadcast. An IngestConfiguration cannot be deleted if the publisher is actively streaming to a stage, unless force is set to true."]moduleDeleteIngestConfigurationRequest=structtypenonrect={arn:IngestConfigurationArn.t[@ocaml.doc"ARN of the IngestConfiguration."];force:Boolean.toption[@ocaml.doc"Optional field to force deletion of the IngestConfiguration. If this is set to true when a participant is actively publishing, the participant is disconnected from the stage, followed by deletion of the IngestConfiguration. Default: false."]}letcontext_="DeleteIngestConfigurationRequest"letmake?force=fun~arn->fun()->{force;arn}letto_valuex=structure_to_value[("arn",(Some(IngestConfigurationArn.to_valuex.arn)));("force",(Option.mapx.force~f:Boolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letforce=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"force")inletarn=IngestConfigurationArn.of_xml(Xml.child_exn~context:context_xml_arg0"arn")inmake?force~arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letforce=field_mapjson__"force"Boolean.of_jsoninletarn=field_map_exnjson__"arn"IngestConfigurationArn.of_jsoninmake?force~arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes a specified IngestConfiguration, so it can no longer be used to broadcast. An IngestConfiguration cannot be deleted if the publisher is actively streaming to a stage, unless force is set to true."]moduleDeleteEncoderConfigurationResponse=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes an EncoderConfiguration resource. Ensures that no Compositions are using this template; otherwise, returns an error."]moduleDeleteEncoderConfigurationRequest=structtypenonrect={arn:EncoderConfigurationArn.t[@ocaml.doc"ARN of the EncoderConfiguration."]}letcontext_="DeleteEncoderConfigurationRequest"letmake~arn=fun()->{arn}letto_valuex=structure_to_value[("arn",(Some(EncoderConfigurationArn.to_valuex.arn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letarn=EncoderConfigurationArn.of_xml(Xml.child_exn~context:context_xml_arg0"arn")inmake~arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letarn=field_map_exnjson__"arn"EncoderConfigurationArn.of_jsoninmake~arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes an EncoderConfiguration resource. Ensures that no Compositions are using this template; otherwise, returns an error."]moduleCreateStorageConfigurationResponse=structtypenonrect={storageConfiguration:StorageConfiguration.toption[@ocaml.doc"The StorageConfiguration that was created."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`PendingVerificationofPendingVerification.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?storageConfiguration=fun()->{storageConfiguration}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"PendingVerification"->`PendingVerification(PendingVerification.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"PendingVerification"->`PendingVerification(PendingVerification.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`PendingVerificatione->`Assoc[("error",(`String"PendingVerification"));("details",(PendingVerification.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("storageConfiguration",(Option.mapx.storageConfiguration~f:StorageConfiguration.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstorageConfiguration=(Option.map~f:StorageConfiguration.of_xml)(Xml.childxml_arg0"storageConfiguration")inmake?storageConfiguration()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstorageConfiguration=field_mapjson__"storageConfiguration"StorageConfiguration.of_jsoninmake?storageConfiguration()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a new storage configuration, used to enable recording to Amazon S3. When a StorageConfiguration is created, IVS will modify the S3 bucketPolicy of the provided bucket. This will ensure that IVS has sufficient permissions to write content to the provided bucket."]moduleCreateStorageConfigurationRequest=structtypenonrect={name:StorageConfigurationName.toption[@ocaml.doc"Storage configuration name. The value does not need to be unique."];s3:S3StorageConfiguration.t[@ocaml.doc"A complex type that contains a storage configuration for where recorded video will be stored."];tags:Tags.toption[@ocaml.doc"Tags attached to the resource. Array of maps, each of the form string:string (key:value). See Best practices and strategies in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there."]}letcontext_="CreateStorageConfigurationRequest"letmake?name=fun?tags->fun~s3->fun()->{name;tags;s3}letto_valuex=structure_to_value[("name",(Option.mapx.name~f:StorageConfigurationName.to_value));("s3",(Some(S3StorageConfiguration.to_valuex.s3)));("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")inlets3=S3StorageConfiguration.of_xml(Xml.child_exn~context:context_xml_arg0"s3")inletname=(Option.map~f:StorageConfigurationName.of_xml)(Xml.childxml_arg0"name")inmake?tags~s3?name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"tags"Tags.of_jsoninlets3=field_map_exnjson__"s3"S3StorageConfiguration.of_jsoninletname=field_mapjson__"name"StorageConfigurationName.of_jsoninmake?tags~s3?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a new storage configuration, used to enable recording to Amazon S3. When a StorageConfiguration is created, IVS will modify the S3 bucketPolicy of the provided bucket. This will ensure that IVS has sufficient permissions to write content to the provided bucket."]moduleCreateStageResponse=structtypenonrect={stage:Stage.toption[@ocaml.doc"The stage that was created."];participantTokens:ParticipantTokenList.toption[@ocaml.doc"Participant tokens attached to the stage. These correspond to the participants in the request."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`PendingVerificationofPendingVerification.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?stage=fun?participantTokens->fun()->{stage;participantTokens}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"PendingVerification"->`PendingVerification(PendingVerification.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"PendingVerification"->`PendingVerification(PendingVerification.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`PendingVerificatione->`Assoc[("error",(`String"PendingVerification"));("details",(PendingVerification.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("stage",(Option.mapx.stage~f:Stage.to_value));("participantTokens",(Option.mapx.participantTokens~f:ParticipantTokenList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letparticipantTokens=(Option.map~f:ParticipantTokenList.of_xml)(Xml.childxml_arg0"participantTokens")inletstage=(Option.map~f:Stage.of_xml)(Xml.childxml_arg0"stage")inmake?participantTokens?stage()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letparticipantTokens=field_mapjson__"participantTokens"ParticipantTokenList.of_jsoninletstage=field_mapjson__"stage"Stage.of_jsoninmake?participantTokens?stage()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a new stage (and optionally participant tokens)."]moduleCreateStageRequest=structtypenonrect={name:StageName.toption[@ocaml.doc"Optional name that can be specified for the stage being created."];participantTokenConfigurations:ParticipantTokenConfigurations.toption[@ocaml.doc"Array of participant token configuration objects to attach to the new stage."];tags:Tags.toption[@ocaml.doc"Tags attached to the resource. Array of maps, each of the form string:string (key:value). See Best practices and strategies in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there."];autoParticipantRecordingConfiguration:AutoParticipantRecordingConfiguration.toption[@ocaml.doc"Configuration object for individual participant recording, to attach to the new stage."]}letmake?name=fun?participantTokenConfigurations->fun?tags->fun?autoParticipantRecordingConfiguration->fun()->{name;participantTokenConfigurations;tags;autoParticipantRecordingConfiguration}letto_valuex=structure_to_value[("name",(Option.mapx.name~f:StageName.to_value));("participantTokenConfigurations",(Option.mapx.participantTokenConfigurations~f:ParticipantTokenConfigurations.to_value));("tags",(Option.mapx.tags~f:Tags.to_value));("autoParticipantRecordingConfiguration",(Option.mapx.autoParticipantRecordingConfiguration~f:AutoParticipantRecordingConfiguration.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letautoParticipantRecordingConfiguration=(Option.map~f:AutoParticipantRecordingConfiguration.of_xml)(Xml.childxml_arg0"autoParticipantRecordingConfiguration")inlettags=(Option.map~f:Tags.of_xml)(Xml.childxml_arg0"tags")inletparticipantTokenConfigurations=(Option.map~f:ParticipantTokenConfigurations.of_xml)(Xml.childxml_arg0"participantTokenConfigurations")inletname=(Option.map~f:StageName.of_xml)(Xml.childxml_arg0"name")inmake?autoParticipantRecordingConfiguration?tags?participantTokenConfigurations?name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letautoParticipantRecordingConfiguration=field_mapjson__"autoParticipantRecordingConfiguration"AutoParticipantRecordingConfiguration.of_jsoninlettags=field_mapjson__"tags"Tags.of_jsoninletparticipantTokenConfigurations=field_mapjson__"participantTokenConfigurations"ParticipantTokenConfigurations.of_jsoninletname=field_mapjson__"name"StageName.of_jsoninmake?autoParticipantRecordingConfiguration?tags?participantTokenConfigurations?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a new stage (and optionally participant tokens)."]moduleCreateParticipantTokenResponse=structtypenonrect={participantToken:ParticipantToken.toption[@ocaml.doc"The participant token that was created."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`PendingVerificationofPendingVerification.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?participantToken=fun()->{participantToken}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"PendingVerification"->`PendingVerification(PendingVerification.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"PendingVerification"->`PendingVerification(PendingVerification.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`PendingVerificatione->`Assoc[("error",(`String"PendingVerification"));("details",(PendingVerification.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("participantToken",(Option.mapx.participantToken~f:ParticipantToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letparticipantToken=(Option.map~f:ParticipantToken.of_xml)(Xml.childxml_arg0"participantToken")inmake?participantToken()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letparticipantToken=field_mapjson__"participantToken"ParticipantToken.of_jsoninmake?participantToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates an additional token for a specified stage. This can be done after stage creation or when tokens expire. Tokens always are scoped to the stage for which they are created. Encryption keys are owned by Amazon IVS and never used directly by your application."]moduleCreateParticipantTokenRequest=structtypenonrect={stageArn:StageArn.t[@ocaml.doc"ARN of the stage to which this token is scoped."];duration:ParticipantTokenDurationMinutes.toption[@ocaml.doc"Duration (in minutes), after which the token expires. Default: 720 (12 hours)."];userId:ParticipantTokenUserId.toption[@ocaml.doc"Name that can be specified to help identify the token. This can be any UTF-8 encoded text. This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information."];attributes:ParticipantTokenAttributes.toption[@ocaml.doc"Application-provided attributes to encode into the token and attach to a stage. Map keys and values can contain UTF-8 encoded text. The maximum length of this field is 1 KB total. This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information."];capabilities:ParticipantTokenCapabilities.toption[@ocaml.doc"Set of capabilities that the user is allowed to perform in the stage. Default: PUBLISH, SUBSCRIBE."]}letcontext_="CreateParticipantTokenRequest"letmake?duration=fun?userId->fun?attributes->fun?capabilities->fun~stageArn->fun()->{duration;userId;attributes;capabilities;stageArn}letto_valuex=structure_to_value[("stageArn",(Some(StageArn.to_valuex.stageArn)));("duration",(Option.mapx.duration~f:ParticipantTokenDurationMinutes.to_value));("userId",(Option.mapx.userId~f:ParticipantTokenUserId.to_value));("attributes",(Option.mapx.attributes~f:ParticipantTokenAttributes.to_value));("capabilities",(Option.mapx.capabilities~f:ParticipantTokenCapabilities.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcapabilities=(Option.map~f:ParticipantTokenCapabilities.of_xml)(Xml.childxml_arg0"capabilities")inletattributes=(Option.map~f:ParticipantTokenAttributes.of_xml)(Xml.childxml_arg0"attributes")inletuserId=(Option.map~f:ParticipantTokenUserId.of_xml)(Xml.childxml_arg0"userId")inletduration=(Option.map~f:ParticipantTokenDurationMinutes.of_xml)(Xml.childxml_arg0"duration")inletstageArn=StageArn.of_xml(Xml.child_exn~context:context_xml_arg0"stageArn")inmake?capabilities?attributes?userId?duration~stageArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcapabilities=field_mapjson__"capabilities"ParticipantTokenCapabilities.of_jsoninletattributes=field_mapjson__"attributes"ParticipantTokenAttributes.of_jsoninletuserId=field_mapjson__"userId"ParticipantTokenUserId.of_jsoninletduration=field_mapjson__"duration"ParticipantTokenDurationMinutes.of_jsoninletstageArn=field_map_exnjson__"stageArn"StageArn.of_jsoninmake?capabilities?attributes?userId?duration~stageArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates an additional token for a specified stage. This can be done after stage creation or when tokens expire. Tokens always are scoped to the stage for which they are created. Encryption keys are owned by Amazon IVS and never used directly by your application."]moduleCreateIngestConfigurationResponse=structtypenonrect={ingestConfiguration:IngestConfiguration.toption[@ocaml.doc"The IngestConfiguration that was created."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`PendingVerificationofPendingVerification.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?ingestConfiguration=fun()->{ingestConfiguration}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"PendingVerification"->`PendingVerification(PendingVerification.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"PendingVerification"->`PendingVerification(PendingVerification.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`PendingVerificatione->`Assoc[("error",(`String"PendingVerification"));("details",(PendingVerification.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("ingestConfiguration",(Option.mapx.ingestConfiguration~f:IngestConfiguration.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letingestConfiguration=(Option.map~f:IngestConfiguration.of_xml)(Xml.childxml_arg0"ingestConfiguration")inmake?ingestConfiguration()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letingestConfiguration=field_mapjson__"ingestConfiguration"IngestConfiguration.of_jsoninmake?ingestConfiguration()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a new IngestConfiguration resource, used to specify the ingest protocol for a stage."]moduleCreateIngestConfigurationRequest=structtypenonrect={name:IngestConfigurationName.toption[@ocaml.doc"Optional name that can be specified for the IngestConfiguration being created."];stageArn:IngestConfigurationStageArn.toption[@ocaml.doc"ARN of the stage with which the IngestConfiguration is associated."];userId:UserId.toption[@ocaml.doc"Customer-assigned name to help identify the participant using the IngestConfiguration; this can be used to link a participant to a user in the customer\226\128\153s own systems. This can be any UTF-8 encoded text. This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information."];attributes:ParticipantAttributes.toption[@ocaml.doc"Application-provided attributes to store in the IngestConfiguration and attach to a stage. Map keys and values can contain UTF-8 encoded text. The maximum length of this field is 1 KB total. This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information."];ingestProtocol:IngestProtocol.t[@ocaml.doc"Type of ingest protocol that the user employs to broadcast. If this is set to RTMP, insecureIngest must be set to true."];insecureIngest:InsecureIngest.toption[@ocaml.doc"Whether the stage allows insecure RTMP ingest. This must be set to true, if ingestProtocol is set to RTMP. Default: false."];redundantIngest:RedundantIngest.toption[@ocaml.doc"Indicates whether redundant ingest is enabled for the ingest configuration. Default: false."];tags:Tags.toption[@ocaml.doc"Tags attached to the resource. Array of maps, each of the form string:string (key:value). See Best practices and strategies in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there."]}letcontext_="CreateIngestConfigurationRequest"letmake?name=fun?stageArn->fun?userId->fun?attributes->fun?insecureIngest->fun?redundantIngest->fun?tags->fun~ingestProtocol->fun()->{name;stageArn;userId;attributes;insecureIngest;redundantIngest;tags;ingestProtocol}letto_valuex=structure_to_value[("name",(Option.mapx.name~f:IngestConfigurationName.to_value));("stageArn",(Option.mapx.stageArn~f:IngestConfigurationStageArn.to_value));("userId",(Option.mapx.userId~f:UserId.to_value));("attributes",(Option.mapx.attributes~f:ParticipantAttributes.to_value));("ingestProtocol",(Some(IngestProtocol.to_valuex.ingestProtocol)));("insecureIngest",(Option.mapx.insecureIngest~f:InsecureIngest.to_value));("redundantIngest",(Option.mapx.redundantIngest~f:RedundantIngest.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")inletredundantIngest=(Option.map~f:RedundantIngest.of_xml)(Xml.childxml_arg0"redundantIngest")inletinsecureIngest=(Option.map~f:InsecureIngest.of_xml)(Xml.childxml_arg0"insecureIngest")inletingestProtocol=IngestProtocol.of_xml(Xml.child_exn~context:context_xml_arg0"ingestProtocol")inletattributes=(Option.map~f:ParticipantAttributes.of_xml)(Xml.childxml_arg0"attributes")inletuserId=(Option.map~f:UserId.of_xml)(Xml.childxml_arg0"userId")inletstageArn=(Option.map~f:IngestConfigurationStageArn.of_xml)(Xml.childxml_arg0"stageArn")inletname=(Option.map~f:IngestConfigurationName.of_xml)(Xml.childxml_arg0"name")inmake?tags?redundantIngest?insecureIngest~ingestProtocol?attributes?userId?stageArn?name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"tags"Tags.of_jsoninletredundantIngest=field_mapjson__"redundantIngest"RedundantIngest.of_jsoninletinsecureIngest=field_mapjson__"insecureIngest"InsecureIngest.of_jsoninletingestProtocol=field_map_exnjson__"ingestProtocol"IngestProtocol.of_jsoninletattributes=field_mapjson__"attributes"ParticipantAttributes.of_jsoninletuserId=field_mapjson__"userId"UserId.of_jsoninletstageArn=field_mapjson__"stageArn"IngestConfigurationStageArn.of_jsoninletname=field_mapjson__"name"IngestConfigurationName.of_jsoninmake?tags?redundantIngest?insecureIngest~ingestProtocol?attributes?userId?stageArn?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a new IngestConfiguration resource, used to specify the ingest protocol for a stage."]moduleCreateEncoderConfigurationResponse=structtypenonrect={encoderConfiguration:EncoderConfiguration.toption[@ocaml.doc"The EncoderConfiguration that was created."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`PendingVerificationofPendingVerification.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?encoderConfiguration=fun()->{encoderConfiguration}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"PendingVerification"->`PendingVerification(PendingVerification.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"PendingVerification"->`PendingVerification(PendingVerification.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`PendingVerificatione->`Assoc[("error",(`String"PendingVerification"));("details",(PendingVerification.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("encoderConfiguration",(Option.mapx.encoderConfiguration~f:EncoderConfiguration.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letencoderConfiguration=(Option.map~f:EncoderConfiguration.of_xml)(Xml.childxml_arg0"encoderConfiguration")inmake?encoderConfiguration()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letencoderConfiguration=field_mapjson__"encoderConfiguration"EncoderConfiguration.of_jsoninmake?encoderConfiguration()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates an EncoderConfiguration object."]moduleCreateEncoderConfigurationRequest=structtypenonrect={name:EncoderConfigurationName.toption[@ocaml.doc"Optional name to identify the resource."];video:Video.toption[@ocaml.doc"Video configuration. Default: video resolution 1280x720, bitrate 2500 kbps, 30 fps."];tags:Tags.toption[@ocaml.doc"Tags attached to the resource. Array of maps, each of the form string:string (key:value). See Best practices and strategies in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there."]}letmake?name=fun?video->fun?tags->fun()->{name;video;tags}letto_valuex=structure_to_value[("name",(Option.mapx.name~f:EncoderConfigurationName.to_value));("video",(Option.mapx.video~f:Video.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")inletvideo=(Option.map~f:Video.of_xml)(Xml.childxml_arg0"video")inletname=(Option.map~f:EncoderConfigurationName.of_xml)(Xml.childxml_arg0"name")inmake?tags?video?name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"tags"Tags.of_jsoninletvideo=field_mapjson__"video"Video.of_jsoninletname=field_mapjson__"name"EncoderConfigurationName.of_jsoninmake?tags?video?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates an EncoderConfiguration object."]