12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371113721137311374113751137611377113781137911380113811138211383113841138511386113871138811389113901139111392113931139411395113961139711398113991140011401114021140311404114051140611407114081140911410114111141211413114141141511416114171141811419114201142111422114231142411425114261142711428114291143011431114321143311434114351143611437114381143911440114411144211443114441144511446114471144811449114501145111452114531145411455114561145711458114591146011461114621146311464114651146611467114681146911470114711147211473114741147511476114771147811479114801148111482114831148411485114861148711488114891149011491114921149311494114951149611497114981149911500115011150211503115041150511506115071150811509115101151111512115131151411515115161151711518115191152011521115221152311524115251152611527115281152911530115311153211533115341153511536115371153811539115401154111542115431154411545115461154711548115491155011551115521155311554115551155611557115581155911560115611156211563115641156511566115671156811569115701157111572115731157411575115761157711578115791158011581115821158311584115851158611587115881158911590115911159211593115941159511596115971159811599116001160111602116031160411605116061160711608116091161011611116121161311614116151161611617116181161911620116211162211623116241162511626116271162811629116301163111632116331163411635116361163711638116391164011641116421164311644116451164611647116481164911650116511165211653116541165511656116571165811659116601166111662116631166411665116661166711668116691167011671116721167311674116751167611677116781167911680116811168211683116841168511686116871168811689116901169111692116931169411695116961169711698116991170011701117021170311704117051170611707117081170911710117111171211713117141171511716117171171811719117201172111722117231172411725117261172711728117291173011731117321173311734117351173611737117381173911740117411174211743117441174511746117471174811749117501175111752117531175411755117561175711758117591176011761117621176311764117651176611767117681176911770117711177211773117741177511776117771177811779117801178111782117831178411785117861178711788117891179011791117921179311794117951179611797117981179911800118011180211803118041180511806118071180811809118101181111812118131181411815118161181711818118191182011821118221182311824118251182611827118281182911830118311183211833118341183511836118371183811839118401184111842118431184411845118461184711848118491185011851118521185311854118551185611857118581185911860118611186211863118641186511866118671186811869118701187111872118731187411875118761187711878118791188011881118821188311884118851188611887118881188911890118911189211893118941189511896118971189811899119001190111902119031190411905119061190711908119091191011911119121191311914119151191611917119181191911920119211192211923119241192511926119271192811929119301193111932119331193411935119361193711938119391194011941119421194311944119451194611947119481194911950119511195211953119541195511956119571195811959119601196111962119631196411965119661196711968119691197011971119721197311974119751197611977119781197911980119811198211983119841198511986119871198811989119901199111992119931199411995119961199711998119991200012001120021200312004120051200612007120081200912010120111201212013120141201512016120171201812019120201202112022120231202412025120261202712028120291203012031120321203312034120351203612037120381203912040120411204212043120441204512046120471204812049120501205112052120531205412055120561205712058120591206012061120621206312064120651206612067120681206912070120711207212073120741207512076120771207812079120801208112082120831208412085120861208712088120891209012091120921209312094120951209612097120981209912100121011210212103121041210512106121071210812109121101211112112121131211412115121161211712118121191212012121121221212312124121251212612127121281212912130121311213212133121341213512136121371213812139121401214112142121431214412145121461214712148121491215012151121521215312154121551215612157121581215912160121611216212163121641216512166121671216812169121701217112172121731217412175121761217712178121791218012181121821218312184121851218612187121881218912190121911219212193121941219512196121971219812199122001220112202122031220412205122061220712208122091221012211122121221312214122151221612217122181221912220122211222212223122241222512226122271222812229122301223112232122331223412235122361223712238122391224012241122421224312244122451224612247122481224912250122511225212253122541225512256122571225812259122601226112262122631226412265122661226712268122691227012271122721227312274122751227612277122781227912280122811228212283122841228512286122871228812289122901229112292122931229412295122961229712298122991230012301123021230312304123051230612307123081230912310123111231212313123141231512316123171231812319123201232112322123231232412325123261232712328123291233012331123321233312334123351233612337123381233912340123411234212343123441234512346123471234812349123501235112352123531235412355123561235712358123591236012361123621236312364123651236612367123681236912370123711237212373123741237512376123771237812379123801238112382123831238412385123861238712388123891239012391123921239312394123951239612397123981239912400124011240212403124041240512406124071240812409124101241112412124131241412415124161241712418124191242012421124221242312424124251242612427124281242912430124311243212433124341243512436124371243812439124401244112442124431244412445124461244712448124491245012451124521245312454124551245612457124581245912460124611246212463124641246512466124671246812469124701247112472124731247412475124761247712478124791248012481124821248312484124851248612487124881248912490124911249212493124941249512496124971249812499125001250112502125031250412505125061250712508125091251012511125121251312514125151251612517125181251912520125211252212523125241252512526125271252812529125301253112532125331253412535125361253712538125391254012541125421254312544125451254612547125481254912550125511255212553125541255512556125571255812559125601256112562125631256412565125661256712568125691257012571125721257312574125751257612577125781257912580125811258212583125841258512586125871258812589125901259112592125931259412595125961259712598125991260012601126021260312604126051260612607126081260912610126111261212613126141261512616126171261812619126201262112622126231262412625126261262712628126291263012631126321263312634126351263612637126381263912640126411264212643126441264512646126471264812649126501265112652126531265412655126561265712658126591266012661126621266312664126651266612667126681266912670126711267212673126741267512676126771267812679126801268112682126831268412685126861268712688126891269012691126921269312694126951269612697126981269912700127011270212703127041270512706127071270812709127101271112712127131271412715127161271712718127191272012721127221272312724127251272612727127281272912730127311273212733127341273512736127371273812739127401274112742127431274412745127461274712748127491275012751127521275312754127551275612757127581275912760127611276212763127641276512766127671276812769127701277112772127731277412775127761277712778127791278012781127821278312784127851278612787127881278912790127911279212793127941279512796127971279812799128001280112802128031280412805128061280712808128091281012811128121281312814128151281612817128181281912820128211282212823128241282512826128271282812829128301283112832128331283412835128361283712838128391284012841128421284312844128451284612847128481284912850128511285212853128541285512856128571285812859128601286112862128631286412865128661286712868128691287012871128721287312874128751287612877128781287912880128811288212883128841288512886128871288812889128901289112892128931289412895128961289712898128991290012901129021290312904129051290612907129081290912910129111291212913129141291512916129171291812919129201292112922129231292412925129261292712928129291293012931129321293312934129351293612937129381293912940129411294212943129441294512946129471294812949129501295112952129531295412955129561295712958129591296012961129621296312964129651296612967129681296912970129711297212973129741297512976129771297812979129801298112982129831298412985129861298712988129891299012991129921299312994129951299612997129981299913000130011300213003130041300513006130071300813009130101301113012130131301413015130161301713018130191302013021130221302313024130251302613027130281302913030130311303213033130341303513036130371303813039130401304113042130431304413045130461304713048130491305013051130521305313054130551305613057130581305913060130611306213063130641306513066130671306813069130701307113072130731307413075130761307713078130791308013081130821308313084130851308613087130881308913090130911309213093130941309513096130971309813099131001310113102131031310413105131061310713108131091311013111131121311313114131151311613117131181311913120131211312213123131241312513126131271312813129131301313113132131331313413135131361313713138131391314013141131421314313144131451314613147131481314913150131511315213153131541315513156131571315813159131601316113162131631316413165131661316713168131691317013171131721317313174131751317613177131781317913180131811318213183131841318513186131871318813189131901319113192131931319413195131961319713198131991320013201132021320313204132051320613207132081320913210132111321213213132141321513216132171321813219132201322113222132231322413225132261322713228132291323013231132321323313234132351323613237132381323913240132411324213243132441324513246132471324813249132501325113252132531325413255132561325713258132591326013261132621326313264132651326613267132681326913270132711327213273132741327513276132771327813279132801328113282132831328413285132861328713288132891329013291132921329313294132951329613297132981329913300133011330213303133041330513306133071330813309133101331113312133131331413315133161331713318133191332013321133221332313324133251332613327133281332913330133311333213333133341333513336133371333813339133401334113342133431334413345133461334713348133491335013351133521335313354133551335613357133581335913360133611336213363133641336513366133671336813369133701337113372133731337413375133761337713378133791338013381133821338313384133851338613387133881338913390133911339213393133941339513396133971339813399134001340113402134031340413405134061340713408134091341013411134121341313414134151341613417134181341913420134211342213423134241342513426134271342813429134301343113432134331343413435134361343713438134391344013441134421344313444134451344613447134481344913450134511345213453134541345513456134571345813459134601346113462134631346413465134661346713468134691347013471134721347313474134751347613477134781347913480134811348213483134841348513486134871348813489134901349113492134931349413495134961349713498134991350013501135021350313504135051350613507135081350913510135111351213513135141351513516135171351813519135201352113522135231352413525135261352713528135291353013531135321353313534135351353613537135381353913540135411354213543135441354513546135471354813549135501355113552135531355413555135561355713558135591356013561135621356313564135651356613567135681356913570135711357213573135741357513576135771357813579135801358113582135831358413585135861358713588135891359013591135921359313594135951359613597135981359913600136011360213603136041360513606136071360813609136101361113612136131361413615136161361713618136191362013621136221362313624136251362613627136281362913630136311363213633136341363513636136371363813639136401364113642136431364413645136461364713648136491365013651136521365313654136551365613657136581365913660136611366213663136641366513666136671366813669136701367113672136731367413675136761367713678136791368013681136821368313684136851368613687136881368913690136911369213693136941369513696136971369813699137001370113702137031370413705137061370713708137091371013711137121371313714137151371613717137181371913720137211372213723137241372513726137271372813729137301373113732137331373413735137361373713738137391374013741137421374313744137451374613747137481374913750137511375213753137541375513756137571375813759137601376113762137631376413765137661376713768137691377013771137721377313774137751377613777137781377913780137811378213783137841378513786137871378813789137901379113792137931379413795137961379713798137991380013801138021380313804138051380613807138081380913810138111381213813138141381513816138171381813819138201382113822138231382413825138261382713828138291383013831138321383313834138351383613837138381383913840138411384213843138441384513846138471384813849138501385113852138531385413855138561385713858138591386013861138621386313864138651386613867138681386913870138711387213873138741387513876138771387813879138801388113882138831388413885138861388713888138891389013891138921389313894138951389613897138981389913900139011390213903139041390513906139071390813909139101391113912139131391413915139161391713918139191392013921139221392313924139251392613927139281392913930139311393213933139341393513936139371393813939139401394113942139431394413945139461394713948139491395013951139521395313954139551395613957139581395913960139611396213963139641396513966139671396813969139701397113972139731397413975139761397713978139791398013981139821398313984139851398613987139881398913990139911399213993139941399513996139971399813999140001400114002140031400414005140061400714008140091401014011140121401314014140151401614017140181401914020140211402214023140241402514026140271402814029140301403114032140331403414035140361403714038140391404014041140421404314044140451404614047140481404914050140511405214053140541405514056140571405814059140601406114062140631406414065140661406714068140691407014071140721407314074140751407614077140781407914080140811408214083140841408514086140871408814089140901409114092140931409414095140961409714098140991410014101141021410314104141051410614107141081410914110141111411214113141141411514116141171411814119141201412114122141231412414125141261412714128141291413014131141321413314134141351413614137141381413914140141411414214143141441414514146141471414814149141501415114152141531415414155141561415714158141591416014161141621416314164141651416614167141681416914170141711417214173141741417514176141771417814179141801418114182141831418414185141861418714188141891419014191141921419314194141951419614197141981419914200142011420214203142041420514206142071420814209142101421114212142131421414215142161421714218142191422014221142221422314224142251422614227142281422914230142311423214233142341423514236142371423814239142401424114242142431424414245142461424714248142491425014251142521425314254142551425614257142581425914260142611426214263142641426514266142671426814269142701427114272142731427414275142761427714278142791428014281142821428314284142851428614287142881428914290142911429214293142941429514296142971429814299143001430114302143031430414305143061430714308143091431014311143121431314314143151431614317143181431914320143211432214323143241432514326143271432814329143301433114332143331433414335143361433714338143391434014341143421434314344143451434614347143481434914350143511435214353143541435514356143571435814359143601436114362143631436414365143661436714368143691437014371143721437314374143751437614377143781437914380143811438214383143841438514386143871438814389143901439114392143931439414395143961439714398143991440014401144021440314404144051440614407144081440914410144111441214413144141441514416144171441814419144201442114422144231442414425144261442714428144291443014431144321443314434144351443614437144381443914440144411444214443144441444514446144471444814449144501445114452144531445414455144561445714458144591446014461144621446314464144651446614467144681446914470144711447214473144741447514476144771447814479144801448114482144831448414485144861448714488144891449014491144921449314494144951449614497144981449914500145011450214503145041450514506145071450814509145101451114512145131451414515145161451714518145191452014521145221452314524145251452614527145281452914530145311453214533145341453514536145371453814539145401454114542145431454414545145461454714548145491455014551145521455314554145551455614557145581455914560145611456214563145641456514566145671456814569145701457114572145731457414575145761457714578145791458014581145821458314584145851458614587145881458914590145911459214593145941459514596145971459814599146001460114602146031460414605146061460714608146091461014611146121461314614146151461614617146181461914620146211462214623146241462514626146271462814629146301463114632146331463414635146361463714638146391464014641146421464314644146451464614647146481464914650146511465214653146541465514656146571465814659146601466114662146631466414665146661466714668146691467014671146721467314674146751467614677146781467914680146811468214683146841468514686146871468814689146901469114692146931469414695146961469714698146991470014701147021470314704147051470614707147081470914710147111471214713147141471514716147171471814719147201472114722147231472414725147261472714728147291473014731147321473314734147351473614737147381473914740147411474214743147441474514746147471474814749147501475114752147531475414755147561475714758147591476014761147621476314764147651476614767147681476914770147711477214773147741477514776147771477814779147801478114782147831478414785147861478714788147891479014791147921479314794147951479614797147981479914800148011480214803148041480514806148071480814809148101481114812148131481414815148161481714818148191482014821148221482314824148251482614827(* 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.auditmanagerletapiVersion="2017-07-25"letendpointPrefix="auditmanager"letserviceFullName="AWS Audit Manager"letsignatureVersion="v4"letprotocol="rest_json"letglobalEndpoint=endpointPrefix^".amazonaws.com"letsimple_to_jsonto_valuex=Botodata.Json.value_to_json_scalar(to_valuex)letcomposed_to_jsonto_valuex=Botodata.Json.value_to_json(to_valuex)letto_queryto_valuex=Client.Query.of_value(to_valuex)letstructure_to_value_auxst~f=letfilter=function|(k,Somev)->Some(k,v)|_->Noneinletpairkv=(k,v)inletdefer_value(k,dv)=pairkdvin((List.filter_mapst~f:filter)|>(List.map~f:defer_value))|>(funx->`Structure(fx))letstructure_to_value=structure_to_value_aux~f:Fn.idletstructure_to_wrapped_value~wrapper~response=structure_to_value_aux~f:(funx->[(wrapper,(`Structurex));(response,(`Structure[]))])moduleControlCommentBody=structtypenonrect=stringletcontext_="ControlCommentBody"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:500)>>=(fun()->check_patterni~pattern:"^[\\w\\W\\s\\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:"ControlCommentBody"jletto_json=simple_to_jsonto_valueendmoduleTimestamp=structtypenonrect=stringletmakei=iletof_stringx=xletto_valuex=`Timestampxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=string_of_xml~kind:"a timestamp"letof_json=timestamp_of_jsonletto_json=simple_to_jsonto_valueendmoduleUsername=structtypenonrect=stringletcontext_="Username"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(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:"Username"jletto_json=simple_to_jsonto_valueendmoduleKeywordInputType=structtypenonrect=|SELECT_FROM_LIST|UPLOAD_FILE|INPUT_TEXT|Non_static_idofstringletmakei=iletto_string=function|SELECT_FROM_LIST->"SELECT_FROM_LIST"|UPLOAD_FILE->"UPLOAD_FILE"|INPUT_TEXT->"INPUT_TEXT"|Non_static_ids->sletof_string=function|"SELECT_FROM_LIST"->SELECT_FROM_LIST|"UPLOAD_FILE"->UPLOAD_FILE|"INPUT_TEXT"->INPUT_TEXT|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 KeywordInputType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"KeywordInputType"j)letto_json=simple_to_jsonto_valueendmoduleKeywordValue=structtypenonrect=stringletcontext_="KeywordValue"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:100)>>=(fun()->check_patterni~pattern:"^[a-zA-Z_0-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:"KeywordValue"jletto_json=simple_to_jsonto_valueendmoduleControlComment=structtypenonrect={authorName:Username.toption[@ocaml.doc"The name of the user who authored the comment."];commentBody:ControlCommentBody.toption[@ocaml.doc"The body text of a control comment."];postedDate:Timestamp.toption[@ocaml.doc"The time when the comment was posted."]}letmake?authorName=fun?commentBody->fun?postedDate->fun()->{authorName;commentBody;postedDate}letto_valuex=structure_to_value[("authorName",(Option.mapx.authorName~f:Username.to_value));("commentBody",(Option.mapx.commentBody~f:ControlCommentBody.to_value));("postedDate",(Option.mapx.postedDate~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letpostedDate=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"postedDate")inletcommentBody=(Option.map~f:ControlCommentBody.of_xml)(Xml.childxml_arg0"commentBody")inletauthorName=(Option.map~f:Username.of_xml)(Xml.childxml_arg0"authorName")inmake?postedDate?commentBody?authorName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letpostedDate=field_mapjson__"postedDate"Timestamp.of_jsoninletcommentBody=field_mapjson__"commentBody"ControlCommentBody.of_jsoninletauthorName=field_mapjson__"authorName"Username.of_jsoninmake?postedDate?commentBody?authorName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A comment that's posted by a user on a control. This includes the author's name, the comment text, and a timestamp."]moduleNonEmptyString=structtypenonrect=stringletcontext_="NonEmptyString"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:".*\\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:"NonEmptyString"jletto_json=simple_to_jsonto_valueendmoduleSourceDescription=structtypenonrect=stringletcontext_="SourceDescription"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:1000)>>=(fun()->check_patterni~pattern:"^[\\w\\W\\s\\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:"SourceDescription"jletto_json=simple_to_jsonto_valueendmoduleSourceFrequency=structtypenonrect=|DAILY|WEEKLY|MONTHLY|Non_static_idofstringletmakei=iletto_string=function|DAILY->"DAILY"|WEEKLY->"WEEKLY"|MONTHLY->"MONTHLY"|Non_static_ids->sletof_string=function|"DAILY"->DAILY|"WEEKLY"->WEEKLY|"MONTHLY"->MONTHLY|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 SourceFrequency"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"SourceFrequency"j)letto_json=simple_to_jsonto_valueendmoduleSourceKeyword=structtypenonrect={keywordInputType:KeywordInputType.toption[@ocaml.doc"The input method for the keyword. SELECT_FROM_LIST is used when mapping a data source for automated evidence. When keywordInputType is SELECT_FROM_LIST, a keyword must be selected to collect automated evidence. For example, this keyword can be a CloudTrail event name, a rule name for Config, a Security Hub control, or the name of an Amazon Web Services API call. UPLOAD_FILE and INPUT_TEXT are only used when mapping a data source for manual evidence. When keywordInputType is UPLOAD_FILE, a file must be uploaded as manual evidence. When keywordInputType is INPUT_TEXT, text must be entered as manual evidence."];keywordValue:KeywordValue.toption[@ocaml.doc"The value of the keyword that's used when mapping a control data source. For example, this can be a CloudTrail event name, a rule name for Config, a Security Hub control, or the name of an Amazon Web Services API call. If you\226\128\153re mapping a data source to a rule in Config, the keywordValue that you specify depends on the type of rule: For managed rules, you can use the rule identifier as the keywordValue. You can find the rule identifier from the list of Config managed rules. For some rules, the rule identifier is different from the rule name. For example, the rule name restricted-ssh has the following rule identifier: INCOMING_SSH_DISABLED. Make sure to use the rule identifier, not the rule name. Keyword example for managed rules: Managed rule name: s3-bucket-acl-prohibited keywordValue: S3_BUCKET_ACL_PROHIBITED For custom rules, you form the keywordValue by adding the Custom_ prefix to the rule name. This prefix distinguishes the custom rule from a managed rule. Keyword example for custom rules: Custom rule name: my-custom-config-rule keywordValue: Custom_my-custom-config-rule For service-linked rules, you form the keywordValue by adding the Custom_ prefix to the rule name. In addition, you remove the suffix ID that appears at the end of the rule name. Keyword examples for service-linked rules: Service-linked rule name: CustomRuleForAccount-conformance-pack-szsm1uv0w keywordValue: Custom_CustomRuleForAccount-conformance-pack Service-linked rule name: OrgConfigRule-s3-bucket-versioning-enabled-dbgzf8ba keywordValue: Custom_OrgConfigRule-s3-bucket-versioning-enabled The keywordValue is case sensitive. If you enter a value incorrectly, Audit Manager might not recognize the data source mapping. As a result, you might not successfully collect evidence from that data source as intended. Keep in mind the following requirements, depending on the data source type that you're using. For Config: For managed rules, make sure that the keywordValue is the rule identifier in ALL_CAPS_WITH_UNDERSCORES. For example, CLOUDWATCH_LOG_GROUP_ENCRYPTED. For accuracy, we recommend that you reference the list of supported Config managed rules. For custom rules, make sure that the keywordValue has the Custom_ prefix followed by the custom rule name. The format of the custom rule name itself may vary. For accuracy, we recommend that you visit the Config console to verify your custom rule name. For Security Hub: The format varies for Security Hub control names. For accuracy, we recommend that you reference the list of supported Security Hub controls. For Amazon Web Services API calls: Make sure that the keywordValue is written as serviceprefix_ActionName. For example, iam_ListGroups. For accuracy, we recommend that you reference the list of supported API calls. For CloudTrail: Make sure that the keywordValue is written as serviceprefix_ActionName. For example, cloudtrail_StartLogging. For accuracy, we recommend that you review the Amazon Web Services service prefix and action names in the Service Authorization Reference."]}letmake?keywordInputType=fun?keywordValue->fun()->{keywordInputType;keywordValue}letto_valuex=structure_to_value[("keywordInputType",(Option.mapx.keywordInputType~f:KeywordInputType.to_value));("keywordValue",(Option.mapx.keywordValue~f:KeywordValue.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letkeywordValue=(Option.map~f:KeywordValue.of_xml)(Xml.childxml_arg0"keywordValue")inletkeywordInputType=(Option.map~f:KeywordInputType.of_xml)(Xml.childxml_arg0"keywordInputType")inmake?keywordValue?keywordInputType()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letkeywordValue=field_mapjson__"keywordValue"KeywordValue.of_jsoninletkeywordInputType=field_mapjson__"keywordInputType"KeywordInputType.of_jsoninmake?keywordValue?keywordInputType()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A keyword that relates to the control data source. For manual evidence, this keyword indicates if the manual evidence is a file or text. For automated evidence, this keyword identifies a specific CloudTrail event, Config rule, Security Hub control, or Amazon Web Services API name. To learn more about the supported keywords that you can use when mapping a control data source, see the following pages in the Audit Manager User Guide: Config rules supported by Audit Manager Security Hub controls supported by Audit Manager API calls supported by Audit Manager CloudTrail event names supported by Audit Manager"]moduleSourceName=structtypenonrect=stringletcontext_="SourceName"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:300)>>=(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:"SourceName"jletto_json=simple_to_jsonto_valueendmoduleSourceSetUpOption=structtypenonrect=|System_Controls_Mapping|Procedural_Controls_Mapping|Non_static_idofstringletmakei=iletto_string=function|System_Controls_Mapping->"System_Controls_Mapping"|Procedural_Controls_Mapping->"Procedural_Controls_Mapping"|Non_static_ids->sletof_string=function|"System_Controls_Mapping"->System_Controls_Mapping|"Procedural_Controls_Mapping"->Procedural_Controls_Mapping|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 SourceSetUpOption"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"SourceSetUpOption"j)letto_json=simple_to_jsonto_valueendmoduleSourceType=structtypenonrect=|AWS_Cloudtrail|AWS_Config|AWS_Security_Hub|AWS_API_Call|MANUAL|Common_Control|Core_Control|Non_static_idofstringletmakei=iletto_string=function|AWS_Cloudtrail->"AWS_Cloudtrail"|AWS_Config->"AWS_Config"|AWS_Security_Hub->"AWS_Security_Hub"|AWS_API_Call->"AWS_API_Call"|MANUAL->"MANUAL"|Common_Control->"Common_Control"|Core_Control->"Core_Control"|Non_static_ids->sletof_string=function|"AWS_Cloudtrail"->AWS_Cloudtrail|"AWS_Config"->AWS_Config|"AWS_Security_Hub"->AWS_Security_Hub|"AWS_API_Call"->AWS_API_Call|"MANUAL"->MANUAL|"Common_Control"->Common_Control|"Core_Control"->Core_Control|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 SourceType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"SourceType"j)letto_json=simple_to_jsonto_valueendmoduleTroubleshootingText=structtypenonrect=stringletcontext_="TroubleshootingText"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:1000)>>=(fun()->check_patterni~pattern:"^[\\w\\W\\s\\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:"TroubleshootingText"jletto_json=simple_to_jsonto_valueendmoduleUUID=structtypenonrect=stringletcontext_="UUID"letmakei=letopenResultinok_or_failwith((check_string_mini~min:36)>>=(fun()->(check_string_maxi~max:36)>>=(fun()->check_patterni~pattern:"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"UUID"jletto_json=simple_to_jsonto_valueendmoduleControlComments=structtypenonrect=ControlComment.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ControlComment.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:ControlComment.of_xml)letof_jsonj=list_of_json~kind:"ControlComments"~of_json:ControlComment.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleControlDescription=structtypenonrect=stringletcontext_="ControlDescription"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:1000)>>=(fun()->check_patterni~pattern:"^[\\w\\W\\s\\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:"ControlDescription"jletto_json=simple_to_jsonto_valueendmoduleControlName=structtypenonrect=stringletcontext_="ControlName"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:300)>>=(fun()->check_patterni~pattern:"^[^\\\\]*$")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ControlName"jletto_json=simple_to_jsonto_valueendmoduleControlResponse=structtypenonrect=|MANUAL|AUTOMATE|DEFER|IGNORE|Non_static_idofstringletmakei=iletto_string=function|MANUAL->"MANUAL"|AUTOMATE->"AUTOMATE"|DEFER->"DEFER"|IGNORE->"IGNORE"|Non_static_ids->sletof_string=function|"MANUAL"->MANUAL|"AUTOMATE"->AUTOMATE|"DEFER"->DEFER|"IGNORE"->IGNORE|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 ControlResponse"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ControlResponse"j)letto_json=simple_to_jsonto_valueendmoduleControlStatus=structtypenonrect=|UNDER_REVIEW|REVIEWED|INACTIVE|Non_static_idofstringletmakei=iletto_string=function|UNDER_REVIEW->"UNDER_REVIEW"|REVIEWED->"REVIEWED"|INACTIVE->"INACTIVE"|Non_static_ids->sletof_string=function|"UNDER_REVIEW"->UNDER_REVIEW|"REVIEWED"->REVIEWED|"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 ControlStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ControlStatus"j)letto_json=simple_to_jsonto_valueendmoduleEvidenceSources=structtypenonrect=NonEmptyString.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:NonEmptyString.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:NonEmptyString.of_xml)letof_jsonj=list_of_json~kind:"EvidenceSources"~of_json:NonEmptyString.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleInteger=structtypenonrect=intletmakei=iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for Integer"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleAssessmentName=structtypenonrect=stringletcontext_="AssessmentName"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:300)>>=(fun()->check_patterni~pattern:"^[^\\\\]*$")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"AssessmentName"jletto_json=simple_to_jsonto_valueendmoduleControlSetId=structtypenonrect=stringletcontext_="ControlSetId"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:300)>>=(fun()->check_patterni~pattern:"^[\\w\\W\\s\\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:"ControlSetId"jletto_json=simple_to_jsonto_valueendmoduleCreatedBy=structtypenonrect=stringletcontext_="CreatedBy"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:100)>>=(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:"CreatedBy"jletto_json=simple_to_jsonto_valueendmoduleDelegationComment=structtypenonrect=stringletcontext_="DelegationComment"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:350)>>=(fun()->check_patterni~pattern:"^[\\w\\W\\s\\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:"DelegationComment"jletto_json=simple_to_jsonto_valueendmoduleDelegationStatus=structtypenonrect=|IN_PROGRESS|UNDER_REVIEW|COMPLETE|Non_static_idofstringletmakei=iletto_string=function|IN_PROGRESS->"IN_PROGRESS"|UNDER_REVIEW->"UNDER_REVIEW"|COMPLETE->"COMPLETE"|Non_static_ids->sletof_string=function|"IN_PROGRESS"->IN_PROGRESS|"UNDER_REVIEW"->UNDER_REVIEW|"COMPLETE"->COMPLETE|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 DelegationStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"DelegationStatus"j)letto_json=simple_to_jsonto_valueendmoduleIamArn=structtypenonrect=stringletcontext_="IamArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:20)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:"^arn:.*:iam:.*")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"IamArn"jletto_json=simple_to_jsonto_valueendmoduleRoleType=structtypenonrect=|PROCESS_OWNER|RESOURCE_OWNER|Non_static_idofstringletmakei=iletto_string=function|PROCESS_OWNER->"PROCESS_OWNER"|RESOURCE_OWNER->"RESOURCE_OWNER"|Non_static_ids->sletof_string=function|"PROCESS_OWNER"->PROCESS_OWNER|"RESOURCE_OWNER"->RESOURCE_OWNER|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 RoleType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"RoleType"j)letto_json=simple_to_jsonto_valueendmoduleControlMappingSource=structtypenonrect={sourceId:UUID.toption[@ocaml.doc"The unique identifier for the source."];sourceName:SourceName.toption[@ocaml.doc"The name of the source."];sourceDescription:SourceDescription.toption[@ocaml.doc"The description of the source."];sourceSetUpOption:SourceSetUpOption.toption[@ocaml.doc"The setup option for the data source. This option reflects if the evidence collection method is automated or manual. If you don\226\128\153t provide a value for sourceSetUpOption, Audit Manager automatically infers and populates the correct value based on the sourceType that you specify."];sourceType:SourceType.toption[@ocaml.doc"Specifies which type of data source is used to collect evidence. The source can be an individual data source type, such as AWS_Cloudtrail, AWS_Config, AWS_Security_Hub, AWS_API_Call, or MANUAL. The source can also be a managed grouping of data sources, such as a Core_Control or a Common_Control."];sourceKeyword:SourceKeyword.toption;sourceFrequency:SourceFrequency.toption[@ocaml.doc"Specifies how often evidence is collected from the control mapping source."];troubleshootingText:TroubleshootingText.toption[@ocaml.doc"The instructions for troubleshooting the control."]}letmake?sourceId=fun?sourceName->fun?sourceDescription->fun?sourceSetUpOption->fun?sourceType->fun?sourceKeyword->fun?sourceFrequency->fun?troubleshootingText->fun()->{sourceId;sourceName;sourceDescription;sourceSetUpOption;sourceType;sourceKeyword;sourceFrequency;troubleshootingText}letto_valuex=structure_to_value[("sourceId",(Option.mapx.sourceId~f:UUID.to_value));("sourceName",(Option.mapx.sourceName~f:SourceName.to_value));("sourceDescription",(Option.mapx.sourceDescription~f:SourceDescription.to_value));("sourceSetUpOption",(Option.mapx.sourceSetUpOption~f:SourceSetUpOption.to_value));("sourceType",(Option.mapx.sourceType~f:SourceType.to_value));("sourceKeyword",(Option.mapx.sourceKeyword~f:SourceKeyword.to_value));("sourceFrequency",(Option.mapx.sourceFrequency~f:SourceFrequency.to_value));("troubleshootingText",(Option.mapx.troubleshootingText~f:TroubleshootingText.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettroubleshootingText=(Option.map~f:TroubleshootingText.of_xml)(Xml.childxml_arg0"troubleshootingText")inletsourceFrequency=(Option.map~f:SourceFrequency.of_xml)(Xml.childxml_arg0"sourceFrequency")inletsourceKeyword=(Option.map~f:SourceKeyword.of_xml)(Xml.childxml_arg0"sourceKeyword")inletsourceType=(Option.map~f:SourceType.of_xml)(Xml.childxml_arg0"sourceType")inletsourceSetUpOption=(Option.map~f:SourceSetUpOption.of_xml)(Xml.childxml_arg0"sourceSetUpOption")inletsourceDescription=(Option.map~f:SourceDescription.of_xml)(Xml.childxml_arg0"sourceDescription")inletsourceName=(Option.map~f:SourceName.of_xml)(Xml.childxml_arg0"sourceName")inletsourceId=(Option.map~f:UUID.of_xml)(Xml.childxml_arg0"sourceId")inmake?troubleshootingText?sourceFrequency?sourceKeyword?sourceType?sourceSetUpOption?sourceDescription?sourceName?sourceId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettroubleshootingText=field_mapjson__"troubleshootingText"TroubleshootingText.of_jsoninletsourceFrequency=field_mapjson__"sourceFrequency"SourceFrequency.of_jsoninletsourceKeyword=field_mapjson__"sourceKeyword"SourceKeyword.of_jsoninletsourceType=field_mapjson__"sourceType"SourceType.of_jsoninletsourceSetUpOption=field_mapjson__"sourceSetUpOption"SourceSetUpOption.of_jsoninletsourceDescription=field_mapjson__"sourceDescription"SourceDescription.of_jsoninletsourceName=field_mapjson__"sourceName"SourceName.of_jsoninletsourceId=field_mapjson__"sourceId"UUID.of_jsoninmake?troubleshootingText?sourceFrequency?sourceKeyword?sourceType?sourceSetUpOption?sourceDescription?sourceName?sourceId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The data source that determines where Audit Manager collects evidence from for the control."]moduleTagKey=structtypenonrect=stringletcontext_="TagKey"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:128)>>=(fun()->check_patterni~pattern:"^(?!aws:)[a-zA-Z+-=._:/]+$")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"TagKey"jletto_json=simple_to_jsonto_valueendmoduleTagValue=structtypenonrect=stringletcontext_="TagValue"letmakei=letopenResultinok_or_failwith((check_string_mini~min:0)>>=(fun()->(check_string_maxi~max:256)>>=(fun()->check_patterni~pattern:".{0,255}")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"TagValue"jletto_json=simple_to_jsonto_valueendmoduleAssessmentControl=structtypenonrect={id:UUID.toption[@ocaml.doc"The identifier for the control."];name:ControlName.toption[@ocaml.doc"The name of the control."];description:ControlDescription.toption[@ocaml.doc"The description of the control."];status:ControlStatus.toption[@ocaml.doc"The status of the control."];response:ControlResponse.toption[@ocaml.doc"The response of the control."];comments:ControlComments.toption[@ocaml.doc"The list of comments that's attached to the control."];evidenceSources:EvidenceSources.toption[@ocaml.doc"The list of data sources for the evidence."];evidenceCount:Integer.toption[@ocaml.doc"The amount of evidence that's collected for the control."];assessmentReportEvidenceCount:Integer.toption[@ocaml.doc"The amount of evidence in the assessment report."]}letmake?id=fun?name->fun?description->fun?status->fun?response->fun?comments->fun?evidenceSources->fun?evidenceCount->fun?assessmentReportEvidenceCount->fun()->{id;name;description;status;response;comments;evidenceSources;evidenceCount;assessmentReportEvidenceCount}letto_valuex=structure_to_value[("id",(Option.mapx.id~f:UUID.to_value));("name",(Option.mapx.name~f:ControlName.to_value));("description",(Option.mapx.description~f:ControlDescription.to_value));("status",(Option.mapx.status~f:ControlStatus.to_value));("response",(Option.mapx.response~f:ControlResponse.to_value));("comments",(Option.mapx.comments~f:ControlComments.to_value));("evidenceSources",(Option.mapx.evidenceSources~f:EvidenceSources.to_value));("evidenceCount",(Option.mapx.evidenceCount~f:Integer.to_value));("assessmentReportEvidenceCount",(Option.mapx.assessmentReportEvidenceCount~f:Integer.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letassessmentReportEvidenceCount=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"assessmentReportEvidenceCount")inletevidenceCount=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"evidenceCount")inletevidenceSources=(Option.map~f:EvidenceSources.of_xml)(Xml.childxml_arg0"evidenceSources")inletcomments=(Option.map~f:ControlComments.of_xml)(Xml.childxml_arg0"comments")inletresponse=(Option.map~f:ControlResponse.of_xml)(Xml.childxml_arg0"response")inletstatus=(Option.map~f:ControlStatus.of_xml)(Xml.childxml_arg0"status")inletdescription=(Option.map~f:ControlDescription.of_xml)(Xml.childxml_arg0"description")inletname=(Option.map~f:ControlName.of_xml)(Xml.childxml_arg0"name")inletid=(Option.map~f:UUID.of_xml)(Xml.childxml_arg0"id")inmake?assessmentReportEvidenceCount?evidenceCount?evidenceSources?comments?response?status?description?name?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letassessmentReportEvidenceCount=field_mapjson__"assessmentReportEvidenceCount"Integer.of_jsoninletevidenceCount=field_mapjson__"evidenceCount"Integer.of_jsoninletevidenceSources=field_mapjson__"evidenceSources"EvidenceSources.of_jsoninletcomments=field_mapjson__"comments"ControlComments.of_jsoninletresponse=field_mapjson__"response"ControlResponse.of_jsoninletstatus=field_mapjson__"status"ControlStatus.of_jsoninletdescription=field_mapjson__"description"ControlDescription.of_jsoninletname=field_mapjson__"name"ControlName.of_jsoninletid=field_mapjson__"id"UUID.of_jsoninmake?assessmentReportEvidenceCount?evidenceCount?evidenceSources?comments?response?status?description?name?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The control entity that represents a standard control or a custom control in an Audit Manager assessment."]moduleDelegation=structtypenonrect={id:UUID.toption[@ocaml.doc"The unique identifier for the delegation."];assessmentName:AssessmentName.toption[@ocaml.doc"The name of the assessment that's associated with the delegation."];assessmentId:UUID.toption[@ocaml.doc"The identifier for the assessment that's associated with the delegation."];status:DelegationStatus.toption[@ocaml.doc"The status of the delegation."];roleArn:IamArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the IAM role."];roleType:RoleType.toption[@ocaml.doc"The type of customer persona. In CreateAssessment, roleType can only be PROCESS_OWNER. In UpdateSettings, roleType can only be PROCESS_OWNER. In BatchCreateDelegationByAssessment, roleType can only be RESOURCE_OWNER."];creationTime:Timestamp.toption[@ocaml.doc"Specifies when the delegation was created."];lastUpdated:Timestamp.toption[@ocaml.doc"Specifies when the delegation was last updated."];controlSetId:ControlSetId.toption[@ocaml.doc"The identifier for the control set that's associated with the delegation."];comment:DelegationComment.toption[@ocaml.doc"The comment that's related to the delegation."];createdBy:CreatedBy.toption[@ocaml.doc"The user or role that created the delegation."]}letmake?id=fun?assessmentName->fun?assessmentId->fun?status->fun?roleArn->fun?roleType->fun?creationTime->fun?lastUpdated->fun?controlSetId->fun?comment->fun?createdBy->fun()->{id;assessmentName;assessmentId;status;roleArn;roleType;creationTime;lastUpdated;controlSetId;comment;createdBy}letto_valuex=structure_to_value[("id",(Option.mapx.id~f:UUID.to_value));("assessmentName",(Option.mapx.assessmentName~f:AssessmentName.to_value));("assessmentId",(Option.mapx.assessmentId~f:UUID.to_value));("status",(Option.mapx.status~f:DelegationStatus.to_value));("roleArn",(Option.mapx.roleArn~f:IamArn.to_value));("roleType",(Option.mapx.roleType~f:RoleType.to_value));("creationTime",(Option.mapx.creationTime~f:Timestamp.to_value));("lastUpdated",(Option.mapx.lastUpdated~f:Timestamp.to_value));("controlSetId",(Option.mapx.controlSetId~f:ControlSetId.to_value));("comment",(Option.mapx.comment~f:DelegationComment.to_value));("createdBy",(Option.mapx.createdBy~f:CreatedBy.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcreatedBy=(Option.map~f:CreatedBy.of_xml)(Xml.childxml_arg0"createdBy")inletcomment=(Option.map~f:DelegationComment.of_xml)(Xml.childxml_arg0"comment")inletcontrolSetId=(Option.map~f:ControlSetId.of_xml)(Xml.childxml_arg0"controlSetId")inletlastUpdated=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"lastUpdated")inletcreationTime=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"creationTime")inletroleType=(Option.map~f:RoleType.of_xml)(Xml.childxml_arg0"roleType")inletroleArn=(Option.map~f:IamArn.of_xml)(Xml.childxml_arg0"roleArn")inletstatus=(Option.map~f:DelegationStatus.of_xml)(Xml.childxml_arg0"status")inletassessmentId=(Option.map~f:UUID.of_xml)(Xml.childxml_arg0"assessmentId")inletassessmentName=(Option.map~f:AssessmentName.of_xml)(Xml.childxml_arg0"assessmentName")inletid=(Option.map~f:UUID.of_xml)(Xml.childxml_arg0"id")inmake?createdBy?comment?controlSetId?lastUpdated?creationTime?roleType?roleArn?status?assessmentId?assessmentName?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcreatedBy=field_mapjson__"createdBy"CreatedBy.of_jsoninletcomment=field_mapjson__"comment"DelegationComment.of_jsoninletcontrolSetId=field_mapjson__"controlSetId"ControlSetId.of_jsoninletlastUpdated=field_mapjson__"lastUpdated"Timestamp.of_jsoninletcreationTime=field_mapjson__"creationTime"Timestamp.of_jsoninletroleType=field_mapjson__"roleType"RoleType.of_jsoninletroleArn=field_mapjson__"roleArn"IamArn.of_jsoninletstatus=field_mapjson__"status"DelegationStatus.of_jsoninletassessmentId=field_mapjson__"assessmentId"UUID.of_jsoninletassessmentName=field_mapjson__"assessmentName"AssessmentName.of_jsoninletid=field_mapjson__"id"UUID.of_jsoninmake?createdBy?comment?controlSetId?lastUpdated?creationTime?roleType?roleArn?status?assessmentId?assessmentName?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The assignment of a control set to a delegate for review."]moduleRole=structtypenonrect={roleType:RoleType.t[@ocaml.doc"The type of customer persona. In CreateAssessment, roleType can only be PROCESS_OWNER. In UpdateSettings, roleType can only be PROCESS_OWNER. In BatchCreateDelegationByAssessment, roleType can only be RESOURCE_OWNER."];roleArn:IamArn.t[@ocaml.doc"The Amazon Resource Name (ARN) of the IAM role."]}letcontext_="Role"letmake~roleType=fun~roleArn->fun()->{roleType;roleArn}letto_valuex=structure_to_value[("roleType",(Some(RoleType.to_valuex.roleType)));("roleArn",(Some(IamArn.to_valuex.roleArn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letroleArn=IamArn.of_xml(Xml.child_exn~context:context_xml_arg0"roleArn")inletroleType=RoleType.of_xml(Xml.child_exn~context:context_xml_arg0"roleType")inmake~roleArn~roleType()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letroleArn=field_map_exnjson__"roleArn"IamArn.of_jsoninletroleType=field_map_exnjson__"roleType"RoleType.of_jsoninmake~roleArn~roleType()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The wrapper that contains the Audit Manager role information of the current user. This includes the role type and IAM Amazon Resource Name (ARN)."]moduleAccountId=structtypenonrect=stringletcontext_="AccountId"letmakei=letopenResultinok_or_failwith((check_string_mini~min:12)>>=(fun()->(check_string_maxi~max:12)>>=(fun()->check_patterni~pattern:"^[0-9]{12}$")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"AccountId"jletto_json=simple_to_jsonto_valueendmoduleAccountName=structtypenonrect=stringletcontext_="AccountName"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:50)>>=(fun()->check_patterni~pattern:"^[\\u0020-\\u007E]+$")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"AccountName"jletto_json=simple_to_jsonto_valueendmoduleEmailAddress=structtypenonrect=stringletcontext_="EmailAddress"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:320)>>=(fun()->check_patterni~pattern:"^.*@.*$")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"EmailAddress"jletto_json=simple_to_jsonto_valueendmoduleAWSServiceName=structtypenonrect=stringletcontext_="AWSServiceName"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:40)>>=(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:"AWSServiceName"jletto_json=simple_to_jsonto_valueendmoduleActionPlanInstructions=structtypenonrect=stringletcontext_="ActionPlanInstructions"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:1000)>>=(fun()->check_patterni~pattern:"^[\\w\\W\\s\\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:"ActionPlanInstructions"jletto_json=simple_to_jsonto_valueendmoduleActionPlanTitle=structtypenonrect=stringletcontext_="ActionPlanTitle"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:300)>>=(fun()->check_patterni~pattern:"^[\\w\\W\\s\\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:"ActionPlanTitle"jletto_json=simple_to_jsonto_valueendmoduleAuditManagerArn=structtypenonrect=stringletcontext_="AuditManagerArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:20)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:"^arn:.*:auditmanager:.*")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"AuditManagerArn"jletto_json=simple_to_jsonto_valueendmoduleControlMappingSources=structtypenonrect=ControlMappingSource.tlistletmakei=letopenResultinok_or_failwith(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:ControlMappingSource.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:ControlMappingSource.of_xml)letof_jsonj=list_of_json~kind:"ControlMappingSources"~of_json:ControlMappingSource.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleControlSources=structtypenonrect=stringletcontext_="ControlSources"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:100)>>=(fun()->check_patterni~pattern:"^[a-zA-Z_0-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:"ControlSources"jletto_json=simple_to_jsonto_valueendmoduleControlState=structtypenonrect=|ACTIVE|END_OF_SUPPORT|Non_static_idofstringletmakei=iletto_string=function|ACTIVE->"ACTIVE"|END_OF_SUPPORT->"END_OF_SUPPORT"|Non_static_ids->sletof_string=function|"ACTIVE"->ACTIVE|"END_OF_SUPPORT"->END_OF_SUPPORT|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 ControlState"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ControlState"j)letto_json=simple_to_jsonto_valueendmoduleControlType=structtypenonrect=|Standard|Custom|Core_|Non_static_idofstringletmakei=iletto_string=function|Standard->"Standard"|Custom->"Custom"|Core_->"Core"|Non_static_ids->sletof_string=function|"Standard"->Standard|"Custom"->Custom|"Core"->Core_|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 ControlType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ControlType"j)letto_json=simple_to_jsonto_valueendmoduleLastUpdatedBy=structtypenonrect=stringletcontext_="LastUpdatedBy"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:100)>>=(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:"LastUpdatedBy"jletto_json=simple_to_jsonto_valueendmoduleTagMap=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_valuevendmoduleTestingInformation=structtypenonrect=stringletcontext_="TestingInformation"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:1000)>>=(fun()->check_patterni~pattern:"^[\\w\\W\\s\\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:"TestingInformation"jletto_json=simple_to_jsonto_valueendmoduleAssessmentControls=structtypenonrect=AssessmentControl.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:AssessmentControl.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:AssessmentControl.of_xml)letof_jsonj=list_of_json~kind:"AssessmentControls"~of_json:AssessmentControl.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleControlSetStatus=structtypenonrect=|ACTIVE|UNDER_REVIEW|REVIEWED|Non_static_idofstringletmakei=iletto_string=function|ACTIVE->"ACTIVE"|UNDER_REVIEW->"UNDER_REVIEW"|REVIEWED->"REVIEWED"|Non_static_ids->sletof_string=function|"ACTIVE"->ACTIVE|"UNDER_REVIEW"->UNDER_REVIEW|"REVIEWED"->REVIEWED|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 ControlSetStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ControlSetStatus"j)letto_json=simple_to_jsonto_valueendmoduleDelegations=structtypenonrect=Delegation.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:Delegation.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:Delegation.of_xml)letof_jsonj=list_of_json~kind:"Delegations"~of_json:Delegation.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleRoles=structtypenonrect=Role.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:Role.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:Role.of_xml)letof_jsonj=list_of_json~kind:"Roles"~of_json:Role.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleAWSAccount=structtypenonrect={id:AccountId.toption[@ocaml.doc"The identifier for the Amazon Web Services account."];emailAddress:EmailAddress.toption[@ocaml.doc"The email address that's associated with the Amazon Web Services account."];name:AccountName.toption[@ocaml.doc"The name of the Amazon Web Services account."]}letmake?id=fun?emailAddress->fun?name->fun()->{id;emailAddress;name}letto_valuex=structure_to_value[("id",(Option.mapx.id~f:AccountId.to_value));("emailAddress",(Option.mapx.emailAddress~f:EmailAddress.to_value));("name",(Option.mapx.name~f:AccountName.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letname=(Option.map~f:AccountName.of_xml)(Xml.childxml_arg0"name")inletemailAddress=(Option.map~f:EmailAddress.of_xml)(Xml.childxml_arg0"emailAddress")inletid=(Option.map~f:AccountId.of_xml)(Xml.childxml_arg0"id")inmake?name?emailAddress?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letname=field_mapjson__"name"AccountName.of_jsoninletemailAddress=field_mapjson__"emailAddress"EmailAddress.of_jsoninletid=field_mapjson__"id"AccountId.of_jsoninmake?name?emailAddress?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The wrapper of Amazon Web Services account details, such as account ID or email address."]moduleAWSService=structtypenonrect={serviceName:AWSServiceName.toption[@ocaml.doc"The name of the Amazon Web Services service."]}letmake?serviceName=fun()->{serviceName}letto_valuex=structure_to_value[("serviceName",(Option.mapx.serviceName~f:AWSServiceName.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letserviceName=(Option.map~f:AWSServiceName.of_xml)(Xml.childxml_arg0"serviceName")inmake?serviceName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letserviceName=field_mapjson__"serviceName"AWSServiceName.of_jsoninmake?serviceName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"An Amazon Web Services service such as Amazon S3 or CloudTrail. For an example of how to find an Amazon Web Services service name and how to define it in your assessment scope, see the following: Finding an Amazon Web Services service name to use in your assessment scope Defining an Amazon Web Services service name in your assessment scope"]moduleControl=structtypenonrect={arn:AuditManagerArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the control."];id:UUID.toption[@ocaml.doc"The unique identifier for the control."];type_:ControlType.toption[@ocaml.doc"Specifies whether the control is a standard control or a custom control."];name:ControlName.toption[@ocaml.doc"The name of the control."];description:ControlDescription.toption[@ocaml.doc"The description of the control."];testingInformation:TestingInformation.toption[@ocaml.doc"The steps that you should follow to determine if the control has been satisfied."];actionPlanTitle:ActionPlanTitle.toption[@ocaml.doc"The title of the action plan for remediating the control."];actionPlanInstructions:ActionPlanInstructions.toption[@ocaml.doc"The recommended actions to carry out if the control isn't fulfilled."];controlSources:ControlSources.toption[@ocaml.doc"The data source types that determine where Audit Manager collects evidence from for the control."];controlMappingSources:ControlMappingSources.toption[@ocaml.doc"The data mapping sources for the control."];createdAt:Timestamp.toption[@ocaml.doc"The time when the control was created."];lastUpdatedAt:Timestamp.toption[@ocaml.doc"The time when the control was most recently updated."];createdBy:CreatedBy.toption[@ocaml.doc"The user or role that created the control."];lastUpdatedBy:LastUpdatedBy.toption[@ocaml.doc"The user or role that most recently updated the control."];tags:TagMap.toption[@ocaml.doc"The tags associated with the control."];state:ControlState.toption[@ocaml.doc"The state of the control. The END_OF_SUPPORT state is applicable to standard controls only. This state indicates that the standard control can still be used to collect evidence, but Audit Manager is no longer updating or maintaining that control."]}letmake?arn=fun?id->fun?type_->fun?name->fun?description->fun?testingInformation->fun?actionPlanTitle->fun?actionPlanInstructions->fun?controlSources->fun?controlMappingSources->fun?createdAt->fun?lastUpdatedAt->fun?createdBy->fun?lastUpdatedBy->fun?tags->fun?state->fun()->{arn;id;type_;name;description;testingInformation;actionPlanTitle;actionPlanInstructions;controlSources;controlMappingSources;createdAt;lastUpdatedAt;createdBy;lastUpdatedBy;tags;state}letto_valuex=structure_to_value[("arn",(Option.mapx.arn~f:AuditManagerArn.to_value));("id",(Option.mapx.id~f:UUID.to_value));("type",(Option.mapx.type_~f:ControlType.to_value));("name",(Option.mapx.name~f:ControlName.to_value));("description",(Option.mapx.description~f:ControlDescription.to_value));("testingInformation",(Option.mapx.testingInformation~f:TestingInformation.to_value));("actionPlanTitle",(Option.mapx.actionPlanTitle~f:ActionPlanTitle.to_value));("actionPlanInstructions",(Option.mapx.actionPlanInstructions~f:ActionPlanInstructions.to_value));("controlSources",(Option.mapx.controlSources~f:ControlSources.to_value));("controlMappingSources",(Option.mapx.controlMappingSources~f:ControlMappingSources.to_value));("createdAt",(Option.mapx.createdAt~f:Timestamp.to_value));("lastUpdatedAt",(Option.mapx.lastUpdatedAt~f:Timestamp.to_value));("createdBy",(Option.mapx.createdBy~f:CreatedBy.to_value));("lastUpdatedBy",(Option.mapx.lastUpdatedBy~f:LastUpdatedBy.to_value));("tags",(Option.mapx.tags~f:TagMap.to_value));("state",(Option.mapx.state~f:ControlState.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstate=(Option.map~f:ControlState.of_xml)(Xml.childxml_arg0"state")inlettags=(Option.map~f:TagMap.of_xml)(Xml.childxml_arg0"tags")inletlastUpdatedBy=(Option.map~f:LastUpdatedBy.of_xml)(Xml.childxml_arg0"lastUpdatedBy")inletcreatedBy=(Option.map~f:CreatedBy.of_xml)(Xml.childxml_arg0"createdBy")inletlastUpdatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"lastUpdatedAt")inletcreatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"createdAt")inletcontrolMappingSources=(Option.map~f:ControlMappingSources.of_xml)(Xml.childxml_arg0"controlMappingSources")inletcontrolSources=(Option.map~f:ControlSources.of_xml)(Xml.childxml_arg0"controlSources")inletactionPlanInstructions=(Option.map~f:ActionPlanInstructions.of_xml)(Xml.childxml_arg0"actionPlanInstructions")inletactionPlanTitle=(Option.map~f:ActionPlanTitle.of_xml)(Xml.childxml_arg0"actionPlanTitle")inlettestingInformation=(Option.map~f:TestingInformation.of_xml)(Xml.childxml_arg0"testingInformation")inletdescription=(Option.map~f:ControlDescription.of_xml)(Xml.childxml_arg0"description")inletname=(Option.map~f:ControlName.of_xml)(Xml.childxml_arg0"name")inlettype_=(Option.map~f:ControlType.of_xml)(Xml.childxml_arg0"type")inletid=(Option.map~f:UUID.of_xml)(Xml.childxml_arg0"id")inletarn=(Option.map~f:AuditManagerArn.of_xml)(Xml.childxml_arg0"arn")inmake?state?tags?lastUpdatedBy?createdBy?lastUpdatedAt?createdAt?controlMappingSources?controlSources?actionPlanInstructions?actionPlanTitle?testingInformation?description?name?type_?id?arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstate=field_mapjson__"state"ControlState.of_jsoninlettags=field_mapjson__"tags"TagMap.of_jsoninletlastUpdatedBy=field_mapjson__"lastUpdatedBy"LastUpdatedBy.of_jsoninletcreatedBy=field_mapjson__"createdBy"CreatedBy.of_jsoninletlastUpdatedAt=field_mapjson__"lastUpdatedAt"Timestamp.of_jsoninletcreatedAt=field_mapjson__"createdAt"Timestamp.of_jsoninletcontrolMappingSources=field_mapjson__"controlMappingSources"ControlMappingSources.of_jsoninletcontrolSources=field_mapjson__"controlSources"ControlSources.of_jsoninletactionPlanInstructions=field_mapjson__"actionPlanInstructions"ActionPlanInstructions.of_jsoninletactionPlanTitle=field_mapjson__"actionPlanTitle"ActionPlanTitle.of_jsoninlettestingInformation=field_mapjson__"testingInformation"TestingInformation.of_jsoninletdescription=field_mapjson__"description"ControlDescription.of_jsoninletname=field_mapjson__"name"ControlName.of_jsoninlettype_=field_mapjson__"type"ControlType.of_jsoninletid=field_mapjson__"id"UUID.of_jsoninletarn=field_mapjson__"arn"AuditManagerArn.of_jsoninmake?state?tags?lastUpdatedBy?createdBy?lastUpdatedAt?createdAt?controlMappingSources?controlSources?actionPlanInstructions?actionPlanTitle?testingInformation?description?name?type_?id?arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A control in Audit Manager."]moduleGenericArn=structtypenonrect=stringletcontext_="GenericArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:20)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:"^arn:.*")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"GenericArn"jletto_json=simple_to_jsonto_valueendmoduleString_=structtypenonrect=stringletcontext_="String"letmakei=letopenResultinok_or_failwith((check_string_mini~min:0)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:".*")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"String"jletto_json=simple_to_jsonto_valueendmoduleAssessmentControlSet=structtypenonrect={id:ControlSetId.toption[@ocaml.doc"The identifier of the control set in the assessment. This is the control set name in a plain string format."];description:NonEmptyString.toption[@ocaml.doc"The description for the control set."];status:ControlSetStatus.toption[@ocaml.doc"The current status of the control set."];roles:Roles.toption[@ocaml.doc"The roles that are associated with the control set."];controls:AssessmentControls.toption[@ocaml.doc"The list of controls that's contained with the control set."];delegations:Delegations.toption[@ocaml.doc"The delegations that are associated with the control set."];systemEvidenceCount:Integer.toption[@ocaml.doc"The total number of evidence objects that are retrieved automatically for the control set."];manualEvidenceCount:Integer.toption[@ocaml.doc"The total number of evidence objects that are uploaded manually to the control set."]}letmake?id=fun?description->fun?status->fun?roles->fun?controls->fun?delegations->fun?systemEvidenceCount->fun?manualEvidenceCount->fun()->{id;description;status;roles;controls;delegations;systemEvidenceCount;manualEvidenceCount}letto_valuex=structure_to_value[("id",(Option.mapx.id~f:ControlSetId.to_value));("description",(Option.mapx.description~f:NonEmptyString.to_value));("status",(Option.mapx.status~f:ControlSetStatus.to_value));("roles",(Option.mapx.roles~f:Roles.to_value));("controls",(Option.mapx.controls~f:AssessmentControls.to_value));("delegations",(Option.mapx.delegations~f:Delegations.to_value));("systemEvidenceCount",(Option.mapx.systemEvidenceCount~f:Integer.to_value));("manualEvidenceCount",(Option.mapx.manualEvidenceCount~f:Integer.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmanualEvidenceCount=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"manualEvidenceCount")inletsystemEvidenceCount=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"systemEvidenceCount")inletdelegations=(Option.map~f:Delegations.of_xml)(Xml.childxml_arg0"delegations")inletcontrols=(Option.map~f:AssessmentControls.of_xml)(Xml.childxml_arg0"controls")inletroles=(Option.map~f:Roles.of_xml)(Xml.childxml_arg0"roles")inletstatus=(Option.map~f:ControlSetStatus.of_xml)(Xml.childxml_arg0"status")inletdescription=(Option.map~f:NonEmptyString.of_xml)(Xml.childxml_arg0"description")inletid=(Option.map~f:ControlSetId.of_xml)(Xml.childxml_arg0"id")inmake?manualEvidenceCount?systemEvidenceCount?delegations?controls?roles?status?description?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmanualEvidenceCount=field_mapjson__"manualEvidenceCount"Integer.of_jsoninletsystemEvidenceCount=field_mapjson__"systemEvidenceCount"Integer.of_jsoninletdelegations=field_mapjson__"delegations"Delegations.of_jsoninletcontrols=field_mapjson__"controls"AssessmentControls.of_jsoninletroles=field_mapjson__"roles"Roles.of_jsoninletstatus=field_mapjson__"status"ControlSetStatus.of_jsoninletdescription=field_mapjson__"description"NonEmptyString.of_jsoninletid=field_mapjson__"id"ControlSetId.of_jsoninmake?manualEvidenceCount?systemEvidenceCount?delegations?controls?roles?status?description?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Represents a set of controls in an Audit Manager assessment."]moduleAssessmentFrameworkDescription=structtypenonrect=stringletcontext_="AssessmentFrameworkDescription"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:200)>>=(fun()->check_patterni~pattern:"^[\\w\\W\\s\\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:"AssessmentFrameworkDescription"jletto_json=simple_to_jsonto_valueendmoduleComplianceType=structtypenonrect=stringletcontext_="ComplianceType"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:100)>>=(fun()->check_patterni~pattern:"^[\\w\\W\\s\\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:"ComplianceType"jletto_json=simple_to_jsonto_valueendmoduleFilename=structtypenonrect=stringletcontext_="Filename"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:255)>>=(fun()->check_patterni~pattern:"^[\\w,\\s-]+\\.[A-Za-z]+$")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"Filename"jletto_json=simple_to_jsonto_valueendmoduleAssessmentReportDestinationType=structtypenonrect=|S3|Non_static_idofstringletmakei=iletto_string=function|S3->"S3"|Non_static_ids->sletof_string=function|"S3"->S3|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 AssessmentReportDestinationType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"AssessmentReportDestinationType"j)letto_json=simple_to_jsonto_valueendmoduleS3Url=structtypenonrect=stringletcontext_="S3Url"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:1024)>>=(fun()->check_patterni~pattern:"^(S|s)3:\\/\\/[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:"S3Url"jletto_json=simple_to_jsonto_valueendmoduleAWSAccounts=structtypenonrect=AWSAccount.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:200)>>=(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:AWSAccount.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:AWSAccount.of_xml)letof_jsonj=list_of_json~kind:"AWSAccounts"~of_json:AWSAccount.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleAWSServices=structtypenonrect=AWSService.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:AWSService.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:AWSService.of_xml)letof_jsonj=list_of_json~kind:"AWSServices"~of_json:AWSService.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleControlSetName=structtypenonrect=stringletcontext_="ControlSetName"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:300)>>=(fun()->check_patterni~pattern:"^[^\\\\\\_]*$")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ControlSetName"jletto_json=simple_to_jsonto_valueendmoduleControls=structtypenonrect=Control.tlistletmakei=letopenResultinok_or_failwith(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:Control.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:Control.of_xml)letof_jsonj=list_of_json~kind:"Controls"~of_json:Control.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleCreateAssessmentFrameworkControl=structtypenonrect={id:UUID.t[@ocaml.doc"The unique identifier of the control."]}letcontext_="CreateAssessmentFrameworkControl"letmake~id=fun()->{id}letto_valuex=structure_to_value[("id",(Some(UUID.to_valuex.id)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letid=UUID.of_xml(Xml.child_exn~context:context_xml_arg0"id")inmake~id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letid=field_map_exnjson__"id"UUID.of_jsoninmake~id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The control entity attributes that uniquely identify an existing control to be added to a framework in Audit Manager."]moduleNullableInteger=structtypenonrect=intletmakei=iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for NullableInteger"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleEvidenceAttributeKey=structtypenonrect=stringletcontext_="EvidenceAttributeKey"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:100)>>=(fun()->check_patterni~pattern:"^[\\w\\W\\s\\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:"EvidenceAttributeKey"jletto_json=simple_to_jsonto_valueendmoduleEvidenceAttributeValue=structtypenonrect=stringletcontext_="EvidenceAttributeValue"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:200)>>=(fun()->check_patterni~pattern:"^[\\w\\W\\s\\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:"EvidenceAttributeValue"jletto_json=simple_to_jsonto_valueendmoduleResource=structtypenonrect={arn:GenericArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) for the resource."];value:String_.toption[@ocaml.doc"The value of the resource."];complianceCheck:String_.toption[@ocaml.doc"The evaluation status for a resource that was assessed when collecting compliance check evidence. Audit Manager classes the resource as non-compliant if Security Hub reports a Fail result, or if Config reports a Non-compliant result. Audit Manager classes the resource as compliant if Security Hub reports a Pass result, or if Config reports a Compliant result. If a compliance check isn't available or applicable, then no compliance evaluation can be made for that resource. This is the case if a resource assessment uses Config or Security Hub as the underlying data source type, but those services aren't enabled. This is also the case if the resource assessment uses an underlying data source type that doesn't support compliance checks (such as manual evidence, Amazon Web Services API calls, or CloudTrail)."]}letmake?arn=fun?value->fun?complianceCheck->fun()->{arn;value;complianceCheck}letto_valuex=structure_to_value[("arn",(Option.mapx.arn~f:GenericArn.to_value));("value",(Option.mapx.value~f:String_.to_value));("complianceCheck",(Option.mapx.complianceCheck~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcomplianceCheck=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"complianceCheck")inletvalue=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"value")inletarn=(Option.map~f:GenericArn.of_xml)(Xml.childxml_arg0"arn")inmake?complianceCheck?value?arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcomplianceCheck=field_mapjson__"complianceCheck"String_.of_jsoninletvalue=field_mapjson__"value"String_.of_jsoninletarn=field_mapjson__"arn"GenericArn.of_jsoninmake?complianceCheck?value?arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A system asset that's evaluated in an Audit Manager assessment."]moduleManualEvidenceLocalFileName=structtypenonrect=stringletcontext_="ManualEvidenceLocalFileName"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:300)>>=(fun()->check_patterni~pattern:"[^\\/]*")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ManualEvidenceLocalFileName"jletto_json=simple_to_jsonto_valueendmoduleManualEvidenceTextResponse=structtypenonrect=stringletcontext_="ManualEvidenceTextResponse"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:1000)>>=(fun()->check_patterni~pattern:"^[\\w\\W\\s\\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:"ManualEvidenceTextResponse"jletto_json=simple_to_jsonto_valueendmoduleValidationExceptionField=structtypenonrect={name:String_.toption[@ocaml.doc"The name of the validation error."];message:String_.toption[@ocaml.doc"The body of the error message."]}letmake?name=fun?message->fun()->{name;message}letto_valuex=structure_to_value[("name",(Option.mapx.name~f:String_.to_value));("message",(Option.mapx.message~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"message")inletname=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"name")inmake?message?name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"String_.of_jsoninletname=field_mapjson__"name"String_.of_jsoninmake?message?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Indicates that the request has invalid or missing parameters for the field."]moduleExportDestinationType=structtypenonrect=|S3|Non_static_idofstringletmakei=iletto_string=function|S3->"S3"|Non_static_ids->sletof_string=function|"S3"->S3|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 ExportDestinationType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ExportDestinationType"j)letto_json=simple_to_jsonto_valueendmoduleDeleteResources=structtypenonrect=|ALL|DEFAULT|Non_static_idofstringletmakei=iletto_string=function|ALL->"ALL"|DEFAULT->"DEFAULT"|Non_static_ids->sletof_string=function|"ALL"->ALL|"DEFAULT"->DEFAULT|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 DeleteResources"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"DeleteResources"j)letto_json=simple_to_jsonto_valueendmoduleCloudTrailArn=structtypenonrect=stringletcontext_="CloudTrailArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:20)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:"^arn:.*:cloudtrail:.*")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"CloudTrailArn"jletto_json=simple_to_jsonto_valueendmoduleErrorMessage=structtypenonrect=stringletcontext_="ErrorMessage"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:300)>>=(fun()->check_patterni~pattern:"^[\\w\\W\\s\\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:"ErrorMessage"jletto_json=simple_to_jsonto_valueendmoduleEvidenceFinderBackfillStatus=structtypenonrect=|NOT_STARTED|IN_PROGRESS|COMPLETED|Non_static_idofstringletmakei=iletto_string=function|NOT_STARTED->"NOT_STARTED"|IN_PROGRESS->"IN_PROGRESS"|COMPLETED->"COMPLETED"|Non_static_ids->sletof_string=function|"NOT_STARTED"->NOT_STARTED|"IN_PROGRESS"->IN_PROGRESS|"COMPLETED"->COMPLETED|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 EvidenceFinderBackfillStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"EvidenceFinderBackfillStatus"j)letto_json=simple_to_jsonto_valueendmoduleEvidenceFinderEnablementStatus=structtypenonrect=|ENABLED|DISABLED|ENABLE_IN_PROGRESS|DISABLE_IN_PROGRESS|Non_static_idofstringletmakei=iletto_string=function|ENABLED->"ENABLED"|DISABLED->"DISABLED"|ENABLE_IN_PROGRESS->"ENABLE_IN_PROGRESS"|DISABLE_IN_PROGRESS->"DISABLE_IN_PROGRESS"|Non_static_ids->sletof_string=function|"ENABLED"->ENABLED|"DISABLED"->DISABLED|"ENABLE_IN_PROGRESS"->ENABLE_IN_PROGRESS|"DISABLE_IN_PROGRESS"->DISABLE_IN_PROGRESS|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 EvidenceFinderEnablementStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"EvidenceFinderEnablementStatus"j)letto_json=simple_to_jsonto_valueendmoduleAssessmentControlSets=structtypenonrect=AssessmentControlSet.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:AssessmentControlSet.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:AssessmentControlSet.of_xml)letof_jsonj=list_of_json~kind:"AssessmentControlSets"~of_json:AssessmentControlSet.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleFrameworkMetadata=structtypenonrect={name:AssessmentName.toption[@ocaml.doc"The name of the framework."];description:AssessmentFrameworkDescription.toption[@ocaml.doc"The description of the framework."];logo:Filename.toption[@ocaml.doc"The logo that's associated with the framework."];complianceType:ComplianceType.toption[@ocaml.doc"The compliance standard that's associated with the framework. For example, this could be PCI DSS or HIPAA."]}letmake?name=fun?description->fun?logo->fun?complianceType->fun()->{name;description;logo;complianceType}letto_valuex=structure_to_value[("name",(Option.mapx.name~f:AssessmentName.to_value));("description",(Option.mapx.description~f:AssessmentFrameworkDescription.to_value));("logo",(Option.mapx.logo~f:Filename.to_value));("complianceType",(Option.mapx.complianceType~f:ComplianceType.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcomplianceType=(Option.map~f:ComplianceType.of_xml)(Xml.childxml_arg0"complianceType")inletlogo=(Option.map~f:Filename.of_xml)(Xml.childxml_arg0"logo")inletdescription=(Option.map~f:AssessmentFrameworkDescription.of_xml)(Xml.childxml_arg0"description")inletname=(Option.map~f:AssessmentName.of_xml)(Xml.childxml_arg0"name")inmake?complianceType?logo?description?name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcomplianceType=field_mapjson__"complianceType"ComplianceType.of_jsoninletlogo=field_mapjson__"logo"Filename.of_jsoninletdescription=field_mapjson__"description"AssessmentFrameworkDescription.of_jsoninletname=field_mapjson__"name"AssessmentName.of_jsoninmake?complianceType?logo?description?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The metadata of a framework, such as the name, ID, or description."]moduleAssessmentDescription=structtypenonrect=stringletcontext_="AssessmentDescription"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:1000)>>=(fun()->check_patterni~pattern:"^[\\w\\W\\s\\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:"AssessmentDescription"jletto_json=simple_to_jsonto_valueendmoduleAssessmentReportsDestination=structtypenonrect={destinationType:AssessmentReportDestinationType.toption[@ocaml.doc"The destination type, such as Amazon S3."];destination:S3Url.toption[@ocaml.doc"The destination bucket where Audit Manager stores assessment reports."]}letmake?destinationType=fun?destination->fun()->{destinationType;destination}letto_valuex=structure_to_value[("destinationType",(Option.mapx.destinationType~f:AssessmentReportDestinationType.to_value));("destination",(Option.mapx.destination~f:S3Url.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdestination=(Option.map~f:S3Url.of_xml)(Xml.childxml_arg0"destination")inletdestinationType=(Option.map~f:AssessmentReportDestinationType.of_xml)(Xml.childxml_arg0"destinationType")inmake?destination?destinationType()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdestination=field_mapjson__"destination"S3Url.of_jsoninletdestinationType=field_mapjson__"destinationType"AssessmentReportDestinationType.of_jsoninmake?destination?destinationType()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The location where Audit Manager saves assessment reports for the given assessment."]moduleAssessmentStatus=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 AssessmentStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"AssessmentStatus"j)letto_json=simple_to_jsonto_valueendmoduleScope=structtypenonrect={awsAccounts:AWSAccounts.toption[@ocaml.doc"The Amazon Web Services accounts that are included in the scope of the assessment."];awsServices:AWSServices.toption[@ocaml.doc"The Amazon Web Services services that are included in the scope of the assessment. This API parameter is no longer supported. If you use this parameter to specify one or more Amazon Web Services services, Audit Manager ignores this input. Instead, the value for awsServices will show as empty."]}letmake?awsAccounts=fun?awsServices->fun()->{awsAccounts;awsServices}letto_valuex=structure_to_value[("awsAccounts",(Option.mapx.awsAccounts~f:AWSAccounts.to_value));("awsServices",(Option.mapx.awsServices~f:AWSServices.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letawsServices=(Option.map~f:AWSServices.of_xml)(Xml.childxml_arg0"awsServices")inletawsAccounts=(Option.map~f:AWSAccounts.of_xml)(Xml.childxml_arg0"awsAccounts")inmake?awsServices?awsAccounts()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letawsServices=field_mapjson__"awsServices"AWSServices.of_jsoninletawsAccounts=field_mapjson__"awsAccounts"AWSAccounts.of_jsoninmake?awsServices?awsAccounts()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The wrapper that contains the Amazon Web Services accounts that are in scope for the assessment. You no longer need to specify which Amazon Web Services services are in scope when you create or update an assessment. Audit Manager infers the services in scope by examining your assessment controls and their data sources, and then mapping this information to the relevant Amazon Web Services services. If an underlying data source changes for your assessment, we automatically update the services scope as needed to reflect the correct Amazon Web Services services. This ensures that your assessment collects accurate and comprehensive evidence about all of the relevant services in your AWS environment."]moduleControlSet=structtypenonrect={id:UUID.toption[@ocaml.doc"The identifier of the control set in the assessment. This is the control set name in a plain string format."];name:ControlSetName.toption[@ocaml.doc"The name of the control set."];controls:Controls.toption[@ocaml.doc"The list of controls within the control set."]}letmake?id=fun?name->fun?controls->fun()->{id;name;controls}letto_valuex=structure_to_value[("id",(Option.mapx.id~f:UUID.to_value));("name",(Option.mapx.name~f:ControlSetName.to_value));("controls",(Option.mapx.controls~f:Controls.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcontrols=(Option.map~f:Controls.of_xml)(Xml.childxml_arg0"controls")inletname=(Option.map~f:ControlSetName.of_xml)(Xml.childxml_arg0"name")inletid=(Option.map~f:UUID.of_xml)(Xml.childxml_arg0"id")inmake?controls?name?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcontrols=field_mapjson__"controls"Controls.of_jsoninletname=field_mapjson__"name"ControlSetName.of_jsoninletid=field_mapjson__"id"UUID.of_jsoninmake?controls?name?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A set of controls in Audit Manager."]moduleCreateAssessmentFrameworkControls=structtypenonrect=CreateAssessmentFrameworkControl.tlistletmakei=letopenResultinok_or_failwith(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:CreateAssessmentFrameworkControl.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:CreateAssessmentFrameworkControl.of_xml)letof_jsonj=list_of_json~kind:"CreateAssessmentFrameworkControls"~of_json:CreateAssessmentFrameworkControl.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleTimestampUUID=structtypenonrect=stringletcontext_="TimestampUUID"letmakei=letopenResultinok_or_failwith((check_string_mini~min:47)>>=(fun()->(check_string_maxi~max:50)>>=(fun()->check_patterni~pattern:"^[0-9]{10,13}_[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"TimestampUUID"jletto_json=simple_to_jsonto_valueendmoduleControlDomainId=structtypenonrect=stringletcontext_="ControlDomainId"letmakei=letopenResultinok_or_failwith((check_string_mini~min:13)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:"^arn:.*:controlcatalog:.*:.*:domain/.*|UNCATEGORIZED|^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ControlDomainId"jletto_json=simple_to_jsonto_valueendmoduleEvidenceInsights=structtypenonrect={noncompliantEvidenceCount:NullableInteger.toption[@ocaml.doc"The number of compliance check evidence that Audit Manager classified as non-compliant. This includes evidence that was collected from Security Hub with a Fail ruling, or collected from Config with a Non-compliant ruling."];compliantEvidenceCount:NullableInteger.toption[@ocaml.doc"The number of compliance check evidence that Audit Manager classified as compliant. This includes evidence that was collected from Security Hub with a Pass ruling, or collected from Config with a Compliant ruling."];inconclusiveEvidenceCount:NullableInteger.toption[@ocaml.doc"The number of evidence that a compliance check ruling isn't available for. Evidence is inconclusive when the associated control uses Security Hub or Config as a data source but you didn't enable those services. This is also the case when a control uses a data source that doesn\226\128\153t support compliance checks (for example, manual evidence, API calls, or CloudTrail). If evidence has a compliance check status of not applicable in the console, it's classified as inconclusive in EvidenceInsights data."]}letmake?noncompliantEvidenceCount=fun?compliantEvidenceCount->fun?inconclusiveEvidenceCount->fun()->{noncompliantEvidenceCount;compliantEvidenceCount;inconclusiveEvidenceCount}letto_valuex=structure_to_value[("noncompliantEvidenceCount",(Option.mapx.noncompliantEvidenceCount~f:NullableInteger.to_value));("compliantEvidenceCount",(Option.mapx.compliantEvidenceCount~f:NullableInteger.to_value));("inconclusiveEvidenceCount",(Option.mapx.inconclusiveEvidenceCount~f:NullableInteger.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letinconclusiveEvidenceCount=(Option.map~f:NullableInteger.of_xml)(Xml.childxml_arg0"inconclusiveEvidenceCount")inletcompliantEvidenceCount=(Option.map~f:NullableInteger.of_xml)(Xml.childxml_arg0"compliantEvidenceCount")inletnoncompliantEvidenceCount=(Option.map~f:NullableInteger.of_xml)(Xml.childxml_arg0"noncompliantEvidenceCount")inmake?inconclusiveEvidenceCount?compliantEvidenceCount?noncompliantEvidenceCount()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letinconclusiveEvidenceCount=field_mapjson__"inconclusiveEvidenceCount"NullableInteger.of_jsoninletcompliantEvidenceCount=field_mapjson__"compliantEvidenceCount"NullableInteger.of_jsoninletnoncompliantEvidenceCount=field_mapjson__"noncompliantEvidenceCount"NullableInteger.of_jsoninmake?inconclusiveEvidenceCount?compliantEvidenceCount?noncompliantEvidenceCount()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A breakdown of the latest compliance check status for the evidence in your Audit Manager assessments."]moduleAssessmentReportDescription=structtypenonrect=stringletcontext_="AssessmentReportDescription"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:1000)>>=(fun()->check_patterni~pattern:"^[\\w\\W\\s\\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:"AssessmentReportDescription"jletto_json=simple_to_jsonto_valueendmoduleAssessmentReportName=structtypenonrect=stringletcontext_="AssessmentReportName"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:300)>>=(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:"AssessmentReportName"jletto_json=simple_to_jsonto_valueendmoduleAssessmentReportStatus=structtypenonrect=|COMPLETE|IN_PROGRESS|FAILED|Non_static_idofstringletmakei=iletto_string=function|COMPLETE->"COMPLETE"|IN_PROGRESS->"IN_PROGRESS"|FAILED->"FAILED"|Non_static_ids->sletof_string=function|"COMPLETE"->COMPLETE|"IN_PROGRESS"->IN_PROGRESS|"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 AssessmentReportStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"AssessmentReportStatus"j)letto_json=simple_to_jsonto_valueendmoduleControlSetsCount=structtypenonrect=intletmakei=iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for ControlSetsCount"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleControlsCount=structtypenonrect=intletmakei=iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for ControlsCount"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleFrameworkDescription=structtypenonrect=stringletcontext_="FrameworkDescription"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:1000)>>=(fun()->check_patterni~pattern:"^[\\w\\W\\s\\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:"FrameworkDescription"jletto_json=simple_to_jsonto_valueendmoduleFrameworkName=structtypenonrect=stringletcontext_="FrameworkName"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:300)>>=(fun()->check_patterni~pattern:"^[^\\\\]*$")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"FrameworkName"jletto_json=simple_to_jsonto_valueendmoduleFrameworkType=structtypenonrect=|Standard|Custom|Non_static_idofstringletmakei=iletto_string=function|Standard->"Standard"|Custom->"Custom"|Non_static_ids->sletof_string=function|"Standard"->Standard|"Custom"->Custom|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 FrameworkType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"FrameworkType"j)letto_json=simple_to_jsonto_valueendmoduleRegion=structtypenonrect=stringletcontext_="Region"letmakei=letopenResultinok_or_failwith(check_patterni~pattern:"^[a-z]{2}-[a-z]+-[0-9]{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:"Region"jletto_json=simple_to_jsonto_valueendmoduleShareRequestComment=structtypenonrect=stringletcontext_="ShareRequestComment"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:500)>>=(fun()->check_patterni~pattern:"^[\\w\\W\\s\\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:"ShareRequestComment"jletto_json=simple_to_jsonto_valueendmoduleShareRequestStatus=structtypenonrect=|ACTIVE|REPLICATING|SHARED|EXPIRING|FAILED|EXPIRED|DECLINED|REVOKED|Non_static_idofstringletmakei=iletto_string=function|ACTIVE->"ACTIVE"|REPLICATING->"REPLICATING"|SHARED->"SHARED"|EXPIRING->"EXPIRING"|FAILED->"FAILED"|EXPIRED->"EXPIRED"|DECLINED->"DECLINED"|REVOKED->"REVOKED"|Non_static_ids->sletof_string=function|"ACTIVE"->ACTIVE|"REPLICATING"->REPLICATING|"SHARED"->SHARED|"EXPIRING"->EXPIRING|"FAILED"->FAILED|"EXPIRED"->EXPIRED|"DECLINED"->DECLINED|"REVOKED"->REVOKED|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 ShareRequestStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ShareRequestStatus"j)letto_json=simple_to_jsonto_valueendmoduleAssessmentEvidenceFolderName=structtypenonrect=stringletcontext_="AssessmentEvidenceFolderName"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:300)>>=(fun()->check_patterni~pattern:"^[\\w\\W\\s\\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:"AssessmentEvidenceFolderName"jletto_json=simple_to_jsonto_valueendmoduleEventName=structtypenonrect=stringletcontext_="EventName"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:100)>>=(fun()->check_patterni~pattern:"^[\\w\\W\\s\\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:"EventName"jletto_json=simple_to_jsonto_valueendmoduleEvidenceAttributes=structtypenonrect=(EvidenceAttributeKey.t*EvidenceAttributeValue.t)listletmakei=iletof_headerxs=make(List.filter_mapxs~f:(fun(k,v)->(Base.String.chop_prefixk~prefix:"x-amz-meta-")|>(Option.map~f:(funchopped->((EvidenceAttributeKey.of_stringchopped),(EvidenceAttributeValue.of_stringv))))))letto_valuexs=(xs|>(List.map~f:(fun(x,y)->(EvidenceAttributeKey.to_valuex)|>(funx->(EvidenceAttributeValue.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:EvidenceAttributeKey.of_string~of_json:EvidenceAttributeValue.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleResources=structtypenonrect=Resource.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:Resource.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:Resource.of_xml)letof_jsonj=list_of_json~kind:"Resources"~of_json:Resource.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleActionEnum=structtypenonrect=|CREATE|UPDATE_METADATA|ACTIVE|INACTIVE|DELETE|UNDER_REVIEW|REVIEWED|IMPORT_EVIDENCE|Non_static_idofstringletmakei=iletto_string=function|CREATE->"CREATE"|UPDATE_METADATA->"UPDATE_METADATA"|ACTIVE->"ACTIVE"|INACTIVE->"INACTIVE"|DELETE->"DELETE"|UNDER_REVIEW->"UNDER_REVIEW"|REVIEWED->"REVIEWED"|IMPORT_EVIDENCE->"IMPORT_EVIDENCE"|Non_static_ids->sletof_string=function|"CREATE"->CREATE|"UPDATE_METADATA"->UPDATE_METADATA|"ACTIVE"->ACTIVE|"INACTIVE"->INACTIVE|"DELETE"->DELETE|"UNDER_REVIEW"->UNDER_REVIEW|"REVIEWED"->REVIEWED|"IMPORT_EVIDENCE"->IMPORT_EVIDENCE|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 ActionEnum"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ActionEnum"j)letto_json=simple_to_jsonto_valueendmoduleObjectTypeEnum=structtypenonrect=|ASSESSMENT|CONTROL_SET|CONTROL|DELEGATION|ASSESSMENT_REPORT|Non_static_idofstringletmakei=iletto_string=function|ASSESSMENT->"ASSESSMENT"|CONTROL_SET->"CONTROL_SET"|CONTROL->"CONTROL"|DELEGATION->"DELEGATION"|ASSESSMENT_REPORT->"ASSESSMENT_REPORT"|Non_static_ids->sletof_string=function|"ASSESSMENT"->ASSESSMENT|"CONTROL_SET"->CONTROL_SET|"CONTROL"->CONTROL|"DELEGATION"->DELEGATION|"ASSESSMENT_REPORT"->ASSESSMENT_REPORT|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 ObjectTypeEnum"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ObjectTypeEnum"j)letto_json=simple_to_jsonto_valueendmoduleErrorCode=structtypenonrect=stringletcontext_="ErrorCode"letmakei=letopenResultinok_or_failwith((check_string_mini~min:3)>>=(fun()->(check_string_maxi~max:3)>>=(fun()->check_patterni~pattern:"[0-9]{3}")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ErrorCode"jletto_json=simple_to_jsonto_valueendmoduleManualEvidence=structtypenonrect={s3ResourcePath:S3Url.toption[@ocaml.doc"The S3 URL of the object that's imported as manual evidence."];textResponse:ManualEvidenceTextResponse.toption[@ocaml.doc"The plain text response that's entered and saved as manual evidence."];evidenceFileName:ManualEvidenceLocalFileName.toption[@ocaml.doc"The name of the file that's uploaded as manual evidence. This name is populated using the evidenceFileName value from the GetEvidenceFileUploadUrl API response."]}letmake?s3ResourcePath=fun?textResponse->fun?evidenceFileName->fun()->{s3ResourcePath;textResponse;evidenceFileName}letto_valuex=structure_to_value[("s3ResourcePath",(Option.mapx.s3ResourcePath~f:S3Url.to_value));("textResponse",(Option.mapx.textResponse~f:ManualEvidenceTextResponse.to_value));("evidenceFileName",(Option.mapx.evidenceFileName~f:ManualEvidenceLocalFileName.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letevidenceFileName=(Option.map~f:ManualEvidenceLocalFileName.of_xml)(Xml.childxml_arg0"evidenceFileName")inlettextResponse=(Option.map~f:ManualEvidenceTextResponse.of_xml)(Xml.childxml_arg0"textResponse")inlets3ResourcePath=(Option.map~f:S3Url.of_xml)(Xml.childxml_arg0"s3ResourcePath")inmake?evidenceFileName?textResponse?s3ResourcePath()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letevidenceFileName=field_mapjson__"evidenceFileName"ManualEvidenceLocalFileName.of_jsoninlettextResponse=field_mapjson__"textResponse"ManualEvidenceTextResponse.of_jsoninlets3ResourcePath=field_mapjson__"s3ResourcePath"S3Url.of_jsoninmake?evidenceFileName?textResponse?s3ResourcePath()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Evidence that's manually added to a control in Audit Manager. manualEvidence can be one of the following: evidenceFileName, s3ResourcePath, or textResponse."]moduleCreateDelegationRequest=structtypenonrect={comment:DelegationComment.toption[@ocaml.doc"A comment that's related to the delegation request."];controlSetId:ControlSetId.toption[@ocaml.doc"The unique identifier for the control set."];roleArn:IamArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the IAM role."];roleType:RoleType.toption[@ocaml.doc"The type of customer persona. In CreateAssessment, roleType can only be PROCESS_OWNER. In UpdateSettings, roleType can only be PROCESS_OWNER. In BatchCreateDelegationByAssessment, roleType can only be RESOURCE_OWNER."]}letmake?comment=fun?controlSetId->fun?roleArn->fun?roleType->fun()->{comment;controlSetId;roleArn;roleType}letto_valuex=structure_to_value[("comment",(Option.mapx.comment~f:DelegationComment.to_value));("controlSetId",(Option.mapx.controlSetId~f:ControlSetId.to_value));("roleArn",(Option.mapx.roleArn~f:IamArn.to_value));("roleType",(Option.mapx.roleType~f:RoleType.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letroleType=(Option.map~f:RoleType.of_xml)(Xml.childxml_arg0"roleType")inletroleArn=(Option.map~f:IamArn.of_xml)(Xml.childxml_arg0"roleArn")inletcontrolSetId=(Option.map~f:ControlSetId.of_xml)(Xml.childxml_arg0"controlSetId")inletcomment=(Option.map~f:DelegationComment.of_xml)(Xml.childxml_arg0"comment")inmake?roleType?roleArn?controlSetId?comment()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letroleType=field_mapjson__"roleType"RoleType.of_jsoninletroleArn=field_mapjson__"roleArn"IamArn.of_jsoninletcontrolSetId=field_mapjson__"controlSetId"ControlSetId.of_jsoninletcomment=field_mapjson__"comment"DelegationComment.of_jsoninmake?roleType?roleArn?controlSetId?comment()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A collection of attributes that's used to create a delegation for an assessment in Audit Manager."]moduleValidationExceptionFieldList=structtypenonrect=ValidationExceptionField.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ValidationExceptionField.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:ValidationExceptionField.of_xml)letof_jsonj=list_of_json~kind:"ValidationExceptionFieldList"~of_json:ValidationExceptionField.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleValidationExceptionReason=structtypenonrect=|UnknownOperation|CannotParse|FieldValidationFailed|Other|Non_static_idofstringletmakei=iletto_string=function|UnknownOperation->"unknownOperation"|CannotParse->"cannotParse"|FieldValidationFailed->"fieldValidationFailed"|Other->"other"|Non_static_ids->sletof_string=function|"unknownOperation"->UnknownOperation|"cannotParse"->CannotParse|"fieldValidationFailed"->FieldValidationFailed|"other"->Other|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 ValidationExceptionReason"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ValidationExceptionReason"j)letto_json=simple_to_jsonto_valueendmoduleBoolean=structtypenonrect=boolletmakei=iletof_string=Bool.of_stringletto_valuex=`Booleanxletto_queryv=to_queryto_valuevletto_headerx=Bool.to_stringxletof_xmlxml_arg0=Bool.of_string(string_of_xml~kind:"a boolean"xml_arg0)letof_json=bool_of_jsonletto_json=simple_to_jsonto_valueendmoduleDefaultExportDestination=structtypenonrect={destinationType:ExportDestinationType.toption[@ocaml.doc"The destination type, such as Amazon S3."];destination:S3Url.toption[@ocaml.doc"The destination bucket where Audit Manager stores exported files."]}letmake?destinationType=fun?destination->fun()->{destinationType;destination}letto_valuex=structure_to_value[("destinationType",(Option.mapx.destinationType~f:ExportDestinationType.to_value));("destination",(Option.mapx.destination~f:S3Url.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdestination=(Option.map~f:S3Url.of_xml)(Xml.childxml_arg0"destination")inletdestinationType=(Option.map~f:ExportDestinationType.of_xml)(Xml.childxml_arg0"destinationType")inmake?destination?destinationType()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdestination=field_mapjson__"destination"S3Url.of_jsoninletdestinationType=field_mapjson__"destinationType"ExportDestinationType.of_jsoninmake?destination?destinationType()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The default s3 bucket where Audit Manager saves the files that you export from evidence finder."]moduleDeregistrationPolicy=structtypenonrect={deleteResources:DeleteResources.toption[@ocaml.doc"Specifies which Audit Manager data will be deleted when you deregister Audit Manager. If you set the value to ALL, all of your data is deleted within seven days of deregistration. If you set the value to DEFAULT, none of your data is deleted at the time of deregistration. However, keep in mind that the Audit Manager data retention policy still applies. As a result, any evidence data will be deleted two years after its creation date. Your other Audit Manager resources will continue to exist indefinitely."]}letmake?deleteResources=fun()->{deleteResources}letto_valuex=structure_to_value[("deleteResources",(Option.mapx.deleteResources~f:DeleteResources.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdeleteResources=(Option.map~f:DeleteResources.of_xml)(Xml.childxml_arg0"deleteResources")inmake?deleteResources()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdeleteResources=field_mapjson__"deleteResources"DeleteResources.of_jsoninmake?deleteResources()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The deregistration policy for the data that's stored in Audit Manager. You can use this attribute to determine how your data is handled when you deregister Audit Manager. By default, Audit Manager retains evidence data for two years from the time of its creation. Other Audit Manager resources (including assessments, custom controls, and custom frameworks) remain in Audit Manager indefinitely, and are available if you re-register Audit Manager in the future. For more information about data retention, see Data Protection in the Audit Manager User Guide. If you choose to delete all data, this action permanently deletes all evidence data in your account within seven days. It also deletes all of the Audit Manager resources that you created, including assessments, custom controls, and custom frameworks. Your data will not be available if you re-register Audit Manager in the future."]moduleEvidenceFinderEnablement=structtypenonrect={eventDataStoreArn:CloudTrailArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the CloudTrail Lake event data store that\226\128\153s used by evidence finder. The event data store is the lake of evidence data that evidence finder runs queries against."];enablementStatus:EvidenceFinderEnablementStatus.toption[@ocaml.doc"The current status of the evidence finder feature and the related event data store. ENABLE_IN_PROGRESS means that you requested to enable evidence finder. An event data store is currently being created to support evidence finder queries. ENABLED means that an event data store was successfully created and evidence finder is enabled. We recommend that you wait 7 days until the event data store is backfilled with your past two years\226\128\153 worth of evidence data. You can use evidence finder in the meantime, but not all data might be available until the backfill is complete. DISABLE_IN_PROGRESS means that you requested to disable evidence finder, and your request is pending the deletion of the event data store. DISABLED means that you have permanently disabled evidence finder and the event data store has been deleted. You can't re-enable evidence finder after this point."];backfillStatus:EvidenceFinderBackfillStatus.toption[@ocaml.doc"The current status of the evidence data backfill process. The backfill starts after you enable evidence finder. During this task, Audit Manager populates an event data store with your past two years\226\128\153 worth of evidence data so that your evidence can be queried. NOT_STARTED means that the backfill hasn\226\128\153t started yet. IN_PROGRESS means that the backfill is in progress. This can take up to 7 days to complete, depending on the amount of evidence data. COMPLETED means that the backfill is complete. All of your past evidence is now queryable."];error:ErrorMessage.toption[@ocaml.doc"Represents any errors that occurred when enabling or disabling evidence finder."]}letmake?eventDataStoreArn=fun?enablementStatus->fun?backfillStatus->fun?error->fun()->{eventDataStoreArn;enablementStatus;backfillStatus;error}letto_valuex=structure_to_value[("eventDataStoreArn",(Option.mapx.eventDataStoreArn~f:CloudTrailArn.to_value));("enablementStatus",(Option.mapx.enablementStatus~f:EvidenceFinderEnablementStatus.to_value));("backfillStatus",(Option.mapx.backfillStatus~f:EvidenceFinderBackfillStatus.to_value));("error",(Option.mapx.error~f:ErrorMessage.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=leterror=(Option.map~f:ErrorMessage.of_xml)(Xml.childxml_arg0"error")inletbackfillStatus=(Option.map~f:EvidenceFinderBackfillStatus.of_xml)(Xml.childxml_arg0"backfillStatus")inletenablementStatus=(Option.map~f:EvidenceFinderEnablementStatus.of_xml)(Xml.childxml_arg0"enablementStatus")inleteventDataStoreArn=(Option.map~f:CloudTrailArn.of_xml)(Xml.childxml_arg0"eventDataStoreArn")inmake?error?backfillStatus?enablementStatus?eventDataStoreArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=leterror=field_mapjson__"error"ErrorMessage.of_jsoninletbackfillStatus=field_mapjson__"backfillStatus"EvidenceFinderBackfillStatus.of_jsoninletenablementStatus=field_mapjson__"enablementStatus"EvidenceFinderEnablementStatus.of_jsoninleteventDataStoreArn=field_mapjson__"eventDataStoreArn"CloudTrailArn.of_jsoninmake?error?backfillStatus?enablementStatus?eventDataStoreArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The settings object that specifies whether evidence finder is enabled. This object also describes the related event data store, and the backfill status for populating the event data store with evidence data."]moduleKmsKey=structtypenonrect=stringletcontext_="KmsKey"letmakei=letopenResultinok_or_failwith((check_string_mini~min:7)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:"^arn:.*:kms:.*|DEFAULT")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"KmsKey"jletto_json=simple_to_jsonto_valueendmoduleSNSTopic=structtypenonrect=stringletcontext_="SNSTopic"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:255)>>=(fun()->check_patterni~pattern:"^[a-zA-Z0-9-_\\(\\)\\[\\]]+$")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"SNSTopic"jletto_json=simple_to_jsonto_valueendmoduleAssessmentFramework=structtypenonrect={id:UUID.toption[@ocaml.doc"The unique identifier for the framework."];arn:AuditManagerArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the framework."];metadata:FrameworkMetadata.toption;controlSets:AssessmentControlSets.toption[@ocaml.doc"The control sets that are associated with the framework."]}letmake?id=fun?arn->fun?metadata->fun?controlSets->fun()->{id;arn;metadata;controlSets}letto_valuex=structure_to_value[("id",(Option.mapx.id~f:UUID.to_value));("arn",(Option.mapx.arn~f:AuditManagerArn.to_value));("metadata",(Option.mapx.metadata~f:FrameworkMetadata.to_value));("controlSets",(Option.mapx.controlSets~f:AssessmentControlSets.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcontrolSets=(Option.map~f:AssessmentControlSets.of_xml)(Xml.childxml_arg0"controlSets")inletmetadata=(Option.map~f:FrameworkMetadata.of_xml)(Xml.childxml_arg0"metadata")inletarn=(Option.map~f:AuditManagerArn.of_xml)(Xml.childxml_arg0"arn")inletid=(Option.map~f:UUID.of_xml)(Xml.childxml_arg0"id")inmake?controlSets?metadata?arn?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcontrolSets=field_mapjson__"controlSets"AssessmentControlSets.of_jsoninletmetadata=field_mapjson__"metadata"FrameworkMetadata.of_jsoninletarn=field_mapjson__"arn"AuditManagerArn.of_jsoninletid=field_mapjson__"id"UUID.of_jsoninmake?controlSets?metadata?arn?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The file used to structure and automate Audit Manager assessments for a given compliance standard."]moduleAssessmentMetadata=structtypenonrect={name:AssessmentName.toption[@ocaml.doc"The name of the assessment."];id:UUID.toption[@ocaml.doc"The unique identifier for the assessment."];description:AssessmentDescription.toption[@ocaml.doc"The description of the assessment."];complianceType:ComplianceType.toption[@ocaml.doc"The name of the compliance standard that's related to the assessment, such as PCI-DSS."];status:AssessmentStatus.toption[@ocaml.doc"The overall status of the assessment."];assessmentReportsDestination:AssessmentReportsDestination.toption[@ocaml.doc"The destination that evidence reports are stored in for the assessment."];scope:Scope.toption[@ocaml.doc"The wrapper of Amazon Web Services accounts and services that are in scope for the assessment."];roles:Roles.toption[@ocaml.doc"The roles that are associated with the assessment."];delegations:Delegations.toption[@ocaml.doc"The delegations that are associated with the assessment."];creationTime:Timestamp.toption[@ocaml.doc"Specifies when the assessment was created."];lastUpdated:Timestamp.toption[@ocaml.doc"The time of the most recent update."]}letmake?name=fun?id->fun?description->fun?complianceType->fun?status->fun?assessmentReportsDestination->fun?scope->fun?roles->fun?delegations->fun?creationTime->fun?lastUpdated->fun()->{name;id;description;complianceType;status;assessmentReportsDestination;scope;roles;delegations;creationTime;lastUpdated}letto_valuex=structure_to_value[("name",(Option.mapx.name~f:AssessmentName.to_value));("id",(Option.mapx.id~f:UUID.to_value));("description",(Option.mapx.description~f:AssessmentDescription.to_value));("complianceType",(Option.mapx.complianceType~f:ComplianceType.to_value));("status",(Option.mapx.status~f:AssessmentStatus.to_value));("assessmentReportsDestination",(Option.mapx.assessmentReportsDestination~f:AssessmentReportsDestination.to_value));("scope",(Option.mapx.scope~f:Scope.to_value));("roles",(Option.mapx.roles~f:Roles.to_value));("delegations",(Option.mapx.delegations~f:Delegations.to_value));("creationTime",(Option.mapx.creationTime~f:Timestamp.to_value));("lastUpdated",(Option.mapx.lastUpdated~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlastUpdated=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"lastUpdated")inletcreationTime=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"creationTime")inletdelegations=(Option.map~f:Delegations.of_xml)(Xml.childxml_arg0"delegations")inletroles=(Option.map~f:Roles.of_xml)(Xml.childxml_arg0"roles")inletscope=(Option.map~f:Scope.of_xml)(Xml.childxml_arg0"scope")inletassessmentReportsDestination=(Option.map~f:AssessmentReportsDestination.of_xml)(Xml.childxml_arg0"assessmentReportsDestination")inletstatus=(Option.map~f:AssessmentStatus.of_xml)(Xml.childxml_arg0"status")inletcomplianceType=(Option.map~f:ComplianceType.of_xml)(Xml.childxml_arg0"complianceType")inletdescription=(Option.map~f:AssessmentDescription.of_xml)(Xml.childxml_arg0"description")inletid=(Option.map~f:UUID.of_xml)(Xml.childxml_arg0"id")inletname=(Option.map~f:AssessmentName.of_xml)(Xml.childxml_arg0"name")inmake?lastUpdated?creationTime?delegations?roles?scope?assessmentReportsDestination?status?complianceType?description?id?name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlastUpdated=field_mapjson__"lastUpdated"Timestamp.of_jsoninletcreationTime=field_mapjson__"creationTime"Timestamp.of_jsoninletdelegations=field_mapjson__"delegations"Delegations.of_jsoninletroles=field_mapjson__"roles"Roles.of_jsoninletscope=field_mapjson__"scope"Scope.of_jsoninletassessmentReportsDestination=field_mapjson__"assessmentReportsDestination"AssessmentReportsDestination.of_jsoninletstatus=field_mapjson__"status"AssessmentStatus.of_jsoninletcomplianceType=field_mapjson__"complianceType"ComplianceType.of_jsoninletdescription=field_mapjson__"description"AssessmentDescription.of_jsoninletid=field_mapjson__"id"UUID.of_jsoninletname=field_mapjson__"name"AssessmentName.of_jsoninmake?lastUpdated?creationTime?delegations?roles?scope?assessmentReportsDestination?status?complianceType?description?id?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The metadata that's associated with the specified assessment."]moduleControlSets=structtypenonrect=ControlSet.tlistletmakei=letopenResultinok_or_failwith(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:ControlSet.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:ControlSet.of_xml)letof_jsonj=list_of_json~kind:"ControlSets"~of_json:ControlSet.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleUpdateAssessmentFrameworkControlSet=structtypenonrect={id:ControlSetName.toption[@ocaml.doc"The unique identifier for the control set."];name:ControlSetName.t[@ocaml.doc"The name of the control set."];controls:CreateAssessmentFrameworkControls.t[@ocaml.doc"The list of controls that are contained within the control set."]}letcontext_="UpdateAssessmentFrameworkControlSet"letmake?id=fun~name->fun~controls->fun()->{id;name;controls}letto_valuex=structure_to_value[("id",(Option.mapx.id~f:ControlSetName.to_value));("name",(Some(ControlSetName.to_valuex.name)));("controls",(Some(CreateAssessmentFrameworkControls.to_valuex.controls)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcontrols=CreateAssessmentFrameworkControls.of_xml(Xml.child_exn~context:context_xml_arg0"controls")inletname=ControlSetName.of_xml(Xml.child_exn~context:context_xml_arg0"name")inletid=(Option.map~f:ControlSetName.of_xml)(Xml.childxml_arg0"id")inmake~controls~name?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcontrols=field_map_exnjson__"controls"CreateAssessmentFrameworkControls.of_jsoninletname=field_map_exnjson__"name"ControlSetName.of_jsoninletid=field_mapjson__"id"ControlSetName.of_jsoninmake~controls~name?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A controlSet entity that represents a collection of controls in Audit Manager. This doesn't contain the control set ID."]moduleNotification=structtypenonrect={id:TimestampUUID.toption[@ocaml.doc"The unique identifier for the notification."];assessmentId:UUID.toption[@ocaml.doc"The identifier for the assessment."];assessmentName:AssessmentName.toption[@ocaml.doc"The name of the related assessment."];controlSetId:ControlSetId.toption[@ocaml.doc"The identifier for the control set."];controlSetName:NonEmptyString.toption[@ocaml.doc"Specifies the name of the control set that the notification is about."];description:NonEmptyString.toption[@ocaml.doc"The description of the notification."];eventTime:Timestamp.toption[@ocaml.doc"The time when the notification was sent."];source:NonEmptyString.toption[@ocaml.doc"The sender of the notification."]}letmake?id=fun?assessmentId->fun?assessmentName->fun?controlSetId->fun?controlSetName->fun?description->fun?eventTime->fun?source->fun()->{id;assessmentId;assessmentName;controlSetId;controlSetName;description;eventTime;source}letto_valuex=structure_to_value[("id",(Option.mapx.id~f:TimestampUUID.to_value));("assessmentId",(Option.mapx.assessmentId~f:UUID.to_value));("assessmentName",(Option.mapx.assessmentName~f:AssessmentName.to_value));("controlSetId",(Option.mapx.controlSetId~f:ControlSetId.to_value));("controlSetName",(Option.mapx.controlSetName~f:NonEmptyString.to_value));("description",(Option.mapx.description~f:NonEmptyString.to_value));("eventTime",(Option.mapx.eventTime~f:Timestamp.to_value));("source",(Option.mapx.source~f:NonEmptyString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letsource=(Option.map~f:NonEmptyString.of_xml)(Xml.childxml_arg0"source")inleteventTime=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"eventTime")inletdescription=(Option.map~f:NonEmptyString.of_xml)(Xml.childxml_arg0"description")inletcontrolSetName=(Option.map~f:NonEmptyString.of_xml)(Xml.childxml_arg0"controlSetName")inletcontrolSetId=(Option.map~f:ControlSetId.of_xml)(Xml.childxml_arg0"controlSetId")inletassessmentName=(Option.map~f:AssessmentName.of_xml)(Xml.childxml_arg0"assessmentName")inletassessmentId=(Option.map~f:UUID.of_xml)(Xml.childxml_arg0"assessmentId")inletid=(Option.map~f:TimestampUUID.of_xml)(Xml.childxml_arg0"id")inmake?source?eventTime?description?controlSetName?controlSetId?assessmentName?assessmentId?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letsource=field_mapjson__"source"NonEmptyString.of_jsoninleteventTime=field_mapjson__"eventTime"Timestamp.of_jsoninletdescription=field_mapjson__"description"NonEmptyString.of_jsoninletcontrolSetName=field_mapjson__"controlSetName"NonEmptyString.of_jsoninletcontrolSetId=field_mapjson__"controlSetId"ControlSetId.of_jsoninletassessmentName=field_mapjson__"assessmentName"AssessmentName.of_jsoninletassessmentId=field_mapjson__"assessmentId"UUID.of_jsoninletid=field_mapjson__"id"TimestampUUID.of_jsoninmake?source?eventTime?description?controlSetName?controlSetId?assessmentName?assessmentId?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The notification that informs a user of an update in Audit Manager. For example, this includes the notification that's sent when a control set is delegated for review."]moduleControlMetadata=structtypenonrect={arn:AuditManagerArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the control."];id:UUID.toption[@ocaml.doc"The unique identifier for the control."];name:ControlName.toption[@ocaml.doc"The name of the control."];controlSources:ControlSources.toption[@ocaml.doc"The data source that determines where Audit Manager collects evidence from for the control."];createdAt:Timestamp.toption[@ocaml.doc"The time when the control was created."];lastUpdatedAt:Timestamp.toption[@ocaml.doc"The time when the control was most recently updated."]}letmake?arn=fun?id->fun?name->fun?controlSources->fun?createdAt->fun?lastUpdatedAt->fun()->{arn;id;name;controlSources;createdAt;lastUpdatedAt}letto_valuex=structure_to_value[("arn",(Option.mapx.arn~f:AuditManagerArn.to_value));("id",(Option.mapx.id~f:UUID.to_value));("name",(Option.mapx.name~f:ControlName.to_value));("controlSources",(Option.mapx.controlSources~f:ControlSources.to_value));("createdAt",(Option.mapx.createdAt~f:Timestamp.to_value));("lastUpdatedAt",(Option.mapx.lastUpdatedAt~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlastUpdatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"lastUpdatedAt")inletcreatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"createdAt")inletcontrolSources=(Option.map~f:ControlSources.of_xml)(Xml.childxml_arg0"controlSources")inletname=(Option.map~f:ControlName.of_xml)(Xml.childxml_arg0"name")inletid=(Option.map~f:UUID.of_xml)(Xml.childxml_arg0"id")inletarn=(Option.map~f:AuditManagerArn.of_xml)(Xml.childxml_arg0"arn")inmake?lastUpdatedAt?createdAt?controlSources?name?id?arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlastUpdatedAt=field_mapjson__"lastUpdatedAt"Timestamp.of_jsoninletcreatedAt=field_mapjson__"createdAt"Timestamp.of_jsoninletcontrolSources=field_mapjson__"controlSources"ControlSources.of_jsoninletname=field_mapjson__"name"ControlName.of_jsoninletid=field_mapjson__"id"UUID.of_jsoninletarn=field_mapjson__"arn"AuditManagerArn.of_jsoninmake?lastUpdatedAt?createdAt?controlSources?name?id?arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The metadata that's associated with the standard control or custom control."]moduleControlInsightsMetadataItem=structtypenonrect={name:String_.toption[@ocaml.doc"The name of the control."];id:ControlDomainId.toption[@ocaml.doc"The unique identifier for the control."];evidenceInsights:EvidenceInsights.toption[@ocaml.doc"A breakdown of the compliance check status for the evidence that\226\128\153s associated with the control."];lastUpdated:Timestamp.toption[@ocaml.doc"The time when the control insights were last updated."]}letmake?name=fun?id->fun?evidenceInsights->fun?lastUpdated->fun()->{name;id;evidenceInsights;lastUpdated}letto_valuex=structure_to_value[("name",(Option.mapx.name~f:String_.to_value));("id",(Option.mapx.id~f:ControlDomainId.to_value));("evidenceInsights",(Option.mapx.evidenceInsights~f:EvidenceInsights.to_value));("lastUpdated",(Option.mapx.lastUpdated~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlastUpdated=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"lastUpdated")inletevidenceInsights=(Option.map~f:EvidenceInsights.of_xml)(Xml.childxml_arg0"evidenceInsights")inletid=(Option.map~f:ControlDomainId.of_xml)(Xml.childxml_arg0"id")inletname=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"name")inmake?lastUpdated?evidenceInsights?id?name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlastUpdated=field_mapjson__"lastUpdated"Timestamp.of_jsoninletevidenceInsights=field_mapjson__"evidenceInsights"EvidenceInsights.of_jsoninletid=field_mapjson__"id"ControlDomainId.of_jsoninletname=field_mapjson__"name"String_.of_jsoninmake?lastUpdated?evidenceInsights?id?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A summary of the latest analytics data for a specific control. This data reflects the total counts for the specified control across all active assessments. Control insights are grouped by control domain, and ranked by the highest total count of non-compliant evidence."]moduleControlDomainInsights=structtypenonrect={name:String_.toption[@ocaml.doc"The name of the control domain."];id:ControlDomainId.toption[@ocaml.doc"The unique identifier for the control domain. Audit Manager supports the control domains that are provided by Amazon Web Services Control Catalog. For information about how to find a list of available control domains, see ListDomains in the Amazon Web Services Control Catalog API Reference."];controlsCountByNoncompliantEvidence:NullableInteger.toption[@ocaml.doc"The number of controls in the control domain that collected non-compliant evidence on the lastUpdated date."];totalControlsCount:NullableInteger.toption[@ocaml.doc"The total number of controls in the control domain."];evidenceInsights:EvidenceInsights.toption[@ocaml.doc"A breakdown of the compliance check status for the evidence that\226\128\153s associated with the control domain."];lastUpdated:Timestamp.toption[@ocaml.doc"The time when the control domain insights were last updated."]}letmake?name=fun?id->fun?controlsCountByNoncompliantEvidence->fun?totalControlsCount->fun?evidenceInsights->fun?lastUpdated->fun()->{name;id;controlsCountByNoncompliantEvidence;totalControlsCount;evidenceInsights;lastUpdated}letto_valuex=structure_to_value[("name",(Option.mapx.name~f:String_.to_value));("id",(Option.mapx.id~f:ControlDomainId.to_value));("controlsCountByNoncompliantEvidence",(Option.mapx.controlsCountByNoncompliantEvidence~f:NullableInteger.to_value));("totalControlsCount",(Option.mapx.totalControlsCount~f:NullableInteger.to_value));("evidenceInsights",(Option.mapx.evidenceInsights~f:EvidenceInsights.to_value));("lastUpdated",(Option.mapx.lastUpdated~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlastUpdated=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"lastUpdated")inletevidenceInsights=(Option.map~f:EvidenceInsights.of_xml)(Xml.childxml_arg0"evidenceInsights")inlettotalControlsCount=(Option.map~f:NullableInteger.of_xml)(Xml.childxml_arg0"totalControlsCount")inletcontrolsCountByNoncompliantEvidence=(Option.map~f:NullableInteger.of_xml)(Xml.childxml_arg0"controlsCountByNoncompliantEvidence")inletid=(Option.map~f:ControlDomainId.of_xml)(Xml.childxml_arg0"id")inletname=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"name")inmake?lastUpdated?evidenceInsights?totalControlsCount?controlsCountByNoncompliantEvidence?id?name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlastUpdated=field_mapjson__"lastUpdated"Timestamp.of_jsoninletevidenceInsights=field_mapjson__"evidenceInsights"EvidenceInsights.of_jsoninlettotalControlsCount=field_mapjson__"totalControlsCount"NullableInteger.of_jsoninletcontrolsCountByNoncompliantEvidence=field_mapjson__"controlsCountByNoncompliantEvidence"NullableInteger.of_jsoninletid=field_mapjson__"id"ControlDomainId.of_jsoninletname=field_mapjson__"name"String_.of_jsoninmake?lastUpdated?evidenceInsights?totalControlsCount?controlsCountByNoncompliantEvidence?id?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A summary of the latest analytics data for a specific control domain. Control domain insights are grouped by control domain, and ranked by the highest total count of non-compliant evidence."]moduleAssessmentMetadataItem=structtypenonrect={name:AssessmentName.toption[@ocaml.doc"The name of the assessment."];id:UUID.toption[@ocaml.doc"The unique identifier for the assessment."];complianceType:ComplianceType.toption[@ocaml.doc"The name of the compliance standard that's related to the assessment, such as PCI-DSS."];status:AssessmentStatus.toption[@ocaml.doc"The current status of the assessment."];roles:Roles.toption[@ocaml.doc"The roles that are associated with the assessment."];delegations:Delegations.toption[@ocaml.doc"The delegations that are associated with the assessment."];creationTime:Timestamp.toption[@ocaml.doc"Specifies when the assessment was created."];lastUpdated:Timestamp.toption[@ocaml.doc"The time of the most recent update."]}letmake?name=fun?id->fun?complianceType->fun?status->fun?roles->fun?delegations->fun?creationTime->fun?lastUpdated->fun()->{name;id;complianceType;status;roles;delegations;creationTime;lastUpdated}letto_valuex=structure_to_value[("name",(Option.mapx.name~f:AssessmentName.to_value));("id",(Option.mapx.id~f:UUID.to_value));("complianceType",(Option.mapx.complianceType~f:ComplianceType.to_value));("status",(Option.mapx.status~f:AssessmentStatus.to_value));("roles",(Option.mapx.roles~f:Roles.to_value));("delegations",(Option.mapx.delegations~f:Delegations.to_value));("creationTime",(Option.mapx.creationTime~f:Timestamp.to_value));("lastUpdated",(Option.mapx.lastUpdated~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlastUpdated=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"lastUpdated")inletcreationTime=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"creationTime")inletdelegations=(Option.map~f:Delegations.of_xml)(Xml.childxml_arg0"delegations")inletroles=(Option.map~f:Roles.of_xml)(Xml.childxml_arg0"roles")inletstatus=(Option.map~f:AssessmentStatus.of_xml)(Xml.childxml_arg0"status")inletcomplianceType=(Option.map~f:ComplianceType.of_xml)(Xml.childxml_arg0"complianceType")inletid=(Option.map~f:UUID.of_xml)(Xml.childxml_arg0"id")inletname=(Option.map~f:AssessmentName.of_xml)(Xml.childxml_arg0"name")inmake?lastUpdated?creationTime?delegations?roles?status?complianceType?id?name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlastUpdated=field_mapjson__"lastUpdated"Timestamp.of_jsoninletcreationTime=field_mapjson__"creationTime"Timestamp.of_jsoninletdelegations=field_mapjson__"delegations"Delegations.of_jsoninletroles=field_mapjson__"roles"Roles.of_jsoninletstatus=field_mapjson__"status"AssessmentStatus.of_jsoninletcomplianceType=field_mapjson__"complianceType"ComplianceType.of_jsoninletid=field_mapjson__"id"UUID.of_jsoninletname=field_mapjson__"name"AssessmentName.of_jsoninmake?lastUpdated?creationTime?delegations?roles?status?complianceType?id?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A metadata object that's associated with an assessment in Audit Manager."]moduleAssessmentReportMetadata=structtypenonrect={id:UUID.toption[@ocaml.doc"The unique identifier for the assessment report."];name:AssessmentReportName.toption[@ocaml.doc"The name of the assessment report."];description:AssessmentReportDescription.toption[@ocaml.doc"The description of the assessment report."];assessmentId:UUID.toption[@ocaml.doc"The unique identifier for the associated assessment."];assessmentName:AssessmentName.toption[@ocaml.doc"The name of the associated assessment."];author:Username.toption[@ocaml.doc"The name of the user who created the assessment report."];status:AssessmentReportStatus.toption[@ocaml.doc"The current status of the assessment report."];creationTime:Timestamp.toption[@ocaml.doc"Specifies when the assessment report was created."]}letmake?id=fun?name->fun?description->fun?assessmentId->fun?assessmentName->fun?author->fun?status->fun?creationTime->fun()->{id;name;description;assessmentId;assessmentName;author;status;creationTime}letto_valuex=structure_to_value[("id",(Option.mapx.id~f:UUID.to_value));("name",(Option.mapx.name~f:AssessmentReportName.to_value));("description",(Option.mapx.description~f:AssessmentReportDescription.to_value));("assessmentId",(Option.mapx.assessmentId~f:UUID.to_value));("assessmentName",(Option.mapx.assessmentName~f:AssessmentName.to_value));("author",(Option.mapx.author~f:Username.to_value));("status",(Option.mapx.status~f:AssessmentReportStatus.to_value));("creationTime",(Option.mapx.creationTime~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcreationTime=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"creationTime")inletstatus=(Option.map~f:AssessmentReportStatus.of_xml)(Xml.childxml_arg0"status")inletauthor=(Option.map~f:Username.of_xml)(Xml.childxml_arg0"author")inletassessmentName=(Option.map~f:AssessmentName.of_xml)(Xml.childxml_arg0"assessmentName")inletassessmentId=(Option.map~f:UUID.of_xml)(Xml.childxml_arg0"assessmentId")inletdescription=(Option.map~f:AssessmentReportDescription.of_xml)(Xml.childxml_arg0"description")inletname=(Option.map~f:AssessmentReportName.of_xml)(Xml.childxml_arg0"name")inletid=(Option.map~f:UUID.of_xml)(Xml.childxml_arg0"id")inmake?creationTime?status?author?assessmentName?assessmentId?description?name?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcreationTime=field_mapjson__"creationTime"Timestamp.of_jsoninletstatus=field_mapjson__"status"AssessmentReportStatus.of_jsoninletauthor=field_mapjson__"author"Username.of_jsoninletassessmentName=field_mapjson__"assessmentName"AssessmentName.of_jsoninletassessmentId=field_mapjson__"assessmentId"UUID.of_jsoninletdescription=field_mapjson__"description"AssessmentReportDescription.of_jsoninletname=field_mapjson__"name"AssessmentReportName.of_jsoninletid=field_mapjson__"id"UUID.of_jsoninmake?creationTime?status?author?assessmentName?assessmentId?description?name?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The metadata objects that are associated with the specified assessment report."]moduleAssessmentFrameworkMetadata=structtypenonrect={arn:AuditManagerArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the framework."];id:UUID.toption[@ocaml.doc"The unique identifier for the framework."];type_:FrameworkType.toption[@ocaml.doc"The framework type, such as a standard framework or a custom framework."];name:FrameworkName.toption[@ocaml.doc"The name of the framework."];description:FrameworkDescription.toption[@ocaml.doc"The description of the framework."];logo:Filename.toption[@ocaml.doc"The logo that's associated with the framework."];complianceType:ComplianceType.toption[@ocaml.doc"The compliance type that the new custom framework supports, such as CIS or HIPAA."];controlsCount:ControlsCount.toption[@ocaml.doc"The number of controls that are associated with the framework."];controlSetsCount:ControlSetsCount.toption[@ocaml.doc"The number of control sets that are associated with the framework."];createdAt:Timestamp.toption[@ocaml.doc"The time when the framework was created."];lastUpdatedAt:Timestamp.toption[@ocaml.doc"The time when the framework was most recently updated."]}letmake?arn=fun?id->fun?type_->fun?name->fun?description->fun?logo->fun?complianceType->fun?controlsCount->fun?controlSetsCount->fun?createdAt->fun?lastUpdatedAt->fun()->{arn;id;type_;name;description;logo;complianceType;controlsCount;controlSetsCount;createdAt;lastUpdatedAt}letto_valuex=structure_to_value[("arn",(Option.mapx.arn~f:AuditManagerArn.to_value));("id",(Option.mapx.id~f:UUID.to_value));("type",(Option.mapx.type_~f:FrameworkType.to_value));("name",(Option.mapx.name~f:FrameworkName.to_value));("description",(Option.mapx.description~f:FrameworkDescription.to_value));("logo",(Option.mapx.logo~f:Filename.to_value));("complianceType",(Option.mapx.complianceType~f:ComplianceType.to_value));("controlsCount",(Option.mapx.controlsCount~f:ControlsCount.to_value));("controlSetsCount",(Option.mapx.controlSetsCount~f:ControlSetsCount.to_value));("createdAt",(Option.mapx.createdAt~f:Timestamp.to_value));("lastUpdatedAt",(Option.mapx.lastUpdatedAt~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlastUpdatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"lastUpdatedAt")inletcreatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"createdAt")inletcontrolSetsCount=(Option.map~f:ControlSetsCount.of_xml)(Xml.childxml_arg0"controlSetsCount")inletcontrolsCount=(Option.map~f:ControlsCount.of_xml)(Xml.childxml_arg0"controlsCount")inletcomplianceType=(Option.map~f:ComplianceType.of_xml)(Xml.childxml_arg0"complianceType")inletlogo=(Option.map~f:Filename.of_xml)(Xml.childxml_arg0"logo")inletdescription=(Option.map~f:FrameworkDescription.of_xml)(Xml.childxml_arg0"description")inletname=(Option.map~f:FrameworkName.of_xml)(Xml.childxml_arg0"name")inlettype_=(Option.map~f:FrameworkType.of_xml)(Xml.childxml_arg0"type")inletid=(Option.map~f:UUID.of_xml)(Xml.childxml_arg0"id")inletarn=(Option.map~f:AuditManagerArn.of_xml)(Xml.childxml_arg0"arn")inmake?lastUpdatedAt?createdAt?controlSetsCount?controlsCount?complianceType?logo?description?name?type_?id?arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlastUpdatedAt=field_mapjson__"lastUpdatedAt"Timestamp.of_jsoninletcreatedAt=field_mapjson__"createdAt"Timestamp.of_jsoninletcontrolSetsCount=field_mapjson__"controlSetsCount"ControlSetsCount.of_jsoninletcontrolsCount=field_mapjson__"controlsCount"ControlsCount.of_jsoninletcomplianceType=field_mapjson__"complianceType"ComplianceType.of_jsoninletlogo=field_mapjson__"logo"Filename.of_jsoninletdescription=field_mapjson__"description"FrameworkDescription.of_jsoninletname=field_mapjson__"name"FrameworkName.of_jsoninlettype_=field_mapjson__"type"FrameworkType.of_jsoninletid=field_mapjson__"id"UUID.of_jsoninletarn=field_mapjson__"arn"AuditManagerArn.of_jsoninmake?lastUpdatedAt?createdAt?controlSetsCount?controlsCount?complianceType?logo?description?name?type_?id?arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The metadata that's associated with a standard framework or a custom framework."]moduleAssessmentFrameworkShareRequest=structtypenonrect={id:UUID.toption[@ocaml.doc"The unique identifier for the share request."];frameworkId:UUID.toption[@ocaml.doc"The unique identifier for the shared custom framework."];frameworkName:FrameworkName.toption[@ocaml.doc"The name of the custom framework that the share request is for."];frameworkDescription:FrameworkDescription.toption[@ocaml.doc"The description of the shared custom framework."];status:ShareRequestStatus.toption[@ocaml.doc"The status of the share request."];sourceAccount:AccountId.toption[@ocaml.doc"The Amazon Web Services account of the sender."];destinationAccount:AccountId.toption[@ocaml.doc"The Amazon Web Services account of the recipient."];destinationRegion:Region.toption[@ocaml.doc"The Amazon Web Services Region of the recipient."];expirationTime:Timestamp.toption[@ocaml.doc"The time when the share request expires."];creationTime:Timestamp.toption[@ocaml.doc"The time when the share request was created."];lastUpdated:Timestamp.toption[@ocaml.doc"Specifies when the share request was last updated."];comment:ShareRequestComment.toption[@ocaml.doc"An optional comment from the sender about the share request."];standardControlsCount:NullableInteger.toption[@ocaml.doc"The number of standard controls that are part of the shared custom framework."];customControlsCount:NullableInteger.toption[@ocaml.doc"The number of custom controls that are part of the shared custom framework."];complianceType:ComplianceType.toption[@ocaml.doc"The compliance type that the shared custom framework supports, such as CIS or HIPAA."]}letmake?id=fun?frameworkId->fun?frameworkName->fun?frameworkDescription->fun?status->fun?sourceAccount->fun?destinationAccount->fun?destinationRegion->fun?expirationTime->fun?creationTime->fun?lastUpdated->fun?comment->fun?standardControlsCount->fun?customControlsCount->fun?complianceType->fun()->{id;frameworkId;frameworkName;frameworkDescription;status;sourceAccount;destinationAccount;destinationRegion;expirationTime;creationTime;lastUpdated;comment;standardControlsCount;customControlsCount;complianceType}letto_valuex=structure_to_value[("id",(Option.mapx.id~f:UUID.to_value));("frameworkId",(Option.mapx.frameworkId~f:UUID.to_value));("frameworkName",(Option.mapx.frameworkName~f:FrameworkName.to_value));("frameworkDescription",(Option.mapx.frameworkDescription~f:FrameworkDescription.to_value));("status",(Option.mapx.status~f:ShareRequestStatus.to_value));("sourceAccount",(Option.mapx.sourceAccount~f:AccountId.to_value));("destinationAccount",(Option.mapx.destinationAccount~f:AccountId.to_value));("destinationRegion",(Option.mapx.destinationRegion~f:Region.to_value));("expirationTime",(Option.mapx.expirationTime~f:Timestamp.to_value));("creationTime",(Option.mapx.creationTime~f:Timestamp.to_value));("lastUpdated",(Option.mapx.lastUpdated~f:Timestamp.to_value));("comment",(Option.mapx.comment~f:ShareRequestComment.to_value));("standardControlsCount",(Option.mapx.standardControlsCount~f:NullableInteger.to_value));("customControlsCount",(Option.mapx.customControlsCount~f:NullableInteger.to_value));("complianceType",(Option.mapx.complianceType~f:ComplianceType.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcomplianceType=(Option.map~f:ComplianceType.of_xml)(Xml.childxml_arg0"complianceType")inletcustomControlsCount=(Option.map~f:NullableInteger.of_xml)(Xml.childxml_arg0"customControlsCount")inletstandardControlsCount=(Option.map~f:NullableInteger.of_xml)(Xml.childxml_arg0"standardControlsCount")inletcomment=(Option.map~f:ShareRequestComment.of_xml)(Xml.childxml_arg0"comment")inletlastUpdated=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"lastUpdated")inletcreationTime=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"creationTime")inletexpirationTime=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"expirationTime")inletdestinationRegion=(Option.map~f:Region.of_xml)(Xml.childxml_arg0"destinationRegion")inletdestinationAccount=(Option.map~f:AccountId.of_xml)(Xml.childxml_arg0"destinationAccount")inletsourceAccount=(Option.map~f:AccountId.of_xml)(Xml.childxml_arg0"sourceAccount")inletstatus=(Option.map~f:ShareRequestStatus.of_xml)(Xml.childxml_arg0"status")inletframeworkDescription=(Option.map~f:FrameworkDescription.of_xml)(Xml.childxml_arg0"frameworkDescription")inletframeworkName=(Option.map~f:FrameworkName.of_xml)(Xml.childxml_arg0"frameworkName")inletframeworkId=(Option.map~f:UUID.of_xml)(Xml.childxml_arg0"frameworkId")inletid=(Option.map~f:UUID.of_xml)(Xml.childxml_arg0"id")inmake?complianceType?customControlsCount?standardControlsCount?comment?lastUpdated?creationTime?expirationTime?destinationRegion?destinationAccount?sourceAccount?status?frameworkDescription?frameworkName?frameworkId?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcomplianceType=field_mapjson__"complianceType"ComplianceType.of_jsoninletcustomControlsCount=field_mapjson__"customControlsCount"NullableInteger.of_jsoninletstandardControlsCount=field_mapjson__"standardControlsCount"NullableInteger.of_jsoninletcomment=field_mapjson__"comment"ShareRequestComment.of_jsoninletlastUpdated=field_mapjson__"lastUpdated"Timestamp.of_jsoninletcreationTime=field_mapjson__"creationTime"Timestamp.of_jsoninletexpirationTime=field_mapjson__"expirationTime"Timestamp.of_jsoninletdestinationRegion=field_mapjson__"destinationRegion"Region.of_jsoninletdestinationAccount=field_mapjson__"destinationAccount"AccountId.of_jsoninletsourceAccount=field_mapjson__"sourceAccount"AccountId.of_jsoninletstatus=field_mapjson__"status"ShareRequestStatus.of_jsoninletframeworkDescription=field_mapjson__"frameworkDescription"FrameworkDescription.of_jsoninletframeworkName=field_mapjson__"frameworkName"FrameworkName.of_jsoninletframeworkId=field_mapjson__"frameworkId"UUID.of_jsoninletid=field_mapjson__"id"UUID.of_jsoninmake?complianceType?customControlsCount?standardControlsCount?comment?lastUpdated?creationTime?expirationTime?destinationRegion?destinationAccount?sourceAccount?status?frameworkDescription?frameworkName?frameworkId?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Represents a share request for a custom framework in Audit Manager."]moduleControlInsightsMetadataByAssessmentItem=structtypenonrect={name:String_.toption[@ocaml.doc"The name of the assessment control."];id:ControlDomainId.toption[@ocaml.doc"The unique identifier for the assessment control."];evidenceInsights:EvidenceInsights.toption[@ocaml.doc"A breakdown of the compliance check status for the evidence that\226\128\153s associated with the assessment control."];controlSetName:NonEmptyString.toption[@ocaml.doc"The name of the control set that the assessment control belongs to."];lastUpdated:Timestamp.toption[@ocaml.doc"The time when the assessment control insights were last updated."]}letmake?name=fun?id->fun?evidenceInsights->fun?controlSetName->fun?lastUpdated->fun()->{name;id;evidenceInsights;controlSetName;lastUpdated}letto_valuex=structure_to_value[("name",(Option.mapx.name~f:String_.to_value));("id",(Option.mapx.id~f:ControlDomainId.to_value));("evidenceInsights",(Option.mapx.evidenceInsights~f:EvidenceInsights.to_value));("controlSetName",(Option.mapx.controlSetName~f:NonEmptyString.to_value));("lastUpdated",(Option.mapx.lastUpdated~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlastUpdated=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"lastUpdated")inletcontrolSetName=(Option.map~f:NonEmptyString.of_xml)(Xml.childxml_arg0"controlSetName")inletevidenceInsights=(Option.map~f:EvidenceInsights.of_xml)(Xml.childxml_arg0"evidenceInsights")inletid=(Option.map~f:ControlDomainId.of_xml)(Xml.childxml_arg0"id")inletname=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"name")inmake?lastUpdated?controlSetName?evidenceInsights?id?name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlastUpdated=field_mapjson__"lastUpdated"Timestamp.of_jsoninletcontrolSetName=field_mapjson__"controlSetName"NonEmptyString.of_jsoninletevidenceInsights=field_mapjson__"evidenceInsights"EvidenceInsights.of_jsoninletid=field_mapjson__"id"ControlDomainId.of_jsoninletname=field_mapjson__"name"String_.of_jsoninmake?lastUpdated?controlSetName?evidenceInsights?id?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A summary of the latest analytics data for a specific control in a specific active assessment. Control insights are grouped by control domain, and ranked by the highest total count of non-compliant evidence."]moduleServiceMetadata=structtypenonrect={name:AWSServiceName.toption[@ocaml.doc"The name of the Amazon Web Services service."];displayName:NonEmptyString.toption[@ocaml.doc"The display name of the Amazon Web Services service."];description:NonEmptyString.toption[@ocaml.doc"The description of the Amazon Web Services service."];category:NonEmptyString.toption[@ocaml.doc"The category that the Amazon Web Services service belongs to, such as compute, storage, or database."]}letmake?name=fun?displayName->fun?description->fun?category->fun()->{name;displayName;description;category}letto_valuex=structure_to_value[("name",(Option.mapx.name~f:AWSServiceName.to_value));("displayName",(Option.mapx.displayName~f:NonEmptyString.to_value));("description",(Option.mapx.description~f:NonEmptyString.to_value));("category",(Option.mapx.category~f:NonEmptyString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcategory=(Option.map~f:NonEmptyString.of_xml)(Xml.childxml_arg0"category")inletdescription=(Option.map~f:NonEmptyString.of_xml)(Xml.childxml_arg0"description")inletdisplayName=(Option.map~f:NonEmptyString.of_xml)(Xml.childxml_arg0"displayName")inletname=(Option.map~f:AWSServiceName.of_xml)(Xml.childxml_arg0"name")inmake?category?description?displayName?name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcategory=field_mapjson__"category"NonEmptyString.of_jsoninletdescription=field_mapjson__"description"NonEmptyString.of_jsoninletdisplayName=field_mapjson__"displayName"NonEmptyString.of_jsoninletname=field_mapjson__"name"AWSServiceName.of_jsoninmake?category?description?displayName?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The metadata that's associated with the Amazon Web Services service."]moduleAssessmentEvidenceFolder=structtypenonrect={name:AssessmentEvidenceFolderName.toption[@ocaml.doc"The name of the evidence folder."];date:Timestamp.toption[@ocaml.doc"The date when the first evidence was added to the evidence folder."];assessmentId:UUID.toption[@ocaml.doc"The identifier for the assessment."];controlSetId:ControlSetId.toption[@ocaml.doc"The identifier for the control set."];controlId:UUID.toption[@ocaml.doc"The unique identifier for the control."];id:UUID.toption[@ocaml.doc"The identifier for the folder that the evidence is stored in."];dataSource:String_.toption[@ocaml.doc"The Amazon Web Services service that the evidence was collected from."];author:String_.toption[@ocaml.doc"The name of the user who created the evidence folder."];totalEvidence:Integer.toption[@ocaml.doc"The total amount of evidence in the evidence folder."];assessmentReportSelectionCount:Integer.toption[@ocaml.doc"The total count of evidence that's included in the assessment report."];controlName:ControlName.toption[@ocaml.doc"The name of the control."];evidenceResourcesIncludedCount:Integer.toption[@ocaml.doc"The amount of evidence that's included in the evidence folder."];evidenceByTypeConfigurationDataCount:Integer.toption[@ocaml.doc"The number of evidence that falls under the configuration data category. This evidence is collected from configuration snapshots of other Amazon Web Services services such as Amazon EC2, Amazon S3, or IAM."];evidenceByTypeManualCount:Integer.toption[@ocaml.doc"The number of evidence that falls under the manual category. This evidence is imported manually."];evidenceByTypeComplianceCheckCount:Integer.toption[@ocaml.doc"The number of evidence that falls under the compliance check category. This evidence is collected from Config or Security Hub."];evidenceByTypeComplianceCheckIssuesCount:Integer.toption[@ocaml.doc"The total number of issues that were reported directly from Security Hub, Config, or both."];evidenceByTypeUserActivityCount:Integer.toption[@ocaml.doc"The number of evidence that falls under the user activity category. This evidence is collected from CloudTrail logs."];evidenceAwsServiceSourceCount:Integer.toption[@ocaml.doc"The total number of Amazon Web Services resources that were assessed to generate the evidence."]}letmake?name=fun?date->fun?assessmentId->fun?controlSetId->fun?controlId->fun?id->fun?dataSource->fun?author->fun?totalEvidence->fun?assessmentReportSelectionCount->fun?controlName->fun?evidenceResourcesIncludedCount->fun?evidenceByTypeConfigurationDataCount->fun?evidenceByTypeManualCount->fun?evidenceByTypeComplianceCheckCount->fun?evidenceByTypeComplianceCheckIssuesCount->fun?evidenceByTypeUserActivityCount->fun?evidenceAwsServiceSourceCount->fun()->{name;date;assessmentId;controlSetId;controlId;id;dataSource;author;totalEvidence;assessmentReportSelectionCount;controlName;evidenceResourcesIncludedCount;evidenceByTypeConfigurationDataCount;evidenceByTypeManualCount;evidenceByTypeComplianceCheckCount;evidenceByTypeComplianceCheckIssuesCount;evidenceByTypeUserActivityCount;evidenceAwsServiceSourceCount}letto_valuex=structure_to_value[("name",(Option.mapx.name~f:AssessmentEvidenceFolderName.to_value));("date",(Option.mapx.date~f:Timestamp.to_value));("assessmentId",(Option.mapx.assessmentId~f:UUID.to_value));("controlSetId",(Option.mapx.controlSetId~f:ControlSetId.to_value));("controlId",(Option.mapx.controlId~f:UUID.to_value));("id",(Option.mapx.id~f:UUID.to_value));("dataSource",(Option.mapx.dataSource~f:String_.to_value));("author",(Option.mapx.author~f:String_.to_value));("totalEvidence",(Option.mapx.totalEvidence~f:Integer.to_value));("assessmentReportSelectionCount",(Option.mapx.assessmentReportSelectionCount~f:Integer.to_value));("controlName",(Option.mapx.controlName~f:ControlName.to_value));("evidenceResourcesIncludedCount",(Option.mapx.evidenceResourcesIncludedCount~f:Integer.to_value));("evidenceByTypeConfigurationDataCount",(Option.mapx.evidenceByTypeConfigurationDataCount~f:Integer.to_value));("evidenceByTypeManualCount",(Option.mapx.evidenceByTypeManualCount~f:Integer.to_value));("evidenceByTypeComplianceCheckCount",(Option.mapx.evidenceByTypeComplianceCheckCount~f:Integer.to_value));("evidenceByTypeComplianceCheckIssuesCount",(Option.mapx.evidenceByTypeComplianceCheckIssuesCount~f:Integer.to_value));("evidenceByTypeUserActivityCount",(Option.mapx.evidenceByTypeUserActivityCount~f:Integer.to_value));("evidenceAwsServiceSourceCount",(Option.mapx.evidenceAwsServiceSourceCount~f:Integer.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letevidenceAwsServiceSourceCount=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"evidenceAwsServiceSourceCount")inletevidenceByTypeUserActivityCount=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"evidenceByTypeUserActivityCount")inletevidenceByTypeComplianceCheckIssuesCount=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"evidenceByTypeComplianceCheckIssuesCount")inletevidenceByTypeComplianceCheckCount=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"evidenceByTypeComplianceCheckCount")inletevidenceByTypeManualCount=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"evidenceByTypeManualCount")inletevidenceByTypeConfigurationDataCount=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"evidenceByTypeConfigurationDataCount")inletevidenceResourcesIncludedCount=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"evidenceResourcesIncludedCount")inletcontrolName=(Option.map~f:ControlName.of_xml)(Xml.childxml_arg0"controlName")inletassessmentReportSelectionCount=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"assessmentReportSelectionCount")inlettotalEvidence=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"totalEvidence")inletauthor=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"author")inletdataSource=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"dataSource")inletid=(Option.map~f:UUID.of_xml)(Xml.childxml_arg0"id")inletcontrolId=(Option.map~f:UUID.of_xml)(Xml.childxml_arg0"controlId")inletcontrolSetId=(Option.map~f:ControlSetId.of_xml)(Xml.childxml_arg0"controlSetId")inletassessmentId=(Option.map~f:UUID.of_xml)(Xml.childxml_arg0"assessmentId")inletdate=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"date")inletname=(Option.map~f:AssessmentEvidenceFolderName.of_xml)(Xml.childxml_arg0"name")inmake?evidenceAwsServiceSourceCount?evidenceByTypeUserActivityCount?evidenceByTypeComplianceCheckIssuesCount?evidenceByTypeComplianceCheckCount?evidenceByTypeManualCount?evidenceByTypeConfigurationDataCount?evidenceResourcesIncludedCount?controlName?assessmentReportSelectionCount?totalEvidence?author?dataSource?id?controlId?controlSetId?assessmentId?date?name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letevidenceAwsServiceSourceCount=field_mapjson__"evidenceAwsServiceSourceCount"Integer.of_jsoninletevidenceByTypeUserActivityCount=field_mapjson__"evidenceByTypeUserActivityCount"Integer.of_jsoninletevidenceByTypeComplianceCheckIssuesCount=field_mapjson__"evidenceByTypeComplianceCheckIssuesCount"Integer.of_jsoninletevidenceByTypeComplianceCheckCount=field_mapjson__"evidenceByTypeComplianceCheckCount"Integer.of_jsoninletevidenceByTypeManualCount=field_mapjson__"evidenceByTypeManualCount"Integer.of_jsoninletevidenceByTypeConfigurationDataCount=field_mapjson__"evidenceByTypeConfigurationDataCount"Integer.of_jsoninletevidenceResourcesIncludedCount=field_mapjson__"evidenceResourcesIncludedCount"Integer.of_jsoninletcontrolName=field_mapjson__"controlName"ControlName.of_jsoninletassessmentReportSelectionCount=field_mapjson__"assessmentReportSelectionCount"Integer.of_jsoninlettotalEvidence=field_mapjson__"totalEvidence"Integer.of_jsoninletauthor=field_mapjson__"author"String_.of_jsoninletdataSource=field_mapjson__"dataSource"String_.of_jsoninletid=field_mapjson__"id"UUID.of_jsoninletcontrolId=field_mapjson__"controlId"UUID.of_jsoninletcontrolSetId=field_mapjson__"controlSetId"ControlSetId.of_jsoninletassessmentId=field_mapjson__"assessmentId"UUID.of_jsoninletdate=field_mapjson__"date"Timestamp.of_jsoninletname=field_mapjson__"name"AssessmentEvidenceFolderName.of_jsoninmake?evidenceAwsServiceSourceCount?evidenceByTypeUserActivityCount?evidenceByTypeComplianceCheckIssuesCount?evidenceByTypeComplianceCheckCount?evidenceByTypeManualCount?evidenceByTypeConfigurationDataCount?evidenceResourcesIncludedCount?controlName?assessmentReportSelectionCount?totalEvidence?author?dataSource?id?controlId?controlSetId?assessmentId?date?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The folder where Audit Manager stores evidence for an assessment."]moduleEvidence=structtypenonrect={dataSource:String_.toption[@ocaml.doc"The data source where the evidence was collected from."];evidenceAwsAccountId:AccountId.toption[@ocaml.doc"The identifier for the Amazon Web Services account."];time:Timestamp.toption[@ocaml.doc"The timestamp that represents when the evidence was collected."];eventSource:AWSServiceName.toption[@ocaml.doc"The Amazon Web Services service that the evidence is collected from."];eventName:EventName.toption[@ocaml.doc"The name of the evidence event."];evidenceByType:String_.toption[@ocaml.doc"The type of automated evidence."];resourcesIncluded:Resources.toption[@ocaml.doc"The list of resources that are assessed to generate the evidence."];attributes:EvidenceAttributes.toption[@ocaml.doc"The names and values that are used by the evidence event. This includes an attribute name (such as allowUsersToChangePassword) and value (such as true or false)."];iamId:IamArn.toption[@ocaml.doc"The unique identifier for the user or role that's associated with the evidence."];complianceCheck:String_.toption[@ocaml.doc"The evaluation status for automated evidence that falls under the compliance check category. Audit Manager classes evidence as non-compliant if Security Hub reports a Fail result, or if Config reports a Non-compliant result. Audit Manager classes evidence as compliant if Security Hub reports a Pass result, or if Config reports a Compliant result. If a compliance check isn't available or applicable, then no compliance evaluation can be made for that evidence. This is the case if the evidence uses Config or Security Hub as the underlying data source type, but those services aren't enabled. This is also the case if the evidence uses an underlying data source type that doesn't support compliance checks (such as manual evidence, Amazon Web Services API calls, or CloudTrail)."];awsOrganization:String_.toption[@ocaml.doc"The Amazon Web Services account that the evidence is collected from, and its organization path."];awsAccountId:AccountId.toption[@ocaml.doc"The identifier for the Amazon Web Services account."];evidenceFolderId:UUID.toption[@ocaml.doc"The identifier for the folder that the evidence is stored in."];id:UUID.toption[@ocaml.doc"The identifier for the evidence."];assessmentReportSelection:String_.toption[@ocaml.doc"Specifies whether the evidence is included in the assessment report."]}letmake?dataSource=fun?evidenceAwsAccountId->fun?time->fun?eventSource->fun?eventName->fun?evidenceByType->fun?resourcesIncluded->fun?attributes->fun?iamId->fun?complianceCheck->fun?awsOrganization->fun?awsAccountId->fun?evidenceFolderId->fun?id->fun?assessmentReportSelection->fun()->{dataSource;evidenceAwsAccountId;time;eventSource;eventName;evidenceByType;resourcesIncluded;attributes;iamId;complianceCheck;awsOrganization;awsAccountId;evidenceFolderId;id;assessmentReportSelection}letto_valuex=structure_to_value[("dataSource",(Option.mapx.dataSource~f:String_.to_value));("evidenceAwsAccountId",(Option.mapx.evidenceAwsAccountId~f:AccountId.to_value));("time",(Option.mapx.time~f:Timestamp.to_value));("eventSource",(Option.mapx.eventSource~f:AWSServiceName.to_value));("eventName",(Option.mapx.eventName~f:EventName.to_value));("evidenceByType",(Option.mapx.evidenceByType~f:String_.to_value));("resourcesIncluded",(Option.mapx.resourcesIncluded~f:Resources.to_value));("attributes",(Option.mapx.attributes~f:EvidenceAttributes.to_value));("iamId",(Option.mapx.iamId~f:IamArn.to_value));("complianceCheck",(Option.mapx.complianceCheck~f:String_.to_value));("awsOrganization",(Option.mapx.awsOrganization~f:String_.to_value));("awsAccountId",(Option.mapx.awsAccountId~f:AccountId.to_value));("evidenceFolderId",(Option.mapx.evidenceFolderId~f:UUID.to_value));("id",(Option.mapx.id~f:UUID.to_value));("assessmentReportSelection",(Option.mapx.assessmentReportSelection~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letassessmentReportSelection=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"assessmentReportSelection")inletid=(Option.map~f:UUID.of_xml)(Xml.childxml_arg0"id")inletevidenceFolderId=(Option.map~f:UUID.of_xml)(Xml.childxml_arg0"evidenceFolderId")inletawsAccountId=(Option.map~f:AccountId.of_xml)(Xml.childxml_arg0"awsAccountId")inletawsOrganization=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"awsOrganization")inletcomplianceCheck=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"complianceCheck")inletiamId=(Option.map~f:IamArn.of_xml)(Xml.childxml_arg0"iamId")inletattributes=(Option.map~f:EvidenceAttributes.of_xml)(Xml.childxml_arg0"attributes")inletresourcesIncluded=(Option.map~f:Resources.of_xml)(Xml.childxml_arg0"resourcesIncluded")inletevidenceByType=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"evidenceByType")inleteventName=(Option.map~f:EventName.of_xml)(Xml.childxml_arg0"eventName")inleteventSource=(Option.map~f:AWSServiceName.of_xml)(Xml.childxml_arg0"eventSource")inlettime=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"time")inletevidenceAwsAccountId=(Option.map~f:AccountId.of_xml)(Xml.childxml_arg0"evidenceAwsAccountId")inletdataSource=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"dataSource")inmake?assessmentReportSelection?id?evidenceFolderId?awsAccountId?awsOrganization?complianceCheck?iamId?attributes?resourcesIncluded?evidenceByType?eventName?eventSource?time?evidenceAwsAccountId?dataSource()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letassessmentReportSelection=field_mapjson__"assessmentReportSelection"String_.of_jsoninletid=field_mapjson__"id"UUID.of_jsoninletevidenceFolderId=field_mapjson__"evidenceFolderId"UUID.of_jsoninletawsAccountId=field_mapjson__"awsAccountId"AccountId.of_jsoninletawsOrganization=field_mapjson__"awsOrganization"String_.of_jsoninletcomplianceCheck=field_mapjson__"complianceCheck"String_.of_jsoninletiamId=field_mapjson__"iamId"IamArn.of_jsoninletattributes=field_mapjson__"attributes"EvidenceAttributes.of_jsoninletresourcesIncluded=field_mapjson__"resourcesIncluded"Resources.of_jsoninletevidenceByType=field_mapjson__"evidenceByType"String_.of_jsoninleteventName=field_mapjson__"eventName"EventName.of_jsoninleteventSource=field_mapjson__"eventSource"AWSServiceName.of_jsoninlettime=field_mapjson__"time"Timestamp.of_jsoninletevidenceAwsAccountId=field_mapjson__"evidenceAwsAccountId"AccountId.of_jsoninletdataSource=field_mapjson__"dataSource"String_.of_jsoninmake?assessmentReportSelection?id?evidenceFolderId?awsAccountId?awsOrganization?complianceCheck?iamId?attributes?resourcesIncluded?evidenceByType?eventName?eventSource?time?evidenceAwsAccountId?dataSource()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A record that contains the information needed to demonstrate compliance with the requirements specified by a control. Examples of evidence include change activity invoked by a user, or a system configuration snapshot."]moduleDelegationMetadata=structtypenonrect={id:UUID.toption[@ocaml.doc"The unique identifier for the delegation."];assessmentName:AssessmentName.toption[@ocaml.doc"The name of the associated assessment."];assessmentId:UUID.toption[@ocaml.doc"The unique identifier for the assessment."];status:DelegationStatus.toption[@ocaml.doc"The current status of the delegation."];roleArn:IamArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the IAM role."];creationTime:Timestamp.toption[@ocaml.doc"Specifies when the delegation was created."];controlSetName:NonEmptyString.toption[@ocaml.doc"Specifies the name of the control set that was delegated for review."]}letmake?id=fun?assessmentName->fun?assessmentId->fun?status->fun?roleArn->fun?creationTime->fun?controlSetName->fun()->{id;assessmentName;assessmentId;status;roleArn;creationTime;controlSetName}letto_valuex=structure_to_value[("id",(Option.mapx.id~f:UUID.to_value));("assessmentName",(Option.mapx.assessmentName~f:AssessmentName.to_value));("assessmentId",(Option.mapx.assessmentId~f:UUID.to_value));("status",(Option.mapx.status~f:DelegationStatus.to_value));("roleArn",(Option.mapx.roleArn~f:IamArn.to_value));("creationTime",(Option.mapx.creationTime~f:Timestamp.to_value));("controlSetName",(Option.mapx.controlSetName~f:NonEmptyString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcontrolSetName=(Option.map~f:NonEmptyString.of_xml)(Xml.childxml_arg0"controlSetName")inletcreationTime=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"creationTime")inletroleArn=(Option.map~f:IamArn.of_xml)(Xml.childxml_arg0"roleArn")inletstatus=(Option.map~f:DelegationStatus.of_xml)(Xml.childxml_arg0"status")inletassessmentId=(Option.map~f:UUID.of_xml)(Xml.childxml_arg0"assessmentId")inletassessmentName=(Option.map~f:AssessmentName.of_xml)(Xml.childxml_arg0"assessmentName")inletid=(Option.map~f:UUID.of_xml)(Xml.childxml_arg0"id")inmake?controlSetName?creationTime?roleArn?status?assessmentId?assessmentName?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcontrolSetName=field_mapjson__"controlSetName"NonEmptyString.of_jsoninletcreationTime=field_mapjson__"creationTime"Timestamp.of_jsoninletroleArn=field_mapjson__"roleArn"IamArn.of_jsoninletstatus=field_mapjson__"status"DelegationStatus.of_jsoninletassessmentId=field_mapjson__"assessmentId"UUID.of_jsoninletassessmentName=field_mapjson__"assessmentName"AssessmentName.of_jsoninletid=field_mapjson__"id"UUID.of_jsoninmake?controlSetName?creationTime?roleArn?status?assessmentId?assessmentName?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The metadata that's associated with the delegation."]moduleChangeLog=structtypenonrect={objectType:ObjectTypeEnum.toption[@ocaml.doc"The object that was changed, such as an assessment, control, or control set."];objectName:NonEmptyString.toption[@ocaml.doc"The name of the object that changed. This could be the name of an assessment, control, or control set."];action:ActionEnum.toption[@ocaml.doc"The action that was performed."];createdAt:Timestamp.toption[@ocaml.doc"The time when the action was performed and the changelog record was created."];createdBy:IamArn.toption[@ocaml.doc"The user or role that performed the action."]}letmake?objectType=fun?objectName->fun?action->fun?createdAt->fun?createdBy->fun()->{objectType;objectName;action;createdAt;createdBy}letto_valuex=structure_to_value[("objectType",(Option.mapx.objectType~f:ObjectTypeEnum.to_value));("objectName",(Option.mapx.objectName~f:NonEmptyString.to_value));("action",(Option.mapx.action~f:ActionEnum.to_value));("createdAt",(Option.mapx.createdAt~f:Timestamp.to_value));("createdBy",(Option.mapx.createdBy~f:IamArn.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcreatedBy=(Option.map~f:IamArn.of_xml)(Xml.childxml_arg0"createdBy")inletcreatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"createdAt")inletaction=(Option.map~f:ActionEnum.of_xml)(Xml.childxml_arg0"action")inletobjectName=(Option.map~f:NonEmptyString.of_xml)(Xml.childxml_arg0"objectName")inletobjectType=(Option.map~f:ObjectTypeEnum.of_xml)(Xml.childxml_arg0"objectType")inmake?createdBy?createdAt?action?objectName?objectType()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcreatedBy=field_mapjson__"createdBy"IamArn.of_jsoninletcreatedAt=field_mapjson__"createdAt"Timestamp.of_jsoninletaction=field_mapjson__"action"ActionEnum.of_jsoninletobjectName=field_mapjson__"objectName"NonEmptyString.of_jsoninletobjectType=field_mapjson__"objectType"ObjectTypeEnum.of_jsoninmake?createdBy?createdAt?action?objectName?objectType()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The record of a change within Audit Manager. For example, this could be the status change of an assessment or the delegation of a control set."]moduleHyperlinkName=structtypenonrect=stringletcontext_="HyperlinkName"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:200)>>=(fun()->check_patterni~pattern:"^[\\w\\W\\s\\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:"HyperlinkName"jletto_json=simple_to_jsonto_valueendmoduleUrlLink=structtypenonrect=stringletcontext_="UrlLink"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:8192)>>=(fun()->check_patterni~pattern:"^(https?:\\/\\/)?(www\\.)?[a-zA-Z0-9-_]+([\\.]+[a-zA-Z]+)+[\\/\\w]*$")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"UrlLink"jletto_json=simple_to_jsonto_valueendmoduleCreateControlMappingSource=structtypenonrect={sourceName:SourceName.toption[@ocaml.doc"The name of the control mapping data source."];sourceDescription:SourceDescription.toption[@ocaml.doc"The description of the data source that determines where Audit Manager collects evidence from for the control."];sourceSetUpOption:SourceSetUpOption.toption[@ocaml.doc"The setup option for the data source. This option reflects if the evidence collection method is automated or manual. If you don\226\128\153t provide a value for sourceSetUpOption, Audit Manager automatically infers and populates the correct value based on the sourceType that you specify."];sourceType:SourceType.toption[@ocaml.doc"Specifies which type of data source is used to collect evidence. The source can be an individual data source type, such as AWS_Cloudtrail, AWS_Config, AWS_Security_Hub, AWS_API_Call, or MANUAL. The source can also be a managed grouping of data sources, such as a Core_Control or a Common_Control."];sourceKeyword:SourceKeyword.toption;sourceFrequency:SourceFrequency.toption[@ocaml.doc"Specifies how often evidence is collected from the control mapping source."];troubleshootingText:TroubleshootingText.toption[@ocaml.doc"The instructions for troubleshooting the control."]}letmake?sourceName=fun?sourceDescription->fun?sourceSetUpOption->fun?sourceType->fun?sourceKeyword->fun?sourceFrequency->fun?troubleshootingText->fun()->{sourceName;sourceDescription;sourceSetUpOption;sourceType;sourceKeyword;sourceFrequency;troubleshootingText}letto_valuex=structure_to_value[("sourceName",(Option.mapx.sourceName~f:SourceName.to_value));("sourceDescription",(Option.mapx.sourceDescription~f:SourceDescription.to_value));("sourceSetUpOption",(Option.mapx.sourceSetUpOption~f:SourceSetUpOption.to_value));("sourceType",(Option.mapx.sourceType~f:SourceType.to_value));("sourceKeyword",(Option.mapx.sourceKeyword~f:SourceKeyword.to_value));("sourceFrequency",(Option.mapx.sourceFrequency~f:SourceFrequency.to_value));("troubleshootingText",(Option.mapx.troubleshootingText~f:TroubleshootingText.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettroubleshootingText=(Option.map~f:TroubleshootingText.of_xml)(Xml.childxml_arg0"troubleshootingText")inletsourceFrequency=(Option.map~f:SourceFrequency.of_xml)(Xml.childxml_arg0"sourceFrequency")inletsourceKeyword=(Option.map~f:SourceKeyword.of_xml)(Xml.childxml_arg0"sourceKeyword")inletsourceType=(Option.map~f:SourceType.of_xml)(Xml.childxml_arg0"sourceType")inletsourceSetUpOption=(Option.map~f:SourceSetUpOption.of_xml)(Xml.childxml_arg0"sourceSetUpOption")inletsourceDescription=(Option.map~f:SourceDescription.of_xml)(Xml.childxml_arg0"sourceDescription")inletsourceName=(Option.map~f:SourceName.of_xml)(Xml.childxml_arg0"sourceName")inmake?troubleshootingText?sourceFrequency?sourceKeyword?sourceType?sourceSetUpOption?sourceDescription?sourceName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettroubleshootingText=field_mapjson__"troubleshootingText"TroubleshootingText.of_jsoninletsourceFrequency=field_mapjson__"sourceFrequency"SourceFrequency.of_jsoninletsourceKeyword=field_mapjson__"sourceKeyword"SourceKeyword.of_jsoninletsourceType=field_mapjson__"sourceType"SourceType.of_jsoninletsourceSetUpOption=field_mapjson__"sourceSetUpOption"SourceSetUpOption.of_jsoninletsourceDescription=field_mapjson__"sourceDescription"SourceDescription.of_jsoninletsourceName=field_mapjson__"sourceName"SourceName.of_jsoninmake?troubleshootingText?sourceFrequency?sourceKeyword?sourceType?sourceSetUpOption?sourceDescription?sourceName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The mapping attributes that determine the evidence source for a given control, along with related parameters and metadata. This doesn't contain mappingID."]moduleCreateAssessmentFrameworkControlSet=structtypenonrect={name:ControlSetName.t[@ocaml.doc"The name of the control set."];controls:CreateAssessmentFrameworkControls.toption[@ocaml.doc"The list of controls within the control set. This doesn't contain the control set ID."]}letcontext_="CreateAssessmentFrameworkControlSet"letmake?controls=fun~name->fun()->{controls;name}letto_valuex=structure_to_value[("name",(Some(ControlSetName.to_valuex.name)));("controls",(Option.mapx.controls~f:CreateAssessmentFrameworkControls.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcontrols=(Option.map~f:CreateAssessmentFrameworkControls.of_xml)(Xml.childxml_arg0"controls")inletname=ControlSetName.of_xml(Xml.child_exn~context:context_xml_arg0"name")inmake?controls~name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcontrols=field_mapjson__"controls"CreateAssessmentFrameworkControls.of_jsoninletname=field_map_exnjson__"name"ControlSetName.of_jsoninmake?controls~name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A controlSet entity that represents a collection of controls in Audit Manager. This doesn't contain the control set ID."]moduleBatchImportEvidenceToAssessmentControlError=structtypenonrect={manualEvidence:ManualEvidence.toption[@ocaml.doc"Manual evidence that can't be collected automatically by Audit Manager."];errorCode:ErrorCode.toption[@ocaml.doc"The error code that the BatchImportEvidenceToAssessmentControl API returned."];errorMessage:ErrorMessage.toption[@ocaml.doc"The error message that the BatchImportEvidenceToAssessmentControl API returned."]}letmake?manualEvidence=fun?errorCode->fun?errorMessage->fun()->{manualEvidence;errorCode;errorMessage}letto_valuex=structure_to_value[("manualEvidence",(Option.mapx.manualEvidence~f:ManualEvidence.to_value));("errorCode",(Option.mapx.errorCode~f:ErrorCode.to_value));("errorMessage",(Option.mapx.errorMessage~f:ErrorMessage.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=leterrorMessage=(Option.map~f:ErrorMessage.of_xml)(Xml.childxml_arg0"errorMessage")inleterrorCode=(Option.map~f:ErrorCode.of_xml)(Xml.childxml_arg0"errorCode")inletmanualEvidence=(Option.map~f:ManualEvidence.of_xml)(Xml.childxml_arg0"manualEvidence")inmake?errorMessage?errorCode?manualEvidence()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=leterrorMessage=field_mapjson__"errorMessage"ErrorMessage.of_jsoninleterrorCode=field_mapjson__"errorCode"ErrorCode.of_jsoninletmanualEvidence=field_mapjson__"manualEvidence"ManualEvidence.of_jsoninmake?errorMessage?errorCode?manualEvidence()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"An error entity for the BatchImportEvidenceToAssessmentControl API. This is used to provide more meaningful errors than a simple string message."]moduleAssessmentReportEvidenceError=structtypenonrect={evidenceId:UUID.toption[@ocaml.doc"The identifier for the evidence."];errorCode:ErrorCode.toption[@ocaml.doc"The error code that was returned."];errorMessage:ErrorMessage.toption[@ocaml.doc"The error message that was returned."]}letmake?evidenceId=fun?errorCode->fun?errorMessage->fun()->{evidenceId;errorCode;errorMessage}letto_valuex=structure_to_value[("evidenceId",(Option.mapx.evidenceId~f:UUID.to_value));("errorCode",(Option.mapx.errorCode~f:ErrorCode.to_value));("errorMessage",(Option.mapx.errorMessage~f:ErrorMessage.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=leterrorMessage=(Option.map~f:ErrorMessage.of_xml)(Xml.childxml_arg0"errorMessage")inleterrorCode=(Option.map~f:ErrorCode.of_xml)(Xml.childxml_arg0"errorCode")inletevidenceId=(Option.map~f:UUID.of_xml)(Xml.childxml_arg0"evidenceId")inmake?errorMessage?errorCode?evidenceId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=leterrorMessage=field_mapjson__"errorMessage"ErrorMessage.of_jsoninleterrorCode=field_mapjson__"errorCode"ErrorCode.of_jsoninletevidenceId=field_mapjson__"evidenceId"UUID.of_jsoninmake?errorMessage?errorCode?evidenceId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"An error entity for assessment report evidence errors. This is used to provide more meaningful errors than a simple string message."]moduleBatchDeleteDelegationByAssessmentError=structtypenonrect={delegationId:UUID.toption[@ocaml.doc"The identifier for the delegation."];errorCode:ErrorCode.toption[@ocaml.doc"The error code that the BatchDeleteDelegationByAssessment API returned."];errorMessage:ErrorMessage.toption[@ocaml.doc"The error message that the BatchDeleteDelegationByAssessment API returned."]}letmake?delegationId=fun?errorCode->fun?errorMessage->fun()->{delegationId;errorCode;errorMessage}letto_valuex=structure_to_value[("delegationId",(Option.mapx.delegationId~f:UUID.to_value));("errorCode",(Option.mapx.errorCode~f:ErrorCode.to_value));("errorMessage",(Option.mapx.errorMessage~f:ErrorMessage.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=leterrorMessage=(Option.map~f:ErrorMessage.of_xml)(Xml.childxml_arg0"errorMessage")inleterrorCode=(Option.map~f:ErrorCode.of_xml)(Xml.childxml_arg0"errorCode")inletdelegationId=(Option.map~f:UUID.of_xml)(Xml.childxml_arg0"delegationId")inmake?errorMessage?errorCode?delegationId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=leterrorMessage=field_mapjson__"errorMessage"ErrorMessage.of_jsoninleterrorCode=field_mapjson__"errorCode"ErrorCode.of_jsoninletdelegationId=field_mapjson__"delegationId"UUID.of_jsoninmake?errorMessage?errorCode?delegationId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"An error entity for the BatchDeleteDelegationByAssessment API. This is used to provide more meaningful errors than a simple string message."]moduleBatchCreateDelegationByAssessmentError=structtypenonrect={createDelegationRequest:CreateDelegationRequest.toption[@ocaml.doc"The API request to batch create delegations in Audit Manager."];errorCode:ErrorCode.toption[@ocaml.doc"The error code that the BatchCreateDelegationByAssessment API returned."];errorMessage:ErrorMessage.toption[@ocaml.doc"The error message that the BatchCreateDelegationByAssessment API returned."]}letmake?createDelegationRequest=fun?errorCode->fun?errorMessage->fun()->{createDelegationRequest;errorCode;errorMessage}letto_valuex=structure_to_value[("createDelegationRequest",(Option.mapx.createDelegationRequest~f:CreateDelegationRequest.to_value));("errorCode",(Option.mapx.errorCode~f:ErrorCode.to_value));("errorMessage",(Option.mapx.errorMessage~f:ErrorMessage.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=leterrorMessage=(Option.map~f:ErrorMessage.of_xml)(Xml.childxml_arg0"errorMessage")inleterrorCode=(Option.map~f:ErrorCode.of_xml)(Xml.childxml_arg0"errorCode")inletcreateDelegationRequest=(Option.map~f:CreateDelegationRequest.of_xml)(Xml.childxml_arg0"createDelegationRequest")inmake?errorMessage?errorCode?createDelegationRequest()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=leterrorMessage=field_mapjson__"errorMessage"ErrorMessage.of_jsoninleterrorCode=field_mapjson__"errorCode"ErrorCode.of_jsoninletcreateDelegationRequest=field_mapjson__"createDelegationRequest"CreateDelegationRequest.of_jsoninmake?errorMessage?errorCode?createDelegationRequest()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"An error entity for the BatchCreateDelegationByAssessment API. This is used to provide more meaningful errors than a simple string message."]moduleAccessDeniedException=structtypenonrect={message:String_.toption}letmake?message=fun()->{message}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"String_.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Your account isn't registered with Audit Manager. Check the delegated administrator setup on the Audit Manager settings page, and try again."]moduleInternalServerException=structtypenonrect={message:String_.toption}letmake?message=fun()->{message}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"String_.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"An internal service error occurred during the processing of your request. Try again later."]moduleResourceNotFoundException=structtypenonrect={message:String_.toption;resourceId:String_.toption[@ocaml.doc"The unique identifier for the resource."];resourceType:String_.toption[@ocaml.doc"The type of resource that's affected by the error."]}letmake?message=fun?resourceId->fun?resourceType->fun()->{message;resourceId;resourceType}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:String_.to_value));("resourceId",(Option.mapx.resourceId~f:String_.to_value));("resourceType",(Option.mapx.resourceType~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresourceType=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"resourceType")inletresourceId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"resourceId")inletmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"message")inmake?resourceType?resourceId?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresourceType=field_mapjson__"resourceType"String_.of_jsoninletresourceId=field_mapjson__"resourceId"String_.of_jsoninletmessage=field_mapjson__"message"String_.of_jsoninmake?resourceType?resourceId?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The resource that's specified in the request can't be found."]moduleValidationErrors=structtypenonrect=NonEmptyString.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:NonEmptyString.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:NonEmptyString.of_xml)letof_jsonj=list_of_json~kind:"ValidationErrors"~of_json:NonEmptyString.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleValidationException=structtypenonrect={message:String_.toption;reason:ValidationExceptionReason.toption[@ocaml.doc"The reason the request failed validation."];fields:ValidationExceptionFieldList.toption[@ocaml.doc"The fields that caused the error, if applicable."]}letmake?message=fun?reason->fun?fields->fun()->{message;reason;fields}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:String_.to_value));("reason",(Option.mapx.reason~f:ValidationExceptionReason.to_value));("fields",(Option.mapx.fields~f:ValidationExceptionFieldList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letfields=(Option.map~f:ValidationExceptionFieldList.of_xml)(Xml.childxml_arg0"fields")inletreason=(Option.map~f:ValidationExceptionReason.of_xml)(Xml.childxml_arg0"reason")inletmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"message")inmake?fields?reason?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letfields=field_mapjson__"fields"ValidationExceptionFieldList.of_jsoninletreason=field_mapjson__"reason"ValidationExceptionReason.of_jsoninletmessage=field_mapjson__"message"String_.of_jsoninmake?fields?reason?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The request has invalid or missing parameters."]moduleSettings=structtypenonrect={isAwsOrgEnabled:Boolean.toption[@ocaml.doc"Specifies whether Organizations is enabled."];snsTopic:SNSTopic.toption[@ocaml.doc"The designated Amazon Simple Notification Service (Amazon SNS) topic."];defaultAssessmentReportsDestination:AssessmentReportsDestination.toption[@ocaml.doc"The default S3 destination bucket for storing assessment reports."];defaultProcessOwners:Roles.toption[@ocaml.doc"The designated default audit owners."];kmsKey:KmsKey.toption[@ocaml.doc"The KMS key details."];evidenceFinderEnablement:EvidenceFinderEnablement.toption[@ocaml.doc"The current evidence finder status and event data store details."];deregistrationPolicy:DeregistrationPolicy.toption[@ocaml.doc"The deregistration policy for your Audit Manager data. You can use this attribute to determine how your data is handled when you deregister Audit Manager."];defaultExportDestination:DefaultExportDestination.toption[@ocaml.doc"The default S3 destination bucket for storing evidence finder exports."]}letmake?isAwsOrgEnabled=fun?snsTopic->fun?defaultAssessmentReportsDestination->fun?defaultProcessOwners->fun?kmsKey->fun?evidenceFinderEnablement->fun?deregistrationPolicy->fun?defaultExportDestination->fun()->{isAwsOrgEnabled;snsTopic;defaultAssessmentReportsDestination;defaultProcessOwners;kmsKey;evidenceFinderEnablement;deregistrationPolicy;defaultExportDestination}letto_valuex=structure_to_value[("isAwsOrgEnabled",(Option.mapx.isAwsOrgEnabled~f:Boolean.to_value));("snsTopic",(Option.mapx.snsTopic~f:SNSTopic.to_value));("defaultAssessmentReportsDestination",(Option.mapx.defaultAssessmentReportsDestination~f:AssessmentReportsDestination.to_value));("defaultProcessOwners",(Option.mapx.defaultProcessOwners~f:Roles.to_value));("kmsKey",(Option.mapx.kmsKey~f:KmsKey.to_value));("evidenceFinderEnablement",(Option.mapx.evidenceFinderEnablement~f:EvidenceFinderEnablement.to_value));("deregistrationPolicy",(Option.mapx.deregistrationPolicy~f:DeregistrationPolicy.to_value));("defaultExportDestination",(Option.mapx.defaultExportDestination~f:DefaultExportDestination.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdefaultExportDestination=(Option.map~f:DefaultExportDestination.of_xml)(Xml.childxml_arg0"defaultExportDestination")inletderegistrationPolicy=(Option.map~f:DeregistrationPolicy.of_xml)(Xml.childxml_arg0"deregistrationPolicy")inletevidenceFinderEnablement=(Option.map~f:EvidenceFinderEnablement.of_xml)(Xml.childxml_arg0"evidenceFinderEnablement")inletkmsKey=(Option.map~f:KmsKey.of_xml)(Xml.childxml_arg0"kmsKey")inletdefaultProcessOwners=(Option.map~f:Roles.of_xml)(Xml.childxml_arg0"defaultProcessOwners")inletdefaultAssessmentReportsDestination=(Option.map~f:AssessmentReportsDestination.of_xml)(Xml.childxml_arg0"defaultAssessmentReportsDestination")inletsnsTopic=(Option.map~f:SNSTopic.of_xml)(Xml.childxml_arg0"snsTopic")inletisAwsOrgEnabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"isAwsOrgEnabled")inmake?defaultExportDestination?deregistrationPolicy?evidenceFinderEnablement?kmsKey?defaultProcessOwners?defaultAssessmentReportsDestination?snsTopic?isAwsOrgEnabled()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdefaultExportDestination=field_mapjson__"defaultExportDestination"DefaultExportDestination.of_jsoninletderegistrationPolicy=field_mapjson__"deregistrationPolicy"DeregistrationPolicy.of_jsoninletevidenceFinderEnablement=field_mapjson__"evidenceFinderEnablement"EvidenceFinderEnablement.of_jsoninletkmsKey=field_mapjson__"kmsKey"KmsKey.of_jsoninletdefaultProcessOwners=field_mapjson__"defaultProcessOwners"Roles.of_jsoninletdefaultAssessmentReportsDestination=field_mapjson__"defaultAssessmentReportsDestination"AssessmentReportsDestination.of_jsoninletsnsTopic=field_mapjson__"snsTopic"SNSTopic.of_jsoninletisAwsOrgEnabled=field_mapjson__"isAwsOrgEnabled"Boolean.of_jsoninmake?defaultExportDestination?deregistrationPolicy?evidenceFinderEnablement?kmsKey?defaultProcessOwners?defaultAssessmentReportsDestination?snsTopic?isAwsOrgEnabled()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The settings object that holds all supported Audit Manager settings."]moduleSnsArn=structtypenonrect=stringletcontext_="SnsArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:4)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:"^arn:.*:sns:.*|NONE")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"SnsArn"jletto_json=simple_to_jsonto_valueendmoduleAssessment=structtypenonrect={arn:AuditManagerArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the assessment."];awsAccount:AWSAccount.toption[@ocaml.doc"The Amazon Web Services account that's associated with the assessment."];metadata:AssessmentMetadata.toption[@ocaml.doc"The metadata for the assessment."];framework:AssessmentFramework.toption[@ocaml.doc"The framework that the assessment was created from."];tags:TagMap.toption[@ocaml.doc"The tags that are associated with the assessment."]}letmake?arn=fun?awsAccount->fun?metadata->fun?framework->fun?tags->fun()->{arn;awsAccount;metadata;framework;tags}letto_valuex=structure_to_value[("arn",(Option.mapx.arn~f:AuditManagerArn.to_value));("awsAccount",(Option.mapx.awsAccount~f:AWSAccount.to_value));("metadata",(Option.mapx.metadata~f:AssessmentMetadata.to_value));("framework",(Option.mapx.framework~f:AssessmentFramework.to_value));("tags",(Option.mapx.tags~f:TagMap.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettags=(Option.map~f:TagMap.of_xml)(Xml.childxml_arg0"tags")inletframework=(Option.map~f:AssessmentFramework.of_xml)(Xml.childxml_arg0"framework")inletmetadata=(Option.map~f:AssessmentMetadata.of_xml)(Xml.childxml_arg0"metadata")inletawsAccount=(Option.map~f:AWSAccount.of_xml)(Xml.childxml_arg0"awsAccount")inletarn=(Option.map~f:AuditManagerArn.of_xml)(Xml.childxml_arg0"arn")inmake?tags?framework?metadata?awsAccount?arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"tags"TagMap.of_jsoninletframework=field_mapjson__"framework"AssessmentFramework.of_jsoninletmetadata=field_mapjson__"metadata"AssessmentMetadata.of_jsoninletawsAccount=field_mapjson__"awsAccount"AWSAccount.of_jsoninletarn=field_mapjson__"arn"AuditManagerArn.of_jsoninmake?tags?framework?metadata?awsAccount?arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"An entity that defines the scope of audit evidence collected by Audit Manager. An Audit Manager assessment is an implementation of an Audit Manager framework."]moduleServiceQuotaExceededException=structtypenonrect={message:String_.toption}letmake?message=fun()->{message}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"String_.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"You've reached your account quota for this resource type. To perform the requested action, delete some existing resources or request a quota increase from the Service Quotas console. For a list of Audit Manager service quotas, see Quotas and restrictions for Audit Manager."]moduleThrottlingException=structtypenonrect={message:String_.toption}letmake?message=fun()->{message}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"String_.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The request was denied due to request throttling."]moduleShareRequestAction=structtypenonrect=|ACCEPT|DECLINE|REVOKE|Non_static_idofstringletmakei=iletto_string=function|ACCEPT->"ACCEPT"|DECLINE->"DECLINE"|REVOKE->"REVOKE"|Non_static_ids->sletof_string=function|"ACCEPT"->ACCEPT|"DECLINE"->DECLINE|"REVOKE"->REVOKE|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 ShareRequestAction"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ShareRequestAction"j)letto_json=simple_to_jsonto_valueendmoduleShareRequestType=structtypenonrect=|SENT|RECEIVED|Non_static_idofstringletmakei=iletto_string=function|SENT->"SENT"|RECEIVED->"RECEIVED"|Non_static_ids->sletof_string=function|"SENT"->SENT|"RECEIVED"->RECEIVED|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 ShareRequestType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ShareRequestType"j)letto_json=simple_to_jsonto_valueendmoduleFramework=structtypenonrect={arn:AuditManagerArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the framework."];id:UUID.toption[@ocaml.doc"The unique identifier for the framework."];name:FrameworkName.toption[@ocaml.doc"The name of the framework."];type_:FrameworkType.toption[@ocaml.doc"Specifies whether the framework is a standard framework or a custom framework."];complianceType:ComplianceType.toption[@ocaml.doc"The compliance type that the framework supports, such as CIS or HIPAA."];description:FrameworkDescription.toption[@ocaml.doc"The description of the framework."];logo:Filename.toption[@ocaml.doc"The logo that's associated with the framework."];controlSources:ControlSources.toption[@ocaml.doc"The control data sources where Audit Manager collects evidence from. This API parameter is no longer supported."];controlSets:ControlSets.toption[@ocaml.doc"The control sets that are associated with the framework. The Controls object returns a partial response when called through Framework APIs. For a complete Controls object, use GetControl."];createdAt:Timestamp.toption[@ocaml.doc"The time when the framework was created."];lastUpdatedAt:Timestamp.toption[@ocaml.doc"The time when the framework was most recently updated."];createdBy:CreatedBy.toption[@ocaml.doc"The user or role that created the framework."];lastUpdatedBy:LastUpdatedBy.toption[@ocaml.doc"The user or role that most recently updated the framework."];tags:TagMap.toption[@ocaml.doc"The tags that are associated with the framework."]}letmake?arn=fun?id->fun?name->fun?type_->fun?complianceType->fun?description->fun?logo->fun?controlSources->fun?controlSets->fun?createdAt->fun?lastUpdatedAt->fun?createdBy->fun?lastUpdatedBy->fun?tags->fun()->{arn;id;name;type_;complianceType;description;logo;controlSources;controlSets;createdAt;lastUpdatedAt;createdBy;lastUpdatedBy;tags}letto_valuex=structure_to_value[("arn",(Option.mapx.arn~f:AuditManagerArn.to_value));("id",(Option.mapx.id~f:UUID.to_value));("name",(Option.mapx.name~f:FrameworkName.to_value));("type",(Option.mapx.type_~f:FrameworkType.to_value));("complianceType",(Option.mapx.complianceType~f:ComplianceType.to_value));("description",(Option.mapx.description~f:FrameworkDescription.to_value));("logo",(Option.mapx.logo~f:Filename.to_value));("controlSources",(Option.mapx.controlSources~f:ControlSources.to_value));("controlSets",(Option.mapx.controlSets~f:ControlSets.to_value));("createdAt",(Option.mapx.createdAt~f:Timestamp.to_value));("lastUpdatedAt",(Option.mapx.lastUpdatedAt~f:Timestamp.to_value));("createdBy",(Option.mapx.createdBy~f:CreatedBy.to_value));("lastUpdatedBy",(Option.mapx.lastUpdatedBy~f:LastUpdatedBy.to_value));("tags",(Option.mapx.tags~f:TagMap.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettags=(Option.map~f:TagMap.of_xml)(Xml.childxml_arg0"tags")inletlastUpdatedBy=(Option.map~f:LastUpdatedBy.of_xml)(Xml.childxml_arg0"lastUpdatedBy")inletcreatedBy=(Option.map~f:CreatedBy.of_xml)(Xml.childxml_arg0"createdBy")inletlastUpdatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"lastUpdatedAt")inletcreatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"createdAt")inletcontrolSets=(Option.map~f:ControlSets.of_xml)(Xml.childxml_arg0"controlSets")inletcontrolSources=(Option.map~f:ControlSources.of_xml)(Xml.childxml_arg0"controlSources")inletlogo=(Option.map~f:Filename.of_xml)(Xml.childxml_arg0"logo")inletdescription=(Option.map~f:FrameworkDescription.of_xml)(Xml.childxml_arg0"description")inletcomplianceType=(Option.map~f:ComplianceType.of_xml)(Xml.childxml_arg0"complianceType")inlettype_=(Option.map~f:FrameworkType.of_xml)(Xml.childxml_arg0"type")inletname=(Option.map~f:FrameworkName.of_xml)(Xml.childxml_arg0"name")inletid=(Option.map~f:UUID.of_xml)(Xml.childxml_arg0"id")inletarn=(Option.map~f:AuditManagerArn.of_xml)(Xml.childxml_arg0"arn")inmake?tags?lastUpdatedBy?createdBy?lastUpdatedAt?createdAt?controlSets?controlSources?logo?description?complianceType?type_?name?id?arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"tags"TagMap.of_jsoninletlastUpdatedBy=field_mapjson__"lastUpdatedBy"LastUpdatedBy.of_jsoninletcreatedBy=field_mapjson__"createdBy"CreatedBy.of_jsoninletlastUpdatedAt=field_mapjson__"lastUpdatedAt"Timestamp.of_jsoninletcreatedAt=field_mapjson__"createdAt"Timestamp.of_jsoninletcontrolSets=field_mapjson__"controlSets"ControlSets.of_jsoninletcontrolSources=field_mapjson__"controlSources"ControlSources.of_jsoninletlogo=field_mapjson__"logo"Filename.of_jsoninletdescription=field_mapjson__"description"FrameworkDescription.of_jsoninletcomplianceType=field_mapjson__"complianceType"ComplianceType.of_jsoninlettype_=field_mapjson__"type"FrameworkType.of_jsoninletname=field_mapjson__"name"FrameworkName.of_jsoninletid=field_mapjson__"id"UUID.of_jsoninletarn=field_mapjson__"arn"AuditManagerArn.of_jsoninmake?tags?lastUpdatedBy?createdBy?lastUpdatedAt?createdAt?controlSets?controlSources?logo?description?complianceType?type_?name?id?arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The file that's used to structure and automate Audit Manager assessments for a given compliance standard."]moduleUpdateAssessmentFrameworkControlSets=structtypenonrect=UpdateAssessmentFrameworkControlSet.tlistletmakei=letopenResultinok_or_failwith(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:UpdateAssessmentFrameworkControlSet.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:UpdateAssessmentFrameworkControlSet.of_xml)letof_jsonj=list_of_json~kind:"UpdateAssessmentFrameworkControlSets"~of_json:UpdateAssessmentFrameworkControlSet.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleTagKeyList=structtypenonrect=TagKey.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:50)>>=(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: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_valuevendmoduleOrganizationId=structtypenonrect=stringletcontext_="organizationId"letmakei=letopenResultinok_or_failwith((check_string_mini~min:12)>>=(fun()->(check_string_maxi~max:34)>>=(fun()->check_patterni~pattern:"o-[a-z0-9]{10,32}")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"organizationId"jletto_json=simple_to_jsonto_valueendmoduleAccountStatus=structtypenonrect=|ACTIVE|INACTIVE|PENDING_ACTIVATION|Non_static_idofstringletmakei=iletto_string=function|ACTIVE->"ACTIVE"|INACTIVE->"INACTIVE"|PENDING_ACTIVATION->"PENDING_ACTIVATION"|Non_static_ids->sletof_string=function|"ACTIVE"->ACTIVE|"INACTIVE"->INACTIVE|"PENDING_ACTIVATION"->PENDING_ACTIVATION|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 AccountStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"AccountStatus"j)letto_json=simple_to_jsonto_valueendmoduleNotifications=structtypenonrect=Notification.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:Notification.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:Notification.of_xml)letof_jsonj=list_of_json~kind:"Notifications"~of_json:Notification.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleToken=structtypenonrect=stringletcontext_="Token"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:1000)>>=(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:"Token"jletto_json=simple_to_jsonto_valueendmoduleMaxResults=structtypenonrect=int[@@ocaml.doc"Max results in the page."]letmakei=letopenResultinok_or_failwith((check_int_maxi~max:1000)>>=(fun()->check_int_mini~min:1));iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for MaxResults"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueend[@@ocaml.doc"Max results in the page."]moduleKeywords=structtypenonrect=KeywordValue.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:KeywordValue.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:KeywordValue.of_xml)letof_jsonj=list_of_json~kind:"Keywords"~of_json:KeywordValue.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleDataSourceType=structtypenonrect=|AWS_Cloudtrail|AWS_Config|AWS_Security_Hub|AWS_API_Call|MANUAL|Non_static_idofstringletmakei=iletto_string=function|AWS_Cloudtrail->"AWS_Cloudtrail"|AWS_Config->"AWS_Config"|AWS_Security_Hub->"AWS_Security_Hub"|AWS_API_Call->"AWS_API_Call"|MANUAL->"MANUAL"|Non_static_ids->sletof_string=function|"AWS_Cloudtrail"->AWS_Cloudtrail|"AWS_Config"->AWS_Config|"AWS_Security_Hub"->AWS_Security_Hub|"AWS_API_Call"->AWS_API_Call|"MANUAL"->MANUAL|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 DataSourceType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"DataSourceType"j)letto_json=simple_to_jsonto_valueendmoduleControlMetadataList=structtypenonrect=ControlMetadata.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ControlMetadata.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:ControlMetadata.of_xml)letof_jsonj=list_of_json~kind:"ControlMetadataList"~of_json:ControlMetadata.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleControlCatalogId=structtypenonrect=stringletcontext_="ControlCatalogId"letmakei=letopenResultinok_or_failwith((check_string_mini~min:13)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:"^arn:.*:controlcatalog:.*|UNCATEGORIZED")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ControlCatalogId"jletto_json=simple_to_jsonto_valueendmoduleControlInsightsMetadata=structtypenonrect=ControlInsightsMetadataItem.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ControlInsightsMetadataItem.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:ControlInsightsMetadataItem.of_xml)letof_jsonj=list_of_json~kind:"ControlInsightsMetadata"~of_json:ControlInsightsMetadataItem.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleControlDomainInsightsList=structtypenonrect=ControlDomainInsights.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ControlDomainInsights.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:ControlDomainInsights.of_xml)letof_jsonj=list_of_json~kind:"ControlDomainInsightsList"~of_json:ControlDomainInsights.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleListAssessmentMetadata=structtypenonrect=AssessmentMetadataItem.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:AssessmentMetadataItem.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:AssessmentMetadataItem.of_xml)letof_jsonj=list_of_json~kind:"ListAssessmentMetadata"~of_json:AssessmentMetadataItem.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleAssessmentReportsMetadata=structtypenonrect=AssessmentReportMetadata.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:AssessmentReportMetadata.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:AssessmentReportMetadata.of_xml)letof_jsonj=list_of_json~kind:"AssessmentReportsMetadata"~of_json:AssessmentReportMetadata.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleFrameworkMetadataList=structtypenonrect=AssessmentFrameworkMetadata.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:AssessmentFrameworkMetadata.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:AssessmentFrameworkMetadata.of_xml)letof_jsonj=list_of_json~kind:"FrameworkMetadataList"~of_json:AssessmentFrameworkMetadata.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleAssessmentFrameworkShareRequestList=structtypenonrect=AssessmentFrameworkShareRequest.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:AssessmentFrameworkShareRequest.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:AssessmentFrameworkShareRequest.of_xml)letof_jsonj=list_of_json~kind:"AssessmentFrameworkShareRequestList"~of_json:AssessmentFrameworkShareRequest.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleControlInsightsMetadataByAssessment=structtypenonrect=ControlInsightsMetadataByAssessmentItem.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ControlInsightsMetadataByAssessmentItem.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:ControlInsightsMetadataByAssessmentItem.of_xml)letof_jsonj=list_of_json~kind:"ControlInsightsMetadataByAssessment"~of_json:ControlInsightsMetadataByAssessmentItem.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleSettingAttribute=structtypenonrect=|ALL|IS_AWS_ORG_ENABLED|SNS_TOPIC|DEFAULT_ASSESSMENT_REPORTS_DESTINATION|DEFAULT_PROCESS_OWNERS|EVIDENCE_FINDER_ENABLEMENT|DEREGISTRATION_POLICY|DEFAULT_EXPORT_DESTINATION|Non_static_idofstringletmakei=iletto_string=function|ALL->"ALL"|IS_AWS_ORG_ENABLED->"IS_AWS_ORG_ENABLED"|SNS_TOPIC->"SNS_TOPIC"|DEFAULT_ASSESSMENT_REPORTS_DESTINATION->"DEFAULT_ASSESSMENT_REPORTS_DESTINATION"|DEFAULT_PROCESS_OWNERS->"DEFAULT_PROCESS_OWNERS"|EVIDENCE_FINDER_ENABLEMENT->"EVIDENCE_FINDER_ENABLEMENT"|DEREGISTRATION_POLICY->"DEREGISTRATION_POLICY"|DEFAULT_EXPORT_DESTINATION->"DEFAULT_EXPORT_DESTINATION"|Non_static_ids->sletof_string=function|"ALL"->ALL|"IS_AWS_ORG_ENABLED"->IS_AWS_ORG_ENABLED|"SNS_TOPIC"->SNS_TOPIC|"DEFAULT_ASSESSMENT_REPORTS_DESTINATION"->DEFAULT_ASSESSMENT_REPORTS_DESTINATION|"DEFAULT_PROCESS_OWNERS"->DEFAULT_PROCESS_OWNERS|"EVIDENCE_FINDER_ENABLEMENT"->EVIDENCE_FINDER_ENABLEMENT|"DEREGISTRATION_POLICY"->DEREGISTRATION_POLICY|"DEFAULT_EXPORT_DESTINATION"->DEFAULT_EXPORT_DESTINATION|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 SettingAttribute"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"SettingAttribute"j)letto_json=simple_to_jsonto_valueendmoduleServiceMetadataList=structtypenonrect=ServiceMetadata.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ServiceMetadata.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:ServiceMetadata.of_xml)letof_jsonj=list_of_json~kind:"ServiceMetadataList"~of_json:ServiceMetadata.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleInsights=structtypenonrect={activeAssessmentsCount:NullableInteger.toption[@ocaml.doc"The number of active assessments in Audit Manager."];noncompliantEvidenceCount:NullableInteger.toption[@ocaml.doc"The number of compliance check evidence that Audit Manager classified as non-compliant on the lastUpdated date. This includes evidence that was collected from Security Hub with a Fail ruling, or collected from Config with a Non-compliant ruling."];compliantEvidenceCount:NullableInteger.toption[@ocaml.doc"The number of compliance check evidence that Audit Manager classified as compliant on the lastUpdated date. This includes evidence that was collected from Security Hub with a Pass ruling, or collected from Config with a Compliant ruling."];inconclusiveEvidenceCount:NullableInteger.toption[@ocaml.doc"The number of evidence without a compliance check ruling. Evidence is inconclusive when the associated control uses Security Hub or Config as a data source but you didn't enable those services. This is also the case when a control uses a data source that doesn\226\128\153t support compliance checks (for example: manual evidence, API calls, or CloudTrail). If evidence has a compliance check status of not applicable, it's classed as inconclusive in Insights data."];assessmentControlsCountByNoncompliantEvidence:NullableInteger.toption[@ocaml.doc"The number of assessment controls that collected non-compliant evidence on the lastUpdated date."];totalAssessmentControlsCount:NullableInteger.toption[@ocaml.doc"The total number of controls across all active assessments."];lastUpdated:Timestamp.toption[@ocaml.doc"The time when the cross-assessment insights were last updated."]}letmake?activeAssessmentsCount=fun?noncompliantEvidenceCount->fun?compliantEvidenceCount->fun?inconclusiveEvidenceCount->fun?assessmentControlsCountByNoncompliantEvidence->fun?totalAssessmentControlsCount->fun?lastUpdated->fun()->{activeAssessmentsCount;noncompliantEvidenceCount;compliantEvidenceCount;inconclusiveEvidenceCount;assessmentControlsCountByNoncompliantEvidence;totalAssessmentControlsCount;lastUpdated}letto_valuex=structure_to_value[("activeAssessmentsCount",(Option.mapx.activeAssessmentsCount~f:NullableInteger.to_value));("noncompliantEvidenceCount",(Option.mapx.noncompliantEvidenceCount~f:NullableInteger.to_value));("compliantEvidenceCount",(Option.mapx.compliantEvidenceCount~f:NullableInteger.to_value));("inconclusiveEvidenceCount",(Option.mapx.inconclusiveEvidenceCount~f:NullableInteger.to_value));("assessmentControlsCountByNoncompliantEvidence",(Option.mapx.assessmentControlsCountByNoncompliantEvidence~f:NullableInteger.to_value));("totalAssessmentControlsCount",(Option.mapx.totalAssessmentControlsCount~f:NullableInteger.to_value));("lastUpdated",(Option.mapx.lastUpdated~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlastUpdated=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"lastUpdated")inlettotalAssessmentControlsCount=(Option.map~f:NullableInteger.of_xml)(Xml.childxml_arg0"totalAssessmentControlsCount")inletassessmentControlsCountByNoncompliantEvidence=(Option.map~f:NullableInteger.of_xml)(Xml.childxml_arg0"assessmentControlsCountByNoncompliantEvidence")inletinconclusiveEvidenceCount=(Option.map~f:NullableInteger.of_xml)(Xml.childxml_arg0"inconclusiveEvidenceCount")inletcompliantEvidenceCount=(Option.map~f:NullableInteger.of_xml)(Xml.childxml_arg0"compliantEvidenceCount")inletnoncompliantEvidenceCount=(Option.map~f:NullableInteger.of_xml)(Xml.childxml_arg0"noncompliantEvidenceCount")inletactiveAssessmentsCount=(Option.map~f:NullableInteger.of_xml)(Xml.childxml_arg0"activeAssessmentsCount")inmake?lastUpdated?totalAssessmentControlsCount?assessmentControlsCountByNoncompliantEvidence?inconclusiveEvidenceCount?compliantEvidenceCount?noncompliantEvidenceCount?activeAssessmentsCount()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlastUpdated=field_mapjson__"lastUpdated"Timestamp.of_jsoninlettotalAssessmentControlsCount=field_mapjson__"totalAssessmentControlsCount"NullableInteger.of_jsoninletassessmentControlsCountByNoncompliantEvidence=field_mapjson__"assessmentControlsCountByNoncompliantEvidence"NullableInteger.of_jsoninletinconclusiveEvidenceCount=field_mapjson__"inconclusiveEvidenceCount"NullableInteger.of_jsoninletcompliantEvidenceCount=field_mapjson__"compliantEvidenceCount"NullableInteger.of_jsoninletnoncompliantEvidenceCount=field_mapjson__"noncompliantEvidenceCount"NullableInteger.of_jsoninletactiveAssessmentsCount=field_mapjson__"activeAssessmentsCount"NullableInteger.of_jsoninmake?lastUpdated?totalAssessmentControlsCount?assessmentControlsCountByNoncompliantEvidence?inconclusiveEvidenceCount?compliantEvidenceCount?noncompliantEvidenceCount?activeAssessmentsCount()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A summary of the latest analytics data for all your active assessments. This summary is a snapshot of the data that your active assessments collected on the lastUpdated date. It\226\128\153s important to understand that the following totals are daily counts based on this date \226\128\148 they aren\226\128\153t a total sum to date. The Insights data is eventually consistent. This means that, when you read data from Insights, the response might not instantly reflect the results of a recently completed write or update operation. If you repeat your read request after a few hours, the response should return the latest data. If you delete an assessment or change its status to inactive, InsightsByAssessment includes data for that assessment as follows. Inactive assessments - If Audit Manager collected evidence for your assessment before you changed it inactive, that evidence is included in the InsightsByAssessment counts for that day. Deleted assessments - If Audit Manager collected evidence for your assessment before you deleted it, that evidence isn't included in the InsightsByAssessment counts for that day."]moduleInsightsByAssessment=structtypenonrect={noncompliantEvidenceCount:NullableInteger.toption[@ocaml.doc"The number of compliance check evidence that Audit Manager classified as non-compliant. This includes evidence that was collected from Security Hub with a Fail ruling, or collected from Config with a Non-compliant ruling."];compliantEvidenceCount:NullableInteger.toption[@ocaml.doc"The number of compliance check evidence that Audit Manager classified as compliant. This includes evidence that was collected from Security Hub with a Pass ruling, or collected from Config with a Compliant ruling."];inconclusiveEvidenceCount:NullableInteger.toption[@ocaml.doc"The amount of evidence without a compliance check ruling. Evidence is inconclusive if the associated control uses Security Hub or Config as a data source and you didn't enable those services. This is also the case if a control uses a data source that doesn\226\128\153t support compliance checks (for example, manual evidence, API calls, or CloudTrail). If evidence has a compliance check status of not applicable, it's classified as inconclusive in InsightsByAssessment data."];assessmentControlsCountByNoncompliantEvidence:NullableInteger.toption[@ocaml.doc"The number of assessment controls that collected non-compliant evidence on the lastUpdated date."];totalAssessmentControlsCount:NullableInteger.toption[@ocaml.doc"The total number of controls in the assessment."];lastUpdated:Timestamp.toption[@ocaml.doc"The time when the assessment insights were last updated."]}letmake?noncompliantEvidenceCount=fun?compliantEvidenceCount->fun?inconclusiveEvidenceCount->fun?assessmentControlsCountByNoncompliantEvidence->fun?totalAssessmentControlsCount->fun?lastUpdated->fun()->{noncompliantEvidenceCount;compliantEvidenceCount;inconclusiveEvidenceCount;assessmentControlsCountByNoncompliantEvidence;totalAssessmentControlsCount;lastUpdated}letto_valuex=structure_to_value[("noncompliantEvidenceCount",(Option.mapx.noncompliantEvidenceCount~f:NullableInteger.to_value));("compliantEvidenceCount",(Option.mapx.compliantEvidenceCount~f:NullableInteger.to_value));("inconclusiveEvidenceCount",(Option.mapx.inconclusiveEvidenceCount~f:NullableInteger.to_value));("assessmentControlsCountByNoncompliantEvidence",(Option.mapx.assessmentControlsCountByNoncompliantEvidence~f:NullableInteger.to_value));("totalAssessmentControlsCount",(Option.mapx.totalAssessmentControlsCount~f:NullableInteger.to_value));("lastUpdated",(Option.mapx.lastUpdated~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlastUpdated=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"lastUpdated")inlettotalAssessmentControlsCount=(Option.map~f:NullableInteger.of_xml)(Xml.childxml_arg0"totalAssessmentControlsCount")inletassessmentControlsCountByNoncompliantEvidence=(Option.map~f:NullableInteger.of_xml)(Xml.childxml_arg0"assessmentControlsCountByNoncompliantEvidence")inletinconclusiveEvidenceCount=(Option.map~f:NullableInteger.of_xml)(Xml.childxml_arg0"inconclusiveEvidenceCount")inletcompliantEvidenceCount=(Option.map~f:NullableInteger.of_xml)(Xml.childxml_arg0"compliantEvidenceCount")inletnoncompliantEvidenceCount=(Option.map~f:NullableInteger.of_xml)(Xml.childxml_arg0"noncompliantEvidenceCount")inmake?lastUpdated?totalAssessmentControlsCount?assessmentControlsCountByNoncompliantEvidence?inconclusiveEvidenceCount?compliantEvidenceCount?noncompliantEvidenceCount()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlastUpdated=field_mapjson__"lastUpdated"Timestamp.of_jsoninlettotalAssessmentControlsCount=field_mapjson__"totalAssessmentControlsCount"NullableInteger.of_jsoninletassessmentControlsCountByNoncompliantEvidence=field_mapjson__"assessmentControlsCountByNoncompliantEvidence"NullableInteger.of_jsoninletinconclusiveEvidenceCount=field_mapjson__"inconclusiveEvidenceCount"NullableInteger.of_jsoninletcompliantEvidenceCount=field_mapjson__"compliantEvidenceCount"NullableInteger.of_jsoninletnoncompliantEvidenceCount=field_mapjson__"noncompliantEvidenceCount"NullableInteger.of_jsoninmake?lastUpdated?totalAssessmentControlsCount?assessmentControlsCountByNoncompliantEvidence?inconclusiveEvidenceCount?compliantEvidenceCount?noncompliantEvidenceCount()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A summary of the latest analytics data for a specific active assessment. This summary is a snapshot of the data that was collected on the lastUpdated date. It\226\128\153s important to understand that the totals in InsightsByAssessment are daily counts based on this date \226\128\148 they aren\226\128\153t a total sum to date. The InsightsByAssessment data is eventually consistent. This means that when you read data from InsightsByAssessment, the response might not instantly reflect the results of a recently completed write or update operation. If you repeat your read request after a few hours, the response returns the latest data. If you delete an assessment or change its status to inactive, InsightsByAssessment includes data for that assessment as follows. Inactive assessments - If Audit Manager collected evidence for your assessment before you changed it inactive, that evidence is included in the InsightsByAssessment counts for that day. Deleted assessments - If Audit Manager collected evidence for your assessment before you deleted it, that evidence isn't included in the InsightsByAssessment counts for that day."]moduleAssessmentEvidenceFolders=structtypenonrect=AssessmentEvidenceFolder.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:AssessmentEvidenceFolder.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:AssessmentEvidenceFolder.of_xml)letof_jsonj=list_of_json~kind:"AssessmentEvidenceFolders"~of_json:AssessmentEvidenceFolder.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleEvidenceList=structtypenonrect=Evidence.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:Evidence.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:Evidence.of_xml)letof_jsonj=list_of_json~kind:"EvidenceList"~of_json:Evidence.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleDelegationMetadataList=structtypenonrect=DelegationMetadata.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:DelegationMetadata.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:DelegationMetadata.of_xml)letof_jsonj=list_of_json~kind:"DelegationMetadataList"~of_json:DelegationMetadata.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleChangeLogs=structtypenonrect=ChangeLog.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ChangeLog.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:ChangeLog.of_xml)letof_jsonj=list_of_json~kind:"ChangeLogs"~of_json:ChangeLog.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleURL=structtypenonrect={hyperlinkName:HyperlinkName.toption[@ocaml.doc"The name or word that's used as a hyperlink to the URL."];link:UrlLink.toption[@ocaml.doc"The unique identifier for the internet resource."]}letmake?hyperlinkName=fun?link->fun()->{hyperlinkName;link}letto_valuex=structure_to_value[("hyperlinkName",(Option.mapx.hyperlinkName~f:HyperlinkName.to_value));("link",(Option.mapx.link~f:UrlLink.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlink=(Option.map~f:UrlLink.of_xml)(Xml.childxml_arg0"link")inlethyperlinkName=(Option.map~f:HyperlinkName.of_xml)(Xml.childxml_arg0"hyperlinkName")inmake?link?hyperlinkName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlink=field_mapjson__"link"UrlLink.of_jsoninlethyperlinkName=field_mapjson__"hyperlinkName"HyperlinkName.of_jsoninmake?link?hyperlinkName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Short for uniform resource locator. A URL is used as a unique identifier to locate a resource on the internet."]moduleCreateControlMappingSources=structtypenonrect=CreateControlMappingSource.tlistletmakei=letopenResultinok_or_failwith(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:CreateControlMappingSource.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:CreateControlMappingSource.of_xml)letof_jsonj=list_of_json~kind:"CreateControlMappingSources"~of_json:CreateControlMappingSource.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleAssessmentReport=structtypenonrect={id:UUID.toption[@ocaml.doc"The unique identifier for the assessment report."];name:AssessmentReportName.toption[@ocaml.doc"The name that's given to the assessment report."];description:AssessmentReportDescription.toption[@ocaml.doc"The description of the specified assessment report."];awsAccountId:AccountId.toption[@ocaml.doc"The identifier for the specified Amazon Web Services account."];assessmentId:UUID.toption[@ocaml.doc"The identifier for the specified assessment."];assessmentName:AssessmentName.toption[@ocaml.doc"The name of the associated assessment."];author:Username.toption[@ocaml.doc"The name of the user who created the assessment report."];status:AssessmentReportStatus.toption[@ocaml.doc"The current status of the specified assessment report."];creationTime:Timestamp.toption[@ocaml.doc"Specifies when the assessment report was created."]}letmake?id=fun?name->fun?description->fun?awsAccountId->fun?assessmentId->fun?assessmentName->fun?author->fun?status->fun?creationTime->fun()->{id;name;description;awsAccountId;assessmentId;assessmentName;author;status;creationTime}letto_valuex=structure_to_value[("id",(Option.mapx.id~f:UUID.to_value));("name",(Option.mapx.name~f:AssessmentReportName.to_value));("description",(Option.mapx.description~f:AssessmentReportDescription.to_value));("awsAccountId",(Option.mapx.awsAccountId~f:AccountId.to_value));("assessmentId",(Option.mapx.assessmentId~f:UUID.to_value));("assessmentName",(Option.mapx.assessmentName~f:AssessmentName.to_value));("author",(Option.mapx.author~f:Username.to_value));("status",(Option.mapx.status~f:AssessmentReportStatus.to_value));("creationTime",(Option.mapx.creationTime~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcreationTime=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"creationTime")inletstatus=(Option.map~f:AssessmentReportStatus.of_xml)(Xml.childxml_arg0"status")inletauthor=(Option.map~f:Username.of_xml)(Xml.childxml_arg0"author")inletassessmentName=(Option.map~f:AssessmentName.of_xml)(Xml.childxml_arg0"assessmentName")inletassessmentId=(Option.map~f:UUID.of_xml)(Xml.childxml_arg0"assessmentId")inletawsAccountId=(Option.map~f:AccountId.of_xml)(Xml.childxml_arg0"awsAccountId")inletdescription=(Option.map~f:AssessmentReportDescription.of_xml)(Xml.childxml_arg0"description")inletname=(Option.map~f:AssessmentReportName.of_xml)(Xml.childxml_arg0"name")inletid=(Option.map~f:UUID.of_xml)(Xml.childxml_arg0"id")inmake?creationTime?status?author?assessmentName?assessmentId?awsAccountId?description?name?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcreationTime=field_mapjson__"creationTime"Timestamp.of_jsoninletstatus=field_mapjson__"status"AssessmentReportStatus.of_jsoninletauthor=field_mapjson__"author"Username.of_jsoninletassessmentName=field_mapjson__"assessmentName"AssessmentName.of_jsoninletassessmentId=field_mapjson__"assessmentId"UUID.of_jsoninletawsAccountId=field_mapjson__"awsAccountId"AccountId.of_jsoninletdescription=field_mapjson__"description"AssessmentReportDescription.of_jsoninletname=field_mapjson__"name"AssessmentReportName.of_jsoninletid=field_mapjson__"id"UUID.of_jsoninmake?creationTime?status?author?assessmentName?assessmentId?awsAccountId?description?name?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A finalized document that's generated from an Audit Manager assessment. These reports summarize the relevant evidence that was collected for your audit, and link to the relevant evidence folders. These evidence folders are named and organized according to the controls that are specified in your assessment."]moduleQueryStatement=structtypenonrect=stringletcontext_="QueryStatement"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:10000)>>=(fun()->check_patterni~pattern:"(?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:"QueryStatement"jletto_json=simple_to_jsonto_valueendmoduleCreateAssessmentFrameworkControlSets=structtypenonrect=CreateAssessmentFrameworkControlSet.tlistletmakei=letopenResultinok_or_failwith(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:CreateAssessmentFrameworkControlSet.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:CreateAssessmentFrameworkControlSet.of_xml)letof_jsonj=list_of_json~kind:"CreateAssessmentFrameworkControlSets"~of_json:CreateAssessmentFrameworkControlSet.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleBatchImportEvidenceToAssessmentControlErrors=structtypenonrect=BatchImportEvidenceToAssessmentControlError.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:BatchImportEvidenceToAssessmentControlError.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:BatchImportEvidenceToAssessmentControlError.of_xml)letof_jsonj=list_of_json~kind:"BatchImportEvidenceToAssessmentControlErrors"~of_json:BatchImportEvidenceToAssessmentControlError.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleManualEvidenceList=structtypenonrect=ManualEvidence.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:50)>>=(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:ManualEvidence.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:ManualEvidence.of_xml)letof_jsonj=list_of_json~kind:"ManualEvidenceList"~of_json:ManualEvidence.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleAssessmentReportEvidenceErrors=structtypenonrect=AssessmentReportEvidenceError.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:AssessmentReportEvidenceError.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:AssessmentReportEvidenceError.of_xml)letof_jsonj=list_of_json~kind:"AssessmentReportEvidenceErrors"~of_json:AssessmentReportEvidenceError.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleEvidenceIds=structtypenonrect=UUID.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:UUID.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:UUID.of_xml)letof_jsonj=list_of_json~kind:"EvidenceIds"~of_json:UUID.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleBatchDeleteDelegationByAssessmentErrors=structtypenonrect=BatchDeleteDelegationByAssessmentError.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:BatchDeleteDelegationByAssessmentError.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:BatchDeleteDelegationByAssessmentError.of_xml)letof_jsonj=list_of_json~kind:"BatchDeleteDelegationByAssessmentErrors"~of_json:BatchDeleteDelegationByAssessmentError.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleDelegationIds=structtypenonrect=UUID.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:50)>>=(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:UUID.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:UUID.of_xml)letof_jsonj=list_of_json~kind:"DelegationIds"~of_json:UUID.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleBatchCreateDelegationByAssessmentErrors=structtypenonrect=BatchCreateDelegationByAssessmentError.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:BatchCreateDelegationByAssessmentError.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:BatchCreateDelegationByAssessmentError.of_xml)letof_jsonj=list_of_json~kind:"BatchCreateDelegationByAssessmentErrors"~of_json:BatchCreateDelegationByAssessmentError.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleCreateDelegationRequests=structtypenonrect=CreateDelegationRequest.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:50)>>=(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:CreateDelegationRequest.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:CreateDelegationRequest.of_xml)letof_jsonj=list_of_json~kind:"CreateDelegationRequests"~of_json:CreateDelegationRequest.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleValidateAssessmentReportIntegrityResponse=structtypenonrect={signatureValid:Boolean.toption[@ocaml.doc"Specifies whether the signature key is valid."];signatureAlgorithm:String_.toption[@ocaml.doc"The signature algorithm that's used to code sign the assessment report file."];signatureDateTime:String_.toption[@ocaml.doc"The date and time signature that specifies when the assessment report was created."];signatureKeyId:String_.toption[@ocaml.doc"The unique identifier for the validation signature key."];validationErrors:ValidationErrors.toption[@ocaml.doc"Represents any errors that occurred when validating the assessment report."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?signatureValid=fun?signatureAlgorithm->fun?signatureDateTime->fun?signatureKeyId->fun?validationErrors->fun()->{signatureValid;signatureAlgorithm;signatureDateTime;signatureKeyId;validationErrors}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))])))letto_valuex=structure_to_value[("signatureValid",(Option.mapx.signatureValid~f:Boolean.to_value));("signatureAlgorithm",(Option.mapx.signatureAlgorithm~f:String_.to_value));("signatureDateTime",(Option.mapx.signatureDateTime~f:String_.to_value));("signatureKeyId",(Option.mapx.signatureKeyId~f:String_.to_value));("validationErrors",(Option.mapx.validationErrors~f:ValidationErrors.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvalidationErrors=(Option.map~f:ValidationErrors.of_xml)(Xml.childxml_arg0"validationErrors")inletsignatureKeyId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"signatureKeyId")inletsignatureDateTime=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"signatureDateTime")inletsignatureAlgorithm=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"signatureAlgorithm")inletsignatureValid=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"signatureValid")inmake?validationErrors?signatureKeyId?signatureDateTime?signatureAlgorithm?signatureValid()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvalidationErrors=field_mapjson__"validationErrors"ValidationErrors.of_jsoninletsignatureKeyId=field_mapjson__"signatureKeyId"String_.of_jsoninletsignatureDateTime=field_mapjson__"signatureDateTime"String_.of_jsoninletsignatureAlgorithm=field_mapjson__"signatureAlgorithm"String_.of_jsoninletsignatureValid=field_mapjson__"signatureValid"Boolean.of_jsoninmake?validationErrors?signatureKeyId?signatureDateTime?signatureAlgorithm?signatureValid()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Validates the integrity of an assessment report in Audit Manager."]moduleValidateAssessmentReportIntegrityRequest=structtypenonrect={s3RelativePath:S3Url.t[@ocaml.doc"The relative path of the Amazon S3 bucket that the assessment report is stored in."]}letcontext_="ValidateAssessmentReportIntegrityRequest"letmake~s3RelativePath=fun()->{s3RelativePath}letto_valuex=structure_to_value[("s3RelativePath",(Some(S3Url.to_valuex.s3RelativePath)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lets3RelativePath=S3Url.of_xml(Xml.child_exn~context:context_xml_arg0"s3RelativePath")inmake~s3RelativePath()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lets3RelativePath=field_map_exnjson__"s3RelativePath"S3Url.of_jsoninmake~s3RelativePath()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Validates the integrity of an assessment report in Audit Manager."]moduleUpdateSettingsResponse=structtypenonrect={settings:Settings.toption[@ocaml.doc"The current list of settings."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?settings=fun()->{settings}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.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)|"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))]|`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[("settings",(Option.mapx.settings~f:Settings.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letsettings=(Option.map~f:Settings.of_xml)(Xml.childxml_arg0"settings")inmake?settings()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letsettings=field_mapjson__"settings"Settings.of_jsoninmake?settings()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates Audit Manager settings for the current account."]moduleUpdateSettingsRequest=structtypenonrect={snsTopic:SnsArn.toption[@ocaml.doc"The Amazon Simple Notification Service (Amazon SNS) topic that Audit Manager sends notifications to."];defaultAssessmentReportsDestination:AssessmentReportsDestination.toption[@ocaml.doc"The default S3 destination bucket for storing assessment reports."];defaultProcessOwners:Roles.toption[@ocaml.doc"A list of the default audit owners."];kmsKey:KmsKey.toption[@ocaml.doc"The KMS key details."];evidenceFinderEnabled:Boolean.toption[@ocaml.doc"Specifies whether the evidence finder feature is enabled. Change this attribute to enable or disable evidence finder. When you use this attribute to disable evidence finder, Audit Manager deletes the event data store that\226\128\153s used to query your evidence data. As a result, you can\226\128\153t re-enable evidence finder and use the feature again. Your only alternative is to deregister and then re-register Audit Manager."];deregistrationPolicy:DeregistrationPolicy.toption[@ocaml.doc"The deregistration policy for your Audit Manager data. You can use this attribute to determine how your data is handled when you deregister Audit Manager."];defaultExportDestination:DefaultExportDestination.toption[@ocaml.doc"The default S3 destination bucket for storing evidence finder exports."]}letmake?snsTopic=fun?defaultAssessmentReportsDestination->fun?defaultProcessOwners->fun?kmsKey->fun?evidenceFinderEnabled->fun?deregistrationPolicy->fun?defaultExportDestination->fun()->{snsTopic;defaultAssessmentReportsDestination;defaultProcessOwners;kmsKey;evidenceFinderEnabled;deregistrationPolicy;defaultExportDestination}letto_valuex=structure_to_value[("snsTopic",(Option.mapx.snsTopic~f:SnsArn.to_value));("defaultAssessmentReportsDestination",(Option.mapx.defaultAssessmentReportsDestination~f:AssessmentReportsDestination.to_value));("defaultProcessOwners",(Option.mapx.defaultProcessOwners~f:Roles.to_value));("kmsKey",(Option.mapx.kmsKey~f:KmsKey.to_value));("evidenceFinderEnabled",(Option.mapx.evidenceFinderEnabled~f:Boolean.to_value));("deregistrationPolicy",(Option.mapx.deregistrationPolicy~f:DeregistrationPolicy.to_value));("defaultExportDestination",(Option.mapx.defaultExportDestination~f:DefaultExportDestination.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdefaultExportDestination=(Option.map~f:DefaultExportDestination.of_xml)(Xml.childxml_arg0"defaultExportDestination")inletderegistrationPolicy=(Option.map~f:DeregistrationPolicy.of_xml)(Xml.childxml_arg0"deregistrationPolicy")inletevidenceFinderEnabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"evidenceFinderEnabled")inletkmsKey=(Option.map~f:KmsKey.of_xml)(Xml.childxml_arg0"kmsKey")inletdefaultProcessOwners=(Option.map~f:Roles.of_xml)(Xml.childxml_arg0"defaultProcessOwners")inletdefaultAssessmentReportsDestination=(Option.map~f:AssessmentReportsDestination.of_xml)(Xml.childxml_arg0"defaultAssessmentReportsDestination")inletsnsTopic=(Option.map~f:SnsArn.of_xml)(Xml.childxml_arg0"snsTopic")inmake?defaultExportDestination?deregistrationPolicy?evidenceFinderEnabled?kmsKey?defaultProcessOwners?defaultAssessmentReportsDestination?snsTopic()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdefaultExportDestination=field_mapjson__"defaultExportDestination"DefaultExportDestination.of_jsoninletderegistrationPolicy=field_mapjson__"deregistrationPolicy"DeregistrationPolicy.of_jsoninletevidenceFinderEnabled=field_mapjson__"evidenceFinderEnabled"Boolean.of_jsoninletkmsKey=field_mapjson__"kmsKey"KmsKey.of_jsoninletdefaultProcessOwners=field_mapjson__"defaultProcessOwners"Roles.of_jsoninletdefaultAssessmentReportsDestination=field_mapjson__"defaultAssessmentReportsDestination"AssessmentReportsDestination.of_jsoninletsnsTopic=field_mapjson__"snsTopic"SnsArn.of_jsoninmake?defaultExportDestination?deregistrationPolicy?evidenceFinderEnabled?kmsKey?defaultProcessOwners?defaultAssessmentReportsDestination?snsTopic()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates Audit Manager settings for the current account."]moduleUpdateControlResponse=structtypenonrect={control:Control.toption[@ocaml.doc"The name of the updated control set that the UpdateControl API returned."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?control=fun()->{control}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))])))letto_valuex=structure_to_value[("control",(Option.mapx.control~f:Control.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcontrol=(Option.map~f:Control.of_xml)(Xml.childxml_arg0"control")inmake?control()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcontrol=field_mapjson__"control"Control.of_jsoninmake?control()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates a custom control in Audit Manager."]moduleUpdateControlRequest=structtypenonrect={controlId:UUID.t[@ocaml.doc"The identifier for the control."];name:ControlName.t[@ocaml.doc"The name of the updated control."];description:ControlDescription.toption[@ocaml.doc"The optional description of the control."];testingInformation:TestingInformation.toption[@ocaml.doc"The steps that you should follow to determine if the control is met."];actionPlanTitle:ActionPlanTitle.toption[@ocaml.doc"The title of the action plan for remediating the control."];actionPlanInstructions:ActionPlanInstructions.toption[@ocaml.doc"The recommended actions to carry out if the control isn't fulfilled."];controlMappingSources:ControlMappingSources.t[@ocaml.doc"The data mapping sources for the control."]}letcontext_="UpdateControlRequest"letmake?description=fun?testingInformation->fun?actionPlanTitle->fun?actionPlanInstructions->fun~controlId->fun~name->fun~controlMappingSources->fun()->{description;testingInformation;actionPlanTitle;actionPlanInstructions;controlId;name;controlMappingSources}letto_valuex=structure_to_value[("controlId",(Some(UUID.to_valuex.controlId)));("name",(Some(ControlName.to_valuex.name)));("description",(Option.mapx.description~f:ControlDescription.to_value));("testingInformation",(Option.mapx.testingInformation~f:TestingInformation.to_value));("actionPlanTitle",(Option.mapx.actionPlanTitle~f:ActionPlanTitle.to_value));("actionPlanInstructions",(Option.mapx.actionPlanInstructions~f:ActionPlanInstructions.to_value));("controlMappingSources",(Some(ControlMappingSources.to_valuex.controlMappingSources)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcontrolMappingSources=ControlMappingSources.of_xml(Xml.child_exn~context:context_xml_arg0"controlMappingSources")inletactionPlanInstructions=(Option.map~f:ActionPlanInstructions.of_xml)(Xml.childxml_arg0"actionPlanInstructions")inletactionPlanTitle=(Option.map~f:ActionPlanTitle.of_xml)(Xml.childxml_arg0"actionPlanTitle")inlettestingInformation=(Option.map~f:TestingInformation.of_xml)(Xml.childxml_arg0"testingInformation")inletdescription=(Option.map~f:ControlDescription.of_xml)(Xml.childxml_arg0"description")inletname=ControlName.of_xml(Xml.child_exn~context:context_xml_arg0"name")inletcontrolId=UUID.of_xml(Xml.child_exn~context:context_xml_arg0"controlId")inmake~controlMappingSources?actionPlanInstructions?actionPlanTitle?testingInformation?description~name~controlId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcontrolMappingSources=field_map_exnjson__"controlMappingSources"ControlMappingSources.of_jsoninletactionPlanInstructions=field_mapjson__"actionPlanInstructions"ActionPlanInstructions.of_jsoninletactionPlanTitle=field_mapjson__"actionPlanTitle"ActionPlanTitle.of_jsoninlettestingInformation=field_mapjson__"testingInformation"TestingInformation.of_jsoninletdescription=field_mapjson__"description"ControlDescription.of_jsoninletname=field_map_exnjson__"name"ControlName.of_jsoninletcontrolId=field_map_exnjson__"controlId"UUID.of_jsoninmake~controlMappingSources?actionPlanInstructions?actionPlanTitle?testingInformation?description~name~controlId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates a custom control in Audit Manager."]moduleUpdateAssessmentStatusResponse=structtypenonrect={assessment:Assessment.toption[@ocaml.doc"The name of the updated assessment that the UpdateAssessmentStatus API returned."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?assessment=fun()->{assessment}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.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)|"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))]|`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[("assessment",(Option.mapx.assessment~f:Assessment.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letassessment=(Option.map~f:Assessment.of_xml)(Xml.childxml_arg0"assessment")inmake?assessment()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letassessment=field_mapjson__"assessment"Assessment.of_jsoninmake?assessment()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates the status of an assessment in Audit Manager."]moduleUpdateAssessmentStatusRequest=structtypenonrect={assessmentId:UUID.t[@ocaml.doc"The unique identifier for the assessment."];status:AssessmentStatus.t[@ocaml.doc"The current status of the assessment."]}letcontext_="UpdateAssessmentStatusRequest"letmake~assessmentId=fun~status->fun()->{assessmentId;status}letto_valuex=structure_to_value[("assessmentId",(Some(UUID.to_valuex.assessmentId)));("status",(Some(AssessmentStatus.to_valuex.status)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstatus=AssessmentStatus.of_xml(Xml.child_exn~context:context_xml_arg0"status")inletassessmentId=UUID.of_xml(Xml.child_exn~context:context_xml_arg0"assessmentId")inmake~status~assessmentId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstatus=field_map_exnjson__"status"AssessmentStatus.of_jsoninletassessmentId=field_map_exnjson__"assessmentId"UUID.of_jsoninmake~status~assessmentId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates the status of an assessment in Audit Manager."]moduleUpdateAssessmentResponse=structtypenonrect={assessment:Assessment.toption[@ocaml.doc"The response object for the UpdateAssessment API. This is the name of the updated assessment."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?assessment=fun()->{assessment}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("assessment",(Option.mapx.assessment~f:Assessment.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letassessment=(Option.map~f:Assessment.of_xml)(Xml.childxml_arg0"assessment")inmake?assessment()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letassessment=field_mapjson__"assessment"Assessment.of_jsoninmake?assessment()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Edits an Audit Manager assessment."]moduleUpdateAssessmentRequest=structtypenonrect={assessmentId:UUID.t[@ocaml.doc"The unique identifier for the assessment."];assessmentName:AssessmentName.toption[@ocaml.doc"The name of the assessment to be updated."];assessmentDescription:AssessmentDescription.toption[@ocaml.doc"The description of the assessment."];scope:Scope.t[@ocaml.doc"The scope of the assessment."];assessmentReportsDestination:AssessmentReportsDestination.toption[@ocaml.doc"The assessment report storage destination for the assessment that's being updated."];roles:Roles.toption[@ocaml.doc"The list of roles for the assessment."]}letcontext_="UpdateAssessmentRequest"letmake?assessmentName=fun?assessmentDescription->fun?assessmentReportsDestination->fun?roles->fun~assessmentId->fun~scope->fun()->{assessmentName;assessmentDescription;assessmentReportsDestination;roles;assessmentId;scope}letto_valuex=structure_to_value[("assessmentId",(Some(UUID.to_valuex.assessmentId)));("assessmentName",(Option.mapx.assessmentName~f:AssessmentName.to_value));("assessmentDescription",(Option.mapx.assessmentDescription~f:AssessmentDescription.to_value));("scope",(Some(Scope.to_valuex.scope)));("assessmentReportsDestination",(Option.mapx.assessmentReportsDestination~f:AssessmentReportsDestination.to_value));("roles",(Option.mapx.roles~f:Roles.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letroles=(Option.map~f:Roles.of_xml)(Xml.childxml_arg0"roles")inletassessmentReportsDestination=(Option.map~f:AssessmentReportsDestination.of_xml)(Xml.childxml_arg0"assessmentReportsDestination")inletscope=Scope.of_xml(Xml.child_exn~context:context_xml_arg0"scope")inletassessmentDescription=(Option.map~f:AssessmentDescription.of_xml)(Xml.childxml_arg0"assessmentDescription")inletassessmentName=(Option.map~f:AssessmentName.of_xml)(Xml.childxml_arg0"assessmentName")inletassessmentId=UUID.of_xml(Xml.child_exn~context:context_xml_arg0"assessmentId")inmake?roles?assessmentReportsDestination~scope?assessmentDescription?assessmentName~assessmentId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letroles=field_mapjson__"roles"Roles.of_jsoninletassessmentReportsDestination=field_mapjson__"assessmentReportsDestination"AssessmentReportsDestination.of_jsoninletscope=field_map_exnjson__"scope"Scope.of_jsoninletassessmentDescription=field_mapjson__"assessmentDescription"AssessmentDescription.of_jsoninletassessmentName=field_mapjson__"assessmentName"AssessmentName.of_jsoninletassessmentId=field_map_exnjson__"assessmentId"UUID.of_jsoninmake?roles?assessmentReportsDestination~scope?assessmentDescription?assessmentName~assessmentId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Edits an Audit Manager assessment."]moduleUpdateAssessmentFrameworkShareResponse=structtypenonrect={assessmentFrameworkShareRequest:AssessmentFrameworkShareRequest.toption[@ocaml.doc"The updated share request that's returned by the UpdateAssessmentFrameworkShare operation."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?assessmentFrameworkShareRequest=fun()->{assessmentFrameworkShareRequest}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.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)|"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))]|`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[("assessmentFrameworkShareRequest",(Option.mapx.assessmentFrameworkShareRequest~f:AssessmentFrameworkShareRequest.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letassessmentFrameworkShareRequest=(Option.map~f:AssessmentFrameworkShareRequest.of_xml)(Xml.childxml_arg0"assessmentFrameworkShareRequest")inmake?assessmentFrameworkShareRequest()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letassessmentFrameworkShareRequest=field_mapjson__"assessmentFrameworkShareRequest"AssessmentFrameworkShareRequest.of_jsoninmake?assessmentFrameworkShareRequest()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates a share request for a custom framework in Audit Manager."]moduleUpdateAssessmentFrameworkShareRequest=structtypenonrect={requestId:UUID.t[@ocaml.doc"The unique identifier for the share request."];requestType:ShareRequestType.t[@ocaml.doc"Specifies whether the share request is a sent request or a received request."];action:ShareRequestAction.t[@ocaml.doc"Specifies the update action for the share request."]}letcontext_="UpdateAssessmentFrameworkShareRequest"letmake~requestId=fun~requestType->fun~action->fun()->{requestId;requestType;action}letto_valuex=structure_to_value[("requestId",(Some(UUID.to_valuex.requestId)));("requestType",(Some(ShareRequestType.to_valuex.requestType)));("action",(Some(ShareRequestAction.to_valuex.action)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letaction=ShareRequestAction.of_xml(Xml.child_exn~context:context_xml_arg0"action")inletrequestType=ShareRequestType.of_xml(Xml.child_exn~context:context_xml_arg0"requestType")inletrequestId=UUID.of_xml(Xml.child_exn~context:context_xml_arg0"requestId")inmake~action~requestType~requestId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letaction=field_map_exnjson__"action"ShareRequestAction.of_jsoninletrequestType=field_map_exnjson__"requestType"ShareRequestType.of_jsoninletrequestId=field_map_exnjson__"requestId"UUID.of_jsoninmake~action~requestType~requestId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates a share request for a custom framework in Audit Manager."]moduleUpdateAssessmentFrameworkResponse=structtypenonrect={framework:Framework.toption[@ocaml.doc"The framework object."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?framework=fun()->{framework}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.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)|"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))]|`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[("framework",(Option.mapx.framework~f:Framework.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letframework=(Option.map~f:Framework.of_xml)(Xml.childxml_arg0"framework")inmake?framework()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letframework=field_mapjson__"framework"Framework.of_jsoninmake?framework()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates a custom framework in Audit Manager."]moduleUpdateAssessmentFrameworkRequest=structtypenonrect={frameworkId:UUID.t[@ocaml.doc"The unique identifier for the framework."];name:FrameworkName.t[@ocaml.doc"The name of the framework to be updated."];description:FrameworkDescription.toption[@ocaml.doc"The description of the updated framework."];complianceType:ComplianceType.toption[@ocaml.doc"The compliance type that the new custom framework supports, such as CIS or HIPAA."];controlSets:UpdateAssessmentFrameworkControlSets.t[@ocaml.doc"The control sets that are associated with the framework. The Controls object returns a partial response when called through Framework APIs. For a complete Controls object, use GetControl."]}letcontext_="UpdateAssessmentFrameworkRequest"letmake?description=fun?complianceType->fun~frameworkId->fun~name->fun~controlSets->fun()->{description;complianceType;frameworkId;name;controlSets}letto_valuex=structure_to_value[("frameworkId",(Some(UUID.to_valuex.frameworkId)));("name",(Some(FrameworkName.to_valuex.name)));("description",(Option.mapx.description~f:FrameworkDescription.to_value));("complianceType",(Option.mapx.complianceType~f:ComplianceType.to_value));("controlSets",(Some(UpdateAssessmentFrameworkControlSets.to_valuex.controlSets)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcontrolSets=UpdateAssessmentFrameworkControlSets.of_xml(Xml.child_exn~context:context_xml_arg0"controlSets")inletcomplianceType=(Option.map~f:ComplianceType.of_xml)(Xml.childxml_arg0"complianceType")inletdescription=(Option.map~f:FrameworkDescription.of_xml)(Xml.childxml_arg0"description")inletname=FrameworkName.of_xml(Xml.child_exn~context:context_xml_arg0"name")inletframeworkId=UUID.of_xml(Xml.child_exn~context:context_xml_arg0"frameworkId")inmake~controlSets?complianceType?description~name~frameworkId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcontrolSets=field_map_exnjson__"controlSets"UpdateAssessmentFrameworkControlSets.of_jsoninletcomplianceType=field_mapjson__"complianceType"ComplianceType.of_jsoninletdescription=field_mapjson__"description"FrameworkDescription.of_jsoninletname=field_map_exnjson__"name"FrameworkName.of_jsoninletframeworkId=field_map_exnjson__"frameworkId"UUID.of_jsoninmake~controlSets?complianceType?description~name~frameworkId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates a custom framework in Audit Manager."]moduleUpdateAssessmentControlSetStatusResponse=structtypenonrect={controlSet:AssessmentControlSet.toption[@ocaml.doc"The name of the updated control set that the UpdateAssessmentControlSetStatus API returned."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?controlSet=fun()->{controlSet}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))])))letto_valuex=structure_to_value[("controlSet",(Option.mapx.controlSet~f:AssessmentControlSet.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcontrolSet=(Option.map~f:AssessmentControlSet.of_xml)(Xml.childxml_arg0"controlSet")inmake?controlSet()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcontrolSet=field_mapjson__"controlSet"AssessmentControlSet.of_jsoninmake?controlSet()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates the status of a control set in an Audit Manager assessment."]moduleUpdateAssessmentControlSetStatusRequest=structtypenonrect={assessmentId:UUID.t[@ocaml.doc"The unique identifier for the assessment."];controlSetId:String_.t[@ocaml.doc"The unique identifier for the control set."];status:ControlSetStatus.t[@ocaml.doc"The status of the control set that's being updated."];comment:DelegationComment.t[@ocaml.doc"The comment that's related to the status update."]}letcontext_="UpdateAssessmentControlSetStatusRequest"letmake~assessmentId=fun~controlSetId->fun~status->fun~comment->fun()->{assessmentId;controlSetId;status;comment}letto_valuex=structure_to_value[("assessmentId",(Some(UUID.to_valuex.assessmentId)));("controlSetId",(Some(String_.to_valuex.controlSetId)));("status",(Some(ControlSetStatus.to_valuex.status)));("comment",(Some(DelegationComment.to_valuex.comment)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcomment=DelegationComment.of_xml(Xml.child_exn~context:context_xml_arg0"comment")inletstatus=ControlSetStatus.of_xml(Xml.child_exn~context:context_xml_arg0"status")inletcontrolSetId=String_.of_xml(Xml.child_exn~context:context_xml_arg0"controlSetId")inletassessmentId=UUID.of_xml(Xml.child_exn~context:context_xml_arg0"assessmentId")inmake~comment~status~controlSetId~assessmentId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcomment=field_map_exnjson__"comment"DelegationComment.of_jsoninletstatus=field_map_exnjson__"status"ControlSetStatus.of_jsoninletcontrolSetId=field_map_exnjson__"controlSetId"String_.of_jsoninletassessmentId=field_map_exnjson__"assessmentId"UUID.of_jsoninmake~comment~status~controlSetId~assessmentId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates the status of a control set in an Audit Manager assessment."]moduleUpdateAssessmentControlResponse=structtypenonrect={control:AssessmentControl.toption[@ocaml.doc"The name of the updated control set that the UpdateAssessmentControl API returned."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?control=fun()->{control}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))])))letto_valuex=structure_to_value[("control",(Option.mapx.control~f:AssessmentControl.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcontrol=(Option.map~f:AssessmentControl.of_xml)(Xml.childxml_arg0"control")inmake?control()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcontrol=field_mapjson__"control"AssessmentControl.of_jsoninmake?control()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates a control within an assessment in Audit Manager."]moduleUpdateAssessmentControlRequest=structtypenonrect={assessmentId:UUID.t[@ocaml.doc"The unique identifier for the assessment."];controlSetId:ControlSetId.t[@ocaml.doc"The unique identifier for the control set."];controlId:UUID.t[@ocaml.doc"The unique identifier for the control."];controlStatus:ControlStatus.toption[@ocaml.doc"The status of the control."];commentBody:ControlCommentBody.toption[@ocaml.doc"The comment body text for the control."]}letcontext_="UpdateAssessmentControlRequest"letmake?controlStatus=fun?commentBody->fun~assessmentId->fun~controlSetId->fun~controlId->fun()->{controlStatus;commentBody;assessmentId;controlSetId;controlId}letto_valuex=structure_to_value[("assessmentId",(Some(UUID.to_valuex.assessmentId)));("controlSetId",(Some(ControlSetId.to_valuex.controlSetId)));("controlId",(Some(UUID.to_valuex.controlId)));("controlStatus",(Option.mapx.controlStatus~f:ControlStatus.to_value));("commentBody",(Option.mapx.commentBody~f:ControlCommentBody.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcommentBody=(Option.map~f:ControlCommentBody.of_xml)(Xml.childxml_arg0"commentBody")inletcontrolStatus=(Option.map~f:ControlStatus.of_xml)(Xml.childxml_arg0"controlStatus")inletcontrolId=UUID.of_xml(Xml.child_exn~context:context_xml_arg0"controlId")inletcontrolSetId=ControlSetId.of_xml(Xml.child_exn~context:context_xml_arg0"controlSetId")inletassessmentId=UUID.of_xml(Xml.child_exn~context:context_xml_arg0"assessmentId")inmake?commentBody?controlStatus~controlId~controlSetId~assessmentId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcommentBody=field_mapjson__"commentBody"ControlCommentBody.of_jsoninletcontrolStatus=field_mapjson__"controlStatus"ControlStatus.of_jsoninletcontrolId=field_map_exnjson__"controlId"UUID.of_jsoninletcontrolSetId=field_map_exnjson__"controlSetId"ControlSetId.of_jsoninletassessmentId=field_map_exnjson__"assessmentId"UUID.of_jsoninmake?commentBody?controlStatus~controlId~controlSetId~assessmentId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates a control within an assessment in Audit Manager."]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 a tag from a resource in Audit Manager."]moduleUntagResourceRequest=structtypenonrect={resourceArn:AuditManagerArn.t[@ocaml.doc"The Amazon Resource Name (ARN) of the specified resource."];tagKeys:TagKeyList.t[@ocaml.doc"The name or key of the tag."]}letcontext_="UntagResourceRequest"letmake~resourceArn=fun~tagKeys->fun()->{resourceArn;tagKeys}letto_valuex=structure_to_value[("resourceArn",(Some(AuditManagerArn.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=AuditManagerArn.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"AuditManagerArn.of_jsoninmake~tagKeys~resourceArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Removes a tag from a resource in Audit Manager."]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"Tags the specified resource in Audit Manager."]moduleTagResourceRequest=structtypenonrect={resourceArn:AuditManagerArn.t[@ocaml.doc"The Amazon Resource Name (ARN) of the resource."];tags:TagMap.t[@ocaml.doc"The tags that are associated with the resource."]}letcontext_="TagResourceRequest"letmake~resourceArn=fun~tags->fun()->{resourceArn;tags}letto_valuex=structure_to_value[("resourceArn",(Some(AuditManagerArn.to_valuex.resourceArn)));("tags",(Some(TagMap.to_valuex.tags)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettags=TagMap.of_xml(Xml.child_exn~context:context_xml_arg0"tags")inletresourceArn=AuditManagerArn.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"TagMap.of_jsoninletresourceArn=field_map_exnjson__"resourceArn"AuditManagerArn.of_jsoninmake~tags~resourceArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Tags the specified resource in Audit Manager."]moduleStartAssessmentFrameworkShareResponse=structtypenonrect={assessmentFrameworkShareRequest:AssessmentFrameworkShareRequest.toption[@ocaml.doc"The share request that's created by the StartAssessmentFrameworkShare API."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?assessmentFrameworkShareRequest=fun()->{assessmentFrameworkShareRequest}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))])))letto_valuex=structure_to_value[("assessmentFrameworkShareRequest",(Option.mapx.assessmentFrameworkShareRequest~f:AssessmentFrameworkShareRequest.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letassessmentFrameworkShareRequest=(Option.map~f:AssessmentFrameworkShareRequest.of_xml)(Xml.childxml_arg0"assessmentFrameworkShareRequest")inmake?assessmentFrameworkShareRequest()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letassessmentFrameworkShareRequest=field_mapjson__"assessmentFrameworkShareRequest"AssessmentFrameworkShareRequest.of_jsoninmake?assessmentFrameworkShareRequest()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a share request for a custom framework in Audit Manager. The share request specifies a recipient and notifies them that a custom framework is available. Recipients have 120 days to accept or decline the request. If no action is taken, the share request expires. When you create a share request, Audit Manager stores a snapshot of your custom framework in the US East (N. Virginia) Amazon Web Services Region. Audit Manager also stores a backup of the same snapshot in the US West (Oregon) Amazon Web Services Region. Audit Manager deletes the snapshot and the backup snapshot when one of the following events occurs: The sender revokes the share request. The recipient declines the share request. The recipient encounters an error and doesn't successfully accept the share request. The share request expires before the recipient responds to the request. When a sender resends a share request, the snapshot is replaced with an updated version that corresponds with the latest version of the custom framework. When a recipient accepts a share request, the snapshot is replicated into their Amazon Web Services account under the Amazon Web Services Region that was specified in the share request. When you invoke the StartAssessmentFrameworkShare API, you are about to share a custom framework with another Amazon Web Services account. You may not share a custom framework that is derived from a standard framework if the standard framework is designated as not eligible for sharing by Amazon Web Services, unless you have obtained permission to do so from the owner of the standard framework. To learn more about which standard frameworks are eligible for sharing, see Framework sharing eligibility in the Audit Manager User Guide."]moduleStartAssessmentFrameworkShareRequest=structtypenonrect={frameworkId:UUID.t[@ocaml.doc"The unique identifier for the custom framework to be shared."];destinationAccount:AccountId.t[@ocaml.doc"The Amazon Web Services account of the recipient."];destinationRegion:Region.t[@ocaml.doc"The Amazon Web Services Region of the recipient."];comment:ShareRequestComment.toption[@ocaml.doc"An optional comment from the sender about the share request."]}letcontext_="StartAssessmentFrameworkShareRequest"letmake?comment=fun~frameworkId->fun~destinationAccount->fun~destinationRegion->fun()->{comment;frameworkId;destinationAccount;destinationRegion}letto_valuex=structure_to_value[("frameworkId",(Some(UUID.to_valuex.frameworkId)));("destinationAccount",(Some(AccountId.to_valuex.destinationAccount)));("destinationRegion",(Some(Region.to_valuex.destinationRegion)));("comment",(Option.mapx.comment~f:ShareRequestComment.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcomment=(Option.map~f:ShareRequestComment.of_xml)(Xml.childxml_arg0"comment")inletdestinationRegion=Region.of_xml(Xml.child_exn~context:context_xml_arg0"destinationRegion")inletdestinationAccount=AccountId.of_xml(Xml.child_exn~context:context_xml_arg0"destinationAccount")inletframeworkId=UUID.of_xml(Xml.child_exn~context:context_xml_arg0"frameworkId")inmake?comment~destinationRegion~destinationAccount~frameworkId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcomment=field_mapjson__"comment"ShareRequestComment.of_jsoninletdestinationRegion=field_map_exnjson__"destinationRegion"Region.of_jsoninletdestinationAccount=field_map_exnjson__"destinationAccount"AccountId.of_jsoninletframeworkId=field_map_exnjson__"frameworkId"UUID.of_jsoninmake?comment~destinationRegion~destinationAccount~frameworkId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a share request for a custom framework in Audit Manager. The share request specifies a recipient and notifies them that a custom framework is available. Recipients have 120 days to accept or decline the request. If no action is taken, the share request expires. When you create a share request, Audit Manager stores a snapshot of your custom framework in the US East (N. Virginia) Amazon Web Services Region. Audit Manager also stores a backup of the same snapshot in the US West (Oregon) Amazon Web Services Region. Audit Manager deletes the snapshot and the backup snapshot when one of the following events occurs: The sender revokes the share request. The recipient declines the share request. The recipient encounters an error and doesn't successfully accept the share request. The share request expires before the recipient responds to the request. When a sender resends a share request, the snapshot is replaced with an updated version that corresponds with the latest version of the custom framework. When a recipient accepts a share request, the snapshot is replicated into their Amazon Web Services account under the Amazon Web Services Region that was specified in the share request. When you invoke the StartAssessmentFrameworkShare API, you are about to share a custom framework with another Amazon Web Services account. You may not share a custom framework that is derived from a standard framework if the standard framework is designated as not eligible for sharing by Amazon Web Services, unless you have obtained permission to do so from the owner of the standard framework. To learn more about which standard frameworks are eligible for sharing, see Framework sharing eligibility in the Audit Manager User Guide."]moduleRegisterOrganizationAdminAccountResponse=structtypenonrect={adminAccountId:AccountId.toption[@ocaml.doc"The identifier for the delegated administrator account."];organizationId:OrganizationId.toption[@ocaml.doc"The identifier for the organization."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?adminAccountId=fun?organizationId->fun()->{adminAccountId;organizationId}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("adminAccountId",(Option.mapx.adminAccountId~f:AccountId.to_value));("organizationId",(Option.mapx.organizationId~f:OrganizationId.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letorganizationId=(Option.map~f:OrganizationId.of_xml)(Xml.childxml_arg0"organizationId")inletadminAccountId=(Option.map~f:AccountId.of_xml)(Xml.childxml_arg0"adminAccountId")inmake?organizationId?adminAccountId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letorganizationId=field_mapjson__"organizationId"OrganizationId.of_jsoninletadminAccountId=field_mapjson__"adminAccountId"AccountId.of_jsoninmake?organizationId?adminAccountId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Enables an Amazon Web Services account within the organization as the delegated administrator for Audit Manager."]moduleRegisterOrganizationAdminAccountRequest=structtypenonrect={adminAccountId:AccountId.t[@ocaml.doc"The identifier for the delegated administrator account."]}letcontext_="RegisterOrganizationAdminAccountRequest"letmake~adminAccountId=fun()->{adminAccountId}letto_valuex=structure_to_value[("adminAccountId",(Some(AccountId.to_valuex.adminAccountId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letadminAccountId=AccountId.of_xml(Xml.child_exn~context:context_xml_arg0"adminAccountId")inmake~adminAccountId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letadminAccountId=field_map_exnjson__"adminAccountId"AccountId.of_jsoninmake~adminAccountId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Enables an Amazon Web Services account within the organization as the delegated administrator for Audit Manager."]moduleRegisterAccountResponse=structtypenonrect={status:AccountStatus.toption[@ocaml.doc"The status of the account registration request."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?status=fun()->{status}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("status",(Option.mapx.status~f:AccountStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstatus=(Option.map~f:AccountStatus.of_xml)(Xml.childxml_arg0"status")inmake?status()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstatus=field_mapjson__"status"AccountStatus.of_jsoninmake?status()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Enables Audit Manager for the specified Amazon Web Services account."]moduleRegisterAccountRequest=structtypenonrect={kmsKey:KmsKey.toption[@ocaml.doc"The KMS key details."];delegatedAdminAccount:AccountId.toption[@ocaml.doc"The delegated administrator account for Audit Manager."]}letmake?kmsKey=fun?delegatedAdminAccount->fun()->{kmsKey;delegatedAdminAccount}letto_valuex=structure_to_value[("kmsKey",(Option.mapx.kmsKey~f:KmsKey.to_value));("delegatedAdminAccount",(Option.mapx.delegatedAdminAccount~f:AccountId.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdelegatedAdminAccount=(Option.map~f:AccountId.of_xml)(Xml.childxml_arg0"delegatedAdminAccount")inletkmsKey=(Option.map~f:KmsKey.of_xml)(Xml.childxml_arg0"kmsKey")inmake?delegatedAdminAccount?kmsKey()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdelegatedAdminAccount=field_mapjson__"delegatedAdminAccount"AccountId.of_jsoninletkmsKey=field_mapjson__"kmsKey"KmsKey.of_jsoninmake?delegatedAdminAccount?kmsKey()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Enables Audit Manager for the specified Amazon Web Services account."]moduleListTagsForResourceResponse=structtypenonrect={tags:TagMap.toption[@ocaml.doc"The list of tags that the ListTagsForResource API returned."]}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:TagMap.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettags=(Option.map~f:TagMap.of_xml)(Xml.childxml_arg0"tags")inmake?tags()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"tags"TagMap.of_jsoninmake?tags()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns a list of tags for the specified resource in Audit Manager."]moduleListTagsForResourceRequest=structtypenonrect={resourceArn:AuditManagerArn.t[@ocaml.doc"The Amazon Resource Name (ARN) of the resource."]}letcontext_="ListTagsForResourceRequest"letmake~resourceArn=fun()->{resourceArn}letto_valuex=structure_to_value[("resourceArn",(Some(AuditManagerArn.to_valuex.resourceArn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresourceArn=AuditManagerArn.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"AuditManagerArn.of_jsoninmake~resourceArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns a list of tags for the specified resource in Audit Manager."]moduleListNotificationsResponse=structtypenonrect={notifications:Notifications.toption[@ocaml.doc"The returned list of notifications."];nextToken:Token.toption[@ocaml.doc"The pagination token that's used to fetch the next set of results."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?notifications=fun?nextToken->fun()->{notifications;nextToken}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.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)|"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))]|`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[("notifications",(Option.mapx.notifications~f:Notifications.to_value));("nextToken",(Option.mapx.nextToken~f:Token.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:Token.of_xml)(Xml.childxml_arg0"nextToken")inletnotifications=(Option.map~f:Notifications.of_xml)(Xml.childxml_arg0"notifications")inmake?nextToken?notifications()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"Token.of_jsoninletnotifications=field_mapjson__"notifications"Notifications.of_jsoninmake?nextToken?notifications()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns a list of all Audit Manager notifications."]moduleListNotificationsRequest=structtypenonrect={nextToken:Token.toption[@ocaml.doc"The pagination token that's used to fetch the next set of results."];maxResults:MaxResults.toption[@ocaml.doc"Represents the maximum number of results on a page or for an API request call."]}letmake?nextToken=fun?maxResults->fun()->{nextToken;maxResults}letto_valuex=structure_to_value[("nextToken",(Option.mapx.nextToken~f:Token.to_value));("maxResults",(Option.mapx.maxResults~f:MaxResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:Token.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"MaxResults.of_jsoninletnextToken=field_mapjson__"nextToken"Token.of_jsoninmake?maxResults?nextToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns a list of all Audit Manager notifications."]moduleListKeywordsForDataSourceResponse=structtypenonrect={keywords:Keywords.toption[@ocaml.doc"The list of keywords for the control mapping source."];nextToken:Token.toption[@ocaml.doc"The pagination token that's used to fetch the next set of results."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?keywords=fun?nextToken->fun()->{keywords;nextToken}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.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)|"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))]|`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[("keywords",(Option.mapx.keywords~f:Keywords.to_value));("nextToken",(Option.mapx.nextToken~f:Token.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:Token.of_xml)(Xml.childxml_arg0"nextToken")inletkeywords=(Option.map~f:Keywords.of_xml)(Xml.childxml_arg0"keywords")inmake?nextToken?keywords()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"Token.of_jsoninletkeywords=field_mapjson__"keywords"Keywords.of_jsoninmake?nextToken?keywords()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns a list of keywords that are pre-mapped to the specified control data source."]moduleListKeywordsForDataSourceRequest=structtypenonrect={source:DataSourceType.t[@ocaml.doc"The control mapping data source that the keywords apply to."];nextToken:Token.toption[@ocaml.doc"The pagination token that's used to fetch the next set of results."];maxResults:MaxResults.toption[@ocaml.doc"Represents the maximum number of results on a page or for an API request call."]}letcontext_="ListKeywordsForDataSourceRequest"letmake?nextToken=fun?maxResults->fun~source->fun()->{nextToken;maxResults;source}letto_valuex=structure_to_value[("source",(Some(DataSourceType.to_valuex.source)));("nextToken",(Option.mapx.nextToken~f:Token.to_value));("maxResults",(Option.mapx.maxResults~f:MaxResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:Token.of_xml)(Xml.childxml_arg0"nextToken")inletsource=DataSourceType.of_xml(Xml.child_exn~context:context_xml_arg0"source")inmake?maxResults?nextToken~source()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"maxResults"MaxResults.of_jsoninletnextToken=field_mapjson__"nextToken"Token.of_jsoninletsource=field_map_exnjson__"source"DataSourceType.of_jsoninmake?maxResults?nextToken~source()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns a list of keywords that are pre-mapped to the specified control data source."]moduleListControlsResponse=structtypenonrect={controlMetadataList:ControlMetadataList.toption[@ocaml.doc"A list of metadata that the ListControls API returns for each control."];nextToken:Token.toption[@ocaml.doc"The pagination token that's used to fetch the next set of results."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?controlMetadataList=fun?nextToken->fun()->{controlMetadataList;nextToken}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.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)|"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))]|`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[("controlMetadataList",(Option.mapx.controlMetadataList~f:ControlMetadataList.to_value));("nextToken",(Option.mapx.nextToken~f:Token.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:Token.of_xml)(Xml.childxml_arg0"nextToken")inletcontrolMetadataList=(Option.map~f:ControlMetadataList.of_xml)(Xml.childxml_arg0"controlMetadataList")inmake?nextToken?controlMetadataList()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"Token.of_jsoninletcontrolMetadataList=field_mapjson__"controlMetadataList"ControlMetadataList.of_jsoninmake?nextToken?controlMetadataList()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns a list of controls from Audit Manager."]moduleListControlsRequest=structtypenonrect={controlType:ControlType.t[@ocaml.doc"A filter that narrows the list of controls to a specific type."];nextToken:Token.toption[@ocaml.doc"The pagination token that's used to fetch the next set of results."];maxResults:MaxResults.toption[@ocaml.doc"The maximum number of results on a page or for an API request call."];controlCatalogId:ControlCatalogId.toption[@ocaml.doc"A filter that narrows the list of controls to a specific resource from the Amazon Web Services Control Catalog. To use this parameter, specify the ARN of the Control Catalog resource. You can specify either a control domain, a control objective, or a common control. For information about how to find the ARNs for these resources, see ListDomains , ListObjectives , and ListCommonControls . You can only filter by one Control Catalog resource at a time. Specifying multiple resource ARNs isn\226\128\153t currently supported. If you want to filter by more than one ARN, we recommend that you run the ListControls operation separately for each ARN. Alternatively, specify UNCATEGORIZED to list controls that aren't mapped to a Control Catalog resource. For example, this operation might return a list of custom controls that don't belong to any control domain or control objective."]}letcontext_="ListControlsRequest"letmake?nextToken=fun?maxResults->fun?controlCatalogId->fun~controlType->fun()->{nextToken;maxResults;controlCatalogId;controlType}letto_valuex=structure_to_value[("controlType",(Some(ControlType.to_valuex.controlType)));("nextToken",(Option.mapx.nextToken~f:Token.to_value));("maxResults",(Option.mapx.maxResults~f:MaxResults.to_value));("controlCatalogId",(Option.mapx.controlCatalogId~f:ControlCatalogId.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcontrolCatalogId=(Option.map~f:ControlCatalogId.of_xml)(Xml.childxml_arg0"controlCatalogId")inletmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:Token.of_xml)(Xml.childxml_arg0"nextToken")inletcontrolType=ControlType.of_xml(Xml.child_exn~context:context_xml_arg0"controlType")inmake?controlCatalogId?maxResults?nextToken~controlType()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcontrolCatalogId=field_mapjson__"controlCatalogId"ControlCatalogId.of_jsoninletmaxResults=field_mapjson__"maxResults"MaxResults.of_jsoninletnextToken=field_mapjson__"nextToken"Token.of_jsoninletcontrolType=field_map_exnjson__"controlType"ControlType.of_jsoninmake?controlCatalogId?maxResults?nextToken~controlType()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns a list of controls from Audit Manager."]moduleListControlInsightsByControlDomainResponse=structtypenonrect={controlInsightsMetadata:ControlInsightsMetadata.toption[@ocaml.doc"The control analytics data that the ListControlInsightsByControlDomain API returned."];nextToken:Token.toption[@ocaml.doc"The pagination token that's used to fetch the next set of results."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?controlInsightsMetadata=fun?nextToken->fun()->{controlInsightsMetadata;nextToken}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))])))letto_valuex=structure_to_value[("controlInsightsMetadata",(Option.mapx.controlInsightsMetadata~f:ControlInsightsMetadata.to_value));("nextToken",(Option.mapx.nextToken~f:Token.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:Token.of_xml)(Xml.childxml_arg0"nextToken")inletcontrolInsightsMetadata=(Option.map~f:ControlInsightsMetadata.of_xml)(Xml.childxml_arg0"controlInsightsMetadata")inmake?nextToken?controlInsightsMetadata()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"Token.of_jsoninletcontrolInsightsMetadata=field_mapjson__"controlInsightsMetadata"ControlInsightsMetadata.of_jsoninmake?nextToken?controlInsightsMetadata()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists the latest analytics data for controls within a specific control domain across all active assessments. Control insights are listed only if the control belongs to the control domain that was specified and the control collected evidence on the lastUpdated date of controlInsightsMetadata. If neither of these conditions are met, no data is listed for that control."]moduleListControlInsightsByControlDomainRequest=structtypenonrect={controlDomainId:ControlDomainId.t[@ocaml.doc"The unique identifier for the control domain. Audit Manager supports the control domains that are provided by Amazon Web Services Control Catalog. For information about how to find a list of available control domains, see ListDomains in the Amazon Web Services Control Catalog API Reference."];nextToken:Token.toption[@ocaml.doc"The pagination token that's used to fetch the next set of results."];maxResults:MaxResults.toption[@ocaml.doc"Represents the maximum number of results on a page or for an API request call."]}letcontext_="ListControlInsightsByControlDomainRequest"letmake?nextToken=fun?maxResults->fun~controlDomainId->fun()->{nextToken;maxResults;controlDomainId}letto_valuex=structure_to_value[("controlDomainId",(Some(ControlDomainId.to_valuex.controlDomainId)));("nextToken",(Option.mapx.nextToken~f:Token.to_value));("maxResults",(Option.mapx.maxResults~f:MaxResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:Token.of_xml)(Xml.childxml_arg0"nextToken")inletcontrolDomainId=ControlDomainId.of_xml(Xml.child_exn~context:context_xml_arg0"controlDomainId")inmake?maxResults?nextToken~controlDomainId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"maxResults"MaxResults.of_jsoninletnextToken=field_mapjson__"nextToken"Token.of_jsoninletcontrolDomainId=field_map_exnjson__"controlDomainId"ControlDomainId.of_jsoninmake?maxResults?nextToken~controlDomainId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists the latest analytics data for controls within a specific control domain across all active assessments. Control insights are listed only if the control belongs to the control domain that was specified and the control collected evidence on the lastUpdated date of controlInsightsMetadata. If neither of these conditions are met, no data is listed for that control."]moduleListControlDomainInsightsResponse=structtypenonrect={controlDomainInsights:ControlDomainInsightsList.toption[@ocaml.doc"The control domain analytics data that the ListControlDomainInsights API returned."];nextToken:Token.toption[@ocaml.doc"The pagination token that's used to fetch the next set of results."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?controlDomainInsights=fun?nextToken->fun()->{controlDomainInsights;nextToken}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))])))letto_valuex=structure_to_value[("controlDomainInsights",(Option.mapx.controlDomainInsights~f:ControlDomainInsightsList.to_value));("nextToken",(Option.mapx.nextToken~f:Token.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:Token.of_xml)(Xml.childxml_arg0"nextToken")inletcontrolDomainInsights=(Option.map~f:ControlDomainInsightsList.of_xml)(Xml.childxml_arg0"controlDomainInsights")inmake?nextToken?controlDomainInsights()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"Token.of_jsoninletcontrolDomainInsights=field_mapjson__"controlDomainInsights"ControlDomainInsightsList.of_jsoninmake?nextToken?controlDomainInsights()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists the latest analytics data for control domains across all of your active assessments. Audit Manager supports the control domains that are provided by Amazon Web Services Control Catalog. For information about how to find a list of available control domains, see ListDomains in the Amazon Web Services Control Catalog API Reference. A control domain is listed only if at least one of the controls within that domain collected evidence on the lastUpdated date of controlDomainInsights. If this condition isn\226\128\153t met, no data is listed for that control domain."]moduleListControlDomainInsightsRequest=structtypenonrect={nextToken:Token.toption[@ocaml.doc"The pagination token that's used to fetch the next set of results."];maxResults:MaxResults.toption[@ocaml.doc"Represents the maximum number of results on a page or for an API request call."]}letmake?nextToken=fun?maxResults->fun()->{nextToken;maxResults}letto_valuex=structure_to_value[("nextToken",(Option.mapx.nextToken~f:Token.to_value));("maxResults",(Option.mapx.maxResults~f:MaxResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:Token.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"MaxResults.of_jsoninletnextToken=field_mapjson__"nextToken"Token.of_jsoninmake?maxResults?nextToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists the latest analytics data for control domains across all of your active assessments. Audit Manager supports the control domains that are provided by Amazon Web Services Control Catalog. For information about how to find a list of available control domains, see ListDomains in the Amazon Web Services Control Catalog API Reference. A control domain is listed only if at least one of the controls within that domain collected evidence on the lastUpdated date of controlDomainInsights. If this condition isn\226\128\153t met, no data is listed for that control domain."]moduleListControlDomainInsightsByAssessmentResponse=structtypenonrect={controlDomainInsights:ControlDomainInsightsList.toption[@ocaml.doc"The control domain analytics data that the ListControlDomainInsightsByAssessment API returned."];nextToken:Token.toption[@ocaml.doc"The pagination token that's used to fetch the next set of results."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?controlDomainInsights=fun?nextToken->fun()->{controlDomainInsights;nextToken}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))])))letto_valuex=structure_to_value[("controlDomainInsights",(Option.mapx.controlDomainInsights~f:ControlDomainInsightsList.to_value));("nextToken",(Option.mapx.nextToken~f:Token.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:Token.of_xml)(Xml.childxml_arg0"nextToken")inletcontrolDomainInsights=(Option.map~f:ControlDomainInsightsList.of_xml)(Xml.childxml_arg0"controlDomainInsights")inmake?nextToken?controlDomainInsights()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"Token.of_jsoninletcontrolDomainInsights=field_mapjson__"controlDomainInsights"ControlDomainInsightsList.of_jsoninmake?nextToken?controlDomainInsights()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists analytics data for control domains within a specified active assessment. Audit Manager supports the control domains that are provided by Amazon Web Services Control Catalog. For information about how to find a list of available control domains, see ListDomains in the Amazon Web Services Control Catalog API Reference. A control domain is listed only if at least one of the controls within that domain collected evidence on the lastUpdated date of controlDomainInsights. If this condition isn\226\128\153t met, no data is listed for that domain."]moduleListControlDomainInsightsByAssessmentRequest=structtypenonrect={assessmentId:UUID.t[@ocaml.doc"The unique identifier for the active assessment."];nextToken:Token.toption[@ocaml.doc"The pagination token that's used to fetch the next set of results."];maxResults:MaxResults.toption[@ocaml.doc"Represents the maximum number of results on a page or for an API request call."]}letcontext_="ListControlDomainInsightsByAssessmentRequest"letmake?nextToken=fun?maxResults->fun~assessmentId->fun()->{nextToken;maxResults;assessmentId}letto_valuex=structure_to_value[("assessmentId",(Some(UUID.to_valuex.assessmentId)));("nextToken",(Option.mapx.nextToken~f:Token.to_value));("maxResults",(Option.mapx.maxResults~f:MaxResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:Token.of_xml)(Xml.childxml_arg0"nextToken")inletassessmentId=UUID.of_xml(Xml.child_exn~context:context_xml_arg0"assessmentId")inmake?maxResults?nextToken~assessmentId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"maxResults"MaxResults.of_jsoninletnextToken=field_mapjson__"nextToken"Token.of_jsoninletassessmentId=field_map_exnjson__"assessmentId"UUID.of_jsoninmake?maxResults?nextToken~assessmentId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists analytics data for control domains within a specified active assessment. Audit Manager supports the control domains that are provided by Amazon Web Services Control Catalog. For information about how to find a list of available control domains, see ListDomains in the Amazon Web Services Control Catalog API Reference. A control domain is listed only if at least one of the controls within that domain collected evidence on the lastUpdated date of controlDomainInsights. If this condition isn\226\128\153t met, no data is listed for that domain."]moduleListAssessmentsResponse=structtypenonrect={assessmentMetadata:ListAssessmentMetadata.toption[@ocaml.doc"The metadata that the ListAssessments API returns for each assessment."];nextToken:Token.toption[@ocaml.doc"The pagination token that's used to fetch the next set of results."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?assessmentMetadata=fun?nextToken->fun()->{assessmentMetadata;nextToken}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.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)|"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))]|`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[("assessmentMetadata",(Option.mapx.assessmentMetadata~f:ListAssessmentMetadata.to_value));("nextToken",(Option.mapx.nextToken~f:Token.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:Token.of_xml)(Xml.childxml_arg0"nextToken")inletassessmentMetadata=(Option.map~f:ListAssessmentMetadata.of_xml)(Xml.childxml_arg0"assessmentMetadata")inmake?nextToken?assessmentMetadata()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"Token.of_jsoninletassessmentMetadata=field_mapjson__"assessmentMetadata"ListAssessmentMetadata.of_jsoninmake?nextToken?assessmentMetadata()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns a list of current and past assessments from Audit Manager."]moduleListAssessmentsRequest=structtypenonrect={status:AssessmentStatus.toption[@ocaml.doc"The current status of the assessment."];nextToken:Token.toption[@ocaml.doc"The pagination token that's used to fetch the next set of results."];maxResults:MaxResults.toption[@ocaml.doc"Represents the maximum number of results on a page or for an API request call."]}letmake?status=fun?nextToken->fun?maxResults->fun()->{status;nextToken;maxResults}letto_valuex=structure_to_value[("status",(Option.mapx.status~f:AssessmentStatus.to_value));("nextToken",(Option.mapx.nextToken~f:Token.to_value));("maxResults",(Option.mapx.maxResults~f:MaxResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:Token.of_xml)(Xml.childxml_arg0"nextToken")inletstatus=(Option.map~f:AssessmentStatus.of_xml)(Xml.childxml_arg0"status")inmake?maxResults?nextToken?status()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"maxResults"MaxResults.of_jsoninletnextToken=field_mapjson__"nextToken"Token.of_jsoninletstatus=field_mapjson__"status"AssessmentStatus.of_jsoninmake?maxResults?nextToken?status()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns a list of current and past assessments from Audit Manager."]moduleListAssessmentReportsResponse=structtypenonrect={assessmentReports:AssessmentReportsMetadata.toption[@ocaml.doc"The list of assessment reports that the ListAssessmentReports API returned."];nextToken:Token.toption[@ocaml.doc"The pagination token that's used to fetch the next set of results."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?assessmentReports=fun?nextToken->fun()->{assessmentReports;nextToken}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.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)|"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))]|`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[("assessmentReports",(Option.mapx.assessmentReports~f:AssessmentReportsMetadata.to_value));("nextToken",(Option.mapx.nextToken~f:Token.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:Token.of_xml)(Xml.childxml_arg0"nextToken")inletassessmentReports=(Option.map~f:AssessmentReportsMetadata.of_xml)(Xml.childxml_arg0"assessmentReports")inmake?nextToken?assessmentReports()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"Token.of_jsoninletassessmentReports=field_mapjson__"assessmentReports"AssessmentReportsMetadata.of_jsoninmake?nextToken?assessmentReports()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns a list of assessment reports created in Audit Manager."]moduleListAssessmentReportsRequest=structtypenonrect={nextToken:Token.toption[@ocaml.doc"The pagination token that's used to fetch the next set of results."];maxResults:MaxResults.toption[@ocaml.doc"Represents the maximum number of results on a page or for an API request call."]}letmake?nextToken=fun?maxResults->fun()->{nextToken;maxResults}letto_valuex=structure_to_value[("nextToken",(Option.mapx.nextToken~f:Token.to_value));("maxResults",(Option.mapx.maxResults~f:MaxResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:Token.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"MaxResults.of_jsoninletnextToken=field_mapjson__"nextToken"Token.of_jsoninmake?maxResults?nextToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns a list of assessment reports created in Audit Manager."]moduleListAssessmentFrameworksResponse=structtypenonrect={frameworkMetadataList:FrameworkMetadataList.toption[@ocaml.doc"A list of metadata that the ListAssessmentFrameworks API returns for each framework."];nextToken:Token.toption[@ocaml.doc"The pagination token that's used to fetch the next set of results."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?frameworkMetadataList=fun?nextToken->fun()->{frameworkMetadataList;nextToken}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.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)|"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))]|`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[("frameworkMetadataList",(Option.mapx.frameworkMetadataList~f:FrameworkMetadataList.to_value));("nextToken",(Option.mapx.nextToken~f:Token.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:Token.of_xml)(Xml.childxml_arg0"nextToken")inletframeworkMetadataList=(Option.map~f:FrameworkMetadataList.of_xml)(Xml.childxml_arg0"frameworkMetadataList")inmake?nextToken?frameworkMetadataList()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"Token.of_jsoninletframeworkMetadataList=field_mapjson__"frameworkMetadataList"FrameworkMetadataList.of_jsoninmake?nextToken?frameworkMetadataList()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns a list of the frameworks that are available in the Audit Manager framework library."]moduleListAssessmentFrameworksRequest=structtypenonrect={frameworkType:FrameworkType.t[@ocaml.doc"The type of framework, such as a standard framework or a custom framework."];nextToken:Token.toption[@ocaml.doc"The pagination token that's used to fetch the next set of results."];maxResults:MaxResults.toption[@ocaml.doc"Represents the maximum number of results on a page or for an API request call."]}letcontext_="ListAssessmentFrameworksRequest"letmake?nextToken=fun?maxResults->fun~frameworkType->fun()->{nextToken;maxResults;frameworkType}letto_valuex=structure_to_value[("frameworkType",(Some(FrameworkType.to_valuex.frameworkType)));("nextToken",(Option.mapx.nextToken~f:Token.to_value));("maxResults",(Option.mapx.maxResults~f:MaxResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:Token.of_xml)(Xml.childxml_arg0"nextToken")inletframeworkType=FrameworkType.of_xml(Xml.child_exn~context:context_xml_arg0"frameworkType")inmake?maxResults?nextToken~frameworkType()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"maxResults"MaxResults.of_jsoninletnextToken=field_mapjson__"nextToken"Token.of_jsoninletframeworkType=field_map_exnjson__"frameworkType"FrameworkType.of_jsoninmake?maxResults?nextToken~frameworkType()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns a list of the frameworks that are available in the Audit Manager framework library."]moduleListAssessmentFrameworkShareRequestsResponse=structtypenonrect={assessmentFrameworkShareRequests:AssessmentFrameworkShareRequestList.toption[@ocaml.doc"The list of share requests that the ListAssessmentFrameworkShareRequests API returned."];nextToken:Token.toption[@ocaml.doc"The pagination token that's used to fetch the next set of results."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?assessmentFrameworkShareRequests=fun?nextToken->fun()->{assessmentFrameworkShareRequests;nextToken}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.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)|"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))]|`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[("assessmentFrameworkShareRequests",(Option.mapx.assessmentFrameworkShareRequests~f:AssessmentFrameworkShareRequestList.to_value));("nextToken",(Option.mapx.nextToken~f:Token.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:Token.of_xml)(Xml.childxml_arg0"nextToken")inletassessmentFrameworkShareRequests=(Option.map~f:AssessmentFrameworkShareRequestList.of_xml)(Xml.childxml_arg0"assessmentFrameworkShareRequests")inmake?nextToken?assessmentFrameworkShareRequests()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"Token.of_jsoninletassessmentFrameworkShareRequests=field_mapjson__"assessmentFrameworkShareRequests"AssessmentFrameworkShareRequestList.of_jsoninmake?nextToken?assessmentFrameworkShareRequests()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns a list of sent or received share requests for custom frameworks in Audit Manager."]moduleListAssessmentFrameworkShareRequestsRequest=structtypenonrect={requestType:ShareRequestType.t[@ocaml.doc"Specifies whether the share request is a sent request or a received request."];nextToken:Token.toption[@ocaml.doc"The pagination token that's used to fetch the next set of results."];maxResults:MaxResults.toption[@ocaml.doc"Represents the maximum number of results on a page or for an API request call."]}letcontext_="ListAssessmentFrameworkShareRequestsRequest"letmake?nextToken=fun?maxResults->fun~requestType->fun()->{nextToken;maxResults;requestType}letto_valuex=structure_to_value[("requestType",(Some(ShareRequestType.to_valuex.requestType)));("nextToken",(Option.mapx.nextToken~f:Token.to_value));("maxResults",(Option.mapx.maxResults~f:MaxResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:Token.of_xml)(Xml.childxml_arg0"nextToken")inletrequestType=ShareRequestType.of_xml(Xml.child_exn~context:context_xml_arg0"requestType")inmake?maxResults?nextToken~requestType()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"maxResults"MaxResults.of_jsoninletnextToken=field_mapjson__"nextToken"Token.of_jsoninletrequestType=field_map_exnjson__"requestType"ShareRequestType.of_jsoninmake?maxResults?nextToken~requestType()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns a list of sent or received share requests for custom frameworks in Audit Manager."]moduleListAssessmentControlInsightsByControlDomainResponse=structtypenonrect={controlInsightsByAssessment:ControlInsightsMetadataByAssessment.toption[@ocaml.doc"The assessment control analytics data that the ListAssessmentControlInsightsByControlDomain API returned."];nextToken:Token.toption[@ocaml.doc"The pagination token that's used to fetch the next set of results."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?controlInsightsByAssessment=fun?nextToken->fun()->{controlInsightsByAssessment;nextToken}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))])))letto_valuex=structure_to_value[("controlInsightsByAssessment",(Option.mapx.controlInsightsByAssessment~f:ControlInsightsMetadataByAssessment.to_value));("nextToken",(Option.mapx.nextToken~f:Token.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:Token.of_xml)(Xml.childxml_arg0"nextToken")inletcontrolInsightsByAssessment=(Option.map~f:ControlInsightsMetadataByAssessment.of_xml)(Xml.childxml_arg0"controlInsightsByAssessment")inmake?nextToken?controlInsightsByAssessment()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"Token.of_jsoninletcontrolInsightsByAssessment=field_mapjson__"controlInsightsByAssessment"ControlInsightsMetadataByAssessment.of_jsoninmake?nextToken?controlInsightsByAssessment()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists the latest analytics data for controls within a specific control domain and a specific active assessment. Control insights are listed only if the control belongs to the control domain and assessment that was specified. Moreover, the control must have collected evidence on the lastUpdated date of controlInsightsByAssessment. If neither of these conditions are met, no data is listed for that control."]moduleListAssessmentControlInsightsByControlDomainRequest=structtypenonrect={controlDomainId:ControlDomainId.t[@ocaml.doc"The unique identifier for the control domain. Audit Manager supports the control domains that are provided by Amazon Web Services Control Catalog. For information about how to find a list of available control domains, see ListDomains in the Amazon Web Services Control Catalog API Reference."];assessmentId:UUID.t[@ocaml.doc"The unique identifier for the active assessment."];nextToken:Token.toption[@ocaml.doc"The pagination token that's used to fetch the next set of results."];maxResults:MaxResults.toption[@ocaml.doc"Represents the maximum number of results on a page or for an API request call."]}letcontext_="ListAssessmentControlInsightsByControlDomainRequest"letmake?nextToken=fun?maxResults->fun~controlDomainId->fun~assessmentId->fun()->{nextToken;maxResults;controlDomainId;assessmentId}letto_valuex=structure_to_value[("controlDomainId",(Some(ControlDomainId.to_valuex.controlDomainId)));("assessmentId",(Some(UUID.to_valuex.assessmentId)));("nextToken",(Option.mapx.nextToken~f:Token.to_value));("maxResults",(Option.mapx.maxResults~f:MaxResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:Token.of_xml)(Xml.childxml_arg0"nextToken")inletassessmentId=UUID.of_xml(Xml.child_exn~context:context_xml_arg0"assessmentId")inletcontrolDomainId=ControlDomainId.of_xml(Xml.child_exn~context:context_xml_arg0"controlDomainId")inmake?maxResults?nextToken~assessmentId~controlDomainId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"maxResults"MaxResults.of_jsoninletnextToken=field_mapjson__"nextToken"Token.of_jsoninletassessmentId=field_map_exnjson__"assessmentId"UUID.of_jsoninletcontrolDomainId=field_map_exnjson__"controlDomainId"ControlDomainId.of_jsoninmake?maxResults?nextToken~assessmentId~controlDomainId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists the latest analytics data for controls within a specific control domain and a specific active assessment. Control insights are listed only if the control belongs to the control domain and assessment that was specified. Moreover, the control must have collected evidence on the lastUpdated date of controlInsightsByAssessment. If neither of these conditions are met, no data is listed for that control."]moduleGetSettingsResponse=structtypenonrect={settings:Settings.toption[@ocaml.doc"The settings object that holds all supported Audit Manager settings."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`Unknown_operation_errorof(string*stringoption)]letmake?settings=fun()->{settings}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.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)|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))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("settings",(Option.mapx.settings~f:Settings.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letsettings=(Option.map~f:Settings.of_xml)(Xml.childxml_arg0"settings")inmake?settings()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letsettings=field_mapjson__"settings"Settings.of_jsoninmake?settings()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets the settings for a specified Amazon Web Services account."]moduleGetSettingsRequest=structtypenonrect={attribute:SettingAttribute.t[@ocaml.doc"The list of setting attribute enum values."]}letcontext_="GetSettingsRequest"letmake~attribute=fun()->{attribute}letto_valuex=structure_to_value[("attribute",(Some(SettingAttribute.to_valuex.attribute)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letattribute=SettingAttribute.of_xml(Xml.child_exn~context:context_xml_arg0"attribute")inmake~attribute()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letattribute=field_map_exnjson__"attribute"SettingAttribute.of_jsoninmake~attribute()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets the settings for a specified Amazon Web Services account."]moduleGetServicesInScopeResponse=structtypenonrect={serviceMetadata:ServiceMetadataList.toption[@ocaml.doc"The metadata that's associated with the Amazon Web Services service."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?serviceMetadata=fun()->{serviceMetadata}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.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)|"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))]|`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[("serviceMetadata",(Option.mapx.serviceMetadata~f:ServiceMetadataList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letserviceMetadata=(Option.map~f:ServiceMetadataList.of_xml)(Xml.childxml_arg0"serviceMetadata")inmake?serviceMetadata()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letserviceMetadata=field_mapjson__"serviceMetadata"ServiceMetadataList.of_jsoninmake?serviceMetadata()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets a list of the Amazon Web Services services from which Audit Manager can collect evidence. Audit Manager defines which Amazon Web Services services are in scope for an assessment. Audit Manager infers this scope by examining the assessment\226\128\153s controls and their data sources, and then mapping this information to one or more of the corresponding Amazon Web Services services that are in this list. For information about why it's no longer possible to specify services in scope manually, see I can't edit the services in scope for my assessment in the Troubleshooting section of the Audit Manager user guide."]moduleGetServicesInScopeRequest=structtypenonrect=unitletmake()=()letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets a list of the Amazon Web Services services from which Audit Manager can collect evidence. Audit Manager defines which Amazon Web Services services are in scope for an assessment. Audit Manager infers this scope by examining the assessment\226\128\153s controls and their data sources, and then mapping this information to one or more of the corresponding Amazon Web Services services that are in this list. For information about why it's no longer possible to specify services in scope manually, see I can't edit the services in scope for my assessment in the Troubleshooting section of the Audit Manager user guide."]moduleGetOrganizationAdminAccountResponse=structtypenonrect={adminAccountId:AccountId.toption[@ocaml.doc"The identifier for the administrator account."];organizationId:OrganizationId.toption[@ocaml.doc"The identifier for the organization."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?adminAccountId=fun?organizationId->fun()->{adminAccountId;organizationId}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))])))letto_valuex=structure_to_value[("adminAccountId",(Option.mapx.adminAccountId~f:AccountId.to_value));("organizationId",(Option.mapx.organizationId~f:OrganizationId.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letorganizationId=(Option.map~f:OrganizationId.of_xml)(Xml.childxml_arg0"organizationId")inletadminAccountId=(Option.map~f:AccountId.of_xml)(Xml.childxml_arg0"adminAccountId")inmake?organizationId?adminAccountId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letorganizationId=field_mapjson__"organizationId"OrganizationId.of_jsoninletadminAccountId=field_mapjson__"adminAccountId"AccountId.of_jsoninmake?organizationId?adminAccountId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets the name of the delegated Amazon Web Services administrator account for a specified organization."]moduleGetOrganizationAdminAccountRequest=structtypenonrect=unitletmake()=()letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets the name of the delegated Amazon Web Services administrator account for a specified organization."]moduleGetInsightsResponse=structtypenonrect={insights:Insights.toption[@ocaml.doc"The analytics data that the GetInsights API returned."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`Unknown_operation_errorof(string*stringoption)]letmake?insights=fun()->{insights}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.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)|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))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("insights",(Option.mapx.insights~f:Insights.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letinsights=(Option.map~f:Insights.of_xml)(Xml.childxml_arg0"insights")inmake?insights()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letinsights=field_mapjson__"insights"Insights.of_jsoninmake?insights()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets the latest analytics data for all your current active assessments."]moduleGetInsightsRequest=structtypenonrect=unitletmake()=()letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets the latest analytics data for all your current active assessments."]moduleGetInsightsByAssessmentResponse=structtypenonrect={insights:InsightsByAssessment.toption[@ocaml.doc"The assessment analytics data that the GetInsightsByAssessment API returned."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?insights=fun()->{insights}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))])))letto_valuex=structure_to_value[("insights",(Option.mapx.insights~f:InsightsByAssessment.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letinsights=(Option.map~f:InsightsByAssessment.of_xml)(Xml.childxml_arg0"insights")inmake?insights()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letinsights=field_mapjson__"insights"InsightsByAssessment.of_jsoninmake?insights()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets the latest analytics data for a specific active assessment."]moduleGetInsightsByAssessmentRequest=structtypenonrect={assessmentId:UUID.t[@ocaml.doc"The unique identifier for the assessment."]}letcontext_="GetInsightsByAssessmentRequest"letmake~assessmentId=fun()->{assessmentId}letto_valuex=structure_to_value[("assessmentId",(Some(UUID.to_valuex.assessmentId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letassessmentId=UUID.of_xml(Xml.child_exn~context:context_xml_arg0"assessmentId")inmake~assessmentId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letassessmentId=field_map_exnjson__"assessmentId"UUID.of_jsoninmake~assessmentId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets the latest analytics data for a specific active assessment."]moduleGetEvidenceResponse=structtypenonrect={evidence:Evidence.toption[@ocaml.doc"The evidence that the GetEvidence API returned."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?evidence=fun()->{evidence}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))])))letto_valuex=structure_to_value[("evidence",(Option.mapx.evidence~f:Evidence.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letevidence=(Option.map~f:Evidence.of_xml)(Xml.childxml_arg0"evidence")inmake?evidence()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letevidence=field_mapjson__"evidence"Evidence.of_jsoninmake?evidence()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets information about a specified evidence item."]moduleGetEvidenceRequest=structtypenonrect={assessmentId:UUID.t[@ocaml.doc"The unique identifier for the assessment."];controlSetId:ControlSetId.t[@ocaml.doc"The unique identifier for the control set."];evidenceFolderId:UUID.t[@ocaml.doc"The unique identifier for the folder that the evidence is stored in."];evidenceId:UUID.t[@ocaml.doc"The unique identifier for the evidence."]}letcontext_="GetEvidenceRequest"letmake~assessmentId=fun~controlSetId->fun~evidenceFolderId->fun~evidenceId->fun()->{assessmentId;controlSetId;evidenceFolderId;evidenceId}letto_valuex=structure_to_value[("assessmentId",(Some(UUID.to_valuex.assessmentId)));("controlSetId",(Some(ControlSetId.to_valuex.controlSetId)));("evidenceFolderId",(Some(UUID.to_valuex.evidenceFolderId)));("evidenceId",(Some(UUID.to_valuex.evidenceId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letevidenceId=UUID.of_xml(Xml.child_exn~context:context_xml_arg0"evidenceId")inletevidenceFolderId=UUID.of_xml(Xml.child_exn~context:context_xml_arg0"evidenceFolderId")inletcontrolSetId=ControlSetId.of_xml(Xml.child_exn~context:context_xml_arg0"controlSetId")inletassessmentId=UUID.of_xml(Xml.child_exn~context:context_xml_arg0"assessmentId")inmake~evidenceId~evidenceFolderId~controlSetId~assessmentId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letevidenceId=field_map_exnjson__"evidenceId"UUID.of_jsoninletevidenceFolderId=field_map_exnjson__"evidenceFolderId"UUID.of_jsoninletcontrolSetId=field_map_exnjson__"controlSetId"ControlSetId.of_jsoninletassessmentId=field_map_exnjson__"assessmentId"UUID.of_jsoninmake~evidenceId~evidenceFolderId~controlSetId~assessmentId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets information about a specified evidence item."]moduleGetEvidenceFoldersByAssessmentResponse=structtypenonrect={evidenceFolders:AssessmentEvidenceFolders.toption[@ocaml.doc"The list of evidence folders that the GetEvidenceFoldersByAssessment API returned."];nextToken:Token.toption[@ocaml.doc"The pagination token that's used to fetch the next set of results."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?evidenceFolders=fun?nextToken->fun()->{evidenceFolders;nextToken}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))])))letto_valuex=structure_to_value[("evidenceFolders",(Option.mapx.evidenceFolders~f:AssessmentEvidenceFolders.to_value));("nextToken",(Option.mapx.nextToken~f:Token.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:Token.of_xml)(Xml.childxml_arg0"nextToken")inletevidenceFolders=(Option.map~f:AssessmentEvidenceFolders.of_xml)(Xml.childxml_arg0"evidenceFolders")inmake?nextToken?evidenceFolders()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"Token.of_jsoninletevidenceFolders=field_mapjson__"evidenceFolders"AssessmentEvidenceFolders.of_jsoninmake?nextToken?evidenceFolders()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets the evidence folders from a specified assessment in Audit Manager."]moduleGetEvidenceFoldersByAssessmentRequest=structtypenonrect={assessmentId:UUID.t[@ocaml.doc"The unique identifier for the assessment."];nextToken:Token.toption[@ocaml.doc"The pagination token that's used to fetch the next set of results."];maxResults:MaxResults.toption[@ocaml.doc"Represents the maximum number of results on a page or for an API request call."]}letcontext_="GetEvidenceFoldersByAssessmentRequest"letmake?nextToken=fun?maxResults->fun~assessmentId->fun()->{nextToken;maxResults;assessmentId}letto_valuex=structure_to_value[("assessmentId",(Some(UUID.to_valuex.assessmentId)));("nextToken",(Option.mapx.nextToken~f:Token.to_value));("maxResults",(Option.mapx.maxResults~f:MaxResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:Token.of_xml)(Xml.childxml_arg0"nextToken")inletassessmentId=UUID.of_xml(Xml.child_exn~context:context_xml_arg0"assessmentId")inmake?maxResults?nextToken~assessmentId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"maxResults"MaxResults.of_jsoninletnextToken=field_mapjson__"nextToken"Token.of_jsoninletassessmentId=field_map_exnjson__"assessmentId"UUID.of_jsoninmake?maxResults?nextToken~assessmentId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets the evidence folders from a specified assessment in Audit Manager."]moduleGetEvidenceFoldersByAssessmentControlResponse=structtypenonrect={evidenceFolders:AssessmentEvidenceFolders.toption[@ocaml.doc"The list of evidence folders that the GetEvidenceFoldersByAssessmentControl API returned."];nextToken:Token.toption[@ocaml.doc"The pagination token that's used to fetch the next set of results."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?evidenceFolders=fun?nextToken->fun()->{evidenceFolders;nextToken}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))])))letto_valuex=structure_to_value[("evidenceFolders",(Option.mapx.evidenceFolders~f:AssessmentEvidenceFolders.to_value));("nextToken",(Option.mapx.nextToken~f:Token.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:Token.of_xml)(Xml.childxml_arg0"nextToken")inletevidenceFolders=(Option.map~f:AssessmentEvidenceFolders.of_xml)(Xml.childxml_arg0"evidenceFolders")inmake?nextToken?evidenceFolders()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"Token.of_jsoninletevidenceFolders=field_mapjson__"evidenceFolders"AssessmentEvidenceFolders.of_jsoninmake?nextToken?evidenceFolders()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets a list of evidence folders that are associated with a specified control in an Audit Manager assessment."]moduleGetEvidenceFoldersByAssessmentControlRequest=structtypenonrect={assessmentId:UUID.t[@ocaml.doc"The identifier for the assessment."];controlSetId:ControlSetId.t[@ocaml.doc"The identifier for the control set."];controlId:UUID.t[@ocaml.doc"The identifier for the control."];nextToken:Token.toption[@ocaml.doc"The pagination token that's used to fetch the next set of results."];maxResults:MaxResults.toption[@ocaml.doc"Represents the maximum number of results on a page or for an API request call."]}letcontext_="GetEvidenceFoldersByAssessmentControlRequest"letmake?nextToken=fun?maxResults->fun~assessmentId->fun~controlSetId->fun~controlId->fun()->{nextToken;maxResults;assessmentId;controlSetId;controlId}letto_valuex=structure_to_value[("assessmentId",(Some(UUID.to_valuex.assessmentId)));("controlSetId",(Some(ControlSetId.to_valuex.controlSetId)));("controlId",(Some(UUID.to_valuex.controlId)));("nextToken",(Option.mapx.nextToken~f:Token.to_value));("maxResults",(Option.mapx.maxResults~f:MaxResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:Token.of_xml)(Xml.childxml_arg0"nextToken")inletcontrolId=UUID.of_xml(Xml.child_exn~context:context_xml_arg0"controlId")inletcontrolSetId=ControlSetId.of_xml(Xml.child_exn~context:context_xml_arg0"controlSetId")inletassessmentId=UUID.of_xml(Xml.child_exn~context:context_xml_arg0"assessmentId")inmake?maxResults?nextToken~controlId~controlSetId~assessmentId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"maxResults"MaxResults.of_jsoninletnextToken=field_mapjson__"nextToken"Token.of_jsoninletcontrolId=field_map_exnjson__"controlId"UUID.of_jsoninletcontrolSetId=field_map_exnjson__"controlSetId"ControlSetId.of_jsoninletassessmentId=field_map_exnjson__"assessmentId"UUID.of_jsoninmake?maxResults?nextToken~controlId~controlSetId~assessmentId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets a list of evidence folders that are associated with a specified control in an Audit Manager assessment."]moduleGetEvidenceFolderResponse=structtypenonrect={evidenceFolder:AssessmentEvidenceFolder.toption[@ocaml.doc"The folder that the evidence is stored in."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?evidenceFolder=fun()->{evidenceFolder}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))])))letto_valuex=structure_to_value[("evidenceFolder",(Option.mapx.evidenceFolder~f:AssessmentEvidenceFolder.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letevidenceFolder=(Option.map~f:AssessmentEvidenceFolder.of_xml)(Xml.childxml_arg0"evidenceFolder")inmake?evidenceFolder()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letevidenceFolder=field_mapjson__"evidenceFolder"AssessmentEvidenceFolder.of_jsoninmake?evidenceFolder()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets an evidence folder from a specified assessment in Audit Manager."]moduleGetEvidenceFolderRequest=structtypenonrect={assessmentId:UUID.t[@ocaml.doc"The unique identifier for the assessment."];controlSetId:ControlSetId.t[@ocaml.doc"The unique identifier for the control set."];evidenceFolderId:UUID.t[@ocaml.doc"The unique identifier for the folder that the evidence is stored in."]}letcontext_="GetEvidenceFolderRequest"letmake~assessmentId=fun~controlSetId->fun~evidenceFolderId->fun()->{assessmentId;controlSetId;evidenceFolderId}letto_valuex=structure_to_value[("assessmentId",(Some(UUID.to_valuex.assessmentId)));("controlSetId",(Some(ControlSetId.to_valuex.controlSetId)));("evidenceFolderId",(Some(UUID.to_valuex.evidenceFolderId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letevidenceFolderId=UUID.of_xml(Xml.child_exn~context:context_xml_arg0"evidenceFolderId")inletcontrolSetId=ControlSetId.of_xml(Xml.child_exn~context:context_xml_arg0"controlSetId")inletassessmentId=UUID.of_xml(Xml.child_exn~context:context_xml_arg0"assessmentId")inmake~evidenceFolderId~controlSetId~assessmentId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letevidenceFolderId=field_map_exnjson__"evidenceFolderId"UUID.of_jsoninletcontrolSetId=field_map_exnjson__"controlSetId"ControlSetId.of_jsoninletassessmentId=field_map_exnjson__"assessmentId"UUID.of_jsoninmake~evidenceFolderId~controlSetId~assessmentId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets an evidence folder from a specified assessment in Audit Manager."]moduleGetEvidenceFileUploadUrlResponse=structtypenonrect={evidenceFileName:NonEmptyString.toption[@ocaml.doc"The name of the uploaded manual evidence file that the presigned URL was generated for."];uploadUrl:NonEmptyString.toption[@ocaml.doc"The presigned URL that was generated."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?evidenceFileName=fun?uploadUrl->fun()->{evidenceFileName;uploadUrl}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("evidenceFileName",(Option.mapx.evidenceFileName~f:NonEmptyString.to_value));("uploadUrl",(Option.mapx.uploadUrl~f:NonEmptyString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letuploadUrl=(Option.map~f:NonEmptyString.of_xml)(Xml.childxml_arg0"uploadUrl")inletevidenceFileName=(Option.map~f:NonEmptyString.of_xml)(Xml.childxml_arg0"evidenceFileName")inmake?uploadUrl?evidenceFileName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letuploadUrl=field_mapjson__"uploadUrl"NonEmptyString.of_jsoninletevidenceFileName=field_mapjson__"evidenceFileName"NonEmptyString.of_jsoninmake?uploadUrl?evidenceFileName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a presigned Amazon S3 URL that can be used to upload a file as manual evidence. For instructions on how to use this operation, see Upload a file from your browser in the Audit Manager User Guide. The following restrictions apply to this operation: Maximum size of an individual evidence file: 100 MB Number of daily manual evidence uploads per control: 100 Supported file formats: See Supported file types for manual evidence in the Audit Manager User Guide For more information about Audit Manager service restrictions, see Quotas and restrictions for Audit Manager."]moduleGetEvidenceFileUploadUrlRequest=structtypenonrect={fileName:ManualEvidenceLocalFileName.t[@ocaml.doc"The file that you want to upload. For a list of supported file formats, see Supported file types for manual evidence in the Audit Manager User Guide."]}letcontext_="GetEvidenceFileUploadUrlRequest"letmake~fileName=fun()->{fileName}letto_valuex=structure_to_value[("fileName",(Some(ManualEvidenceLocalFileName.to_valuex.fileName)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letfileName=ManualEvidenceLocalFileName.of_xml(Xml.child_exn~context:context_xml_arg0"fileName")inmake~fileName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letfileName=field_map_exnjson__"fileName"ManualEvidenceLocalFileName.of_jsoninmake~fileName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a presigned Amazon S3 URL that can be used to upload a file as manual evidence. For instructions on how to use this operation, see Upload a file from your browser in the Audit Manager User Guide. The following restrictions apply to this operation: Maximum size of an individual evidence file: 100 MB Number of daily manual evidence uploads per control: 100 Supported file formats: See Supported file types for manual evidence in the Audit Manager User Guide For more information about Audit Manager service restrictions, see Quotas and restrictions for Audit Manager."]moduleGetEvidenceByEvidenceFolderResponse=structtypenonrect={evidence:EvidenceList.toption[@ocaml.doc"The list of evidence that the GetEvidenceByEvidenceFolder API returned."];nextToken:Token.toption[@ocaml.doc"The pagination token that's used to fetch the next set of results."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?evidence=fun?nextToken->fun()->{evidence;nextToken}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))])))letto_valuex=structure_to_value[("evidence",(Option.mapx.evidence~f:EvidenceList.to_value));("nextToken",(Option.mapx.nextToken~f:Token.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:Token.of_xml)(Xml.childxml_arg0"nextToken")inletevidence=(Option.map~f:EvidenceList.of_xml)(Xml.childxml_arg0"evidence")inmake?nextToken?evidence()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"Token.of_jsoninletevidence=field_mapjson__"evidence"EvidenceList.of_jsoninmake?nextToken?evidence()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets all evidence from a specified evidence folder in Audit Manager."]moduleGetEvidenceByEvidenceFolderRequest=structtypenonrect={assessmentId:UUID.t[@ocaml.doc"The identifier for the assessment."];controlSetId:ControlSetId.t[@ocaml.doc"The identifier for the control set."];evidenceFolderId:UUID.t[@ocaml.doc"The unique identifier for the folder that the evidence is stored in."];nextToken:Token.toption[@ocaml.doc"The pagination token that's used to fetch the next set of results."];maxResults:MaxResults.toption[@ocaml.doc"Represents the maximum number of results on a page or for an API request call."]}letcontext_="GetEvidenceByEvidenceFolderRequest"letmake?nextToken=fun?maxResults->fun~assessmentId->fun~controlSetId->fun~evidenceFolderId->fun()->{nextToken;maxResults;assessmentId;controlSetId;evidenceFolderId}letto_valuex=structure_to_value[("assessmentId",(Some(UUID.to_valuex.assessmentId)));("controlSetId",(Some(ControlSetId.to_valuex.controlSetId)));("evidenceFolderId",(Some(UUID.to_valuex.evidenceFolderId)));("nextToken",(Option.mapx.nextToken~f:Token.to_value));("maxResults",(Option.mapx.maxResults~f:MaxResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:Token.of_xml)(Xml.childxml_arg0"nextToken")inletevidenceFolderId=UUID.of_xml(Xml.child_exn~context:context_xml_arg0"evidenceFolderId")inletcontrolSetId=ControlSetId.of_xml(Xml.child_exn~context:context_xml_arg0"controlSetId")inletassessmentId=UUID.of_xml(Xml.child_exn~context:context_xml_arg0"assessmentId")inmake?maxResults?nextToken~evidenceFolderId~controlSetId~assessmentId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"maxResults"MaxResults.of_jsoninletnextToken=field_mapjson__"nextToken"Token.of_jsoninletevidenceFolderId=field_map_exnjson__"evidenceFolderId"UUID.of_jsoninletcontrolSetId=field_map_exnjson__"controlSetId"ControlSetId.of_jsoninletassessmentId=field_map_exnjson__"assessmentId"UUID.of_jsoninmake?maxResults?nextToken~evidenceFolderId~controlSetId~assessmentId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets all evidence from a specified evidence folder in Audit Manager."]moduleGetDelegationsResponse=structtypenonrect={delegations:DelegationMetadataList.toption[@ocaml.doc"The list of delegations that the GetDelegations API returned."];nextToken:Token.toption[@ocaml.doc"The pagination token that's used to fetch the next set of results."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?delegations=fun?nextToken->fun()->{delegations;nextToken}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.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)|"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))]|`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[("delegations",(Option.mapx.delegations~f:DelegationMetadataList.to_value));("nextToken",(Option.mapx.nextToken~f:Token.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:Token.of_xml)(Xml.childxml_arg0"nextToken")inletdelegations=(Option.map~f:DelegationMetadataList.of_xml)(Xml.childxml_arg0"delegations")inmake?nextToken?delegations()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"Token.of_jsoninletdelegations=field_mapjson__"delegations"DelegationMetadataList.of_jsoninmake?nextToken?delegations()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets a list of delegations from an audit owner to a delegate."]moduleGetDelegationsRequest=structtypenonrect={nextToken:Token.toption[@ocaml.doc"The pagination token that's used to fetch the next set of results."];maxResults:MaxResults.toption[@ocaml.doc"Represents the maximum number of results on a page or for an API request call."]}letmake?nextToken=fun?maxResults->fun()->{nextToken;maxResults}letto_valuex=structure_to_value[("nextToken",(Option.mapx.nextToken~f:Token.to_value));("maxResults",(Option.mapx.maxResults~f:MaxResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:Token.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"MaxResults.of_jsoninletnextToken=field_mapjson__"nextToken"Token.of_jsoninmake?maxResults?nextToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets a list of delegations from an audit owner to a delegate."]moduleGetControlResponse=structtypenonrect={control:Control.toption[@ocaml.doc"The details of the control that the GetControl API returned."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?control=fun()->{control}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))])))letto_valuex=structure_to_value[("control",(Option.mapx.control~f:Control.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcontrol=(Option.map~f:Control.of_xml)(Xml.childxml_arg0"control")inmake?control()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcontrol=field_mapjson__"control"Control.of_jsoninmake?control()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets information about a specified control."]moduleGetControlRequest=structtypenonrect={controlId:UUID.t[@ocaml.doc"The identifier for the control."]}letcontext_="GetControlRequest"letmake~controlId=fun()->{controlId}letto_valuex=structure_to_value[("controlId",(Some(UUID.to_valuex.controlId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcontrolId=UUID.of_xml(Xml.child_exn~context:context_xml_arg0"controlId")inmake~controlId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcontrolId=field_map_exnjson__"controlId"UUID.of_jsoninmake~controlId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets information about a specified control."]moduleGetChangeLogsResponse=structtypenonrect={changeLogs:ChangeLogs.toption[@ocaml.doc"The list of user activity for the control."];nextToken:Token.toption[@ocaml.doc"The pagination token that's used to fetch the next set of results."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?changeLogs=fun?nextToken->fun()->{changeLogs;nextToken}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))])))letto_valuex=structure_to_value[("changeLogs",(Option.mapx.changeLogs~f:ChangeLogs.to_value));("nextToken",(Option.mapx.nextToken~f:Token.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:Token.of_xml)(Xml.childxml_arg0"nextToken")inletchangeLogs=(Option.map~f:ChangeLogs.of_xml)(Xml.childxml_arg0"changeLogs")inmake?nextToken?changeLogs()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"Token.of_jsoninletchangeLogs=field_mapjson__"changeLogs"ChangeLogs.of_jsoninmake?nextToken?changeLogs()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets a list of changelogs from Audit Manager."]moduleGetChangeLogsRequest=structtypenonrect={assessmentId:UUID.t[@ocaml.doc"The unique identifier for the assessment."];controlSetId:ControlSetId.toption[@ocaml.doc"The unique identifier for the control set."];controlId:UUID.toption[@ocaml.doc"The unique identifier for the control."];nextToken:Token.toption[@ocaml.doc"The pagination token that's used to fetch the next set of results."];maxResults:MaxResults.toption[@ocaml.doc"Represents the maximum number of results on a page or for an API request call."]}letcontext_="GetChangeLogsRequest"letmake?controlSetId=fun?controlId->fun?nextToken->fun?maxResults->fun~assessmentId->fun()->{controlSetId;controlId;nextToken;maxResults;assessmentId}letto_valuex=structure_to_value[("assessmentId",(Some(UUID.to_valuex.assessmentId)));("controlSetId",(Option.mapx.controlSetId~f:ControlSetId.to_value));("controlId",(Option.mapx.controlId~f:UUID.to_value));("nextToken",(Option.mapx.nextToken~f:Token.to_value));("maxResults",(Option.mapx.maxResults~f:MaxResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:Token.of_xml)(Xml.childxml_arg0"nextToken")inletcontrolId=(Option.map~f:UUID.of_xml)(Xml.childxml_arg0"controlId")inletcontrolSetId=(Option.map~f:ControlSetId.of_xml)(Xml.childxml_arg0"controlSetId")inletassessmentId=UUID.of_xml(Xml.child_exn~context:context_xml_arg0"assessmentId")inmake?maxResults?nextToken?controlId?controlSetId~assessmentId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"maxResults"MaxResults.of_jsoninletnextToken=field_mapjson__"nextToken"Token.of_jsoninletcontrolId=field_mapjson__"controlId"UUID.of_jsoninletcontrolSetId=field_mapjson__"controlSetId"ControlSetId.of_jsoninletassessmentId=field_map_exnjson__"assessmentId"UUID.of_jsoninmake?maxResults?nextToken?controlId?controlSetId~assessmentId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets a list of changelogs from Audit Manager."]moduleGetAssessmentResponse=structtypenonrect={assessment:Assessment.toption;userRole:Role.toption}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?assessment=fun?userRole->fun()->{assessment;userRole}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))])))letto_valuex=structure_to_value[("assessment",(Option.mapx.assessment~f:Assessment.to_value));("userRole",(Option.mapx.userRole~f:Role.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letuserRole=(Option.map~f:Role.of_xml)(Xml.childxml_arg0"userRole")inletassessment=(Option.map~f:Assessment.of_xml)(Xml.childxml_arg0"assessment")inmake?userRole?assessment()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letuserRole=field_mapjson__"userRole"Role.of_jsoninletassessment=field_mapjson__"assessment"Assessment.of_jsoninmake?userRole?assessment()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets information about a specified assessment."]moduleGetAssessmentRequest=structtypenonrect={assessmentId:UUID.t[@ocaml.doc"The unique identifier for the assessment."]}letcontext_="GetAssessmentRequest"letmake~assessmentId=fun()->{assessmentId}letto_valuex=structure_to_value[("assessmentId",(Some(UUID.to_valuex.assessmentId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letassessmentId=UUID.of_xml(Xml.child_exn~context:context_xml_arg0"assessmentId")inmake~assessmentId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letassessmentId=field_map_exnjson__"assessmentId"UUID.of_jsoninmake~assessmentId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets information about a specified assessment."]moduleGetAssessmentReportUrlResponse=structtypenonrect={preSignedUrl:URL.toption}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?preSignedUrl=fun()->{preSignedUrl}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))])))letto_valuex=structure_to_value[("preSignedUrl",(Option.mapx.preSignedUrl~f:URL.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letpreSignedUrl=(Option.map~f:URL.of_xml)(Xml.childxml_arg0"preSignedUrl")inmake?preSignedUrl()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letpreSignedUrl=field_mapjson__"preSignedUrl"URL.of_jsoninmake?preSignedUrl()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets the URL of an assessment report in Audit Manager."]moduleGetAssessmentReportUrlRequest=structtypenonrect={assessmentReportId:UUID.t[@ocaml.doc"The unique identifier for the assessment report."];assessmentId:UUID.t[@ocaml.doc"The unique identifier for the assessment."]}letcontext_="GetAssessmentReportUrlRequest"letmake~assessmentReportId=fun~assessmentId->fun()->{assessmentReportId;assessmentId}letto_valuex=structure_to_value[("assessmentReportId",(Some(UUID.to_valuex.assessmentReportId)));("assessmentId",(Some(UUID.to_valuex.assessmentId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letassessmentId=UUID.of_xml(Xml.child_exn~context:context_xml_arg0"assessmentId")inletassessmentReportId=UUID.of_xml(Xml.child_exn~context:context_xml_arg0"assessmentReportId")inmake~assessmentId~assessmentReportId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letassessmentId=field_map_exnjson__"assessmentId"UUID.of_jsoninletassessmentReportId=field_map_exnjson__"assessmentReportId"UUID.of_jsoninmake~assessmentId~assessmentReportId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets the URL of an assessment report in Audit Manager."]moduleGetAssessmentFrameworkResponse=structtypenonrect={framework:Framework.toption[@ocaml.doc"The framework that the GetAssessmentFramework API returned. The Controls object returns a partial response when called through Framework APIs. For a complete Controls object, use GetControl."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?framework=fun()->{framework}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))])))letto_valuex=structure_to_value[("framework",(Option.mapx.framework~f:Framework.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letframework=(Option.map~f:Framework.of_xml)(Xml.childxml_arg0"framework")inmake?framework()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letframework=field_mapjson__"framework"Framework.of_jsoninmake?framework()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets information about a specified framework."]moduleGetAssessmentFrameworkRequest=structtypenonrect={frameworkId:UUID.t[@ocaml.doc"The identifier for the framework."]}letcontext_="GetAssessmentFrameworkRequest"letmake~frameworkId=fun()->{frameworkId}letto_valuex=structure_to_value[("frameworkId",(Some(UUID.to_valuex.frameworkId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letframeworkId=UUID.of_xml(Xml.child_exn~context:context_xml_arg0"frameworkId")inmake~frameworkId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letframeworkId=field_map_exnjson__"frameworkId"UUID.of_jsoninmake~frameworkId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets information about a specified framework."]moduleGetAccountStatusResponse=structtypenonrect={status:AccountStatus.toption[@ocaml.doc"The status of the Amazon Web Services account."]}typenonrecerror=[`InternalServerExceptionofInternalServerException.t|`Unknown_operation_errorof(string*stringoption)]letmake?status=fun()->{status}leterror_of_jsonnamejson=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.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))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("status",(Option.mapx.status~f:AccountStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstatus=(Option.map~f:AccountStatus.of_xml)(Xml.childxml_arg0"status")inmake?status()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstatus=field_mapjson__"status"AccountStatus.of_jsoninmake?status()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets the registration status of an account in Audit Manager."]moduleGetAccountStatusRequest=structtypenonrect=unitletmake()=()letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets the registration status of an account in Audit Manager."]moduleDisassociateAssessmentReportEvidenceFolderResponse=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()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())[@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"Disassociates an evidence folder from the specified assessment report in Audit Manager."]moduleDisassociateAssessmentReportEvidenceFolderRequest=structtypenonrect={assessmentId:UUID.t[@ocaml.doc"The unique identifier for the assessment."];evidenceFolderId:UUID.t[@ocaml.doc"The unique identifier for the folder that the evidence is stored in."]}letcontext_="DisassociateAssessmentReportEvidenceFolderRequest"letmake~assessmentId=fun~evidenceFolderId->fun()->{assessmentId;evidenceFolderId}letto_valuex=structure_to_value[("assessmentId",(Some(UUID.to_valuex.assessmentId)));("evidenceFolderId",(Some(UUID.to_valuex.evidenceFolderId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letevidenceFolderId=UUID.of_xml(Xml.child_exn~context:context_xml_arg0"evidenceFolderId")inletassessmentId=UUID.of_xml(Xml.child_exn~context:context_xml_arg0"assessmentId")inmake~evidenceFolderId~assessmentId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letevidenceFolderId=field_map_exnjson__"evidenceFolderId"UUID.of_jsoninletassessmentId=field_map_exnjson__"assessmentId"UUID.of_jsoninmake~evidenceFolderId~assessmentId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Disassociates an evidence folder from the specified assessment report in Audit Manager."]moduleDeregisterOrganizationAdminAccountResponse=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()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())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Removes the specified Amazon Web Services account as a delegated administrator for Audit Manager. When you remove a delegated administrator from your Audit Manager settings, you continue to have access to the evidence that you previously collected under that account. This is also the case when you deregister a delegated administrator from Organizations. However, Audit Manager stops collecting and attaching evidence to that delegated administrator account moving forward. Keep in mind the following cleanup task if you use evidence finder: Before you use your management account to remove a delegated administrator, make sure that the current delegated administrator account signs in to Audit Manager and disables evidence finder first. Disabling evidence finder automatically deletes the event data store that was created in their account when they enabled evidence finder. If this task isn\226\128\153t completed, the event data store remains in their account. In this case, we recommend that the original delegated administrator goes to CloudTrail Lake and manually deletes the event data store. This cleanup task is necessary to ensure that you don't end up with multiple event data stores. Audit Manager ignores an unused event data store after you remove or change a delegated administrator account. However, the unused event data store continues to incur storage costs from CloudTrail Lake if you don't delete it. When you deregister a delegated administrator account for Audit Manager, the data for that account isn\226\128\153t deleted. If you want to delete resource data for a delegated administrator account, you must perform that task separately before you deregister the account. Either, you can do this in the Audit Manager console. Or, you can use one of the delete API operations that are provided by Audit Manager. To delete your Audit Manager resource data, see the following instructions: DeleteAssessment (see also: Deleting an assessment in the Audit Manager User Guide) DeleteAssessmentFramework (see also: Deleting a custom framework in the Audit Manager User Guide) DeleteAssessmentFrameworkShare (see also: Deleting a share request in the Audit Manager User Guide) DeleteAssessmentReport (see also: Deleting an assessment report in the Audit Manager User Guide) DeleteControl (see also: Deleting a custom control in the Audit Manager User Guide) At this time, Audit Manager doesn't provide an option to delete evidence for a specific delegated administrator. Instead, when your management account deregisters Audit Manager, we perform a cleanup for the current delegated administrator account at the time of deregistration."]moduleDeregisterOrganizationAdminAccountRequest=structtypenonrect={adminAccountId:AccountId.toption[@ocaml.doc"The identifier for the administrator account."]}letmake?adminAccountId=fun()->{adminAccountId}letto_valuex=structure_to_value[("adminAccountId",(Option.mapx.adminAccountId~f:AccountId.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letadminAccountId=(Option.map~f:AccountId.of_xml)(Xml.childxml_arg0"adminAccountId")inmake?adminAccountId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letadminAccountId=field_mapjson__"adminAccountId"AccountId.of_jsoninmake?adminAccountId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Removes the specified Amazon Web Services account as a delegated administrator for Audit Manager. When you remove a delegated administrator from your Audit Manager settings, you continue to have access to the evidence that you previously collected under that account. This is also the case when you deregister a delegated administrator from Organizations. However, Audit Manager stops collecting and attaching evidence to that delegated administrator account moving forward. Keep in mind the following cleanup task if you use evidence finder: Before you use your management account to remove a delegated administrator, make sure that the current delegated administrator account signs in to Audit Manager and disables evidence finder first. Disabling evidence finder automatically deletes the event data store that was created in their account when they enabled evidence finder. If this task isn\226\128\153t completed, the event data store remains in their account. In this case, we recommend that the original delegated administrator goes to CloudTrail Lake and manually deletes the event data store. This cleanup task is necessary to ensure that you don't end up with multiple event data stores. Audit Manager ignores an unused event data store after you remove or change a delegated administrator account. However, the unused event data store continues to incur storage costs from CloudTrail Lake if you don't delete it. When you deregister a delegated administrator account for Audit Manager, the data for that account isn\226\128\153t deleted. If you want to delete resource data for a delegated administrator account, you must perform that task separately before you deregister the account. Either, you can do this in the Audit Manager console. Or, you can use one of the delete API operations that are provided by Audit Manager. To delete your Audit Manager resource data, see the following instructions: DeleteAssessment (see also: Deleting an assessment in the Audit Manager User Guide) DeleteAssessmentFramework (see also: Deleting a custom framework in the Audit Manager User Guide) DeleteAssessmentFrameworkShare (see also: Deleting a share request in the Audit Manager User Guide) DeleteAssessmentReport (see also: Deleting an assessment report in the Audit Manager User Guide) DeleteControl (see also: Deleting a custom control in the Audit Manager User Guide) At this time, Audit Manager doesn't provide an option to delete evidence for a specific delegated administrator. Instead, when your management account deregisters Audit Manager, we perform a cleanup for the current delegated administrator account at the time of deregistration."]moduleDeregisterAccountResponse=structtypenonrect={status:AccountStatus.toption[@ocaml.doc"The registration status of the account."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?status=fun()->{status}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))])))letto_valuex=structure_to_value[("status",(Option.mapx.status~f:AccountStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstatus=(Option.map~f:AccountStatus.of_xml)(Xml.childxml_arg0"status")inmake?status()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstatus=field_mapjson__"status"AccountStatus.of_jsoninmake?status()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deregisters an account in Audit Manager. Before you deregister, you can use the UpdateSettings API operation to set your preferred data retention policy. By default, Audit Manager retains your data. If you want to delete your data, you can use the DeregistrationPolicy attribute to request the deletion of your data. For more information about data retention, see Data Protection in the Audit Manager User Guide."]moduleDeregisterAccountRequest=structtypenonrect=unitletmake()=()letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deregisters an account in Audit Manager. Before you deregister, you can use the UpdateSettings API operation to set your preferred data retention policy. By default, Audit Manager retains your data. If you want to delete your data, you can use the DeregistrationPolicy attribute to request the deletion of your data. For more information about data retention, see Data Protection in the Audit Manager User Guide."]moduleDeleteControlResponse=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()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())[@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 custom control in Audit Manager. When you invoke this operation, the custom control is deleted from any frameworks or assessments that it\226\128\153s currently part of. As a result, Audit Manager will stop collecting evidence for that custom control in all of your assessments. This includes assessments that you previously created before you deleted the custom control."]moduleDeleteControlRequest=structtypenonrect={controlId:UUID.t[@ocaml.doc"The unique identifier for the control."]}letcontext_="DeleteControlRequest"letmake~controlId=fun()->{controlId}letto_valuex=structure_to_value[("controlId",(Some(UUID.to_valuex.controlId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcontrolId=UUID.of_xml(Xml.child_exn~context:context_xml_arg0"controlId")inmake~controlId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcontrolId=field_map_exnjson__"controlId"UUID.of_jsoninmake~controlId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes a custom control in Audit Manager. When you invoke this operation, the custom control is deleted from any frameworks or assessments that it\226\128\153s currently part of. As a result, Audit Manager will stop collecting evidence for that custom control in all of your assessments. This includes assessments that you previously created before you deleted the custom control."]moduleDeleteAssessmentResponse=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()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())[@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 assessment in Audit Manager."]moduleDeleteAssessmentRequest=structtypenonrect={assessmentId:UUID.t[@ocaml.doc"The identifier for the assessment."]}letcontext_="DeleteAssessmentRequest"letmake~assessmentId=fun()->{assessmentId}letto_valuex=structure_to_value[("assessmentId",(Some(UUID.to_valuex.assessmentId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letassessmentId=UUID.of_xml(Xml.child_exn~context:context_xml_arg0"assessmentId")inmake~assessmentId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letassessmentId=field_map_exnjson__"assessmentId"UUID.of_jsoninmake~assessmentId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes an assessment in Audit Manager."]moduleDeleteAssessmentReportResponse=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()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())[@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 assessment report in Audit Manager. When you run the DeleteAssessmentReport operation, Audit Manager attempts to delete the following data: The specified assessment report that\226\128\153s stored in your S3 bucket The associated metadata that\226\128\153s stored in Audit Manager If Audit Manager can\226\128\153t access the assessment report in your S3 bucket, the report isn\226\128\153t deleted. In this event, the DeleteAssessmentReport operation doesn\226\128\153t fail. Instead, it proceeds to delete the associated metadata only. You must then delete the assessment report from the S3 bucket yourself. This scenario happens when Audit Manager receives a 403 (Forbidden) or 404 (Not Found) error from Amazon S3. To avoid this, make sure that your S3 bucket is available, and that you configured the correct permissions for Audit Manager to delete resources in your S3 bucket. For an example permissions policy that you can use, see Assessment report destination permissions in the Audit Manager User Guide. For information about the issues that could cause a 403 (Forbidden) or 404 (Not Found) error from Amazon S3, see List of Error Codes in the Amazon Simple Storage Service API Reference."]moduleDeleteAssessmentReportRequest=structtypenonrect={assessmentId:UUID.t[@ocaml.doc"The unique identifier for the assessment."];assessmentReportId:UUID.t[@ocaml.doc"The unique identifier for the assessment report."]}letcontext_="DeleteAssessmentReportRequest"letmake~assessmentId=fun~assessmentReportId->fun()->{assessmentId;assessmentReportId}letto_valuex=structure_to_value[("assessmentId",(Some(UUID.to_valuex.assessmentId)));("assessmentReportId",(Some(UUID.to_valuex.assessmentReportId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letassessmentReportId=UUID.of_xml(Xml.child_exn~context:context_xml_arg0"assessmentReportId")inletassessmentId=UUID.of_xml(Xml.child_exn~context:context_xml_arg0"assessmentId")inmake~assessmentReportId~assessmentId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letassessmentReportId=field_map_exnjson__"assessmentReportId"UUID.of_jsoninletassessmentId=field_map_exnjson__"assessmentId"UUID.of_jsoninmake~assessmentReportId~assessmentId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes an assessment report in Audit Manager. When you run the DeleteAssessmentReport operation, Audit Manager attempts to delete the following data: The specified assessment report that\226\128\153s stored in your S3 bucket The associated metadata that\226\128\153s stored in Audit Manager If Audit Manager can\226\128\153t access the assessment report in your S3 bucket, the report isn\226\128\153t deleted. In this event, the DeleteAssessmentReport operation doesn\226\128\153t fail. Instead, it proceeds to delete the associated metadata only. You must then delete the assessment report from the S3 bucket yourself. This scenario happens when Audit Manager receives a 403 (Forbidden) or 404 (Not Found) error from Amazon S3. To avoid this, make sure that your S3 bucket is available, and that you configured the correct permissions for Audit Manager to delete resources in your S3 bucket. For an example permissions policy that you can use, see Assessment report destination permissions in the Audit Manager User Guide. For information about the issues that could cause a 403 (Forbidden) or 404 (Not Found) error from Amazon S3, see List of Error Codes in the Amazon Simple Storage Service API Reference."]moduleDeleteAssessmentFrameworkShareResponse=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()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())[@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 share request for a custom framework in Audit Manager."]moduleDeleteAssessmentFrameworkShareRequest=structtypenonrect={requestId:UUID.t[@ocaml.doc"The unique identifier for the share request to be deleted."];requestType:ShareRequestType.t[@ocaml.doc"Specifies whether the share request is a sent request or a received request."]}letcontext_="DeleteAssessmentFrameworkShareRequest"letmake~requestId=fun~requestType->fun()->{requestId;requestType}letto_valuex=structure_to_value[("requestId",(Some(UUID.to_valuex.requestId)));("requestType",(Some(ShareRequestType.to_valuex.requestType)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letrequestType=ShareRequestType.of_xml(Xml.child_exn~context:context_xml_arg0"requestType")inletrequestId=UUID.of_xml(Xml.child_exn~context:context_xml_arg0"requestId")inmake~requestType~requestId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letrequestType=field_map_exnjson__"requestType"ShareRequestType.of_jsoninletrequestId=field_map_exnjson__"requestId"UUID.of_jsoninmake~requestType~requestId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes a share request for a custom framework in Audit Manager."]moduleDeleteAssessmentFrameworkResponse=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()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())[@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 custom framework in Audit Manager."]moduleDeleteAssessmentFrameworkRequest=structtypenonrect={frameworkId:UUID.t[@ocaml.doc"The identifier for the custom framework."]}letcontext_="DeleteAssessmentFrameworkRequest"letmake~frameworkId=fun()->{frameworkId}letto_valuex=structure_to_value[("frameworkId",(Some(UUID.to_valuex.frameworkId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letframeworkId=UUID.of_xml(Xml.child_exn~context:context_xml_arg0"frameworkId")inmake~frameworkId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letframeworkId=field_map_exnjson__"frameworkId"UUID.of_jsoninmake~frameworkId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes a custom framework in Audit Manager."]moduleCreateControlResponse=structtypenonrect={control:Control.toption[@ocaml.doc"The new control that the CreateControl API returned."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?control=fun()->{control}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.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)|"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))]|`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[("control",(Option.mapx.control~f:Control.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcontrol=(Option.map~f:Control.of_xml)(Xml.childxml_arg0"control")inmake?control()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcontrol=field_mapjson__"control"Control.of_jsoninmake?control()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a new custom control in Audit Manager."]moduleCreateControlRequest=structtypenonrect={name:ControlName.t[@ocaml.doc"The name of the control."];description:ControlDescription.toption[@ocaml.doc"The description of the control."];testingInformation:TestingInformation.toption[@ocaml.doc"The steps to follow to determine if the control is satisfied."];actionPlanTitle:ActionPlanTitle.toption[@ocaml.doc"The title of the action plan for remediating the control."];actionPlanInstructions:ActionPlanInstructions.toption[@ocaml.doc"The recommended actions to carry out if the control isn't fulfilled."];controlMappingSources:CreateControlMappingSources.t[@ocaml.doc"The data mapping sources for the control."];tags:TagMap.toption[@ocaml.doc"The tags that are associated with the control."]}letcontext_="CreateControlRequest"letmake?description=fun?testingInformation->fun?actionPlanTitle->fun?actionPlanInstructions->fun?tags->fun~name->fun~controlMappingSources->fun()->{description;testingInformation;actionPlanTitle;actionPlanInstructions;tags;name;controlMappingSources}letto_valuex=structure_to_value[("name",(Some(ControlName.to_valuex.name)));("description",(Option.mapx.description~f:ControlDescription.to_value));("testingInformation",(Option.mapx.testingInformation~f:TestingInformation.to_value));("actionPlanTitle",(Option.mapx.actionPlanTitle~f:ActionPlanTitle.to_value));("actionPlanInstructions",(Option.mapx.actionPlanInstructions~f:ActionPlanInstructions.to_value));("controlMappingSources",(Some(CreateControlMappingSources.to_valuex.controlMappingSources)));("tags",(Option.mapx.tags~f:TagMap.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettags=(Option.map~f:TagMap.of_xml)(Xml.childxml_arg0"tags")inletcontrolMappingSources=CreateControlMappingSources.of_xml(Xml.child_exn~context:context_xml_arg0"controlMappingSources")inletactionPlanInstructions=(Option.map~f:ActionPlanInstructions.of_xml)(Xml.childxml_arg0"actionPlanInstructions")inletactionPlanTitle=(Option.map~f:ActionPlanTitle.of_xml)(Xml.childxml_arg0"actionPlanTitle")inlettestingInformation=(Option.map~f:TestingInformation.of_xml)(Xml.childxml_arg0"testingInformation")inletdescription=(Option.map~f:ControlDescription.of_xml)(Xml.childxml_arg0"description")inletname=ControlName.of_xml(Xml.child_exn~context:context_xml_arg0"name")inmake?tags~controlMappingSources?actionPlanInstructions?actionPlanTitle?testingInformation?description~name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"tags"TagMap.of_jsoninletcontrolMappingSources=field_map_exnjson__"controlMappingSources"CreateControlMappingSources.of_jsoninletactionPlanInstructions=field_mapjson__"actionPlanInstructions"ActionPlanInstructions.of_jsoninletactionPlanTitle=field_mapjson__"actionPlanTitle"ActionPlanTitle.of_jsoninlettestingInformation=field_mapjson__"testingInformation"TestingInformation.of_jsoninletdescription=field_mapjson__"description"ControlDescription.of_jsoninletname=field_map_exnjson__"name"ControlName.of_jsoninmake?tags~controlMappingSources?actionPlanInstructions?actionPlanTitle?testingInformation?description~name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a new custom control in Audit Manager."]moduleCreateAssessmentResponse=structtypenonrect={assessment:Assessment.toption}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?assessment=fun()->{assessment}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("assessment",(Option.mapx.assessment~f:Assessment.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letassessment=(Option.map~f:Assessment.of_xml)(Xml.childxml_arg0"assessment")inmake?assessment()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letassessment=field_mapjson__"assessment"Assessment.of_jsoninmake?assessment()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates an assessment in Audit Manager."]moduleCreateAssessmentRequest=structtypenonrect={name:AssessmentName.t[@ocaml.doc"The name of the assessment to be created."];description:AssessmentDescription.toption[@ocaml.doc"The optional description of the assessment to be created."];assessmentReportsDestination:AssessmentReportsDestination.t[@ocaml.doc"The assessment report storage destination for the assessment that's being created."];scope:Scope.t;roles:Roles.t[@ocaml.doc"The list of roles for the assessment."];frameworkId:UUID.t[@ocaml.doc"The identifier for the framework that the assessment will be created from."];tags:TagMap.toption[@ocaml.doc"The tags that are associated with the assessment."]}letcontext_="CreateAssessmentRequest"letmake?description=fun?tags->fun~name->fun~assessmentReportsDestination->fun~scope->fun~roles->fun~frameworkId->fun()->{description;tags;name;assessmentReportsDestination;scope;roles;frameworkId}letto_valuex=structure_to_value[("name",(Some(AssessmentName.to_valuex.name)));("description",(Option.mapx.description~f:AssessmentDescription.to_value));("assessmentReportsDestination",(Some(AssessmentReportsDestination.to_valuex.assessmentReportsDestination)));("scope",(Some(Scope.to_valuex.scope)));("roles",(Some(Roles.to_valuex.roles)));("frameworkId",(Some(UUID.to_valuex.frameworkId)));("tags",(Option.mapx.tags~f:TagMap.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettags=(Option.map~f:TagMap.of_xml)(Xml.childxml_arg0"tags")inletframeworkId=UUID.of_xml(Xml.child_exn~context:context_xml_arg0"frameworkId")inletroles=Roles.of_xml(Xml.child_exn~context:context_xml_arg0"roles")inletscope=Scope.of_xml(Xml.child_exn~context:context_xml_arg0"scope")inletassessmentReportsDestination=AssessmentReportsDestination.of_xml(Xml.child_exn~context:context_xml_arg0"assessmentReportsDestination")inletdescription=(Option.map~f:AssessmentDescription.of_xml)(Xml.childxml_arg0"description")inletname=AssessmentName.of_xml(Xml.child_exn~context:context_xml_arg0"name")inmake?tags~frameworkId~roles~scope~assessmentReportsDestination?description~name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"tags"TagMap.of_jsoninletframeworkId=field_map_exnjson__"frameworkId"UUID.of_jsoninletroles=field_map_exnjson__"roles"Roles.of_jsoninletscope=field_map_exnjson__"scope"Scope.of_jsoninletassessmentReportsDestination=field_map_exnjson__"assessmentReportsDestination"AssessmentReportsDestination.of_jsoninletdescription=field_mapjson__"description"AssessmentDescription.of_jsoninletname=field_map_exnjson__"name"AssessmentName.of_jsoninmake?tags~frameworkId~roles~scope~assessmentReportsDestination?description~name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates an assessment in Audit Manager."]moduleCreateAssessmentReportResponse=structtypenonrect={assessmentReport:AssessmentReport.toption[@ocaml.doc"The new assessment report that the CreateAssessmentReport API returned."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?assessmentReport=fun()->{assessmentReport}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))])))letto_valuex=structure_to_value[("assessmentReport",(Option.mapx.assessmentReport~f:AssessmentReport.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letassessmentReport=(Option.map~f:AssessmentReport.of_xml)(Xml.childxml_arg0"assessmentReport")inmake?assessmentReport()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letassessmentReport=field_mapjson__"assessmentReport"AssessmentReport.of_jsoninmake?assessmentReport()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates an assessment report for the specified assessment."]moduleCreateAssessmentReportRequest=structtypenonrect={name:AssessmentReportName.t[@ocaml.doc"The name of the new assessment report."];description:AssessmentReportDescription.toption[@ocaml.doc"The description of the assessment report."];assessmentId:UUID.t[@ocaml.doc"The identifier for the assessment."];queryStatement:QueryStatement.toption[@ocaml.doc"A SQL statement that represents an evidence finder query. Provide this parameter when you want to generate an assessment report from the results of an evidence finder search query. When you use this parameter, Audit Manager generates a one-time report using only the evidence from the query output. This report does not include any assessment evidence that was manually added to a report using the console, or associated with a report using the API. To use this parameter, the enablementStatus of evidence finder must be ENABLED. For examples and help resolving queryStatement validation exceptions, see Troubleshooting evidence finder issues in the Audit Manager User Guide."]}letcontext_="CreateAssessmentReportRequest"letmake?description=fun?queryStatement->fun~name->fun~assessmentId->fun()->{description;queryStatement;name;assessmentId}letto_valuex=structure_to_value[("name",(Some(AssessmentReportName.to_valuex.name)));("description",(Option.mapx.description~f:AssessmentReportDescription.to_value));("assessmentId",(Some(UUID.to_valuex.assessmentId)));("queryStatement",(Option.mapx.queryStatement~f:QueryStatement.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letqueryStatement=(Option.map~f:QueryStatement.of_xml)(Xml.childxml_arg0"queryStatement")inletassessmentId=UUID.of_xml(Xml.child_exn~context:context_xml_arg0"assessmentId")inletdescription=(Option.map~f:AssessmentReportDescription.of_xml)(Xml.childxml_arg0"description")inletname=AssessmentReportName.of_xml(Xml.child_exn~context:context_xml_arg0"name")inmake?queryStatement~assessmentId?description~name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letqueryStatement=field_mapjson__"queryStatement"QueryStatement.of_jsoninletassessmentId=field_map_exnjson__"assessmentId"UUID.of_jsoninletdescription=field_mapjson__"description"AssessmentReportDescription.of_jsoninletname=field_map_exnjson__"name"AssessmentReportName.of_jsoninmake?queryStatement~assessmentId?description~name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates an assessment report for the specified assessment."]moduleCreateAssessmentFrameworkResponse=structtypenonrect={framework:Framework.toption[@ocaml.doc"The new framework object that the CreateAssessmentFramework API returned."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?framework=fun()->{framework}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.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)|"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))]|`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[("framework",(Option.mapx.framework~f:Framework.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letframework=(Option.map~f:Framework.of_xml)(Xml.childxml_arg0"framework")inmake?framework()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letframework=field_mapjson__"framework"Framework.of_jsoninmake?framework()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a custom framework in Audit Manager."]moduleCreateAssessmentFrameworkRequest=structtypenonrect={name:FrameworkName.t[@ocaml.doc"The name of the new custom framework."];description:FrameworkDescription.toption[@ocaml.doc"An optional description for the new custom framework."];complianceType:ComplianceType.toption[@ocaml.doc"The compliance type that the new custom framework supports, such as CIS or HIPAA."];controlSets:CreateAssessmentFrameworkControlSets.t[@ocaml.doc"The control sets that are associated with the framework. The Controls object returns a partial response when called through Framework APIs. For a complete Controls object, use GetControl."];tags:TagMap.toption[@ocaml.doc"The tags that are associated with the framework."]}letcontext_="CreateAssessmentFrameworkRequest"letmake?description=fun?complianceType->fun?tags->fun~name->fun~controlSets->fun()->{description;complianceType;tags;name;controlSets}letto_valuex=structure_to_value[("name",(Some(FrameworkName.to_valuex.name)));("description",(Option.mapx.description~f:FrameworkDescription.to_value));("complianceType",(Option.mapx.complianceType~f:ComplianceType.to_value));("controlSets",(Some(CreateAssessmentFrameworkControlSets.to_valuex.controlSets)));("tags",(Option.mapx.tags~f:TagMap.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettags=(Option.map~f:TagMap.of_xml)(Xml.childxml_arg0"tags")inletcontrolSets=CreateAssessmentFrameworkControlSets.of_xml(Xml.child_exn~context:context_xml_arg0"controlSets")inletcomplianceType=(Option.map~f:ComplianceType.of_xml)(Xml.childxml_arg0"complianceType")inletdescription=(Option.map~f:FrameworkDescription.of_xml)(Xml.childxml_arg0"description")inletname=FrameworkName.of_xml(Xml.child_exn~context:context_xml_arg0"name")inmake?tags~controlSets?complianceType?description~name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"tags"TagMap.of_jsoninletcontrolSets=field_map_exnjson__"controlSets"CreateAssessmentFrameworkControlSets.of_jsoninletcomplianceType=field_mapjson__"complianceType"ComplianceType.of_jsoninletdescription=field_mapjson__"description"FrameworkDescription.of_jsoninletname=field_map_exnjson__"name"FrameworkName.of_jsoninmake?tags~controlSets?complianceType?description~name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a custom framework in Audit Manager."]moduleBatchImportEvidenceToAssessmentControlResponse=structtypenonrect={errors:BatchImportEvidenceToAssessmentControlErrors.toption[@ocaml.doc"A list of errors that the BatchImportEvidenceToAssessmentControl API returned."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?errors=fun()->{errors}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("errors",(Option.mapx.errors~f:BatchImportEvidenceToAssessmentControlErrors.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=leterrors=(Option.map~f:BatchImportEvidenceToAssessmentControlErrors.of_xml)(Xml.childxml_arg0"errors")inmake?errors()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=leterrors=field_mapjson__"errors"BatchImportEvidenceToAssessmentControlErrors.of_jsoninmake?errors()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Adds one or more pieces of evidence to a control in an Audit Manager assessment. You can import manual evidence from any S3 bucket by specifying the S3 URI of the object. You can also upload a file from your browser, or enter plain text in response to a risk assessment question. The following restrictions apply to this action: manualEvidence can be only one of the following: evidenceFileName, s3ResourcePath, or textResponse Maximum size of an individual evidence file: 100 MB Number of daily manual evidence uploads per control: 100 Supported file formats: See Supported file types for manual evidence in the Audit Manager User Guide For more information about Audit Manager service restrictions, see Quotas and restrictions for Audit Manager."]moduleBatchImportEvidenceToAssessmentControlRequest=structtypenonrect={assessmentId:UUID.t[@ocaml.doc"The identifier for the assessment."];controlSetId:ControlSetId.t[@ocaml.doc"The identifier for the control set."];controlId:UUID.t[@ocaml.doc"The identifier for the control."];manualEvidence:ManualEvidenceList.t[@ocaml.doc"The list of manual evidence objects."]}letcontext_="BatchImportEvidenceToAssessmentControlRequest"letmake~assessmentId=fun~controlSetId->fun~controlId->fun~manualEvidence->fun()->{assessmentId;controlSetId;controlId;manualEvidence}letto_valuex=structure_to_value[("assessmentId",(Some(UUID.to_valuex.assessmentId)));("controlSetId",(Some(ControlSetId.to_valuex.controlSetId)));("controlId",(Some(UUID.to_valuex.controlId)));("manualEvidence",(Some(ManualEvidenceList.to_valuex.manualEvidence)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmanualEvidence=ManualEvidenceList.of_xml(Xml.child_exn~context:context_xml_arg0"manualEvidence")inletcontrolId=UUID.of_xml(Xml.child_exn~context:context_xml_arg0"controlId")inletcontrolSetId=ControlSetId.of_xml(Xml.child_exn~context:context_xml_arg0"controlSetId")inletassessmentId=UUID.of_xml(Xml.child_exn~context:context_xml_arg0"assessmentId")inmake~manualEvidence~controlId~controlSetId~assessmentId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmanualEvidence=field_map_exnjson__"manualEvidence"ManualEvidenceList.of_jsoninletcontrolId=field_map_exnjson__"controlId"UUID.of_jsoninletcontrolSetId=field_map_exnjson__"controlSetId"ControlSetId.of_jsoninletassessmentId=field_map_exnjson__"assessmentId"UUID.of_jsoninmake~manualEvidence~controlId~controlSetId~assessmentId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Adds one or more pieces of evidence to a control in an Audit Manager assessment. You can import manual evidence from any S3 bucket by specifying the S3 URI of the object. You can also upload a file from your browser, or enter plain text in response to a risk assessment question. The following restrictions apply to this action: manualEvidence can be only one of the following: evidenceFileName, s3ResourcePath, or textResponse Maximum size of an individual evidence file: 100 MB Number of daily manual evidence uploads per control: 100 Supported file formats: See Supported file types for manual evidence in the Audit Manager User Guide For more information about Audit Manager service restrictions, see Quotas and restrictions for Audit Manager."]moduleBatchDisassociateAssessmentReportEvidenceResponse=structtypenonrect={evidenceIds:EvidenceIds.toption[@ocaml.doc"The identifier for the evidence."];errors:AssessmentReportEvidenceErrors.toption[@ocaml.doc"A list of errors that the BatchDisassociateAssessmentReportEvidence API returned."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?evidenceIds=fun?errors->fun()->{evidenceIds;errors}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))])))letto_valuex=structure_to_value[("evidenceIds",(Option.mapx.evidenceIds~f:EvidenceIds.to_value));("errors",(Option.mapx.errors~f:AssessmentReportEvidenceErrors.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=leterrors=(Option.map~f:AssessmentReportEvidenceErrors.of_xml)(Xml.childxml_arg0"errors")inletevidenceIds=(Option.map~f:EvidenceIds.of_xml)(Xml.childxml_arg0"evidenceIds")inmake?errors?evidenceIds()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=leterrors=field_mapjson__"errors"AssessmentReportEvidenceErrors.of_jsoninletevidenceIds=field_mapjson__"evidenceIds"EvidenceIds.of_jsoninmake?errors?evidenceIds()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Disassociates a list of evidence from an assessment report in Audit Manager."]moduleBatchDisassociateAssessmentReportEvidenceRequest=structtypenonrect={assessmentId:UUID.t[@ocaml.doc"The identifier for the assessment."];evidenceFolderId:UUID.t[@ocaml.doc"The identifier for the folder that the evidence is stored in."];evidenceIds:EvidenceIds.t[@ocaml.doc"The list of evidence identifiers."]}letcontext_="BatchDisassociateAssessmentReportEvidenceRequest"letmake~assessmentId=fun~evidenceFolderId->fun~evidenceIds->fun()->{assessmentId;evidenceFolderId;evidenceIds}letto_valuex=structure_to_value[("assessmentId",(Some(UUID.to_valuex.assessmentId)));("evidenceFolderId",(Some(UUID.to_valuex.evidenceFolderId)));("evidenceIds",(Some(EvidenceIds.to_valuex.evidenceIds)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letevidenceIds=EvidenceIds.of_xml(Xml.child_exn~context:context_xml_arg0"evidenceIds")inletevidenceFolderId=UUID.of_xml(Xml.child_exn~context:context_xml_arg0"evidenceFolderId")inletassessmentId=UUID.of_xml(Xml.child_exn~context:context_xml_arg0"assessmentId")inmake~evidenceIds~evidenceFolderId~assessmentId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letevidenceIds=field_map_exnjson__"evidenceIds"EvidenceIds.of_jsoninletevidenceFolderId=field_map_exnjson__"evidenceFolderId"UUID.of_jsoninletassessmentId=field_map_exnjson__"assessmentId"UUID.of_jsoninmake~evidenceIds~evidenceFolderId~assessmentId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Disassociates a list of evidence from an assessment report in Audit Manager."]moduleBatchDeleteDelegationByAssessmentResponse=structtypenonrect={errors:BatchDeleteDelegationByAssessmentErrors.toption[@ocaml.doc"A list of errors that the BatchDeleteDelegationByAssessment API returned."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?errors=fun()->{errors}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))])))letto_valuex=structure_to_value[("errors",(Option.mapx.errors~f:BatchDeleteDelegationByAssessmentErrors.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=leterrors=(Option.map~f:BatchDeleteDelegationByAssessmentErrors.of_xml)(Xml.childxml_arg0"errors")inmake?errors()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=leterrors=field_mapjson__"errors"BatchDeleteDelegationByAssessmentErrors.of_jsoninmake?errors()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes a batch of delegations for an assessment in Audit Manager."]moduleBatchDeleteDelegationByAssessmentRequest=structtypenonrect={delegationIds:DelegationIds.t[@ocaml.doc"The identifiers for the delegations."];assessmentId:UUID.t[@ocaml.doc"The identifier for the assessment."]}letcontext_="BatchDeleteDelegationByAssessmentRequest"letmake~delegationIds=fun~assessmentId->fun()->{delegationIds;assessmentId}letto_valuex=structure_to_value[("delegationIds",(Some(DelegationIds.to_valuex.delegationIds)));("assessmentId",(Some(UUID.to_valuex.assessmentId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letassessmentId=UUID.of_xml(Xml.child_exn~context:context_xml_arg0"assessmentId")inletdelegationIds=DelegationIds.of_xml(Xml.child_exn~context:context_xml_arg0"delegationIds")inmake~assessmentId~delegationIds()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letassessmentId=field_map_exnjson__"assessmentId"UUID.of_jsoninletdelegationIds=field_map_exnjson__"delegationIds"DelegationIds.of_jsoninmake~assessmentId~delegationIds()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes a batch of delegations for an assessment in Audit Manager."]moduleBatchCreateDelegationByAssessmentResponse=structtypenonrect={delegations:Delegations.toption[@ocaml.doc"The delegations that are associated with the assessment."];errors:BatchCreateDelegationByAssessmentErrors.toption[@ocaml.doc"A list of errors that the BatchCreateDelegationByAssessment API returned."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?delegations=fun?errors->fun()->{delegations;errors}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))])))letto_valuex=structure_to_value[("delegations",(Option.mapx.delegations~f:Delegations.to_value));("errors",(Option.mapx.errors~f:BatchCreateDelegationByAssessmentErrors.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=leterrors=(Option.map~f:BatchCreateDelegationByAssessmentErrors.of_xml)(Xml.childxml_arg0"errors")inletdelegations=(Option.map~f:Delegations.of_xml)(Xml.childxml_arg0"delegations")inmake?errors?delegations()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=leterrors=field_mapjson__"errors"BatchCreateDelegationByAssessmentErrors.of_jsoninletdelegations=field_mapjson__"delegations"Delegations.of_jsoninmake?errors?delegations()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a batch of delegations for an assessment in Audit Manager."]moduleBatchCreateDelegationByAssessmentRequest=structtypenonrect={createDelegationRequests:CreateDelegationRequests.t[@ocaml.doc"The API request to batch create delegations in Audit Manager."];assessmentId:UUID.t[@ocaml.doc"The identifier for the assessment."]}letcontext_="BatchCreateDelegationByAssessmentRequest"letmake~createDelegationRequests=fun~assessmentId->fun()->{createDelegationRequests;assessmentId}letto_valuex=structure_to_value[("createDelegationRequests",(Some(CreateDelegationRequests.to_valuex.createDelegationRequests)));("assessmentId",(Some(UUID.to_valuex.assessmentId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letassessmentId=UUID.of_xml(Xml.child_exn~context:context_xml_arg0"assessmentId")inletcreateDelegationRequests=CreateDelegationRequests.of_xml(Xml.child_exn~context:context_xml_arg0"createDelegationRequests")inmake~assessmentId~createDelegationRequests()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letassessmentId=field_map_exnjson__"assessmentId"UUID.of_jsoninletcreateDelegationRequests=field_map_exnjson__"createDelegationRequests"CreateDelegationRequests.of_jsoninmake~assessmentId~createDelegationRequests()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a batch of delegations for an assessment in Audit Manager."]moduleBatchAssociateAssessmentReportEvidenceResponse=structtypenonrect={evidenceIds:EvidenceIds.toption[@ocaml.doc"The list of evidence identifiers."];errors:AssessmentReportEvidenceErrors.toption[@ocaml.doc"A list of errors that the BatchAssociateAssessmentReportEvidence API returned."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?evidenceIds=fun?errors->fun()->{evidenceIds;errors}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))])))letto_valuex=structure_to_value[("evidenceIds",(Option.mapx.evidenceIds~f:EvidenceIds.to_value));("errors",(Option.mapx.errors~f:AssessmentReportEvidenceErrors.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=leterrors=(Option.map~f:AssessmentReportEvidenceErrors.of_xml)(Xml.childxml_arg0"errors")inletevidenceIds=(Option.map~f:EvidenceIds.of_xml)(Xml.childxml_arg0"evidenceIds")inmake?errors?evidenceIds()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=leterrors=field_mapjson__"errors"AssessmentReportEvidenceErrors.of_jsoninletevidenceIds=field_mapjson__"evidenceIds"EvidenceIds.of_jsoninmake?errors?evidenceIds()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Associates a list of evidence to an assessment report in an Audit Manager assessment."]moduleBatchAssociateAssessmentReportEvidenceRequest=structtypenonrect={assessmentId:UUID.t[@ocaml.doc"The identifier for the assessment."];evidenceFolderId:UUID.t[@ocaml.doc"The identifier for the folder that the evidence is stored in."];evidenceIds:EvidenceIds.t[@ocaml.doc"The list of evidence identifiers."]}letcontext_="BatchAssociateAssessmentReportEvidenceRequest"letmake~assessmentId=fun~evidenceFolderId->fun~evidenceIds->fun()->{assessmentId;evidenceFolderId;evidenceIds}letto_valuex=structure_to_value[("assessmentId",(Some(UUID.to_valuex.assessmentId)));("evidenceFolderId",(Some(UUID.to_valuex.evidenceFolderId)));("evidenceIds",(Some(EvidenceIds.to_valuex.evidenceIds)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letevidenceIds=EvidenceIds.of_xml(Xml.child_exn~context:context_xml_arg0"evidenceIds")inletevidenceFolderId=UUID.of_xml(Xml.child_exn~context:context_xml_arg0"evidenceFolderId")inletassessmentId=UUID.of_xml(Xml.child_exn~context:context_xml_arg0"assessmentId")inmake~evidenceIds~evidenceFolderId~assessmentId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letevidenceIds=field_map_exnjson__"evidenceIds"EvidenceIds.of_jsoninletevidenceFolderId=field_map_exnjson__"evidenceFolderId"UUID.of_jsoninletassessmentId=field_map_exnjson__"assessmentId"UUID.of_jsoninmake~evidenceIds~evidenceFolderId~assessmentId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Associates a list of evidence to an assessment report in an Audit Manager assessment."]moduleAssociateAssessmentReportEvidenceFolderResponse=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()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())[@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"Associates an evidence folder to an assessment report in an Audit Manager assessment."]moduleAssociateAssessmentReportEvidenceFolderRequest=structtypenonrect={assessmentId:UUID.t[@ocaml.doc"The identifier for the assessment."];evidenceFolderId:UUID.t[@ocaml.doc"The identifier for the folder that the evidence is stored in."]}letcontext_="AssociateAssessmentReportEvidenceFolderRequest"letmake~assessmentId=fun~evidenceFolderId->fun()->{assessmentId;evidenceFolderId}letto_valuex=structure_to_value[("assessmentId",(Some(UUID.to_valuex.assessmentId)));("evidenceFolderId",(Some(UUID.to_valuex.evidenceFolderId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letevidenceFolderId=UUID.of_xml(Xml.child_exn~context:context_xml_arg0"evidenceFolderId")inletassessmentId=UUID.of_xml(Xml.child_exn~context:context_xml_arg0"assessmentId")inmake~evidenceFolderId~assessmentId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letevidenceFolderId=field_map_exnjson__"evidenceFolderId"UUID.of_jsoninletassessmentId=field_map_exnjson__"assessmentId"UUID.of_jsoninmake~evidenceFolderId~assessmentId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Associates an evidence folder to an assessment report in an Audit Manager assessment."]