1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127131281312913130131311313213133131341313513136131371313813139131401314113142131431314413145131461314713148131491315013151131521315313154131551315613157131581315913160131611316213163131641316513166131671316813169131701317113172131731317413175131761317713178131791318013181131821318313184131851318613187131881318913190131911319213193131941319513196131971319813199132001320113202132031320413205132061320713208132091321013211132121321313214132151321613217132181321913220132211322213223132241322513226132271322813229132301323113232132331323413235132361323713238132391324013241132421324313244132451324613247132481324913250132511325213253132541325513256132571325813259132601326113262132631326413265132661326713268132691327013271132721327313274132751327613277132781327913280132811328213283132841328513286132871328813289132901329113292132931329413295132961329713298132991330013301133021330313304133051330613307133081330913310133111331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333013331133321333313334133351333613337133381333913340133411334213343133441334513346133471334813349133501335113352133531335413355133561335713358133591336013361133621336313364133651336613367133681336913370133711337213373133741337513376133771337813379133801338113382133831338413385133861338713388133891339013391133921339313394133951339613397133981339913400134011340213403134041340513406134071340813409134101341113412134131341413415134161341713418134191342013421134221342313424134251342613427134281342913430134311343213433134341343513436134371343813439134401344113442134431344413445134461344713448134491345013451134521345313454134551345613457134581345913460134611346213463134641346513466134671346813469134701347113472134731347413475134761347713478134791348013481134821348313484134851348613487134881348913490134911349213493134941349513496134971349813499135001350113502135031350413505135061350713508135091351013511135121351313514135151351613517135181351913520135211352213523135241352513526135271352813529135301353113532135331353413535135361353713538135391354013541135421354313544135451354613547135481354913550135511355213553135541355513556135571355813559135601356113562135631356413565135661356713568135691357013571135721357313574135751357613577135781357913580135811358213583135841358513586135871358813589135901359113592135931359413595135961359713598135991360013601136021360313604136051360613607136081360913610136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136291363013631136321363313634136351363613637136381363913640136411364213643136441364513646136471364813649136501365113652136531365413655136561365713658136591366013661136621366313664136651366613667136681366913670136711367213673136741367513676136771367813679136801368113682136831368413685136861368713688136891369013691136921369313694136951369613697136981369913700137011370213703137041370513706137071370813709137101371113712137131371413715137161371713718137191372013721137221372313724137251372613727137281372913730137311373213733137341373513736137371373813739137401374113742137431374413745137461374713748137491375013751137521375313754137551375613757137581375913760137611376213763137641376513766137671376813769137701377113772137731377413775137761377713778137791378013781137821378313784137851378613787137881378913790137911379213793137941379513796137971379813799138001380113802138031380413805138061380713808138091381013811138121381313814138151381613817138181381913820138211382213823138241382513826138271382813829138301383113832138331383413835138361383713838138391384013841138421384313844138451384613847138481384913850138511385213853138541385513856138571385813859138601386113862138631386413865138661386713868138691387013871138721387313874138751387613877138781387913880138811388213883138841388513886138871388813889138901389113892138931389413895138961389713898138991390013901139021390313904139051390613907139081390913910139111391213913139141391513916139171391813919139201392113922139231392413925139261392713928139291393013931139321393313934139351393613937139381393913940139411394213943139441394513946139471394813949139501395113952139531395413955139561395713958139591396013961139621396313964139651396613967139681396913970139711397213973139741397513976139771397813979139801398113982139831398413985139861398713988139891399013991139921399313994139951399613997139981399914000140011400214003140041400514006140071400814009140101401114012140131401414015140161401714018140191402014021140221402314024140251402614027140281402914030140311403214033140341403514036140371403814039140401404114042140431404414045140461404714048140491405014051140521405314054140551405614057140581405914060140611406214063140641406514066140671406814069140701407114072140731407414075140761407714078140791408014081140821408314084140851408614087140881408914090140911409214093140941409514096140971409814099141001410114102141031410414105141061410714108141091411014111141121411314114141151411614117141181411914120141211412214123141241412514126141271412814129141301413114132141331413414135141361413714138141391414014141141421414314144141451414614147141481414914150141511415214153141541415514156141571415814159141601416114162141631416414165141661416714168141691417014171141721417314174141751417614177141781417914180141811418214183141841418514186141871418814189141901419114192141931419414195141961419714198141991420014201142021420314204142051420614207142081420914210142111421214213142141421514216142171421814219142201422114222142231422414225142261422714228142291423014231142321423314234142351423614237142381423914240142411424214243142441424514246142471424814249142501425114252142531425414255142561425714258142591426014261142621426314264142651426614267142681426914270142711427214273142741427514276142771427814279142801428114282142831428414285142861428714288142891429014291142921429314294142951429614297142981429914300143011430214303143041430514306143071430814309143101431114312143131431414315143161431714318143191432014321143221432314324143251432614327143281432914330143311433214333143341433514336143371433814339143401434114342143431434414345143461434714348143491435014351143521435314354143551435614357143581435914360143611436214363143641436514366143671436814369143701437114372143731437414375143761437714378143791438014381143821438314384143851438614387143881438914390143911439214393143941439514396143971439814399144001440114402144031440414405144061440714408144091441014411144121441314414144151441614417144181441914420144211442214423144241442514426144271442814429144301443114432144331443414435144361443714438144391444014441144421444314444144451444614447144481444914450144511445214453144541445514456144571445814459144601446114462144631446414465144661446714468144691447014471144721447314474144751447614477144781447914480144811448214483144841448514486144871448814489144901449114492144931449414495144961449714498144991450014501145021450314504145051450614507145081450914510145111451214513145141451514516145171451814519145201452114522145231452414525145261452714528145291453014531145321453314534145351453614537145381453914540145411454214543145441454514546145471454814549145501455114552145531455414555145561455714558145591456014561145621456314564145651456614567145681456914570145711457214573145741457514576145771457814579145801458114582145831458414585145861458714588145891459014591145921459314594145951459614597145981459914600146011460214603146041460514606146071460814609146101461114612146131461414615146161461714618146191462014621146221462314624146251462614627146281462914630146311463214633146341463514636146371463814639146401464114642146431464414645146461464714648146491465014651146521465314654146551465614657146581465914660146611466214663146641466514666146671466814669146701467114672146731467414675146761467714678146791468014681146821468314684146851468614687146881468914690146911469214693146941469514696146971469814699147001470114702147031470414705147061470714708147091471014711147121471314714147151471614717147181471914720147211472214723147241472514726147271472814729147301473114732147331473414735147361473714738147391474014741147421474314744147451474614747147481474914750147511475214753147541475514756147571475814759147601476114762147631476414765147661476714768147691477014771147721477314774147751477614777147781477914780147811478214783147841478514786147871478814789147901479114792147931479414795147961479714798147991480014801148021480314804148051480614807148081480914810148111481214813148141481514816148171481814819148201482114822148231482414825148261482714828148291483014831148321483314834148351483614837148381483914840148411484214843148441484514846148471484814849148501485114852148531485414855148561485714858148591486014861148621486314864148651486614867148681486914870148711487214873148741487514876148771487814879148801488114882148831488414885148861488714888148891489014891148921489314894148951489614897148981489914900149011490214903149041490514906149071490814909149101491114912149131491414915149161491714918149191492014921149221492314924149251492614927149281492914930149311493214933149341493514936149371493814939149401494114942149431494414945149461494714948149491495014951149521495314954149551495614957149581495914960149611496214963149641496514966149671496814969149701497114972149731497414975149761497714978149791498014981149821498314984149851498614987149881498914990149911499214993149941499514996149971499814999150001500115002150031500415005150061500715008150091501015011150121501315014150151501615017150181501915020150211502215023150241502515026150271502815029150301503115032150331503415035150361503715038150391504015041150421504315044150451504615047150481504915050150511505215053150541505515056150571505815059150601506115062150631506415065150661506715068150691507015071150721507315074150751507615077150781507915080150811508215083150841508515086150871508815089150901509115092150931509415095150961509715098150991510015101151021510315104151051510615107151081510915110151111511215113151141511515116151171511815119151201512115122151231512415125151261512715128151291513015131151321513315134151351513615137151381513915140151411514215143151441514515146151471514815149151501515115152151531515415155151561515715158151591516015161151621516315164151651516615167151681516915170151711517215173151741517515176151771517815179151801518115182151831518415185151861518715188151891519015191151921519315194151951519615197151981519915200152011520215203152041520515206152071520815209152101521115212152131521415215152161521715218152191522015221152221522315224152251522615227152281522915230152311523215233152341523515236152371523815239152401524115242152431524415245152461524715248152491525015251152521525315254152551525615257152581525915260152611526215263152641526515266152671526815269152701527115272152731527415275152761527715278152791528015281152821528315284152851528615287152881528915290152911529215293152941529515296152971529815299153001530115302153031530415305153061530715308153091531015311153121531315314153151531615317153181531915320153211532215323153241532515326153271532815329153301533115332153331533415335153361533715338153391534015341153421534315344153451534615347153481534915350153511535215353153541535515356153571535815359153601536115362153631536415365153661536715368153691537015371153721537315374153751537615377153781537915380153811538215383153841538515386153871538815389153901539115392153931539415395153961539715398153991540015401154021540315404154051540615407154081540915410154111541215413154141541515416154171541815419154201542115422154231542415425154261542715428154291543015431154321543315434154351543615437154381543915440154411544215443154441544515446154471544815449154501545115452154531545415455154561545715458154591546015461154621546315464154651546615467154681546915470154711547215473154741547515476154771547815479154801548115482154831548415485154861548715488154891549015491154921549315494154951549615497154981549915500155011550215503155041550515506155071550815509155101551115512155131551415515155161551715518155191552015521155221552315524155251552615527155281552915530155311553215533155341553515536155371553815539155401554115542155431554415545155461554715548155491555015551155521555315554155551555615557155581555915560155611556215563155641556515566155671556815569155701557115572155731557415575155761557715578155791558015581155821558315584155851558615587155881558915590155911559215593155941559515596155971559815599156001560115602156031560415605156061560715608156091561015611156121561315614156151561615617156181561915620156211562215623156241562515626156271562815629156301563115632156331563415635156361563715638156391564015641156421564315644156451564615647156481564915650156511565215653156541565515656156571565815659156601566115662156631566415665156661566715668156691567015671156721567315674156751567615677156781567915680156811568215683156841568515686156871568815689156901569115692156931569415695156961569715698156991570015701157021570315704157051570615707157081570915710157111571215713157141571515716157171571815719157201572115722157231572415725157261572715728157291573015731157321573315734157351573615737157381573915740157411574215743157441574515746157471574815749157501575115752157531575415755157561575715758157591576015761157621576315764157651576615767157681576915770157711577215773157741577515776157771577815779157801578115782157831578415785157861578715788157891579015791157921579315794157951579615797157981579915800158011580215803158041580515806158071580815809158101581115812158131581415815158161581715818158191582015821158221582315824158251582615827158281582915830158311583215833158341583515836158371583815839158401584115842158431584415845158461584715848158491585015851158521585315854158551585615857158581585915860158611586215863158641586515866158671586815869158701587115872158731587415875158761587715878158791588015881158821588315884158851588615887158881588915890158911589215893158941589515896158971589815899159001590115902159031590415905159061590715908159091591015911159121591315914159151591615917159181591915920159211592215923159241592515926159271592815929159301593115932159331593415935159361593715938159391594015941159421594315944159451594615947159481594915950159511595215953159541595515956159571595815959159601596115962159631596415965159661596715968159691597015971159721597315974159751597615977159781597915980159811598215983159841598515986159871598815989159901599115992159931599415995159961599715998159991600016001160021600316004160051600616007160081600916010160111601216013160141601516016160171601816019160201602116022160231602416025160261602716028160291603016031160321603316034160351603616037160381603916040160411604216043160441604516046160471604816049160501605116052160531605416055160561605716058160591606016061160621606316064160651606616067160681606916070160711607216073160741607516076160771607816079160801608116082160831608416085160861608716088160891609016091160921609316094160951609616097160981609916100161011610216103161041610516106161071610816109161101611116112161131611416115161161611716118161191612016121161221612316124161251612616127161281612916130161311613216133161341613516136161371613816139161401614116142161431614416145161461614716148161491615016151161521615316154161551615616157161581615916160161611616216163161641616516166161671616816169161701617116172161731617416175161761617716178161791618016181161821618316184161851618616187161881618916190161911619216193161941619516196161971619816199162001620116202162031620416205162061620716208162091621016211162121621316214162151621616217162181621916220162211622216223162241622516226162271622816229162301623116232162331623416235162361623716238162391624016241162421624316244162451624616247162481624916250162511625216253162541625516256162571625816259162601626116262162631626416265162661626716268162691627016271162721627316274162751627616277162781627916280162811628216283162841628516286162871628816289162901629116292162931629416295162961629716298162991630016301163021630316304163051630616307163081630916310163111631216313163141631516316163171631816319163201632116322163231632416325163261632716328163291633016331163321633316334163351633616337163381633916340163411634216343163441634516346163471634816349163501635116352163531635416355163561635716358163591636016361163621636316364163651636616367(* 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.frauddetectorletapiVersion="2019-11-15"letendpointPrefix="frauddetector"letserviceFullName="Amazon Fraud Detector"letsignatureVersion="v4"letprotocol="json"letglobalEndpoint=endpointPrefix^".amazonaws.com"lettargetPrefix="AWSHawksNestServiceFacade"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[]))])moduleString_=structtypenonrect=stringletcontext_="string"letmakei=iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"string"jletto_json=simple_to_jsonto_valueendmoduleListOfStrings=structtypenonrect=String_.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:String_.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:String_.of_xml)letof_jsonj=list_of_json~kind:"ListOfStrings"~of_json:String_.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleFloat_=structtypenonrect=floatletmakei=iletof_string=Float.of_stringletto_valuex=`Floatxletto_queryv=to_queryto_valuevletto_headerx=Stdlib.Float.to_stringxletof_xmlxml_arg0=Float.of_string(string_of_xml~kind:"a float"xml_arg0)letof_jsonj=float_of_json~kind:"a float"jletto_json=simple_to_jsonto_valueendmoduleAggregatedVariablesImpactExplanation=structtypenonrect={eventVariableNames:ListOfStrings.toption[@ocaml.doc"The names of all the event variables that were used to derive the aggregated variables."];relativeImpact:String_.toption[@ocaml.doc"The relative impact of the aggregated variables in terms of magnitude on the prediction scores."];logOddsImpact:Float_.toption[@ocaml.doc"The raw, uninterpreted value represented as log-odds of the fraud. These values are usually between -10 to +10, but range from -infinity to +infinity. A positive value indicates that the variables drove the risk score up. A negative value indicates that the variables drove the risk score down."]}letmake?eventVariableNames=fun?relativeImpact->fun?logOddsImpact->fun()->{eventVariableNames;relativeImpact;logOddsImpact}letto_valuex=structure_to_value[("eventVariableNames",(Option.mapx.eventVariableNames~f:ListOfStrings.to_value));("relativeImpact",(Option.mapx.relativeImpact~f:String_.to_value));("logOddsImpact",(Option.mapx.logOddsImpact~f:Float_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlogOddsImpact=(Option.map~f:Float_.of_xml)(Xml.childxml_arg0"logOddsImpact")inletrelativeImpact=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"relativeImpact")inleteventVariableNames=(Option.map~f:ListOfStrings.of_xml)(Xml.childxml_arg0"eventVariableNames")inmake?logOddsImpact?relativeImpact?eventVariableNames()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlogOddsImpact=field_mapjson__"logOddsImpact"Float_.of_jsoninletrelativeImpact=field_mapjson__"relativeImpact"String_.of_jsoninleteventVariableNames=field_mapjson__"eventVariableNames"ListOfStrings.of_jsoninmake?logOddsImpact?relativeImpact?eventVariableNames()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The details of the impact of aggregated variables on the prediction score. Account Takeover Insights (ATI) model uses the login data you provide to continuously calculate a set of variables (aggregated variables) based on historical events. For example, the model might calculate the number of times an user has logged in using the same IP address. In this case, event variables used to derive the aggregated variables are IP address and user."]moduleVariableImpactExplanation=structtypenonrect={eventVariableName:String_.toption[@ocaml.doc"The event variable name."];relativeImpact:String_.toption[@ocaml.doc"The event variable's relative impact in terms of magnitude on the prediction scores. The relative impact values consist of a numerical rating (0-5, 5 being the highest) and direction (increased/decreased) impact of the fraud risk."];logOddsImpact:Float_.toption[@ocaml.doc"The raw, uninterpreted value represented as log-odds of the fraud. These values are usually between -10 to +10, but range from - infinity to + infinity. A positive value indicates that the variable drove the risk score up. A negative value indicates that the variable drove the risk score down."]}letmake?eventVariableName=fun?relativeImpact->fun?logOddsImpact->fun()->{eventVariableName;relativeImpact;logOddsImpact}letto_valuex=structure_to_value[("eventVariableName",(Option.mapx.eventVariableName~f:String_.to_value));("relativeImpact",(Option.mapx.relativeImpact~f:String_.to_value));("logOddsImpact",(Option.mapx.logOddsImpact~f:Float_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlogOddsImpact=(Option.map~f:Float_.of_xml)(Xml.childxml_arg0"logOddsImpact")inletrelativeImpact=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"relativeImpact")inleteventVariableName=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"eventVariableName")inmake?logOddsImpact?relativeImpact?eventVariableName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlogOddsImpact=field_mapjson__"logOddsImpact"Float_.of_jsoninletrelativeImpact=field_mapjson__"relativeImpact"String_.of_jsoninleteventVariableName=field_mapjson__"eventVariableName"String_.of_jsoninmake?logOddsImpact?relativeImpact?eventVariableName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The details of the event variable's impact on the prediction score."]moduleATIMetricDataPoint=structtypenonrect={cr:Float_.toption[@ocaml.doc"The challenge rate. This indicates the percentage of login events that the model recommends to challenge such as one-time password, multi-factor authentication, and investigations."];adr:Float_.toption[@ocaml.doc"The anomaly discovery rate. This metric quantifies the percentage of anomalies that can be detected by the model at the selected score threshold. A lower score threshold increases the percentage of anomalies captured by the model, but would also require challenging a larger percentage of login events, leading to a higher customer friction."];threshold:Float_.toption[@ocaml.doc"The model's threshold that specifies an acceptable fraud capture rate. For example, a threshold of 500 means any model score 500 or above is labeled as fraud."];atodr:Float_.toption[@ocaml.doc"The account takeover discovery rate. This metric quantifies the percentage of account compromise events that can be detected by the model at the selected score threshold. This metric is only available if 50 or more entities with at-least one labeled account takeover event is present in the ingested dataset."]}letmake?cr=fun?adr->fun?threshold->fun?atodr->fun()->{cr;adr;threshold;atodr}letto_valuex=structure_to_value[("cr",(Option.mapx.cr~f:Float_.to_value));("adr",(Option.mapx.adr~f:Float_.to_value));("threshold",(Option.mapx.threshold~f:Float_.to_value));("atodr",(Option.mapx.atodr~f:Float_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letatodr=(Option.map~f:Float_.of_xml)(Xml.childxml_arg0"atodr")inletthreshold=(Option.map~f:Float_.of_xml)(Xml.childxml_arg0"threshold")inletadr=(Option.map~f:Float_.of_xml)(Xml.childxml_arg0"adr")inletcr=(Option.map~f:Float_.of_xml)(Xml.childxml_arg0"cr")inmake?atodr?threshold?adr?cr()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letatodr=field_mapjson__"atodr"Float_.of_jsoninletthreshold=field_mapjson__"threshold"Float_.of_jsoninletadr=field_mapjson__"adr"Float_.of_jsoninletcr=field_mapjson__"cr"Float_.of_jsoninmake?atodr?threshold?adr?cr()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The Account Takeover Insights (ATI) model performance metrics data points."]moduleOFIMetricDataPoint=structtypenonrect={fpr:Float_.toption[@ocaml.doc"The false positive rate. This is the percentage of total legitimate events that are incorrectly predicted as fraud."];precision:Float_.toption[@ocaml.doc"The percentage of fraud events correctly predicted as fraudulent as compared to all events predicted as fraudulent."];tpr:Float_.toption[@ocaml.doc"The true positive rate. This is the percentage of total fraud the model detects. Also known as capture rate."];threshold:Float_.toption[@ocaml.doc"The model threshold that specifies an acceptable fraud capture rate. For example, a threshold of 500 means any model score 500 or above is labeled as fraud."]}letmake?fpr=fun?precision->fun?tpr->fun?threshold->fun()->{fpr;precision;tpr;threshold}letto_valuex=structure_to_value[("fpr",(Option.mapx.fpr~f:Float_.to_value));("precision",(Option.mapx.precision~f:Float_.to_value));("tpr",(Option.mapx.tpr~f:Float_.to_value));("threshold",(Option.mapx.threshold~f:Float_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letthreshold=(Option.map~f:Float_.of_xml)(Xml.childxml_arg0"threshold")inlettpr=(Option.map~f:Float_.of_xml)(Xml.childxml_arg0"tpr")inletprecision=(Option.map~f:Float_.of_xml)(Xml.childxml_arg0"precision")inletfpr=(Option.map~f:Float_.of_xml)(Xml.childxml_arg0"fpr")inmake?threshold?tpr?precision?fpr()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letthreshold=field_mapjson__"threshold"Float_.of_jsoninlettpr=field_mapjson__"tpr"Float_.of_jsoninletprecision=field_mapjson__"precision"Float_.of_jsoninletfpr=field_mapjson__"fpr"Float_.of_jsoninmake?threshold?tpr?precision?fpr()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The Online Fraud Insights (OFI) model performance metrics data points."]moduleUncertaintyRange=structtypenonrect={lowerBoundValue:Float_.toption[@ocaml.doc"The lower bound value of the area under curve (auc)."];upperBoundValue:Float_.toption[@ocaml.doc"The upper bound value of the area under curve (auc)."]}letmake?lowerBoundValue=fun?upperBoundValue->fun()->{lowerBoundValue;upperBoundValue}letto_valuex=structure_to_value[("lowerBoundValue",(Option.mapx.lowerBoundValue~f:Float_.to_value));("upperBoundValue",(Option.mapx.upperBoundValue~f:Float_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letupperBoundValue=(Option.map~f:Float_.of_xml)(Xml.childxml_arg0"upperBoundValue")inletlowerBoundValue=(Option.map~f:Float_.of_xml)(Xml.childxml_arg0"lowerBoundValue")inmake?upperBoundValue?lowerBoundValue()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letupperBoundValue=field_mapjson__"upperBoundValue"Float_.of_jsoninletlowerBoundValue=field_mapjson__"lowerBoundValue"Float_.of_jsoninmake?upperBoundValue?lowerBoundValue()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Range of area under curve (auc) expected from the model. A range greater than 0.1 indicates higher model uncertainity. A range is the difference between upper and lower bound of auc."]moduleTFIMetricDataPoint=structtypenonrect={fpr:Float_.toption[@ocaml.doc"The false positive rate. This is the percentage of total legitimate events that are incorrectly predicted as fraud."];precision:Float_.toption[@ocaml.doc"The percentage of fraud events correctly predicted as fraudulent as compared to all events predicted as fraudulent."];tpr:Float_.toption[@ocaml.doc"The true positive rate. This is the percentage of total fraud the model detects. Also known as capture rate."];threshold:Float_.toption[@ocaml.doc"The model threshold that specifies an acceptable fraud capture rate. For example, a threshold of 500 means any model score 500 or above is labeled as fraud."]}letmake?fpr=fun?precision->fun?tpr->fun?threshold->fun()->{fpr;precision;tpr;threshold}letto_valuex=structure_to_value[("fpr",(Option.mapx.fpr~f:Float_.to_value));("precision",(Option.mapx.precision~f:Float_.to_value));("tpr",(Option.mapx.tpr~f:Float_.to_value));("threshold",(Option.mapx.threshold~f:Float_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letthreshold=(Option.map~f:Float_.of_xml)(Xml.childxml_arg0"threshold")inlettpr=(Option.map~f:Float_.of_xml)(Xml.childxml_arg0"tpr")inletprecision=(Option.map~f:Float_.of_xml)(Xml.childxml_arg0"precision")inletfpr=(Option.map~f:Float_.of_xml)(Xml.childxml_arg0"fpr")inmake?threshold?tpr?precision?fpr()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letthreshold=field_mapjson__"threshold"Float_.of_jsoninlettpr=field_mapjson__"tpr"Float_.of_jsoninletprecision=field_mapjson__"precision"Float_.of_jsoninletfpr=field_mapjson__"fpr"Float_.of_jsoninmake?threshold?tpr?precision?fpr()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The performance metrics data points for Transaction Fraud Insights (TFI) model."]moduleListOfAggregatedVariablesImpactExplanations=structtypenonrect=AggregatedVariablesImpactExplanation.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:AggregatedVariablesImpactExplanation.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:AggregatedVariablesImpactExplanation.of_xml)letof_jsonj=list_of_json~kind:"ListOfAggregatedVariablesImpactExplanations"~of_json:AggregatedVariablesImpactExplanation.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleListOfVariableImpactExplanations=structtypenonrect=VariableImpactExplanation.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:VariableImpactExplanation.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:VariableImpactExplanation.of_xml)letof_jsonj=list_of_json~kind:"listOfVariableImpactExplanations"~of_json:VariableImpactExplanation.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleFieldValidationMessage=structtypenonrect={fieldName:String_.toption[@ocaml.doc"The field name."];identifier:String_.toption[@ocaml.doc"The message ID."];title:String_.toption[@ocaml.doc"The message title."];content:String_.toption[@ocaml.doc"The message content."];type_:String_.toption[@ocaml.doc"The message type."]}letmake?fieldName=fun?identifier->fun?title->fun?content->fun?type_->fun()->{fieldName;identifier;title;content;type_}letto_valuex=structure_to_value[("fieldName",(Option.mapx.fieldName~f:String_.to_value));("identifier",(Option.mapx.identifier~f:String_.to_value));("title",(Option.mapx.title~f:String_.to_value));("content",(Option.mapx.content~f:String_.to_value));("type",(Option.mapx.type_~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettype_=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"type")inletcontent=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"content")inlettitle=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"title")inletidentifier=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"identifier")inletfieldName=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"fieldName")inmake?type_?content?title?identifier?fieldName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettype_=field_mapjson__"type"String_.of_jsoninletcontent=field_mapjson__"content"String_.of_jsoninlettitle=field_mapjson__"title"String_.of_jsoninletidentifier=field_mapjson__"identifier"String_.of_jsoninletfieldName=field_mapjson__"fieldName"String_.of_jsoninmake?type_?content?title?identifier?fieldName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The message details."]moduleFileValidationMessage=structtypenonrect={title:String_.toption[@ocaml.doc"The message title."];content:String_.toption[@ocaml.doc"The message content."];type_:String_.toption[@ocaml.doc"The message type."]}letmake?title=fun?content->fun?type_->fun()->{title;content;type_}letto_valuex=structure_to_value[("title",(Option.mapx.title~f:String_.to_value));("content",(Option.mapx.content~f:String_.to_value));("type",(Option.mapx.type_~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettype_=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"type")inletcontent=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"content")inlettitle=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"title")inmake?type_?content?title()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettype_=field_mapjson__"type"String_.of_jsoninletcontent=field_mapjson__"content"String_.of_jsoninlettitle=field_mapjson__"title"String_.of_jsoninmake?type_?content?title()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The message details."]moduleMetricDataPoint=structtypenonrect={fpr:Float_.toption[@ocaml.doc"The false positive rate. This is the percentage of total legitimate events that are incorrectly predicted as fraud."];precision:Float_.toption[@ocaml.doc"The percentage of fraud events correctly predicted as fraudulent as compared to all events predicted as fraudulent."];tpr:Float_.toption[@ocaml.doc"The true positive rate. This is the percentage of total fraud the model detects. Also known as capture rate."];threshold:Float_.toption[@ocaml.doc"The model threshold that specifies an acceptable fraud capture rate. For example, a threshold of 500 means any model score 500 or above is labeled as fraud."]}letmake?fpr=fun?precision->fun?tpr->fun?threshold->fun()->{fpr;precision;tpr;threshold}letto_valuex=structure_to_value[("fpr",(Option.mapx.fpr~f:Float_.to_value));("precision",(Option.mapx.precision~f:Float_.to_value));("tpr",(Option.mapx.tpr~f:Float_.to_value));("threshold",(Option.mapx.threshold~f:Float_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letthreshold=(Option.map~f:Float_.of_xml)(Xml.childxml_arg0"threshold")inlettpr=(Option.map~f:Float_.of_xml)(Xml.childxml_arg0"tpr")inletprecision=(Option.map~f:Float_.of_xml)(Xml.childxml_arg0"precision")inletfpr=(Option.map~f:Float_.of_xml)(Xml.childxml_arg0"fpr")inmake?threshold?tpr?precision?fpr()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letthreshold=field_mapjson__"threshold"Float_.of_jsoninlettpr=field_mapjson__"tpr"Float_.of_jsoninletprecision=field_mapjson__"precision"Float_.of_jsoninletfpr=field_mapjson__"fpr"Float_.of_jsoninmake?threshold?tpr?precision?fpr()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Model performance metrics data points."]moduleLogOddsMetric=structtypenonrect={variableName:String_.toption[@ocaml.doc"The name of the variable."];variableType:String_.toption[@ocaml.doc"The type of variable."];variableImportance:Float_.toption[@ocaml.doc"The relative importance of the variable. For more information, see Model variable importance."]}letmake?variableName=fun?variableType->fun?variableImportance->fun()->{variableName;variableType;variableImportance}letto_valuex=structure_to_value[("variableName",(Option.mapx.variableName~f:String_.to_value));("variableType",(Option.mapx.variableType~f:String_.to_value));("variableImportance",(Option.mapx.variableImportance~f:Float_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvariableImportance=(Option.map~f:Float_.of_xml)(Xml.childxml_arg0"variableImportance")inletvariableType=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"variableType")inletvariableName=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"variableName")inmake?variableImportance?variableType?variableName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvariableImportance=field_mapjson__"variableImportance"Float_.of_jsoninletvariableType=field_mapjson__"variableType"String_.of_jsoninletvariableName=field_mapjson__"variableName"String_.of_jsoninmake?variableImportance?variableType?variableName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The log odds metric details."]moduleAggregatedLogOddsMetric=structtypenonrect={variableNames:ListOfStrings.toption[@ocaml.doc"The names of all the variables."];aggregatedVariablesImportance:Float_.toption[@ocaml.doc"The relative importance of the variables in the list to the other event variable."]}letmake?variableNames=fun?aggregatedVariablesImportance->fun()->{variableNames;aggregatedVariablesImportance}letto_valuex=structure_to_value[("variableNames",(Option.mapx.variableNames~f:ListOfStrings.to_value));("aggregatedVariablesImportance",(Option.mapx.aggregatedVariablesImportance~f:Float_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letaggregatedVariablesImportance=(Option.map~f:Float_.of_xml)(Xml.childxml_arg0"aggregatedVariablesImportance")inletvariableNames=(Option.map~f:ListOfStrings.of_xml)(Xml.childxml_arg0"variableNames")inmake?aggregatedVariablesImportance?variableNames()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letaggregatedVariablesImportance=field_mapjson__"aggregatedVariablesImportance"Float_.of_jsoninletvariableNames=field_mapjson__"variableNames"ListOfStrings.of_jsoninmake?aggregatedVariablesImportance?variableNames()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The log odds metric details. Account Takeover Insights (ATI) model uses event variables from the login data you provide to continuously calculate a set of variables (aggregated variables) based on historical events. For example, your ATI model might calculate the number of times an user has logged in using the same IP address. In this case, event variables used to derive the aggregated variables are IP address and user."]moduleATIMetricDataPointsList=structtypenonrect=ATIMetricDataPoint.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ATIMetricDataPoint.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:ATIMetricDataPoint.of_xml)letof_jsonj=list_of_json~kind:"ATIMetricDataPointsList"~of_json:ATIMetricDataPoint.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleATIModelPerformance=structtypenonrect={asi:Float_.toption[@ocaml.doc"The anomaly separation index (ASI) score. This metric summarizes the overall ability of the model to separate anomalous activities from the normal behavior. Depending on the business, a large fraction of these anomalous activities can be malicious and correspond to the account takeover attacks. A model with no separability power will have the lowest possible ASI score of 0.5, whereas the a model with a high separability power will have the highest possible ASI score of 1.0"]}letmake?asi=fun()->{asi}letto_valuex=structure_to_value[("asi",(Option.mapx.asi~f:Float_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letasi=(Option.map~f:Float_.of_xml)(Xml.childxml_arg0"asi")inmake?asi()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letasi=field_mapjson__"asi"Float_.of_jsoninmake?asi()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The Account Takeover Insights (ATI) model performance score."]moduleOFIMetricDataPointsList=structtypenonrect=OFIMetricDataPoint.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:OFIMetricDataPoint.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:OFIMetricDataPoint.of_xml)letof_jsonj=list_of_json~kind:"OFIMetricDataPointsList"~of_json:OFIMetricDataPoint.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleOFIModelPerformance=structtypenonrect={auc:Float_.toption[@ocaml.doc"The area under the curve (auc). This summarizes the total positive rate (tpr) and false positive rate (FPR) across all possible model score thresholds."];uncertaintyRange:UncertaintyRange.toption[@ocaml.doc"Indicates the range of area under curve (auc) expected from the OFI model. A range greater than 0.1 indicates higher model uncertainity."]}letmake?auc=fun?uncertaintyRange->fun()->{auc;uncertaintyRange}letto_valuex=structure_to_value[("auc",(Option.mapx.auc~f:Float_.to_value));("uncertaintyRange",(Option.mapx.uncertaintyRange~f:UncertaintyRange.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letuncertaintyRange=(Option.map~f:UncertaintyRange.of_xml)(Xml.childxml_arg0"uncertaintyRange")inletauc=(Option.map~f:Float_.of_xml)(Xml.childxml_arg0"auc")inmake?uncertaintyRange?auc()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letuncertaintyRange=field_mapjson__"uncertaintyRange"UncertaintyRange.of_jsoninletauc=field_mapjson__"auc"Float_.of_jsoninmake?uncertaintyRange?auc()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The Online Fraud Insights (OFI) model performance score."]moduleTFIMetricDataPointsList=structtypenonrect=TFIMetricDataPoint.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:TFIMetricDataPoint.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:TFIMetricDataPoint.of_xml)letof_jsonj=list_of_json~kind:"TFIMetricDataPointsList"~of_json:TFIMetricDataPoint.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleTFIModelPerformance=structtypenonrect={auc:Float_.toption[@ocaml.doc"The area under the curve (auc). This summarizes the total positive rate (tpr) and false positive rate (FPR) across all possible model score thresholds."];uncertaintyRange:UncertaintyRange.toption[@ocaml.doc"Indicates the range of area under curve (auc) expected from the TFI model. A range greater than 0.1 indicates higher model uncertainity."]}letmake?auc=fun?uncertaintyRange->fun()->{auc;uncertaintyRange}letto_valuex=structure_to_value[("auc",(Option.mapx.auc~f:Float_.to_value));("uncertaintyRange",(Option.mapx.uncertaintyRange~f:UncertaintyRange.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letuncertaintyRange=(Option.map~f:UncertaintyRange.of_xml)(Xml.childxml_arg0"uncertaintyRange")inletauc=(Option.map~f:Float_.of_xml)(Xml.childxml_arg0"auc")inmake?uncertaintyRange?auc()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letuncertaintyRange=field_mapjson__"uncertaintyRange"UncertaintyRange.of_jsoninletauc=field_mapjson__"auc"Float_.of_jsoninmake?uncertaintyRange?auc()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The Transaction Fraud Insights (TFI) model performance score."]modulePredictionExplanations=structtypenonrect={variableImpactExplanations:ListOfVariableImpactExplanations.toption[@ocaml.doc"The details of the event variable's impact on the prediction score."];aggregatedVariablesImpactExplanations:ListOfAggregatedVariablesImpactExplanations.toption[@ocaml.doc"The details of the aggregated variables impact on the prediction score. Account Takeover Insights (ATI) model uses event variables from the login data you provide to continuously calculate a set of variables (aggregated variables) based on historical events. For example, your ATI model might calculate the number of times an user has logged in using the same IP address. In this case, event variables used to derive the aggregated variables are IP address and user."]}letmake?variableImpactExplanations=fun?aggregatedVariablesImpactExplanations->fun()->{variableImpactExplanations;aggregatedVariablesImpactExplanations}letto_valuex=structure_to_value[("variableImpactExplanations",(Option.mapx.variableImpactExplanations~f:ListOfVariableImpactExplanations.to_value));("aggregatedVariablesImpactExplanations",(Option.mapx.aggregatedVariablesImpactExplanations~f:ListOfAggregatedVariablesImpactExplanations.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letaggregatedVariablesImpactExplanations=(Option.map~f:ListOfAggregatedVariablesImpactExplanations.of_xml)(Xml.childxml_arg0"aggregatedVariablesImpactExplanations")inletvariableImpactExplanations=(Option.map~f:ListOfVariableImpactExplanations.of_xml)(Xml.childxml_arg0"variableImpactExplanations")inmake?aggregatedVariablesImpactExplanations?variableImpactExplanations()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letaggregatedVariablesImpactExplanations=field_mapjson__"aggregatedVariablesImpactExplanations"ListOfAggregatedVariablesImpactExplanations.of_jsoninletvariableImpactExplanations=field_mapjson__"variableImpactExplanations"ListOfVariableImpactExplanations.of_jsoninmake?aggregatedVariablesImpactExplanations?variableImpactExplanations()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The prediction explanations that provide insight into how each event variable impacted the model version's fraud prediction score."]moduleTime=structtypenonrect=stringletcontext_="time"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:30)>>=(fun()->check_string_mini~min:11));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"time"jletto_json=simple_to_jsonto_valueendmoduleUnlabeledEventsTreatment=structtypenonrect=|IGNORE|FRAUD|LEGIT|AUTO|Non_static_idofstringletmakei=iletto_string=function|IGNORE->"IGNORE"|FRAUD->"FRAUD"|LEGIT->"LEGIT"|AUTO->"AUTO"|Non_static_ids->sletof_string=function|"IGNORE"->IGNORE|"FRAUD"->FRAUD|"LEGIT"->LEGIT|"AUTO"->AUTO|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 UnlabeledEventsTreatment"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"UnlabeledEventsTreatment"j)letto_json=simple_to_jsonto_valueendmoduleLabelMapper=structtypenonrect=(String_.t*ListOfStrings.t)listletmakei=iletof_headerxs=make(List.filter_mapxs~f:(fun(k,v)->(Base.String.chop_prefixk~prefix:"x-amz-meta-")|>(Option.map~f:(funchopped->let(_:string)=vinlet(_:string)=choppedinfailwith"no of_header for complex types string ListOfStrings"))))letto_valuexs=(xs|>(List.map~f:(fun(x,y)->(String_.to_valuex)|>(funx->(ListOfStrings.to_valuey)|>(funy->(x,y))))))|>(funx->`Mapx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for Map_shape objects"()letof_xml_=failwith"of_xml_converter_of_shape: Map_shape case not implemented"letof_jsonj=object_of_json~key_of_string:String_.of_string~of_json:ListOfStrings.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleFieldValidationMessageList=structtypenonrect=FieldValidationMessage.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:FieldValidationMessage.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:FieldValidationMessage.of_xml)letof_jsonj=list_of_json~kind:"fieldValidationMessageList"~of_json:FieldValidationMessage.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleFileValidationMessageList=structtypenonrect=FileValidationMessage.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:FileValidationMessage.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:FileValidationMessage.of_xml)letof_jsonj=list_of_json~kind:"fileValidationMessageList"~of_json:FileValidationMessage.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleMetricDataPointsList=structtypenonrect=MetricDataPoint.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:MetricDataPoint.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:MetricDataPoint.of_xml)letof_jsonj=list_of_json~kind:"metricDataPointsList"~of_json:MetricDataPoint.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleListOfLogOddsMetrics=structtypenonrect=LogOddsMetric.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:LogOddsMetric.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:LogOddsMetric.of_xml)letof_jsonj=list_of_json~kind:"ListOfLogOddsMetrics"~of_json:LogOddsMetric.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleListOfAggregatedLogOddsMetrics=structtypenonrect=AggregatedLogOddsMetric.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:AggregatedLogOddsMetric.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:AggregatedLogOddsMetric.of_xml)letof_jsonj=list_of_json~kind:"ListOfAggregatedLogOddsMetrics"~of_json:AggregatedLogOddsMetric.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleATITrainingMetricsValue=structtypenonrect={metricDataPoints:ATIMetricDataPointsList.toption[@ocaml.doc"The model's performance metrics data points."];modelPerformance:ATIModelPerformance.toption[@ocaml.doc"The model's overall performance scores."]}letmake?metricDataPoints=fun?modelPerformance->fun()->{metricDataPoints;modelPerformance}letto_valuex=structure_to_value[("metricDataPoints",(Option.mapx.metricDataPoints~f:ATIMetricDataPointsList.to_value));("modelPerformance",(Option.mapx.modelPerformance~f:ATIModelPerformance.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmodelPerformance=(Option.map~f:ATIModelPerformance.of_xml)(Xml.childxml_arg0"modelPerformance")inletmetricDataPoints=(Option.map~f:ATIMetricDataPointsList.of_xml)(Xml.childxml_arg0"metricDataPoints")inmake?modelPerformance?metricDataPoints()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmodelPerformance=field_mapjson__"modelPerformance"ATIModelPerformance.of_jsoninletmetricDataPoints=field_mapjson__"metricDataPoints"ATIMetricDataPointsList.of_jsoninmake?modelPerformance?metricDataPoints()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The Account Takeover Insights (ATI) model training metric details."]moduleOFITrainingMetricsValue=structtypenonrect={metricDataPoints:OFIMetricDataPointsList.toption[@ocaml.doc"The model's performance metrics data points."];modelPerformance:OFIModelPerformance.toption[@ocaml.doc"The model's overall performance score."]}letmake?metricDataPoints=fun?modelPerformance->fun()->{metricDataPoints;modelPerformance}letto_valuex=structure_to_value[("metricDataPoints",(Option.mapx.metricDataPoints~f:OFIMetricDataPointsList.to_value));("modelPerformance",(Option.mapx.modelPerformance~f:OFIModelPerformance.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmodelPerformance=(Option.map~f:OFIModelPerformance.of_xml)(Xml.childxml_arg0"modelPerformance")inletmetricDataPoints=(Option.map~f:OFIMetricDataPointsList.of_xml)(Xml.childxml_arg0"metricDataPoints")inmake?modelPerformance?metricDataPoints()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmodelPerformance=field_mapjson__"modelPerformance"OFIModelPerformance.of_jsoninletmetricDataPoints=field_mapjson__"metricDataPoints"OFIMetricDataPointsList.of_jsoninmake?modelPerformance?metricDataPoints()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The Online Fraud Insights (OFI) model training metric details."]moduleTFITrainingMetricsValue=structtypenonrect={metricDataPoints:TFIMetricDataPointsList.toption[@ocaml.doc"The model's performance metrics data points."];modelPerformance:TFIModelPerformance.toption[@ocaml.doc"The model performance score."]}letmake?metricDataPoints=fun?modelPerformance->fun()->{metricDataPoints;modelPerformance}letto_valuex=structure_to_value[("metricDataPoints",(Option.mapx.metricDataPoints~f:TFIMetricDataPointsList.to_value));("modelPerformance",(Option.mapx.modelPerformance~f:TFIModelPerformance.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmodelPerformance=(Option.map~f:TFIModelPerformance.of_xml)(Xml.childxml_arg0"modelPerformance")inletmetricDataPoints=(Option.map~f:TFIMetricDataPointsList.of_xml)(Xml.childxml_arg0"metricDataPoints")inmake?modelPerformance?metricDataPoints()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmodelPerformance=field_mapjson__"modelPerformance"TFIModelPerformance.of_jsoninletmetricDataPoints=field_mapjson__"metricDataPoints"TFIMetricDataPointsList.of_jsoninmake?modelPerformance?metricDataPoints()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The Transaction Fraud Insights (TFI) model training metric details."]moduleModelInputDataFormat=structtypenonrect=|TEXT_CSV|APPLICATION_JSON|Non_static_idofstringletmakei=iletto_string=function|TEXT_CSV->"TEXT_CSV"|APPLICATION_JSON->"APPLICATION_JSON"|Non_static_ids->sletof_string=function|"TEXT_CSV"->TEXT_CSV|"APPLICATION_JSON"->APPLICATION_JSON|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 ModelInputDataFormat"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ModelInputDataFormat"j)letto_json=simple_to_jsonto_valueendmoduleUseEventVariables=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_valueendmoduleIdentifier=structtypenonrect=stringletcontext_="identifier"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:64)>>=(fun()->check_patterni~pattern:"^[0-9a-z_-]+$")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"identifier"jletto_json=simple_to_jsonto_valueendmoduleModelInputTemplate=structtypenonrect=stringletcontext_="modelInputTemplate"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:2000)>>=(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:"modelInputTemplate"jletto_json=simple_to_jsonto_valueendmoduleCsvIndexToVariableMap=structtypenonrect=(String_.t*String_.t)listletmakei=iletof_headerxs=make(List.filter_mapxs~f:(fun(k,v)->(Base.String.chop_prefixk~prefix:"x-amz-meta-")|>(Option.map~f:(funchopped->((String_.of_stringchopped),(String_.of_stringv))))))letto_valuexs=(xs|>(List.map~f:(fun(x,y)->(String_.to_valuex)|>(funx->(String_.to_valuey)|>(funy->(x,y))))))|>(funx->`Mapx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for Map_shape objects"()letof_xml_=failwith"of_xml_converter_of_shape: Map_shape case not implemented"letof_jsonj=object_of_json~key_of_string:String_.of_string~of_json:String_.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleJsonKeyToVariableMap=structtypenonrect=(String_.t*String_.t)listletmakei=iletof_headerxs=make(List.filter_mapxs~f:(fun(k,v)->(Base.String.chop_prefixk~prefix:"x-amz-meta-")|>(Option.map~f:(funchopped->((String_.of_stringchopped),(String_.of_stringv))))))letto_valuexs=(xs|>(List.map~f:(fun(x,y)->(String_.to_valuex)|>(funx->(String_.to_valuey)|>(funy->(x,y))))))|>(funx->`Mapx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for Map_shape objects"()letof_xml_=failwith"of_xml_converter_of_shape: Map_shape case not implemented"letof_jsonj=object_of_json~key_of_string:String_.of_string~of_json:String_.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleModelOutputDataFormat=structtypenonrect=|TEXT_CSV|APPLICATION_JSONLINES|Non_static_idofstringletmakei=iletto_string=function|TEXT_CSV->"TEXT_CSV"|APPLICATION_JSONLINES->"APPLICATION_JSONLINES"|Non_static_ids->sletof_string=function|"TEXT_CSV"->TEXT_CSV|"APPLICATION_JSONLINES"->APPLICATION_JSONLINES|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 ModelOutputDataFormat"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ModelOutputDataFormat"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_valueendmoduleLong=structtypenonrect=Int64.tletmakei=iletof_string=Int64.of_stringletto_valuex=`Longxletto_queryv=to_queryto_valuevletto_headerx=Int64.to_stringxletof_xmlxml_arg0=Int64.of_string(string_of_xml~kind:"a long"xml_arg0)letof_jsonj=Int64.of_float(float_of_json~kind:"a long"j)letto_json=simple_to_jsonto_valueendmoduleEntityRestrictedString=structtypenonrect=stringletcontext_="entityRestrictedString"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:256)>>=(fun()->check_patterni~pattern:"^[0-9A-Za-z_.@+-]+$")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"entityRestrictedString"jletto_json=simple_to_jsonto_valueendmoduleModelSource=structtypenonrect=|SAGEMAKER|Non_static_idofstringletmakei=iletto_string=function|SAGEMAKER->"SAGEMAKER"|Non_static_ids->sletof_string=function|"SAGEMAKER"->SAGEMAKER|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 ModelSource"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ModelSource"j)letto_json=simple_to_jsonto_valueendmoduleModelTypeEnum=structtypenonrect=|ONLINE_FRAUD_INSIGHTS|TRANSACTION_FRAUD_INSIGHTS|ACCOUNT_TAKEOVER_INSIGHTS|Non_static_idofstringletmakei=iletto_string=function|ONLINE_FRAUD_INSIGHTS->"ONLINE_FRAUD_INSIGHTS"|TRANSACTION_FRAUD_INSIGHTS->"TRANSACTION_FRAUD_INSIGHTS"|ACCOUNT_TAKEOVER_INSIGHTS->"ACCOUNT_TAKEOVER_INSIGHTS"|Non_static_ids->sletof_string=function|"ONLINE_FRAUD_INSIGHTS"->ONLINE_FRAUD_INSIGHTS|"TRANSACTION_FRAUD_INSIGHTS"->TRANSACTION_FRAUD_INSIGHTS|"ACCOUNT_TAKEOVER_INSIGHTS"->ACCOUNT_TAKEOVER_INSIGHTS|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 ModelTypeEnum"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ModelTypeEnum"j)letto_json=simple_to_jsonto_valueendmoduleFloatVersionString=structtypenonrect=stringletcontext_="floatVersionString"letmakei=letopenResultinok_or_failwith((check_string_mini~min:3)>>=(fun()->(check_string_maxi~max:7)>>=(fun()->check_patterni~pattern:"^[1-9][0-9]{0,3}\\.[0-9]{1,2}$")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"floatVersionString"jletto_json=simple_to_jsonto_valueendmoduleFraudDetectorArn=structtypenonrect=stringletcontext_="fraudDetectorArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:256)>>=(fun()->check_patterni~pattern:"^arn\\:aws[a-z-]{0,15}\\:frauddetector\\:[a-z0-9-]{3,20}\\:[0-9]{12}\\:[^\\s]{2,128}$")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"fraudDetectorArn"jletto_json=simple_to_jsonto_valueendmoduleModelIdentifier=structtypenonrect=stringletcontext_="modelIdentifier"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:64)>>=(fun()->check_patterni~pattern:"^[0-9a-z_]+$")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"modelIdentifier"jletto_json=simple_to_jsonto_valueendmoduleModelVersionEvaluation=structtypenonrect={outputVariableName:String_.toption[@ocaml.doc"The output variable name."];evaluationScore:String_.toption[@ocaml.doc"The evaluation score generated for the model version."];predictionExplanations:PredictionExplanations.toption[@ocaml.doc"The prediction explanations generated for the model version."]}letmake?outputVariableName=fun?evaluationScore->fun?predictionExplanations->fun()->{outputVariableName;evaluationScore;predictionExplanations}letto_valuex=structure_to_value[("outputVariableName",(Option.mapx.outputVariableName~f:String_.to_value));("evaluationScore",(Option.mapx.evaluationScore~f:String_.to_value));("predictionExplanations",(Option.mapx.predictionExplanations~f:PredictionExplanations.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letpredictionExplanations=(Option.map~f:PredictionExplanations.of_xml)(Xml.childxml_arg0"predictionExplanations")inletevaluationScore=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"evaluationScore")inletoutputVariableName=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"outputVariableName")inmake?predictionExplanations?evaluationScore?outputVariableName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letpredictionExplanations=field_mapjson__"predictionExplanations"PredictionExplanations.of_jsoninletevaluationScore=field_mapjson__"evaluationScore"String_.of_jsoninletoutputVariableName=field_mapjson__"outputVariableName"String_.of_jsoninmake?predictionExplanations?evaluationScore?outputVariableName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The model version evalutions."]moduleIamRoleArn=structtypenonrect=stringletcontext_="iamRoleArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:256)>>=(fun()->check_patterni~pattern:"^arn\\:aws[a-z-]{0,15}\\:iam\\:\\:[0-9]{12}\\:role\\/[^\\s]{2,64}$")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"iamRoleArn"jletto_json=simple_to_jsonto_valueendmoduleS3BucketLocation=structtypenonrect=stringletcontext_="s3BucketLocation"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:512)>>=(fun()->check_patterni~pattern:"^s3:\\/\\/(.+)$")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"s3BucketLocation"jletto_json=simple_to_jsonto_valueendmoduleIngestedEventsTimeWindow=structtypenonrect={startTime:Time.t[@ocaml.doc"Timestamp of the first ingensted event."];endTime:Time.t[@ocaml.doc"Timestamp of the final ingested event."]}letcontext_="IngestedEventsTimeWindow"letmake~startTime=fun~endTime->fun()->{startTime;endTime}letto_valuex=structure_to_value[("startTime",(Some(Time.to_valuex.startTime)));("endTime",(Some(Time.to_valuex.endTime)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letendTime=Time.of_xml(Xml.child_exn~context:context_xml_arg0"endTime")inletstartTime=Time.of_xml(Xml.child_exn~context:context_xml_arg0"startTime")inmake~endTime~startTime()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letendTime=field_map_exnjson__"endTime"Time.of_jsoninletstartTime=field_map_exnjson__"startTime"Time.of_jsoninmake~endTime~startTime()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The start and stop time of the ingested events."]moduleLabelSchema=structtypenonrect={labelMapper:LabelMapper.toption[@ocaml.doc"The label mapper maps the Amazon Fraud Detector supported model classification labels (FRAUD, LEGIT) to the appropriate event type labels. For example, if \"FRAUD\" and \"LEGIT\" are Amazon Fraud Detector supported labels, this mapper could be: \\{\"FRAUD\" => \\[\"0\"\\], \"LEGIT\" => \\[\"1\"\\]\\} or \\{\"FRAUD\" => \\[\"false\"\\], \"LEGIT\" => \\[\"true\"\\]\\} or \\{\"FRAUD\" => \\[\"fraud\", \"abuse\"\\], \"LEGIT\" => \\[\"legit\", \"safe\"\\]\\}. The value part of the mapper is a list, because you may have multiple label variants from your event type for a single Amazon Fraud Detector label."];unlabeledEventsTreatment:UnlabeledEventsTreatment.toption[@ocaml.doc"The action to take for unlabeled events. Use IGNORE if you want the unlabeled events to be ignored. This is recommended when the majority of the events in the dataset are labeled. Use FRAUD if you want to categorize all unlabeled events as \226\128\156Fraud\226\128\157. This is recommended when most of the events in your dataset are fraudulent. Use LEGIT if you want to categorize all unlabeled events as \226\128\156Legit\226\128\157. This is recommended when most of the events in your dataset are legitimate. Use AUTO if you want Amazon Fraud Detector to decide how to use the unlabeled data. This is recommended when there is significant unlabeled events in the dataset. By default, Amazon Fraud Detector ignores the unlabeled data."]}letmake?labelMapper=fun?unlabeledEventsTreatment->fun()->{labelMapper;unlabeledEventsTreatment}letto_valuex=structure_to_value[("labelMapper",(Option.mapx.labelMapper~f:LabelMapper.to_value));("unlabeledEventsTreatment",(Option.mapx.unlabeledEventsTreatment~f:UnlabeledEventsTreatment.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letunlabeledEventsTreatment=(Option.map~f:UnlabeledEventsTreatment.of_xml)(Xml.childxml_arg0"unlabeledEventsTreatment")inletlabelMapper=(Option.map~f:LabelMapper.of_xml)(Xml.childxml_arg0"labelMapper")inmake?unlabeledEventsTreatment?labelMapper()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letunlabeledEventsTreatment=field_mapjson__"unlabeledEventsTreatment"UnlabeledEventsTreatment.of_jsoninletlabelMapper=field_mapjson__"labelMapper"LabelMapper.of_jsoninmake?unlabeledEventsTreatment?labelMapper()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The label schema."]moduleDataValidationMetrics=structtypenonrect={fileLevelMessages:FileValidationMessageList.toption[@ocaml.doc"The file-specific model training data validation messages."];fieldLevelMessages:FieldValidationMessageList.toption[@ocaml.doc"The field-specific model training validation messages."]}letmake?fileLevelMessages=fun?fieldLevelMessages->fun()->{fileLevelMessages;fieldLevelMessages}letto_valuex=structure_to_value[("fileLevelMessages",(Option.mapx.fileLevelMessages~f:FileValidationMessageList.to_value));("fieldLevelMessages",(Option.mapx.fieldLevelMessages~f:FieldValidationMessageList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letfieldLevelMessages=(Option.map~f:FieldValidationMessageList.of_xml)(Xml.childxml_arg0"fieldLevelMessages")inletfileLevelMessages=(Option.map~f:FileValidationMessageList.of_xml)(Xml.childxml_arg0"fileLevelMessages")inmake?fieldLevelMessages?fileLevelMessages()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letfieldLevelMessages=field_mapjson__"fieldLevelMessages"FieldValidationMessageList.of_jsoninletfileLevelMessages=field_mapjson__"fileLevelMessages"FileValidationMessageList.of_jsoninmake?fieldLevelMessages?fileLevelMessages()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The model training data validation metrics."]moduleTrainingMetrics=structtypenonrect={auc:Float_.toption[@ocaml.doc"The area under the curve. This summarizes true positive rate (TPR) and false positive rate (FPR) across all possible model score thresholds. A model with no predictive power has an AUC of 0.5, whereas a perfect model has a score of 1.0."];metricDataPoints:MetricDataPointsList.toption[@ocaml.doc"The data points details."]}letmake?auc=fun?metricDataPoints->fun()->{auc;metricDataPoints}letto_valuex=structure_to_value[("auc",(Option.mapx.auc~f:Float_.to_value));("metricDataPoints",(Option.mapx.metricDataPoints~f:MetricDataPointsList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmetricDataPoints=(Option.map~f:MetricDataPointsList.of_xml)(Xml.childxml_arg0"metricDataPoints")inletauc=(Option.map~f:Float_.of_xml)(Xml.childxml_arg0"auc")inmake?metricDataPoints?auc()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmetricDataPoints=field_mapjson__"metricDataPoints"MetricDataPointsList.of_jsoninletauc=field_mapjson__"auc"Float_.of_jsoninmake?metricDataPoints?auc()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The training metric details."]moduleVariableImportanceMetrics=structtypenonrect={logOddsMetrics:ListOfLogOddsMetrics.toption[@ocaml.doc"List of variable metrics."]}letmake?logOddsMetrics=fun()->{logOddsMetrics}letto_valuex=structure_to_value[("logOddsMetrics",(Option.mapx.logOddsMetrics~f:ListOfLogOddsMetrics.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlogOddsMetrics=(Option.map~f:ListOfLogOddsMetrics.of_xml)(Xml.childxml_arg0"logOddsMetrics")inmake?logOddsMetrics()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlogOddsMetrics=field_mapjson__"logOddsMetrics"ListOfLogOddsMetrics.of_jsoninmake?logOddsMetrics()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The variable importance metrics details."]moduleAggregatedVariablesImportanceMetrics=structtypenonrect={logOddsMetrics:ListOfAggregatedLogOddsMetrics.toption[@ocaml.doc"List of variables' metrics."]}letmake?logOddsMetrics=fun()->{logOddsMetrics}letto_valuex=structure_to_value[("logOddsMetrics",(Option.mapx.logOddsMetrics~f:ListOfAggregatedLogOddsMetrics.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlogOddsMetrics=(Option.map~f:ListOfAggregatedLogOddsMetrics.of_xml)(Xml.childxml_arg0"logOddsMetrics")inmake?logOddsMetrics()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlogOddsMetrics=field_mapjson__"logOddsMetrics"ListOfAggregatedLogOddsMetrics.of_jsoninmake?logOddsMetrics()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The details of the relative importance of the aggregated variables. Account Takeover Insights (ATI) model uses event variables from the login data you provide to continuously calculate a set of variables (aggregated variables) based on historical events. For example, your ATI model might calculate the number of times an user has logged in using the same IP address. In this case, event variables used to derive the aggregated variables are IP address and user."]moduleTrainingMetricsV2=structtypenonrect={ofi:OFITrainingMetricsValue.toption[@ocaml.doc"The Online Fraud Insights (OFI) model training metric details."];tfi:TFITrainingMetricsValue.toption[@ocaml.doc"The Transaction Fraud Insights (TFI) model training metric details."];ati:ATITrainingMetricsValue.toption[@ocaml.doc"The Account Takeover Insights (ATI) model training metric details."]}letmake?ofi=fun?tfi->fun?ati->fun()->{ofi;tfi;ati}letto_valuex=structure_to_value[("ofi",(Option.mapx.ofi~f:OFITrainingMetricsValue.to_value));("tfi",(Option.mapx.tfi~f:TFITrainingMetricsValue.to_value));("ati",(Option.mapx.ati~f:ATITrainingMetricsValue.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letati=(Option.map~f:ATITrainingMetricsValue.of_xml)(Xml.childxml_arg0"ati")inlettfi=(Option.map~f:TFITrainingMetricsValue.of_xml)(Xml.childxml_arg0"tfi")inletofi=(Option.map~f:OFITrainingMetricsValue.of_xml)(Xml.childxml_arg0"ofi")inmake?ati?tfi?ofi()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letati=field_mapjson__"ati"ATITrainingMetricsValue.of_jsoninlettfi=field_mapjson__"tfi"TFITrainingMetricsValue.of_jsoninletofi=field_mapjson__"ofi"OFITrainingMetricsValue.of_jsoninmake?ati?tfi?ofi()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The training metrics details."]moduleTagKey=structtypenonrect=stringletcontext_="tagKey"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:128)>>=(fun()->check_patterni~pattern:"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"tagKey"jletto_json=simple_to_jsonto_valueendmoduleTagValue=structtypenonrect=stringletcontext_="tagValue"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:256)>>=(fun()->check_string_mini~min:0));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"tagValue"jletto_json=simple_to_jsonto_valueendmoduleWholeNumberVersionString=structtypenonrect=stringletcontext_="wholeNumberVersionString"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:5)>>=(fun()->check_patterni~pattern:"^([1-9][0-9]*)$")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"wholeNumberVersionString"jletto_json=simple_to_jsonto_valueendmoduleDataSource=structtypenonrect=|EVENT|MODEL_SCORE|EXTERNAL_MODEL_SCORE|Non_static_idofstringletmakei=iletto_string=function|EVENT->"EVENT"|MODEL_SCORE->"MODEL_SCORE"|EXTERNAL_MODEL_SCORE->"EXTERNAL_MODEL_SCORE"|Non_static_ids->sletof_string=function|"EVENT"->EVENT|"MODEL_SCORE"->MODEL_SCORE|"EXTERNAL_MODEL_SCORE"->EXTERNAL_MODEL_SCORE|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 DataSource"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"DataSource"j)letto_json=simple_to_jsonto_valueendmoduleDataType=structtypenonrect=|STRING|INTEGER|FLOAT|BOOLEAN|DATETIME|Non_static_idofstringletmakei=iletto_string=function|STRING->"STRING"|INTEGER->"INTEGER"|FLOAT->"FLOAT"|BOOLEAN->"BOOLEAN"|DATETIME->"DATETIME"|Non_static_ids->sletof_string=function|"STRING"->STRING|"INTEGER"->INTEGER|"FLOAT"->FLOAT|"BOOLEAN"->BOOLEAN|"DATETIME"->DATETIME|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 DataType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"DataType"j)letto_json=simple_to_jsonto_valueendmoduleLanguage=structtypenonrect=|DETECTORPL|Non_static_idofstringletmakei=iletto_string=function|DETECTORPL->"DETECTORPL"|Non_static_ids->sletof_string=function|"DETECTORPL"->DETECTORPL|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 Language"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"Language"j)letto_json=simple_to_jsonto_valueendmoduleNonEmptyListOfStrings=structtypenonrect=String_.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:String_.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:String_.of_xml)letof_jsonj=list_of_json~kind:"NonEmptyListOfStrings"~of_json:String_.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleDescription=structtypenonrect=stringletcontext_="description"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:128)>>=(fun()->check_string_mini~min:1));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"description"jletto_json=simple_to_jsonto_valueendmoduleRuleExpression=structtypenonrect=stringletcontext_="ruleExpression"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:4096)>>=(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:"ruleExpression"jletto_json=simple_to_jsonto_valueendmoduleNoDashIdentifier=structtypenonrect=stringletcontext_="noDashIdentifier"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:64)>>=(fun()->check_patterni~pattern:"^[0-9a-z_]+$")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"noDashIdentifier"jletto_json=simple_to_jsonto_valueendmoduleVariableType=structtypenonrect=stringletcontext_="variableType"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:64)>>=(fun()->check_patterni~pattern:"^[A-Z_]{1,64}$")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"variableType"jletto_json=simple_to_jsonto_valueendmoduleModelEndpointStatus=structtypenonrect=|ASSOCIATED|DISSOCIATED|Non_static_idofstringletmakei=iletto_string=function|ASSOCIATED->"ASSOCIATED"|DISSOCIATED->"DISSOCIATED"|Non_static_ids->sletof_string=function|"ASSOCIATED"->ASSOCIATED|"DISSOCIATED"->DISSOCIATED|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 ModelEndpointStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ModelEndpointStatus"j)letto_json=simple_to_jsonto_valueendmoduleModelInputConfiguration=structtypenonrect={eventTypeName:Identifier.toption[@ocaml.doc"The event type name."];format:ModelInputDataFormat.toption[@ocaml.doc"The format of the model input configuration. The format differs depending on if it is passed through to SageMaker or constructed by Amazon Fraud Detector."];useEventVariables:UseEventVariables.t[@ocaml.doc"The event variables."];jsonInputTemplate:ModelInputTemplate.toption[@ocaml.doc"Template for constructing the JSON input-data sent to SageMaker. At event-evaluation, the placeholders for variable names in the template will be replaced with the variable values before being sent to SageMaker."];csvInputTemplate:ModelInputTemplate.toption[@ocaml.doc"Template for constructing the CSV input-data sent to SageMaker. At event-evaluation, the placeholders for variable-names in the template will be replaced with the variable values before being sent to SageMaker."]}letcontext_="ModelInputConfiguration"letmake?eventTypeName=fun?format->fun?jsonInputTemplate->fun?csvInputTemplate->fun~useEventVariables->fun()->{eventTypeName;format;jsonInputTemplate;csvInputTemplate;useEventVariables}letto_valuex=structure_to_value[("eventTypeName",(Option.mapx.eventTypeName~f:Identifier.to_value));("format",(Option.mapx.format~f:ModelInputDataFormat.to_value));("useEventVariables",(Some(UseEventVariables.to_valuex.useEventVariables)));("jsonInputTemplate",(Option.mapx.jsonInputTemplate~f:ModelInputTemplate.to_value));("csvInputTemplate",(Option.mapx.csvInputTemplate~f:ModelInputTemplate.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcsvInputTemplate=(Option.map~f:ModelInputTemplate.of_xml)(Xml.childxml_arg0"csvInputTemplate")inletjsonInputTemplate=(Option.map~f:ModelInputTemplate.of_xml)(Xml.childxml_arg0"jsonInputTemplate")inletuseEventVariables=UseEventVariables.of_xml(Xml.child_exn~context:context_xml_arg0"useEventVariables")inletformat=(Option.map~f:ModelInputDataFormat.of_xml)(Xml.childxml_arg0"format")inleteventTypeName=(Option.map~f:Identifier.of_xml)(Xml.childxml_arg0"eventTypeName")inmake?csvInputTemplate?jsonInputTemplate~useEventVariables?format?eventTypeName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcsvInputTemplate=field_mapjson__"csvInputTemplate"ModelInputTemplate.of_jsoninletjsonInputTemplate=field_mapjson__"jsonInputTemplate"ModelInputTemplate.of_jsoninletuseEventVariables=field_map_exnjson__"useEventVariables"UseEventVariables.of_jsoninletformat=field_mapjson__"format"ModelInputDataFormat.of_jsoninleteventTypeName=field_mapjson__"eventTypeName"Identifier.of_jsoninmake?csvInputTemplate?jsonInputTemplate~useEventVariables?format?eventTypeName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The Amazon SageMaker model input configuration."]moduleModelOutputConfiguration=structtypenonrect={format:ModelOutputDataFormat.t[@ocaml.doc"The format of the model output configuration."];jsonKeyToVariableMap:JsonKeyToVariableMap.toption[@ocaml.doc"A map of JSON keys in response from SageMaker to the Amazon Fraud Detector variables."];csvIndexToVariableMap:CsvIndexToVariableMap.toption[@ocaml.doc"A map of CSV index values in the SageMaker response to the Amazon Fraud Detector variables."]}letcontext_="ModelOutputConfiguration"letmake?jsonKeyToVariableMap=fun?csvIndexToVariableMap->fun~format->fun()->{jsonKeyToVariableMap;csvIndexToVariableMap;format}letto_valuex=structure_to_value[("format",(Some(ModelOutputDataFormat.to_valuex.format)));("jsonKeyToVariableMap",(Option.mapx.jsonKeyToVariableMap~f:JsonKeyToVariableMap.to_value));("csvIndexToVariableMap",(Option.mapx.csvIndexToVariableMap~f:CsvIndexToVariableMap.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcsvIndexToVariableMap=(Option.map~f:CsvIndexToVariableMap.of_xml)(Xml.childxml_arg0"csvIndexToVariableMap")inletjsonKeyToVariableMap=(Option.map~f:JsonKeyToVariableMap.of_xml)(Xml.childxml_arg0"jsonKeyToVariableMap")inletformat=ModelOutputDataFormat.of_xml(Xml.child_exn~context:context_xml_arg0"format")inmake?csvIndexToVariableMap?jsonKeyToVariableMap~format()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcsvIndexToVariableMap=field_mapjson__"csvIndexToVariableMap"CsvIndexToVariableMap.of_jsoninletjsonKeyToVariableMap=field_mapjson__"jsonKeyToVariableMap"JsonKeyToVariableMap.of_jsoninletformat=field_map_exnjson__"format"ModelOutputDataFormat.of_jsoninmake?csvIndexToVariableMap?jsonKeyToVariableMap~format()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Provides the Amazon Sagemaker model output configuration."]moduleEventIngestion=structtypenonrect=|ENABLED|DISABLED|Non_static_idofstringletmakei=iletto_string=function|ENABLED->"ENABLED"|DISABLED->"DISABLED"|Non_static_ids->sletof_string=function|"ENABLED"->ENABLED|"DISABLED"->DISABLED|x->Non_static_idxletto_valuex=`Enum(to_stringx)letto_queryv=to_queryto_valuevletto_headerx=to_stringxletof_xmlxml_arg0=of_string(string_of_xml~kind:"enumeration EventIngestion"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"EventIngestion"j)letto_json=simple_to_jsonto_valueendmoduleEventOrchestration=structtypenonrect={eventBridgeEnabled:Boolean.t[@ocaml.doc"Specifies if event orchestration is enabled through Amazon EventBridge."]}letcontext_="EventOrchestration"letmake~eventBridgeEnabled=fun()->{eventBridgeEnabled}letto_valuex=structure_to_value[("eventBridgeEnabled",(Some(Boolean.to_valuex.eventBridgeEnabled)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=leteventBridgeEnabled=Boolean.of_xml(Xml.child_exn~context:context_xml_arg0"eventBridgeEnabled")inmake~eventBridgeEnabled()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=leteventBridgeEnabled=field_map_exnjson__"eventBridgeEnabled"Boolean.of_jsoninmake~eventBridgeEnabled()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The event orchestration status."]moduleIngestedEventStatistics=structtypenonrect={numberOfEvents:Long.toption[@ocaml.doc"The number of stored events."];eventDataSizeInBytes:Long.toption[@ocaml.doc"The total size of the stored events."];leastRecentEvent:Time.toption[@ocaml.doc"The oldest stored event."];mostRecentEvent:Time.toption[@ocaml.doc"The newest stored event."];lastUpdatedTime:Time.toption[@ocaml.doc"Timestamp of when the stored event was last updated."]}letmake?numberOfEvents=fun?eventDataSizeInBytes->fun?leastRecentEvent->fun?mostRecentEvent->fun?lastUpdatedTime->fun()->{numberOfEvents;eventDataSizeInBytes;leastRecentEvent;mostRecentEvent;lastUpdatedTime}letto_valuex=structure_to_value[("numberOfEvents",(Option.mapx.numberOfEvents~f:Long.to_value));("eventDataSizeInBytes",(Option.mapx.eventDataSizeInBytes~f:Long.to_value));("leastRecentEvent",(Option.mapx.leastRecentEvent~f:Time.to_value));("mostRecentEvent",(Option.mapx.mostRecentEvent~f:Time.to_value));("lastUpdatedTime",(Option.mapx.lastUpdatedTime~f:Time.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlastUpdatedTime=(Option.map~f:Time.of_xml)(Xml.childxml_arg0"lastUpdatedTime")inletmostRecentEvent=(Option.map~f:Time.of_xml)(Xml.childxml_arg0"mostRecentEvent")inletleastRecentEvent=(Option.map~f:Time.of_xml)(Xml.childxml_arg0"leastRecentEvent")inleteventDataSizeInBytes=(Option.map~f:Long.of_xml)(Xml.childxml_arg0"eventDataSizeInBytes")inletnumberOfEvents=(Option.map~f:Long.of_xml)(Xml.childxml_arg0"numberOfEvents")inmake?lastUpdatedTime?mostRecentEvent?leastRecentEvent?eventDataSizeInBytes?numberOfEvents()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlastUpdatedTime=field_mapjson__"lastUpdatedTime"Time.of_jsoninletmostRecentEvent=field_mapjson__"mostRecentEvent"Time.of_jsoninletleastRecentEvent=field_mapjson__"leastRecentEvent"Time.of_jsoninleteventDataSizeInBytes=field_mapjson__"eventDataSizeInBytes"Long.of_jsoninletnumberOfEvents=field_mapjson__"numberOfEvents"Long.of_jsoninmake?lastUpdatedTime?mostRecentEvent?leastRecentEvent?eventDataSizeInBytes?numberOfEvents()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Data about the stored events."]moduleAttributeKey=structtypenonrect=stringletcontext_="attributeKey"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:64)>>=(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:"attributeKey"jletto_json=simple_to_jsonto_valueendmoduleAttributeValue=structtypenonrect=stringletcontext_="attributeValue"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:256)>>=(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:"attributeValue"jletto_json=simple_to_jsonto_valueendmoduleEntity=structtypenonrect={entityType:String_.t[@ocaml.doc"The entity type."];entityId:EntityRestrictedString.t[@ocaml.doc"The entity ID. If you do not know the entityId, you can pass unknown, which is areserved string literal."]}letcontext_="Entity"letmake~entityType=fun~entityId->fun()->{entityType;entityId}letto_valuex=structure_to_value[("entityType",(Some(String_.to_valuex.entityType)));("entityId",(Some(EntityRestrictedString.to_valuex.entityId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letentityId=EntityRestrictedString.of_xml(Xml.child_exn~context:context_xml_arg0"entityId")inletentityType=String_.of_xml(Xml.child_exn~context:context_xml_arg0"entityType")inmake~entityId~entityType()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letentityId=field_map_exnjson__"entityId"EntityRestrictedString.of_jsoninletentityType=field_map_exnjson__"entityType"String_.of_jsoninmake~entityId~entityType()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The entity details."]moduleExternalModelPredictionMap=structtypenonrect=(String_.t*String_.t)listletmakei=iletof_headerxs=make(List.filter_mapxs~f:(fun(k,v)->(Base.String.chop_prefixk~prefix:"x-amz-meta-")|>(Option.map~f:(funchopped->((String_.of_stringchopped),(String_.of_stringv))))))letto_valuexs=(xs|>(List.map~f:(fun(x,y)->(String_.to_valuex)|>(funx->(String_.to_valuey)|>(funy->(x,y))))))|>(funx->`Mapx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for Map_shape objects"()letof_xml_=failwith"of_xml_converter_of_shape: Map_shape case not implemented"letof_jsonj=object_of_json~key_of_string:String_.of_string~of_json:String_.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleExternalModelSummary=structtypenonrect={modelEndpoint:String_.toption[@ocaml.doc"The endpoint of the Amazon SageMaker model."];modelSource:ModelSource.toption[@ocaml.doc"The source of the model."]}letmake?modelEndpoint=fun?modelSource->fun()->{modelEndpoint;modelSource}letto_valuex=structure_to_value[("modelEndpoint",(Option.mapx.modelEndpoint~f:String_.to_value));("modelSource",(Option.mapx.modelSource~f:ModelSource.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmodelSource=(Option.map~f:ModelSource.of_xml)(Xml.childxml_arg0"modelSource")inletmodelEndpoint=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"modelEndpoint")inmake?modelSource?modelEndpoint()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmodelSource=field_mapjson__"modelSource"ModelSource.of_jsoninletmodelEndpoint=field_mapjson__"modelEndpoint"String_.of_jsoninmake?modelSource?modelEndpoint()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The Amazon SageMaker model."]moduleModelPredictionMap=structtypenonrect=(String_.t*Float_.t)listletmakei=iletof_headerxs=make(List.filter_mapxs~f:(fun(k,v)->(Base.String.chop_prefixk~prefix:"x-amz-meta-")|>(Option.map~f:(funchopped->((String_.of_stringchopped),(Float_.of_stringv))))))letto_valuexs=(xs|>(List.map~f:(fun(x,y)->(String_.to_valuex)|>(funx->(Float_.to_valuey)|>(funy->(x,y))))))|>(funx->`Mapx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for Map_shape objects"()letof_xml_=failwith"of_xml_converter_of_shape: Map_shape case not implemented"letof_jsonj=object_of_json~key_of_string:String_.of_string~of_json:Float_.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleModelVersion=structtypenonrect={modelId:ModelIdentifier.t[@ocaml.doc"The model ID."];modelType:ModelTypeEnum.t[@ocaml.doc"The model type."];modelVersionNumber:FloatVersionString.t[@ocaml.doc"The model version number."];arn:FraudDetectorArn.toption[@ocaml.doc"The model version ARN."]}letcontext_="ModelVersion"letmake?arn=fun~modelId->fun~modelType->fun~modelVersionNumber->fun()->{arn;modelId;modelType;modelVersionNumber}letto_valuex=structure_to_value[("modelId",(Some(ModelIdentifier.to_valuex.modelId)));("modelType",(Some(ModelTypeEnum.to_valuex.modelType)));("modelVersionNumber",(Some(FloatVersionString.to_valuex.modelVersionNumber)));("arn",(Option.mapx.arn~f:FraudDetectorArn.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letarn=(Option.map~f:FraudDetectorArn.of_xml)(Xml.childxml_arg0"arn")inletmodelVersionNumber=FloatVersionString.of_xml(Xml.child_exn~context:context_xml_arg0"modelVersionNumber")inletmodelType=ModelTypeEnum.of_xml(Xml.child_exn~context:context_xml_arg0"modelType")inletmodelId=ModelIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"modelId")inmake?arn~modelVersionNumber~modelType~modelId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letarn=field_mapjson__"arn"FraudDetectorArn.of_jsoninletmodelVersionNumber=field_map_exnjson__"modelVersionNumber"FloatVersionString.of_jsoninletmodelType=field_map_exnjson__"modelType"ModelTypeEnum.of_jsoninletmodelId=field_map_exnjson__"modelId"ModelIdentifier.of_jsoninmake?arn~modelVersionNumber~modelType~modelId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The model version."]moduleBlob=structtypenonrect=stringletmakei=iletof_stringx=xletto_valuex=`Blobxletto_queryv=to_queryto_valuevletto_headerx=xletof_xmlxml_arg0=string_of_xml~kind:"a blob"xml_arg0letof_jsonj=string_of_json~kind:"a blob"jletto_json=simple_to_jsonto_valueendmoduleContentType=structtypenonrect=stringletcontext_="contentType"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:1024)>>=(fun()->check_string_mini~min:1));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"contentType"jletto_json=simple_to_jsonto_valueendmoduleSensitiveString=structtypenonrect=stringletcontext_="sensitiveString"letmakei=iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"sensitiveString"jletto_json=simple_to_jsonto_valueendmoduleMapOfStrings=structtypenonrect=(String_.t*String_.t)listletmakei=iletof_headerxs=make(List.filter_mapxs~f:(fun(k,v)->(Base.String.chop_prefixk~prefix:"x-amz-meta-")|>(Option.map~f:(funchopped->((String_.of_stringchopped),(String_.of_stringv))))))letto_valuexs=(xs|>(List.map~f:(fun(x,y)->(String_.to_valuex)|>(funx->(String_.to_valuey)|>(funy->(x,y))))))|>(funx->`Mapx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for Map_shape objects"()letof_xml_=failwith"of_xml_converter_of_shape: Map_shape case not implemented"letof_jsonj=object_of_json~key_of_string:String_.of_string~of_json:String_.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleListOfModelVersionEvaluations=structtypenonrect=ModelVersionEvaluation.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ModelVersionEvaluation.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:ModelVersionEvaluation.of_xml)letof_jsonj=list_of_json~kind:"ListOfModelVersionEvaluations"~of_json:ModelVersionEvaluation.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleAsyncJobStatus=structtypenonrect=|IN_PROGRESS_INITIALIZING|IN_PROGRESS|CANCEL_IN_PROGRESS|CANCELED|COMPLETE|FAILED|Non_static_idofstringletmakei=iletto_string=function|IN_PROGRESS_INITIALIZING->"IN_PROGRESS_INITIALIZING"|IN_PROGRESS->"IN_PROGRESS"|CANCEL_IN_PROGRESS->"CANCEL_IN_PROGRESS"|CANCELED->"CANCELED"|COMPLETE->"COMPLETE"|FAILED->"FAILED"|Non_static_ids->sletof_string=function|"IN_PROGRESS_INITIALIZING"->IN_PROGRESS_INITIALIZING|"IN_PROGRESS"->IN_PROGRESS|"CANCEL_IN_PROGRESS"->CANCEL_IN_PROGRESS|"CANCELED"->CANCELED|"COMPLETE"->COMPLETE|"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 AsyncJobStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"AsyncJobStatus"j)letto_json=simple_to_jsonto_valueendmoduleInteger=structtypenonrect=intletmakei=iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for Integer"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleExternalEventsDetail=structtypenonrect={dataLocation:S3BucketLocation.t[@ocaml.doc"The Amazon S3 bucket location for the data."];dataAccessRoleArn:IamRoleArn.t[@ocaml.doc"The ARN of the role that provides Amazon Fraud Detector access to the data location."]}letcontext_="ExternalEventsDetail"letmake~dataLocation=fun~dataAccessRoleArn->fun()->{dataLocation;dataAccessRoleArn}letto_valuex=structure_to_value[("dataLocation",(Some(S3BucketLocation.to_valuex.dataLocation)));("dataAccessRoleArn",(Some(IamRoleArn.to_valuex.dataAccessRoleArn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdataAccessRoleArn=IamRoleArn.of_xml(Xml.child_exn~context:context_xml_arg0"dataAccessRoleArn")inletdataLocation=S3BucketLocation.of_xml(Xml.child_exn~context:context_xml_arg0"dataLocation")inmake~dataAccessRoleArn~dataLocation()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdataAccessRoleArn=field_map_exnjson__"dataAccessRoleArn"IamRoleArn.of_jsoninletdataLocation=field_map_exnjson__"dataLocation"S3BucketLocation.of_jsoninmake~dataAccessRoleArn~dataLocation()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Details for the external events data used for model version training."]moduleIngestedEventsDetail=structtypenonrect={ingestedEventsTimeWindow:IngestedEventsTimeWindow.t[@ocaml.doc"The start and stop time of the ingested events."]}letcontext_="IngestedEventsDetail"letmake~ingestedEventsTimeWindow=fun()->{ingestedEventsTimeWindow}letto_valuex=structure_to_value[("ingestedEventsTimeWindow",(Some(IngestedEventsTimeWindow.to_valuex.ingestedEventsTimeWindow)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letingestedEventsTimeWindow=IngestedEventsTimeWindow.of_xml(Xml.child_exn~context:context_xml_arg0"ingestedEventsTimeWindow")inmake~ingestedEventsTimeWindow()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letingestedEventsTimeWindow=field_map_exnjson__"ingestedEventsTimeWindow"IngestedEventsTimeWindow.of_jsoninmake~ingestedEventsTimeWindow()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The details of the ingested event."]moduleTrainingDataSchema=structtypenonrect={modelVariables:ListOfStrings.t[@ocaml.doc"The training data schema variables."];labelSchema:LabelSchema.toption}letcontext_="TrainingDataSchema"letmake?labelSchema=fun~modelVariables->fun()->{labelSchema;modelVariables}letto_valuex=structure_to_value[("modelVariables",(Some(ListOfStrings.to_valuex.modelVariables)));("labelSchema",(Option.mapx.labelSchema~f:LabelSchema.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlabelSchema=(Option.map~f:LabelSchema.of_xml)(Xml.childxml_arg0"labelSchema")inletmodelVariables=ListOfStrings.of_xml(Xml.child_exn~context:context_xml_arg0"modelVariables")inmake?labelSchema~modelVariables()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlabelSchema=field_mapjson__"labelSchema"LabelSchema.of_jsoninletmodelVariables=field_map_exnjson__"modelVariables"ListOfStrings.of_jsoninmake?labelSchema~modelVariables()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The training data schema."]moduleTrainingDataSourceEnum=structtypenonrect=|EXTERNAL_EVENTS|INGESTED_EVENTS|Non_static_idofstringletmakei=iletto_string=function|EXTERNAL_EVENTS->"EXTERNAL_EVENTS"|INGESTED_EVENTS->"INGESTED_EVENTS"|Non_static_ids->sletof_string=function|"EXTERNAL_EVENTS"->EXTERNAL_EVENTS|"INGESTED_EVENTS"->INGESTED_EVENTS|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 TrainingDataSourceEnum"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"TrainingDataSourceEnum"j)letto_json=simple_to_jsonto_valueendmoduleTrainingResult=structtypenonrect={dataValidationMetrics:DataValidationMetrics.toption[@ocaml.doc"The validation metrics."];trainingMetrics:TrainingMetrics.toption[@ocaml.doc"The training metric details."];variableImportanceMetrics:VariableImportanceMetrics.toption[@ocaml.doc"The variable importance metrics."]}letmake?dataValidationMetrics=fun?trainingMetrics->fun?variableImportanceMetrics->fun()->{dataValidationMetrics;trainingMetrics;variableImportanceMetrics}letto_valuex=structure_to_value[("dataValidationMetrics",(Option.mapx.dataValidationMetrics~f:DataValidationMetrics.to_value));("trainingMetrics",(Option.mapx.trainingMetrics~f:TrainingMetrics.to_value));("variableImportanceMetrics",(Option.mapx.variableImportanceMetrics~f:VariableImportanceMetrics.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvariableImportanceMetrics=(Option.map~f:VariableImportanceMetrics.of_xml)(Xml.childxml_arg0"variableImportanceMetrics")inlettrainingMetrics=(Option.map~f:TrainingMetrics.of_xml)(Xml.childxml_arg0"trainingMetrics")inletdataValidationMetrics=(Option.map~f:DataValidationMetrics.of_xml)(Xml.childxml_arg0"dataValidationMetrics")inmake?variableImportanceMetrics?trainingMetrics?dataValidationMetrics()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvariableImportanceMetrics=field_mapjson__"variableImportanceMetrics"VariableImportanceMetrics.of_jsoninlettrainingMetrics=field_mapjson__"trainingMetrics"TrainingMetrics.of_jsoninletdataValidationMetrics=field_mapjson__"dataValidationMetrics"DataValidationMetrics.of_jsoninmake?variableImportanceMetrics?trainingMetrics?dataValidationMetrics()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The training result details."]moduleTrainingResultV2=structtypenonrect={dataValidationMetrics:DataValidationMetrics.toption;trainingMetricsV2:TrainingMetricsV2.toption[@ocaml.doc"The training metric details."];variableImportanceMetrics:VariableImportanceMetrics.toption;aggregatedVariablesImportanceMetrics:AggregatedVariablesImportanceMetrics.toption[@ocaml.doc"The variable importance metrics of the aggregated variables. Account Takeover Insights (ATI) model uses event variables from the login data you provide to continuously calculate a set of variables (aggregated variables) based on historical events. For example, your ATI model might calculate the number of times an user has logged in using the same IP address. In this case, event variables used to derive the aggregated variables are IP address and user."]}letmake?dataValidationMetrics=fun?trainingMetricsV2->fun?variableImportanceMetrics->fun?aggregatedVariablesImportanceMetrics->fun()->{dataValidationMetrics;trainingMetricsV2;variableImportanceMetrics;aggregatedVariablesImportanceMetrics}letto_valuex=structure_to_value[("dataValidationMetrics",(Option.mapx.dataValidationMetrics~f:DataValidationMetrics.to_value));("trainingMetricsV2",(Option.mapx.trainingMetricsV2~f:TrainingMetricsV2.to_value));("variableImportanceMetrics",(Option.mapx.variableImportanceMetrics~f:VariableImportanceMetrics.to_value));("aggregatedVariablesImportanceMetrics",(Option.mapx.aggregatedVariablesImportanceMetrics~f:AggregatedVariablesImportanceMetrics.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letaggregatedVariablesImportanceMetrics=(Option.map~f:AggregatedVariablesImportanceMetrics.of_xml)(Xml.childxml_arg0"aggregatedVariablesImportanceMetrics")inletvariableImportanceMetrics=(Option.map~f:VariableImportanceMetrics.of_xml)(Xml.childxml_arg0"variableImportanceMetrics")inlettrainingMetricsV2=(Option.map~f:TrainingMetricsV2.of_xml)(Xml.childxml_arg0"trainingMetricsV2")inletdataValidationMetrics=(Option.map~f:DataValidationMetrics.of_xml)(Xml.childxml_arg0"dataValidationMetrics")inmake?aggregatedVariablesImportanceMetrics?variableImportanceMetrics?trainingMetricsV2?dataValidationMetrics()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letaggregatedVariablesImportanceMetrics=field_mapjson__"aggregatedVariablesImportanceMetrics"AggregatedVariablesImportanceMetrics.of_jsoninletvariableImportanceMetrics=field_mapjson__"variableImportanceMetrics"VariableImportanceMetrics.of_jsoninlettrainingMetricsV2=field_mapjson__"trainingMetricsV2"TrainingMetricsV2.of_jsoninletdataValidationMetrics=field_mapjson__"dataValidationMetrics"DataValidationMetrics.of_jsoninmake?aggregatedVariablesImportanceMetrics?variableImportanceMetrics?trainingMetricsV2?dataValidationMetrics()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The training result details."]moduleDetectorVersionStatus=structtypenonrect=|DRAFT|ACTIVE|INACTIVE|Non_static_idofstringletmakei=iletto_string=function|DRAFT->"DRAFT"|ACTIVE->"ACTIVE"|INACTIVE->"INACTIVE"|Non_static_ids->sletof_string=function|"DRAFT"->DRAFT|"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 DetectorVersionStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"DetectorVersionStatus"j)letto_json=simple_to_jsonto_valueendmoduleInteger__lc1=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__lc1"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleTag=structtypenonrect={key:TagKey.t[@ocaml.doc"A tag key."];value:TagValue.t[@ocaml.doc"A value assigned to a tag key."]}letcontext_="Tag"letmake~key=fun~value->fun()->{key;value}letto_valuex=structure_to_value[("key",(Some(TagKey.to_valuex.key)));("value",(Some(TagValue.to_valuex.value)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvalue=TagValue.of_xml(Xml.child_exn~context:context_xml_arg0"value")inletkey=TagKey.of_xml(Xml.child_exn~context:context_xml_arg0"key")inmake~value~key()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvalue=field_map_exnjson__"value"TagValue.of_jsoninletkey=field_map_exnjson__"key"TagKey.of_jsoninmake~value~key()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A key and value pair."]moduleElements=structtypenonrect=stringletcontext_="Elements"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:320)>>=(fun()->check_patterni~pattern:"^\\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:"Elements"jletto_json=simple_to_jsonto_valueendmoduleRule=structtypenonrect={detectorId:Identifier.t[@ocaml.doc"The detector for which the rule is associated."];ruleId:Identifier.t[@ocaml.doc"The rule ID."];ruleVersion:WholeNumberVersionString.t[@ocaml.doc"The rule version."]}letcontext_="Rule"letmake~detectorId=fun~ruleId->fun~ruleVersion->fun()->{detectorId;ruleId;ruleVersion}letto_valuex=structure_to_value[("detectorId",(Some(Identifier.to_valuex.detectorId)));("ruleId",(Some(Identifier.to_valuex.ruleId)));("ruleVersion",(Some(WholeNumberVersionString.to_valuex.ruleVersion)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letruleVersion=WholeNumberVersionString.of_xml(Xml.child_exn~context:context_xml_arg0"ruleVersion")inletruleId=Identifier.of_xml(Xml.child_exn~context:context_xml_arg0"ruleId")inletdetectorId=Identifier.of_xml(Xml.child_exn~context:context_xml_arg0"detectorId")inmake~ruleVersion~ruleId~detectorId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letruleVersion=field_map_exnjson__"ruleVersion"WholeNumberVersionString.of_jsoninletruleId=field_map_exnjson__"ruleId"Identifier.of_jsoninletdetectorId=field_map_exnjson__"detectorId"Identifier.of_jsoninmake~ruleVersion~ruleId~detectorId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A rule."]moduleVariableName=structtypenonrect=stringletcontext_="variableName"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:64)>>=(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:"variableName"jletto_json=simple_to_jsonto_valueendmoduleVariableValue=structtypenonrect=stringletcontext_="variableValue"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:8192)>>=(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:"variableValue"jletto_json=simple_to_jsonto_valueendmoduleEventPredictionSummary=structtypenonrect={eventId:Identifier.toption[@ocaml.doc"The event ID."];eventTypeName:Identifier.toption[@ocaml.doc"The event type."];eventTimestamp:Time.toption[@ocaml.doc"The timestamp of the event."];predictionTimestamp:Time.toption[@ocaml.doc"The timestamp when the prediction was generated."];detectorId:Identifier.toption[@ocaml.doc"The detector ID."];detectorVersionId:WholeNumberVersionString.toption[@ocaml.doc"The detector version ID."]}letmake?eventId=fun?eventTypeName->fun?eventTimestamp->fun?predictionTimestamp->fun?detectorId->fun?detectorVersionId->fun()->{eventId;eventTypeName;eventTimestamp;predictionTimestamp;detectorId;detectorVersionId}letto_valuex=structure_to_value[("eventId",(Option.mapx.eventId~f:Identifier.to_value));("eventTypeName",(Option.mapx.eventTypeName~f:Identifier.to_value));("eventTimestamp",(Option.mapx.eventTimestamp~f:Time.to_value));("predictionTimestamp",(Option.mapx.predictionTimestamp~f:Time.to_value));("detectorId",(Option.mapx.detectorId~f:Identifier.to_value));("detectorVersionId",(Option.mapx.detectorVersionId~f:WholeNumberVersionString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdetectorVersionId=(Option.map~f:WholeNumberVersionString.of_xml)(Xml.childxml_arg0"detectorVersionId")inletdetectorId=(Option.map~f:Identifier.of_xml)(Xml.childxml_arg0"detectorId")inletpredictionTimestamp=(Option.map~f:Time.of_xml)(Xml.childxml_arg0"predictionTimestamp")inleteventTimestamp=(Option.map~f:Time.of_xml)(Xml.childxml_arg0"eventTimestamp")inleteventTypeName=(Option.map~f:Identifier.of_xml)(Xml.childxml_arg0"eventTypeName")inleteventId=(Option.map~f:Identifier.of_xml)(Xml.childxml_arg0"eventId")inmake?detectorVersionId?detectorId?predictionTimestamp?eventTimestamp?eventTypeName?eventId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdetectorVersionId=field_mapjson__"detectorVersionId"WholeNumberVersionString.of_jsoninletdetectorId=field_mapjson__"detectorId"Identifier.of_jsoninletpredictionTimestamp=field_mapjson__"predictionTimestamp"Time.of_jsoninleteventTimestamp=field_mapjson__"eventTimestamp"Time.of_jsoninleteventTypeName=field_mapjson__"eventTypeName"Identifier.of_jsoninleteventId=field_mapjson__"eventId"Identifier.of_jsoninmake?detectorVersionId?detectorId?predictionTimestamp?eventTimestamp?eventTypeName?eventId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Information about the summary of an event prediction."]moduleFilterString=structtypenonrect=stringletcontext_="filterString"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:256)>>=(fun()->check_patterni~pattern:"^[0-9A-Za-z_-]+$")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"filterString"jletto_json=simple_to_jsonto_valueendmoduleVariable=structtypenonrect={name:String_.toption[@ocaml.doc"The name of the variable."];dataType:DataType.toption[@ocaml.doc"The data type of the variable. For more information see Variable types."];dataSource:DataSource.toption[@ocaml.doc"The data source of the variable."];defaultValue:String_.toption[@ocaml.doc"The default value of the variable."];description:String_.toption[@ocaml.doc"The description of the variable."];variableType:String_.toption[@ocaml.doc"The variable type of the variable. Valid Values: AUTH_CODE | AVS | BILLING_ADDRESS_L1 | BILLING_ADDRESS_L2 | BILLING_CITY | BILLING_COUNTRY | BILLING_NAME | BILLING_PHONE | BILLING_STATE | BILLING_ZIP | CARD_BIN | CATEGORICAL | CURRENCY_CODE | EMAIL_ADDRESS | FINGERPRINT | FRAUD_LABEL | FREE_FORM_TEXT | IP_ADDRESS | NUMERIC | ORDER_ID | PAYMENT_TYPE | PHONE_NUMBER | PRICE | PRODUCT_CATEGORY | SHIPPING_ADDRESS_L1 | SHIPPING_ADDRESS_L2 | SHIPPING_CITY | SHIPPING_COUNTRY | SHIPPING_NAME | SHIPPING_PHONE | SHIPPING_STATE | SHIPPING_ZIP | USERAGENT"];lastUpdatedTime:Time.toption[@ocaml.doc"The time when variable was last updated."];createdTime:Time.toption[@ocaml.doc"The time when the variable was created."];arn:FraudDetectorArn.toption[@ocaml.doc"The ARN of the variable."]}letmake?name=fun?dataType->fun?dataSource->fun?defaultValue->fun?description->fun?variableType->fun?lastUpdatedTime->fun?createdTime->fun?arn->fun()->{name;dataType;dataSource;defaultValue;description;variableType;lastUpdatedTime;createdTime;arn}letto_valuex=structure_to_value[("name",(Option.mapx.name~f:String_.to_value));("dataType",(Option.mapx.dataType~f:DataType.to_value));("dataSource",(Option.mapx.dataSource~f:DataSource.to_value));("defaultValue",(Option.mapx.defaultValue~f:String_.to_value));("description",(Option.mapx.description~f:String_.to_value));("variableType",(Option.mapx.variableType~f:String_.to_value));("lastUpdatedTime",(Option.mapx.lastUpdatedTime~f:Time.to_value));("createdTime",(Option.mapx.createdTime~f:Time.to_value));("arn",(Option.mapx.arn~f:FraudDetectorArn.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letarn=(Option.map~f:FraudDetectorArn.of_xml)(Xml.childxml_arg0"arn")inletcreatedTime=(Option.map~f:Time.of_xml)(Xml.childxml_arg0"createdTime")inletlastUpdatedTime=(Option.map~f:Time.of_xml)(Xml.childxml_arg0"lastUpdatedTime")inletvariableType=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"variableType")inletdescription=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"description")inletdefaultValue=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"defaultValue")inletdataSource=(Option.map~f:DataSource.of_xml)(Xml.childxml_arg0"dataSource")inletdataType=(Option.map~f:DataType.of_xml)(Xml.childxml_arg0"dataType")inletname=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"name")inmake?arn?createdTime?lastUpdatedTime?variableType?description?defaultValue?dataSource?dataType?name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letarn=field_mapjson__"arn"FraudDetectorArn.of_jsoninletcreatedTime=field_mapjson__"createdTime"Time.of_jsoninletlastUpdatedTime=field_mapjson__"lastUpdatedTime"Time.of_jsoninletvariableType=field_mapjson__"variableType"String_.of_jsoninletdescription=field_mapjson__"description"String_.of_jsoninletdefaultValue=field_mapjson__"defaultValue"String_.of_jsoninletdataSource=field_mapjson__"dataSource"DataSource.of_jsoninletdataType=field_mapjson__"dataType"DataType.of_jsoninletname=field_mapjson__"name"String_.of_jsoninmake?arn?createdTime?lastUpdatedTime?variableType?description?defaultValue?dataSource?dataType?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The variable."]moduleRuleDetail=structtypenonrect={ruleId:Identifier.toption[@ocaml.doc"The rule ID."];description:Description.toption[@ocaml.doc"The rule description."];detectorId:Identifier.toption[@ocaml.doc"The detector for which the rule is associated."];ruleVersion:WholeNumberVersionString.toption[@ocaml.doc"The rule version."];expression:RuleExpression.toption[@ocaml.doc"The rule expression."];language:Language.toption[@ocaml.doc"The rule language."];outcomes:NonEmptyListOfStrings.toption[@ocaml.doc"The rule outcomes."];lastUpdatedTime:Time.toption[@ocaml.doc"Timestamp of the last time the rule was updated."];createdTime:Time.toption[@ocaml.doc"The timestamp of when the rule was created."];arn:FraudDetectorArn.toption[@ocaml.doc"The rule ARN."]}letmake?ruleId=fun?description->fun?detectorId->fun?ruleVersion->fun?expression->fun?language->fun?outcomes->fun?lastUpdatedTime->fun?createdTime->fun?arn->fun()->{ruleId;description;detectorId;ruleVersion;expression;language;outcomes;lastUpdatedTime;createdTime;arn}letto_valuex=structure_to_value[("ruleId",(Option.mapx.ruleId~f:Identifier.to_value));("description",(Option.mapx.description~f:Description.to_value));("detectorId",(Option.mapx.detectorId~f:Identifier.to_value));("ruleVersion",(Option.mapx.ruleVersion~f:WholeNumberVersionString.to_value));("expression",(Option.mapx.expression~f:RuleExpression.to_value));("language",(Option.mapx.language~f:Language.to_value));("outcomes",(Option.mapx.outcomes~f:NonEmptyListOfStrings.to_value));("lastUpdatedTime",(Option.mapx.lastUpdatedTime~f:Time.to_value));("createdTime",(Option.mapx.createdTime~f:Time.to_value));("arn",(Option.mapx.arn~f:FraudDetectorArn.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letarn=(Option.map~f:FraudDetectorArn.of_xml)(Xml.childxml_arg0"arn")inletcreatedTime=(Option.map~f:Time.of_xml)(Xml.childxml_arg0"createdTime")inletlastUpdatedTime=(Option.map~f:Time.of_xml)(Xml.childxml_arg0"lastUpdatedTime")inletoutcomes=(Option.map~f:NonEmptyListOfStrings.of_xml)(Xml.childxml_arg0"outcomes")inletlanguage=(Option.map~f:Language.of_xml)(Xml.childxml_arg0"language")inletexpression=(Option.map~f:RuleExpression.of_xml)(Xml.childxml_arg0"expression")inletruleVersion=(Option.map~f:WholeNumberVersionString.of_xml)(Xml.childxml_arg0"ruleVersion")inletdetectorId=(Option.map~f:Identifier.of_xml)(Xml.childxml_arg0"detectorId")inletdescription=(Option.map~f:Description.of_xml)(Xml.childxml_arg0"description")inletruleId=(Option.map~f:Identifier.of_xml)(Xml.childxml_arg0"ruleId")inmake?arn?createdTime?lastUpdatedTime?outcomes?language?expression?ruleVersion?detectorId?description?ruleId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letarn=field_mapjson__"arn"FraudDetectorArn.of_jsoninletcreatedTime=field_mapjson__"createdTime"Time.of_jsoninletlastUpdatedTime=field_mapjson__"lastUpdatedTime"Time.of_jsoninletoutcomes=field_mapjson__"outcomes"NonEmptyListOfStrings.of_jsoninletlanguage=field_mapjson__"language"Language.of_jsoninletexpression=field_mapjson__"expression"RuleExpression.of_jsoninletruleVersion=field_mapjson__"ruleVersion"WholeNumberVersionString.of_jsoninletdetectorId=field_mapjson__"detectorId"Identifier.of_jsoninletdescription=field_mapjson__"description"Description.of_jsoninletruleId=field_mapjson__"ruleId"Identifier.of_jsoninmake?arn?createdTime?lastUpdatedTime?outcomes?language?expression?ruleVersion?detectorId?description?ruleId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The details of the rule."]moduleOutcome=structtypenonrect={name:Identifier.toption[@ocaml.doc"The outcome name."];description:Description.toption[@ocaml.doc"The outcome description."];lastUpdatedTime:Time.toption[@ocaml.doc"The timestamp when the outcome was last updated."];createdTime:Time.toption[@ocaml.doc"The timestamp when the outcome was created."];arn:FraudDetectorArn.toption[@ocaml.doc"The outcome ARN."]}letmake?name=fun?description->fun?lastUpdatedTime->fun?createdTime->fun?arn->fun()->{name;description;lastUpdatedTime;createdTime;arn}letto_valuex=structure_to_value[("name",(Option.mapx.name~f:Identifier.to_value));("description",(Option.mapx.description~f:Description.to_value));("lastUpdatedTime",(Option.mapx.lastUpdatedTime~f:Time.to_value));("createdTime",(Option.mapx.createdTime~f:Time.to_value));("arn",(Option.mapx.arn~f:FraudDetectorArn.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letarn=(Option.map~f:FraudDetectorArn.of_xml)(Xml.childxml_arg0"arn")inletcreatedTime=(Option.map~f:Time.of_xml)(Xml.childxml_arg0"createdTime")inletlastUpdatedTime=(Option.map~f:Time.of_xml)(Xml.childxml_arg0"lastUpdatedTime")inletdescription=(Option.map~f:Description.of_xml)(Xml.childxml_arg0"description")inletname=(Option.map~f:Identifier.of_xml)(Xml.childxml_arg0"name")inmake?arn?createdTime?lastUpdatedTime?description?name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letarn=field_mapjson__"arn"FraudDetectorArn.of_jsoninletcreatedTime=field_mapjson__"createdTime"Time.of_jsoninletlastUpdatedTime=field_mapjson__"lastUpdatedTime"Time.of_jsoninletdescription=field_mapjson__"description"Description.of_jsoninletname=field_mapjson__"name"Identifier.of_jsoninmake?arn?createdTime?lastUpdatedTime?description?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The outcome."]moduleModel=structtypenonrect={modelId:ModelIdentifier.toption[@ocaml.doc"The model ID."];modelType:ModelTypeEnum.toption[@ocaml.doc"The model type."];description:Description.toption[@ocaml.doc"The model description."];eventTypeName:String_.toption[@ocaml.doc"The name of the event type."];createdTime:Time.toption[@ocaml.doc"Timestamp of when the model was created."];lastUpdatedTime:Time.toption[@ocaml.doc"Timestamp of last time the model was updated."];arn:FraudDetectorArn.toption[@ocaml.doc"The ARN of the model."]}letmake?modelId=fun?modelType->fun?description->fun?eventTypeName->fun?createdTime->fun?lastUpdatedTime->fun?arn->fun()->{modelId;modelType;description;eventTypeName;createdTime;lastUpdatedTime;arn}letto_valuex=structure_to_value[("modelId",(Option.mapx.modelId~f:ModelIdentifier.to_value));("modelType",(Option.mapx.modelType~f:ModelTypeEnum.to_value));("description",(Option.mapx.description~f:Description.to_value));("eventTypeName",(Option.mapx.eventTypeName~f:String_.to_value));("createdTime",(Option.mapx.createdTime~f:Time.to_value));("lastUpdatedTime",(Option.mapx.lastUpdatedTime~f:Time.to_value));("arn",(Option.mapx.arn~f:FraudDetectorArn.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letarn=(Option.map~f:FraudDetectorArn.of_xml)(Xml.childxml_arg0"arn")inletlastUpdatedTime=(Option.map~f:Time.of_xml)(Xml.childxml_arg0"lastUpdatedTime")inletcreatedTime=(Option.map~f:Time.of_xml)(Xml.childxml_arg0"createdTime")inleteventTypeName=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"eventTypeName")inletdescription=(Option.map~f:Description.of_xml)(Xml.childxml_arg0"description")inletmodelType=(Option.map~f:ModelTypeEnum.of_xml)(Xml.childxml_arg0"modelType")inletmodelId=(Option.map~f:ModelIdentifier.of_xml)(Xml.childxml_arg0"modelId")inmake?arn?lastUpdatedTime?createdTime?eventTypeName?description?modelType?modelId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letarn=field_mapjson__"arn"FraudDetectorArn.of_jsoninletlastUpdatedTime=field_mapjson__"lastUpdatedTime"Time.of_jsoninletcreatedTime=field_mapjson__"createdTime"Time.of_jsoninleteventTypeName=field_mapjson__"eventTypeName"String_.of_jsoninletdescription=field_mapjson__"description"Description.of_jsoninletmodelType=field_mapjson__"modelType"ModelTypeEnum.of_jsoninletmodelId=field_mapjson__"modelId"ModelIdentifier.of_jsoninmake?arn?lastUpdatedTime?createdTime?eventTypeName?description?modelType?modelId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The model."]moduleAllowDenyList=structtypenonrect={name:NoDashIdentifier.toption[@ocaml.doc"The name of the list."];description:Description.toption[@ocaml.doc"The description of the list."];variableType:VariableType.toption[@ocaml.doc"The variable type of the list."];createdTime:Time.toption[@ocaml.doc"The time the list was created."];updatedTime:Time.toption[@ocaml.doc"The time the list was last updated."];arn:FraudDetectorArn.toption[@ocaml.doc"The ARN of the list."]}letmake?name=fun?description->fun?variableType->fun?createdTime->fun?updatedTime->fun?arn->fun()->{name;description;variableType;createdTime;updatedTime;arn}letto_valuex=structure_to_value[("name",(Option.mapx.name~f:NoDashIdentifier.to_value));("description",(Option.mapx.description~f:Description.to_value));("variableType",(Option.mapx.variableType~f:VariableType.to_value));("createdTime",(Option.mapx.createdTime~f:Time.to_value));("updatedTime",(Option.mapx.updatedTime~f:Time.to_value));("arn",(Option.mapx.arn~f:FraudDetectorArn.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letarn=(Option.map~f:FraudDetectorArn.of_xml)(Xml.childxml_arg0"arn")inletupdatedTime=(Option.map~f:Time.of_xml)(Xml.childxml_arg0"updatedTime")inletcreatedTime=(Option.map~f:Time.of_xml)(Xml.childxml_arg0"createdTime")inletvariableType=(Option.map~f:VariableType.of_xml)(Xml.childxml_arg0"variableType")inletdescription=(Option.map~f:Description.of_xml)(Xml.childxml_arg0"description")inletname=(Option.map~f:NoDashIdentifier.of_xml)(Xml.childxml_arg0"name")inmake?arn?updatedTime?createdTime?variableType?description?name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letarn=field_mapjson__"arn"FraudDetectorArn.of_jsoninletupdatedTime=field_mapjson__"updatedTime"Time.of_jsoninletcreatedTime=field_mapjson__"createdTime"Time.of_jsoninletvariableType=field_mapjson__"variableType"VariableType.of_jsoninletdescription=field_mapjson__"description"Description.of_jsoninletname=field_mapjson__"name"NoDashIdentifier.of_jsoninmake?arn?updatedTime?createdTime?variableType?description?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The metadata of a list."]moduleLabel=structtypenonrect={name:String_.toption[@ocaml.doc"The label name."];description:Description.toption[@ocaml.doc"The label description."];lastUpdatedTime:Time.toption[@ocaml.doc"Timestamp of when the label was last updated."];createdTime:Time.toption[@ocaml.doc"Timestamp of when the event type was created."];arn:FraudDetectorArn.toption[@ocaml.doc"The label ARN."]}letmake?name=fun?description->fun?lastUpdatedTime->fun?createdTime->fun?arn->fun()->{name;description;lastUpdatedTime;createdTime;arn}letto_valuex=structure_to_value[("name",(Option.mapx.name~f:String_.to_value));("description",(Option.mapx.description~f:Description.to_value));("lastUpdatedTime",(Option.mapx.lastUpdatedTime~f:Time.to_value));("createdTime",(Option.mapx.createdTime~f:Time.to_value));("arn",(Option.mapx.arn~f:FraudDetectorArn.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letarn=(Option.map~f:FraudDetectorArn.of_xml)(Xml.childxml_arg0"arn")inletcreatedTime=(Option.map~f:Time.of_xml)(Xml.childxml_arg0"createdTime")inletlastUpdatedTime=(Option.map~f:Time.of_xml)(Xml.childxml_arg0"lastUpdatedTime")inletdescription=(Option.map~f:Description.of_xml)(Xml.childxml_arg0"description")inletname=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"name")inmake?arn?createdTime?lastUpdatedTime?description?name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letarn=field_mapjson__"arn"FraudDetectorArn.of_jsoninletcreatedTime=field_mapjson__"createdTime"Time.of_jsoninletlastUpdatedTime=field_mapjson__"lastUpdatedTime"Time.of_jsoninletdescription=field_mapjson__"description"Description.of_jsoninletname=field_mapjson__"name"String_.of_jsoninmake?arn?createdTime?lastUpdatedTime?description?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The label details."]moduleKmsEncryptionKeyArn=structtypenonrect=stringletcontext_="KmsEncryptionKeyArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:7)>>=(fun()->(check_string_maxi~max:90)>>=(fun()->check_patterni~pattern:"^DEFAULT|arn:[a-zA-Z0-9-]+:kms:[a-zA-Z0-9-]+:\\d{12}:key\\/\\w{8}-\\w{4}-\\w{4}-\\w{4}-\\w{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:"KmsEncryptionKeyArn"jletto_json=simple_to_jsonto_valueendmoduleExternalModel=structtypenonrect={modelEndpoint:String_.toption[@ocaml.doc"The Amazon SageMaker model endpoints."];modelSource:ModelSource.toption[@ocaml.doc"The source of the model."];invokeModelEndpointRoleArn:String_.toption[@ocaml.doc"The role used to invoke the model."];inputConfiguration:ModelInputConfiguration.toption[@ocaml.doc"The input configuration."];outputConfiguration:ModelOutputConfiguration.toption[@ocaml.doc"The output configuration."];modelEndpointStatus:ModelEndpointStatus.toption[@ocaml.doc"The Amazon Fraud Detector status for the external model endpoint"];lastUpdatedTime:Time.toption[@ocaml.doc"Timestamp of when the model was last updated."];createdTime:Time.toption[@ocaml.doc"Timestamp of when the model was last created."];arn:FraudDetectorArn.toption[@ocaml.doc"The model ARN."]}letmake?modelEndpoint=fun?modelSource->fun?invokeModelEndpointRoleArn->fun?inputConfiguration->fun?outputConfiguration->fun?modelEndpointStatus->fun?lastUpdatedTime->fun?createdTime->fun?arn->fun()->{modelEndpoint;modelSource;invokeModelEndpointRoleArn;inputConfiguration;outputConfiguration;modelEndpointStatus;lastUpdatedTime;createdTime;arn}letto_valuex=structure_to_value[("modelEndpoint",(Option.mapx.modelEndpoint~f:String_.to_value));("modelSource",(Option.mapx.modelSource~f:ModelSource.to_value));("invokeModelEndpointRoleArn",(Option.mapx.invokeModelEndpointRoleArn~f:String_.to_value));("inputConfiguration",(Option.mapx.inputConfiguration~f:ModelInputConfiguration.to_value));("outputConfiguration",(Option.mapx.outputConfiguration~f:ModelOutputConfiguration.to_value));("modelEndpointStatus",(Option.mapx.modelEndpointStatus~f:ModelEndpointStatus.to_value));("lastUpdatedTime",(Option.mapx.lastUpdatedTime~f:Time.to_value));("createdTime",(Option.mapx.createdTime~f:Time.to_value));("arn",(Option.mapx.arn~f:FraudDetectorArn.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letarn=(Option.map~f:FraudDetectorArn.of_xml)(Xml.childxml_arg0"arn")inletcreatedTime=(Option.map~f:Time.of_xml)(Xml.childxml_arg0"createdTime")inletlastUpdatedTime=(Option.map~f:Time.of_xml)(Xml.childxml_arg0"lastUpdatedTime")inletmodelEndpointStatus=(Option.map~f:ModelEndpointStatus.of_xml)(Xml.childxml_arg0"modelEndpointStatus")inletoutputConfiguration=(Option.map~f:ModelOutputConfiguration.of_xml)(Xml.childxml_arg0"outputConfiguration")inletinputConfiguration=(Option.map~f:ModelInputConfiguration.of_xml)(Xml.childxml_arg0"inputConfiguration")inletinvokeModelEndpointRoleArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"invokeModelEndpointRoleArn")inletmodelSource=(Option.map~f:ModelSource.of_xml)(Xml.childxml_arg0"modelSource")inletmodelEndpoint=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"modelEndpoint")inmake?arn?createdTime?lastUpdatedTime?modelEndpointStatus?outputConfiguration?inputConfiguration?invokeModelEndpointRoleArn?modelSource?modelEndpoint()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letarn=field_mapjson__"arn"FraudDetectorArn.of_jsoninletcreatedTime=field_mapjson__"createdTime"Time.of_jsoninletlastUpdatedTime=field_mapjson__"lastUpdatedTime"Time.of_jsoninletmodelEndpointStatus=field_mapjson__"modelEndpointStatus"ModelEndpointStatus.of_jsoninletoutputConfiguration=field_mapjson__"outputConfiguration"ModelOutputConfiguration.of_jsoninletinputConfiguration=field_mapjson__"inputConfiguration"ModelInputConfiguration.of_jsoninletinvokeModelEndpointRoleArn=field_mapjson__"invokeModelEndpointRoleArn"String_.of_jsoninletmodelSource=field_mapjson__"modelSource"ModelSource.of_jsoninletmodelEndpoint=field_mapjson__"modelEndpoint"String_.of_jsoninmake?arn?createdTime?lastUpdatedTime?modelEndpointStatus?outputConfiguration?inputConfiguration?invokeModelEndpointRoleArn?modelSource?modelEndpoint()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The Amazon SageMaker model."]moduleEventType=structtypenonrect={name:String_.toption[@ocaml.doc"The event type name."];description:Description.toption[@ocaml.doc"The event type description."];eventVariables:ListOfStrings.toption[@ocaml.doc"The event type event variables."];labels:ListOfStrings.toption[@ocaml.doc"The event type labels."];entityTypes:NonEmptyListOfStrings.toption[@ocaml.doc"The event type entity types."];eventIngestion:EventIngestion.toption[@ocaml.doc"If Enabled, Amazon Fraud Detector stores event data when you generate a prediction and uses that data to update calculated variables in near real-time. Amazon Fraud Detector uses this data, known as INGESTED_EVENTS, to train your model and improve fraud predictions."];ingestedEventStatistics:IngestedEventStatistics.toption[@ocaml.doc"Data about the stored events."];lastUpdatedTime:Time.toption[@ocaml.doc"Timestamp of when the event type was last updated."];createdTime:Time.toption[@ocaml.doc"Timestamp of when the event type was created."];arn:FraudDetectorArn.toption[@ocaml.doc"The entity type ARN."];eventOrchestration:EventOrchestration.toption[@ocaml.doc"The event orchestration status."]}letmake?name=fun?description->fun?eventVariables->fun?labels->fun?entityTypes->fun?eventIngestion->fun?ingestedEventStatistics->fun?lastUpdatedTime->fun?createdTime->fun?arn->fun?eventOrchestration->fun()->{name;description;eventVariables;labels;entityTypes;eventIngestion;ingestedEventStatistics;lastUpdatedTime;createdTime;arn;eventOrchestration}letto_valuex=structure_to_value[("name",(Option.mapx.name~f:String_.to_value));("description",(Option.mapx.description~f:Description.to_value));("eventVariables",(Option.mapx.eventVariables~f:ListOfStrings.to_value));("labels",(Option.mapx.labels~f:ListOfStrings.to_value));("entityTypes",(Option.mapx.entityTypes~f:NonEmptyListOfStrings.to_value));("eventIngestion",(Option.mapx.eventIngestion~f:EventIngestion.to_value));("ingestedEventStatistics",(Option.mapx.ingestedEventStatistics~f:IngestedEventStatistics.to_value));("lastUpdatedTime",(Option.mapx.lastUpdatedTime~f:Time.to_value));("createdTime",(Option.mapx.createdTime~f:Time.to_value));("arn",(Option.mapx.arn~f:FraudDetectorArn.to_value));("eventOrchestration",(Option.mapx.eventOrchestration~f:EventOrchestration.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=leteventOrchestration=(Option.map~f:EventOrchestration.of_xml)(Xml.childxml_arg0"eventOrchestration")inletarn=(Option.map~f:FraudDetectorArn.of_xml)(Xml.childxml_arg0"arn")inletcreatedTime=(Option.map~f:Time.of_xml)(Xml.childxml_arg0"createdTime")inletlastUpdatedTime=(Option.map~f:Time.of_xml)(Xml.childxml_arg0"lastUpdatedTime")inletingestedEventStatistics=(Option.map~f:IngestedEventStatistics.of_xml)(Xml.childxml_arg0"ingestedEventStatistics")inleteventIngestion=(Option.map~f:EventIngestion.of_xml)(Xml.childxml_arg0"eventIngestion")inletentityTypes=(Option.map~f:NonEmptyListOfStrings.of_xml)(Xml.childxml_arg0"entityTypes")inletlabels=(Option.map~f:ListOfStrings.of_xml)(Xml.childxml_arg0"labels")inleteventVariables=(Option.map~f:ListOfStrings.of_xml)(Xml.childxml_arg0"eventVariables")inletdescription=(Option.map~f:Description.of_xml)(Xml.childxml_arg0"description")inletname=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"name")inmake?eventOrchestration?arn?createdTime?lastUpdatedTime?ingestedEventStatistics?eventIngestion?entityTypes?labels?eventVariables?description?name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=leteventOrchestration=field_mapjson__"eventOrchestration"EventOrchestration.of_jsoninletarn=field_mapjson__"arn"FraudDetectorArn.of_jsoninletcreatedTime=field_mapjson__"createdTime"Time.of_jsoninletlastUpdatedTime=field_mapjson__"lastUpdatedTime"Time.of_jsoninletingestedEventStatistics=field_mapjson__"ingestedEventStatistics"IngestedEventStatistics.of_jsoninleteventIngestion=field_mapjson__"eventIngestion"EventIngestion.of_jsoninletentityTypes=field_mapjson__"entityTypes"NonEmptyListOfStrings.of_jsoninletlabels=field_mapjson__"labels"ListOfStrings.of_jsoninleteventVariables=field_mapjson__"eventVariables"ListOfStrings.of_jsoninletdescription=field_mapjson__"description"Description.of_jsoninletname=field_mapjson__"name"String_.of_jsoninmake?eventOrchestration?arn?createdTime?lastUpdatedTime?ingestedEventStatistics?eventIngestion?entityTypes?labels?eventVariables?description?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The event type details."]moduleEventAttributeMap=structtypenonrect=(AttributeKey.t*AttributeValue.t)listletmakei=iletof_headerxs=make(List.filter_mapxs~f:(fun(k,v)->(Base.String.chop_prefixk~prefix:"x-amz-meta-")|>(Option.map~f:(funchopped->((AttributeKey.of_stringchopped),(AttributeValue.of_stringv))))))letto_valuexs=(xs|>(List.map~f:(fun(x,y)->(AttributeKey.to_valuex)|>(funx->(AttributeValue.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:AttributeKey.of_string~of_json:AttributeValue.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleListOfEntities=structtypenonrect=Entity.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:Entity.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:Entity.of_xml)letof_jsonj=list_of_json~kind:"listOfEntities"~of_json:Entity.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleExternalModelOutputs=structtypenonrect={externalModel:ExternalModelSummary.toption[@ocaml.doc"The Amazon SageMaker model."];outputs:ExternalModelPredictionMap.toption[@ocaml.doc"The fraud prediction scores from Amazon SageMaker model."]}letmake?externalModel=fun?outputs->fun()->{externalModel;outputs}letto_valuex=structure_to_value[("externalModel",(Option.mapx.externalModel~f:ExternalModelSummary.to_value));("outputs",(Option.mapx.outputs~f:ExternalModelPredictionMap.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letoutputs=(Option.map~f:ExternalModelPredictionMap.of_xml)(Xml.childxml_arg0"outputs")inletexternalModel=(Option.map~f:ExternalModelSummary.of_xml)(Xml.childxml_arg0"externalModel")inmake?outputs?externalModel()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letoutputs=field_mapjson__"outputs"ExternalModelPredictionMap.of_jsoninletexternalModel=field_mapjson__"externalModel"ExternalModelSummary.of_jsoninmake?outputs?externalModel()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The fraud prediction scores from Amazon SageMaker model."]moduleModelScores=structtypenonrect={modelVersion:ModelVersion.toption[@ocaml.doc"The model version."];scores:ModelPredictionMap.toption[@ocaml.doc"The model's fraud prediction scores."]}letmake?modelVersion=fun?scores->fun()->{modelVersion;scores}letto_valuex=structure_to_value[("modelVersion",(Option.mapx.modelVersion~f:ModelVersion.to_value));("scores",(Option.mapx.scores~f:ModelPredictionMap.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letscores=(Option.map~f:ModelPredictionMap.of_xml)(Xml.childxml_arg0"scores")inletmodelVersion=(Option.map~f:ModelVersion.of_xml)(Xml.childxml_arg0"modelVersion")inmake?scores?modelVersion()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letscores=field_mapjson__"scores"ModelPredictionMap.of_jsoninletmodelVersion=field_mapjson__"modelVersion"ModelVersion.of_jsoninmake?scores?modelVersion()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The fraud prediction scores."]moduleRuleResult=structtypenonrect={ruleId:String_.toption[@ocaml.doc"The rule ID that was matched, based on the rule execution mode."];outcomes:ListOfStrings.toption[@ocaml.doc"The outcomes of the matched rule, based on the rule execution mode."]}letmake?ruleId=fun?outcomes->fun()->{ruleId;outcomes}letto_valuex=structure_to_value[("ruleId",(Option.mapx.ruleId~f:String_.to_value));("outcomes",(Option.mapx.outcomes~f:ListOfStrings.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letoutcomes=(Option.map~f:ListOfStrings.of_xml)(Xml.childxml_arg0"outcomes")inletruleId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"ruleId")inmake?outcomes?ruleId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letoutcomes=field_mapjson__"outcomes"ListOfStrings.of_jsoninletruleId=field_mapjson__"ruleId"String_.of_jsoninmake?outcomes?ruleId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The rule results."]moduleModelEndpointDataBlob=structtypenonrect={byteBuffer:Blob.toption[@ocaml.doc"The byte buffer of the Amazon SageMaker model endpoint input data blob."];contentType:ContentType.toption[@ocaml.doc"The content type of the Amazon SageMaker model endpoint input data blob."]}letmake?byteBuffer=fun?contentType->fun()->{byteBuffer;contentType}letto_valuex=structure_to_value[("byteBuffer",(Option.mapx.byteBuffer~f:Blob.to_value));("contentType",(Option.mapx.contentType~f:ContentType.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcontentType=(Option.map~f:ContentType.of_xml)(Xml.childxml_arg0"contentType")inletbyteBuffer=(Option.map~f:Blob.of_xml)(Xml.childxml_arg0"byteBuffer")inmake?contentType?byteBuffer()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcontentType=field_mapjson__"contentType"ContentType.of_jsoninletbyteBuffer=field_mapjson__"byteBuffer"Blob.of_jsoninmake?contentType?byteBuffer()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A pre-formed Amazon SageMaker model input you can include if your detector version includes an imported Amazon SageMaker model endpoint with pass-through input configuration."]moduleSageMakerEndpointIdentifier=structtypenonrect=stringletcontext_="sageMakerEndpointIdentifier"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:63)>>=(fun()->check_patterni~pattern:"^[0-9A-Za-z_-]+$")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"sageMakerEndpointIdentifier"jletto_json=simple_to_jsonto_valueendmoduleEvaluatedRule=structtypenonrect={ruleId:Identifier.toption[@ocaml.doc"The rule ID."];ruleVersion:WholeNumberVersionString.toption[@ocaml.doc"The rule version."];expression:SensitiveString.toption[@ocaml.doc"The rule expression."];expressionWithValues:SensitiveString.toption[@ocaml.doc"The rule expression value."];outcomes:ListOfStrings.toption[@ocaml.doc"The rule outcome."];evaluated:Boolean.toption[@ocaml.doc"Indicates whether the rule was evaluated."];matched:Boolean.toption[@ocaml.doc"Indicates whether the rule matched."]}letmake?ruleId=fun?ruleVersion->fun?expression->fun?expressionWithValues->fun?outcomes->fun?evaluated->fun?matched->fun()->{ruleId;ruleVersion;expression;expressionWithValues;outcomes;evaluated;matched}letto_valuex=structure_to_value[("ruleId",(Option.mapx.ruleId~f:Identifier.to_value));("ruleVersion",(Option.mapx.ruleVersion~f:WholeNumberVersionString.to_value));("expression",(Option.mapx.expression~f:SensitiveString.to_value));("expressionWithValues",(Option.mapx.expressionWithValues~f:SensitiveString.to_value));("outcomes",(Option.mapx.outcomes~f:ListOfStrings.to_value));("evaluated",(Option.mapx.evaluated~f:Boolean.to_value));("matched",(Option.mapx.matched~f:Boolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmatched=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"matched")inletevaluated=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"evaluated")inletoutcomes=(Option.map~f:ListOfStrings.of_xml)(Xml.childxml_arg0"outcomes")inletexpressionWithValues=(Option.map~f:SensitiveString.of_xml)(Xml.childxml_arg0"expressionWithValues")inletexpression=(Option.map~f:SensitiveString.of_xml)(Xml.childxml_arg0"expression")inletruleVersion=(Option.map~f:WholeNumberVersionString.of_xml)(Xml.childxml_arg0"ruleVersion")inletruleId=(Option.map~f:Identifier.of_xml)(Xml.childxml_arg0"ruleId")inmake?matched?evaluated?outcomes?expressionWithValues?expression?ruleVersion?ruleId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmatched=field_mapjson__"matched"Boolean.of_jsoninletevaluated=field_mapjson__"evaluated"Boolean.of_jsoninletoutcomes=field_mapjson__"outcomes"ListOfStrings.of_jsoninletexpressionWithValues=field_mapjson__"expressionWithValues"SensitiveString.of_jsoninletexpression=field_mapjson__"expression"SensitiveString.of_jsoninletruleVersion=field_mapjson__"ruleVersion"WholeNumberVersionString.of_jsoninletruleId=field_mapjson__"ruleId"Identifier.of_jsoninmake?matched?evaluated?outcomes?expressionWithValues?expression?ruleVersion?ruleId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The details of the rule used for evaluating variable values."]moduleEvaluatedExternalModel=structtypenonrect={modelEndpoint:String_.toption[@ocaml.doc"The endpoint of the external (Amazon Sagemaker) model."];useEventVariables:Boolean.toption[@ocaml.doc"Indicates whether event variables were used to generate predictions."];inputVariables:MapOfStrings.toption[@ocaml.doc"Input variables use for generating predictions."];outputVariables:MapOfStrings.toption[@ocaml.doc"Output variables."]}letmake?modelEndpoint=fun?useEventVariables->fun?inputVariables->fun?outputVariables->fun()->{modelEndpoint;useEventVariables;inputVariables;outputVariables}letto_valuex=structure_to_value[("modelEndpoint",(Option.mapx.modelEndpoint~f:String_.to_value));("useEventVariables",(Option.mapx.useEventVariables~f:Boolean.to_value));("inputVariables",(Option.mapx.inputVariables~f:MapOfStrings.to_value));("outputVariables",(Option.mapx.outputVariables~f:MapOfStrings.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letoutputVariables=(Option.map~f:MapOfStrings.of_xml)(Xml.childxml_arg0"outputVariables")inletinputVariables=(Option.map~f:MapOfStrings.of_xml)(Xml.childxml_arg0"inputVariables")inletuseEventVariables=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"useEventVariables")inletmodelEndpoint=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"modelEndpoint")inmake?outputVariables?inputVariables?useEventVariables?modelEndpoint()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letoutputVariables=field_mapjson__"outputVariables"MapOfStrings.of_jsoninletinputVariables=field_mapjson__"inputVariables"MapOfStrings.of_jsoninletuseEventVariables=field_mapjson__"useEventVariables"Boolean.of_jsoninletmodelEndpoint=field_mapjson__"modelEndpoint"String_.of_jsoninmake?outputVariables?inputVariables?useEventVariables?modelEndpoint()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The details of the external (Amazon Sagemaker) model evaluated for generating predictions."]moduleEvaluatedModelVersion=structtypenonrect={modelId:String_.toption[@ocaml.doc"The model ID."];modelVersion:String_.toption[@ocaml.doc"The model version."];modelType:String_.toption[@ocaml.doc"The model type. Valid values: ONLINE_FRAUD_INSIGHTS | TRANSACTION_FRAUD_INSIGHTS"];evaluations:ListOfModelVersionEvaluations.toption[@ocaml.doc"Evaluations generated for the model version."]}letmake?modelId=fun?modelVersion->fun?modelType->fun?evaluations->fun()->{modelId;modelVersion;modelType;evaluations}letto_valuex=structure_to_value[("modelId",(Option.mapx.modelId~f:String_.to_value));("modelVersion",(Option.mapx.modelVersion~f:String_.to_value));("modelType",(Option.mapx.modelType~f:String_.to_value));("evaluations",(Option.mapx.evaluations~f:ListOfModelVersionEvaluations.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letevaluations=(Option.map~f:ListOfModelVersionEvaluations.of_xml)(Xml.childxml_arg0"evaluations")inletmodelType=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"modelType")inletmodelVersion=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"modelVersion")inletmodelId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"modelId")inmake?evaluations?modelType?modelVersion?modelId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letevaluations=field_mapjson__"evaluations"ListOfModelVersionEvaluations.of_jsoninletmodelType=field_mapjson__"modelType"String_.of_jsoninletmodelVersion=field_mapjson__"modelVersion"String_.of_jsoninletmodelId=field_mapjson__"modelId"String_.of_jsoninmake?evaluations?modelType?modelVersion?modelId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The model version evaluated for generating prediction."]moduleEventVariableSummary=structtypenonrect={name:SensitiveString.toption[@ocaml.doc"The event variable name."];value:SensitiveString.toption[@ocaml.doc"The value of the event variable."];source:SensitiveString.toption[@ocaml.doc"The event variable source."]}letmake?name=fun?value->fun?source->fun()->{name;value;source}letto_valuex=structure_to_value[("name",(Option.mapx.name~f:SensitiveString.to_value));("value",(Option.mapx.value~f:SensitiveString.to_value));("source",(Option.mapx.source~f:SensitiveString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letsource=(Option.map~f:SensitiveString.of_xml)(Xml.childxml_arg0"source")inletvalue=(Option.map~f:SensitiveString.of_xml)(Xml.childxml_arg0"value")inletname=(Option.map~f:SensitiveString.of_xml)(Xml.childxml_arg0"name")inmake?source?value?name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letsource=field_mapjson__"source"SensitiveString.of_jsoninletvalue=field_mapjson__"value"SensitiveString.of_jsoninletname=field_mapjson__"name"SensitiveString.of_jsoninmake?source?value?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Information about the summary of an event variable that was evaluated for generating prediction."]moduleEntityType=structtypenonrect={name:String_.toption[@ocaml.doc"The entity type name."];description:Description.toption[@ocaml.doc"The entity type description."];lastUpdatedTime:Time.toption[@ocaml.doc"Timestamp of when the entity type was last updated."];createdTime:Time.toption[@ocaml.doc"Timestamp of when the entity type was created."];arn:FraudDetectorArn.toption[@ocaml.doc"The entity type ARN."]}letmake?name=fun?description->fun?lastUpdatedTime->fun?createdTime->fun?arn->fun()->{name;description;lastUpdatedTime;createdTime;arn}letto_valuex=structure_to_value[("name",(Option.mapx.name~f:String_.to_value));("description",(Option.mapx.description~f:Description.to_value));("lastUpdatedTime",(Option.mapx.lastUpdatedTime~f:Time.to_value));("createdTime",(Option.mapx.createdTime~f:Time.to_value));("arn",(Option.mapx.arn~f:FraudDetectorArn.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letarn=(Option.map~f:FraudDetectorArn.of_xml)(Xml.childxml_arg0"arn")inletcreatedTime=(Option.map~f:Time.of_xml)(Xml.childxml_arg0"createdTime")inletlastUpdatedTime=(Option.map~f:Time.of_xml)(Xml.childxml_arg0"lastUpdatedTime")inletdescription=(Option.map~f:Description.of_xml)(Xml.childxml_arg0"description")inletname=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"name")inmake?arn?createdTime?lastUpdatedTime?description?name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letarn=field_mapjson__"arn"FraudDetectorArn.of_jsoninletcreatedTime=field_mapjson__"createdTime"Time.of_jsoninletlastUpdatedTime=field_mapjson__"lastUpdatedTime"Time.of_jsoninletdescription=field_mapjson__"description"Description.of_jsoninletname=field_mapjson__"name"String_.of_jsoninmake?arn?createdTime?lastUpdatedTime?description?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The entity type details."]moduleDetector=structtypenonrect={detectorId:Identifier.toption[@ocaml.doc"The detector ID."];description:Description.toption[@ocaml.doc"The detector description."];eventTypeName:Identifier.toption[@ocaml.doc"The name of the event type."];lastUpdatedTime:Time.toption[@ocaml.doc"Timestamp of when the detector was last updated."];createdTime:Time.toption[@ocaml.doc"Timestamp of when the detector was created."];arn:FraudDetectorArn.toption[@ocaml.doc"The detector ARN."]}letmake?detectorId=fun?description->fun?eventTypeName->fun?lastUpdatedTime->fun?createdTime->fun?arn->fun()->{detectorId;description;eventTypeName;lastUpdatedTime;createdTime;arn}letto_valuex=structure_to_value[("detectorId",(Option.mapx.detectorId~f:Identifier.to_value));("description",(Option.mapx.description~f:Description.to_value));("eventTypeName",(Option.mapx.eventTypeName~f:Identifier.to_value));("lastUpdatedTime",(Option.mapx.lastUpdatedTime~f:Time.to_value));("createdTime",(Option.mapx.createdTime~f:Time.to_value));("arn",(Option.mapx.arn~f:FraudDetectorArn.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letarn=(Option.map~f:FraudDetectorArn.of_xml)(Xml.childxml_arg0"arn")inletcreatedTime=(Option.map~f:Time.of_xml)(Xml.childxml_arg0"createdTime")inletlastUpdatedTime=(Option.map~f:Time.of_xml)(Xml.childxml_arg0"lastUpdatedTime")inleteventTypeName=(Option.map~f:Identifier.of_xml)(Xml.childxml_arg0"eventTypeName")inletdescription=(Option.map~f:Description.of_xml)(Xml.childxml_arg0"description")inletdetectorId=(Option.map~f:Identifier.of_xml)(Xml.childxml_arg0"detectorId")inmake?arn?createdTime?lastUpdatedTime?eventTypeName?description?detectorId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letarn=field_mapjson__"arn"FraudDetectorArn.of_jsoninletcreatedTime=field_mapjson__"createdTime"Time.of_jsoninletlastUpdatedTime=field_mapjson__"lastUpdatedTime"Time.of_jsoninleteventTypeName=field_mapjson__"eventTypeName"Identifier.of_jsoninletdescription=field_mapjson__"description"Description.of_jsoninletdetectorId=field_mapjson__"detectorId"Identifier.of_jsoninmake?arn?createdTime?lastUpdatedTime?eventTypeName?description?detectorId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The detector."]moduleBatchPrediction=structtypenonrect={jobId:Identifier.toption[@ocaml.doc"The job ID for the batch prediction."];status:AsyncJobStatus.toption[@ocaml.doc"The batch prediction status."];failureReason:String_.toption[@ocaml.doc"The reason a batch prediction job failed."];startTime:Time.toption[@ocaml.doc"Timestamp of when the batch prediction job started."];completionTime:Time.toption[@ocaml.doc"Timestamp of when the batch prediction job completed."];lastHeartbeatTime:Time.toption[@ocaml.doc"Timestamp of most recent heartbeat indicating the batch prediction job was making progress."];inputPath:S3BucketLocation.toption[@ocaml.doc"The Amazon S3 location of your training file."];outputPath:S3BucketLocation.toption[@ocaml.doc"The Amazon S3 location of your output file."];eventTypeName:Identifier.toption[@ocaml.doc"The name of the event type."];detectorName:Identifier.toption[@ocaml.doc"The name of the detector."];detectorVersion:FloatVersionString.toption[@ocaml.doc"The detector version."];iamRoleArn:IamRoleArn.toption[@ocaml.doc"The ARN of the IAM role to use for this job request."];arn:FraudDetectorArn.toption[@ocaml.doc"The ARN of batch prediction job."];processedRecordsCount:Integer.toption[@ocaml.doc"The number of records processed by the batch prediction job."];totalRecordsCount:Integer.toption[@ocaml.doc"The total number of records in the batch prediction job."]}letmake?jobId=fun?status->fun?failureReason->fun?startTime->fun?completionTime->fun?lastHeartbeatTime->fun?inputPath->fun?outputPath->fun?eventTypeName->fun?detectorName->fun?detectorVersion->fun?iamRoleArn->fun?arn->fun?processedRecordsCount->fun?totalRecordsCount->fun()->{jobId;status;failureReason;startTime;completionTime;lastHeartbeatTime;inputPath;outputPath;eventTypeName;detectorName;detectorVersion;iamRoleArn;arn;processedRecordsCount;totalRecordsCount}letto_valuex=structure_to_value[("jobId",(Option.mapx.jobId~f:Identifier.to_value));("status",(Option.mapx.status~f:AsyncJobStatus.to_value));("failureReason",(Option.mapx.failureReason~f:String_.to_value));("startTime",(Option.mapx.startTime~f:Time.to_value));("completionTime",(Option.mapx.completionTime~f:Time.to_value));("lastHeartbeatTime",(Option.mapx.lastHeartbeatTime~f:Time.to_value));("inputPath",(Option.mapx.inputPath~f:S3BucketLocation.to_value));("outputPath",(Option.mapx.outputPath~f:S3BucketLocation.to_value));("eventTypeName",(Option.mapx.eventTypeName~f:Identifier.to_value));("detectorName",(Option.mapx.detectorName~f:Identifier.to_value));("detectorVersion",(Option.mapx.detectorVersion~f:FloatVersionString.to_value));("iamRoleArn",(Option.mapx.iamRoleArn~f:IamRoleArn.to_value));("arn",(Option.mapx.arn~f:FraudDetectorArn.to_value));("processedRecordsCount",(Option.mapx.processedRecordsCount~f:Integer.to_value));("totalRecordsCount",(Option.mapx.totalRecordsCount~f:Integer.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettotalRecordsCount=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"totalRecordsCount")inletprocessedRecordsCount=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"processedRecordsCount")inletarn=(Option.map~f:FraudDetectorArn.of_xml)(Xml.childxml_arg0"arn")inletiamRoleArn=(Option.map~f:IamRoleArn.of_xml)(Xml.childxml_arg0"iamRoleArn")inletdetectorVersion=(Option.map~f:FloatVersionString.of_xml)(Xml.childxml_arg0"detectorVersion")inletdetectorName=(Option.map~f:Identifier.of_xml)(Xml.childxml_arg0"detectorName")inleteventTypeName=(Option.map~f:Identifier.of_xml)(Xml.childxml_arg0"eventTypeName")inletoutputPath=(Option.map~f:S3BucketLocation.of_xml)(Xml.childxml_arg0"outputPath")inletinputPath=(Option.map~f:S3BucketLocation.of_xml)(Xml.childxml_arg0"inputPath")inletlastHeartbeatTime=(Option.map~f:Time.of_xml)(Xml.childxml_arg0"lastHeartbeatTime")inletcompletionTime=(Option.map~f:Time.of_xml)(Xml.childxml_arg0"completionTime")inletstartTime=(Option.map~f:Time.of_xml)(Xml.childxml_arg0"startTime")inletfailureReason=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"failureReason")inletstatus=(Option.map~f:AsyncJobStatus.of_xml)(Xml.childxml_arg0"status")inletjobId=(Option.map~f:Identifier.of_xml)(Xml.childxml_arg0"jobId")inmake?totalRecordsCount?processedRecordsCount?arn?iamRoleArn?detectorVersion?detectorName?eventTypeName?outputPath?inputPath?lastHeartbeatTime?completionTime?startTime?failureReason?status?jobId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettotalRecordsCount=field_mapjson__"totalRecordsCount"Integer.of_jsoninletprocessedRecordsCount=field_mapjson__"processedRecordsCount"Integer.of_jsoninletarn=field_mapjson__"arn"FraudDetectorArn.of_jsoninletiamRoleArn=field_mapjson__"iamRoleArn"IamRoleArn.of_jsoninletdetectorVersion=field_mapjson__"detectorVersion"FloatVersionString.of_jsoninletdetectorName=field_mapjson__"detectorName"Identifier.of_jsoninleteventTypeName=field_mapjson__"eventTypeName"Identifier.of_jsoninletoutputPath=field_mapjson__"outputPath"S3BucketLocation.of_jsoninletinputPath=field_mapjson__"inputPath"S3BucketLocation.of_jsoninletlastHeartbeatTime=field_mapjson__"lastHeartbeatTime"Time.of_jsoninletcompletionTime=field_mapjson__"completionTime"Time.of_jsoninletstartTime=field_mapjson__"startTime"Time.of_jsoninletfailureReason=field_mapjson__"failureReason"String_.of_jsoninletstatus=field_mapjson__"status"AsyncJobStatus.of_jsoninletjobId=field_mapjson__"jobId"Identifier.of_jsoninmake?totalRecordsCount?processedRecordsCount?arn?iamRoleArn?detectorVersion?detectorName?eventTypeName?outputPath?inputPath?lastHeartbeatTime?completionTime?startTime?failureReason?status?jobId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The batch prediction details."]moduleBatchImport=structtypenonrect={jobId:Identifier.toption[@ocaml.doc"The ID of the batch import job."];status:AsyncJobStatus.toption[@ocaml.doc"The status of the batch import job."];failureReason:String_.toption[@ocaml.doc"The reason batch import job failed."];startTime:Time.toption[@ocaml.doc"Timestamp of when the batch import job started."];completionTime:Time.toption[@ocaml.doc"Timestamp of when batch import job completed."];inputPath:S3BucketLocation.toption[@ocaml.doc"The Amazon S3 location of your data file for batch import."];outputPath:S3BucketLocation.toption[@ocaml.doc"The Amazon S3 location of your output file."];eventTypeName:Identifier.toption[@ocaml.doc"The name of the event type."];iamRoleArn:IamRoleArn.toption[@ocaml.doc"The ARN of the IAM role to use for this job request."];arn:FraudDetectorArn.toption[@ocaml.doc"The ARN of the batch import job."];processedRecordsCount:Integer.toption[@ocaml.doc"The number of records processed by batch import job."];failedRecordsCount:Integer.toption[@ocaml.doc"The number of records that failed to import."];totalRecordsCount:Integer.toption[@ocaml.doc"The total number of records in the batch import job."]}letmake?jobId=fun?status->fun?failureReason->fun?startTime->fun?completionTime->fun?inputPath->fun?outputPath->fun?eventTypeName->fun?iamRoleArn->fun?arn->fun?processedRecordsCount->fun?failedRecordsCount->fun?totalRecordsCount->fun()->{jobId;status;failureReason;startTime;completionTime;inputPath;outputPath;eventTypeName;iamRoleArn;arn;processedRecordsCount;failedRecordsCount;totalRecordsCount}letto_valuex=structure_to_value[("jobId",(Option.mapx.jobId~f:Identifier.to_value));("status",(Option.mapx.status~f:AsyncJobStatus.to_value));("failureReason",(Option.mapx.failureReason~f:String_.to_value));("startTime",(Option.mapx.startTime~f:Time.to_value));("completionTime",(Option.mapx.completionTime~f:Time.to_value));("inputPath",(Option.mapx.inputPath~f:S3BucketLocation.to_value));("outputPath",(Option.mapx.outputPath~f:S3BucketLocation.to_value));("eventTypeName",(Option.mapx.eventTypeName~f:Identifier.to_value));("iamRoleArn",(Option.mapx.iamRoleArn~f:IamRoleArn.to_value));("arn",(Option.mapx.arn~f:FraudDetectorArn.to_value));("processedRecordsCount",(Option.mapx.processedRecordsCount~f:Integer.to_value));("failedRecordsCount",(Option.mapx.failedRecordsCount~f:Integer.to_value));("totalRecordsCount",(Option.mapx.totalRecordsCount~f:Integer.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettotalRecordsCount=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"totalRecordsCount")inletfailedRecordsCount=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"failedRecordsCount")inletprocessedRecordsCount=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"processedRecordsCount")inletarn=(Option.map~f:FraudDetectorArn.of_xml)(Xml.childxml_arg0"arn")inletiamRoleArn=(Option.map~f:IamRoleArn.of_xml)(Xml.childxml_arg0"iamRoleArn")inleteventTypeName=(Option.map~f:Identifier.of_xml)(Xml.childxml_arg0"eventTypeName")inletoutputPath=(Option.map~f:S3BucketLocation.of_xml)(Xml.childxml_arg0"outputPath")inletinputPath=(Option.map~f:S3BucketLocation.of_xml)(Xml.childxml_arg0"inputPath")inletcompletionTime=(Option.map~f:Time.of_xml)(Xml.childxml_arg0"completionTime")inletstartTime=(Option.map~f:Time.of_xml)(Xml.childxml_arg0"startTime")inletfailureReason=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"failureReason")inletstatus=(Option.map~f:AsyncJobStatus.of_xml)(Xml.childxml_arg0"status")inletjobId=(Option.map~f:Identifier.of_xml)(Xml.childxml_arg0"jobId")inmake?totalRecordsCount?failedRecordsCount?processedRecordsCount?arn?iamRoleArn?eventTypeName?outputPath?inputPath?completionTime?startTime?failureReason?status?jobId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettotalRecordsCount=field_mapjson__"totalRecordsCount"Integer.of_jsoninletfailedRecordsCount=field_mapjson__"failedRecordsCount"Integer.of_jsoninletprocessedRecordsCount=field_mapjson__"processedRecordsCount"Integer.of_jsoninletarn=field_mapjson__"arn"FraudDetectorArn.of_jsoninletiamRoleArn=field_mapjson__"iamRoleArn"IamRoleArn.of_jsoninleteventTypeName=field_mapjson__"eventTypeName"Identifier.of_jsoninletoutputPath=field_mapjson__"outputPath"S3BucketLocation.of_jsoninletinputPath=field_mapjson__"inputPath"S3BucketLocation.of_jsoninletcompletionTime=field_mapjson__"completionTime"Time.of_jsoninletstartTime=field_mapjson__"startTime"Time.of_jsoninletfailureReason=field_mapjson__"failureReason"String_.of_jsoninletstatus=field_mapjson__"status"AsyncJobStatus.of_jsoninletjobId=field_mapjson__"jobId"Identifier.of_jsoninmake?totalRecordsCount?failedRecordsCount?processedRecordsCount?arn?iamRoleArn?eventTypeName?outputPath?inputPath?completionTime?startTime?failureReason?status?jobId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The batch import job details."]moduleModelVersionDetail=structtypenonrect={modelId:ModelIdentifier.toption[@ocaml.doc"The model ID."];modelType:ModelTypeEnum.toption[@ocaml.doc"The model type."];modelVersionNumber:FloatVersionString.toption[@ocaml.doc"The model version number."];status:String_.toption[@ocaml.doc"The status of the model version."];trainingDataSource:TrainingDataSourceEnum.toption[@ocaml.doc"The model version training data source."];trainingDataSchema:TrainingDataSchema.toption[@ocaml.doc"The training data schema."];externalEventsDetail:ExternalEventsDetail.toption[@ocaml.doc"The external events data details. This will be populated if the trainingDataSource for the model version is specified as EXTERNAL_EVENTS."];ingestedEventsDetail:IngestedEventsDetail.toption[@ocaml.doc"The ingested events data details. This will be populated if the trainingDataSource for the model version is specified as INGESTED_EVENTS."];trainingResult:TrainingResult.toption[@ocaml.doc"The training results."];lastUpdatedTime:Time.toption[@ocaml.doc"The timestamp when the model was last updated."];createdTime:Time.toption[@ocaml.doc"The timestamp when the model was created."];arn:FraudDetectorArn.toption[@ocaml.doc"The model version ARN."];trainingResultV2:TrainingResultV2.toption[@ocaml.doc"The training result details. The details include the relative importance of the variables."]}letmake?modelId=fun?modelType->fun?modelVersionNumber->fun?status->fun?trainingDataSource->fun?trainingDataSchema->fun?externalEventsDetail->fun?ingestedEventsDetail->fun?trainingResult->fun?lastUpdatedTime->fun?createdTime->fun?arn->fun?trainingResultV2->fun()->{modelId;modelType;modelVersionNumber;status;trainingDataSource;trainingDataSchema;externalEventsDetail;ingestedEventsDetail;trainingResult;lastUpdatedTime;createdTime;arn;trainingResultV2}letto_valuex=structure_to_value[("modelId",(Option.mapx.modelId~f:ModelIdentifier.to_value));("modelType",(Option.mapx.modelType~f:ModelTypeEnum.to_value));("modelVersionNumber",(Option.mapx.modelVersionNumber~f:FloatVersionString.to_value));("status",(Option.mapx.status~f:String_.to_value));("trainingDataSource",(Option.mapx.trainingDataSource~f:TrainingDataSourceEnum.to_value));("trainingDataSchema",(Option.mapx.trainingDataSchema~f:TrainingDataSchema.to_value));("externalEventsDetail",(Option.mapx.externalEventsDetail~f:ExternalEventsDetail.to_value));("ingestedEventsDetail",(Option.mapx.ingestedEventsDetail~f:IngestedEventsDetail.to_value));("trainingResult",(Option.mapx.trainingResult~f:TrainingResult.to_value));("lastUpdatedTime",(Option.mapx.lastUpdatedTime~f:Time.to_value));("createdTime",(Option.mapx.createdTime~f:Time.to_value));("arn",(Option.mapx.arn~f:FraudDetectorArn.to_value));("trainingResultV2",(Option.mapx.trainingResultV2~f:TrainingResultV2.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettrainingResultV2=(Option.map~f:TrainingResultV2.of_xml)(Xml.childxml_arg0"trainingResultV2")inletarn=(Option.map~f:FraudDetectorArn.of_xml)(Xml.childxml_arg0"arn")inletcreatedTime=(Option.map~f:Time.of_xml)(Xml.childxml_arg0"createdTime")inletlastUpdatedTime=(Option.map~f:Time.of_xml)(Xml.childxml_arg0"lastUpdatedTime")inlettrainingResult=(Option.map~f:TrainingResult.of_xml)(Xml.childxml_arg0"trainingResult")inletingestedEventsDetail=(Option.map~f:IngestedEventsDetail.of_xml)(Xml.childxml_arg0"ingestedEventsDetail")inletexternalEventsDetail=(Option.map~f:ExternalEventsDetail.of_xml)(Xml.childxml_arg0"externalEventsDetail")inlettrainingDataSchema=(Option.map~f:TrainingDataSchema.of_xml)(Xml.childxml_arg0"trainingDataSchema")inlettrainingDataSource=(Option.map~f:TrainingDataSourceEnum.of_xml)(Xml.childxml_arg0"trainingDataSource")inletstatus=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"status")inletmodelVersionNumber=(Option.map~f:FloatVersionString.of_xml)(Xml.childxml_arg0"modelVersionNumber")inletmodelType=(Option.map~f:ModelTypeEnum.of_xml)(Xml.childxml_arg0"modelType")inletmodelId=(Option.map~f:ModelIdentifier.of_xml)(Xml.childxml_arg0"modelId")inmake?trainingResultV2?arn?createdTime?lastUpdatedTime?trainingResult?ingestedEventsDetail?externalEventsDetail?trainingDataSchema?trainingDataSource?status?modelVersionNumber?modelType?modelId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettrainingResultV2=field_mapjson__"trainingResultV2"TrainingResultV2.of_jsoninletarn=field_mapjson__"arn"FraudDetectorArn.of_jsoninletcreatedTime=field_mapjson__"createdTime"Time.of_jsoninletlastUpdatedTime=field_mapjson__"lastUpdatedTime"Time.of_jsoninlettrainingResult=field_mapjson__"trainingResult"TrainingResult.of_jsoninletingestedEventsDetail=field_mapjson__"ingestedEventsDetail"IngestedEventsDetail.of_jsoninletexternalEventsDetail=field_mapjson__"externalEventsDetail"ExternalEventsDetail.of_jsoninlettrainingDataSchema=field_mapjson__"trainingDataSchema"TrainingDataSchema.of_jsoninlettrainingDataSource=field_mapjson__"trainingDataSource"TrainingDataSourceEnum.of_jsoninletstatus=field_mapjson__"status"String_.of_jsoninletmodelVersionNumber=field_mapjson__"modelVersionNumber"FloatVersionString.of_jsoninletmodelType=field_mapjson__"modelType"ModelTypeEnum.of_jsoninletmodelId=field_mapjson__"modelId"ModelIdentifier.of_jsoninmake?trainingResultV2?arn?createdTime?lastUpdatedTime?trainingResult?ingestedEventsDetail?externalEventsDetail?trainingDataSchema?trainingDataSource?status?modelVersionNumber?modelType?modelId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The details of the model version."]moduleDetectorVersionSummary=structtypenonrect={detectorVersionId:WholeNumberVersionString.toption[@ocaml.doc"The detector version ID."];status:DetectorVersionStatus.toption[@ocaml.doc"The detector version status."];description:Description.toption[@ocaml.doc"The detector version description."];lastUpdatedTime:Time.toption[@ocaml.doc"Timestamp of when the detector version was last updated."]}letmake?detectorVersionId=fun?status->fun?description->fun?lastUpdatedTime->fun()->{detectorVersionId;status;description;lastUpdatedTime}letto_valuex=structure_to_value[("detectorVersionId",(Option.mapx.detectorVersionId~f:WholeNumberVersionString.to_value));("status",(Option.mapx.status~f:DetectorVersionStatus.to_value));("description",(Option.mapx.description~f:Description.to_value));("lastUpdatedTime",(Option.mapx.lastUpdatedTime~f:Time.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlastUpdatedTime=(Option.map~f:Time.of_xml)(Xml.childxml_arg0"lastUpdatedTime")inletdescription=(Option.map~f:Description.of_xml)(Xml.childxml_arg0"description")inletstatus=(Option.map~f:DetectorVersionStatus.of_xml)(Xml.childxml_arg0"status")inletdetectorVersionId=(Option.map~f:WholeNumberVersionString.of_xml)(Xml.childxml_arg0"detectorVersionId")inmake?lastUpdatedTime?description?status?detectorVersionId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlastUpdatedTime=field_mapjson__"lastUpdatedTime"Time.of_jsoninletdescription=field_mapjson__"description"Description.of_jsoninletstatus=field_mapjson__"status"DetectorVersionStatus.of_jsoninletdetectorVersionId=field_mapjson__"detectorVersionId"WholeNumberVersionString.of_jsoninmake?lastUpdatedTime?description?status?detectorVersionId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The summary of the detector version."]moduleBatchGetVariableError=structtypenonrect={name:String_.toption[@ocaml.doc"The error name."];code:Integer__lc1.toption[@ocaml.doc"The error code."];message:String_.toption[@ocaml.doc"The error message."]}letmake?name=fun?code->fun?message->fun()->{name;code;message}letto_valuex=structure_to_value[("name",(Option.mapx.name~f:String_.to_value));("code",(Option.mapx.code~f:Integer__lc1.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")inletcode=(Option.map~f:Integer__lc1.of_xml)(Xml.childxml_arg0"code")inletname=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"name")inmake?message?code?name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"String_.of_jsoninletcode=field_mapjson__"code"Integer__lc1.of_jsoninletname=field_mapjson__"name"String_.of_jsoninmake?message?code?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Provides the error of the batch get variable API."]moduleBatchCreateVariableError=structtypenonrect={name:String_.toption[@ocaml.doc"The name."];code:Integer__lc1.toption[@ocaml.doc"The error code."];message:String_.toption[@ocaml.doc"The error message."]}letmake?name=fun?code->fun?message->fun()->{name;code;message}letto_valuex=structure_to_value[("name",(Option.mapx.name~f:String_.to_value));("code",(Option.mapx.code~f:Integer__lc1.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")inletcode=(Option.map~f:Integer__lc1.of_xml)(Xml.childxml_arg0"code")inletname=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"name")inmake?message?code?name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"String_.of_jsoninletcode=field_mapjson__"code"Integer__lc1.of_jsoninletname=field_mapjson__"name"String_.of_jsoninmake?message?code?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Provides the error of the batch create variable API."]moduleVariableEntry=structtypenonrect={name:String_.toption[@ocaml.doc"The name of the variable."];dataType:String_.toption[@ocaml.doc"The data type of the variable."];dataSource:String_.toption[@ocaml.doc"The data source of the variable."];defaultValue:String_.toption[@ocaml.doc"The default value of the variable."];description:String_.toption[@ocaml.doc"The description of the variable."];variableType:String_.toption[@ocaml.doc"The type of the variable. For more information see Variable types. Valid Values: AUTH_CODE | AVS | BILLING_ADDRESS_L1 | BILLING_ADDRESS_L2 | BILLING_CITY | BILLING_COUNTRY | BILLING_NAME | BILLING_PHONE | BILLING_STATE | BILLING_ZIP | CARD_BIN | CATEGORICAL | CURRENCY_CODE | EMAIL_ADDRESS | FINGERPRINT | FRAUD_LABEL | FREE_FORM_TEXT | IP_ADDRESS | NUMERIC | ORDER_ID | PAYMENT_TYPE | PHONE_NUMBER | PRICE | PRODUCT_CATEGORY | SHIPPING_ADDRESS_L1 | SHIPPING_ADDRESS_L2 | SHIPPING_CITY | SHIPPING_COUNTRY | SHIPPING_NAME | SHIPPING_PHONE | SHIPPING_STATE | SHIPPING_ZIP | USERAGENT"]}letmake?name=fun?dataType->fun?dataSource->fun?defaultValue->fun?description->fun?variableType->fun()->{name;dataType;dataSource;defaultValue;description;variableType}letto_valuex=structure_to_value[("name",(Option.mapx.name~f:String_.to_value));("dataType",(Option.mapx.dataType~f:String_.to_value));("dataSource",(Option.mapx.dataSource~f:String_.to_value));("defaultValue",(Option.mapx.defaultValue~f:String_.to_value));("description",(Option.mapx.description~f:String_.to_value));("variableType",(Option.mapx.variableType~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvariableType=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"variableType")inletdescription=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"description")inletdefaultValue=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"defaultValue")inletdataSource=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"dataSource")inletdataType=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"dataType")inletname=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"name")inmake?variableType?description?defaultValue?dataSource?dataType?name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvariableType=field_mapjson__"variableType"String_.of_jsoninletdescription=field_mapjson__"description"String_.of_jsoninletdefaultValue=field_mapjson__"defaultValue"String_.of_jsoninletdataSource=field_mapjson__"dataSource"String_.of_jsoninletdataType=field_mapjson__"dataType"String_.of_jsoninletname=field_mapjson__"name"String_.of_jsoninmake?variableType?description?defaultValue?dataSource?dataType?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A variable in the list of variables for the batch create variable request."]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"An exception indicating Amazon Fraud Detector does not have the needed permissions. This can occur if you submit a request, such as PutExternalModel, that specifies a role that is not in your account."]moduleConflictException=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 exception indicating there was a conflict during a delete operation."]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 exception indicating an internal server error."]moduleResourceNotFoundException=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 exception indicating the specified resource was not found."]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"An exception indicating a throttling error."]moduleValidationException=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 exception indicating a specified value is not allowed."]moduleTagList=structtypenonrect=Tag.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:200)>>=(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:Tag.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:Tag.of_xml)letof_jsonj=list_of_json~kind:"tagList"~of_json:Tag.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleModelVersionStatus=structtypenonrect=|ACTIVE|INACTIVE|TRAINING_CANCELLED|Non_static_idofstringletmakei=iletto_string=function|ACTIVE->"ACTIVE"|INACTIVE->"INACTIVE"|TRAINING_CANCELLED->"TRAINING_CANCELLED"|Non_static_ids->sletof_string=function|"ACTIVE"->ACTIVE|"INACTIVE"->INACTIVE|"TRAINING_CANCELLED"->TRAINING_CANCELLED|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 ModelVersionStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ModelVersionStatus"j)letto_json=simple_to_jsonto_valueendmoduleElementsList=structtypenonrect=Elements.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:100000)>>=(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:Elements.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:Elements.of_xml)letof_jsonj=list_of_json~kind:"ElementsList"~of_json:Elements.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleListUpdateMode=structtypenonrect=|REPLACE|APPEND|REMOVE|Non_static_idofstringletmakei=iletto_string=function|REPLACE->"REPLACE"|APPEND->"APPEND"|REMOVE->"REMOVE"|Non_static_ids->sletof_string=function|"REPLACE"->REPLACE|"APPEND"->APPEND|"REMOVE"->REMOVE|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 ListUpdateMode"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ListUpdateMode"j)letto_json=simple_to_jsonto_valueendmoduleUtcTimestampISO8601=structtypenonrect=stringletcontext_="utcTimestampISO8601"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:30)>>=(fun()->check_string_mini~min:10));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"utcTimestampISO8601"jletto_json=simple_to_jsonto_valueendmoduleListOfModelVersions=structtypenonrect=ModelVersion.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ModelVersion.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:ModelVersion.of_xml)letof_jsonj=list_of_json~kind:"ListOfModelVersions"~of_json:ModelVersion.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleRuleExecutionMode=structtypenonrect=|ALL_MATCHED|FIRST_MATCHED|Non_static_idofstringletmakei=iletto_string=function|ALL_MATCHED->"ALL_MATCHED"|FIRST_MATCHED->"FIRST_MATCHED"|Non_static_ids->sletof_string=function|"ALL_MATCHED"->ALL_MATCHED|"FIRST_MATCHED"->FIRST_MATCHED|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 RuleExecutionMode"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"RuleExecutionMode"j)letto_json=simple_to_jsonto_valueendmoduleRuleList=structtypenonrect=Rule.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:Rule.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:Rule.of_xml)letof_jsonj=list_of_json~kind:"RuleList"~of_json:Rule.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleTagKeyList=structtypenonrect=TagKey.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:50)>>=(fun()->check_list_mini~min:0));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:TagKey.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:TagKey.of_xml)letof_jsonj=list_of_json~kind:"tagKeyList"~of_json:TagKey.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleEventVariableMap=structtypenonrect=(VariableName.t*VariableValue.t)listletmakei=letopenResultinok_or_failwith(check_list_mini~min:1);iletof_headerxs=make(List.filter_mapxs~f:(fun(k,v)->(Base.String.chop_prefixk~prefix:"x-amz-meta-")|>(Option.map~f:(funchopped->((VariableName.of_stringchopped),(VariableValue.of_stringv))))))letto_valuexs=(xs|>(List.map~f:(fun(x,y)->(VariableName.to_valuex)|>(funx->(VariableValue.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:VariableName.of_string~of_json:VariableValue.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleTagsMaxResults=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:50)>>=(fun()->check_int_mini~min:50));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 TagsMaxResults"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleListOfEventPredictionSummaries=structtypenonrect=EventPredictionSummary.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:EventPredictionSummary.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:EventPredictionSummary.of_xml)letof_jsonj=list_of_json~kind:"ListOfEventPredictionSummaries"~of_json:EventPredictionSummary.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleEventPredictionsMaxResults=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:100)>>=(fun()->check_int_mini~min:50));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 EventPredictionsMaxResults"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleFilterCondition=structtypenonrect={value:FilterString.toption[@ocaml.doc"A statement containing a resource property and a value to specify filter condition."]}letmake?value=fun()->{value}letto_valuex=structure_to_value[("value",(Option.mapx.value~f:FilterString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvalue=(Option.map~f:FilterString.of_xml)(Xml.childxml_arg0"value")inmake?value()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvalue=field_mapjson__"value"FilterString.of_jsoninmake?value()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A conditional statement for filtering a list of past predictions."]modulePredictionTimeRange=structtypenonrect={startTime:Time.t[@ocaml.doc"The start time of the time period for when the predictions were generated."];endTime:Time.t[@ocaml.doc"The end time of the time period for when the predictions were generated."]}letcontext_="PredictionTimeRange"letmake~startTime=fun~endTime->fun()->{startTime;endTime}letto_valuex=structure_to_value[("startTime",(Some(Time.to_valuex.startTime)));("endTime",(Some(Time.to_valuex.endTime)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letendTime=Time.of_xml(Xml.child_exn~context:context_xml_arg0"endTime")inletstartTime=Time.of_xml(Xml.child_exn~context:context_xml_arg0"startTime")inmake~endTime~startTime()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letendTime=field_map_exnjson__"endTime"Time.of_jsoninletstartTime=field_map_exnjson__"startTime"Time.of_jsoninmake~endTime~startTime()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The time period for when the predictions were generated."]moduleVariableList=structtypenonrect=Variable.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:Variable.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:Variable.of_xml)letof_jsonj=list_of_json~kind:"VariableList"~of_json:Variable.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleVariablesMaxResults=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:100)>>=(fun()->check_int_mini~min:50));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 VariablesMaxResults"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleRuleDetailList=structtypenonrect=RuleDetail.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:RuleDetail.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:RuleDetail.of_xml)letof_jsonj=list_of_json~kind:"RuleDetailList"~of_json:RuleDetail.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleRulesMaxResults=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:100)>>=(fun()->check_int_mini~min:50));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 RulesMaxResults"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleOutcomeList=structtypenonrect=Outcome.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:Outcome.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:Outcome.of_xml)letof_jsonj=list_of_json~kind:"OutcomeList"~of_json:Outcome.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleOutcomesMaxResults=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:100)>>=(fun()->check_int_mini~min:50));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 OutcomesMaxResults"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleModelList=structtypenonrect=Model.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:Model.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:Model.of_xml)letof_jsonj=list_of_json~kind:"modelList"~of_json:Model.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleModelsMaxPageSize=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:10)>>=(fun()->check_int_mini~min:1));iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for modelsMaxPageSize"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleAllowDenyLists=structtypenonrect=AllowDenyList.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:AllowDenyList.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:AllowDenyList.of_xml)letof_jsonj=list_of_json~kind:"AllowDenyLists"~of_json:AllowDenyList.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleNextToken=structtypenonrect=stringletcontext_="nextToken"letmakei=letopenResultinok_or_failwith((check_string_mini~min:0)>>=(fun()->(check_string_maxi~max:8192)>>=(fun()->check_patterni~pattern:".*")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"nextToken"jletto_json=simple_to_jsonto_valueendmoduleListsMetadataMaxResults=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:50)>>=(fun()->check_int_mini~min:5));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 ListsMetadataMaxResults"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleListsElementsMaxResults=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:5000)>>=(fun()->check_int_mini~min:500));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 ListsElementsMaxResults"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleLabelList=structtypenonrect=Label.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:Label.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:Label.of_xml)letof_jsonj=list_of_json~kind:"labelList"~of_json:Label.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleLabelsMaxResults=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:50)>>=(fun()->check_int_mini~min:10));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 labelsMaxResults"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleKMSKey=structtypenonrect={kmsEncryptionKeyArn:KmsEncryptionKeyArn.toption[@ocaml.doc"The encryption key ARN."]}letmake?kmsEncryptionKeyArn=fun()->{kmsEncryptionKeyArn}letto_valuex=structure_to_value[("kmsEncryptionKeyArn",(Option.mapx.kmsEncryptionKeyArn~f:KmsEncryptionKeyArn.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letkmsEncryptionKeyArn=(Option.map~f:KmsEncryptionKeyArn.of_xml)(Xml.childxml_arg0"kmsEncryptionKeyArn")inmake?kmsEncryptionKeyArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letkmsEncryptionKeyArn=field_mapjson__"kmsEncryptionKeyArn"KmsEncryptionKeyArn.of_jsoninmake?kmsEncryptionKeyArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The KMS key details."]moduleExternalModelList=structtypenonrect=ExternalModel.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ExternalModel.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:ExternalModel.of_xml)letof_jsonj=list_of_json~kind:"ExternalModelList"~of_json:ExternalModel.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleExternalModelsMaxResults=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:10)>>=(fun()->check_int_mini~min:5));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 ExternalModelsMaxResults"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleEventTypeList=structtypenonrect=EventType.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:EventType.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:EventType.of_xml)letof_jsonj=list_of_json~kind:"eventTypeList"~of_json:EventType.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleEventTypesMaxResults=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:10)>>=(fun()->check_int_mini~min:5));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 eventTypesMaxResults"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleEvent=structtypenonrect={eventId:String_.toption[@ocaml.doc"The event ID."];eventTypeName:String_.toption[@ocaml.doc"The event type."];eventTimestamp:String_.toption[@ocaml.doc"The timestamp that defines when the event under evaluation occurred. The timestamp must be specified using ISO 8601 standard in UTC."];eventVariables:EventAttributeMap.toption[@ocaml.doc"Names of the event type's variables you defined in Amazon Fraud Detector to represent data elements and their corresponding values for the event you are sending for evaluation."];currentLabel:String_.toption[@ocaml.doc"The label associated with the event."];labelTimestamp:String_.toption[@ocaml.doc"The timestamp associated with the label to update. The timestamp must be specified using ISO 8601 standard in UTC."];entities:ListOfEntities.toption[@ocaml.doc"The event entities."]}letmake?eventId=fun?eventTypeName->fun?eventTimestamp->fun?eventVariables->fun?currentLabel->fun?labelTimestamp->fun?entities->fun()->{eventId;eventTypeName;eventTimestamp;eventVariables;currentLabel;labelTimestamp;entities}letto_valuex=structure_to_value[("eventId",(Option.mapx.eventId~f:String_.to_value));("eventTypeName",(Option.mapx.eventTypeName~f:String_.to_value));("eventTimestamp",(Option.mapx.eventTimestamp~f:String_.to_value));("eventVariables",(Option.mapx.eventVariables~f:EventAttributeMap.to_value));("currentLabel",(Option.mapx.currentLabel~f:String_.to_value));("labelTimestamp",(Option.mapx.labelTimestamp~f:String_.to_value));("entities",(Option.mapx.entities~f:ListOfEntities.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letentities=(Option.map~f:ListOfEntities.of_xml)(Xml.childxml_arg0"entities")inletlabelTimestamp=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"labelTimestamp")inletcurrentLabel=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"currentLabel")inleteventVariables=(Option.map~f:EventAttributeMap.of_xml)(Xml.childxml_arg0"eventVariables")inleteventTimestamp=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"eventTimestamp")inleteventTypeName=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"eventTypeName")inleteventId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"eventId")inmake?entities?labelTimestamp?currentLabel?eventVariables?eventTimestamp?eventTypeName?eventId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letentities=field_mapjson__"entities"ListOfEntities.of_jsoninletlabelTimestamp=field_mapjson__"labelTimestamp"String_.of_jsoninletcurrentLabel=field_mapjson__"currentLabel"String_.of_jsoninleteventVariables=field_mapjson__"eventVariables"EventAttributeMap.of_jsoninleteventTimestamp=field_mapjson__"eventTimestamp"String_.of_jsoninleteventTypeName=field_mapjson__"eventTypeName"String_.of_jsoninleteventId=field_mapjson__"eventId"String_.of_jsoninmake?entities?labelTimestamp?currentLabel?eventVariables?eventTimestamp?eventTypeName?eventId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The event details."]moduleListOfExternalModelOutputs=structtypenonrect=ExternalModelOutputs.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ExternalModelOutputs.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:ExternalModelOutputs.of_xml)letof_jsonj=list_of_json~kind:"ListOfExternalModelOutputs"~of_json:ExternalModelOutputs.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleListOfModelScores=structtypenonrect=ModelScores.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ModelScores.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:ModelScores.of_xml)letof_jsonj=list_of_json~kind:"ListOfModelScores"~of_json:ModelScores.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleListOfRuleResults=structtypenonrect=RuleResult.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:RuleResult.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:RuleResult.of_xml)letof_jsonj=list_of_json~kind:"ListOfRuleResults"~of_json:RuleResult.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleResourceUnavailableException=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 exception indicating that the attached customer-owned (external) model threw an exception when Amazon Fraud Detector invoked the model."]moduleExternalModelEndpointDataBlobMap=structtypenonrect=(SageMakerEndpointIdentifier.t*ModelEndpointDataBlob.t)listletmakei=iletof_headerxs=make(List.filter_mapxs~f:(fun(k,v)->(Base.String.chop_prefixk~prefix:"x-amz-meta-")|>(Option.map~f:(funchopped->let(_:string)=vinlet(_:string)=choppedinfailwith"no of_header for complex types sageMakerEndpointIdentifier ModelEndpointDataBlob"))))letto_valuexs=(xs|>(List.map~f:(fun(x,y)->(SageMakerEndpointIdentifier.to_valuex)|>(funx->(ModelEndpointDataBlob.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:SageMakerEndpointIdentifier.of_string~of_json:ModelEndpointDataBlob.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleEvaluatedRuleList=structtypenonrect=EvaluatedRule.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:EvaluatedRule.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:EvaluatedRule.of_xml)letof_jsonj=list_of_json~kind:"EvaluatedRuleList"~of_json:EvaluatedRule.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleListOfEvaluatedExternalModels=structtypenonrect=EvaluatedExternalModel.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:EvaluatedExternalModel.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:EvaluatedExternalModel.of_xml)letof_jsonj=list_of_json~kind:"ListOfEvaluatedExternalModels"~of_json:EvaluatedExternalModel.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleListOfEvaluatedModelVersions=structtypenonrect=EvaluatedModelVersion.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:EvaluatedModelVersion.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:EvaluatedModelVersion.of_xml)letof_jsonj=list_of_json~kind:"ListOfEvaluatedModelVersions"~of_json:EvaluatedModelVersion.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleListOfEventVariableSummaries=structtypenonrect=EventVariableSummary.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:EventVariableSummary.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:EventVariableSummary.of_xml)letof_jsonj=list_of_json~kind:"ListOfEventVariableSummaries"~of_json:EventVariableSummary.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleEntityTypeList=structtypenonrect=EntityType.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:EntityType.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:EntityType.of_xml)letof_jsonj=list_of_json~kind:"entityTypeList"~of_json:EntityType.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleEntityTypesMaxResults=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:10)>>=(fun()->check_int_mini~min:5));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 entityTypesMaxResults"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleDetectorList=structtypenonrect=Detector.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:Detector.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:Detector.of_xml)letof_jsonj=list_of_json~kind:"DetectorList"~of_json:Detector.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleDetectorsMaxResults=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:10)>>=(fun()->check_int_mini~min:5));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 DetectorsMaxResults"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleBatchPredictionList=structtypenonrect=BatchPrediction.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:BatchPrediction.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:BatchPrediction.of_xml)letof_jsonj=list_of_json~kind:"BatchPredictionList"~of_json:BatchPrediction.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleBatchPredictionsMaxPageSize=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:50)>>=(fun()->check_int_mini~min:1));iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for batchPredictionsMaxPageSize"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleBatchImportList=structtypenonrect=BatchImport.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:BatchImport.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:BatchImport.of_xml)letof_jsonj=list_of_json~kind:"BatchImportList"~of_json:BatchImport.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleBatchImportsMaxPageSize=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:50)>>=(fun()->check_int_mini~min:1));iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for batchImportsMaxPageSize"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleModelVersionDetailList=structtypenonrect=ModelVersionDetail.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ModelVersionDetail.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:ModelVersionDetail.of_xml)letof_jsonj=list_of_json~kind:"modelVersionDetailList"~of_json:ModelVersionDetail.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleDetectorVersionSummaryList=structtypenonrect=DetectorVersionSummary.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:DetectorVersionSummary.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:DetectorVersionSummary.of_xml)letof_jsonj=list_of_json~kind:"DetectorVersionSummaryList"~of_json:DetectorVersionSummary.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleDetectorVersionMaxResults=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:2500)>>=(fun()->check_int_mini~min:1000));iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for DetectorVersionMaxResults"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleDeleteAuditHistory=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_valueendmoduleBatchGetVariableErrorList=structtypenonrect=BatchGetVariableError.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:BatchGetVariableError.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:BatchGetVariableError.of_xml)letof_jsonj=list_of_json~kind:"BatchGetVariableErrorList"~of_json:BatchGetVariableError.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleNameList=structtypenonrect=String_.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:100)>>=(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:String_.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:String_.of_xml)letof_jsonj=list_of_json~kind:"NameList"~of_json:String_.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleBatchCreateVariableErrorList=structtypenonrect=BatchCreateVariableError.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:BatchCreateVariableError.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:BatchCreateVariableError.of_xml)letof_jsonj=list_of_json~kind:"BatchCreateVariableErrorList"~of_json:BatchCreateVariableError.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleVariableEntryList=structtypenonrect=VariableEntry.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:25)>>=(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:VariableEntry.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:VariableEntry.of_xml)letof_jsonj=list_of_json~kind:"VariableEntryList"~of_json:VariableEntry.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleUpdateVariableResult=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))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"Updates a variable."]moduleUpdateVariableRequest=structtypenonrect={name:String_.t[@ocaml.doc"The name of the variable."];defaultValue:String_.toption[@ocaml.doc"The new default value of the variable."];description:String_.toption[@ocaml.doc"The new description."];variableType:String_.toption[@ocaml.doc"The variable type. For more information see Variable types."]}letcontext_="UpdateVariableRequest"letmake?defaultValue=fun?description->fun?variableType->fun~name->fun()->{defaultValue;description;variableType;name}letto_valuex=structure_to_value[("name",(Some(String_.to_valuex.name)));("defaultValue",(Option.mapx.defaultValue~f:String_.to_value));("description",(Option.mapx.description~f:String_.to_value));("variableType",(Option.mapx.variableType~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvariableType=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"variableType")inletdescription=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"description")inletdefaultValue=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"defaultValue")inletname=String_.of_xml(Xml.child_exn~context:context_xml_arg0"name")inmake?variableType?description?defaultValue~name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvariableType=field_mapjson__"variableType"String_.of_jsoninletdescription=field_mapjson__"description"String_.of_jsoninletdefaultValue=field_mapjson__"defaultValue"String_.of_jsoninletname=field_map_exnjson__"name"String_.of_jsoninmake?variableType?description?defaultValue~name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates a variable."]moduleUpdateRuleVersionResult=structtypenonrect={rule:Rule.toption[@ocaml.doc"The new rule version that was created."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?rule=fun()->{rule}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("rule",(Option.mapx.rule~f:Rule.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letrule=(Option.map~f:Rule.of_xml)(Xml.childxml_arg0"rule")inmake?rule()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letrule=field_mapjson__"rule"Rule.of_jsoninmake?rule()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates a rule version resulting in a new rule version. Updates a rule version resulting in a new rule version (version 1, 2, 3 ...)."]moduleUpdateRuleVersionRequest=structtypenonrect={rule:Rule.t[@ocaml.doc"The rule to update."];description:Description.toption[@ocaml.doc"The description."];expression:RuleExpression.t[@ocaml.doc"The rule expression."];language:Language.t[@ocaml.doc"The language."];outcomes:NonEmptyListOfStrings.t[@ocaml.doc"The outcomes."];tags:TagList.toption[@ocaml.doc"The tags to assign to the rule version."]}letcontext_="UpdateRuleVersionRequest"letmake?description=fun?tags->fun~rule->fun~expression->fun~language->fun~outcomes->fun()->{description;tags;rule;expression;language;outcomes}letto_valuex=structure_to_value[("rule",(Some(Rule.to_valuex.rule)));("description",(Option.mapx.description~f:Description.to_value));("expression",(Some(RuleExpression.to_valuex.expression)));("language",(Some(Language.to_valuex.language)));("outcomes",(Some(NonEmptyListOfStrings.to_valuex.outcomes)));("tags",(Option.mapx.tags~f:TagList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettags=(Option.map~f:TagList.of_xml)(Xml.childxml_arg0"tags")inletoutcomes=NonEmptyListOfStrings.of_xml(Xml.child_exn~context:context_xml_arg0"outcomes")inletlanguage=Language.of_xml(Xml.child_exn~context:context_xml_arg0"language")inletexpression=RuleExpression.of_xml(Xml.child_exn~context:context_xml_arg0"expression")inletdescription=(Option.map~f:Description.of_xml)(Xml.childxml_arg0"description")inletrule=Rule.of_xml(Xml.child_exn~context:context_xml_arg0"rule")inmake?tags~outcomes~language~expression?description~rule()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"tags"TagList.of_jsoninletoutcomes=field_map_exnjson__"outcomes"NonEmptyListOfStrings.of_jsoninletlanguage=field_map_exnjson__"language"Language.of_jsoninletexpression=field_map_exnjson__"expression"RuleExpression.of_jsoninletdescription=field_mapjson__"description"Description.of_jsoninletrule=field_map_exnjson__"rule"Rule.of_jsoninmake?tags~outcomes~language~expression?description~rule()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates a rule version resulting in a new rule version. Updates a rule version resulting in a new rule version (version 1, 2, 3 ...)."]moduleUpdateRuleMetadataResult=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))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"Updates a rule's metadata. The description attribute can be updated."]moduleUpdateRuleMetadataRequest=structtypenonrect={rule:Rule.t[@ocaml.doc"The rule to update."];description:Description.t[@ocaml.doc"The rule description."]}letcontext_="UpdateRuleMetadataRequest"letmake~rule=fun~description->fun()->{rule;description}letto_valuex=structure_to_value[("rule",(Some(Rule.to_valuex.rule)));("description",(Some(Description.to_valuex.description)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdescription=Description.of_xml(Xml.child_exn~context:context_xml_arg0"description")inletrule=Rule.of_xml(Xml.child_exn~context:context_xml_arg0"rule")inmake~description~rule()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdescription=field_map_exnjson__"description"Description.of_jsoninletrule=field_map_exnjson__"rule"Rule.of_jsoninmake~description~rule()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates a rule's metadata. The description attribute can be updated."]moduleUpdateModelVersionStatusResult=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))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"Updates the status of a model version. You can perform the following status updates: Change the TRAINING_IN_PROGRESS status to TRAINING_CANCELLED. Change the TRAINING_COMPLETE status to ACTIVE. Change ACTIVE to INACTIVE."]moduleUpdateModelVersionStatusRequest=structtypenonrect={modelId:ModelIdentifier.t[@ocaml.doc"The model ID of the model version to update."];modelType:ModelTypeEnum.t[@ocaml.doc"The model type."];modelVersionNumber:FloatVersionString.t[@ocaml.doc"The model version number."];status:ModelVersionStatus.t[@ocaml.doc"The model version status."]}letcontext_="UpdateModelVersionStatusRequest"letmake~modelId=fun~modelType->fun~modelVersionNumber->fun~status->fun()->{modelId;modelType;modelVersionNumber;status}letto_valuex=structure_to_value[("modelId",(Some(ModelIdentifier.to_valuex.modelId)));("modelType",(Some(ModelTypeEnum.to_valuex.modelType)));("modelVersionNumber",(Some(FloatVersionString.to_valuex.modelVersionNumber)));("status",(Some(ModelVersionStatus.to_valuex.status)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstatus=ModelVersionStatus.of_xml(Xml.child_exn~context:context_xml_arg0"status")inletmodelVersionNumber=FloatVersionString.of_xml(Xml.child_exn~context:context_xml_arg0"modelVersionNumber")inletmodelType=ModelTypeEnum.of_xml(Xml.child_exn~context:context_xml_arg0"modelType")inletmodelId=ModelIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"modelId")inmake~status~modelVersionNumber~modelType~modelId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstatus=field_map_exnjson__"status"ModelVersionStatus.of_jsoninletmodelVersionNumber=field_map_exnjson__"modelVersionNumber"FloatVersionString.of_jsoninletmodelType=field_map_exnjson__"modelType"ModelTypeEnum.of_jsoninletmodelId=field_map_exnjson__"modelId"ModelIdentifier.of_jsoninmake~status~modelVersionNumber~modelType~modelId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates the status of a model version. You can perform the following status updates: Change the TRAINING_IN_PROGRESS status to TRAINING_CANCELLED. Change the TRAINING_COMPLETE status to ACTIVE. Change ACTIVE to INACTIVE."]moduleUpdateModelVersionResult=structtypenonrect={modelId:ModelIdentifier.toption[@ocaml.doc"The model ID."];modelType:ModelTypeEnum.toption[@ocaml.doc"The model type."];modelVersionNumber:FloatVersionString.toption[@ocaml.doc"The model version number of the model version updated."];status:String_.toption[@ocaml.doc"The status of the updated model version."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?modelId=fun?modelType->fun?modelVersionNumber->fun?status->fun()->{modelId;modelType;modelVersionNumber;status}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("modelId",(Option.mapx.modelId~f:ModelIdentifier.to_value));("modelType",(Option.mapx.modelType~f:ModelTypeEnum.to_value));("modelVersionNumber",(Option.mapx.modelVersionNumber~f:FloatVersionString.to_value));("status",(Option.mapx.status~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstatus=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"status")inletmodelVersionNumber=(Option.map~f:FloatVersionString.of_xml)(Xml.childxml_arg0"modelVersionNumber")inletmodelType=(Option.map~f:ModelTypeEnum.of_xml)(Xml.childxml_arg0"modelType")inletmodelId=(Option.map~f:ModelIdentifier.of_xml)(Xml.childxml_arg0"modelId")inmake?status?modelVersionNumber?modelType?modelId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstatus=field_mapjson__"status"String_.of_jsoninletmodelVersionNumber=field_mapjson__"modelVersionNumber"FloatVersionString.of_jsoninletmodelType=field_mapjson__"modelType"ModelTypeEnum.of_jsoninletmodelId=field_mapjson__"modelId"ModelIdentifier.of_jsoninmake?status?modelVersionNumber?modelType?modelId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates a model version. Updating a model version retrains an existing model version using updated training data and produces a new minor version of the model. You can update the training data set location and data access role attributes using this action. This action creates and trains a new minor version of the model, for example version 1.01, 1.02, 1.03."]moduleUpdateModelVersionRequest=structtypenonrect={modelId:ModelIdentifier.t[@ocaml.doc"The model ID."];modelType:ModelTypeEnum.t[@ocaml.doc"The model type."];majorVersionNumber:WholeNumberVersionString.t[@ocaml.doc"The major version number."];externalEventsDetail:ExternalEventsDetail.toption[@ocaml.doc"The details of the external events data used for training the model version. Required if trainingDataSource is EXTERNAL_EVENTS."];ingestedEventsDetail:IngestedEventsDetail.toption[@ocaml.doc"The details of the ingested event used for training the model version. Required if your trainingDataSource is INGESTED_EVENTS."];tags:TagList.toption[@ocaml.doc"A collection of key and value pairs."]}letcontext_="UpdateModelVersionRequest"letmake?externalEventsDetail=fun?ingestedEventsDetail->fun?tags->fun~modelId->fun~modelType->fun~majorVersionNumber->fun()->{externalEventsDetail;ingestedEventsDetail;tags;modelId;modelType;majorVersionNumber}letto_valuex=structure_to_value[("modelId",(Some(ModelIdentifier.to_valuex.modelId)));("modelType",(Some(ModelTypeEnum.to_valuex.modelType)));("majorVersionNumber",(Some(WholeNumberVersionString.to_valuex.majorVersionNumber)));("externalEventsDetail",(Option.mapx.externalEventsDetail~f:ExternalEventsDetail.to_value));("ingestedEventsDetail",(Option.mapx.ingestedEventsDetail~f:IngestedEventsDetail.to_value));("tags",(Option.mapx.tags~f:TagList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettags=(Option.map~f:TagList.of_xml)(Xml.childxml_arg0"tags")inletingestedEventsDetail=(Option.map~f:IngestedEventsDetail.of_xml)(Xml.childxml_arg0"ingestedEventsDetail")inletexternalEventsDetail=(Option.map~f:ExternalEventsDetail.of_xml)(Xml.childxml_arg0"externalEventsDetail")inletmajorVersionNumber=WholeNumberVersionString.of_xml(Xml.child_exn~context:context_xml_arg0"majorVersionNumber")inletmodelType=ModelTypeEnum.of_xml(Xml.child_exn~context:context_xml_arg0"modelType")inletmodelId=ModelIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"modelId")inmake?tags?ingestedEventsDetail?externalEventsDetail~majorVersionNumber~modelType~modelId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"tags"TagList.of_jsoninletingestedEventsDetail=field_mapjson__"ingestedEventsDetail"IngestedEventsDetail.of_jsoninletexternalEventsDetail=field_mapjson__"externalEventsDetail"ExternalEventsDetail.of_jsoninletmajorVersionNumber=field_map_exnjson__"majorVersionNumber"WholeNumberVersionString.of_jsoninletmodelType=field_map_exnjson__"modelType"ModelTypeEnum.of_jsoninletmodelId=field_map_exnjson__"modelId"ModelIdentifier.of_jsoninmake?tags?ingestedEventsDetail?externalEventsDetail~majorVersionNumber~modelType~modelId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates a model version. Updating a model version retrains an existing model version using updated training data and produces a new minor version of the model. You can update the training data set location and data access role attributes using this action. This action creates and trains a new minor version of the model, for example version 1.01, 1.02, 1.03."]moduleUpdateModelResult=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))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"Updates model description."]moduleUpdateModelRequest=structtypenonrect={modelId:ModelIdentifier.t[@ocaml.doc"The model ID."];modelType:ModelTypeEnum.t[@ocaml.doc"The model type."];description:Description.toption[@ocaml.doc"The new model description."]}letcontext_="UpdateModelRequest"letmake?description=fun~modelId->fun~modelType->fun()->{description;modelId;modelType}letto_valuex=structure_to_value[("modelId",(Some(ModelIdentifier.to_valuex.modelId)));("modelType",(Some(ModelTypeEnum.to_valuex.modelType)));("description",(Option.mapx.description~f:Description.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdescription=(Option.map~f:Description.of_xml)(Xml.childxml_arg0"description")inletmodelType=ModelTypeEnum.of_xml(Xml.child_exn~context:context_xml_arg0"modelType")inletmodelId=ModelIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"modelId")inmake?description~modelType~modelId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdescription=field_mapjson__"description"Description.of_jsoninletmodelType=field_map_exnjson__"modelType"ModelTypeEnum.of_jsoninletmodelId=field_map_exnjson__"modelId"ModelIdentifier.of_jsoninmake?description~modelType~modelId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates model description."]moduleUpdateListResult=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))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"Updates a list."]moduleUpdateListRequest=structtypenonrect={name:NoDashIdentifier.t[@ocaml.doc"The name of the list to update."];elements:ElementsList.toption[@ocaml.doc"One or more list elements to add or replace. If you are providing the elements, make sure to specify the updateMode to use. If you are deleting all elements from the list, use REPLACE for the updateMode and provide an empty list (0 elements)."];description:Description.toption[@ocaml.doc"The new description."];updateMode:ListUpdateMode.toption[@ocaml.doc"The update mode (type). Use APPEND if you are adding elements to the list. Use REPLACE if you replacing existing elements in the list. Use REMOVE if you are removing elements from the list."];variableType:VariableType.toption[@ocaml.doc"The variable type you want to assign to the list. You cannot update a variable type of a list that already has a variable type assigned to it. You can assign a variable type to a list only if the list does not already have a variable type."]}letcontext_="UpdateListRequest"letmake?elements=fun?description->fun?updateMode->fun?variableType->fun~name->fun()->{elements;description;updateMode;variableType;name}letto_valuex=structure_to_value[("name",(Some(NoDashIdentifier.to_valuex.name)));("elements",(Option.mapx.elements~f:ElementsList.to_value));("description",(Option.mapx.description~f:Description.to_value));("updateMode",(Option.mapx.updateMode~f:ListUpdateMode.to_value));("variableType",(Option.mapx.variableType~f:VariableType.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvariableType=(Option.map~f:VariableType.of_xml)(Xml.childxml_arg0"variableType")inletupdateMode=(Option.map~f:ListUpdateMode.of_xml)(Xml.childxml_arg0"updateMode")inletdescription=(Option.map~f:Description.of_xml)(Xml.childxml_arg0"description")inletelements=(Option.map~f:ElementsList.of_xml)(Xml.childxml_arg0"elements")inletname=NoDashIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"name")inmake?variableType?updateMode?description?elements~name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvariableType=field_mapjson__"variableType"VariableType.of_jsoninletupdateMode=field_mapjson__"updateMode"ListUpdateMode.of_jsoninletdescription=field_mapjson__"description"Description.of_jsoninletelements=field_mapjson__"elements"ElementsList.of_jsoninletname=field_map_exnjson__"name"NoDashIdentifier.of_jsoninmake?variableType?updateMode?description?elements~name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates a list."]moduleUpdateEventLabelResult=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))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"Updates the specified event with a new label."]moduleUpdateEventLabelRequest=structtypenonrect={eventId:Identifier.t[@ocaml.doc"The ID of the event associated with the label to update."];eventTypeName:Identifier.t[@ocaml.doc"The event type of the event associated with the label to update."];assignedLabel:Identifier.t[@ocaml.doc"The new label to assign to the event."];labelTimestamp:UtcTimestampISO8601.t[@ocaml.doc"The timestamp associated with the label. The timestamp must be specified using ISO 8601 standard in UTC."]}letcontext_="UpdateEventLabelRequest"letmake~eventId=fun~eventTypeName->fun~assignedLabel->fun~labelTimestamp->fun()->{eventId;eventTypeName;assignedLabel;labelTimestamp}letto_valuex=structure_to_value[("eventId",(Some(Identifier.to_valuex.eventId)));("eventTypeName",(Some(Identifier.to_valuex.eventTypeName)));("assignedLabel",(Some(Identifier.to_valuex.assignedLabel)));("labelTimestamp",(Some(UtcTimestampISO8601.to_valuex.labelTimestamp)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlabelTimestamp=UtcTimestampISO8601.of_xml(Xml.child_exn~context:context_xml_arg0"labelTimestamp")inletassignedLabel=Identifier.of_xml(Xml.child_exn~context:context_xml_arg0"assignedLabel")inleteventTypeName=Identifier.of_xml(Xml.child_exn~context:context_xml_arg0"eventTypeName")inleteventId=Identifier.of_xml(Xml.child_exn~context:context_xml_arg0"eventId")inmake~labelTimestamp~assignedLabel~eventTypeName~eventId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlabelTimestamp=field_map_exnjson__"labelTimestamp"UtcTimestampISO8601.of_jsoninletassignedLabel=field_map_exnjson__"assignedLabel"Identifier.of_jsoninleteventTypeName=field_map_exnjson__"eventTypeName"Identifier.of_jsoninleteventId=field_map_exnjson__"eventId"Identifier.of_jsoninmake~labelTimestamp~assignedLabel~eventTypeName~eventId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates the specified event with a new label."]moduleUpdateDetectorVersionStatusResult=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))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"Updates the detector version\226\128\153s status. You can perform the following promotions or demotions using UpdateDetectorVersionStatus: DRAFT to ACTIVE, ACTIVE to INACTIVE, and INACTIVE to ACTIVE."]moduleUpdateDetectorVersionStatusRequest=structtypenonrect={detectorId:Identifier.t[@ocaml.doc"The detector ID."];detectorVersionId:WholeNumberVersionString.t[@ocaml.doc"The detector version ID."];status:DetectorVersionStatus.t[@ocaml.doc"The new status. The only supported values are ACTIVE and INACTIVE"]}letcontext_="UpdateDetectorVersionStatusRequest"letmake~detectorId=fun~detectorVersionId->fun~status->fun()->{detectorId;detectorVersionId;status}letto_valuex=structure_to_value[("detectorId",(Some(Identifier.to_valuex.detectorId)));("detectorVersionId",(Some(WholeNumberVersionString.to_valuex.detectorVersionId)));("status",(Some(DetectorVersionStatus.to_valuex.status)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstatus=DetectorVersionStatus.of_xml(Xml.child_exn~context:context_xml_arg0"status")inletdetectorVersionId=WholeNumberVersionString.of_xml(Xml.child_exn~context:context_xml_arg0"detectorVersionId")inletdetectorId=Identifier.of_xml(Xml.child_exn~context:context_xml_arg0"detectorId")inmake~status~detectorVersionId~detectorId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstatus=field_map_exnjson__"status"DetectorVersionStatus.of_jsoninletdetectorVersionId=field_map_exnjson__"detectorVersionId"WholeNumberVersionString.of_jsoninletdetectorId=field_map_exnjson__"detectorId"Identifier.of_jsoninmake~status~detectorVersionId~detectorId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates the detector version\226\128\153s status. You can perform the following promotions or demotions using UpdateDetectorVersionStatus: DRAFT to ACTIVE, ACTIVE to INACTIVE, and INACTIVE to ACTIVE."]moduleUpdateDetectorVersionResult=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))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"Updates a detector version. The detector version attributes that you can update include models, external model endpoints, rules, rule execution mode, and description. You can only update a DRAFT detector version."]moduleUpdateDetectorVersionRequest=structtypenonrect={detectorId:Identifier.t[@ocaml.doc"The parent detector ID for the detector version you want to update."];detectorVersionId:WholeNumberVersionString.t[@ocaml.doc"The detector version ID."];externalModelEndpoints:ListOfStrings.t[@ocaml.doc"The Amazon SageMaker model endpoints to include in the detector version."];rules:RuleList.t[@ocaml.doc"The rules to include in the detector version."];description:Description.toption[@ocaml.doc"The detector version description."];modelVersions:ListOfModelVersions.toption[@ocaml.doc"The model versions to include in the detector version."];ruleExecutionMode:RuleExecutionMode.toption[@ocaml.doc"The rule execution mode to add to the detector. If you specify FIRST_MATCHED, Amazon Fraud Detector evaluates rules sequentially, first to last, stopping at the first matched rule. Amazon Fraud dectector then provides the outcomes for that single rule. If you specifiy ALL_MATCHED, Amazon Fraud Detector evaluates all rules and returns the outcomes for all matched rules. You can define and edit the rule mode at the detector version level, when it is in draft status. The default behavior is FIRST_MATCHED."]}letcontext_="UpdateDetectorVersionRequest"letmake?description=fun?modelVersions->fun?ruleExecutionMode->fun~detectorId->fun~detectorVersionId->fun~externalModelEndpoints->fun~rules->fun()->{description;modelVersions;ruleExecutionMode;detectorId;detectorVersionId;externalModelEndpoints;rules}letto_valuex=structure_to_value[("detectorId",(Some(Identifier.to_valuex.detectorId)));("detectorVersionId",(Some(WholeNumberVersionString.to_valuex.detectorVersionId)));("externalModelEndpoints",(Some(ListOfStrings.to_valuex.externalModelEndpoints)));("rules",(Some(RuleList.to_valuex.rules)));("description",(Option.mapx.description~f:Description.to_value));("modelVersions",(Option.mapx.modelVersions~f:ListOfModelVersions.to_value));("ruleExecutionMode",(Option.mapx.ruleExecutionMode~f:RuleExecutionMode.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letruleExecutionMode=(Option.map~f:RuleExecutionMode.of_xml)(Xml.childxml_arg0"ruleExecutionMode")inletmodelVersions=(Option.map~f:ListOfModelVersions.of_xml)(Xml.childxml_arg0"modelVersions")inletdescription=(Option.map~f:Description.of_xml)(Xml.childxml_arg0"description")inletrules=RuleList.of_xml(Xml.child_exn~context:context_xml_arg0"rules")inletexternalModelEndpoints=ListOfStrings.of_xml(Xml.child_exn~context:context_xml_arg0"externalModelEndpoints")inletdetectorVersionId=WholeNumberVersionString.of_xml(Xml.child_exn~context:context_xml_arg0"detectorVersionId")inletdetectorId=Identifier.of_xml(Xml.child_exn~context:context_xml_arg0"detectorId")inmake?ruleExecutionMode?modelVersions?description~rules~externalModelEndpoints~detectorVersionId~detectorId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letruleExecutionMode=field_mapjson__"ruleExecutionMode"RuleExecutionMode.of_jsoninletmodelVersions=field_mapjson__"modelVersions"ListOfModelVersions.of_jsoninletdescription=field_mapjson__"description"Description.of_jsoninletrules=field_map_exnjson__"rules"RuleList.of_jsoninletexternalModelEndpoints=field_map_exnjson__"externalModelEndpoints"ListOfStrings.of_jsoninletdetectorVersionId=field_map_exnjson__"detectorVersionId"WholeNumberVersionString.of_jsoninletdetectorId=field_map_exnjson__"detectorId"Identifier.of_jsoninmake?ruleExecutionMode?modelVersions?description~rules~externalModelEndpoints~detectorVersionId~detectorId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates a detector version. The detector version attributes that you can update include models, external model endpoints, rules, rule execution mode, and description. You can only update a DRAFT detector version."]moduleUpdateDetectorVersionMetadataResult=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))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"Updates the detector version's description. You can update the metadata for any detector version (DRAFT, ACTIVE, or INACTIVE)."]moduleUpdateDetectorVersionMetadataRequest=structtypenonrect={detectorId:Identifier.t[@ocaml.doc"The detector ID."];detectorVersionId:WholeNumberVersionString.t[@ocaml.doc"The detector version ID."];description:Description.t[@ocaml.doc"The description."]}letcontext_="UpdateDetectorVersionMetadataRequest"letmake~detectorId=fun~detectorVersionId->fun~description->fun()->{detectorId;detectorVersionId;description}letto_valuex=structure_to_value[("detectorId",(Some(Identifier.to_valuex.detectorId)));("detectorVersionId",(Some(WholeNumberVersionString.to_valuex.detectorVersionId)));("description",(Some(Description.to_valuex.description)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdescription=Description.of_xml(Xml.child_exn~context:context_xml_arg0"description")inletdetectorVersionId=WholeNumberVersionString.of_xml(Xml.child_exn~context:context_xml_arg0"detectorVersionId")inletdetectorId=Identifier.of_xml(Xml.child_exn~context:context_xml_arg0"detectorId")inmake~description~detectorVersionId~detectorId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdescription=field_map_exnjson__"description"Description.of_jsoninletdetectorVersionId=field_map_exnjson__"detectorVersionId"WholeNumberVersionString.of_jsoninletdetectorId=field_map_exnjson__"detectorId"Identifier.of_jsoninmake~description~detectorVersionId~detectorId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates the detector version's description. You can update the metadata for any detector version (DRAFT, ACTIVE, or INACTIVE)."]moduleUntagResourceResult=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.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)|"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))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Removes tags from a resource."]moduleUntagResourceRequest=structtypenonrect={resourceARN:FraudDetectorArn.t[@ocaml.doc"The ARN of the resource from which to remove the tag."];tagKeys:TagKeyList.t[@ocaml.doc"The resource ARN."]}letcontext_="UntagResourceRequest"letmake~resourceARN=fun~tagKeys->fun()->{resourceARN;tagKeys}letto_valuex=structure_to_value[("resourceARN",(Some(FraudDetectorArn.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=FraudDetectorArn.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"FraudDetectorArn.of_jsoninmake~tagKeys~resourceARN()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Removes tags from a resource."]moduleTagResourceResult=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.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)|"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))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Assigns tags to a resource."]moduleTagResourceRequest=structtypenonrect={resourceARN:FraudDetectorArn.t[@ocaml.doc"The resource ARN."];tags:TagList.t[@ocaml.doc"The tags to assign to the resource."]}letcontext_="TagResourceRequest"letmake~resourceARN=fun~tags->fun()->{resourceARN;tags}letto_valuex=structure_to_value[("resourceARN",(Some(FraudDetectorArn.to_valuex.resourceARN)));("tags",(Some(TagList.to_valuex.tags)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettags=TagList.of_xml(Xml.child_exn~context:context_xml_arg0"tags")inletresourceARN=FraudDetectorArn.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"TagList.of_jsoninletresourceARN=field_map_exnjson__"resourceARN"FraudDetectorArn.of_jsoninmake~tags~resourceARN()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Assigns tags to a resource."]moduleSendEventResult=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))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"Stores events in Amazon Fraud Detector without generating fraud predictions for those events. For example, you can use SendEvent to upload a historical dataset, which you can then later use to train a model."]moduleSendEventRequest=structtypenonrect={eventId:Identifier.t[@ocaml.doc"The event ID to upload."];eventTypeName:Identifier.t[@ocaml.doc"The event type name of the event."];eventTimestamp:UtcTimestampISO8601.t[@ocaml.doc"The timestamp that defines when the event under evaluation occurred. The timestamp must be specified using ISO 8601 standard in UTC."];eventVariables:EventVariableMap.t[@ocaml.doc"Names of the event type's variables you defined in Amazon Fraud Detector to represent data elements and their corresponding values for the event you are sending for evaluation."];assignedLabel:Identifier.toption[@ocaml.doc"The label to associate with the event. Required if specifying labelTimestamp."];labelTimestamp:UtcTimestampISO8601.toption[@ocaml.doc"The timestamp associated with the label. Required if specifying assignedLabel."];entities:ListOfEntities.t[@ocaml.doc"An array of entities."]}letcontext_="SendEventRequest"letmake?assignedLabel=fun?labelTimestamp->fun~eventId->fun~eventTypeName->fun~eventTimestamp->fun~eventVariables->fun~entities->fun()->{assignedLabel;labelTimestamp;eventId;eventTypeName;eventTimestamp;eventVariables;entities}letto_valuex=structure_to_value[("eventId",(Some(Identifier.to_valuex.eventId)));("eventTypeName",(Some(Identifier.to_valuex.eventTypeName)));("eventTimestamp",(Some(UtcTimestampISO8601.to_valuex.eventTimestamp)));("eventVariables",(Some(EventVariableMap.to_valuex.eventVariables)));("assignedLabel",(Option.mapx.assignedLabel~f:Identifier.to_value));("labelTimestamp",(Option.mapx.labelTimestamp~f:UtcTimestampISO8601.to_value));("entities",(Some(ListOfEntities.to_valuex.entities)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letentities=ListOfEntities.of_xml(Xml.child_exn~context:context_xml_arg0"entities")inletlabelTimestamp=(Option.map~f:UtcTimestampISO8601.of_xml)(Xml.childxml_arg0"labelTimestamp")inletassignedLabel=(Option.map~f:Identifier.of_xml)(Xml.childxml_arg0"assignedLabel")inleteventVariables=EventVariableMap.of_xml(Xml.child_exn~context:context_xml_arg0"eventVariables")inleteventTimestamp=UtcTimestampISO8601.of_xml(Xml.child_exn~context:context_xml_arg0"eventTimestamp")inleteventTypeName=Identifier.of_xml(Xml.child_exn~context:context_xml_arg0"eventTypeName")inleteventId=Identifier.of_xml(Xml.child_exn~context:context_xml_arg0"eventId")inmake~entities?labelTimestamp?assignedLabel~eventVariables~eventTimestamp~eventTypeName~eventId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letentities=field_map_exnjson__"entities"ListOfEntities.of_jsoninletlabelTimestamp=field_mapjson__"labelTimestamp"UtcTimestampISO8601.of_jsoninletassignedLabel=field_mapjson__"assignedLabel"Identifier.of_jsoninleteventVariables=field_map_exnjson__"eventVariables"EventVariableMap.of_jsoninleteventTimestamp=field_map_exnjson__"eventTimestamp"UtcTimestampISO8601.of_jsoninleteventTypeName=field_map_exnjson__"eventTypeName"Identifier.of_jsoninleteventId=field_map_exnjson__"eventId"Identifier.of_jsoninmake~entities?labelTimestamp?assignedLabel~eventVariables~eventTimestamp~eventTypeName~eventId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Stores events in Amazon Fraud Detector without generating fraud predictions for those events. For example, you can use SendEvent to upload a historical dataset, which you can then later use to train a model."]modulePutOutcomeResult=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))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"Creates or updates an outcome."]modulePutOutcomeRequest=structtypenonrect={name:Identifier.t[@ocaml.doc"The name of the outcome."];description:Description.toption[@ocaml.doc"The outcome description."];tags:TagList.toption[@ocaml.doc"A collection of key and value pairs."]}letcontext_="PutOutcomeRequest"letmake?description=fun?tags->fun~name->fun()->{description;tags;name}letto_valuex=structure_to_value[("name",(Some(Identifier.to_valuex.name)));("description",(Option.mapx.description~f:Description.to_value));("tags",(Option.mapx.tags~f:TagList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettags=(Option.map~f:TagList.of_xml)(Xml.childxml_arg0"tags")inletdescription=(Option.map~f:Description.of_xml)(Xml.childxml_arg0"description")inletname=Identifier.of_xml(Xml.child_exn~context:context_xml_arg0"name")inmake?tags?description~name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"tags"TagList.of_jsoninletdescription=field_mapjson__"description"Description.of_jsoninletname=field_map_exnjson__"name"Identifier.of_jsoninmake?tags?description~name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates or updates an outcome."]modulePutLabelResult=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))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"Creates or updates label. A label classifies an event as fraudulent or legitimate. Labels are associated with event types and used to train supervised machine learning models in Amazon Fraud Detector."]modulePutLabelRequest=structtypenonrect={name:Identifier.t[@ocaml.doc"The label name."];description:Description.toption[@ocaml.doc"The label description."];tags:TagList.toption[@ocaml.doc"A collection of key and value pairs."]}letcontext_="PutLabelRequest"letmake?description=fun?tags->fun~name->fun()->{description;tags;name}letto_valuex=structure_to_value[("name",(Some(Identifier.to_valuex.name)));("description",(Option.mapx.description~f:Description.to_value));("tags",(Option.mapx.tags~f:TagList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettags=(Option.map~f:TagList.of_xml)(Xml.childxml_arg0"tags")inletdescription=(Option.map~f:Description.of_xml)(Xml.childxml_arg0"description")inletname=Identifier.of_xml(Xml.child_exn~context:context_xml_arg0"name")inmake?tags?description~name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"tags"TagList.of_jsoninletdescription=field_mapjson__"description"Description.of_jsoninletname=field_map_exnjson__"name"Identifier.of_jsoninmake?tags?description~name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates or updates label. A label classifies an event as fraudulent or legitimate. Labels are associated with event types and used to train supervised machine learning models in Amazon Fraud Detector."]modulePutKMSEncryptionKeyResult=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))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"Specifies the KMS key to be used to encrypt content in Amazon Fraud Detector."]modulePutKMSEncryptionKeyRequest=structtypenonrect={kmsEncryptionKeyArn:KmsEncryptionKeyArn.t[@ocaml.doc"The KMS encryption key ARN. The KMS key must be single-Region key. Amazon Fraud Detector does not support multi-Region KMS key."]}letcontext_="PutKMSEncryptionKeyRequest"letmake~kmsEncryptionKeyArn=fun()->{kmsEncryptionKeyArn}letto_valuex=structure_to_value[("kmsEncryptionKeyArn",(Some(KmsEncryptionKeyArn.to_valuex.kmsEncryptionKeyArn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letkmsEncryptionKeyArn=KmsEncryptionKeyArn.of_xml(Xml.child_exn~context:context_xml_arg0"kmsEncryptionKeyArn")inmake~kmsEncryptionKeyArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letkmsEncryptionKeyArn=field_map_exnjson__"kmsEncryptionKeyArn"KmsEncryptionKeyArn.of_jsoninmake~kmsEncryptionKeyArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Specifies the KMS key to be used to encrypt content in Amazon Fraud Detector."]modulePutExternalModelResult=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))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"Creates or updates an Amazon SageMaker model endpoint. You can also use this action to update the configuration of the model endpoint, including the IAM role and/or the mapped variables."]modulePutExternalModelRequest=structtypenonrect={modelEndpoint:SageMakerEndpointIdentifier.t[@ocaml.doc"The model endpoints name."];modelSource:ModelSource.t[@ocaml.doc"The source of the model."];invokeModelEndpointRoleArn:String_.t[@ocaml.doc"The IAM role used to invoke the model endpoint."];inputConfiguration:ModelInputConfiguration.t[@ocaml.doc"The model endpoint input configuration."];outputConfiguration:ModelOutputConfiguration.t[@ocaml.doc"The model endpoint output configuration."];modelEndpointStatus:ModelEndpointStatus.t[@ocaml.doc"The model endpoint\226\128\153s status in Amazon Fraud Detector."];tags:TagList.toption[@ocaml.doc"A collection of key and value pairs."]}letcontext_="PutExternalModelRequest"letmake?tags=fun~modelEndpoint->fun~modelSource->fun~invokeModelEndpointRoleArn->fun~inputConfiguration->fun~outputConfiguration->fun~modelEndpointStatus->fun()->{tags;modelEndpoint;modelSource;invokeModelEndpointRoleArn;inputConfiguration;outputConfiguration;modelEndpointStatus}letto_valuex=structure_to_value[("modelEndpoint",(Some(SageMakerEndpointIdentifier.to_valuex.modelEndpoint)));("modelSource",(Some(ModelSource.to_valuex.modelSource)));("invokeModelEndpointRoleArn",(Some(String_.to_valuex.invokeModelEndpointRoleArn)));("inputConfiguration",(Some(ModelInputConfiguration.to_valuex.inputConfiguration)));("outputConfiguration",(Some(ModelOutputConfiguration.to_valuex.outputConfiguration)));("modelEndpointStatus",(Some(ModelEndpointStatus.to_valuex.modelEndpointStatus)));("tags",(Option.mapx.tags~f:TagList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettags=(Option.map~f:TagList.of_xml)(Xml.childxml_arg0"tags")inletmodelEndpointStatus=ModelEndpointStatus.of_xml(Xml.child_exn~context:context_xml_arg0"modelEndpointStatus")inletoutputConfiguration=ModelOutputConfiguration.of_xml(Xml.child_exn~context:context_xml_arg0"outputConfiguration")inletinputConfiguration=ModelInputConfiguration.of_xml(Xml.child_exn~context:context_xml_arg0"inputConfiguration")inletinvokeModelEndpointRoleArn=String_.of_xml(Xml.child_exn~context:context_xml_arg0"invokeModelEndpointRoleArn")inletmodelSource=ModelSource.of_xml(Xml.child_exn~context:context_xml_arg0"modelSource")inletmodelEndpoint=SageMakerEndpointIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"modelEndpoint")inmake?tags~modelEndpointStatus~outputConfiguration~inputConfiguration~invokeModelEndpointRoleArn~modelSource~modelEndpoint()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"tags"TagList.of_jsoninletmodelEndpointStatus=field_map_exnjson__"modelEndpointStatus"ModelEndpointStatus.of_jsoninletoutputConfiguration=field_map_exnjson__"outputConfiguration"ModelOutputConfiguration.of_jsoninletinputConfiguration=field_map_exnjson__"inputConfiguration"ModelInputConfiguration.of_jsoninletinvokeModelEndpointRoleArn=field_map_exnjson__"invokeModelEndpointRoleArn"String_.of_jsoninletmodelSource=field_map_exnjson__"modelSource"ModelSource.of_jsoninletmodelEndpoint=field_map_exnjson__"modelEndpoint"SageMakerEndpointIdentifier.of_jsoninmake?tags~modelEndpointStatus~outputConfiguration~inputConfiguration~invokeModelEndpointRoleArn~modelSource~modelEndpoint()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates or updates an Amazon SageMaker model endpoint. You can also use this action to update the configuration of the model endpoint, including the IAM role and/or the mapped variables."]modulePutEventTypeResult=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))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"Creates or updates an event type. An event is a business activity that is evaluated for fraud risk. With Amazon Fraud Detector, you generate fraud predictions for events. An event type defines the structure for an event sent to Amazon Fraud Detector. This includes the variables sent as part of the event, the entity performing the event (such as a customer), and the labels that classify the event. Example event types include online payment transactions, account registrations, and authentications."]modulePutEventTypeRequest=structtypenonrect={name:Identifier.t[@ocaml.doc"The name."];description:Description.toption[@ocaml.doc"The description of the event type."];eventVariables:NonEmptyListOfStrings.t[@ocaml.doc"The event type variables."];labels:ListOfStrings.toption[@ocaml.doc"The event type labels."];entityTypes:NonEmptyListOfStrings.t[@ocaml.doc"The entity type for the event type. Example entity types: customer, merchant, account."];eventIngestion:EventIngestion.toption[@ocaml.doc"Specifies if ingestion is enabled or disabled."];tags:TagList.toption[@ocaml.doc"A collection of key and value pairs."];eventOrchestration:EventOrchestration.toption[@ocaml.doc"Enables or disables event orchestration. If enabled, you can send event predictions to select AWS services for downstream processing of the events."]}letcontext_="PutEventTypeRequest"letmake?description=fun?labels->fun?eventIngestion->fun?tags->fun?eventOrchestration->fun~name->fun~eventVariables->fun~entityTypes->fun()->{description;labels;eventIngestion;tags;eventOrchestration;name;eventVariables;entityTypes}letto_valuex=structure_to_value[("name",(Some(Identifier.to_valuex.name)));("description",(Option.mapx.description~f:Description.to_value));("eventVariables",(Some(NonEmptyListOfStrings.to_valuex.eventVariables)));("labels",(Option.mapx.labels~f:ListOfStrings.to_value));("entityTypes",(Some(NonEmptyListOfStrings.to_valuex.entityTypes)));("eventIngestion",(Option.mapx.eventIngestion~f:EventIngestion.to_value));("tags",(Option.mapx.tags~f:TagList.to_value));("eventOrchestration",(Option.mapx.eventOrchestration~f:EventOrchestration.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=leteventOrchestration=(Option.map~f:EventOrchestration.of_xml)(Xml.childxml_arg0"eventOrchestration")inlettags=(Option.map~f:TagList.of_xml)(Xml.childxml_arg0"tags")inleteventIngestion=(Option.map~f:EventIngestion.of_xml)(Xml.childxml_arg0"eventIngestion")inletentityTypes=NonEmptyListOfStrings.of_xml(Xml.child_exn~context:context_xml_arg0"entityTypes")inletlabels=(Option.map~f:ListOfStrings.of_xml)(Xml.childxml_arg0"labels")inleteventVariables=NonEmptyListOfStrings.of_xml(Xml.child_exn~context:context_xml_arg0"eventVariables")inletdescription=(Option.map~f:Description.of_xml)(Xml.childxml_arg0"description")inletname=Identifier.of_xml(Xml.child_exn~context:context_xml_arg0"name")inmake?eventOrchestration?tags?eventIngestion~entityTypes?labels~eventVariables?description~name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=leteventOrchestration=field_mapjson__"eventOrchestration"EventOrchestration.of_jsoninlettags=field_mapjson__"tags"TagList.of_jsoninleteventIngestion=field_mapjson__"eventIngestion"EventIngestion.of_jsoninletentityTypes=field_map_exnjson__"entityTypes"NonEmptyListOfStrings.of_jsoninletlabels=field_mapjson__"labels"ListOfStrings.of_jsoninleteventVariables=field_map_exnjson__"eventVariables"NonEmptyListOfStrings.of_jsoninletdescription=field_mapjson__"description"Description.of_jsoninletname=field_map_exnjson__"name"Identifier.of_jsoninmake?eventOrchestration?tags?eventIngestion~entityTypes?labels~eventVariables?description~name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates or updates an event type. An event is a business activity that is evaluated for fraud risk. With Amazon Fraud Detector, you generate fraud predictions for events. An event type defines the structure for an event sent to Amazon Fraud Detector. This includes the variables sent as part of the event, the entity performing the event (such as a customer), and the labels that classify the event. Example event types include online payment transactions, account registrations, and authentications."]modulePutEntityTypeResult=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))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"Creates or updates an entity type. An entity represents who is performing the event. As part of a fraud prediction, you pass the entity ID to indicate the specific entity who performed the event. An entity type classifies the entity. Example classifications include customer, merchant, or account."]modulePutEntityTypeRequest=structtypenonrect={name:Identifier.t[@ocaml.doc"The name of the entity type."];description:Description.toption[@ocaml.doc"The description."];tags:TagList.toption[@ocaml.doc"A collection of key and value pairs."]}letcontext_="PutEntityTypeRequest"letmake?description=fun?tags->fun~name->fun()->{description;tags;name}letto_valuex=structure_to_value[("name",(Some(Identifier.to_valuex.name)));("description",(Option.mapx.description~f:Description.to_value));("tags",(Option.mapx.tags~f:TagList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettags=(Option.map~f:TagList.of_xml)(Xml.childxml_arg0"tags")inletdescription=(Option.map~f:Description.of_xml)(Xml.childxml_arg0"description")inletname=Identifier.of_xml(Xml.child_exn~context:context_xml_arg0"name")inmake?tags?description~name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"tags"TagList.of_jsoninletdescription=field_mapjson__"description"Description.of_jsoninletname=field_map_exnjson__"name"Identifier.of_jsoninmake?tags?description~name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates or updates an entity type. An entity represents who is performing the event. As part of a fraud prediction, you pass the entity ID to indicate the specific entity who performed the event. An entity type classifies the entity. Example classifications include customer, merchant, or account."]modulePutDetectorResult=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))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"Creates or updates a detector."]modulePutDetectorRequest=structtypenonrect={detectorId:Identifier.t[@ocaml.doc"The detector ID."];description:Description.toption[@ocaml.doc"The description of the detector."];eventTypeName:Identifier.t[@ocaml.doc"The name of the event type."];tags:TagList.toption[@ocaml.doc"A collection of key and value pairs."]}letcontext_="PutDetectorRequest"letmake?description=fun?tags->fun~detectorId->fun~eventTypeName->fun()->{description;tags;detectorId;eventTypeName}letto_valuex=structure_to_value[("detectorId",(Some(Identifier.to_valuex.detectorId)));("description",(Option.mapx.description~f:Description.to_value));("eventTypeName",(Some(Identifier.to_valuex.eventTypeName)));("tags",(Option.mapx.tags~f:TagList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettags=(Option.map~f:TagList.of_xml)(Xml.childxml_arg0"tags")inleteventTypeName=Identifier.of_xml(Xml.child_exn~context:context_xml_arg0"eventTypeName")inletdescription=(Option.map~f:Description.of_xml)(Xml.childxml_arg0"description")inletdetectorId=Identifier.of_xml(Xml.child_exn~context:context_xml_arg0"detectorId")inmake?tags~eventTypeName?description~detectorId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"tags"TagList.of_jsoninleteventTypeName=field_map_exnjson__"eventTypeName"Identifier.of_jsoninletdescription=field_mapjson__"description"Description.of_jsoninletdetectorId=field_map_exnjson__"detectorId"Identifier.of_jsoninmake?tags~eventTypeName?description~detectorId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates or updates a detector."]moduleListTagsForResourceResult=structtypenonrect={tags:TagList.toption[@ocaml.doc"A collection of key and value pairs."];nextToken:String_.toption[@ocaml.doc"The next token for subsequent requests."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?tags=fun?nextToken->fun()->{tags;nextToken}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.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)|"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))]|`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[("tags",(Option.mapx.tags~f:TagList.to_value));("nextToken",(Option.mapx.nextToken~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"nextToken")inlettags=(Option.map~f:TagList.of_xml)(Xml.childxml_arg0"tags")inmake?nextToken?tags()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"String_.of_jsoninlettags=field_mapjson__"tags"TagList.of_jsoninmake?nextToken?tags()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists all tags associated with the resource. This is a paginated API. To get the next page results, provide the pagination token from the response as part of your request. A null pagination token fetches the records from the beginning."]moduleListTagsForResourceRequest=structtypenonrect={resourceARN:FraudDetectorArn.t[@ocaml.doc"The ARN that specifies the resource whose tags you want to list."];nextToken:String_.toption[@ocaml.doc"The next token from the previous results."];maxResults:TagsMaxResults.toption[@ocaml.doc"The maximum number of objects to return for the request."]}letcontext_="ListTagsForResourceRequest"letmake?nextToken=fun?maxResults->fun~resourceARN->fun()->{nextToken;maxResults;resourceARN}letto_valuex=structure_to_value[("resourceARN",(Some(FraudDetectorArn.to_valuex.resourceARN)));("nextToken",(Option.mapx.nextToken~f:String_.to_value));("maxResults",(Option.mapx.maxResults~f:TagsMaxResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:TagsMaxResults.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"nextToken")inletresourceARN=FraudDetectorArn.of_xml(Xml.child_exn~context:context_xml_arg0"resourceARN")inmake?maxResults?nextToken~resourceARN()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"maxResults"TagsMaxResults.of_jsoninletnextToken=field_mapjson__"nextToken"String_.of_jsoninletresourceARN=field_map_exnjson__"resourceARN"FraudDetectorArn.of_jsoninmake?maxResults?nextToken~resourceARN()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists all tags associated with the resource. This is a paginated API. To get the next page results, provide the pagination token from the response as part of your request. A null pagination token fetches the records from the beginning."]moduleListEventPredictionsResult=structtypenonrect={eventPredictionSummaries:ListOfEventPredictionSummaries.toption[@ocaml.doc"The summary of the past predictions."];nextToken:String_.toption[@ocaml.doc"Identifies the next page of results to return. Use the token to make the call again to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?eventPredictionSummaries=fun?nextToken->fun()->{eventPredictionSummaries;nextToken}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[("eventPredictionSummaries",(Option.mapx.eventPredictionSummaries~f:ListOfEventPredictionSummaries.to_value));("nextToken",(Option.mapx.nextToken~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"nextToken")inleteventPredictionSummaries=(Option.map~f:ListOfEventPredictionSummaries.of_xml)(Xml.childxml_arg0"eventPredictionSummaries")inmake?nextToken?eventPredictionSummaries()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"String_.of_jsoninleteventPredictionSummaries=field_mapjson__"eventPredictionSummaries"ListOfEventPredictionSummaries.of_jsoninmake?nextToken?eventPredictionSummaries()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets a list of past predictions. The list can be filtered by detector ID, detector version ID, event ID, event type, or by specifying a time period. If filter is not specified, the most recent prediction is returned. For example, the following filter lists all past predictions for xyz event type - \\{ \"eventType\":\\{ \"value\": \"xyz\" \\}\226\128\157 \\} This is a paginated API. If you provide a null maxResults, this action will retrieve a maximum of 10 records per page. If you provide a maxResults, the value must be between 50 and 100. To get the next page results, provide the nextToken from the response as part of your request. A null nextToken fetches the records from the beginning."]moduleListEventPredictionsRequest=structtypenonrect={eventId:FilterCondition.toption[@ocaml.doc"The event ID."];eventType:FilterCondition.toption[@ocaml.doc"The event type associated with the detector."];detectorId:FilterCondition.toption[@ocaml.doc"The detector ID."];detectorVersionId:FilterCondition.toption[@ocaml.doc"The detector version ID."];predictionTimeRange:PredictionTimeRange.toption[@ocaml.doc"The time period for when the predictions were generated."];nextToken:String_.toption[@ocaml.doc"Identifies the next page of results to return. Use the token to make the call again to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours."];maxResults:EventPredictionsMaxResults.toption[@ocaml.doc"The maximum number of predictions to return for the request."]}letmake?eventId=fun?eventType->fun?detectorId->fun?detectorVersionId->fun?predictionTimeRange->fun?nextToken->fun?maxResults->fun()->{eventId;eventType;detectorId;detectorVersionId;predictionTimeRange;nextToken;maxResults}letto_valuex=structure_to_value[("eventId",(Option.mapx.eventId~f:FilterCondition.to_value));("eventType",(Option.mapx.eventType~f:FilterCondition.to_value));("detectorId",(Option.mapx.detectorId~f:FilterCondition.to_value));("detectorVersionId",(Option.mapx.detectorVersionId~f:FilterCondition.to_value));("predictionTimeRange",(Option.mapx.predictionTimeRange~f:PredictionTimeRange.to_value));("nextToken",(Option.mapx.nextToken~f:String_.to_value));("maxResults",(Option.mapx.maxResults~f:EventPredictionsMaxResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:EventPredictionsMaxResults.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"nextToken")inletpredictionTimeRange=(Option.map~f:PredictionTimeRange.of_xml)(Xml.childxml_arg0"predictionTimeRange")inletdetectorVersionId=(Option.map~f:FilterCondition.of_xml)(Xml.childxml_arg0"detectorVersionId")inletdetectorId=(Option.map~f:FilterCondition.of_xml)(Xml.childxml_arg0"detectorId")inleteventType=(Option.map~f:FilterCondition.of_xml)(Xml.childxml_arg0"eventType")inleteventId=(Option.map~f:FilterCondition.of_xml)(Xml.childxml_arg0"eventId")inmake?maxResults?nextToken?predictionTimeRange?detectorVersionId?detectorId?eventType?eventId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"maxResults"EventPredictionsMaxResults.of_jsoninletnextToken=field_mapjson__"nextToken"String_.of_jsoninletpredictionTimeRange=field_mapjson__"predictionTimeRange"PredictionTimeRange.of_jsoninletdetectorVersionId=field_mapjson__"detectorVersionId"FilterCondition.of_jsoninletdetectorId=field_mapjson__"detectorId"FilterCondition.of_jsoninleteventType=field_mapjson__"eventType"FilterCondition.of_jsoninleteventId=field_mapjson__"eventId"FilterCondition.of_jsoninmake?maxResults?nextToken?predictionTimeRange?detectorVersionId?detectorId?eventType?eventId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets a list of past predictions. The list can be filtered by detector ID, detector version ID, event ID, event type, or by specifying a time period. If filter is not specified, the most recent prediction is returned. For example, the following filter lists all past predictions for xyz event type - \\{ \"eventType\":\\{ \"value\": \"xyz\" \\}\226\128\157 \\} This is a paginated API. If you provide a null maxResults, this action will retrieve a maximum of 10 records per page. If you provide a maxResults, the value must be between 50 and 100. To get the next page results, provide the nextToken from the response as part of your request. A null nextToken fetches the records from the beginning."]moduleGetVariablesResult=structtypenonrect={variables:VariableList.toption[@ocaml.doc"The names of the variables returned."];nextToken:String_.toption[@ocaml.doc"The next page token to be used in subsequent requests."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?variables=fun?nextToken->fun()->{variables;nextToken}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[("variables",(Option.mapx.variables~f:VariableList.to_value));("nextToken",(Option.mapx.nextToken~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"nextToken")inletvariables=(Option.map~f:VariableList.of_xml)(Xml.childxml_arg0"variables")inmake?nextToken?variables()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"String_.of_jsoninletvariables=field_mapjson__"variables"VariableList.of_jsoninmake?nextToken?variables()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets all of the variables or the specific variable. This is a paginated API. Providing null maxSizePerPage results in retrieving maximum of 100 records per page. If you provide maxSizePerPage the value must be between 50 and 100. To get the next page result, a provide a pagination token from GetVariablesResult as part of your request. Null pagination token fetches the records from the beginning."]moduleGetVariablesRequest=structtypenonrect={name:String_.toption[@ocaml.doc"The name of the variable."];nextToken:String_.toption[@ocaml.doc"The next page token of the get variable request."];maxResults:VariablesMaxResults.toption[@ocaml.doc"The max size per page determined for the get variable request."]}letmake?name=fun?nextToken->fun?maxResults->fun()->{name;nextToken;maxResults}letto_valuex=structure_to_value[("name",(Option.mapx.name~f:String_.to_value));("nextToken",(Option.mapx.nextToken~f:String_.to_value));("maxResults",(Option.mapx.maxResults~f:VariablesMaxResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:VariablesMaxResults.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"nextToken")inletname=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"name")inmake?maxResults?nextToken?name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"maxResults"VariablesMaxResults.of_jsoninletnextToken=field_mapjson__"nextToken"String_.of_jsoninletname=field_mapjson__"name"String_.of_jsoninmake?maxResults?nextToken?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets all of the variables or the specific variable. This is a paginated API. Providing null maxSizePerPage results in retrieving maximum of 100 records per page. If you provide maxSizePerPage the value must be between 50 and 100. To get the next page result, a provide a pagination token from GetVariablesResult as part of your request. Null pagination token fetches the records from the beginning."]moduleGetRulesResult=structtypenonrect={ruleDetails:RuleDetailList.toption[@ocaml.doc"The details of the requested rule."];nextToken:String_.toption[@ocaml.doc"The next page token to be used in subsequent requests."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?ruleDetails=fun?nextToken->fun()->{ruleDetails;nextToken}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[("ruleDetails",(Option.mapx.ruleDetails~f:RuleDetailList.to_value));("nextToken",(Option.mapx.nextToken~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"nextToken")inletruleDetails=(Option.map~f:RuleDetailList.of_xml)(Xml.childxml_arg0"ruleDetails")inmake?nextToken?ruleDetails()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"String_.of_jsoninletruleDetails=field_mapjson__"ruleDetails"RuleDetailList.of_jsoninmake?nextToken?ruleDetails()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Get all rules for a detector (paginated) if ruleId and ruleVersion are not specified. Gets all rules for the detector and the ruleId if present (paginated). Gets a specific rule if both the ruleId and the ruleVersion are specified. This is a paginated API. Providing null maxResults results in retrieving maximum of 100 records per page. If you provide maxResults the value must be between 50 and 100. To get the next page result, a provide a pagination token from GetRulesResult as part of your request. Null pagination token fetches the records from the beginning."]moduleGetRulesRequest=structtypenonrect={ruleId:Identifier.toption[@ocaml.doc"The rule ID."];detectorId:Identifier.t[@ocaml.doc"The detector ID."];ruleVersion:WholeNumberVersionString.toption[@ocaml.doc"The rule version."];nextToken:String_.toption[@ocaml.doc"The next page token."];maxResults:RulesMaxResults.toption[@ocaml.doc"The maximum number of rules to return for the request."]}letcontext_="GetRulesRequest"letmake?ruleId=fun?ruleVersion->fun?nextToken->fun?maxResults->fun~detectorId->fun()->{ruleId;ruleVersion;nextToken;maxResults;detectorId}letto_valuex=structure_to_value[("ruleId",(Option.mapx.ruleId~f:Identifier.to_value));("detectorId",(Some(Identifier.to_valuex.detectorId)));("ruleVersion",(Option.mapx.ruleVersion~f:WholeNumberVersionString.to_value));("nextToken",(Option.mapx.nextToken~f:String_.to_value));("maxResults",(Option.mapx.maxResults~f:RulesMaxResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:RulesMaxResults.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"nextToken")inletruleVersion=(Option.map~f:WholeNumberVersionString.of_xml)(Xml.childxml_arg0"ruleVersion")inletdetectorId=Identifier.of_xml(Xml.child_exn~context:context_xml_arg0"detectorId")inletruleId=(Option.map~f:Identifier.of_xml)(Xml.childxml_arg0"ruleId")inmake?maxResults?nextToken?ruleVersion~detectorId?ruleId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"maxResults"RulesMaxResults.of_jsoninletnextToken=field_mapjson__"nextToken"String_.of_jsoninletruleVersion=field_mapjson__"ruleVersion"WholeNumberVersionString.of_jsoninletdetectorId=field_map_exnjson__"detectorId"Identifier.of_jsoninletruleId=field_mapjson__"ruleId"Identifier.of_jsoninmake?maxResults?nextToken?ruleVersion~detectorId?ruleId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Get all rules for a detector (paginated) if ruleId and ruleVersion are not specified. Gets all rules for the detector and the ruleId if present (paginated). Gets a specific rule if both the ruleId and the ruleVersion are specified. This is a paginated API. Providing null maxResults results in retrieving maximum of 100 records per page. If you provide maxResults the value must be between 50 and 100. To get the next page result, a provide a pagination token from GetRulesResult as part of your request. Null pagination token fetches the records from the beginning."]moduleGetOutcomesResult=structtypenonrect={outcomes:OutcomeList.toption[@ocaml.doc"The outcomes."];nextToken:String_.toption[@ocaml.doc"The next page token for subsequent requests."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?outcomes=fun?nextToken->fun()->{outcomes;nextToken}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[("outcomes",(Option.mapx.outcomes~f:OutcomeList.to_value));("nextToken",(Option.mapx.nextToken~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"nextToken")inletoutcomes=(Option.map~f:OutcomeList.of_xml)(Xml.childxml_arg0"outcomes")inmake?nextToken?outcomes()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"String_.of_jsoninletoutcomes=field_mapjson__"outcomes"OutcomeList.of_jsoninmake?nextToken?outcomes()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets one or more outcomes. This is a paginated API. If you provide a null maxResults, this actions retrieves a maximum of 100 records per page. If you provide a maxResults, the value must be between 50 and 100. To get the next page results, provide the pagination token from the GetOutcomesResult as part of your request. A null pagination token fetches the records from the beginning."]moduleGetOutcomesRequest=structtypenonrect={name:Identifier.toption[@ocaml.doc"The name of the outcome or outcomes to get."];nextToken:String_.toption[@ocaml.doc"The next page token for the request."];maxResults:OutcomesMaxResults.toption[@ocaml.doc"The maximum number of objects to return for the request."]}letmake?name=fun?nextToken->fun?maxResults->fun()->{name;nextToken;maxResults}letto_valuex=structure_to_value[("name",(Option.mapx.name~f:Identifier.to_value));("nextToken",(Option.mapx.nextToken~f:String_.to_value));("maxResults",(Option.mapx.maxResults~f:OutcomesMaxResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:OutcomesMaxResults.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"nextToken")inletname=(Option.map~f:Identifier.of_xml)(Xml.childxml_arg0"name")inmake?maxResults?nextToken?name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"maxResults"OutcomesMaxResults.of_jsoninletnextToken=field_mapjson__"nextToken"String_.of_jsoninletname=field_mapjson__"name"Identifier.of_jsoninmake?maxResults?nextToken?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets one or more outcomes. This is a paginated API. If you provide a null maxResults, this actions retrieves a maximum of 100 records per page. If you provide a maxResults, the value must be between 50 and 100. To get the next page results, provide the pagination token from the GetOutcomesResult as part of your request. A null pagination token fetches the records from the beginning."]moduleGetModelsResult=structtypenonrect={nextToken:String_.toption[@ocaml.doc"The next page token to be used in subsequent requests."];models:ModelList.toption[@ocaml.doc"The array of models."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?nextToken=fun?models->fun()->{nextToken;models}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[("nextToken",(Option.mapx.nextToken~f:String_.to_value));("models",(Option.mapx.models~f:ModelList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmodels=(Option.map~f:ModelList.of_xml)(Xml.childxml_arg0"models")inletnextToken=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"nextToken")inmake?models?nextToken()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmodels=field_mapjson__"models"ModelList.of_jsoninletnextToken=field_mapjson__"nextToken"String_.of_jsoninmake?models?nextToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets one or more models. Gets all models for the Amazon Web Services account if no model type and no model id provided. Gets all models for the Amazon Web Services account and model type, if the model type is specified but model id is not provided. Gets a specific model if (model type, model id) tuple is specified. This is a paginated API. If you provide a null maxResults, this action retrieves a maximum of 10 records per page. If you provide a maxResults, the value must be between 1 and 10. To get the next page results, provide the pagination token from the response as part of your request. A null pagination token fetches the records from the beginning."]moduleGetModelsRequest=structtypenonrect={modelId:ModelIdentifier.toption[@ocaml.doc"The model ID."];modelType:ModelTypeEnum.toption[@ocaml.doc"The model type."];nextToken:String_.toption[@ocaml.doc"The next token for the subsequent request."];maxResults:ModelsMaxPageSize.toption[@ocaml.doc"The maximum number of objects to return for the request."]}letmake?modelId=fun?modelType->fun?nextToken->fun?maxResults->fun()->{modelId;modelType;nextToken;maxResults}letto_valuex=structure_to_value[("modelId",(Option.mapx.modelId~f:ModelIdentifier.to_value));("modelType",(Option.mapx.modelType~f:ModelTypeEnum.to_value));("nextToken",(Option.mapx.nextToken~f:String_.to_value));("maxResults",(Option.mapx.maxResults~f:ModelsMaxPageSize.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:ModelsMaxPageSize.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"nextToken")inletmodelType=(Option.map~f:ModelTypeEnum.of_xml)(Xml.childxml_arg0"modelType")inletmodelId=(Option.map~f:ModelIdentifier.of_xml)(Xml.childxml_arg0"modelId")inmake?maxResults?nextToken?modelType?modelId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"maxResults"ModelsMaxPageSize.of_jsoninletnextToken=field_mapjson__"nextToken"String_.of_jsoninletmodelType=field_mapjson__"modelType"ModelTypeEnum.of_jsoninletmodelId=field_mapjson__"modelId"ModelIdentifier.of_jsoninmake?maxResults?nextToken?modelType?modelId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets one or more models. Gets all models for the Amazon Web Services account if no model type and no model id provided. Gets all models for the Amazon Web Services account and model type, if the model type is specified but model id is not provided. Gets a specific model if (model type, model id) tuple is specified. This is a paginated API. If you provide a null maxResults, this action retrieves a maximum of 10 records per page. If you provide a maxResults, the value must be between 1 and 10. To get the next page results, provide the pagination token from the response as part of your request. A null pagination token fetches the records from the beginning."]moduleGetModelVersionResult=structtypenonrect={modelId:ModelIdentifier.toption[@ocaml.doc"The model ID."];modelType:ModelTypeEnum.toption[@ocaml.doc"The model type."];modelVersionNumber:FloatVersionString.toption[@ocaml.doc"The model version number."];trainingDataSource:TrainingDataSourceEnum.toption[@ocaml.doc"The training data source."];trainingDataSchema:TrainingDataSchema.toption[@ocaml.doc"The training data schema."];externalEventsDetail:ExternalEventsDetail.toption[@ocaml.doc"The details of the external events data used for training the model version. This will be populated if the trainingDataSource is EXTERNAL_EVENTS"];ingestedEventsDetail:IngestedEventsDetail.toption[@ocaml.doc"The details of the ingested events data used for training the model version. This will be populated if the trainingDataSource is INGESTED_EVENTS."];status:String_.toption[@ocaml.doc"The model version status. Possible values are: TRAINING_IN_PROGRESS TRAINING_COMPLETE ACTIVATE_REQUESTED ACTIVATE_IN_PROGRESS ACTIVE INACTIVATE_REQUESTED INACTIVATE_IN_PROGRESS INACTIVE ERROR"];arn:FraudDetectorArn.toption[@ocaml.doc"The model version ARN."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?modelId=fun?modelType->fun?modelVersionNumber->fun?trainingDataSource->fun?trainingDataSchema->fun?externalEventsDetail->fun?ingestedEventsDetail->fun?status->fun?arn->fun()->{modelId;modelType;modelVersionNumber;trainingDataSource;trainingDataSchema;externalEventsDetail;ingestedEventsDetail;status;arn}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[("modelId",(Option.mapx.modelId~f:ModelIdentifier.to_value));("modelType",(Option.mapx.modelType~f:ModelTypeEnum.to_value));("modelVersionNumber",(Option.mapx.modelVersionNumber~f:FloatVersionString.to_value));("trainingDataSource",(Option.mapx.trainingDataSource~f:TrainingDataSourceEnum.to_value));("trainingDataSchema",(Option.mapx.trainingDataSchema~f:TrainingDataSchema.to_value));("externalEventsDetail",(Option.mapx.externalEventsDetail~f:ExternalEventsDetail.to_value));("ingestedEventsDetail",(Option.mapx.ingestedEventsDetail~f:IngestedEventsDetail.to_value));("status",(Option.mapx.status~f:String_.to_value));("arn",(Option.mapx.arn~f:FraudDetectorArn.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letarn=(Option.map~f:FraudDetectorArn.of_xml)(Xml.childxml_arg0"arn")inletstatus=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"status")inletingestedEventsDetail=(Option.map~f:IngestedEventsDetail.of_xml)(Xml.childxml_arg0"ingestedEventsDetail")inletexternalEventsDetail=(Option.map~f:ExternalEventsDetail.of_xml)(Xml.childxml_arg0"externalEventsDetail")inlettrainingDataSchema=(Option.map~f:TrainingDataSchema.of_xml)(Xml.childxml_arg0"trainingDataSchema")inlettrainingDataSource=(Option.map~f:TrainingDataSourceEnum.of_xml)(Xml.childxml_arg0"trainingDataSource")inletmodelVersionNumber=(Option.map~f:FloatVersionString.of_xml)(Xml.childxml_arg0"modelVersionNumber")inletmodelType=(Option.map~f:ModelTypeEnum.of_xml)(Xml.childxml_arg0"modelType")inletmodelId=(Option.map~f:ModelIdentifier.of_xml)(Xml.childxml_arg0"modelId")inmake?arn?status?ingestedEventsDetail?externalEventsDetail?trainingDataSchema?trainingDataSource?modelVersionNumber?modelType?modelId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letarn=field_mapjson__"arn"FraudDetectorArn.of_jsoninletstatus=field_mapjson__"status"String_.of_jsoninletingestedEventsDetail=field_mapjson__"ingestedEventsDetail"IngestedEventsDetail.of_jsoninletexternalEventsDetail=field_mapjson__"externalEventsDetail"ExternalEventsDetail.of_jsoninlettrainingDataSchema=field_mapjson__"trainingDataSchema"TrainingDataSchema.of_jsoninlettrainingDataSource=field_mapjson__"trainingDataSource"TrainingDataSourceEnum.of_jsoninletmodelVersionNumber=field_mapjson__"modelVersionNumber"FloatVersionString.of_jsoninletmodelType=field_mapjson__"modelType"ModelTypeEnum.of_jsoninletmodelId=field_mapjson__"modelId"ModelIdentifier.of_jsoninmake?arn?status?ingestedEventsDetail?externalEventsDetail?trainingDataSchema?trainingDataSource?modelVersionNumber?modelType?modelId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets the details of the specified model version."]moduleGetModelVersionRequest=structtypenonrect={modelId:ModelIdentifier.t[@ocaml.doc"The model ID."];modelType:ModelTypeEnum.t[@ocaml.doc"The model type."];modelVersionNumber:FloatVersionString.t[@ocaml.doc"The model version number."]}letcontext_="GetModelVersionRequest"letmake~modelId=fun~modelType->fun~modelVersionNumber->fun()->{modelId;modelType;modelVersionNumber}letto_valuex=structure_to_value[("modelId",(Some(ModelIdentifier.to_valuex.modelId)));("modelType",(Some(ModelTypeEnum.to_valuex.modelType)));("modelVersionNumber",(Some(FloatVersionString.to_valuex.modelVersionNumber)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmodelVersionNumber=FloatVersionString.of_xml(Xml.child_exn~context:context_xml_arg0"modelVersionNumber")inletmodelType=ModelTypeEnum.of_xml(Xml.child_exn~context:context_xml_arg0"modelType")inletmodelId=ModelIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"modelId")inmake~modelVersionNumber~modelType~modelId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmodelVersionNumber=field_map_exnjson__"modelVersionNumber"FloatVersionString.of_jsoninletmodelType=field_map_exnjson__"modelType"ModelTypeEnum.of_jsoninletmodelId=field_map_exnjson__"modelId"ModelIdentifier.of_jsoninmake~modelVersionNumber~modelType~modelId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets the details of the specified model version."]moduleGetListsMetadataResult=structtypenonrect={lists:AllowDenyLists.toption[@ocaml.doc"The metadata of the specified list or all lists under the account."];nextToken:NextToken.toption[@ocaml.doc"The next page token."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?lists=fun?nextToken->fun()->{lists;nextToken}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[("lists",(Option.mapx.lists~f:AllowDenyLists.to_value));("nextToken",(Option.mapx.nextToken~f:NextToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"nextToken")inletlists=(Option.map~f:AllowDenyLists.of_xml)(Xml.childxml_arg0"lists")inmake?nextToken?lists()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"NextToken.of_jsoninletlists=field_mapjson__"lists"AllowDenyLists.of_jsoninmake?nextToken?lists()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets the metadata of either all the lists under the account or the specified list."]moduleGetListsMetadataRequest=structtypenonrect={name:NoDashIdentifier.toption[@ocaml.doc"The name of the list."];nextToken:NextToken.toption[@ocaml.doc"The next token for the subsequent request."];maxResults:ListsMetadataMaxResults.toption[@ocaml.doc"The maximum number of objects to return for the request."]}letmake?name=fun?nextToken->fun?maxResults->fun()->{name;nextToken;maxResults}letto_valuex=structure_to_value[("name",(Option.mapx.name~f:NoDashIdentifier.to_value));("nextToken",(Option.mapx.nextToken~f:NextToken.to_value));("maxResults",(Option.mapx.maxResults~f:ListsMetadataMaxResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:ListsMetadataMaxResults.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"nextToken")inletname=(Option.map~f:NoDashIdentifier.of_xml)(Xml.childxml_arg0"name")inmake?maxResults?nextToken?name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"maxResults"ListsMetadataMaxResults.of_jsoninletnextToken=field_mapjson__"nextToken"NextToken.of_jsoninletname=field_mapjson__"name"NoDashIdentifier.of_jsoninmake?maxResults?nextToken?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets the metadata of either all the lists under the account or the specified list."]moduleGetListElementsResult=structtypenonrect={elements:ElementsList.toption[@ocaml.doc"The list elements."];nextToken:NextToken.toption[@ocaml.doc"The next page token."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?elements=fun?nextToken->fun()->{elements;nextToken}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[("elements",(Option.mapx.elements~f:ElementsList.to_value));("nextToken",(Option.mapx.nextToken~f:NextToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"nextToken")inletelements=(Option.map~f:ElementsList.of_xml)(Xml.childxml_arg0"elements")inmake?nextToken?elements()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"NextToken.of_jsoninletelements=field_mapjson__"elements"ElementsList.of_jsoninmake?nextToken?elements()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets all the elements in the specified list."]moduleGetListElementsRequest=structtypenonrect={name:NoDashIdentifier.t[@ocaml.doc"The name of the list."];nextToken:NextToken.toption[@ocaml.doc"The next token for the subsequent request."];maxResults:ListsElementsMaxResults.toption[@ocaml.doc"The maximum number of objects to return for the request."]}letcontext_="GetListElementsRequest"letmake?nextToken=fun?maxResults->fun~name->fun()->{nextToken;maxResults;name}letto_valuex=structure_to_value[("name",(Some(NoDashIdentifier.to_valuex.name)));("nextToken",(Option.mapx.nextToken~f:NextToken.to_value));("maxResults",(Option.mapx.maxResults~f:ListsElementsMaxResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:ListsElementsMaxResults.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"nextToken")inletname=NoDashIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"name")inmake?maxResults?nextToken~name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"maxResults"ListsElementsMaxResults.of_jsoninletnextToken=field_mapjson__"nextToken"NextToken.of_jsoninletname=field_map_exnjson__"name"NoDashIdentifier.of_jsoninmake?maxResults?nextToken~name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets all the elements in the specified list."]moduleGetLabelsResult=structtypenonrect={labels:LabelList.toption[@ocaml.doc"An array of labels."];nextToken:String_.toption[@ocaml.doc"The next page token."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?labels=fun?nextToken->fun()->{labels;nextToken}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[("labels",(Option.mapx.labels~f:LabelList.to_value));("nextToken",(Option.mapx.nextToken~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"nextToken")inletlabels=(Option.map~f:LabelList.of_xml)(Xml.childxml_arg0"labels")inmake?nextToken?labels()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"String_.of_jsoninletlabels=field_mapjson__"labels"LabelList.of_jsoninmake?nextToken?labels()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets all labels or a specific label if name is provided. This is a paginated API. If you provide a null maxResults, this action retrieves a maximum of 50 records per page. If you provide a maxResults, the value must be between 10 and 50. To get the next page results, provide the pagination token from the GetGetLabelsResponse as part of your request. A null pagination token fetches the records from the beginning."]moduleGetLabelsRequest=structtypenonrect={name:Identifier.toption[@ocaml.doc"The name of the label or labels to get."];nextToken:String_.toption[@ocaml.doc"The next token for the subsequent request."];maxResults:LabelsMaxResults.toption[@ocaml.doc"The maximum number of objects to return for the request."]}letmake?name=fun?nextToken->fun?maxResults->fun()->{name;nextToken;maxResults}letto_valuex=structure_to_value[("name",(Option.mapx.name~f:Identifier.to_value));("nextToken",(Option.mapx.nextToken~f:String_.to_value));("maxResults",(Option.mapx.maxResults~f:LabelsMaxResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:LabelsMaxResults.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"nextToken")inletname=(Option.map~f:Identifier.of_xml)(Xml.childxml_arg0"name")inmake?maxResults?nextToken?name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"maxResults"LabelsMaxResults.of_jsoninletnextToken=field_mapjson__"nextToken"String_.of_jsoninletname=field_mapjson__"name"Identifier.of_jsoninmake?maxResults?nextToken?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets all labels or a specific label if name is provided. This is a paginated API. If you provide a null maxResults, this action retrieves a maximum of 50 records per page. If you provide a maxResults, the value must be between 10 and 50. To get the next page results, provide the pagination token from the GetGetLabelsResponse as part of your request. A null pagination token fetches the records from the beginning."]moduleGetKMSEncryptionKeyResult=structtypenonrect={kmsKey:KMSKey.toption[@ocaml.doc"The KMS encryption key."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`Unknown_operation_errorof(string*stringoption)]letmake?kmsKey=fun()->{kmsKey}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|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))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("kmsKey",(Option.mapx.kmsKey~f:KMSKey.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letkmsKey=(Option.map~f:KMSKey.of_xml)(Xml.childxml_arg0"kmsKey")inmake?kmsKey()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letkmsKey=field_mapjson__"kmsKey"KMSKey.of_jsoninmake?kmsKey()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets the encryption key if a KMS key has been specified to be used to encrypt content in Amazon Fraud Detector."]moduleGetExternalModelsResult=structtypenonrect={externalModels:ExternalModelList.toption[@ocaml.doc"Gets the Amazon SageMaker models."];nextToken:String_.toption[@ocaml.doc"The next page token to be used in subsequent requests."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?externalModels=fun?nextToken->fun()->{externalModels;nextToken}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[("externalModels",(Option.mapx.externalModels~f:ExternalModelList.to_value));("nextToken",(Option.mapx.nextToken~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"nextToken")inletexternalModels=(Option.map~f:ExternalModelList.of_xml)(Xml.childxml_arg0"externalModels")inmake?nextToken?externalModels()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"String_.of_jsoninletexternalModels=field_mapjson__"externalModels"ExternalModelList.of_jsoninmake?nextToken?externalModels()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets the details for one or more Amazon SageMaker models that have been imported into the service. This is a paginated API. If you provide a null maxResults, this actions retrieves a maximum of 10 records per page. If you provide a maxResults, the value must be between 5 and 10. To get the next page results, provide the pagination token from the GetExternalModelsResult as part of your request. A null pagination token fetches the records from the beginning."]moduleGetExternalModelsRequest=structtypenonrect={modelEndpoint:String_.toption[@ocaml.doc"The Amazon SageMaker model endpoint."];nextToken:String_.toption[@ocaml.doc"The next page token for the request."];maxResults:ExternalModelsMaxResults.toption[@ocaml.doc"The maximum number of objects to return for the request."]}letmake?modelEndpoint=fun?nextToken->fun?maxResults->fun()->{modelEndpoint;nextToken;maxResults}letto_valuex=structure_to_value[("modelEndpoint",(Option.mapx.modelEndpoint~f:String_.to_value));("nextToken",(Option.mapx.nextToken~f:String_.to_value));("maxResults",(Option.mapx.maxResults~f:ExternalModelsMaxResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:ExternalModelsMaxResults.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"nextToken")inletmodelEndpoint=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"modelEndpoint")inmake?maxResults?nextToken?modelEndpoint()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"maxResults"ExternalModelsMaxResults.of_jsoninletnextToken=field_mapjson__"nextToken"String_.of_jsoninletmodelEndpoint=field_mapjson__"modelEndpoint"String_.of_jsoninmake?maxResults?nextToken?modelEndpoint()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets the details for one or more Amazon SageMaker models that have been imported into the service. This is a paginated API. If you provide a null maxResults, this actions retrieves a maximum of 10 records per page. If you provide a maxResults, the value must be between 5 and 10. To get the next page results, provide the pagination token from the GetExternalModelsResult as part of your request. A null pagination token fetches the records from the beginning."]moduleGetEventTypesResult=structtypenonrect={eventTypes:EventTypeList.toption[@ocaml.doc"An array of event types."];nextToken:String_.toption[@ocaml.doc"The next page token."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?eventTypes=fun?nextToken->fun()->{eventTypes;nextToken}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[("eventTypes",(Option.mapx.eventTypes~f:EventTypeList.to_value));("nextToken",(Option.mapx.nextToken~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"nextToken")inleteventTypes=(Option.map~f:EventTypeList.of_xml)(Xml.childxml_arg0"eventTypes")inmake?nextToken?eventTypes()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"String_.of_jsoninleteventTypes=field_mapjson__"eventTypes"EventTypeList.of_jsoninmake?nextToken?eventTypes()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets all event types or a specific event type if name is provided. This is a paginated API. If you provide a null maxResults, this action retrieves a maximum of 10 records per page. If you provide a maxResults, the value must be between 5 and 10. To get the next page results, provide the pagination token from the GetEventTypesResponse as part of your request. A null pagination token fetches the records from the beginning."]moduleGetEventTypesRequest=structtypenonrect={name:Identifier.toption[@ocaml.doc"The name."];nextToken:String_.toption[@ocaml.doc"The next token for the subsequent request."];maxResults:EventTypesMaxResults.toption[@ocaml.doc"The maximum number of objects to return for the request."]}letmake?name=fun?nextToken->fun?maxResults->fun()->{name;nextToken;maxResults}letto_valuex=structure_to_value[("name",(Option.mapx.name~f:Identifier.to_value));("nextToken",(Option.mapx.nextToken~f:String_.to_value));("maxResults",(Option.mapx.maxResults~f:EventTypesMaxResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:EventTypesMaxResults.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"nextToken")inletname=(Option.map~f:Identifier.of_xml)(Xml.childxml_arg0"name")inmake?maxResults?nextToken?name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"maxResults"EventTypesMaxResults.of_jsoninletnextToken=field_mapjson__"nextToken"String_.of_jsoninletname=field_mapjson__"name"Identifier.of_jsoninmake?maxResults?nextToken?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets all event types or a specific event type if name is provided. This is a paginated API. If you provide a null maxResults, this action retrieves a maximum of 10 records per page. If you provide a maxResults, the value must be between 5 and 10. To get the next page results, provide the pagination token from the GetEventTypesResponse as part of your request. A null pagination token fetches the records from the beginning."]moduleGetEventResult=structtypenonrect={event:Event.toption[@ocaml.doc"The details of the event."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?event=fun()->{event}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[("event",(Option.mapx.event~f:Event.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letevent=(Option.map~f:Event.of_xml)(Xml.childxml_arg0"event")inmake?event()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letevent=field_mapjson__"event"Event.of_jsoninmake?event()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves details of events stored with Amazon Fraud Detector. This action does not retrieve prediction results."]moduleGetEventRequest=structtypenonrect={eventId:String_.t[@ocaml.doc"The ID of the event to retrieve."];eventTypeName:String_.t[@ocaml.doc"The event type of the event to retrieve."]}letcontext_="GetEventRequest"letmake~eventId=fun~eventTypeName->fun()->{eventId;eventTypeName}letto_valuex=structure_to_value[("eventId",(Some(String_.to_valuex.eventId)));("eventTypeName",(Some(String_.to_valuex.eventTypeName)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=leteventTypeName=String_.of_xml(Xml.child_exn~context:context_xml_arg0"eventTypeName")inleteventId=String_.of_xml(Xml.child_exn~context:context_xml_arg0"eventId")inmake~eventTypeName~eventId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=leteventTypeName=field_map_exnjson__"eventTypeName"String_.of_jsoninleteventId=field_map_exnjson__"eventId"String_.of_jsoninmake~eventTypeName~eventId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves details of events stored with Amazon Fraud Detector. This action does not retrieve prediction results."]moduleGetEventPredictionResult=structtypenonrect={modelScores:ListOfModelScores.toption[@ocaml.doc"The model scores. Amazon Fraud Detector generates model scores between 0 and 1000, where 0 is low fraud risk and 1000 is high fraud risk. Model scores are directly related to the false positive rate (FPR). For example, a score of 600 corresponds to an estimated 10% false positive rate whereas a score of 900 corresponds to an estimated 2% false positive rate."];ruleResults:ListOfRuleResults.toption[@ocaml.doc"The results from the rules."];externalModelOutputs:ListOfExternalModelOutputs.toption[@ocaml.doc"The model scores for Amazon SageMaker models."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ResourceUnavailableExceptionofResourceUnavailableException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?modelScores=fun?ruleResults->fun?externalModelOutputs->fun()->{modelScores;ruleResults;externalModelOutputs}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ResourceUnavailableException"->`ResourceUnavailableException(ResourceUnavailableException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ResourceUnavailableException"->`ResourceUnavailableException(ResourceUnavailableException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ResourceUnavailableExceptione->`Assoc[("error",(`String"ResourceUnavailableException"));("details",(ResourceUnavailableException.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[("modelScores",(Option.mapx.modelScores~f:ListOfModelScores.to_value));("ruleResults",(Option.mapx.ruleResults~f:ListOfRuleResults.to_value));("externalModelOutputs",(Option.mapx.externalModelOutputs~f:ListOfExternalModelOutputs.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letexternalModelOutputs=(Option.map~f:ListOfExternalModelOutputs.of_xml)(Xml.childxml_arg0"externalModelOutputs")inletruleResults=(Option.map~f:ListOfRuleResults.of_xml)(Xml.childxml_arg0"ruleResults")inletmodelScores=(Option.map~f:ListOfModelScores.of_xml)(Xml.childxml_arg0"modelScores")inmake?externalModelOutputs?ruleResults?modelScores()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letexternalModelOutputs=field_mapjson__"externalModelOutputs"ListOfExternalModelOutputs.of_jsoninletruleResults=field_mapjson__"ruleResults"ListOfRuleResults.of_jsoninletmodelScores=field_mapjson__"modelScores"ListOfModelScores.of_jsoninmake?externalModelOutputs?ruleResults?modelScores()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Evaluates an event against a detector version. If a version ID is not provided, the detector\226\128\153s (ACTIVE) version is used."]moduleGetEventPredictionRequest=structtypenonrect={detectorId:String_.t[@ocaml.doc"The detector ID."];detectorVersionId:WholeNumberVersionString.toption[@ocaml.doc"The detector version ID."];eventId:String_.t[@ocaml.doc"The unique ID used to identify the event."];eventTypeName:String_.t[@ocaml.doc"The event type associated with the detector specified for the prediction."];entities:ListOfEntities.t[@ocaml.doc"The entity type (associated with the detector's event type) and specific entity ID representing who performed the event. If an entity id is not available, use \"UNKNOWN.\""];eventTimestamp:UtcTimestampISO8601.t[@ocaml.doc"Timestamp that defines when the event under evaluation occurred. The timestamp must be specified using ISO 8601 standard in UTC."];eventVariables:EventVariableMap.t[@ocaml.doc"Names of the event type's variables you defined in Amazon Fraud Detector to represent data elements and their corresponding values for the event you are sending for evaluation. You must provide at least one eventVariable To ensure most accurate fraud prediction and to simplify your data preparation, Amazon Fraud Detector will replace all missing variables or values as follows: For Amazon Fraud Detector trained models: If a null value is provided explicitly for a variable or if a variable is missing, model will replace the null value or the missing variable (no variable name in the eventVariables map) with calculated default mean/medians for numeric variables and with special values for categorical variables. For imported SageMaker models: If a null value is provided explicitly for a variable, the model and rules will use \226\128\156null\226\128\157 as the value. If a variable is not provided (no variable name in the eventVariables map), model and rules will use the default value that is provided for the variable."];externalModelEndpointDataBlobs:ExternalModelEndpointDataBlobMap.toption[@ocaml.doc"The Amazon SageMaker model endpoint input data blobs."]}letcontext_="GetEventPredictionRequest"letmake?detectorVersionId=fun?externalModelEndpointDataBlobs->fun~detectorId->fun~eventId->fun~eventTypeName->fun~entities->fun~eventTimestamp->fun~eventVariables->fun()->{detectorVersionId;externalModelEndpointDataBlobs;detectorId;eventId;eventTypeName;entities;eventTimestamp;eventVariables}letto_valuex=structure_to_value[("detectorId",(Some(String_.to_valuex.detectorId)));("detectorVersionId",(Option.mapx.detectorVersionId~f:WholeNumberVersionString.to_value));("eventId",(Some(String_.to_valuex.eventId)));("eventTypeName",(Some(String_.to_valuex.eventTypeName)));("entities",(Some(ListOfEntities.to_valuex.entities)));("eventTimestamp",(Some(UtcTimestampISO8601.to_valuex.eventTimestamp)));("eventVariables",(Some(EventVariableMap.to_valuex.eventVariables)));("externalModelEndpointDataBlobs",(Option.mapx.externalModelEndpointDataBlobs~f:ExternalModelEndpointDataBlobMap.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letexternalModelEndpointDataBlobs=(Option.map~f:ExternalModelEndpointDataBlobMap.of_xml)(Xml.childxml_arg0"externalModelEndpointDataBlobs")inleteventVariables=EventVariableMap.of_xml(Xml.child_exn~context:context_xml_arg0"eventVariables")inleteventTimestamp=UtcTimestampISO8601.of_xml(Xml.child_exn~context:context_xml_arg0"eventTimestamp")inletentities=ListOfEntities.of_xml(Xml.child_exn~context:context_xml_arg0"entities")inleteventTypeName=String_.of_xml(Xml.child_exn~context:context_xml_arg0"eventTypeName")inleteventId=String_.of_xml(Xml.child_exn~context:context_xml_arg0"eventId")inletdetectorVersionId=(Option.map~f:WholeNumberVersionString.of_xml)(Xml.childxml_arg0"detectorVersionId")inletdetectorId=String_.of_xml(Xml.child_exn~context:context_xml_arg0"detectorId")inmake?externalModelEndpointDataBlobs~eventVariables~eventTimestamp~entities~eventTypeName~eventId?detectorVersionId~detectorId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letexternalModelEndpointDataBlobs=field_mapjson__"externalModelEndpointDataBlobs"ExternalModelEndpointDataBlobMap.of_jsoninleteventVariables=field_map_exnjson__"eventVariables"EventVariableMap.of_jsoninleteventTimestamp=field_map_exnjson__"eventTimestamp"UtcTimestampISO8601.of_jsoninletentities=field_map_exnjson__"entities"ListOfEntities.of_jsoninleteventTypeName=field_map_exnjson__"eventTypeName"String_.of_jsoninleteventId=field_map_exnjson__"eventId"String_.of_jsoninletdetectorVersionId=field_mapjson__"detectorVersionId"WholeNumberVersionString.of_jsoninletdetectorId=field_map_exnjson__"detectorId"String_.of_jsoninmake?externalModelEndpointDataBlobs~eventVariables~eventTimestamp~entities~eventTypeName~eventId?detectorVersionId~detectorId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Evaluates an event against a detector version. If a version ID is not provided, the detector\226\128\153s (ACTIVE) version is used."]moduleGetEventPredictionMetadataResult=structtypenonrect={eventId:Identifier.toption[@ocaml.doc"The event ID."];eventTypeName:Identifier.toption[@ocaml.doc"The event type associated with the detector specified for this prediction."];entityId:String_.toption[@ocaml.doc"The entity ID."];entityType:String_.toption[@ocaml.doc"The entity type."];eventTimestamp:Time.toption[@ocaml.doc"The timestamp for when the prediction was generated for the associated event ID."];detectorId:Identifier.toption[@ocaml.doc"The detector ID."];detectorVersionId:WholeNumberVersionString.toption[@ocaml.doc"The detector version ID."];detectorVersionStatus:String_.toption[@ocaml.doc"The status of the detector version."];eventVariables:ListOfEventVariableSummaries.toption[@ocaml.doc"A list of event variables that influenced the prediction scores."];rules:EvaluatedRuleList.toption[@ocaml.doc"List of rules associated with the detector version that were used for evaluating variable values."];ruleExecutionMode:RuleExecutionMode.toption[@ocaml.doc"The execution mode of the rule used for evaluating variable values."];outcomes:ListOfStrings.toption[@ocaml.doc"The outcomes of the matched rule, based on the rule execution mode."];evaluatedModelVersions:ListOfEvaluatedModelVersions.toption[@ocaml.doc"Model versions that were evaluated for generating predictions."];evaluatedExternalModels:ListOfEvaluatedExternalModels.toption[@ocaml.doc"External (Amazon SageMaker) models that were evaluated for generating predictions."];predictionTimestamp:Time.toption[@ocaml.doc"The timestamp that defines when the prediction was generated."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?eventId=fun?eventTypeName->fun?entityId->fun?entityType->fun?eventTimestamp->fun?detectorId->fun?detectorVersionId->fun?detectorVersionStatus->fun?eventVariables->fun?rules->fun?ruleExecutionMode->fun?outcomes->fun?evaluatedModelVersions->fun?evaluatedExternalModels->fun?predictionTimestamp->fun()->{eventId;eventTypeName;entityId;entityType;eventTimestamp;detectorId;detectorVersionId;detectorVersionStatus;eventVariables;rules;ruleExecutionMode;outcomes;evaluatedModelVersions;evaluatedExternalModels;predictionTimestamp}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[("eventId",(Option.mapx.eventId~f:Identifier.to_value));("eventTypeName",(Option.mapx.eventTypeName~f:Identifier.to_value));("entityId",(Option.mapx.entityId~f:String_.to_value));("entityType",(Option.mapx.entityType~f:String_.to_value));("eventTimestamp",(Option.mapx.eventTimestamp~f:Time.to_value));("detectorId",(Option.mapx.detectorId~f:Identifier.to_value));("detectorVersionId",(Option.mapx.detectorVersionId~f:WholeNumberVersionString.to_value));("detectorVersionStatus",(Option.mapx.detectorVersionStatus~f:String_.to_value));("eventVariables",(Option.mapx.eventVariables~f:ListOfEventVariableSummaries.to_value));("rules",(Option.mapx.rules~f:EvaluatedRuleList.to_value));("ruleExecutionMode",(Option.mapx.ruleExecutionMode~f:RuleExecutionMode.to_value));("outcomes",(Option.mapx.outcomes~f:ListOfStrings.to_value));("evaluatedModelVersions",(Option.mapx.evaluatedModelVersions~f:ListOfEvaluatedModelVersions.to_value));("evaluatedExternalModels",(Option.mapx.evaluatedExternalModels~f:ListOfEvaluatedExternalModels.to_value));("predictionTimestamp",(Option.mapx.predictionTimestamp~f:Time.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letpredictionTimestamp=(Option.map~f:Time.of_xml)(Xml.childxml_arg0"predictionTimestamp")inletevaluatedExternalModels=(Option.map~f:ListOfEvaluatedExternalModels.of_xml)(Xml.childxml_arg0"evaluatedExternalModels")inletevaluatedModelVersions=(Option.map~f:ListOfEvaluatedModelVersions.of_xml)(Xml.childxml_arg0"evaluatedModelVersions")inletoutcomes=(Option.map~f:ListOfStrings.of_xml)(Xml.childxml_arg0"outcomes")inletruleExecutionMode=(Option.map~f:RuleExecutionMode.of_xml)(Xml.childxml_arg0"ruleExecutionMode")inletrules=(Option.map~f:EvaluatedRuleList.of_xml)(Xml.childxml_arg0"rules")inleteventVariables=(Option.map~f:ListOfEventVariableSummaries.of_xml)(Xml.childxml_arg0"eventVariables")inletdetectorVersionStatus=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"detectorVersionStatus")inletdetectorVersionId=(Option.map~f:WholeNumberVersionString.of_xml)(Xml.childxml_arg0"detectorVersionId")inletdetectorId=(Option.map~f:Identifier.of_xml)(Xml.childxml_arg0"detectorId")inleteventTimestamp=(Option.map~f:Time.of_xml)(Xml.childxml_arg0"eventTimestamp")inletentityType=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"entityType")inletentityId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"entityId")inleteventTypeName=(Option.map~f:Identifier.of_xml)(Xml.childxml_arg0"eventTypeName")inleteventId=(Option.map~f:Identifier.of_xml)(Xml.childxml_arg0"eventId")inmake?predictionTimestamp?evaluatedExternalModels?evaluatedModelVersions?outcomes?ruleExecutionMode?rules?eventVariables?detectorVersionStatus?detectorVersionId?detectorId?eventTimestamp?entityType?entityId?eventTypeName?eventId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letpredictionTimestamp=field_mapjson__"predictionTimestamp"Time.of_jsoninletevaluatedExternalModels=field_mapjson__"evaluatedExternalModels"ListOfEvaluatedExternalModels.of_jsoninletevaluatedModelVersions=field_mapjson__"evaluatedModelVersions"ListOfEvaluatedModelVersions.of_jsoninletoutcomes=field_mapjson__"outcomes"ListOfStrings.of_jsoninletruleExecutionMode=field_mapjson__"ruleExecutionMode"RuleExecutionMode.of_jsoninletrules=field_mapjson__"rules"EvaluatedRuleList.of_jsoninleteventVariables=field_mapjson__"eventVariables"ListOfEventVariableSummaries.of_jsoninletdetectorVersionStatus=field_mapjson__"detectorVersionStatus"String_.of_jsoninletdetectorVersionId=field_mapjson__"detectorVersionId"WholeNumberVersionString.of_jsoninletdetectorId=field_mapjson__"detectorId"Identifier.of_jsoninleteventTimestamp=field_mapjson__"eventTimestamp"Time.of_jsoninletentityType=field_mapjson__"entityType"String_.of_jsoninletentityId=field_mapjson__"entityId"String_.of_jsoninleteventTypeName=field_mapjson__"eventTypeName"Identifier.of_jsoninleteventId=field_mapjson__"eventId"Identifier.of_jsoninmake?predictionTimestamp?evaluatedExternalModels?evaluatedModelVersions?outcomes?ruleExecutionMode?rules?eventVariables?detectorVersionStatus?detectorVersionId?detectorId?eventTimestamp?entityType?entityId?eventTypeName?eventId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets details of the past fraud predictions for the specified event ID, event type, detector ID, and detector version ID that was generated in the specified time period."]moduleGetEventPredictionMetadataRequest=structtypenonrect={eventId:Identifier.t[@ocaml.doc"The event ID."];eventTypeName:Identifier.t[@ocaml.doc"The event type associated with the detector specified for the prediction."];detectorId:Identifier.t[@ocaml.doc"The detector ID."];detectorVersionId:WholeNumberVersionString.t[@ocaml.doc"The detector version ID."];predictionTimestamp:Time.t[@ocaml.doc"The timestamp that defines when the prediction was generated. The timestamp must be specified using ISO 8601 standard in UTC. We recommend calling ListEventPredictions first, and using the predictionTimestamp value in the response to provide an accurate prediction timestamp value."]}letcontext_="GetEventPredictionMetadataRequest"letmake~eventId=fun~eventTypeName->fun~detectorId->fun~detectorVersionId->fun~predictionTimestamp->fun()->{eventId;eventTypeName;detectorId;detectorVersionId;predictionTimestamp}letto_valuex=structure_to_value[("eventId",(Some(Identifier.to_valuex.eventId)));("eventTypeName",(Some(Identifier.to_valuex.eventTypeName)));("detectorId",(Some(Identifier.to_valuex.detectorId)));("detectorVersionId",(Some(WholeNumberVersionString.to_valuex.detectorVersionId)));("predictionTimestamp",(Some(Time.to_valuex.predictionTimestamp)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letpredictionTimestamp=Time.of_xml(Xml.child_exn~context:context_xml_arg0"predictionTimestamp")inletdetectorVersionId=WholeNumberVersionString.of_xml(Xml.child_exn~context:context_xml_arg0"detectorVersionId")inletdetectorId=Identifier.of_xml(Xml.child_exn~context:context_xml_arg0"detectorId")inleteventTypeName=Identifier.of_xml(Xml.child_exn~context:context_xml_arg0"eventTypeName")inleteventId=Identifier.of_xml(Xml.child_exn~context:context_xml_arg0"eventId")inmake~predictionTimestamp~detectorVersionId~detectorId~eventTypeName~eventId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letpredictionTimestamp=field_map_exnjson__"predictionTimestamp"Time.of_jsoninletdetectorVersionId=field_map_exnjson__"detectorVersionId"WholeNumberVersionString.of_jsoninletdetectorId=field_map_exnjson__"detectorId"Identifier.of_jsoninleteventTypeName=field_map_exnjson__"eventTypeName"Identifier.of_jsoninleteventId=field_map_exnjson__"eventId"Identifier.of_jsoninmake~predictionTimestamp~detectorVersionId~detectorId~eventTypeName~eventId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets details of the past fraud predictions for the specified event ID, event type, detector ID, and detector version ID that was generated in the specified time period."]moduleGetEntityTypesResult=structtypenonrect={entityTypes:EntityTypeList.toption[@ocaml.doc"An array of entity types."];nextToken:String_.toption[@ocaml.doc"The next page token."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?entityTypes=fun?nextToken->fun()->{entityTypes;nextToken}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[("entityTypes",(Option.mapx.entityTypes~f:EntityTypeList.to_value));("nextToken",(Option.mapx.nextToken~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"nextToken")inletentityTypes=(Option.map~f:EntityTypeList.of_xml)(Xml.childxml_arg0"entityTypes")inmake?nextToken?entityTypes()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"String_.of_jsoninletentityTypes=field_mapjson__"entityTypes"EntityTypeList.of_jsoninmake?nextToken?entityTypes()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets all entity types or a specific entity type if a name is specified. This is a paginated API. If you provide a null maxResults, this action retrieves a maximum of 10 records per page. If you provide a maxResults, the value must be between 5 and 10. To get the next page results, provide the pagination token from the GetEntityTypesResponse as part of your request. A null pagination token fetches the records from the beginning."]moduleGetEntityTypesRequest=structtypenonrect={name:Identifier.toption[@ocaml.doc"The name."];nextToken:String_.toption[@ocaml.doc"The next token for the subsequent request."];maxResults:EntityTypesMaxResults.toption[@ocaml.doc"The maximum number of objects to return for the request."]}letmake?name=fun?nextToken->fun?maxResults->fun()->{name;nextToken;maxResults}letto_valuex=structure_to_value[("name",(Option.mapx.name~f:Identifier.to_value));("nextToken",(Option.mapx.nextToken~f:String_.to_value));("maxResults",(Option.mapx.maxResults~f:EntityTypesMaxResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:EntityTypesMaxResults.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"nextToken")inletname=(Option.map~f:Identifier.of_xml)(Xml.childxml_arg0"name")inmake?maxResults?nextToken?name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"maxResults"EntityTypesMaxResults.of_jsoninletnextToken=field_mapjson__"nextToken"String_.of_jsoninletname=field_mapjson__"name"Identifier.of_jsoninmake?maxResults?nextToken?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets all entity types or a specific entity type if a name is specified. This is a paginated API. If you provide a null maxResults, this action retrieves a maximum of 10 records per page. If you provide a maxResults, the value must be between 5 and 10. To get the next page results, provide the pagination token from the GetEntityTypesResponse as part of your request. A null pagination token fetches the records from the beginning."]moduleGetDetectorsResult=structtypenonrect={detectors:DetectorList.toption[@ocaml.doc"The detectors."];nextToken:String_.toption[@ocaml.doc"The next page token."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?detectors=fun?nextToken->fun()->{detectors;nextToken}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[("detectors",(Option.mapx.detectors~f:DetectorList.to_value));("nextToken",(Option.mapx.nextToken~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"nextToken")inletdetectors=(Option.map~f:DetectorList.of_xml)(Xml.childxml_arg0"detectors")inmake?nextToken?detectors()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"String_.of_jsoninletdetectors=field_mapjson__"detectors"DetectorList.of_jsoninmake?nextToken?detectors()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets all detectors or a single detector if a detectorId is specified. This is a paginated API. If you provide a null maxResults, this action retrieves a maximum of 10 records per page. If you provide a maxResults, the value must be between 5 and 10. To get the next page results, provide the pagination token from the GetDetectorsResponse as part of your request. A null pagination token fetches the records from the beginning."]moduleGetDetectorsRequest=structtypenonrect={detectorId:Identifier.toption[@ocaml.doc"The detector ID."];nextToken:String_.toption[@ocaml.doc"The next token for the subsequent request."];maxResults:DetectorsMaxResults.toption[@ocaml.doc"The maximum number of objects to return for the request."]}letmake?detectorId=fun?nextToken->fun?maxResults->fun()->{detectorId;nextToken;maxResults}letto_valuex=structure_to_value[("detectorId",(Option.mapx.detectorId~f:Identifier.to_value));("nextToken",(Option.mapx.nextToken~f:String_.to_value));("maxResults",(Option.mapx.maxResults~f:DetectorsMaxResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:DetectorsMaxResults.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"nextToken")inletdetectorId=(Option.map~f:Identifier.of_xml)(Xml.childxml_arg0"detectorId")inmake?maxResults?nextToken?detectorId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"maxResults"DetectorsMaxResults.of_jsoninletnextToken=field_mapjson__"nextToken"String_.of_jsoninletdetectorId=field_mapjson__"detectorId"Identifier.of_jsoninmake?maxResults?nextToken?detectorId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets all detectors or a single detector if a detectorId is specified. This is a paginated API. If you provide a null maxResults, this action retrieves a maximum of 10 records per page. If you provide a maxResults, the value must be between 5 and 10. To get the next page results, provide the pagination token from the GetDetectorsResponse as part of your request. A null pagination token fetches the records from the beginning."]moduleGetDetectorVersionResult=structtypenonrect={detectorId:Identifier.toption[@ocaml.doc"The detector ID."];detectorVersionId:WholeNumberVersionString.toption[@ocaml.doc"The detector version ID."];description:Description.toption[@ocaml.doc"The detector version description."];externalModelEndpoints:ListOfStrings.toption[@ocaml.doc"The Amazon SageMaker model endpoints included in the detector version."];modelVersions:ListOfModelVersions.toption[@ocaml.doc"The model versions included in the detector version."];rules:RuleList.toption[@ocaml.doc"The rules included in the detector version."];status:DetectorVersionStatus.toption[@ocaml.doc"The status of the detector version."];lastUpdatedTime:Time.toption[@ocaml.doc"The timestamp when the detector version was last updated."];createdTime:Time.toption[@ocaml.doc"The timestamp when the detector version was created."];ruleExecutionMode:RuleExecutionMode.toption[@ocaml.doc"The execution mode of the rule in the dectector FIRST_MATCHED indicates that Amazon Fraud Detector evaluates rules sequentially, first to last, stopping at the first matched rule. Amazon Fraud dectector then provides the outcomes for that single rule. ALL_MATCHED indicates that Amazon Fraud Detector evaluates all rules and returns the outcomes for all matched rules. You can define and edit the rule mode at the detector version level, when it is in draft status."];arn:FraudDetectorArn.toption[@ocaml.doc"The detector version ARN."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?detectorId=fun?detectorVersionId->fun?description->fun?externalModelEndpoints->fun?modelVersions->fun?rules->fun?status->fun?lastUpdatedTime->fun?createdTime->fun?ruleExecutionMode->fun?arn->fun()->{detectorId;detectorVersionId;description;externalModelEndpoints;modelVersions;rules;status;lastUpdatedTime;createdTime;ruleExecutionMode;arn}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[("detectorId",(Option.mapx.detectorId~f:Identifier.to_value));("detectorVersionId",(Option.mapx.detectorVersionId~f:WholeNumberVersionString.to_value));("description",(Option.mapx.description~f:Description.to_value));("externalModelEndpoints",(Option.mapx.externalModelEndpoints~f:ListOfStrings.to_value));("modelVersions",(Option.mapx.modelVersions~f:ListOfModelVersions.to_value));("rules",(Option.mapx.rules~f:RuleList.to_value));("status",(Option.mapx.status~f:DetectorVersionStatus.to_value));("lastUpdatedTime",(Option.mapx.lastUpdatedTime~f:Time.to_value));("createdTime",(Option.mapx.createdTime~f:Time.to_value));("ruleExecutionMode",(Option.mapx.ruleExecutionMode~f:RuleExecutionMode.to_value));("arn",(Option.mapx.arn~f:FraudDetectorArn.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letarn=(Option.map~f:FraudDetectorArn.of_xml)(Xml.childxml_arg0"arn")inletruleExecutionMode=(Option.map~f:RuleExecutionMode.of_xml)(Xml.childxml_arg0"ruleExecutionMode")inletcreatedTime=(Option.map~f:Time.of_xml)(Xml.childxml_arg0"createdTime")inletlastUpdatedTime=(Option.map~f:Time.of_xml)(Xml.childxml_arg0"lastUpdatedTime")inletstatus=(Option.map~f:DetectorVersionStatus.of_xml)(Xml.childxml_arg0"status")inletrules=(Option.map~f:RuleList.of_xml)(Xml.childxml_arg0"rules")inletmodelVersions=(Option.map~f:ListOfModelVersions.of_xml)(Xml.childxml_arg0"modelVersions")inletexternalModelEndpoints=(Option.map~f:ListOfStrings.of_xml)(Xml.childxml_arg0"externalModelEndpoints")inletdescription=(Option.map~f:Description.of_xml)(Xml.childxml_arg0"description")inletdetectorVersionId=(Option.map~f:WholeNumberVersionString.of_xml)(Xml.childxml_arg0"detectorVersionId")inletdetectorId=(Option.map~f:Identifier.of_xml)(Xml.childxml_arg0"detectorId")inmake?arn?ruleExecutionMode?createdTime?lastUpdatedTime?status?rules?modelVersions?externalModelEndpoints?description?detectorVersionId?detectorId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letarn=field_mapjson__"arn"FraudDetectorArn.of_jsoninletruleExecutionMode=field_mapjson__"ruleExecutionMode"RuleExecutionMode.of_jsoninletcreatedTime=field_mapjson__"createdTime"Time.of_jsoninletlastUpdatedTime=field_mapjson__"lastUpdatedTime"Time.of_jsoninletstatus=field_mapjson__"status"DetectorVersionStatus.of_jsoninletrules=field_mapjson__"rules"RuleList.of_jsoninletmodelVersions=field_mapjson__"modelVersions"ListOfModelVersions.of_jsoninletexternalModelEndpoints=field_mapjson__"externalModelEndpoints"ListOfStrings.of_jsoninletdescription=field_mapjson__"description"Description.of_jsoninletdetectorVersionId=field_mapjson__"detectorVersionId"WholeNumberVersionString.of_jsoninletdetectorId=field_mapjson__"detectorId"Identifier.of_jsoninmake?arn?ruleExecutionMode?createdTime?lastUpdatedTime?status?rules?modelVersions?externalModelEndpoints?description?detectorVersionId?detectorId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets a particular detector version."]moduleGetDetectorVersionRequest=structtypenonrect={detectorId:Identifier.t[@ocaml.doc"The detector ID."];detectorVersionId:WholeNumberVersionString.t[@ocaml.doc"The detector version ID."]}letcontext_="GetDetectorVersionRequest"letmake~detectorId=fun~detectorVersionId->fun()->{detectorId;detectorVersionId}letto_valuex=structure_to_value[("detectorId",(Some(Identifier.to_valuex.detectorId)));("detectorVersionId",(Some(WholeNumberVersionString.to_valuex.detectorVersionId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdetectorVersionId=WholeNumberVersionString.of_xml(Xml.child_exn~context:context_xml_arg0"detectorVersionId")inletdetectorId=Identifier.of_xml(Xml.child_exn~context:context_xml_arg0"detectorId")inmake~detectorVersionId~detectorId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdetectorVersionId=field_map_exnjson__"detectorVersionId"WholeNumberVersionString.of_jsoninletdetectorId=field_map_exnjson__"detectorId"Identifier.of_jsoninmake~detectorVersionId~detectorId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets a particular detector version."]moduleGetDeleteEventsByEventTypeStatusResult=structtypenonrect={eventTypeName:Identifier.toption[@ocaml.doc"The event type name."];eventsDeletionStatus:AsyncJobStatus.toption[@ocaml.doc"The deletion status."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?eventTypeName=fun?eventsDeletionStatus->fun()->{eventTypeName;eventsDeletionStatus}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[("eventTypeName",(Option.mapx.eventTypeName~f:Identifier.to_value));("eventsDeletionStatus",(Option.mapx.eventsDeletionStatus~f:AsyncJobStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=leteventsDeletionStatus=(Option.map~f:AsyncJobStatus.of_xml)(Xml.childxml_arg0"eventsDeletionStatus")inleteventTypeName=(Option.map~f:Identifier.of_xml)(Xml.childxml_arg0"eventTypeName")inmake?eventsDeletionStatus?eventTypeName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=leteventsDeletionStatus=field_mapjson__"eventsDeletionStatus"AsyncJobStatus.of_jsoninleteventTypeName=field_mapjson__"eventTypeName"Identifier.of_jsoninmake?eventsDeletionStatus?eventTypeName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the status of a DeleteEventsByEventType action."]moduleGetDeleteEventsByEventTypeStatusRequest=structtypenonrect={eventTypeName:Identifier.t[@ocaml.doc"Name of event type for which to get the deletion status."]}letcontext_="GetDeleteEventsByEventTypeStatusRequest"letmake~eventTypeName=fun()->{eventTypeName}letto_valuex=structure_to_value[("eventTypeName",(Some(Identifier.to_valuex.eventTypeName)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=leteventTypeName=Identifier.of_xml(Xml.child_exn~context:context_xml_arg0"eventTypeName")inmake~eventTypeName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=leteventTypeName=field_map_exnjson__"eventTypeName"Identifier.of_jsoninmake~eventTypeName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the status of a DeleteEventsByEventType action."]moduleGetBatchPredictionJobsResult=structtypenonrect={batchPredictions:BatchPredictionList.toption[@ocaml.doc"An array containing the details of each batch prediction job."];nextToken:String_.toption[@ocaml.doc"The next token for the subsequent request."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?batchPredictions=fun?nextToken->fun()->{batchPredictions;nextToken}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[("batchPredictions",(Option.mapx.batchPredictions~f:BatchPredictionList.to_value));("nextToken",(Option.mapx.nextToken~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"nextToken")inletbatchPredictions=(Option.map~f:BatchPredictionList.of_xml)(Xml.childxml_arg0"batchPredictions")inmake?nextToken?batchPredictions()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"String_.of_jsoninletbatchPredictions=field_mapjson__"batchPredictions"BatchPredictionList.of_jsoninmake?nextToken?batchPredictions()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets all batch prediction jobs or a specific job if you specify a job ID. This is a paginated API. If you provide a null maxResults, this action retrieves a maximum of 50 records per page. If you provide a maxResults, the value must be between 1 and 50. To get the next page results, provide the pagination token from the GetBatchPredictionJobsResponse as part of your request. A null pagination token fetches the records from the beginning."]moduleGetBatchPredictionJobsRequest=structtypenonrect={jobId:Identifier.toption[@ocaml.doc"The batch prediction job for which to get the details."];maxResults:BatchPredictionsMaxPageSize.toption[@ocaml.doc"The maximum number of objects to return for the request."];nextToken:String_.toption[@ocaml.doc"The next token from the previous request."]}letmake?jobId=fun?maxResults->fun?nextToken->fun()->{jobId;maxResults;nextToken}letto_valuex=structure_to_value[("jobId",(Option.mapx.jobId~f:Identifier.to_value));("maxResults",(Option.mapx.maxResults~f:BatchPredictionsMaxPageSize.to_value));("nextToken",(Option.mapx.nextToken~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"nextToken")inletmaxResults=(Option.map~f:BatchPredictionsMaxPageSize.of_xml)(Xml.childxml_arg0"maxResults")inletjobId=(Option.map~f:Identifier.of_xml)(Xml.childxml_arg0"jobId")inmake?nextToken?maxResults?jobId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"String_.of_jsoninletmaxResults=field_mapjson__"maxResults"BatchPredictionsMaxPageSize.of_jsoninletjobId=field_mapjson__"jobId"Identifier.of_jsoninmake?nextToken?maxResults?jobId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets all batch prediction jobs or a specific job if you specify a job ID. This is a paginated API. If you provide a null maxResults, this action retrieves a maximum of 50 records per page. If you provide a maxResults, the value must be between 1 and 50. To get the next page results, provide the pagination token from the GetBatchPredictionJobsResponse as part of your request. A null pagination token fetches the records from the beginning."]moduleGetBatchImportJobsResult=structtypenonrect={batchImports:BatchImportList.toption[@ocaml.doc"An array containing the details of each batch import job."];nextToken:String_.toption[@ocaml.doc"The next token for the subsequent resquest."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?batchImports=fun?nextToken->fun()->{batchImports;nextToken}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[("batchImports",(Option.mapx.batchImports~f:BatchImportList.to_value));("nextToken",(Option.mapx.nextToken~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"nextToken")inletbatchImports=(Option.map~f:BatchImportList.of_xml)(Xml.childxml_arg0"batchImports")inmake?nextToken?batchImports()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"String_.of_jsoninletbatchImports=field_mapjson__"batchImports"BatchImportList.of_jsoninmake?nextToken?batchImports()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets all batch import jobs or a specific job of the specified ID. This is a paginated API. If you provide a null maxResults, this action retrieves a maximum of 50 records per page. If you provide a maxResults, the value must be between 1 and 50. To get the next page results, provide the pagination token from the GetBatchImportJobsResponse as part of your request. A null pagination token fetches the records from the beginning."]moduleGetBatchImportJobsRequest=structtypenonrect={jobId:Identifier.toption[@ocaml.doc"The ID of the batch import job to get."];maxResults:BatchImportsMaxPageSize.toption[@ocaml.doc"The maximum number of objects to return for request."];nextToken:String_.toption[@ocaml.doc"The next token from the previous request."]}letmake?jobId=fun?maxResults->fun?nextToken->fun()->{jobId;maxResults;nextToken}letto_valuex=structure_to_value[("jobId",(Option.mapx.jobId~f:Identifier.to_value));("maxResults",(Option.mapx.maxResults~f:BatchImportsMaxPageSize.to_value));("nextToken",(Option.mapx.nextToken~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"nextToken")inletmaxResults=(Option.map~f:BatchImportsMaxPageSize.of_xml)(Xml.childxml_arg0"maxResults")inletjobId=(Option.map~f:Identifier.of_xml)(Xml.childxml_arg0"jobId")inmake?nextToken?maxResults?jobId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"String_.of_jsoninletmaxResults=field_mapjson__"maxResults"BatchImportsMaxPageSize.of_jsoninletjobId=field_mapjson__"jobId"Identifier.of_jsoninmake?nextToken?maxResults?jobId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets all batch import jobs or a specific job of the specified ID. This is a paginated API. If you provide a null maxResults, this action retrieves a maximum of 50 records per page. If you provide a maxResults, the value must be between 1 and 50. To get the next page results, provide the pagination token from the GetBatchImportJobsResponse as part of your request. A null pagination token fetches the records from the beginning."]moduleDescribeModelVersionsResult=structtypenonrect={modelVersionDetails:ModelVersionDetailList.toption[@ocaml.doc"The model version details."];nextToken:String_.toption[@ocaml.doc"The next token."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?modelVersionDetails=fun?nextToken->fun()->{modelVersionDetails;nextToken}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[("modelVersionDetails",(Option.mapx.modelVersionDetails~f:ModelVersionDetailList.to_value));("nextToken",(Option.mapx.nextToken~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"nextToken")inletmodelVersionDetails=(Option.map~f:ModelVersionDetailList.of_xml)(Xml.childxml_arg0"modelVersionDetails")inmake?nextToken?modelVersionDetails()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"String_.of_jsoninletmodelVersionDetails=field_mapjson__"modelVersionDetails"ModelVersionDetailList.of_jsoninmake?nextToken?modelVersionDetails()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets all of the model versions for the specified model type or for the specified model type and model ID. You can also get details for a single, specified model version."]moduleDescribeModelVersionsRequest=structtypenonrect={modelId:ModelIdentifier.toption[@ocaml.doc"The model ID."];modelVersionNumber:FloatVersionString.toption[@ocaml.doc"The model version number."];modelType:ModelTypeEnum.toption[@ocaml.doc"The model type."];nextToken:String_.toption[@ocaml.doc"The next token from the previous results."];maxResults:ModelsMaxPageSize.toption[@ocaml.doc"The maximum number of results to return."]}letmake?modelId=fun?modelVersionNumber->fun?modelType->fun?nextToken->fun?maxResults->fun()->{modelId;modelVersionNumber;modelType;nextToken;maxResults}letto_valuex=structure_to_value[("modelId",(Option.mapx.modelId~f:ModelIdentifier.to_value));("modelVersionNumber",(Option.mapx.modelVersionNumber~f:FloatVersionString.to_value));("modelType",(Option.mapx.modelType~f:ModelTypeEnum.to_value));("nextToken",(Option.mapx.nextToken~f:String_.to_value));("maxResults",(Option.mapx.maxResults~f:ModelsMaxPageSize.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:ModelsMaxPageSize.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"nextToken")inletmodelType=(Option.map~f:ModelTypeEnum.of_xml)(Xml.childxml_arg0"modelType")inletmodelVersionNumber=(Option.map~f:FloatVersionString.of_xml)(Xml.childxml_arg0"modelVersionNumber")inletmodelId=(Option.map~f:ModelIdentifier.of_xml)(Xml.childxml_arg0"modelId")inmake?maxResults?nextToken?modelType?modelVersionNumber?modelId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"maxResults"ModelsMaxPageSize.of_jsoninletnextToken=field_mapjson__"nextToken"String_.of_jsoninletmodelType=field_mapjson__"modelType"ModelTypeEnum.of_jsoninletmodelVersionNumber=field_mapjson__"modelVersionNumber"FloatVersionString.of_jsoninletmodelId=field_mapjson__"modelId"ModelIdentifier.of_jsoninmake?maxResults?nextToken?modelType?modelVersionNumber?modelId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets all of the model versions for the specified model type or for the specified model type and model ID. You can also get details for a single, specified model version."]moduleDescribeDetectorResult=structtypenonrect={detectorId:Identifier.toption[@ocaml.doc"The detector ID."];detectorVersionSummaries:DetectorVersionSummaryList.toption[@ocaml.doc"The status and description for each detector version."];nextToken:String_.toption[@ocaml.doc"The next token to be used for subsequent requests."];arn:FraudDetectorArn.toption[@ocaml.doc"The detector ARN."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?detectorId=fun?detectorVersionSummaries->fun?nextToken->fun?arn->fun()->{detectorId;detectorVersionSummaries;nextToken;arn}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[("detectorId",(Option.mapx.detectorId~f:Identifier.to_value));("detectorVersionSummaries",(Option.mapx.detectorVersionSummaries~f:DetectorVersionSummaryList.to_value));("nextToken",(Option.mapx.nextToken~f:String_.to_value));("arn",(Option.mapx.arn~f:FraudDetectorArn.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letarn=(Option.map~f:FraudDetectorArn.of_xml)(Xml.childxml_arg0"arn")inletnextToken=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"nextToken")inletdetectorVersionSummaries=(Option.map~f:DetectorVersionSummaryList.of_xml)(Xml.childxml_arg0"detectorVersionSummaries")inletdetectorId=(Option.map~f:Identifier.of_xml)(Xml.childxml_arg0"detectorId")inmake?arn?nextToken?detectorVersionSummaries?detectorId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letarn=field_mapjson__"arn"FraudDetectorArn.of_jsoninletnextToken=field_mapjson__"nextToken"String_.of_jsoninletdetectorVersionSummaries=field_mapjson__"detectorVersionSummaries"DetectorVersionSummaryList.of_jsoninletdetectorId=field_mapjson__"detectorId"Identifier.of_jsoninmake?arn?nextToken?detectorVersionSummaries?detectorId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets all versions for a specified detector."]moduleDescribeDetectorRequest=structtypenonrect={detectorId:Identifier.t[@ocaml.doc"The detector ID."];nextToken:String_.toption[@ocaml.doc"The next token from the previous response."];maxResults:DetectorVersionMaxResults.toption[@ocaml.doc"The maximum number of results to return for the request."]}letcontext_="DescribeDetectorRequest"letmake?nextToken=fun?maxResults->fun~detectorId->fun()->{nextToken;maxResults;detectorId}letto_valuex=structure_to_value[("detectorId",(Some(Identifier.to_valuex.detectorId)));("nextToken",(Option.mapx.nextToken~f:String_.to_value));("maxResults",(Option.mapx.maxResults~f:DetectorVersionMaxResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:DetectorVersionMaxResults.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"nextToken")inletdetectorId=Identifier.of_xml(Xml.child_exn~context:context_xml_arg0"detectorId")inmake?maxResults?nextToken~detectorId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"maxResults"DetectorVersionMaxResults.of_jsoninletnextToken=field_mapjson__"nextToken"String_.of_jsoninletdetectorId=field_map_exnjson__"detectorId"Identifier.of_jsoninmake?maxResults?nextToken~detectorId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets all versions for a specified detector."]moduleDeleteVariableResult=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))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 variable. You can't delete variables that are included in an event type in Amazon Fraud Detector. Amazon Fraud Detector automatically deletes model output variables and SageMaker model output variables when you delete the model. You can't delete these variables manually. When you delete a variable, Amazon Fraud Detector permanently deletes that variable and the data is no longer stored in Amazon Fraud Detector."]moduleDeleteVariableRequest=structtypenonrect={name:String_.t[@ocaml.doc"The name of the variable to delete."]}letcontext_="DeleteVariableRequest"letmake~name=fun()->{name}letto_valuex=structure_to_value[("name",(Some(String_.to_valuex.name)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letname=String_.of_xml(Xml.child_exn~context:context_xml_arg0"name")inmake~name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letname=field_map_exnjson__"name"String_.of_jsoninmake~name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes a variable. You can't delete variables that are included in an event type in Amazon Fraud Detector. Amazon Fraud Detector automatically deletes model output variables and SageMaker model output variables when you delete the model. You can't delete these variables manually. When you delete a variable, Amazon Fraud Detector permanently deletes that variable and the data is no longer stored in Amazon Fraud Detector."]moduleDeleteRuleResult=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes the rule. You cannot delete a rule if it is used by an ACTIVE or INACTIVE detector version. When you delete a rule, Amazon Fraud Detector permanently deletes that rule and the data is no longer stored in Amazon Fraud Detector."]moduleDeleteRuleRequest=structtypenonrect={rule:Rule.t}letcontext_="DeleteRuleRequest"letmake~rule=fun()->{rule}letto_valuex=structure_to_value[("rule",(Some(Rule.to_valuex.rule)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letrule=Rule.of_xml(Xml.child_exn~context:context_xml_arg0"rule")inmake~rule()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letrule=field_map_exnjson__"rule"Rule.of_jsoninmake~rule()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes the rule. You cannot delete a rule if it is used by an ACTIVE or INACTIVE detector version. When you delete a rule, Amazon Fraud Detector permanently deletes that rule and the data is no longer stored in Amazon Fraud Detector."]moduleDeleteOutcomeResult=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))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 outcome. You cannot delete an outcome that is used in a rule version. When you delete an outcome, Amazon Fraud Detector permanently deletes that outcome and the data is no longer stored in Amazon Fraud Detector."]moduleDeleteOutcomeRequest=structtypenonrect={name:Identifier.t[@ocaml.doc"The name of the outcome to delete."]}letcontext_="DeleteOutcomeRequest"letmake~name=fun()->{name}letto_valuex=structure_to_value[("name",(Some(Identifier.to_valuex.name)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letname=Identifier.of_xml(Xml.child_exn~context:context_xml_arg0"name")inmake~name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letname=field_map_exnjson__"name"Identifier.of_jsoninmake~name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes an outcome. You cannot delete an outcome that is used in a rule version. When you delete an outcome, Amazon Fraud Detector permanently deletes that outcome and the data is no longer stored in Amazon Fraud Detector."]moduleDeleteModelVersionResult=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))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 model version. You can delete models and model versions in Amazon Fraud Detector, provided that they are not associated with a detector version. When you delete a model version, Amazon Fraud Detector permanently deletes that model version and the data is no longer stored in Amazon Fraud Detector."]moduleDeleteModelVersionRequest=structtypenonrect={modelId:ModelIdentifier.t[@ocaml.doc"The model ID of the model version to delete."];modelType:ModelTypeEnum.t[@ocaml.doc"The model type of the model version to delete."];modelVersionNumber:FloatVersionString.t[@ocaml.doc"The model version number of the model version to delete."]}letcontext_="DeleteModelVersionRequest"letmake~modelId=fun~modelType->fun~modelVersionNumber->fun()->{modelId;modelType;modelVersionNumber}letto_valuex=structure_to_value[("modelId",(Some(ModelIdentifier.to_valuex.modelId)));("modelType",(Some(ModelTypeEnum.to_valuex.modelType)));("modelVersionNumber",(Some(FloatVersionString.to_valuex.modelVersionNumber)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmodelVersionNumber=FloatVersionString.of_xml(Xml.child_exn~context:context_xml_arg0"modelVersionNumber")inletmodelType=ModelTypeEnum.of_xml(Xml.child_exn~context:context_xml_arg0"modelType")inletmodelId=ModelIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"modelId")inmake~modelVersionNumber~modelType~modelId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmodelVersionNumber=field_map_exnjson__"modelVersionNumber"FloatVersionString.of_jsoninletmodelType=field_map_exnjson__"modelType"ModelTypeEnum.of_jsoninletmodelId=field_map_exnjson__"modelId"ModelIdentifier.of_jsoninmake~modelVersionNumber~modelType~modelId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes a model version. You can delete models and model versions in Amazon Fraud Detector, provided that they are not associated with a detector version. When you delete a model version, Amazon Fraud Detector permanently deletes that model version and the data is no longer stored in Amazon Fraud Detector."]moduleDeleteModelResult=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))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 model. You can delete models and model versions in Amazon Fraud Detector, provided that they are not associated with a detector version. When you delete a model, Amazon Fraud Detector permanently deletes that model and the data is no longer stored in Amazon Fraud Detector."]moduleDeleteModelRequest=structtypenonrect={modelId:ModelIdentifier.t[@ocaml.doc"The model ID of the model to delete."];modelType:ModelTypeEnum.t[@ocaml.doc"The model type of the model to delete."]}letcontext_="DeleteModelRequest"letmake~modelId=fun~modelType->fun()->{modelId;modelType}letto_valuex=structure_to_value[("modelId",(Some(ModelIdentifier.to_valuex.modelId)));("modelType",(Some(ModelTypeEnum.to_valuex.modelType)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmodelType=ModelTypeEnum.of_xml(Xml.child_exn~context:context_xml_arg0"modelType")inletmodelId=ModelIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"modelId")inmake~modelType~modelId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmodelType=field_map_exnjson__"modelType"ModelTypeEnum.of_jsoninletmodelId=field_map_exnjson__"modelId"ModelIdentifier.of_jsoninmake~modelType~modelId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes a model. You can delete models and model versions in Amazon Fraud Detector, provided that they are not associated with a detector version. When you delete a model, Amazon Fraud Detector permanently deletes that model and the data is no longer stored in Amazon Fraud Detector."]moduleDeleteListResult=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes the list, provided it is not used in a rule. When you delete a list, Amazon Fraud Detector permanently deletes that list and the elements in the list."]moduleDeleteListRequest=structtypenonrect={name:NoDashIdentifier.t[@ocaml.doc"The name of the list to delete."]}letcontext_="DeleteListRequest"letmake~name=fun()->{name}letto_valuex=structure_to_value[("name",(Some(NoDashIdentifier.to_valuex.name)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letname=NoDashIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"name")inmake~name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letname=field_map_exnjson__"name"NoDashIdentifier.of_jsoninmake~name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes the list, provided it is not used in a rule. When you delete a list, Amazon Fraud Detector permanently deletes that list and the elements in the list."]moduleDeleteLabelResult=structtypenonrect=unittypenonrecerror=[`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))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 label. You cannot delete labels that are included in an event type in Amazon Fraud Detector. You cannot delete a label assigned to an event ID. You must first delete the relevant event ID. When you delete a label, Amazon Fraud Detector permanently deletes that label and the data is no longer stored in Amazon Fraud Detector."]moduleDeleteLabelRequest=structtypenonrect={name:Identifier.t[@ocaml.doc"The name of the label to delete."]}letcontext_="DeleteLabelRequest"letmake~name=fun()->{name}letto_valuex=structure_to_value[("name",(Some(Identifier.to_valuex.name)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letname=Identifier.of_xml(Xml.child_exn~context:context_xml_arg0"name")inmake~name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letname=field_map_exnjson__"name"Identifier.of_jsoninmake~name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes a label. You cannot delete labels that are included in an event type in Amazon Fraud Detector. You cannot delete a label assigned to an event ID. You must first delete the relevant event ID. When you delete a label, Amazon Fraud Detector permanently deletes that label and the data is no longer stored in Amazon Fraud Detector."]moduleDeleteExternalModelResult=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))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 SageMaker model from Amazon Fraud Detector. You can remove an Amazon SageMaker model if it is not associated with a detector version. Removing a SageMaker model disconnects it from Amazon Fraud Detector, but the model remains available in SageMaker."]moduleDeleteExternalModelRequest=structtypenonrect={modelEndpoint:SageMakerEndpointIdentifier.t[@ocaml.doc"The endpoint of the Amazon Sagemaker model to delete."]}letcontext_="DeleteExternalModelRequest"letmake~modelEndpoint=fun()->{modelEndpoint}letto_valuex=structure_to_value[("modelEndpoint",(Some(SageMakerEndpointIdentifier.to_valuex.modelEndpoint)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmodelEndpoint=SageMakerEndpointIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"modelEndpoint")inmake~modelEndpoint()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmodelEndpoint=field_map_exnjson__"modelEndpoint"SageMakerEndpointIdentifier.of_jsoninmake~modelEndpoint()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Removes a SageMaker model from Amazon Fraud Detector. You can remove an Amazon SageMaker model if it is not associated with a detector version. Removing a SageMaker model disconnects it from Amazon Fraud Detector, but the model remains available in SageMaker."]moduleDeleteEventsByEventTypeResult=structtypenonrect={eventTypeName:Identifier.toption[@ocaml.doc"Name of event type for which to delete the events."];eventsDeletionStatus:String_.toption[@ocaml.doc"The status of the delete request."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?eventTypeName=fun?eventsDeletionStatus->fun()->{eventTypeName;eventsDeletionStatus}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("eventTypeName",(Option.mapx.eventTypeName~f:Identifier.to_value));("eventsDeletionStatus",(Option.mapx.eventsDeletionStatus~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=leteventsDeletionStatus=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"eventsDeletionStatus")inleteventTypeName=(Option.map~f:Identifier.of_xml)(Xml.childxml_arg0"eventTypeName")inmake?eventsDeletionStatus?eventTypeName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=leteventsDeletionStatus=field_mapjson__"eventsDeletionStatus"String_.of_jsoninleteventTypeName=field_mapjson__"eventTypeName"Identifier.of_jsoninmake?eventsDeletionStatus?eventTypeName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes all events of a particular event type."]moduleDeleteEventsByEventTypeRequest=structtypenonrect={eventTypeName:Identifier.t[@ocaml.doc"The name of the event type."]}letcontext_="DeleteEventsByEventTypeRequest"letmake~eventTypeName=fun()->{eventTypeName}letto_valuex=structure_to_value[("eventTypeName",(Some(Identifier.to_valuex.eventTypeName)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=leteventTypeName=Identifier.of_xml(Xml.child_exn~context:context_xml_arg0"eventTypeName")inmake~eventTypeName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=leteventTypeName=field_map_exnjson__"eventTypeName"Identifier.of_jsoninmake~eventTypeName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes all events of a particular event type."]moduleDeleteEventTypeResult=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))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 event type. You cannot delete an event type that is used in a detector or a model. When you delete an event type, Amazon Fraud Detector permanently deletes that event type and the data is no longer stored in Amazon Fraud Detector."]moduleDeleteEventTypeRequest=structtypenonrect={name:Identifier.t[@ocaml.doc"The name of the event type to delete."]}letcontext_="DeleteEventTypeRequest"letmake~name=fun()->{name}letto_valuex=structure_to_value[("name",(Some(Identifier.to_valuex.name)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letname=Identifier.of_xml(Xml.child_exn~context:context_xml_arg0"name")inmake~name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letname=field_map_exnjson__"name"Identifier.of_jsoninmake~name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes an event type. You cannot delete an event type that is used in a detector or a model. When you delete an event type, Amazon Fraud Detector permanently deletes that event type and the data is no longer stored in Amazon Fraud Detector."]moduleDeleteEventResult=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()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))])))letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes the specified event. When you delete an event, Amazon Fraud Detector permanently deletes that event and the event data is no longer stored in Amazon Fraud Detector. If deleteAuditHistory is True, event data is available through search for up to 30 seconds after the delete operation is completed."]moduleDeleteEventRequest=structtypenonrect={eventId:Identifier.t[@ocaml.doc"The ID of the event to delete."];eventTypeName:Identifier.t[@ocaml.doc"The name of the event type."];deleteAuditHistory:DeleteAuditHistory.toption[@ocaml.doc"Specifies whether or not to delete any predictions associated with the event. If set to True,"]}letcontext_="DeleteEventRequest"letmake?deleteAuditHistory=fun~eventId->fun~eventTypeName->fun()->{deleteAuditHistory;eventId;eventTypeName}letto_valuex=structure_to_value[("eventId",(Some(Identifier.to_valuex.eventId)));("eventTypeName",(Some(Identifier.to_valuex.eventTypeName)));("deleteAuditHistory",(Option.mapx.deleteAuditHistory~f:DeleteAuditHistory.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdeleteAuditHistory=(Option.map~f:DeleteAuditHistory.of_xml)(Xml.childxml_arg0"deleteAuditHistory")inleteventTypeName=Identifier.of_xml(Xml.child_exn~context:context_xml_arg0"eventTypeName")inleteventId=Identifier.of_xml(Xml.child_exn~context:context_xml_arg0"eventId")inmake?deleteAuditHistory~eventTypeName~eventId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdeleteAuditHistory=field_mapjson__"deleteAuditHistory"DeleteAuditHistory.of_jsoninleteventTypeName=field_map_exnjson__"eventTypeName"Identifier.of_jsoninleteventId=field_map_exnjson__"eventId"Identifier.of_jsoninmake?deleteAuditHistory~eventTypeName~eventId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes the specified event. When you delete an event, Amazon Fraud Detector permanently deletes that event and the event data is no longer stored in Amazon Fraud Detector. If deleteAuditHistory is True, event data is available through search for up to 30 seconds after the delete operation is completed."]moduleDeleteEntityTypeResult=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))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 entity type. You cannot delete an entity type that is included in an event type. When you delete an entity type, Amazon Fraud Detector permanently deletes that entity type and the data is no longer stored in Amazon Fraud Detector."]moduleDeleteEntityTypeRequest=structtypenonrect={name:Identifier.t[@ocaml.doc"The name of the entity type to delete."]}letcontext_="DeleteEntityTypeRequest"letmake~name=fun()->{name}letto_valuex=structure_to_value[("name",(Some(Identifier.to_valuex.name)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letname=Identifier.of_xml(Xml.child_exn~context:context_xml_arg0"name")inmake~name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letname=field_map_exnjson__"name"Identifier.of_jsoninmake~name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes an entity type. You cannot delete an entity type that is included in an event type. When you delete an entity type, Amazon Fraud Detector permanently deletes that entity type and the data is no longer stored in Amazon Fraud Detector."]moduleDeleteDetectorVersionResult=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes the detector version. You cannot delete detector versions that are in ACTIVE status. When you delete a detector version, Amazon Fraud Detector permanently deletes the detector and the data is no longer stored in Amazon Fraud Detector."]moduleDeleteDetectorVersionRequest=structtypenonrect={detectorId:Identifier.t[@ocaml.doc"The ID of the parent detector for the detector version to delete."];detectorVersionId:WholeNumberVersionString.t[@ocaml.doc"The ID of the detector version to delete."]}letcontext_="DeleteDetectorVersionRequest"letmake~detectorId=fun~detectorVersionId->fun()->{detectorId;detectorVersionId}letto_valuex=structure_to_value[("detectorId",(Some(Identifier.to_valuex.detectorId)));("detectorVersionId",(Some(WholeNumberVersionString.to_valuex.detectorVersionId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdetectorVersionId=WholeNumberVersionString.of_xml(Xml.child_exn~context:context_xml_arg0"detectorVersionId")inletdetectorId=Identifier.of_xml(Xml.child_exn~context:context_xml_arg0"detectorId")inmake~detectorVersionId~detectorId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdetectorVersionId=field_map_exnjson__"detectorVersionId"WholeNumberVersionString.of_jsoninletdetectorId=field_map_exnjson__"detectorId"Identifier.of_jsoninmake~detectorVersionId~detectorId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes the detector version. You cannot delete detector versions that are in ACTIVE status. When you delete a detector version, Amazon Fraud Detector permanently deletes the detector and the data is no longer stored in Amazon Fraud Detector."]moduleDeleteDetectorResult=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes the detector. Before deleting a detector, you must first delete all detector versions and rule versions associated with the detector. When you delete a detector, Amazon Fraud Detector permanently deletes the detector and the data is no longer stored in Amazon Fraud Detector."]moduleDeleteDetectorRequest=structtypenonrect={detectorId:Identifier.t[@ocaml.doc"The ID of the detector to delete."]}letcontext_="DeleteDetectorRequest"letmake~detectorId=fun()->{detectorId}letto_valuex=structure_to_value[("detectorId",(Some(Identifier.to_valuex.detectorId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdetectorId=Identifier.of_xml(Xml.child_exn~context:context_xml_arg0"detectorId")inmake~detectorId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdetectorId=field_map_exnjson__"detectorId"Identifier.of_jsoninmake~detectorId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes the detector. Before deleting a detector, you must first delete all detector versions and rule versions associated with the detector. When you delete a detector, Amazon Fraud Detector permanently deletes the detector and the data is no longer stored in Amazon Fraud Detector."]moduleDeleteBatchPredictionJobResult=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()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))])))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 batch prediction job."]moduleDeleteBatchPredictionJobRequest=structtypenonrect={jobId:Identifier.t[@ocaml.doc"The ID of the batch prediction job to delete."]}letcontext_="DeleteBatchPredictionJobRequest"letmake~jobId=fun()->{jobId}letto_valuex=structure_to_value[("jobId",(Some(Identifier.to_valuex.jobId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letjobId=Identifier.of_xml(Xml.child_exn~context:context_xml_arg0"jobId")inmake~jobId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letjobId=field_map_exnjson__"jobId"Identifier.of_jsoninmake~jobId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes a batch prediction job."]moduleDeleteBatchImportJobResult=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()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))])))letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes the specified batch import job ID record. This action does not delete the data that was batch imported."]moduleDeleteBatchImportJobRequest=structtypenonrect={jobId:Identifier.t[@ocaml.doc"The ID of the batch import job to delete."]}letcontext_="DeleteBatchImportJobRequest"letmake~jobId=fun()->{jobId}letto_valuex=structure_to_value[("jobId",(Some(Identifier.to_valuex.jobId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letjobId=Identifier.of_xml(Xml.child_exn~context:context_xml_arg0"jobId")inmake~jobId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letjobId=field_map_exnjson__"jobId"Identifier.of_jsoninmake~jobId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes the specified batch import job ID record. This action does not delete the data that was batch imported."]moduleCreateVariableResult=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()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))])))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"Creates a variable."]moduleCreateVariableRequest=structtypenonrect={name:String_.t[@ocaml.doc"The name of the variable."];dataType:DataType.t[@ocaml.doc"The data type of the variable."];dataSource:DataSource.t[@ocaml.doc"The source of the data."];defaultValue:String_.t[@ocaml.doc"The default value for the variable when no value is received."];description:String_.toption[@ocaml.doc"The description."];variableType:String_.toption[@ocaml.doc"The variable type. For more information see Variable types. Valid Values: AUTH_CODE | AVS | BILLING_ADDRESS_L1 | BILLING_ADDRESS_L2 | BILLING_CITY | BILLING_COUNTRY | BILLING_NAME | BILLING_PHONE | BILLING_STATE | BILLING_ZIP | CARD_BIN | CATEGORICAL | CURRENCY_CODE | EMAIL_ADDRESS | FINGERPRINT | FRAUD_LABEL | FREE_FORM_TEXT | IP_ADDRESS | NUMERIC | ORDER_ID | PAYMENT_TYPE | PHONE_NUMBER | PRICE | PRODUCT_CATEGORY | SHIPPING_ADDRESS_L1 | SHIPPING_ADDRESS_L2 | SHIPPING_CITY | SHIPPING_COUNTRY | SHIPPING_NAME | SHIPPING_PHONE | SHIPPING_STATE | SHIPPING_ZIP | USERAGENT"];tags:TagList.toption[@ocaml.doc"A collection of key and value pairs."]}letcontext_="CreateVariableRequest"letmake?description=fun?variableType->fun?tags->fun~name->fun~dataType->fun~dataSource->fun~defaultValue->fun()->{description;variableType;tags;name;dataType;dataSource;defaultValue}letto_valuex=structure_to_value[("name",(Some(String_.to_valuex.name)));("dataType",(Some(DataType.to_valuex.dataType)));("dataSource",(Some(DataSource.to_valuex.dataSource)));("defaultValue",(Some(String_.to_valuex.defaultValue)));("description",(Option.mapx.description~f:String_.to_value));("variableType",(Option.mapx.variableType~f:String_.to_value));("tags",(Option.mapx.tags~f:TagList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettags=(Option.map~f:TagList.of_xml)(Xml.childxml_arg0"tags")inletvariableType=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"variableType")inletdescription=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"description")inletdefaultValue=String_.of_xml(Xml.child_exn~context:context_xml_arg0"defaultValue")inletdataSource=DataSource.of_xml(Xml.child_exn~context:context_xml_arg0"dataSource")inletdataType=DataType.of_xml(Xml.child_exn~context:context_xml_arg0"dataType")inletname=String_.of_xml(Xml.child_exn~context:context_xml_arg0"name")inmake?tags?variableType?description~defaultValue~dataSource~dataType~name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"tags"TagList.of_jsoninletvariableType=field_mapjson__"variableType"String_.of_jsoninletdescription=field_mapjson__"description"String_.of_jsoninletdefaultValue=field_map_exnjson__"defaultValue"String_.of_jsoninletdataSource=field_map_exnjson__"dataSource"DataSource.of_jsoninletdataType=field_map_exnjson__"dataType"DataType.of_jsoninletname=field_map_exnjson__"name"String_.of_jsoninmake?tags?variableType?description~defaultValue~dataSource~dataType~name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a variable."]moduleCreateRuleResult=structtypenonrect={rule:Rule.toption[@ocaml.doc"The created rule."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?rule=fun()->{rule}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[("rule",(Option.mapx.rule~f:Rule.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letrule=(Option.map~f:Rule.of_xml)(Xml.childxml_arg0"rule")inmake?rule()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letrule=field_mapjson__"rule"Rule.of_jsoninmake?rule()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a rule for use with the specified detector."]moduleCreateRuleRequest=structtypenonrect={ruleId:Identifier.t[@ocaml.doc"The rule ID."];detectorId:Identifier.t[@ocaml.doc"The detector ID for the rule's parent detector."];description:Description.toption[@ocaml.doc"The rule description."];expression:RuleExpression.t[@ocaml.doc"The rule expression."];language:Language.t[@ocaml.doc"The language of the rule."];outcomes:NonEmptyListOfStrings.t[@ocaml.doc"The outcome or outcomes returned when the rule expression matches."];tags:TagList.toption[@ocaml.doc"A collection of key and value pairs."]}letcontext_="CreateRuleRequest"letmake?description=fun?tags->fun~ruleId->fun~detectorId->fun~expression->fun~language->fun~outcomes->fun()->{description;tags;ruleId;detectorId;expression;language;outcomes}letto_valuex=structure_to_value[("ruleId",(Some(Identifier.to_valuex.ruleId)));("detectorId",(Some(Identifier.to_valuex.detectorId)));("description",(Option.mapx.description~f:Description.to_value));("expression",(Some(RuleExpression.to_valuex.expression)));("language",(Some(Language.to_valuex.language)));("outcomes",(Some(NonEmptyListOfStrings.to_valuex.outcomes)));("tags",(Option.mapx.tags~f:TagList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettags=(Option.map~f:TagList.of_xml)(Xml.childxml_arg0"tags")inletoutcomes=NonEmptyListOfStrings.of_xml(Xml.child_exn~context:context_xml_arg0"outcomes")inletlanguage=Language.of_xml(Xml.child_exn~context:context_xml_arg0"language")inletexpression=RuleExpression.of_xml(Xml.child_exn~context:context_xml_arg0"expression")inletdescription=(Option.map~f:Description.of_xml)(Xml.childxml_arg0"description")inletdetectorId=Identifier.of_xml(Xml.child_exn~context:context_xml_arg0"detectorId")inletruleId=Identifier.of_xml(Xml.child_exn~context:context_xml_arg0"ruleId")inmake?tags~outcomes~language~expression?description~detectorId~ruleId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"tags"TagList.of_jsoninletoutcomes=field_map_exnjson__"outcomes"NonEmptyListOfStrings.of_jsoninletlanguage=field_map_exnjson__"language"Language.of_jsoninletexpression=field_map_exnjson__"expression"RuleExpression.of_jsoninletdescription=field_mapjson__"description"Description.of_jsoninletdetectorId=field_map_exnjson__"detectorId"Identifier.of_jsoninletruleId=field_map_exnjson__"ruleId"Identifier.of_jsoninmake?tags~outcomes~language~expression?description~detectorId~ruleId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a rule for use with the specified detector."]moduleCreateModelVersionResult=structtypenonrect={modelId:ModelIdentifier.toption[@ocaml.doc"The model ID."];modelType:ModelTypeEnum.toption[@ocaml.doc"The model type."];modelVersionNumber:FloatVersionString.toption[@ocaml.doc"The model version number of the model version created."];status:String_.toption[@ocaml.doc"The model version status."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?modelId=fun?modelType->fun?modelVersionNumber->fun?status->fun()->{modelId;modelType;modelVersionNumber;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[("modelId",(Option.mapx.modelId~f:ModelIdentifier.to_value));("modelType",(Option.mapx.modelType~f:ModelTypeEnum.to_value));("modelVersionNumber",(Option.mapx.modelVersionNumber~f:FloatVersionString.to_value));("status",(Option.mapx.status~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstatus=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"status")inletmodelVersionNumber=(Option.map~f:FloatVersionString.of_xml)(Xml.childxml_arg0"modelVersionNumber")inletmodelType=(Option.map~f:ModelTypeEnum.of_xml)(Xml.childxml_arg0"modelType")inletmodelId=(Option.map~f:ModelIdentifier.of_xml)(Xml.childxml_arg0"modelId")inmake?status?modelVersionNumber?modelType?modelId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstatus=field_mapjson__"status"String_.of_jsoninletmodelVersionNumber=field_mapjson__"modelVersionNumber"FloatVersionString.of_jsoninletmodelType=field_mapjson__"modelType"ModelTypeEnum.of_jsoninletmodelId=field_mapjson__"modelId"ModelIdentifier.of_jsoninmake?status?modelVersionNumber?modelType?modelId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a version of the model using the specified model type and model id."]moduleCreateModelVersionRequest=structtypenonrect={modelId:ModelIdentifier.t[@ocaml.doc"The model ID."];modelType:ModelTypeEnum.t[@ocaml.doc"The model type."];trainingDataSource:TrainingDataSourceEnum.t[@ocaml.doc"The training data source location in Amazon S3."];trainingDataSchema:TrainingDataSchema.t[@ocaml.doc"The training data schema."];externalEventsDetail:ExternalEventsDetail.toption[@ocaml.doc"Details of the external events data used for model version training. Required if trainingDataSource is EXTERNAL_EVENTS."];ingestedEventsDetail:IngestedEventsDetail.toption[@ocaml.doc"Details of the ingested events data used for model version training. Required if trainingDataSource is INGESTED_EVENTS."];tags:TagList.toption[@ocaml.doc"A collection of key and value pairs."]}letcontext_="CreateModelVersionRequest"letmake?externalEventsDetail=fun?ingestedEventsDetail->fun?tags->fun~modelId->fun~modelType->fun~trainingDataSource->fun~trainingDataSchema->fun()->{externalEventsDetail;ingestedEventsDetail;tags;modelId;modelType;trainingDataSource;trainingDataSchema}letto_valuex=structure_to_value[("modelId",(Some(ModelIdentifier.to_valuex.modelId)));("modelType",(Some(ModelTypeEnum.to_valuex.modelType)));("trainingDataSource",(Some(TrainingDataSourceEnum.to_valuex.trainingDataSource)));("trainingDataSchema",(Some(TrainingDataSchema.to_valuex.trainingDataSchema)));("externalEventsDetail",(Option.mapx.externalEventsDetail~f:ExternalEventsDetail.to_value));("ingestedEventsDetail",(Option.mapx.ingestedEventsDetail~f:IngestedEventsDetail.to_value));("tags",(Option.mapx.tags~f:TagList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettags=(Option.map~f:TagList.of_xml)(Xml.childxml_arg0"tags")inletingestedEventsDetail=(Option.map~f:IngestedEventsDetail.of_xml)(Xml.childxml_arg0"ingestedEventsDetail")inletexternalEventsDetail=(Option.map~f:ExternalEventsDetail.of_xml)(Xml.childxml_arg0"externalEventsDetail")inlettrainingDataSchema=TrainingDataSchema.of_xml(Xml.child_exn~context:context_xml_arg0"trainingDataSchema")inlettrainingDataSource=TrainingDataSourceEnum.of_xml(Xml.child_exn~context:context_xml_arg0"trainingDataSource")inletmodelType=ModelTypeEnum.of_xml(Xml.child_exn~context:context_xml_arg0"modelType")inletmodelId=ModelIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"modelId")inmake?tags?ingestedEventsDetail?externalEventsDetail~trainingDataSchema~trainingDataSource~modelType~modelId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"tags"TagList.of_jsoninletingestedEventsDetail=field_mapjson__"ingestedEventsDetail"IngestedEventsDetail.of_jsoninletexternalEventsDetail=field_mapjson__"externalEventsDetail"ExternalEventsDetail.of_jsoninlettrainingDataSchema=field_map_exnjson__"trainingDataSchema"TrainingDataSchema.of_jsoninlettrainingDataSource=field_map_exnjson__"trainingDataSource"TrainingDataSourceEnum.of_jsoninletmodelType=field_map_exnjson__"modelType"ModelTypeEnum.of_jsoninletmodelId=field_map_exnjson__"modelId"ModelIdentifier.of_jsoninmake?tags?ingestedEventsDetail?externalEventsDetail~trainingDataSchema~trainingDataSource~modelType~modelId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a version of the model using the specified model type and model id."]moduleCreateModelResult=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()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))])))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"Creates a model using the specified model type."]moduleCreateModelRequest=structtypenonrect={modelId:ModelIdentifier.t[@ocaml.doc"The model ID."];modelType:ModelTypeEnum.t[@ocaml.doc"The model type."];description:Description.toption[@ocaml.doc"The model description."];eventTypeName:String_.t[@ocaml.doc"The name of the event type."];tags:TagList.toption[@ocaml.doc"A collection of key and value pairs."]}letcontext_="CreateModelRequest"letmake?description=fun?tags->fun~modelId->fun~modelType->fun~eventTypeName->fun()->{description;tags;modelId;modelType;eventTypeName}letto_valuex=structure_to_value[("modelId",(Some(ModelIdentifier.to_valuex.modelId)));("modelType",(Some(ModelTypeEnum.to_valuex.modelType)));("description",(Option.mapx.description~f:Description.to_value));("eventTypeName",(Some(String_.to_valuex.eventTypeName)));("tags",(Option.mapx.tags~f:TagList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettags=(Option.map~f:TagList.of_xml)(Xml.childxml_arg0"tags")inleteventTypeName=String_.of_xml(Xml.child_exn~context:context_xml_arg0"eventTypeName")inletdescription=(Option.map~f:Description.of_xml)(Xml.childxml_arg0"description")inletmodelType=ModelTypeEnum.of_xml(Xml.child_exn~context:context_xml_arg0"modelType")inletmodelId=ModelIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"modelId")inmake?tags~eventTypeName?description~modelType~modelId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"tags"TagList.of_jsoninleteventTypeName=field_map_exnjson__"eventTypeName"String_.of_jsoninletdescription=field_mapjson__"description"Description.of_jsoninletmodelType=field_map_exnjson__"modelType"ModelTypeEnum.of_jsoninletmodelId=field_map_exnjson__"modelId"ModelIdentifier.of_jsoninmake?tags~eventTypeName?description~modelType~modelId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a model using the specified model type."]moduleCreateListResult=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()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))])))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"Creates a list. List is a set of input data for a variable in your event dataset. You use the input data in a rule that's associated with your detector. For more information, see Lists."]moduleCreateListRequest=structtypenonrect={name:NoDashIdentifier.t[@ocaml.doc"The name of the list."];elements:ElementsList.toption[@ocaml.doc"The names of the elements, if providing. You can also create an empty list and add elements later using the UpdateList API."];variableType:VariableType.toption[@ocaml.doc"The variable type of the list. You can only assign the variable type with String data type. For more information, see Variable types."];description:Description.toption[@ocaml.doc"The description of the list."];tags:TagList.toption[@ocaml.doc"A collection of the key and value pairs."]}letcontext_="CreateListRequest"letmake?elements=fun?variableType->fun?description->fun?tags->fun~name->fun()->{elements;variableType;description;tags;name}letto_valuex=structure_to_value[("name",(Some(NoDashIdentifier.to_valuex.name)));("elements",(Option.mapx.elements~f:ElementsList.to_value));("variableType",(Option.mapx.variableType~f:VariableType.to_value));("description",(Option.mapx.description~f:Description.to_value));("tags",(Option.mapx.tags~f:TagList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettags=(Option.map~f:TagList.of_xml)(Xml.childxml_arg0"tags")inletdescription=(Option.map~f:Description.of_xml)(Xml.childxml_arg0"description")inletvariableType=(Option.map~f:VariableType.of_xml)(Xml.childxml_arg0"variableType")inletelements=(Option.map~f:ElementsList.of_xml)(Xml.childxml_arg0"elements")inletname=NoDashIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"name")inmake?tags?description?variableType?elements~name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"tags"TagList.of_jsoninletdescription=field_mapjson__"description"Description.of_jsoninletvariableType=field_mapjson__"variableType"VariableType.of_jsoninletelements=field_mapjson__"elements"ElementsList.of_jsoninletname=field_map_exnjson__"name"NoDashIdentifier.of_jsoninmake?tags?description?variableType?elements~name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a list. List is a set of input data for a variable in your event dataset. You use the input data in a rule that's associated with your detector. For more information, see Lists."]moduleCreateDetectorVersionResult=structtypenonrect={detectorId:Identifier.toption[@ocaml.doc"The ID for the created version's parent detector."];detectorVersionId:WholeNumberVersionString.toption[@ocaml.doc"The ID for the created detector."];status:DetectorVersionStatus.toption[@ocaml.doc"The status of the detector version."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?detectorId=fun?detectorVersionId->fun?status->fun()->{detectorId;detectorVersionId;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[("detectorId",(Option.mapx.detectorId~f:Identifier.to_value));("detectorVersionId",(Option.mapx.detectorVersionId~f:WholeNumberVersionString.to_value));("status",(Option.mapx.status~f:DetectorVersionStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstatus=(Option.map~f:DetectorVersionStatus.of_xml)(Xml.childxml_arg0"status")inletdetectorVersionId=(Option.map~f:WholeNumberVersionString.of_xml)(Xml.childxml_arg0"detectorVersionId")inletdetectorId=(Option.map~f:Identifier.of_xml)(Xml.childxml_arg0"detectorId")inmake?status?detectorVersionId?detectorId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstatus=field_mapjson__"status"DetectorVersionStatus.of_jsoninletdetectorVersionId=field_mapjson__"detectorVersionId"WholeNumberVersionString.of_jsoninletdetectorId=field_mapjson__"detectorId"Identifier.of_jsoninmake?status?detectorVersionId?detectorId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a detector version. The detector version starts in a DRAFT status."]moduleCreateDetectorVersionRequest=structtypenonrect={detectorId:Identifier.t[@ocaml.doc"The ID of the detector under which you want to create a new version."];description:Description.toption[@ocaml.doc"The description of the detector version."];externalModelEndpoints:ListOfStrings.toption[@ocaml.doc"The Amazon Sagemaker model endpoints to include in the detector version."];rules:RuleList.t[@ocaml.doc"The rules to include in the detector version."];modelVersions:ListOfModelVersions.toption[@ocaml.doc"The model versions to include in the detector version."];ruleExecutionMode:RuleExecutionMode.toption[@ocaml.doc"The rule execution mode for the rules included in the detector version. You can define and edit the rule mode at the detector version level, when it is in draft status. If you specify FIRST_MATCHED, Amazon Fraud Detector evaluates rules sequentially, first to last, stopping at the first matched rule. Amazon Fraud dectector then provides the outcomes for that single rule. If you specifiy ALL_MATCHED, Amazon Fraud Detector evaluates all rules and returns the outcomes for all matched rules. The default behavior is FIRST_MATCHED."];tags:TagList.toption[@ocaml.doc"A collection of key and value pairs."]}letcontext_="CreateDetectorVersionRequest"letmake?description=fun?externalModelEndpoints->fun?modelVersions->fun?ruleExecutionMode->fun?tags->fun~detectorId->fun~rules->fun()->{description;externalModelEndpoints;modelVersions;ruleExecutionMode;tags;detectorId;rules}letto_valuex=structure_to_value[("detectorId",(Some(Identifier.to_valuex.detectorId)));("description",(Option.mapx.description~f:Description.to_value));("externalModelEndpoints",(Option.mapx.externalModelEndpoints~f:ListOfStrings.to_value));("rules",(Some(RuleList.to_valuex.rules)));("modelVersions",(Option.mapx.modelVersions~f:ListOfModelVersions.to_value));("ruleExecutionMode",(Option.mapx.ruleExecutionMode~f:RuleExecutionMode.to_value));("tags",(Option.mapx.tags~f:TagList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettags=(Option.map~f:TagList.of_xml)(Xml.childxml_arg0"tags")inletruleExecutionMode=(Option.map~f:RuleExecutionMode.of_xml)(Xml.childxml_arg0"ruleExecutionMode")inletmodelVersions=(Option.map~f:ListOfModelVersions.of_xml)(Xml.childxml_arg0"modelVersions")inletrules=RuleList.of_xml(Xml.child_exn~context:context_xml_arg0"rules")inletexternalModelEndpoints=(Option.map~f:ListOfStrings.of_xml)(Xml.childxml_arg0"externalModelEndpoints")inletdescription=(Option.map~f:Description.of_xml)(Xml.childxml_arg0"description")inletdetectorId=Identifier.of_xml(Xml.child_exn~context:context_xml_arg0"detectorId")inmake?tags?ruleExecutionMode?modelVersions~rules?externalModelEndpoints?description~detectorId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"tags"TagList.of_jsoninletruleExecutionMode=field_mapjson__"ruleExecutionMode"RuleExecutionMode.of_jsoninletmodelVersions=field_mapjson__"modelVersions"ListOfModelVersions.of_jsoninletrules=field_map_exnjson__"rules"RuleList.of_jsoninletexternalModelEndpoints=field_mapjson__"externalModelEndpoints"ListOfStrings.of_jsoninletdescription=field_mapjson__"description"Description.of_jsoninletdetectorId=field_map_exnjson__"detectorId"Identifier.of_jsoninmake?tags?ruleExecutionMode?modelVersions~rules?externalModelEndpoints?description~detectorId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a detector version. The detector version starts in a DRAFT status."]moduleCreateBatchPredictionJobResult=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.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)|"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))])))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"Creates a batch prediction job."]moduleCreateBatchPredictionJobRequest=structtypenonrect={jobId:Identifier.t[@ocaml.doc"The ID of the batch prediction job."];inputPath:S3BucketLocation.t[@ocaml.doc"The Amazon S3 location of your training file."];outputPath:S3BucketLocation.t[@ocaml.doc"The Amazon S3 location of your output file."];eventTypeName:Identifier.t[@ocaml.doc"The name of the event type."];detectorName:Identifier.t[@ocaml.doc"The name of the detector."];detectorVersion:WholeNumberVersionString.toption[@ocaml.doc"The detector version."];iamRoleArn:IamRoleArn.t[@ocaml.doc"The ARN of the IAM role to use for this job request. The IAM Role must have read permissions to your input S3 bucket and write permissions to your output S3 bucket. For more information about bucket permissions, see User policy examples in the Amazon S3 User Guide."];tags:TagList.toption[@ocaml.doc"A collection of key and value pairs."]}letcontext_="CreateBatchPredictionJobRequest"letmake?detectorVersion=fun?tags->fun~jobId->fun~inputPath->fun~outputPath->fun~eventTypeName->fun~detectorName->fun~iamRoleArn->fun()->{detectorVersion;tags;jobId;inputPath;outputPath;eventTypeName;detectorName;iamRoleArn}letto_valuex=structure_to_value[("jobId",(Some(Identifier.to_valuex.jobId)));("inputPath",(Some(S3BucketLocation.to_valuex.inputPath)));("outputPath",(Some(S3BucketLocation.to_valuex.outputPath)));("eventTypeName",(Some(Identifier.to_valuex.eventTypeName)));("detectorName",(Some(Identifier.to_valuex.detectorName)));("detectorVersion",(Option.mapx.detectorVersion~f:WholeNumberVersionString.to_value));("iamRoleArn",(Some(IamRoleArn.to_valuex.iamRoleArn)));("tags",(Option.mapx.tags~f:TagList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettags=(Option.map~f:TagList.of_xml)(Xml.childxml_arg0"tags")inletiamRoleArn=IamRoleArn.of_xml(Xml.child_exn~context:context_xml_arg0"iamRoleArn")inletdetectorVersion=(Option.map~f:WholeNumberVersionString.of_xml)(Xml.childxml_arg0"detectorVersion")inletdetectorName=Identifier.of_xml(Xml.child_exn~context:context_xml_arg0"detectorName")inleteventTypeName=Identifier.of_xml(Xml.child_exn~context:context_xml_arg0"eventTypeName")inletoutputPath=S3BucketLocation.of_xml(Xml.child_exn~context:context_xml_arg0"outputPath")inletinputPath=S3BucketLocation.of_xml(Xml.child_exn~context:context_xml_arg0"inputPath")inletjobId=Identifier.of_xml(Xml.child_exn~context:context_xml_arg0"jobId")inmake?tags~iamRoleArn?detectorVersion~detectorName~eventTypeName~outputPath~inputPath~jobId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"tags"TagList.of_jsoninletiamRoleArn=field_map_exnjson__"iamRoleArn"IamRoleArn.of_jsoninletdetectorVersion=field_mapjson__"detectorVersion"WholeNumberVersionString.of_jsoninletdetectorName=field_map_exnjson__"detectorName"Identifier.of_jsoninleteventTypeName=field_map_exnjson__"eventTypeName"Identifier.of_jsoninletoutputPath=field_map_exnjson__"outputPath"S3BucketLocation.of_jsoninletinputPath=field_map_exnjson__"inputPath"S3BucketLocation.of_jsoninletjobId=field_map_exnjson__"jobId"Identifier.of_jsoninmake?tags~iamRoleArn?detectorVersion~detectorName~eventTypeName~outputPath~inputPath~jobId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a batch prediction job."]moduleCreateBatchImportJobResult=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.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)|"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))])))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"Creates a batch import job."]moduleCreateBatchImportJobRequest=structtypenonrect={jobId:Identifier.t[@ocaml.doc"The ID of the batch import job. The ID cannot be of a past job, unless the job exists in CREATE_FAILED state."];inputPath:S3BucketLocation.t[@ocaml.doc"The URI that points to the Amazon S3 location of your data file."];outputPath:S3BucketLocation.t[@ocaml.doc"The URI that points to the Amazon S3 location for storing your results."];eventTypeName:Identifier.t[@ocaml.doc"The name of the event type."];iamRoleArn:IamRoleArn.t[@ocaml.doc"The ARN of the IAM role created for Amazon S3 bucket that holds your data file. The IAM role must have read permissions to your input S3 bucket and write permissions to your output S3 bucket. For more information about bucket permissions, see User policy examples in the Amazon S3 User Guide."];tags:TagList.toption[@ocaml.doc"A collection of key-value pairs associated with this request."]}letcontext_="CreateBatchImportJobRequest"letmake?tags=fun~jobId->fun~inputPath->fun~outputPath->fun~eventTypeName->fun~iamRoleArn->fun()->{tags;jobId;inputPath;outputPath;eventTypeName;iamRoleArn}letto_valuex=structure_to_value[("jobId",(Some(Identifier.to_valuex.jobId)));("inputPath",(Some(S3BucketLocation.to_valuex.inputPath)));("outputPath",(Some(S3BucketLocation.to_valuex.outputPath)));("eventTypeName",(Some(Identifier.to_valuex.eventTypeName)));("iamRoleArn",(Some(IamRoleArn.to_valuex.iamRoleArn)));("tags",(Option.mapx.tags~f:TagList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettags=(Option.map~f:TagList.of_xml)(Xml.childxml_arg0"tags")inletiamRoleArn=IamRoleArn.of_xml(Xml.child_exn~context:context_xml_arg0"iamRoleArn")inleteventTypeName=Identifier.of_xml(Xml.child_exn~context:context_xml_arg0"eventTypeName")inletoutputPath=S3BucketLocation.of_xml(Xml.child_exn~context:context_xml_arg0"outputPath")inletinputPath=S3BucketLocation.of_xml(Xml.child_exn~context:context_xml_arg0"inputPath")inletjobId=Identifier.of_xml(Xml.child_exn~context:context_xml_arg0"jobId")inmake?tags~iamRoleArn~eventTypeName~outputPath~inputPath~jobId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"tags"TagList.of_jsoninletiamRoleArn=field_map_exnjson__"iamRoleArn"IamRoleArn.of_jsoninleteventTypeName=field_map_exnjson__"eventTypeName"Identifier.of_jsoninletoutputPath=field_map_exnjson__"outputPath"S3BucketLocation.of_jsoninletinputPath=field_map_exnjson__"inputPath"S3BucketLocation.of_jsoninletjobId=field_map_exnjson__"jobId"Identifier.of_jsoninmake?tags~iamRoleArn~eventTypeName~outputPath~inputPath~jobId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a batch import job."]moduleCancelBatchPredictionJobResult=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.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)|"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))])))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"Cancels the specified batch prediction job."]moduleCancelBatchPredictionJobRequest=structtypenonrect={jobId:Identifier.t[@ocaml.doc"The ID of the batch prediction job to cancel."]}letcontext_="CancelBatchPredictionJobRequest"letmake~jobId=fun()->{jobId}letto_valuex=structure_to_value[("jobId",(Some(Identifier.to_valuex.jobId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letjobId=Identifier.of_xml(Xml.child_exn~context:context_xml_arg0"jobId")inmake~jobId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letjobId=field_map_exnjson__"jobId"Identifier.of_jsoninmake~jobId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Cancels the specified batch prediction job."]moduleCancelBatchImportJobResult=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.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)|"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))])))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"Cancels an in-progress batch import job."]moduleCancelBatchImportJobRequest=structtypenonrect={jobId:Identifier.t[@ocaml.doc"The ID of an in-progress batch import job to cancel. Amazon Fraud Detector will throw an error if the batch import job is in FAILED, CANCELED, or COMPLETED state."]}letcontext_="CancelBatchImportJobRequest"letmake~jobId=fun()->{jobId}letto_valuex=structure_to_value[("jobId",(Some(Identifier.to_valuex.jobId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letjobId=Identifier.of_xml(Xml.child_exn~context:context_xml_arg0"jobId")inmake~jobId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letjobId=field_map_exnjson__"jobId"Identifier.of_jsoninmake~jobId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Cancels an in-progress batch import job."]moduleBatchGetVariableResult=structtypenonrect={variables:VariableList.toption[@ocaml.doc"The returned variables."];errors:BatchGetVariableErrorList.toption[@ocaml.doc"The errors from the request."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?variables=fun?errors->fun()->{variables;errors}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[("variables",(Option.mapx.variables~f:VariableList.to_value));("errors",(Option.mapx.errors~f:BatchGetVariableErrorList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=leterrors=(Option.map~f:BatchGetVariableErrorList.of_xml)(Xml.childxml_arg0"errors")inletvariables=(Option.map~f:VariableList.of_xml)(Xml.childxml_arg0"variables")inmake?errors?variables()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=leterrors=field_mapjson__"errors"BatchGetVariableErrorList.of_jsoninletvariables=field_mapjson__"variables"VariableList.of_jsoninmake?errors?variables()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets a batch of variables."]moduleBatchGetVariableRequest=structtypenonrect={names:NameList.t[@ocaml.doc"The list of variable names to get."]}letcontext_="BatchGetVariableRequest"letmake~names=fun()->{names}letto_valuex=structure_to_value[("names",(Some(NameList.to_valuex.names)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnames=NameList.of_xml(Xml.child_exn~context:context_xml_arg0"names")inmake~names()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnames=field_map_exnjson__"names"NameList.of_jsoninmake~names()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Gets a batch of variables."]moduleBatchCreateVariableResult=structtypenonrect={errors:BatchCreateVariableErrorList.toption[@ocaml.doc"Provides the errors for the BatchCreateVariable request."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.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)|"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[("errors",(Option.mapx.errors~f:BatchCreateVariableErrorList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=leterrors=(Option.map~f:BatchCreateVariableErrorList.of_xml)(Xml.childxml_arg0"errors")inmake?errors()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=leterrors=field_mapjson__"errors"BatchCreateVariableErrorList.of_jsoninmake?errors()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a batch of variables."]moduleBatchCreateVariableRequest=structtypenonrect={variableEntries:VariableEntryList.t[@ocaml.doc"The list of variables for the batch create variable request."];tags:TagList.toption[@ocaml.doc"A collection of key and value pairs."]}letcontext_="BatchCreateVariableRequest"letmake?tags=fun~variableEntries->fun()->{tags;variableEntries}letto_valuex=structure_to_value[("variableEntries",(Some(VariableEntryList.to_valuex.variableEntries)));("tags",(Option.mapx.tags~f:TagList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettags=(Option.map~f:TagList.of_xml)(Xml.childxml_arg0"tags")inletvariableEntries=VariableEntryList.of_xml(Xml.child_exn~context:context_xml_arg0"variableEntries")inmake?tags~variableEntries()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"tags"TagList.of_jsoninletvariableEntries=field_map_exnjson__"variableEntries"VariableEntryList.of_jsoninmake?tags~variableEntries()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a batch of variables."]