12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371113721137311374113751137611377113781137911380113811138211383113841138511386113871138811389113901139111392113931139411395113961139711398113991140011401114021140311404114051140611407114081140911410114111141211413114141141511416114171141811419114201142111422114231142411425114261142711428114291143011431114321143311434114351143611437114381143911440114411144211443114441144511446114471144811449114501145111452114531145411455114561145711458114591146011461114621146311464114651146611467114681146911470114711147211473114741147511476114771147811479114801148111482114831148411485114861148711488114891149011491114921149311494114951149611497114981149911500115011150211503115041150511506115071150811509115101151111512115131151411515115161151711518115191152011521115221152311524115251152611527115281152911530115311153211533115341153511536115371153811539115401154111542115431154411545115461154711548115491155011551115521155311554115551155611557115581155911560115611156211563115641156511566115671156811569115701157111572115731157411575115761157711578115791158011581115821158311584115851158611587115881158911590115911159211593115941159511596115971159811599116001160111602116031160411605116061160711608116091161011611116121161311614116151161611617116181161911620116211162211623116241162511626116271162811629116301163111632116331163411635116361163711638116391164011641116421164311644116451164611647116481164911650116511165211653116541165511656116571165811659116601166111662116631166411665116661166711668116691167011671116721167311674116751167611677116781167911680116811168211683116841168511686116871168811689116901169111692116931169411695116961169711698116991170011701117021170311704117051170611707117081170911710117111171211713117141171511716117171171811719117201172111722117231172411725117261172711728117291173011731117321173311734117351173611737117381173911740117411174211743117441174511746117471174811749117501175111752117531175411755117561175711758117591176011761117621176311764117651176611767117681176911770117711177211773117741177511776117771177811779117801178111782117831178411785117861178711788117891179011791117921179311794117951179611797117981179911800118011180211803118041180511806118071180811809118101181111812118131181411815118161181711818118191182011821118221182311824118251182611827118281182911830118311183211833118341183511836118371183811839118401184111842118431184411845118461184711848118491185011851118521185311854118551185611857118581185911860118611186211863118641186511866118671186811869118701187111872118731187411875118761187711878118791188011881118821188311884118851188611887118881188911890118911189211893118941189511896118971189811899119001190111902119031190411905119061190711908119091191011911119121191311914119151191611917119181191911920119211192211923119241192511926119271192811929119301193111932119331193411935119361193711938119391194011941119421194311944119451194611947119481194911950119511195211953119541195511956119571195811959119601196111962119631196411965119661196711968119691197011971119721197311974119751197611977119781197911980119811198211983119841198511986119871198811989119901199111992119931199411995119961199711998119991200012001120021200312004120051200612007120081200912010120111201212013120141201512016120171201812019120201202112022120231202412025120261202712028120291203012031120321203312034120351203612037120381203912040120411204212043120441204512046120471204812049120501205112052120531205412055120561205712058120591206012061120621206312064120651206612067120681206912070120711207212073120741207512076120771207812079120801208112082120831208412085120861208712088120891209012091120921209312094120951209612097120981209912100121011210212103121041210512106121071210812109121101211112112121131211412115121161211712118121191212012121121221212312124121251212612127121281212912130121311213212133121341213512136121371213812139121401214112142121431214412145121461214712148121491215012151121521215312154121551215612157121581215912160121611216212163121641216512166121671216812169121701217112172121731217412175121761217712178121791218012181121821218312184121851218612187121881218912190121911219212193121941219512196121971219812199122001220112202122031220412205122061220712208122091221012211122121221312214122151221612217122181221912220122211222212223122241222512226122271222812229122301223112232122331223412235122361223712238122391224012241122421224312244122451224612247122481224912250122511225212253122541225512256122571225812259122601226112262122631226412265122661226712268122691227012271122721227312274122751227612277122781227912280122811228212283122841228512286122871228812289122901229112292122931229412295122961229712298122991230012301123021230312304123051230612307123081230912310123111231212313123141231512316123171231812319123201232112322123231232412325123261232712328123291233012331123321233312334123351233612337123381233912340123411234212343123441234512346123471234812349123501235112352123531235412355123561235712358123591236012361123621236312364123651236612367123681236912370123711237212373123741237512376123771237812379123801238112382123831238412385123861238712388123891239012391123921239312394123951239612397123981239912400124011240212403124041240512406124071240812409124101241112412124131241412415124161241712418124191242012421124221242312424124251242612427124281242912430124311243212433124341243512436124371243812439124401244112442124431244412445124461244712448124491245012451124521245312454124551245612457124581245912460124611246212463124641246512466124671246812469124701247112472124731247412475124761247712478124791248012481124821248312484124851248612487124881248912490124911249212493124941249512496124971249812499125001250112502125031250412505125061250712508125091251012511125121251312514125151251612517125181251912520125211252212523125241252512526125271252812529125301253112532125331253412535125361253712538125391254012541125421254312544125451254612547125481254912550125511255212553125541255512556125571255812559125601256112562125631256412565125661256712568125691257012571125721257312574125751257612577125781257912580125811258212583125841258512586125871258812589125901259112592125931259412595125961259712598125991260012601126021260312604126051260612607126081260912610126111261212613126141261512616126171261812619126201262112622126231262412625126261262712628126291263012631126321263312634126351263612637126381263912640126411264212643126441264512646126471264812649126501265112652126531265412655126561265712658126591266012661126621266312664126651266612667126681266912670126711267212673126741267512676126771267812679126801268112682126831268412685126861268712688126891269012691126921269312694126951269612697126981269912700127011270212703127041270512706127071270812709127101271112712127131271412715127161271712718127191272012721127221272312724127251272612727127281272912730127311273212733127341273512736127371273812739127401274112742127431274412745127461274712748127491275012751127521275312754127551275612757127581275912760127611276212763127641276512766127671276812769127701277112772127731277412775127761277712778127791278012781127821278312784127851278612787127881278912790127911279212793127941279512796127971279812799128001280112802128031280412805128061280712808128091281012811128121281312814128151281612817128181281912820128211282212823128241282512826128271282812829128301283112832128331283412835128361283712838128391284012841128421284312844128451284612847128481284912850128511285212853128541285512856128571285812859128601286112862128631286412865128661286712868128691287012871128721287312874128751287612877128781287912880128811288212883128841288512886128871288812889128901289112892128931289412895128961289712898128991290012901129021290312904129051290612907129081290912910129111291212913129141291512916129171291812919129201292112922129231292412925129261292712928129291293012931129321293312934129351293612937129381293912940129411294212943129441294512946129471294812949129501295112952129531295412955129561295712958129591296012961129621296312964129651296612967129681296912970129711297212973129741297512976129771297812979129801298112982129831298412985129861298712988129891299012991129921299312994129951299612997129981299913000130011300213003130041300513006130071300813009130101301113012130131301413015130161301713018130191302013021130221302313024130251302613027130281302913030130311303213033130341303513036130371303813039130401304113042130431304413045130461304713048130491305013051130521305313054130551305613057130581305913060130611306213063130641306513066130671306813069130701307113072130731307413075130761307713078130791308013081130821308313084130851308613087130881308913090130911309213093130941309513096130971309813099131001310113102131031310413105131061310713108131091311013111131121311313114131151311613117131181311913120131211312213123131241312513126131271312813129131301313113132131331313413135131361313713138131391314013141131421314313144131451314613147131481314913150131511315213153131541315513156131571315813159131601316113162131631316413165131661316713168131691317013171131721317313174131751317613177131781317913180131811318213183131841318513186131871318813189131901319113192131931319413195131961319713198131991320013201132021320313204132051320613207132081320913210132111321213213132141321513216132171321813219132201322113222132231322413225132261322713228132291323013231132321323313234132351323613237132381323913240132411324213243132441324513246132471324813249132501325113252132531325413255132561325713258132591326013261132621326313264132651326613267132681326913270132711327213273132741327513276132771327813279132801328113282132831328413285132861328713288132891329013291132921329313294132951329613297132981329913300133011330213303133041330513306133071330813309133101331113312133131331413315133161331713318133191332013321133221332313324133251332613327133281332913330133311333213333133341333513336133371333813339133401334113342133431334413345133461334713348133491335013351133521335313354133551335613357133581335913360133611336213363133641336513366133671336813369133701337113372133731337413375133761337713378133791338013381133821338313384133851338613387133881338913390133911339213393133941339513396133971339813399134001340113402134031340413405134061340713408134091341013411134121341313414134151341613417134181341913420134211342213423134241342513426134271342813429134301343113432134331343413435134361343713438134391344013441134421344313444134451344613447134481344913450134511345213453134541345513456134571345813459134601346113462134631346413465134661346713468134691347013471134721347313474134751347613477134781347913480134811348213483134841348513486134871348813489134901349113492134931349413495134961349713498134991350013501135021350313504135051350613507135081350913510135111351213513135141351513516135171351813519135201352113522135231352413525135261352713528135291353013531135321353313534135351353613537135381353913540135411354213543135441354513546135471354813549135501355113552135531355413555135561355713558135591356013561135621356313564135651356613567135681356913570135711357213573135741357513576135771357813579135801358113582135831358413585135861358713588135891359013591135921359313594135951359613597135981359913600136011360213603136041360513606136071360813609136101361113612136131361413615136161361713618136191362013621136221362313624136251362613627136281362913630136311363213633136341363513636136371363813639136401364113642136431364413645136461364713648136491365013651136521365313654136551365613657136581365913660136611366213663136641366513666136671366813669136701367113672136731367413675136761367713678136791368013681136821368313684136851368613687136881368913690136911369213693136941369513696136971369813699137001370113702137031370413705137061370713708137091371013711137121371313714137151371613717137181371913720137211372213723137241372513726137271372813729137301373113732137331373413735137361373713738137391374013741137421374313744137451374613747137481374913750137511375213753137541375513756137571375813759137601376113762137631376413765137661376713768137691377013771137721377313774137751377613777137781377913780137811378213783137841378513786137871378813789137901379113792137931379413795137961379713798137991380013801138021380313804138051380613807138081380913810138111381213813138141381513816138171381813819138201382113822138231382413825138261382713828138291383013831138321383313834138351383613837138381383913840138411384213843138441384513846138471384813849138501385113852138531385413855138561385713858138591386013861138621386313864138651386613867138681386913870138711387213873138741387513876138771387813879138801388113882138831388413885138861388713888138891389013891138921389313894138951389613897138981389913900139011390213903139041390513906139071390813909139101391113912139131391413915139161391713918139191392013921139221392313924139251392613927139281392913930139311393213933139341393513936139371393813939139401394113942139431394413945139461394713948139491395013951139521395313954139551395613957139581395913960139611396213963139641396513966139671396813969139701397113972139731397413975139761397713978139791398013981139821398313984139851398613987139881398913990139911399213993139941399513996139971399813999140001400114002140031400414005140061400714008140091401014011140121401314014140151401614017140181401914020140211402214023140241402514026140271402814029140301403114032140331403414035140361403714038140391404014041140421404314044140451404614047140481404914050140511405214053140541405514056140571405814059140601406114062140631406414065140661406714068140691407014071140721407314074140751407614077140781407914080140811408214083140841408514086140871408814089140901409114092140931409414095140961409714098140991410014101141021410314104141051410614107141081410914110141111411214113141141411514116141171411814119141201412114122141231412414125141261412714128141291413014131141321413314134141351413614137141381413914140141411414214143141441414514146141471414814149141501415114152141531415414155141561415714158141591416014161141621416314164141651416614167141681416914170141711417214173141741417514176141771417814179141801418114182141831418414185141861418714188141891419014191141921419314194141951419614197141981419914200142011420214203142041420514206142071420814209142101421114212142131421414215142161421714218142191422014221142221422314224142251422614227142281422914230142311423214233142341423514236142371423814239142401424114242142431424414245142461424714248142491425014251142521425314254142551425614257142581425914260142611426214263142641426514266142671426814269142701427114272142731427414275142761427714278142791428014281142821428314284142851428614287142881428914290142911429214293142941429514296142971429814299143001430114302143031430414305143061430714308143091431014311143121431314314143151431614317143181431914320143211432214323143241432514326143271432814329143301433114332143331433414335143361433714338143391434014341143421434314344143451434614347143481434914350143511435214353143541435514356143571435814359143601436114362143631436414365143661436714368143691437014371143721437314374143751437614377143781437914380143811438214383143841438514386143871438814389143901439114392143931439414395143961439714398143991440014401144021440314404144051440614407144081440914410144111441214413144141441514416144171441814419144201442114422144231442414425144261442714428144291443014431144321443314434144351443614437144381443914440144411444214443144441444514446144471444814449144501445114452144531445414455144561445714458144591446014461144621446314464144651446614467144681446914470144711447214473144741447514476144771447814479144801448114482144831448414485144861448714488144891449014491144921449314494144951449614497144981449914500145011450214503145041450514506145071450814509145101451114512145131451414515145161451714518145191452014521145221452314524145251452614527145281452914530145311453214533145341453514536145371453814539145401454114542145431454414545145461454714548145491455014551145521455314554145551455614557145581455914560145611456214563145641456514566145671456814569145701457114572145731457414575145761457714578145791458014581145821458314584145851458614587145881458914590145911459214593145941459514596145971459814599146001460114602146031460414605146061460714608146091461014611146121461314614146151461614617146181461914620146211462214623146241462514626146271462814629146301463114632146331463414635146361463714638146391464014641146421464314644146451464614647146481464914650146511465214653146541465514656146571465814659146601466114662146631466414665146661466714668146691467014671146721467314674146751467614677146781467914680146811468214683146841468514686146871468814689146901469114692146931469414695146961469714698146991470014701147021470314704147051470614707147081470914710147111471214713147141471514716147171471814719147201472114722147231472414725147261472714728147291473014731147321473314734147351473614737147381473914740147411474214743147441474514746147471474814749147501475114752147531475414755147561475714758147591476014761147621476314764147651476614767147681476914770147711477214773147741477514776147771477814779147801478114782147831478414785147861478714788147891479014791147921479314794147951479614797147981479914800148011480214803148041480514806148071480814809148101481114812148131481414815148161481714818148191482014821148221482314824148251482614827148281482914830148311483214833148341483514836148371483814839148401484114842148431484414845148461484714848148491485014851148521485314854148551485614857148581485914860148611486214863148641486514866148671486814869148701487114872148731487414875148761487714878148791488014881148821488314884148851488614887148881488914890148911489214893148941489514896148971489814899149001490114902149031490414905149061490714908149091491014911149121491314914149151491614917149181491914920149211492214923149241492514926149271492814929149301493114932149331493414935149361493714938149391494014941149421494314944149451494614947149481494914950149511495214953149541495514956149571495814959149601496114962149631496414965149661496714968149691497014971149721497314974149751497614977149781497914980149811498214983149841498514986149871498814989149901499114992149931499414995149961499714998149991500015001150021500315004150051500615007150081500915010150111501215013150141501515016150171501815019150201502115022150231502415025150261502715028150291503015031150321503315034150351503615037150381503915040150411504215043150441504515046150471504815049150501505115052150531505415055150561505715058150591506015061150621506315064150651506615067150681506915070150711507215073150741507515076150771507815079150801508115082150831508415085150861508715088150891509015091150921509315094150951509615097150981509915100151011510215103151041510515106151071510815109151101511115112151131511415115151161511715118151191512015121151221512315124151251512615127151281512915130151311513215133151341513515136151371513815139151401514115142151431514415145151461514715148151491515015151151521515315154151551515615157151581515915160151611516215163151641516515166151671516815169151701517115172151731517415175151761517715178151791518015181151821518315184151851518615187151881518915190151911519215193151941519515196151971519815199152001520115202152031520415205152061520715208152091521015211152121521315214152151521615217152181521915220152211522215223152241522515226152271522815229152301523115232152331523415235152361523715238152391524015241152421524315244152451524615247152481524915250152511525215253152541525515256152571525815259152601526115262152631526415265152661526715268152691527015271152721527315274152751527615277152781527915280152811528215283152841528515286152871528815289152901529115292152931529415295152961529715298152991530015301153021530315304153051530615307153081530915310153111531215313153141531515316153171531815319153201532115322153231532415325153261532715328153291533015331153321533315334153351533615337153381533915340153411534215343153441534515346153471534815349153501535115352153531535415355153561535715358153591536015361153621536315364153651536615367153681536915370153711537215373153741537515376153771537815379153801538115382153831538415385153861538715388153891539015391153921539315394153951539615397153981539915400154011540215403154041540515406154071540815409154101541115412154131541415415154161541715418154191542015421154221542315424154251542615427154281542915430154311543215433154341543515436154371543815439154401544115442154431544415445154461544715448154491545015451154521545315454154551545615457154581545915460154611546215463154641546515466154671546815469154701547115472154731547415475154761547715478154791548015481154821548315484154851548615487154881548915490154911549215493154941549515496154971549815499155001550115502155031550415505155061550715508155091551015511155121551315514155151551615517155181551915520155211552215523155241552515526155271552815529155301553115532155331553415535155361553715538155391554015541155421554315544155451554615547155481554915550155511555215553155541555515556155571555815559155601556115562155631556415565155661556715568155691557015571155721557315574155751557615577155781557915580155811558215583155841558515586155871558815589155901559115592155931559415595155961559715598155991560015601156021560315604156051560615607156081560915610156111561215613156141561515616156171561815619156201562115622156231562415625156261562715628156291563015631156321563315634156351563615637156381563915640156411564215643156441564515646156471564815649156501565115652156531565415655156561565715658156591566015661156621566315664156651566615667156681566915670156711567215673156741567515676156771567815679156801568115682156831568415685156861568715688156891569015691156921569315694156951569615697156981569915700157011570215703157041570515706157071570815709157101571115712157131571415715157161571715718157191572015721157221572315724157251572615727157281572915730157311573215733157341573515736157371573815739157401574115742157431574415745157461574715748157491575015751157521575315754157551575615757157581575915760157611576215763157641576515766157671576815769157701577115772157731577415775157761577715778157791578015781157821578315784157851578615787157881578915790157911579215793157941579515796157971579815799158001580115802158031580415805158061580715808158091581015811158121581315814158151581615817158181581915820158211582215823158241582515826158271582815829158301583115832158331583415835158361583715838158391584015841158421584315844158451584615847158481584915850158511585215853158541585515856158571585815859158601586115862158631586415865158661586715868158691587015871158721587315874158751587615877158781587915880158811588215883158841588515886158871588815889158901589115892158931589415895158961589715898158991590015901159021590315904159051590615907159081590915910159111591215913159141591515916159171591815919159201592115922159231592415925159261592715928159291593015931159321593315934159351593615937159381593915940159411594215943159441594515946159471594815949159501595115952159531595415955159561595715958159591596015961159621596315964159651596615967159681596915970159711597215973159741597515976159771597815979159801598115982159831598415985159861598715988159891599015991159921599315994159951599615997159981599916000160011600216003160041600516006160071600816009160101601116012160131601416015160161601716018160191602016021160221602316024160251602616027160281602916030160311603216033160341603516036160371603816039160401604116042160431604416045160461604716048160491605016051160521605316054160551605616057160581605916060160611606216063160641606516066160671606816069160701607116072160731607416075160761607716078160791608016081160821608316084160851608616087160881608916090160911609216093160941609516096160971609816099161001610116102161031610416105161061610716108161091611016111161121611316114161151611616117161181611916120161211612216123161241612516126161271612816129161301613116132161331613416135161361613716138161391614016141161421614316144161451614616147161481614916150161511615216153161541615516156161571615816159161601616116162161631616416165161661616716168161691617016171161721617316174161751617616177161781617916180161811618216183161841618516186161871618816189161901619116192161931619416195161961619716198161991620016201162021620316204162051620616207162081620916210162111621216213162141621516216162171621816219162201622116222162231622416225162261622716228162291623016231162321623316234162351623616237162381623916240162411624216243162441624516246162471624816249162501625116252162531625416255162561625716258162591626016261162621626316264162651626616267162681626916270162711627216273162741627516276162771627816279162801628116282162831628416285162861628716288162891629016291162921629316294162951629616297162981629916300163011630216303163041630516306163071630816309163101631116312163131631416315163161631716318163191632016321163221632316324163251632616327163281632916330163311633216333163341633516336163371633816339163401634116342163431634416345163461634716348163491635016351163521635316354163551635616357163581635916360163611636216363163641636516366163671636816369163701637116372163731637416375163761637716378163791638016381163821638316384163851638616387163881638916390163911639216393163941639516396163971639816399164001640116402164031640416405164061640716408164091641016411164121641316414164151641616417164181641916420164211642216423164241642516426164271642816429164301643116432164331643416435164361643716438164391644016441164421644316444164451644616447164481644916450164511645216453164541645516456164571645816459164601646116462164631646416465164661646716468164691647016471164721647316474164751647616477164781647916480164811648216483164841648516486164871648816489164901649116492164931649416495164961649716498164991650016501165021650316504165051650616507165081650916510165111651216513165141651516516165171651816519165201652116522165231652416525165261652716528165291653016531165321653316534165351653616537165381653916540165411654216543165441654516546165471654816549165501655116552165531655416555165561655716558165591656016561165621656316564165651656616567165681656916570165711657216573165741657516576165771657816579165801658116582165831658416585165861658716588165891659016591165921659316594165951659616597165981659916600166011660216603166041660516606166071660816609166101661116612166131661416615166161661716618166191662016621166221662316624166251662616627166281662916630166311663216633166341663516636166371663816639166401664116642166431664416645166461664716648166491665016651166521665316654166551665616657166581665916660166611666216663166641666516666166671666816669166701667116672166731667416675166761667716678166791668016681166821668316684166851668616687166881668916690166911669216693166941669516696166971669816699167001670116702167031670416705167061670716708167091671016711167121671316714167151671616717167181671916720167211672216723167241672516726167271672816729167301673116732167331673416735167361673716738167391674016741167421674316744167451674616747167481674916750167511675216753167541675516756167571675816759167601676116762167631676416765167661676716768167691677016771167721677316774167751677616777167781677916780167811678216783167841678516786167871678816789167901679116792167931679416795167961679716798167991680016801168021680316804168051680616807168081680916810168111681216813168141681516816168171681816819168201682116822168231682416825168261682716828168291683016831168321683316834168351683616837168381683916840168411684216843168441684516846168471684816849168501685116852168531685416855168561685716858168591686016861168621686316864168651686616867168681686916870168711687216873168741687516876168771687816879168801688116882168831688416885168861688716888168891689016891168921689316894168951689616897168981689916900169011690216903169041690516906169071690816909169101691116912169131691416915169161691716918169191692016921169221692316924169251692616927169281692916930169311693216933169341693516936169371693816939169401694116942169431694416945169461694716948169491695016951169521695316954169551695616957169581695916960169611696216963169641696516966169671696816969169701697116972169731697416975169761697716978169791698016981169821698316984169851698616987169881698916990169911699216993169941699516996169971699816999170001700117002170031700417005170061700717008170091701017011170121701317014170151701617017170181701917020170211702217023170241702517026170271702817029170301703117032170331703417035170361703717038170391704017041170421704317044170451704617047170481704917050170511705217053170541705517056170571705817059170601706117062170631706417065170661706717068170691707017071170721707317074170751707617077170781707917080170811708217083170841708517086170871708817089170901709117092170931709417095170961709717098170991710017101171021710317104171051710617107171081710917110171111711217113171141711517116171171711817119171201712117122171231712417125171261712717128171291713017131171321713317134171351713617137171381713917140171411714217143171441714517146171471714817149171501715117152171531715417155171561715717158171591716017161171621716317164171651716617167171681716917170171711717217173171741717517176171771717817179171801718117182171831718417185171861718717188171891719017191171921719317194171951719617197171981719917200172011720217203172041720517206172071720817209172101721117212172131721417215172161721717218172191722017221172221722317224172251722617227172281722917230172311723217233172341723517236172371723817239172401724117242172431724417245172461724717248172491725017251172521725317254172551725617257172581725917260172611726217263172641726517266172671726817269172701727117272172731727417275172761727717278172791728017281172821728317284172851728617287172881728917290172911729217293172941729517296172971729817299173001730117302173031730417305173061730717308173091731017311173121731317314173151731617317173181731917320173211732217323173241732517326173271732817329173301733117332173331733417335173361733717338173391734017341173421734317344173451734617347173481734917350173511735217353173541735517356173571735817359173601736117362173631736417365173661736717368173691737017371173721737317374173751737617377173781737917380173811738217383173841738517386173871738817389173901739117392173931739417395173961739717398173991740017401174021740317404174051740617407174081740917410174111741217413174141741517416174171741817419174201742117422174231742417425174261742717428174291743017431174321743317434174351743617437174381743917440174411744217443174441744517446174471744817449174501745117452174531745417455174561745717458174591746017461174621746317464174651746617467174681746917470174711747217473174741747517476174771747817479174801748117482174831748417485174861748717488174891749017491174921749317494174951749617497174981749917500175011750217503175041750517506175071750817509175101751117512175131751417515175161751717518175191752017521175221752317524175251752617527175281752917530175311753217533175341753517536175371753817539175401754117542175431754417545175461754717548175491755017551175521755317554175551755617557175581755917560175611756217563175641756517566175671756817569175701757117572175731757417575175761757717578175791758017581175821758317584175851758617587175881758917590175911759217593175941759517596175971759817599176001760117602176031760417605176061760717608176091761017611176121761317614176151761617617176181761917620176211762217623176241762517626176271762817629176301763117632176331763417635176361763717638176391764017641176421764317644176451764617647176481764917650176511765217653176541765517656176571765817659176601766117662176631766417665176661766717668176691767017671176721767317674176751767617677176781767917680176811768217683176841768517686176871768817689176901769117692176931769417695176961769717698176991770017701177021770317704177051770617707177081770917710177111771217713177141771517716177171771817719177201772117722177231772417725177261772717728177291773017731177321773317734177351773617737177381773917740177411774217743177441774517746177471774817749177501775117752177531775417755177561775717758177591776017761177621776317764177651776617767177681776917770177711777217773177741777517776177771777817779177801778117782177831778417785177861778717788177891779017791177921779317794177951779617797177981779917800178011780217803178041780517806178071780817809178101781117812178131781417815178161781717818178191782017821178221782317824178251782617827178281782917830178311783217833178341783517836178371783817839178401784117842178431784417845178461784717848178491785017851178521785317854178551785617857178581785917860178611786217863178641786517866178671786817869178701787117872178731787417875178761787717878178791788017881178821788317884178851788617887178881788917890178911789217893178941789517896178971789817899179001790117902179031790417905179061790717908179091791017911179121791317914179151791617917179181791917920179211792217923179241792517926179271792817929179301793117932179331793417935179361793717938179391794017941179421794317944179451794617947179481794917950179511795217953179541795517956179571795817959179601796117962179631796417965179661796717968179691797017971179721797317974179751797617977179781797917980179811798217983179841798517986179871798817989179901799117992179931799417995179961799717998179991800018001180021800318004180051800618007180081800918010180111801218013180141801518016180171801818019180201802118022180231802418025180261802718028180291803018031180321803318034180351803618037180381803918040180411804218043180441804518046180471804818049180501805118052180531805418055180561805718058180591806018061180621806318064180651806618067180681806918070180711807218073180741807518076180771807818079180801808118082180831808418085180861808718088180891809018091180921809318094180951809618097180981809918100181011810218103181041810518106181071810818109181101811118112181131811418115181161811718118181191812018121181221812318124181251812618127181281812918130181311813218133181341813518136181371813818139181401814118142181431814418145181461814718148181491815018151181521815318154181551815618157181581815918160181611816218163181641816518166181671816818169181701817118172181731817418175181761817718178181791818018181181821818318184181851818618187181881818918190181911819218193181941819518196181971819818199182001820118202182031820418205182061820718208182091821018211182121821318214182151821618217182181821918220182211822218223182241822518226182271822818229182301823118232182331823418235182361823718238182391824018241182421824318244182451824618247182481824918250182511825218253182541825518256182571825818259182601826118262182631826418265182661826718268182691827018271182721827318274182751827618277182781827918280182811828218283182841828518286182871828818289182901829118292182931829418295182961829718298182991830018301183021830318304183051830618307183081830918310183111831218313183141831518316183171831818319183201832118322183231832418325183261832718328183291833018331183321833318334183351833618337183381833918340183411834218343183441834518346183471834818349183501835118352183531835418355183561835718358183591836018361183621836318364183651836618367183681836918370183711837218373183741837518376183771837818379183801838118382183831838418385183861838718388183891839018391183921839318394183951839618397183981839918400184011840218403184041840518406184071840818409184101841118412184131841418415184161841718418184191842018421184221842318424184251842618427184281842918430184311843218433184341843518436184371843818439184401844118442184431844418445184461844718448184491845018451184521845318454184551845618457184581845918460184611846218463184641846518466184671846818469184701847118472184731847418475184761847718478184791848018481184821848318484184851848618487184881848918490184911849218493184941849518496184971849818499185001850118502185031850418505185061850718508185091851018511185121851318514185151851618517185181851918520185211852218523185241852518526185271852818529185301853118532185331853418535185361853718538185391854018541185421854318544185451854618547185481854918550185511855218553185541855518556185571855818559185601856118562185631856418565185661856718568185691857018571185721857318574185751857618577185781857918580185811858218583185841858518586185871858818589185901859118592185931859418595185961859718598185991860018601186021860318604186051860618607186081860918610186111861218613186141861518616186171861818619186201862118622186231862418625186261862718628186291863018631186321863318634186351863618637186381863918640186411864218643186441864518646186471864818649186501865118652186531865418655186561865718658186591866018661186621866318664186651866618667186681866918670186711867218673186741867518676186771867818679186801868118682186831868418685186861868718688186891869018691186921869318694186951869618697186981869918700187011870218703187041870518706187071870818709187101871118712187131871418715187161871718718187191872018721187221872318724187251872618727187281872918730187311873218733187341873518736187371873818739187401874118742187431874418745187461874718748187491875018751187521875318754187551875618757187581875918760187611876218763187641876518766187671876818769187701877118772187731877418775187761877718778187791878018781187821878318784187851878618787187881878918790187911879218793187941879518796187971879818799188001880118802188031880418805188061880718808188091881018811188121881318814188151881618817188181881918820188211882218823188241882518826188271882818829188301883118832188331883418835188361883718838188391884018841188421884318844188451884618847188481884918850188511885218853188541885518856188571885818859188601886118862188631886418865188661886718868188691887018871188721887318874188751887618877188781887918880188811888218883188841888518886188871888818889188901889118892188931889418895188961889718898188991890018901189021890318904189051890618907189081890918910189111891218913189141891518916189171891818919189201892118922189231892418925189261892718928189291893018931189321893318934189351893618937189381893918940189411894218943189441894518946189471894818949189501895118952189531895418955189561895718958189591896018961189621896318964189651896618967189681896918970189711897218973189741897518976189771897818979189801898118982189831898418985189861898718988189891899018991189921899318994189951899618997189981899919000190011900219003190041900519006190071900819009190101901119012190131901419015190161901719018190191902019021190221902319024190251902619027190281902919030190311903219033190341903519036190371903819039190401904119042190431904419045190461904719048190491905019051190521905319054190551905619057190581905919060190611906219063190641906519066190671906819069190701907119072190731907419075190761907719078190791908019081190821908319084190851908619087190881908919090190911909219093190941909519096190971909819099191001910119102191031910419105191061910719108191091911019111191121911319114191151911619117191181911919120191211912219123191241912519126191271912819129191301913119132191331913419135191361913719138191391914019141191421914319144191451914619147191481914919150191511915219153191541915519156191571915819159191601916119162191631916419165191661916719168191691917019171191721917319174191751917619177191781917919180191811918219183191841918519186191871918819189191901919119192191931919419195191961919719198191991920019201192021920319204192051920619207192081920919210192111921219213192141921519216192171921819219192201922119222192231922419225192261922719228192291923019231192321923319234192351923619237192381923919240192411924219243192441924519246192471924819249192501925119252192531925419255192561925719258192591926019261192621926319264192651926619267192681926919270192711927219273192741927519276192771927819279192801928119282192831928419285192861928719288192891929019291192921929319294192951929619297192981929919300193011930219303193041930519306193071930819309193101931119312193131931419315193161931719318193191932019321193221932319324193251932619327193281932919330193311933219333193341933519336193371933819339193401934119342193431934419345193461934719348193491935019351193521935319354193551935619357193581935919360193611936219363193641936519366193671936819369193701937119372193731937419375193761937719378193791938019381193821938319384193851938619387193881938919390193911939219393193941939519396193971939819399194001940119402194031940419405194061940719408194091941019411194121941319414194151941619417194181941919420194211942219423194241942519426194271942819429194301943119432194331943419435194361943719438194391944019441194421944319444194451944619447194481944919450194511945219453194541945519456194571945819459194601946119462194631946419465194661946719468194691947019471194721947319474194751947619477194781947919480194811948219483194841948519486194871948819489194901949119492194931949419495194961949719498194991950019501195021950319504195051950619507195081950919510195111951219513195141951519516195171951819519195201952119522195231952419525195261952719528195291953019531195321953319534195351953619537195381953919540195411954219543195441954519546195471954819549195501955119552195531955419555195561955719558195591956019561195621956319564195651956619567195681956919570195711957219573195741957519576195771957819579195801958119582195831958419585195861958719588195891959019591195921959319594195951959619597195981959919600196011960219603196041960519606196071960819609196101961119612196131961419615196161961719618196191962019621196221962319624196251962619627196281962919630196311963219633196341963519636196371963819639196401964119642196431964419645196461964719648196491965019651196521965319654196551965619657196581965919660196611966219663196641966519666196671966819669196701967119672196731967419675196761967719678196791968019681196821968319684196851968619687196881968919690196911969219693196941969519696196971969819699197001970119702197031970419705197061970719708197091971019711197121971319714197151971619717197181971919720197211972219723197241972519726197271972819729197301973119732197331973419735197361973719738197391974019741197421974319744197451974619747197481974919750197511975219753197541975519756197571975819759197601976119762197631976419765197661976719768197691977019771197721977319774197751977619777197781977919780197811978219783197841978519786197871978819789197901979119792197931979419795197961979719798197991980019801198021980319804198051980619807198081980919810198111981219813198141981519816198171981819819198201982119822198231982419825198261982719828198291983019831198321983319834198351983619837198381983919840198411984219843198441984519846198471984819849198501985119852198531985419855198561985719858198591986019861198621986319864198651986619867198681986919870198711987219873198741987519876198771987819879198801988119882198831988419885198861988719888198891989019891198921989319894198951989619897198981989919900199011990219903199041990519906199071990819909199101991119912199131991419915199161991719918199191992019921199221992319924199251992619927199281992919930199311993219933199341993519936199371993819939199401994119942199431994419945199461994719948199491995019951199521995319954199551995619957199581995919960199611996219963199641996519966199671996819969199701997119972199731997419975199761997719978199791998019981199821998319984199851998619987199881998919990199911999219993199941999519996199971999819999200002000120002200032000420005200062000720008200092001020011200122001320014200152001620017200182001920020200212002220023200242002520026200272002820029200302003120032200332003420035200362003720038200392004020041200422004320044200452004620047200482004920050200512005220053200542005520056200572005820059200602006120062200632006420065200662006720068200692007020071200722007320074200752007620077200782007920080200812008220083200842008520086200872008820089200902009120092200932009420095200962009720098200992010020101201022010320104201052010620107201082010920110201112011220113201142011520116201172011820119201202012120122201232012420125201262012720128201292013020131201322013320134201352013620137201382013920140201412014220143201442014520146201472014820149201502015120152201532015420155201562015720158201592016020161201622016320164201652016620167201682016920170201712017220173201742017520176201772017820179201802018120182201832018420185201862018720188201892019020191201922019320194201952019620197201982019920200202012020220203202042020520206202072020820209202102021120212202132021420215202162021720218202192022020221202222022320224202252022620227202282022920230202312023220233202342023520236202372023820239202402024120242202432024420245202462024720248202492025020251202522025320254202552025620257202582025920260202612026220263202642026520266202672026820269202702027120272202732027420275202762027720278202792028020281202822028320284202852028620287202882028920290202912029220293202942029520296202972029820299203002030120302203032030420305203062030720308203092031020311203122031320314203152031620317203182031920320203212032220323203242032520326203272032820329203302033120332203332033420335203362033720338203392034020341203422034320344203452034620347203482034920350203512035220353203542035520356203572035820359203602036120362203632036420365203662036720368203692037020371203722037320374203752037620377203782037920380203812038220383203842038520386203872038820389203902039120392203932039420395203962039720398203992040020401204022040320404204052040620407204082040920410204112041220413204142041520416204172041820419204202042120422204232042420425204262042720428204292043020431204322043320434204352043620437204382043920440204412044220443204442044520446204472044820449204502045120452204532045420455204562045720458204592046020461204622046320464204652046620467204682046920470204712047220473204742047520476204772047820479204802048120482204832048420485204862048720488204892049020491204922049320494204952049620497204982049920500205012050220503205042050520506205072050820509205102051120512205132051420515205162051720518205192052020521205222052320524205252052620527205282052920530205312053220533205342053520536205372053820539205402054120542205432054420545205462054720548205492055020551205522055320554205552055620557205582055920560205612056220563205642056520566205672056820569205702057120572205732057420575205762057720578205792058020581205822058320584205852058620587205882058920590205912059220593205942059520596205972059820599206002060120602206032060420605206062060720608206092061020611206122061320614206152061620617206182061920620206212062220623206242062520626206272062820629206302063120632206332063420635206362063720638206392064020641206422064320644206452064620647206482064920650206512065220653206542065520656206572065820659206602066120662206632066420665206662066720668206692067020671206722067320674206752067620677206782067920680206812068220683206842068520686206872068820689206902069120692206932069420695206962069720698206992070020701207022070320704207052070620707207082070920710207112071220713207142071520716207172071820719207202072120722207232072420725207262072720728207292073020731207322073320734207352073620737207382073920740207412074220743207442074520746207472074820749207502075120752207532075420755207562075720758207592076020761207622076320764207652076620767207682076920770207712077220773207742077520776207772077820779207802078120782207832078420785207862078720788207892079020791207922079320794207952079620797207982079920800208012080220803208042080520806208072080820809208102081120812208132081420815208162081720818208192082020821208222082320824208252082620827208282082920830208312083220833208342083520836208372083820839208402084120842208432084420845208462084720848208492085020851208522085320854208552085620857208582085920860208612086220863208642086520866208672086820869208702087120872208732087420875208762087720878208792088020881208822088320884208852088620887208882088920890208912089220893208942089520896208972089820899209002090120902209032090420905209062090720908209092091020911209122091320914209152091620917209182091920920209212092220923209242092520926209272092820929209302093120932209332093420935209362093720938209392094020941209422094320944209452094620947209482094920950209512095220953209542095520956209572095820959209602096120962209632096420965209662096720968209692097020971209722097320974209752097620977209782097920980209812098220983209842098520986209872098820989209902099120992209932099420995209962099720998209992100021001210022100321004210052100621007210082100921010210112101221013210142101521016210172101821019210202102121022210232102421025210262102721028210292103021031210322103321034210352103621037210382103921040210412104221043210442104521046210472104821049210502105121052210532105421055210562105721058210592106021061210622106321064210652106621067210682106921070210712107221073210742107521076210772107821079210802108121082210832108421085210862108721088210892109021091210922109321094210952109621097210982109921100211012110221103211042110521106211072110821109211102111121112211132111421115211162111721118211192112021121211222112321124211252112621127211282112921130211312113221133211342113521136211372113821139211402114121142211432114421145211462114721148211492115021151211522115321154211552115621157211582115921160211612116221163211642116521166211672116821169211702117121172211732117421175211762117721178211792118021181211822118321184211852118621187211882118921190211912119221193211942119521196211972119821199212002120121202212032120421205212062120721208212092121021211212122121321214212152121621217212182121921220212212122221223212242122521226212272122821229212302123121232212332123421235212362123721238212392124021241212422124321244212452124621247212482124921250212512125221253212542125521256212572125821259212602126121262212632126421265212662126721268212692127021271212722127321274212752127621277212782127921280212812128221283212842128521286212872128821289212902129121292212932129421295212962129721298212992130021301213022130321304213052130621307213082130921310213112131221313213142131521316213172131821319213202132121322213232132421325213262132721328213292133021331213322133321334213352133621337213382133921340213412134221343213442134521346213472134821349213502135121352213532135421355213562135721358213592136021361213622136321364213652136621367213682136921370213712137221373213742137521376213772137821379213802138121382213832138421385213862138721388213892139021391213922139321394213952139621397213982139921400214012140221403214042140521406214072140821409214102141121412214132141421415214162141721418214192142021421214222142321424214252142621427214282142921430214312143221433214342143521436214372143821439214402144121442214432144421445214462144721448214492145021451214522145321454214552145621457214582145921460214612146221463214642146521466214672146821469214702147121472214732147421475214762147721478214792148021481214822148321484214852148621487214882148921490214912149221493214942149521496214972149821499215002150121502215032150421505215062150721508215092151021511215122151321514215152151621517215182151921520215212152221523215242152521526215272152821529215302153121532215332153421535215362153721538215392154021541215422154321544215452154621547215482154921550215512155221553215542155521556215572155821559215602156121562215632156421565215662156721568215692157021571215722157321574215752157621577215782157921580215812158221583215842158521586215872158821589215902159121592215932159421595215962159721598215992160021601216022160321604216052160621607216082160921610216112161221613216142161521616216172161821619216202162121622216232162421625216262162721628216292163021631216322163321634216352163621637216382163921640216412164221643216442164521646216472164821649216502165121652216532165421655216562165721658216592166021661216622166321664216652166621667216682166921670216712167221673216742167521676216772167821679216802168121682216832168421685216862168721688216892169021691216922169321694216952169621697216982169921700217012170221703217042170521706217072170821709217102171121712217132171421715217162171721718217192172021721217222172321724217252172621727217282172921730217312173221733217342173521736217372173821739217402174121742217432174421745217462174721748217492175021751217522175321754217552175621757217582175921760217612176221763217642176521766217672176821769217702177121772217732177421775217762177721778217792178021781217822178321784217852178621787217882178921790217912179221793217942179521796217972179821799218002180121802218032180421805218062180721808218092181021811218122181321814218152181621817218182181921820218212182221823218242182521826218272182821829218302183121832218332183421835218362183721838218392184021841218422184321844218452184621847218482184921850218512185221853218542185521856218572185821859218602186121862218632186421865218662186721868218692187021871218722187321874218752187621877218782187921880218812188221883218842188521886218872188821889218902189121892218932189421895218962189721898218992190021901219022190321904219052190621907219082190921910219112191221913219142191521916219172191821919219202192121922219232192421925219262192721928219292193021931219322193321934219352193621937219382193921940219412194221943219442194521946219472194821949219502195121952219532195421955219562195721958219592196021961219622196321964219652196621967219682196921970219712197221973219742197521976219772197821979219802198121982219832198421985219862198721988219892199021991219922199321994219952199621997219982199922000220012200222003220042200522006220072200822009220102201122012220132201422015220162201722018220192202022021220222202322024220252202622027220282202922030220312203222033220342203522036220372203822039220402204122042220432204422045220462204722048220492205022051220522205322054220552205622057220582205922060220612206222063220642206522066220672206822069220702207122072220732207422075220762207722078220792208022081220822208322084220852208622087220882208922090220912209222093220942209522096220972209822099221002210122102221032210422105221062210722108221092211022111221122211322114221152211622117221182211922120221212212222123221242212522126221272212822129221302213122132221332213422135221362213722138221392214022141221422214322144221452214622147221482214922150221512215222153221542215522156221572215822159221602216122162221632216422165221662216722168221692217022171221722217322174221752217622177221782217922180221812218222183221842218522186221872218822189221902219122192221932219422195221962219722198221992220022201222022220322204222052220622207222082220922210222112221222213222142221522216222172221822219222202222122222222232222422225222262222722228222292223022231222322223322234222352223622237222382223922240222412224222243222442224522246222472224822249222502225122252222532225422255222562225722258222592226022261222622226322264222652226622267222682226922270222712227222273222742227522276222772227822279222802228122282222832228422285222862228722288222892229022291222922229322294222952229622297222982229922300223012230222303223042230522306223072230822309223102231122312223132231422315223162231722318223192232022321223222232322324223252232622327223282232922330223312233222333223342233522336223372233822339223402234122342223432234422345223462234722348223492235022351223522235322354223552235622357223582235922360223612236222363223642236522366223672236822369223702237122372223732237422375223762237722378223792238022381223822238322384223852238622387223882238922390223912239222393223942239522396223972239822399224002240122402224032240422405224062240722408224092241022411224122241322414224152241622417224182241922420224212242222423224242242522426224272242822429224302243122432224332243422435224362243722438224392244022441224422244322444224452244622447224482244922450224512245222453224542245522456224572245822459224602246122462224632246422465224662246722468224692247022471224722247322474224752247622477224782247922480224812248222483224842248522486224872248822489224902249122492224932249422495224962249722498224992250022501225022250322504225052250622507225082250922510225112251222513225142251522516225172251822519225202252122522225232252422525225262252722528225292253022531225322253322534225352253622537225382253922540225412254222543225442254522546225472254822549225502255122552225532255422555225562255722558225592256022561225622256322564225652256622567225682256922570225712257222573225742257522576225772257822579225802258122582225832258422585225862258722588225892259022591225922259322594225952259622597225982259922600226012260222603226042260522606226072260822609226102261122612226132261422615226162261722618226192262022621226222262322624226252262622627226282262922630226312263222633226342263522636226372263822639226402264122642226432264422645226462264722648226492265022651226522265322654226552265622657226582265922660226612266222663226642266522666226672266822669226702267122672226732267422675226762267722678226792268022681226822268322684226852268622687226882268922690226912269222693226942269522696226972269822699227002270122702227032270422705227062270722708227092271022711227122271322714227152271622717227182271922720227212272222723227242272522726227272272822729227302273122732227332273422735227362273722738227392274022741227422274322744227452274622747227482274922750227512275222753227542275522756227572275822759227602276122762227632276422765227662276722768227692277022771227722277322774227752277622777227782277922780227812278222783227842278522786227872278822789227902279122792227932279422795227962279722798227992280022801228022280322804228052280622807228082280922810228112281222813228142281522816228172281822819228202282122822228232282422825228262282722828228292283022831228322283322834228352283622837228382283922840228412284222843228442284522846228472284822849228502285122852228532285422855228562285722858228592286022861228622286322864228652286622867228682286922870228712287222873228742287522876228772287822879228802288122882228832288422885228862288722888228892289022891228922289322894228952289622897228982289922900229012290222903229042290522906229072290822909229102291122912229132291422915229162291722918229192292022921229222292322924229252292622927229282292922930229312293222933229342293522936229372293822939229402294122942229432294422945229462294722948229492295022951229522295322954229552295622957229582295922960229612296222963229642296522966229672296822969229702297122972229732297422975229762297722978229792298022981229822298322984229852298622987229882298922990229912299222993229942299522996229972299822999230002300123002230032300423005230062300723008230092301023011230122301323014230152301623017230182301923020230212302223023230242302523026230272302823029230302303123032230332303423035230362303723038230392304023041230422304323044230452304623047230482304923050230512305223053230542305523056230572305823059230602306123062230632306423065230662306723068230692307023071230722307323074230752307623077230782307923080230812308223083230842308523086230872308823089230902309123092230932309423095230962309723098230992310023101231022310323104231052310623107231082310923110231112311223113231142311523116231172311823119231202312123122231232312423125231262312723128231292313023131231322313323134231352313623137231382313923140231412314223143231442314523146231472314823149231502315123152231532315423155231562315723158231592316023161231622316323164231652316623167231682316923170231712317223173231742317523176231772317823179231802318123182231832318423185231862318723188231892319023191231922319323194231952319623197231982319923200232012320223203232042320523206232072320823209232102321123212232132321423215232162321723218232192322023221232222322323224232252322623227232282322923230232312323223233232342323523236232372323823239232402324123242232432324423245232462324723248232492325023251232522325323254232552325623257232582325923260232612326223263232642326523266232672326823269232702327123272232732327423275232762327723278232792328023281232822328323284232852328623287232882328923290232912329223293232942329523296232972329823299233002330123302233032330423305233062330723308233092331023311233122331323314233152331623317233182331923320233212332223323233242332523326233272332823329233302333123332233332333423335233362333723338233392334023341233422334323344233452334623347233482334923350233512335223353233542335523356233572335823359233602336123362233632336423365233662336723368233692337023371233722337323374233752337623377233782337923380233812338223383233842338523386233872338823389233902339123392233932339423395233962339723398233992340023401234022340323404234052340623407234082340923410234112341223413234142341523416234172341823419234202342123422234232342423425234262342723428234292343023431234322343323434234352343623437234382343923440234412344223443234442344523446234472344823449234502345123452234532345423455234562345723458234592346023461234622346323464234652346623467234682346923470234712347223473234742347523476234772347823479234802348123482234832348423485234862348723488234892349023491234922349323494234952349623497234982349923500235012350223503235042350523506235072350823509235102351123512235132351423515235162351723518235192352023521235222352323524235252352623527235282352923530235312353223533235342353523536235372353823539235402354123542235432354423545235462354723548235492355023551235522355323554235552355623557235582355923560235612356223563235642356523566235672356823569235702357123572235732357423575235762357723578235792358023581235822358323584235852358623587235882358923590235912359223593235942359523596235972359823599236002360123602236032360423605236062360723608236092361023611236122361323614236152361623617236182361923620236212362223623236242362523626236272362823629236302363123632236332363423635236362363723638236392364023641236422364323644236452364623647236482364923650236512365223653236542365523656236572365823659236602366123662236632366423665236662366723668236692367023671236722367323674236752367623677236782367923680236812368223683236842368523686236872368823689236902369123692236932369423695236962369723698236992370023701237022370323704237052370623707237082370923710237112371223713237142371523716237172371823719237202372123722237232372423725237262372723728237292373023731237322373323734237352373623737237382373923740237412374223743237442374523746237472374823749237502375123752237532375423755237562375723758237592376023761237622376323764237652376623767237682376923770237712377223773237742377523776237772377823779237802378123782237832378423785237862378723788237892379023791237922379323794237952379623797237982379923800238012380223803238042380523806238072380823809238102381123812238132381423815238162381723818238192382023821238222382323824238252382623827238282382923830238312383223833238342383523836238372383823839238402384123842238432384423845238462384723848238492385023851238522385323854238552385623857238582385923860238612386223863238642386523866238672386823869238702387123872238732387423875238762387723878238792388023881238822388323884238852388623887238882388923890238912389223893238942389523896238972389823899239002390123902239032390423905239062390723908239092391023911239122391323914239152391623917239182391923920239212392223923239242392523926239272392823929239302393123932239332393423935239362393723938239392394023941239422394323944239452394623947239482394923950239512395223953239542395523956239572395823959239602396123962239632396423965239662396723968239692397023971239722397323974239752397623977239782397923980239812398223983239842398523986239872398823989239902399123992239932399423995239962399723998239992400024001240022400324004240052400624007240082400924010240112401224013240142401524016240172401824019240202402124022240232402424025240262402724028240292403024031240322403324034240352403624037240382403924040240412404224043240442404524046240472404824049240502405124052240532405424055240562405724058240592406024061240622406324064240652406624067240682406924070240712407224073240742407524076240772407824079240802408124082240832408424085240862408724088240892409024091240922409324094240952409624097240982409924100241012410224103241042410524106241072410824109241102411124112241132411424115241162411724118241192412024121241222412324124241252412624127241282412924130241312413224133241342413524136241372413824139241402414124142241432414424145241462414724148241492415024151241522415324154241552415624157241582415924160241612416224163241642416524166241672416824169241702417124172241732417424175241762417724178241792418024181241822418324184241852418624187241882418924190241912419224193241942419524196241972419824199242002420124202242032420424205242062420724208242092421024211242122421324214242152421624217242182421924220242212422224223242242422524226242272422824229242302423124232242332423424235242362423724238242392424024241242422424324244242452424624247242482424924250242512425224253242542425524256242572425824259242602426124262242632426424265242662426724268242692427024271242722427324274242752427624277242782427924280242812428224283242842428524286242872428824289242902429124292242932429424295242962429724298242992430024301243022430324304243052430624307243082430924310243112431224313243142431524316243172431824319243202432124322243232432424325243262432724328243292433024331243322433324334243352433624337243382433924340243412434224343243442434524346243472434824349243502435124352243532435424355243562435724358243592436024361243622436324364243652436624367243682436924370243712437224373243742437524376243772437824379243802438124382243832438424385243862438724388243892439024391243922439324394243952439624397243982439924400244012440224403244042440524406244072440824409244102441124412244132441424415244162441724418244192442024421244222442324424244252442624427244282442924430244312443224433244342443524436244372443824439244402444124442244432444424445244462444724448244492445024451244522445324454244552445624457244582445924460244612446224463244642446524466244672446824469244702447124472244732447424475244762447724478244792448024481244822448324484244852448624487244882448924490244912449224493244942449524496244972449824499245002450124502245032450424505245062450724508245092451024511245122451324514245152451624517245182451924520245212452224523245242452524526245272452824529245302453124532245332453424535245362453724538245392454024541245422454324544245452454624547245482454924550245512455224553245542455524556245572455824559245602456124562245632456424565245662456724568245692457024571245722457324574245752457624577245782457924580245812458224583245842458524586245872458824589245902459124592245932459424595245962459724598245992460024601246022460324604246052460624607246082460924610246112461224613246142461524616246172461824619246202462124622246232462424625246262462724628246292463024631246322463324634246352463624637246382463924640246412464224643246442464524646246472464824649246502465124652246532465424655246562465724658246592466024661246622466324664246652466624667246682466924670246712467224673246742467524676246772467824679246802468124682246832468424685246862468724688246892469024691246922469324694246952469624697246982469924700247012470224703247042470524706247072470824709247102471124712247132471424715247162471724718247192472024721247222472324724247252472624727247282472924730247312473224733247342473524736247372473824739247402474124742247432474424745247462474724748247492475024751247522475324754247552475624757247582475924760247612476224763247642476524766247672476824769247702477124772247732477424775247762477724778247792478024781247822478324784247852478624787247882478924790247912479224793247942479524796247972479824799248002480124802248032480424805248062480724808248092481024811248122481324814248152481624817248182481924820248212482224823248242482524826248272482824829248302483124832248332483424835248362483724838248392484024841248422484324844248452484624847248482484924850248512485224853248542485524856248572485824859248602486124862248632486424865248662486724868248692487024871248722487324874248752487624877248782487924880248812488224883248842488524886248872488824889248902489124892248932489424895248962489724898248992490024901249022490324904249052490624907249082490924910249112491224913249142491524916249172491824919249202492124922249232492424925249262492724928249292493024931249322493324934249352493624937249382493924940249412494224943249442494524946249472494824949249502495124952249532495424955249562495724958249592496024961249622496324964249652496624967249682496924970249712497224973249742497524976249772497824979249802498124982249832498424985249862498724988249892499024991249922499324994249952499624997249982499925000250012500225003250042500525006250072500825009250102501125012250132501425015250162501725018250192502025021250222502325024250252502625027250282502925030250312503225033250342503525036250372503825039250402504125042250432504425045250462504725048250492505025051250522505325054250552505625057250582505925060250612506225063250642506525066250672506825069250702507125072250732507425075250762507725078250792508025081250822508325084250852508625087250882508925090250912509225093250942509525096250972509825099251002510125102251032510425105251062510725108251092511025111251122511325114251152511625117251182511925120251212512225123251242512525126251272512825129251302513125132251332513425135251362513725138251392514025141251422514325144251452514625147251482514925150251512515225153251542515525156251572515825159251602516125162251632516425165251662516725168251692517025171251722517325174251752517625177251782517925180251812518225183251842518525186251872518825189251902519125192251932519425195251962519725198251992520025201252022520325204252052520625207252082520925210252112521225213252142521525216252172521825219252202522125222252232522425225252262522725228252292523025231252322523325234252352523625237252382523925240252412524225243252442524525246252472524825249252502525125252252532525425255252562525725258252592526025261252622526325264252652526625267252682526925270252712527225273252742527525276252772527825279252802528125282252832528425285252862528725288252892529025291252922529325294252952529625297252982529925300253012530225303253042530525306253072530825309253102531125312253132531425315253162531725318253192532025321253222532325324253252532625327253282532925330253312533225333253342533525336253372533825339253402534125342253432534425345253462534725348253492535025351253522535325354253552535625357253582535925360253612536225363253642536525366253672536825369253702537125372253732537425375253762537725378253792538025381253822538325384253852538625387253882538925390253912539225393253942539525396253972539825399254002540125402254032540425405254062540725408254092541025411254122541325414254152541625417254182541925420254212542225423254242542525426254272542825429254302543125432254332543425435254362543725438254392544025441254422544325444254452544625447254482544925450254512545225453254542545525456254572545825459254602546125462254632546425465254662546725468254692547025471254722547325474254752547625477254782547925480254812548225483254842548525486254872548825489254902549125492254932549425495254962549725498254992550025501255022550325504255052550625507255082550925510255112551225513255142551525516255172551825519255202552125522255232552425525255262552725528255292553025531255322553325534255352553625537255382553925540255412554225543255442554525546255472554825549255502555125552255532555425555255562555725558255592556025561255622556325564255652556625567255682556925570255712557225573255742557525576255772557825579255802558125582255832558425585255862558725588255892559025591255922559325594255952559625597255982559925600256012560225603256042560525606256072560825609256102561125612256132561425615256162561725618256192562025621256222562325624256252562625627256282562925630256312563225633256342563525636256372563825639256402564125642256432564425645256462564725648256492565025651256522565325654256552565625657256582565925660256612566225663256642566525666256672566825669256702567125672256732567425675256762567725678256792568025681256822568325684256852568625687256882568925690256912569225693256942569525696256972569825699257002570125702257032570425705257062570725708257092571025711257122571325714257152571625717257182571925720257212572225723257242572525726257272572825729257302573125732257332573425735257362573725738257392574025741257422574325744257452574625747257482574925750257512575225753257542575525756257572575825759257602576125762257632576425765257662576725768257692577025771257722577325774257752577625777257782577925780257812578225783257842578525786257872578825789257902579125792257932579425795257962579725798257992580025801258022580325804258052580625807258082580925810258112581225813258142581525816258172581825819258202582125822258232582425825258262582725828258292583025831258322583325834258352583625837258382583925840258412584225843258442584525846258472584825849258502585125852258532585425855258562585725858258592586025861258622586325864258652586625867258682586925870258712587225873258742587525876258772587825879258802588125882258832588425885258862588725888258892589025891258922589325894258952589625897258982589925900259012590225903259042590525906259072590825909259102591125912259132591425915259162591725918259192592025921259222592325924259252592625927259282592925930259312593225933259342593525936259372593825939259402594125942259432594425945259462594725948259492595025951259522595325954259552595625957259582595925960259612596225963259642596525966259672596825969259702597125972259732597425975259762597725978259792598025981259822598325984259852598625987259882598925990259912599225993259942599525996259972599825999260002600126002260032600426005260062600726008260092601026011260122601326014260152601626017260182601926020260212602226023260242602526026260272602826029260302603126032260332603426035260362603726038260392604026041260422604326044260452604626047260482604926050260512605226053260542605526056260572605826059260602606126062260632606426065260662606726068260692607026071260722607326074260752607626077260782607926080260812608226083260842608526086260872608826089260902609126092260932609426095260962609726098260992610026101261022610326104261052610626107261082610926110261112611226113261142611526116261172611826119261202612126122261232612426125261262612726128261292613026131261322613326134261352613626137261382613926140261412614226143261442614526146261472614826149261502615126152261532615426155261562615726158261592616026161261622616326164261652616626167261682616926170261712617226173261742617526176261772617826179261802618126182261832618426185261862618726188261892619026191261922619326194261952619626197261982619926200262012620226203262042620526206262072620826209262102621126212262132621426215262162621726218262192622026221262222622326224262252622626227262282622926230262312623226233262342623526236262372623826239262402624126242262432624426245262462624726248262492625026251262522625326254262552625626257262582625926260262612626226263262642626526266262672626826269262702627126272262732627426275262762627726278262792628026281262822628326284262852628626287262882628926290262912629226293262942629526296262972629826299263002630126302263032630426305263062630726308263092631026311263122631326314263152631626317263182631926320263212632226323263242632526326263272632826329263302633126332263332633426335263362633726338263392634026341263422634326344263452634626347263482634926350263512635226353263542635526356263572635826359263602636126362263632636426365263662636726368263692637026371263722637326374263752637626377263782637926380263812638226383263842638526386263872638826389263902639126392263932639426395263962639726398263992640026401264022640326404264052640626407264082640926410264112641226413264142641526416264172641826419264202642126422264232642426425264262642726428264292643026431264322643326434264352643626437264382643926440264412644226443264442644526446264472644826449264502645126452264532645426455264562645726458264592646026461264622646326464264652646626467264682646926470264712647226473264742647526476264772647826479264802648126482264832648426485264862648726488264892649026491264922649326494264952649626497264982649926500265012650226503265042650526506265072650826509265102651126512265132651426515265162651726518265192652026521265222652326524265252652626527265282652926530265312653226533265342653526536265372653826539265402654126542265432654426545265462654726548265492655026551265522655326554265552655626557265582655926560265612656226563265642656526566265672656826569265702657126572265732657426575265762657726578265792658026581265822658326584265852658626587265882658926590265912659226593265942659526596265972659826599266002660126602266032660426605266062660726608266092661026611266122661326614266152661626617266182661926620266212662226623266242662526626266272662826629266302663126632266332663426635266362663726638266392664026641266422664326644266452664626647266482664926650266512665226653266542665526656266572665826659266602666126662266632666426665266662666726668266692667026671266722667326674266752667626677266782667926680266812668226683266842668526686266872668826689266902669126692266932669426695266962669726698266992670026701267022670326704267052670626707267082670926710267112671226713267142671526716267172671826719267202672126722267232672426725267262672726728267292673026731267322673326734267352673626737267382673926740267412674226743267442674526746267472674826749267502675126752267532675426755267562675726758267592676026761267622676326764267652676626767267682676926770267712677226773267742677526776267772677826779267802678126782267832678426785267862678726788267892679026791267922679326794267952679626797267982679926800268012680226803268042680526806268072680826809268102681126812268132681426815268162681726818268192682026821268222682326824268252682626827268282682926830268312683226833268342683526836268372683826839268402684126842268432684426845268462684726848268492685026851268522685326854268552685626857268582685926860268612686226863268642686526866268672686826869268702687126872268732687426875268762687726878268792688026881268822688326884268852688626887268882688926890268912689226893268942689526896268972689826899269002690126902269032690426905269062690726908269092691026911269122691326914269152691626917269182691926920269212692226923269242692526926269272692826929269302693126932269332693426935269362693726938269392694026941269422694326944269452694626947269482694926950269512695226953269542695526956269572695826959269602696126962269632696426965269662696726968269692697026971269722697326974269752697626977269782697926980269812698226983269842698526986269872698826989269902699126992269932699426995269962699726998269992700027001270022700327004270052700627007270082700927010270112701227013270142701527016270172701827019270202702127022270232702427025270262702727028270292703027031270322703327034270352703627037270382703927040270412704227043270442704527046270472704827049270502705127052270532705427055270562705727058270592706027061270622706327064270652706627067270682706927070270712707227073270742707527076270772707827079270802708127082270832708427085270862708727088270892709027091270922709327094270952709627097270982709927100271012710227103271042710527106271072710827109271102711127112271132711427115271162711727118271192712027121271222712327124271252712627127271282712927130271312713227133271342713527136271372713827139271402714127142271432714427145271462714727148271492715027151271522715327154271552715627157271582715927160271612716227163271642716527166271672716827169271702717127172271732717427175271762717727178271792718027181271822718327184271852718627187271882718927190271912719227193271942719527196271972719827199272002720127202272032720427205272062720727208272092721027211272122721327214272152721627217272182721927220272212722227223272242722527226272272722827229272302723127232272332723427235272362723727238272392724027241272422724327244272452724627247272482724927250272512725227253272542725527256272572725827259272602726127262272632726427265272662726727268272692727027271272722727327274272752727627277272782727927280272812728227283272842728527286272872728827289272902729127292272932729427295272962729727298272992730027301273022730327304273052730627307273082730927310273112731227313273142731527316273172731827319273202732127322273232732427325273262732727328273292733027331273322733327334273352733627337273382733927340273412734227343273442734527346273472734827349273502735127352273532735427355273562735727358273592736027361273622736327364273652736627367273682736927370273712737227373273742737527376273772737827379273802738127382273832738427385273862738727388273892739027391273922739327394273952739627397273982739927400274012740227403274042740527406274072740827409274102741127412274132741427415274162741727418274192742027421274222742327424274252742627427274282742927430274312743227433274342743527436274372743827439274402744127442274432744427445274462744727448274492745027451274522745327454274552745627457274582745927460274612746227463274642746527466274672746827469274702747127472274732747427475274762747727478274792748027481274822748327484274852748627487274882748927490274912749227493274942749527496274972749827499275002750127502275032750427505275062750727508275092751027511275122751327514275152751627517275182751927520275212752227523275242752527526275272752827529275302753127532275332753427535275362753727538275392754027541275422754327544275452754627547275482754927550275512755227553275542755527556275572755827559275602756127562275632756427565275662756727568275692757027571275722757327574275752757627577275782757927580275812758227583275842758527586275872758827589275902759127592275932759427595275962759727598275992760027601276022760327604276052760627607276082760927610276112761227613276142761527616276172761827619276202762127622276232762427625276262762727628276292763027631276322763327634276352763627637276382763927640276412764227643276442764527646276472764827649276502765127652276532765427655276562765727658276592766027661276622766327664276652766627667276682766927670276712767227673276742767527676276772767827679276802768127682276832768427685276862768727688276892769027691276922769327694276952769627697276982769927700277012770227703277042770527706277072770827709277102771127712277132771427715277162771727718277192772027721277222772327724277252772627727277282772927730277312773227733277342773527736277372773827739277402774127742277432774427745277462774727748277492775027751277522775327754277552775627757277582775927760277612776227763277642776527766277672776827769277702777127772277732777427775277762777727778277792778027781277822778327784277852778627787277882778927790277912779227793277942779527796277972779827799278002780127802278032780427805278062780727808278092781027811278122781327814278152781627817278182781927820278212782227823278242782527826278272782827829278302783127832278332783427835278362783727838278392784027841278422784327844278452784627847278482784927850278512785227853278542785527856278572785827859278602786127862278632786427865278662786727868278692787027871278722787327874278752787627877278782787927880278812788227883278842788527886278872788827889278902789127892278932789427895278962789727898278992790027901279022790327904279052790627907279082790927910279112791227913279142791527916279172791827919279202792127922279232792427925279262792727928279292793027931279322793327934279352793627937279382793927940279412794227943279442794527946279472794827949279502795127952279532795427955279562795727958279592796027961279622796327964279652796627967279682796927970279712797227973279742797527976279772797827979279802798127982279832798427985279862798727988279892799027991279922799327994279952799627997279982799928000280012800228003280042800528006280072800828009280102801128012280132801428015280162801728018280192802028021280222802328024280252802628027280282802928030280312803228033280342803528036280372803828039280402804128042280432804428045280462804728048280492805028051280522805328054280552805628057280582805928060280612806228063280642806528066280672806828069280702807128072280732807428075280762807728078280792808028081280822808328084280852808628087280882808928090280912809228093280942809528096280972809828099281002810128102281032810428105281062810728108281092811028111281122811328114281152811628117281182811928120281212812228123281242812528126281272812828129281302813128132281332813428135281362813728138281392814028141281422814328144281452814628147281482814928150281512815228153281542815528156281572815828159281602816128162281632816428165281662816728168281692817028171281722817328174281752817628177281782817928180281812818228183281842818528186281872818828189281902819128192281932819428195281962819728198281992820028201282022820328204282052820628207282082820928210282112821228213282142821528216282172821828219282202822128222282232822428225282262822728228282292823028231282322823328234282352823628237282382823928240282412824228243282442824528246282472824828249282502825128252282532825428255282562825728258282592826028261282622826328264282652826628267282682826928270282712827228273282742827528276282772827828279282802828128282282832828428285282862828728288282892829028291282922829328294282952829628297282982829928300283012830228303283042830528306283072830828309283102831128312283132831428315283162831728318283192832028321283222832328324283252832628327283282832928330283312833228333283342833528336283372833828339283402834128342283432834428345283462834728348283492835028351283522835328354283552835628357283582835928360283612836228363283642836528366283672836828369283702837128372283732837428375283762837728378283792838028381283822838328384283852838628387283882838928390283912839228393283942839528396283972839828399284002840128402284032840428405284062840728408284092841028411284122841328414284152841628417284182841928420284212842228423284242842528426284272842828429284302843128432284332843428435284362843728438284392844028441284422844328444284452844628447284482844928450284512845228453284542845528456284572845828459284602846128462284632846428465284662846728468284692847028471284722847328474284752847628477284782847928480284812848228483284842848528486284872848828489284902849128492284932849428495284962849728498284992850028501285022850328504285052850628507285082850928510285112851228513285142851528516285172851828519285202852128522285232852428525285262852728528285292853028531285322853328534285352853628537285382853928540285412854228543285442854528546285472854828549285502855128552285532855428555285562855728558285592856028561285622856328564285652856628567285682856928570285712857228573285742857528576285772857828579285802858128582285832858428585285862858728588285892859028591285922859328594285952859628597285982859928600286012860228603286042860528606286072860828609286102861128612286132861428615286162861728618286192862028621286222862328624286252862628627286282862928630286312863228633286342863528636286372863828639286402864128642286432864428645286462864728648286492865028651286522865328654286552865628657286582865928660286612866228663286642866528666286672866828669286702867128672286732867428675286762867728678286792868028681286822868328684286852868628687286882868928690286912869228693286942869528696286972869828699287002870128702287032870428705287062870728708287092871028711287122871328714287152871628717287182871928720287212872228723287242872528726287272872828729287302873128732287332873428735287362873728738287392874028741287422874328744287452874628747287482874928750287512875228753287542875528756287572875828759287602876128762287632876428765287662876728768287692877028771287722877328774287752877628777287782877928780287812878228783287842878528786287872878828789287902879128792287932879428795287962879728798287992880028801288022880328804288052880628807288082880928810288112881228813288142881528816288172881828819288202882128822288232882428825288262882728828288292883028831288322883328834288352883628837288382883928840288412884228843288442884528846288472884828849288502885128852288532885428855288562885728858288592886028861288622886328864288652886628867288682886928870288712887228873288742887528876288772887828879288802888128882288832888428885288862888728888288892889028891288922889328894288952889628897288982889928900289012890228903289042890528906289072890828909289102891128912289132891428915289162891728918289192892028921289222892328924289252892628927289282892928930289312893228933289342893528936289372893828939289402894128942289432894428945289462894728948289492895028951289522895328954289552895628957289582895928960289612896228963289642896528966289672896828969289702897128972289732897428975289762897728978289792898028981289822898328984289852898628987289882898928990289912899228993289942899528996289972899828999290002900129002290032900429005290062900729008290092901029011290122901329014290152901629017290182901929020290212902229023290242902529026290272902829029290302903129032290332903429035290362903729038290392904029041290422904329044290452904629047290482904929050290512905229053290542905529056290572905829059290602906129062290632906429065290662906729068290692907029071290722907329074290752907629077290782907929080290812908229083290842908529086290872908829089290902909129092290932909429095290962909729098290992910029101291022910329104291052910629107291082910929110291112911229113291142911529116291172911829119291202912129122291232912429125291262912729128291292913029131291322913329134291352913629137291382913929140291412914229143291442914529146291472914829149291502915129152291532915429155291562915729158291592916029161291622916329164291652916629167291682916929170291712917229173291742917529176291772917829179291802918129182291832918429185291862918729188291892919029191291922919329194291952919629197291982919929200292012920229203292042920529206292072920829209292102921129212292132921429215292162921729218292192922029221292222922329224292252922629227292282922929230292312923229233292342923529236292372923829239292402924129242292432924429245292462924729248292492925029251292522925329254292552925629257292582925929260292612926229263292642926529266292672926829269292702927129272292732927429275292762927729278292792928029281292822928329284292852928629287292882928929290292912929229293292942929529296292972929829299293002930129302293032930429305293062930729308293092931029311293122931329314293152931629317293182931929320293212932229323293242932529326293272932829329293302933129332293332933429335293362933729338293392934029341293422934329344293452934629347293482934929350293512935229353293542935529356293572935829359293602936129362293632936429365293662936729368293692937029371293722937329374293752937629377293782937929380293812938229383293842938529386293872938829389293902939129392293932939429395293962939729398293992940029401294022940329404294052940629407294082940929410294112941229413294142941529416294172941829419294202942129422294232942429425294262942729428294292943029431294322943329434294352943629437294382943929440294412944229443294442944529446294472944829449294502945129452294532945429455294562945729458294592946029461294622946329464294652946629467294682946929470294712947229473294742947529476294772947829479294802948129482294832948429485294862948729488294892949029491294922949329494294952949629497294982949929500295012950229503295042950529506295072950829509295102951129512295132951429515295162951729518295192952029521295222952329524295252952629527295282952929530295312953229533295342953529536295372953829539295402954129542295432954429545295462954729548295492955029551295522955329554295552955629557295582955929560295612956229563295642956529566295672956829569295702957129572295732957429575295762957729578295792958029581295822958329584295852958629587295882958929590295912959229593295942959529596295972959829599296002960129602296032960429605296062960729608296092961029611296122961329614296152961629617296182961929620296212962229623296242962529626296272962829629296302963129632296332963429635296362963729638296392964029641296422964329644296452964629647296482964929650296512965229653296542965529656296572965829659296602966129662296632966429665296662966729668296692967029671296722967329674296752967629677296782967929680296812968229683296842968529686296872968829689296902969129692296932969429695296962969729698296992970029701297022970329704297052970629707297082970929710297112971229713297142971529716297172971829719297202972129722297232972429725297262972729728297292973029731297322973329734297352973629737297382973929740297412974229743297442974529746297472974829749297502975129752297532975429755297562975729758297592976029761297622976329764297652976629767297682976929770297712977229773297742977529776297772977829779297802978129782297832978429785297862978729788297892979029791297922979329794297952979629797297982979929800298012980229803298042980529806298072980829809298102981129812298132981429815298162981729818298192982029821298222982329824298252982629827298282982929830298312983229833298342983529836298372983829839298402984129842298432984429845298462984729848298492985029851298522985329854298552985629857298582985929860298612986229863298642986529866298672986829869298702987129872298732987429875298762987729878298792988029881298822988329884298852988629887298882988929890298912989229893298942989529896298972989829899299002990129902299032990429905299062990729908299092991029911299122991329914299152991629917299182991929920299212992229923299242992529926299272992829929299302993129932299332993429935299362993729938299392994029941299422994329944299452994629947299482994929950299512995229953299542995529956299572995829959299602996129962299632996429965299662996729968299692997029971299722997329974299752997629977299782997929980299812998229983299842998529986299872998829989299902999129992299932999429995299962999729998299993000030001300023000330004300053000630007300083000930010300113001230013300143001530016300173001830019300203002130022300233002430025300263002730028300293003030031300323003330034300353003630037300383003930040300413004230043300443004530046300473004830049300503005130052300533005430055300563005730058300593006030061300623006330064300653006630067300683006930070300713007230073300743007530076300773007830079300803008130082300833008430085300863008730088300893009030091300923009330094300953009630097300983009930100301013010230103301043010530106301073010830109301103011130112301133011430115301163011730118301193012030121301223012330124301253012630127301283012930130301313013230133301343013530136301373013830139301403014130142301433014430145301463014730148301493015030151301523015330154301553015630157301583015930160301613016230163301643016530166301673016830169301703017130172301733017430175301763017730178301793018030181301823018330184301853018630187301883018930190301913019230193301943019530196301973019830199302003020130202302033020430205302063020730208302093021030211302123021330214302153021630217302183021930220302213022230223302243022530226302273022830229302303023130232302333023430235302363023730238302393024030241302423024330244302453024630247302483024930250302513025230253302543025530256302573025830259302603026130262302633026430265302663026730268302693027030271302723027330274302753027630277302783027930280302813028230283302843028530286302873028830289302903029130292302933029430295302963029730298302993030030301303023030330304303053030630307303083030930310303113031230313303143031530316303173031830319303203032130322303233032430325303263032730328303293033030331303323033330334303353033630337303383033930340303413034230343303443034530346303473034830349303503035130352303533035430355303563035730358303593036030361303623036330364303653036630367303683036930370303713037230373303743037530376303773037830379303803038130382303833038430385303863038730388303893039030391303923039330394303953039630397303983039930400304013040230403304043040530406304073040830409304103041130412304133041430415304163041730418304193042030421304223042330424304253042630427304283042930430304313043230433304343043530436304373043830439304403044130442304433044430445304463044730448304493045030451304523045330454304553045630457304583045930460304613046230463304643046530466304673046830469304703047130472304733047430475304763047730478304793048030481304823048330484304853048630487304883048930490304913049230493304943049530496304973049830499305003050130502305033050430505305063050730508305093051030511305123051330514305153051630517305183051930520305213052230523305243052530526305273052830529305303053130532305333053430535305363053730538305393054030541305423054330544305453054630547305483054930550305513055230553305543055530556305573055830559305603056130562305633056430565305663056730568305693057030571305723057330574305753057630577305783057930580305813058230583305843058530586305873058830589305903059130592305933059430595305963059730598305993060030601306023060330604306053060630607306083060930610306113061230613306143061530616306173061830619306203062130622306233062430625306263062730628306293063030631306323063330634306353063630637306383063930640306413064230643306443064530646306473064830649306503065130652306533065430655306563065730658306593066030661306623066330664306653066630667306683066930670306713067230673306743067530676306773067830679306803068130682306833068430685306863068730688306893069030691306923069330694306953069630697306983069930700307013070230703307043070530706307073070830709307103071130712307133071430715307163071730718307193072030721307223072330724307253072630727307283072930730307313073230733307343073530736307373073830739307403074130742307433074430745307463074730748307493075030751307523075330754307553075630757307583075930760307613076230763307643076530766307673076830769307703077130772307733077430775307763077730778307793078030781307823078330784307853078630787307883078930790307913079230793307943079530796307973079830799308003080130802308033080430805308063080730808308093081030811308123081330814308153081630817308183081930820308213082230823308243082530826308273082830829308303083130832308333083430835308363083730838308393084030841308423084330844308453084630847308483084930850308513085230853308543085530856308573085830859308603086130862308633086430865308663086730868308693087030871308723087330874308753087630877308783087930880308813088230883308843088530886308873088830889308903089130892308933089430895308963089730898308993090030901309023090330904309053090630907309083090930910309113091230913309143091530916309173091830919309203092130922309233092430925309263092730928309293093030931309323093330934309353093630937309383093930940309413094230943309443094530946309473094830949309503095130952309533095430955309563095730958309593096030961309623096330964309653096630967309683096930970309713097230973309743097530976309773097830979309803098130982309833098430985309863098730988309893099030991309923099330994309953099630997309983099931000310013100231003310043100531006310073100831009310103101131012310133101431015310163101731018310193102031021310223102331024310253102631027310283102931030310313103231033310343103531036310373103831039310403104131042310433104431045310463104731048310493105031051310523105331054310553105631057310583105931060310613106231063310643106531066310673106831069310703107131072310733107431075310763107731078310793108031081310823108331084310853108631087310883108931090310913109231093310943109531096310973109831099311003110131102311033110431105311063110731108311093111031111311123111331114311153111631117311183111931120311213112231123311243112531126311273112831129311303113131132311333113431135311363113731138311393114031141311423114331144311453114631147311483114931150311513115231153311543115531156311573115831159311603116131162311633116431165311663116731168311693117031171311723117331174311753117631177311783117931180311813118231183311843118531186311873118831189311903119131192311933119431195311963119731198311993120031201312023120331204312053120631207312083120931210312113121231213312143121531216312173121831219312203122131222312233122431225312263122731228312293123031231312323123331234312353123631237312383123931240312413124231243312443124531246312473124831249312503125131252312533125431255312563125731258312593126031261312623126331264312653126631267312683126931270312713127231273312743127531276312773127831279312803128131282312833128431285312863128731288312893129031291312923129331294312953129631297312983129931300313013130231303313043130531306313073130831309313103131131312313133131431315313163131731318313193132031321313223132331324313253132631327313283132931330313313133231333313343133531336313373133831339313403134131342313433134431345313463134731348313493135031351313523135331354313553135631357313583135931360313613136231363313643136531366313673136831369313703137131372313733137431375313763137731378313793138031381313823138331384313853138631387313883138931390313913139231393313943139531396313973139831399314003140131402314033140431405314063140731408314093141031411314123141331414314153141631417314183141931420314213142231423314243142531426314273142831429314303143131432314333143431435314363143731438314393144031441314423144331444314453144631447314483144931450314513145231453314543145531456314573145831459314603146131462314633146431465314663146731468314693147031471314723147331474314753147631477314783147931480314813148231483314843148531486314873148831489314903149131492314933149431495314963149731498314993150031501315023150331504315053150631507315083150931510315113151231513315143151531516315173151831519315203152131522315233152431525315263152731528315293153031531315323153331534315353153631537315383153931540315413154231543315443154531546315473154831549315503155131552315533155431555315563155731558315593156031561315623156331564315653156631567315683156931570315713157231573315743157531576315773157831579315803158131582315833158431585315863158731588315893159031591315923159331594315953159631597315983159931600316013160231603316043160531606316073160831609316103161131612316133161431615316163161731618316193162031621316223162331624316253162631627316283162931630316313163231633316343163531636316373163831639316403164131642316433164431645316463164731648316493165031651316523165331654316553165631657316583165931660316613166231663316643166531666316673166831669316703167131672316733167431675316763167731678316793168031681316823168331684316853168631687316883168931690316913169231693316943169531696316973169831699317003170131702317033170431705317063170731708317093171031711317123171331714317153171631717317183171931720317213172231723317243172531726317273172831729317303173131732317333173431735317363173731738317393174031741317423174331744317453174631747317483174931750317513175231753317543175531756317573175831759317603176131762317633176431765317663176731768317693177031771317723177331774317753177631777317783177931780317813178231783317843178531786317873178831789317903179131792317933179431795317963179731798317993180031801318023180331804318053180631807318083180931810318113181231813318143181531816318173181831819318203182131822318233182431825318263182731828318293183031831318323183331834318353183631837318383183931840318413184231843318443184531846318473184831849318503185131852318533185431855318563185731858318593186031861318623186331864318653186631867318683186931870318713187231873318743187531876318773187831879318803188131882318833188431885318863188731888318893189031891(* 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.pinpoint_sms_voice_v2letapiVersion="2022-03-31"letendpointPrefix="sms-voice"letserviceFullName="Amazon Pinpoint SMS Voice V2"letsignatureVersion="v4"letprotocol="json"letglobalEndpoint=endpointPrefix^".amazonaws.com"lettargetPrefix="PinpointSMSVoiceV2"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_valueendmoduleIamRoleArn=structtypenonrect=stringletcontext_="IamRoleArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:20)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:"arn:\\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:"IamRoleArn"jletto_json=simple_to_jsonto_valueendmoduleLogGroupArn=structtypenonrect=stringletcontext_="LogGroupArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:20)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:"arn:\\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:"LogGroupArn"jletto_json=simple_to_jsonto_valueendmoduleEventType=structtypenonrect=|ALL|TEXT_ALL|TEXT_SENT|TEXT_PENDING|TEXT_QUEUED|TEXT_SUCCESSFUL|TEXT_DELIVERED|TEXT_INVALID|TEXT_INVALID_MESSAGE|TEXT_UNREACHABLE|TEXT_CARRIER_UNREACHABLE|TEXT_BLOCKED|TEXT_CARRIER_BLOCKED|TEXT_SPAM|TEXT_UNKNOWN|TEXT_TTL_EXPIRED|TEXT_PROTECT_BLOCKED|VOICE_ALL|VOICE_INITIATED|VOICE_RINGING|VOICE_ANSWERED|VOICE_COMPLETED|VOICE_BUSY|VOICE_NO_ANSWER|VOICE_FAILED|VOICE_TTL_EXPIRED|MEDIA_ALL|MEDIA_PENDING|MEDIA_QUEUED|MEDIA_SUCCESSFUL|MEDIA_DELIVERED|MEDIA_INVALID|MEDIA_INVALID_MESSAGE|MEDIA_UNREACHABLE|MEDIA_CARRIER_UNREACHABLE|MEDIA_BLOCKED|MEDIA_CARRIER_BLOCKED|MEDIA_SPAM|MEDIA_UNKNOWN|MEDIA_TTL_EXPIRED|MEDIA_FILE_INACCESSIBLE|MEDIA_FILE_TYPE_UNSUPPORTED|MEDIA_FILE_SIZE_EXCEEDED|Non_static_idofstringletmakei=iletto_string=function|ALL->"ALL"|TEXT_ALL->"TEXT_ALL"|TEXT_SENT->"TEXT_SENT"|TEXT_PENDING->"TEXT_PENDING"|TEXT_QUEUED->"TEXT_QUEUED"|TEXT_SUCCESSFUL->"TEXT_SUCCESSFUL"|TEXT_DELIVERED->"TEXT_DELIVERED"|TEXT_INVALID->"TEXT_INVALID"|TEXT_INVALID_MESSAGE->"TEXT_INVALID_MESSAGE"|TEXT_UNREACHABLE->"TEXT_UNREACHABLE"|TEXT_CARRIER_UNREACHABLE->"TEXT_CARRIER_UNREACHABLE"|TEXT_BLOCKED->"TEXT_BLOCKED"|TEXT_CARRIER_BLOCKED->"TEXT_CARRIER_BLOCKED"|TEXT_SPAM->"TEXT_SPAM"|TEXT_UNKNOWN->"TEXT_UNKNOWN"|TEXT_TTL_EXPIRED->"TEXT_TTL_EXPIRED"|TEXT_PROTECT_BLOCKED->"TEXT_PROTECT_BLOCKED"|VOICE_ALL->"VOICE_ALL"|VOICE_INITIATED->"VOICE_INITIATED"|VOICE_RINGING->"VOICE_RINGING"|VOICE_ANSWERED->"VOICE_ANSWERED"|VOICE_COMPLETED->"VOICE_COMPLETED"|VOICE_BUSY->"VOICE_BUSY"|VOICE_NO_ANSWER->"VOICE_NO_ANSWER"|VOICE_FAILED->"VOICE_FAILED"|VOICE_TTL_EXPIRED->"VOICE_TTL_EXPIRED"|MEDIA_ALL->"MEDIA_ALL"|MEDIA_PENDING->"MEDIA_PENDING"|MEDIA_QUEUED->"MEDIA_QUEUED"|MEDIA_SUCCESSFUL->"MEDIA_SUCCESSFUL"|MEDIA_DELIVERED->"MEDIA_DELIVERED"|MEDIA_INVALID->"MEDIA_INVALID"|MEDIA_INVALID_MESSAGE->"MEDIA_INVALID_MESSAGE"|MEDIA_UNREACHABLE->"MEDIA_UNREACHABLE"|MEDIA_CARRIER_UNREACHABLE->"MEDIA_CARRIER_UNREACHABLE"|MEDIA_BLOCKED->"MEDIA_BLOCKED"|MEDIA_CARRIER_BLOCKED->"MEDIA_CARRIER_BLOCKED"|MEDIA_SPAM->"MEDIA_SPAM"|MEDIA_UNKNOWN->"MEDIA_UNKNOWN"|MEDIA_TTL_EXPIRED->"MEDIA_TTL_EXPIRED"|MEDIA_FILE_INACCESSIBLE->"MEDIA_FILE_INACCESSIBLE"|MEDIA_FILE_TYPE_UNSUPPORTED->"MEDIA_FILE_TYPE_UNSUPPORTED"|MEDIA_FILE_SIZE_EXCEEDED->"MEDIA_FILE_SIZE_EXCEEDED"|Non_static_ids->sletof_string=function|"ALL"->ALL|"TEXT_ALL"->TEXT_ALL|"TEXT_SENT"->TEXT_SENT|"TEXT_PENDING"->TEXT_PENDING|"TEXT_QUEUED"->TEXT_QUEUED|"TEXT_SUCCESSFUL"->TEXT_SUCCESSFUL|"TEXT_DELIVERED"->TEXT_DELIVERED|"TEXT_INVALID"->TEXT_INVALID|"TEXT_INVALID_MESSAGE"->TEXT_INVALID_MESSAGE|"TEXT_UNREACHABLE"->TEXT_UNREACHABLE|"TEXT_CARRIER_UNREACHABLE"->TEXT_CARRIER_UNREACHABLE|"TEXT_BLOCKED"->TEXT_BLOCKED|"TEXT_CARRIER_BLOCKED"->TEXT_CARRIER_BLOCKED|"TEXT_SPAM"->TEXT_SPAM|"TEXT_UNKNOWN"->TEXT_UNKNOWN|"TEXT_TTL_EXPIRED"->TEXT_TTL_EXPIRED|"TEXT_PROTECT_BLOCKED"->TEXT_PROTECT_BLOCKED|"VOICE_ALL"->VOICE_ALL|"VOICE_INITIATED"->VOICE_INITIATED|"VOICE_RINGING"->VOICE_RINGING|"VOICE_ANSWERED"->VOICE_ANSWERED|"VOICE_COMPLETED"->VOICE_COMPLETED|"VOICE_BUSY"->VOICE_BUSY|"VOICE_NO_ANSWER"->VOICE_NO_ANSWER|"VOICE_FAILED"->VOICE_FAILED|"VOICE_TTL_EXPIRED"->VOICE_TTL_EXPIRED|"MEDIA_ALL"->MEDIA_ALL|"MEDIA_PENDING"->MEDIA_PENDING|"MEDIA_QUEUED"->MEDIA_QUEUED|"MEDIA_SUCCESSFUL"->MEDIA_SUCCESSFUL|"MEDIA_DELIVERED"->MEDIA_DELIVERED|"MEDIA_INVALID"->MEDIA_INVALID|"MEDIA_INVALID_MESSAGE"->MEDIA_INVALID_MESSAGE|"MEDIA_UNREACHABLE"->MEDIA_UNREACHABLE|"MEDIA_CARRIER_UNREACHABLE"->MEDIA_CARRIER_UNREACHABLE|"MEDIA_BLOCKED"->MEDIA_BLOCKED|"MEDIA_CARRIER_BLOCKED"->MEDIA_CARRIER_BLOCKED|"MEDIA_SPAM"->MEDIA_SPAM|"MEDIA_UNKNOWN"->MEDIA_UNKNOWN|"MEDIA_TTL_EXPIRED"->MEDIA_TTL_EXPIRED|"MEDIA_FILE_INACCESSIBLE"->MEDIA_FILE_INACCESSIBLE|"MEDIA_FILE_TYPE_UNSUPPORTED"->MEDIA_FILE_TYPE_UNSUPPORTED|"MEDIA_FILE_SIZE_EXCEEDED"->MEDIA_FILE_SIZE_EXCEEDED|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 EventType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"EventType"j)letto_json=simple_to_jsonto_valueendmoduleDeliveryStreamArn=structtypenonrect=stringletcontext_="DeliveryStreamArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:20)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:"arn:\\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:"DeliveryStreamArn"jletto_json=simple_to_jsonto_valueendmoduleSnsTopicArn=structtypenonrect=stringletcontext_="SnsTopicArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:20)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:"arn:\\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:"SnsTopicArn"jletto_json=simple_to_jsonto_valueendmoduleIsoCountryCode=structtypenonrect=stringletcontext_="IsoCountryCode"letmakei=letopenResultinok_or_failwith((check_string_mini~min:2)>>=(fun()->(check_string_maxi~max:2)>>=(fun()->check_patterni~pattern:"[A-Z]{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:"IsoCountryCode"jletto_json=simple_to_jsonto_valueendmoduleRegistrationAssociationBehavior=structtypenonrect=|ASSOCIATE_BEFORE_SUBMIT|ASSOCIATE_ON_APPROVAL|ASSOCIATE_AFTER_COMPLETE|Non_static_idofstringletmakei=iletto_string=function|ASSOCIATE_BEFORE_SUBMIT->"ASSOCIATE_BEFORE_SUBMIT"|ASSOCIATE_ON_APPROVAL->"ASSOCIATE_ON_APPROVAL"|ASSOCIATE_AFTER_COMPLETE->"ASSOCIATE_AFTER_COMPLETE"|Non_static_ids->sletof_string=function|"ASSOCIATE_BEFORE_SUBMIT"->ASSOCIATE_BEFORE_SUBMIT|"ASSOCIATE_ON_APPROVAL"->ASSOCIATE_ON_APPROVAL|"ASSOCIATE_AFTER_COMPLETE"->ASSOCIATE_AFTER_COMPLETE|x->Non_static_idxletto_valuex=`Enum(to_stringx)letto_queryv=to_queryto_valuevletto_headerx=to_stringxletof_xmlxml_arg0=of_string(string_of_xml~kind:"enumeration RegistrationAssociationBehavior"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"RegistrationAssociationBehavior"j)letto_json=simple_to_jsonto_valueendmoduleRegistrationDisassociationBehavior=structtypenonrect=|DISASSOCIATE_ALL_CLOSES_REGISTRATION|DISASSOCIATE_ALL_ALLOWS_DELETE_REGISTRATION|DELETE_REGISTRATION_DISASSOCIATES|Non_static_idofstringletmakei=iletto_string=function|DISASSOCIATE_ALL_CLOSES_REGISTRATION->"DISASSOCIATE_ALL_CLOSES_REGISTRATION"|DISASSOCIATE_ALL_ALLOWS_DELETE_REGISTRATION->"DISASSOCIATE_ALL_ALLOWS_DELETE_REGISTRATION"|DELETE_REGISTRATION_DISASSOCIATES->"DELETE_REGISTRATION_DISASSOCIATES"|Non_static_ids->sletof_string=function|"DISASSOCIATE_ALL_CLOSES_REGISTRATION"->DISASSOCIATE_ALL_CLOSES_REGISTRATION|"DISASSOCIATE_ALL_ALLOWS_DELETE_REGISTRATION"->DISASSOCIATE_ALL_ALLOWS_DELETE_REGISTRATION|"DELETE_REGISTRATION_DISASSOCIATES"->DELETE_REGISTRATION_DISASSOCIATES|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 RegistrationDisassociationBehavior"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"RegistrationDisassociationBehavior"j)letto_json=simple_to_jsonto_valueendmoduleSelectOptionDescription=structtypenonrect={option:String_.toption[@ocaml.doc"The value of the option."];title:String_.toption[@ocaml.doc"The title of the select option."];description:String_.toption[@ocaml.doc"A description of the option meaning."]}letmake?option=fun?title->fun?description->fun()->{option;title;description}letto_valuex=structure_to_value[("Option",(Option.mapx.option~f:String_.to_value));("Title",(Option.mapx.title~f:String_.to_value));("Description",(Option.mapx.description~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdescription=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Description")inlettitle=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Title")inletoption=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Option")inmake?description?title?option()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdescription=field_mapjson__"Description"String_.of_jsoninlettitle=field_mapjson__"Title"String_.of_jsoninletoption=field_mapjson__"Option"String_.of_jsoninmake?description?title?option()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A description of each select option."]moduleCarrierStatus=structtypenonrect=|PENDING|ACTIVE|REJECTED|Non_static_idofstringletmakei=iletto_string=function|PENDING->"PENDING"|ACTIVE->"ACTIVE"|REJECTED->"REJECTED"|Non_static_ids->sletof_string=function|"PENDING"->PENDING|"ACTIVE"->ACTIVE|"REJECTED"->REJECTED|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 CarrierStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"CarrierStatus"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_valueendmodulePrimitiveBoolean=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_valueendmoduleTemplateVariableSource=structtypenonrect=|CUSTOMER|SYSTEM|Non_static_idofstringletmakei=iletto_string=function|CUSTOMER->"CUSTOMER"|SYSTEM->"SYSTEM"|Non_static_ids->sletof_string=function|"CUSTOMER"->CUSTOMER|"SYSTEM"->SYSTEM|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 TemplateVariableSource"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"TemplateVariableSource"j)letto_json=simple_to_jsonto_valueendmoduleTemplateVariableType=structtypenonrect=|STRING|INTEGER|BOOLEAN|Non_static_idofstringletmakei=iletto_string=function|STRING->"STRING"|INTEGER->"INTEGER"|BOOLEAN->"BOOLEAN"|Non_static_ids->sletof_string=function|"STRING"->STRING|"INTEGER"->INTEGER|"BOOLEAN"->BOOLEAN|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 TemplateVariableType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"TemplateVariableType"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_valueendmoduleCloudWatchLogsDestination=structtypenonrect={iamRoleArn:IamRoleArn.t[@ocaml.doc"The Amazon Resource Name (ARN) of an Identity and Access Management role that is able to write event data to an Amazon CloudWatch destination."];logGroupArn:LogGroupArn.t[@ocaml.doc"The name of the Amazon CloudWatch log group that you want to record events in."]}letcontext_="CloudWatchLogsDestination"letmake~iamRoleArn=fun~logGroupArn->fun()->{iamRoleArn;logGroupArn}letto_valuex=structure_to_value[("IamRoleArn",(Some(IamRoleArn.to_valuex.iamRoleArn)));("LogGroupArn",(Some(LogGroupArn.to_valuex.logGroupArn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlogGroupArn=LogGroupArn.of_xml(Xml.child_exn~context:context_xml_arg0"LogGroupArn")inletiamRoleArn=IamRoleArn.of_xml(Xml.child_exn~context:context_xml_arg0"IamRoleArn")inmake~logGroupArn~iamRoleArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlogGroupArn=field_map_exnjson__"LogGroupArn"LogGroupArn.of_jsoninletiamRoleArn=field_map_exnjson__"IamRoleArn"IamRoleArn.of_jsoninmake~logGroupArn~iamRoleArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Contains the destination configuration to use when publishing message sending events."]moduleEventDestinationName=structtypenonrect=stringletcontext_="EventDestinationName"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:64)>>=(fun()->check_patterni~pattern:"[A-Za-z0-9_-]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"EventDestinationName"jletto_json=simple_to_jsonto_valueendmoduleEventTypeList=structtypenonrect=EventType.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:43)>>=(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: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_valuevendmoduleKinesisFirehoseDestination=structtypenonrect={iamRoleArn:IamRoleArn.t[@ocaml.doc"The ARN of an Identity and Access Management role that is able to write event data to an Amazon Data Firehose destination."];deliveryStreamArn:DeliveryStreamArn.t[@ocaml.doc"The Amazon Resource Name (ARN) of the delivery stream."]}letcontext_="KinesisFirehoseDestination"letmake~iamRoleArn=fun~deliveryStreamArn->fun()->{iamRoleArn;deliveryStreamArn}letto_valuex=structure_to_value[("IamRoleArn",(Some(IamRoleArn.to_valuex.iamRoleArn)));("DeliveryStreamArn",(Some(DeliveryStreamArn.to_valuex.deliveryStreamArn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdeliveryStreamArn=DeliveryStreamArn.of_xml(Xml.child_exn~context:context_xml_arg0"DeliveryStreamArn")inletiamRoleArn=IamRoleArn.of_xml(Xml.child_exn~context:context_xml_arg0"IamRoleArn")inmake~deliveryStreamArn~iamRoleArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdeliveryStreamArn=field_map_exnjson__"DeliveryStreamArn"DeliveryStreamArn.of_jsoninletiamRoleArn=field_map_exnjson__"IamRoleArn"IamRoleArn.of_jsoninmake~deliveryStreamArn~iamRoleArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Contains the delivery stream Amazon Resource Name (ARN), and the ARN of the Identity and Access Management (IAM) role associated with a Firehose event destination. Event destinations, such as Firehose, are associated with configuration sets, which enable you to publish message sending events."]moduleSnsDestination=structtypenonrect={topicArn:SnsTopicArn.t[@ocaml.doc"The Amazon Resource Name (ARN) of the Amazon SNS topic that you want to publish events to."]}letcontext_="SnsDestination"letmake~topicArn=fun()->{topicArn}letto_valuex=structure_to_value[("TopicArn",(Some(SnsTopicArn.to_valuex.topicArn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettopicArn=SnsTopicArn.of_xml(Xml.child_exn~context:context_xml_arg0"TopicArn")inmake~topicArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettopicArn=field_map_exnjson__"TopicArn"SnsTopicArn.of_jsoninmake~topicArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"An object that defines an Amazon SNS destination for events. You can use Amazon SNS to send notification when certain events occur."]moduleFilterValue=structtypenonrect=stringletcontext_="FilterValue"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:128)>>=(fun()->check_patterni~pattern:"[/\\.:A-Za-z0-9+_-]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"FilterValue"jletto_json=simple_to_jsonto_valueendmoduleNumberCapability=structtypenonrect=|SMS|VOICE|MMS|RCS|Non_static_idofstringletmakei=iletto_string=function|SMS->"SMS"|VOICE->"VOICE"|MMS->"MMS"|RCS->"RCS"|Non_static_ids->sletof_string=function|"SMS"->SMS|"VOICE"->VOICE|"MMS"->MMS|"RCS"->RCS|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 NumberCapability"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"NumberCapability"j)letto_json=simple_to_jsonto_valueendmoduleNotifyConfigurationTier=structtypenonrect=|BASIC|ADVANCED|Non_static_idofstringletmakei=iletto_string=function|BASIC->"BASIC"|ADVANCED->"ADVANCED"|Non_static_ids->sletof_string=function|"BASIC"->BASIC|"ADVANCED"->ADVANCED|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 NotifyConfigurationTier"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"NotifyConfigurationTier"j)letto_json=simple_to_jsonto_valueendmoduleNotifyConfigurationUseCase=structtypenonrect=|CODE_VERIFICATION|Non_static_idofstringletmakei=iletto_string=function|CODE_VERIFICATION->"CODE_VERIFICATION"|Non_static_ids->sletof_string=function|"CODE_VERIFICATION"->CODE_VERIFICATION|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 NotifyConfigurationUseCase"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"NotifyConfigurationUseCase"j)letto_json=simple_to_jsonto_valueendmoduleMessageType=structtypenonrect=|TRANSACTIONAL|PROMOTIONAL|Non_static_idofstringletmakei=iletto_string=function|TRANSACTIONAL->"TRANSACTIONAL"|PROMOTIONAL->"PROMOTIONAL"|Non_static_ids->sletof_string=function|"TRANSACTIONAL"->TRANSACTIONAL|"PROMOTIONAL"->PROMOTIONAL|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 MessageType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"MessageType"j)letto_json=simple_to_jsonto_valueendmoduleRegistrationDeniedReasonInformation=structtypenonrect={reason:String_.toption[@ocaml.doc"The reason a registration was rejected."];shortDescription:String_.toption[@ocaml.doc"A short description of the rejection reason."];longDescription:String_.toption[@ocaml.doc"A long description of the rejection reason."];documentationTitle:String_.toption[@ocaml.doc"The title of the document."];documentationLink:String_.toption[@ocaml.doc"The link to the document."]}letmake?reason=fun?shortDescription->fun?longDescription->fun?documentationTitle->fun?documentationLink->fun()->{reason;shortDescription;longDescription;documentationTitle;documentationLink}letto_valuex=structure_to_value[("Reason",(Option.mapx.reason~f:String_.to_value));("ShortDescription",(Option.mapx.shortDescription~f:String_.to_value));("LongDescription",(Option.mapx.longDescription~f:String_.to_value));("DocumentationTitle",(Option.mapx.documentationTitle~f:String_.to_value));("DocumentationLink",(Option.mapx.documentationLink~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdocumentationLink=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"DocumentationLink")inletdocumentationTitle=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"DocumentationTitle")inletlongDescription=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"LongDescription")inletshortDescription=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"ShortDescription")inletreason=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Reason")inmake?documentationLink?documentationTitle?longDescription?shortDescription?reason()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdocumentationLink=field_mapjson__"DocumentationLink"String_.of_jsoninletdocumentationTitle=field_mapjson__"DocumentationTitle"String_.of_jsoninletlongDescription=field_mapjson__"LongDescription"String_.of_jsoninletshortDescription=field_mapjson__"ShortDescription"String_.of_jsoninletreason=field_mapjson__"Reason"String_.of_jsoninmake?documentationLink?documentationTitle?longDescription?shortDescription?reason()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Provides the reason a registration was rejected."]moduleTimestamp=structtypenonrect=stringletmakei=iletof_stringx=xletto_valuex=`Timestampxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=string_of_xml~kind:"a timestamp"letof_json=timestamp_of_jsonletto_json=simple_to_jsonto_valueendmoduleSupportedAssociation=structtypenonrect={resourceType:String_.toption[@ocaml.doc"Defines the behavior of when an origination identity and registration can be associated with each other."];isoCountryCode:IsoCountryCode.toption[@ocaml.doc"The two-character code, in ISO 3166-1 alpha-2 format, for the country or region."];associationBehavior:RegistrationAssociationBehavior.toption[@ocaml.doc"The association behavior. ASSOCIATE_BEFORE_SUBMIT The origination identity has to be supplied when creating a registration. ASSOCIATE_ON_APPROVAL This applies to all sender ID registrations. The sender ID will be automatically provisioned once the registration is approved. ASSOCIATE_AFTER_COMPLETE This applies to phone number registrations when you must complete a registration first, then associate one or more phone numbers later. For example 10DLC campaigns and long codes."];disassociationBehavior:RegistrationDisassociationBehavior.toption[@ocaml.doc"The disassociation behavior. DISASSOCIATE_ALL_CLOSES_REGISTRATION All origination identities must be disassociated from the registration before the registration can be closed. DISASSOCIATE_ALL_ALLOWS_DELETE_REGISTRATION All origination identities must be disassociated from the registration before the registration can be deleted. DELETE_REGISTRATION_DISASSOCIATES The registration can be deleted and all origination identities will be disasscoiated."]}letmake?resourceType=fun?isoCountryCode->fun?associationBehavior->fun?disassociationBehavior->fun()->{resourceType;isoCountryCode;associationBehavior;disassociationBehavior}letto_valuex=structure_to_value[("ResourceType",(Option.mapx.resourceType~f:String_.to_value));("IsoCountryCode",(Option.mapx.isoCountryCode~f:IsoCountryCode.to_value));("AssociationBehavior",(Option.mapx.associationBehavior~f:RegistrationAssociationBehavior.to_value));("DisassociationBehavior",(Option.mapx.disassociationBehavior~f:RegistrationDisassociationBehavior.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdisassociationBehavior=(Option.map~f:RegistrationDisassociationBehavior.of_xml)(Xml.childxml_arg0"DisassociationBehavior")inletassociationBehavior=(Option.map~f:RegistrationAssociationBehavior.of_xml)(Xml.childxml_arg0"AssociationBehavior")inletisoCountryCode=(Option.map~f:IsoCountryCode.of_xml)(Xml.childxml_arg0"IsoCountryCode")inletresourceType=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"ResourceType")inmake?disassociationBehavior?associationBehavior?isoCountryCode?resourceType()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdisassociationBehavior=field_mapjson__"DisassociationBehavior"RegistrationDisassociationBehavior.of_jsoninletassociationBehavior=field_mapjson__"AssociationBehavior"RegistrationAssociationBehavior.of_jsoninletisoCountryCode=field_mapjson__"IsoCountryCode"IsoCountryCode.of_jsoninletresourceType=field_mapjson__"ResourceType"String_.of_jsoninmake?disassociationBehavior?associationBehavior?isoCountryCode?resourceType()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The processing rules for when a registration can be associated with an origination identity and disassociated from an origination identity."]moduleSelectChoice=structtypenonrect=stringletcontext_="SelectChoice"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:"SelectChoice"jletto_json=simple_to_jsonto_valueendmoduleSelectOptionDescriptionsList=structtypenonrect=SelectOptionDescription.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:SelectOptionDescription.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:SelectOptionDescription.of_xml)letof_jsonj=list_of_json~kind:"SelectOptionDescriptionsList"~of_json:SelectOptionDescription.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleStringList=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:"StringList"~of_json:String_.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleTestingAgentStatus=structtypenonrect=|CREATED|PENDING|ACTIVE|Non_static_idofstringletmakei=iletto_string=function|CREATED->"CREATED"|PENDING->"PENDING"|ACTIVE->"ACTIVE"|Non_static_ids->sletof_string=function|"CREATED"->CREATED|"PENDING"->PENDING|"ACTIVE"->ACTIVE|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 TestingAgentStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"TestingAgentStatus"j)letto_json=simple_to_jsonto_valueendmoduleCarrierStatusInformation=structtypenonrect={carrierName:String_.toption[@ocaml.doc"The name of the carrier."];status:CarrierStatus.toption[@ocaml.doc"The launch status for this carrier."]}letmake?carrierName=fun?status->fun()->{carrierName;status}letto_valuex=structure_to_value[("CarrierName",(Option.mapx.carrierName~f:String_.to_value));("Status",(Option.mapx.status~f:CarrierStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstatus=(Option.map~f:CarrierStatus.of_xml)(Xml.childxml_arg0"Status")inletcarrierName=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"CarrierName")inmake?status?carrierName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstatus=field_mapjson__"Status"CarrierStatus.of_jsoninletcarrierName=field_mapjson__"CarrierName"String_.of_jsoninmake?status?carrierName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Contains carrier-level launch status details for an RCS agent within a country."]moduleTemplateVariableMetadata=structtypenonrect={type_:TemplateVariableType.toption[@ocaml.doc"The type of the variable."];required:PrimitiveBoolean.toption[@ocaml.doc"Whether the variable is required."];description:String_.toption[@ocaml.doc"A description of the variable."];maxLength:Integer.toption[@ocaml.doc"The maximum length for string variables."];minValue:Integer.toption[@ocaml.doc"The minimum value for numeric variables."];maxValue:Integer.toption[@ocaml.doc"The maximum value for numeric variables."];defaultValue:String_.toption[@ocaml.doc"The default value for the variable."];pattern:String_.toption[@ocaml.doc"The regex pattern the variable value must match."];sample:String_.toption[@ocaml.doc"A sample value for the variable."];source:TemplateVariableSource.toption[@ocaml.doc"The source of the variable, either CUSTOMER or SYSTEM."]}letmake?type_=fun?required->fun?description->fun?maxLength->fun?minValue->fun?maxValue->fun?defaultValue->fun?pattern->fun?sample->fun?source->fun()->{type_;required;description;maxLength;minValue;maxValue;defaultValue;pattern;sample;source}letto_valuex=structure_to_value[("Type",(Option.mapx.type_~f:TemplateVariableType.to_value));("Required",(Option.mapx.required~f:PrimitiveBoolean.to_value));("Description",(Option.mapx.description~f:String_.to_value));("MaxLength",(Option.mapx.maxLength~f:Integer.to_value));("MinValue",(Option.mapx.minValue~f:Integer.to_value));("MaxValue",(Option.mapx.maxValue~f:Integer.to_value));("DefaultValue",(Option.mapx.defaultValue~f:String_.to_value));("Pattern",(Option.mapx.pattern~f:String_.to_value));("Sample",(Option.mapx.sample~f:String_.to_value));("Source",(Option.mapx.source~f:TemplateVariableSource.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letsource=(Option.map~f:TemplateVariableSource.of_xml)(Xml.childxml_arg0"Source")inletsample=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Sample")inletpattern=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Pattern")inletdefaultValue=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"DefaultValue")inletmaxValue=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"MaxValue")inletminValue=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"MinValue")inletmaxLength=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"MaxLength")inletdescription=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Description")inletrequired=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"Required")inlettype_=(Option.map~f:TemplateVariableType.of_xml)(Xml.childxml_arg0"Type")inmake?source?sample?pattern?defaultValue?maxValue?minValue?maxLength?description?required?type_()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letsource=field_mapjson__"Source"TemplateVariableSource.of_jsoninletsample=field_mapjson__"Sample"String_.of_jsoninletpattern=field_mapjson__"Pattern"String_.of_jsoninletdefaultValue=field_mapjson__"DefaultValue"String_.of_jsoninletmaxValue=field_mapjson__"MaxValue"Integer.of_jsoninletminValue=field_mapjson__"MinValue"Integer.of_jsoninletmaxLength=field_mapjson__"MaxLength"Integer.of_jsoninletdescription=field_mapjson__"Description"String_.of_jsoninletrequired=field_mapjson__"Required"PrimitiveBoolean.of_jsoninlettype_=field_mapjson__"Type"TemplateVariableType.of_jsoninmake?source?sample?pattern?defaultValue?maxValue?minValue?maxLength?description?required?type_()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Contains metadata about a template variable."]moduleVoiceId=structtypenonrect=|AMY|ASTRID|BIANCA|BRIAN|CAMILA|CARLA|CARMEN|CELINE|CHANTAL|CONCHITA|CRISTIANO|DORA|EMMA|ENRIQUE|EWA|FILIZ|GERAINT|GIORGIO|GWYNETH|HANS|INES|IVY|JACEK|JAN|JOANNA|JOEY|JUSTIN|KARL|KENDRA|KIMBERLY|LEA|LIV|LOTTE|LUCIA|LUPE|MADS|MAJA|MARLENE|MATHIEU|MATTHEW|MAXIM|MIA|MIGUEL|MIZUKI|NAJA|NICOLE|PENELOPE|RAVEENA|RICARDO|RUBEN|RUSSELL|SALLI|SEOYEON|TAKUMI|TATYANA|VICKI|VITORIA|ZEINA|ZHIYU|Non_static_idofstringletmakei=iletto_string=function|AMY->"AMY"|ASTRID->"ASTRID"|BIANCA->"BIANCA"|BRIAN->"BRIAN"|CAMILA->"CAMILA"|CARLA->"CARLA"|CARMEN->"CARMEN"|CELINE->"CELINE"|CHANTAL->"CHANTAL"|CONCHITA->"CONCHITA"|CRISTIANO->"CRISTIANO"|DORA->"DORA"|EMMA->"EMMA"|ENRIQUE->"ENRIQUE"|EWA->"EWA"|FILIZ->"FILIZ"|GERAINT->"GERAINT"|GIORGIO->"GIORGIO"|GWYNETH->"GWYNETH"|HANS->"HANS"|INES->"INES"|IVY->"IVY"|JACEK->"JACEK"|JAN->"JAN"|JOANNA->"JOANNA"|JOEY->"JOEY"|JUSTIN->"JUSTIN"|KARL->"KARL"|KENDRA->"KENDRA"|KIMBERLY->"KIMBERLY"|LEA->"LEA"|LIV->"LIV"|LOTTE->"LOTTE"|LUCIA->"LUCIA"|LUPE->"LUPE"|MADS->"MADS"|MAJA->"MAJA"|MARLENE->"MARLENE"|MATHIEU->"MATHIEU"|MATTHEW->"MATTHEW"|MAXIM->"MAXIM"|MIA->"MIA"|MIGUEL->"MIGUEL"|MIZUKI->"MIZUKI"|NAJA->"NAJA"|NICOLE->"NICOLE"|PENELOPE->"PENELOPE"|RAVEENA->"RAVEENA"|RICARDO->"RICARDO"|RUBEN->"RUBEN"|RUSSELL->"RUSSELL"|SALLI->"SALLI"|SEOYEON->"SEOYEON"|TAKUMI->"TAKUMI"|TATYANA->"TATYANA"|VICKI->"VICKI"|VITORIA->"VITORIA"|ZEINA->"ZEINA"|ZHIYU->"ZHIYU"|Non_static_ids->sletof_string=function|"AMY"->AMY|"ASTRID"->ASTRID|"BIANCA"->BIANCA|"BRIAN"->BRIAN|"CAMILA"->CAMILA|"CARLA"->CARLA|"CARMEN"->CARMEN|"CELINE"->CELINE|"CHANTAL"->CHANTAL|"CONCHITA"->CONCHITA|"CRISTIANO"->CRISTIANO|"DORA"->DORA|"EMMA"->EMMA|"ENRIQUE"->ENRIQUE|"EWA"->EWA|"FILIZ"->FILIZ|"GERAINT"->GERAINT|"GIORGIO"->GIORGIO|"GWYNETH"->GWYNETH|"HANS"->HANS|"INES"->INES|"IVY"->IVY|"JACEK"->JACEK|"JAN"->JAN|"JOANNA"->JOANNA|"JOEY"->JOEY|"JUSTIN"->JUSTIN|"KARL"->KARL|"KENDRA"->KENDRA|"KIMBERLY"->KIMBERLY|"LEA"->LEA|"LIV"->LIV|"LOTTE"->LOTTE|"LUCIA"->LUCIA|"LUPE"->LUPE|"MADS"->MADS|"MAJA"->MAJA|"MARLENE"->MARLENE|"MATHIEU"->MATHIEU|"MATTHEW"->MATTHEW|"MAXIM"->MAXIM|"MIA"->MIA|"MIGUEL"->MIGUEL|"MIZUKI"->MIZUKI|"NAJA"->NAJA|"NICOLE"->NICOLE|"PENELOPE"->PENELOPE|"RAVEENA"->RAVEENA|"RICARDO"->RICARDO|"RUBEN"->RUBEN|"RUSSELL"->RUSSELL|"SALLI"->SALLI|"SEOYEON"->SEOYEON|"TAKUMI"->TAKUMI|"TATYANA"->TATYANA|"VICKI"->VICKI|"VITORIA"->VITORIA|"ZEINA"->ZEINA|"ZHIYU"->ZHIYU|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 VoiceId"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"VoiceId"j)letto_json=simple_to_jsonto_valueendmoduleEventDestination=structtypenonrect={eventDestinationName:EventDestinationName.toption[@ocaml.doc"The name of the EventDestination."];enabled:Boolean.toption[@ocaml.doc"When set to true events will be logged."];matchingEventTypes:EventTypeList.toption[@ocaml.doc"An array of event types that determine which events to log. The TEXT_SENT event type is not supported."];cloudWatchLogsDestination:CloudWatchLogsDestination.toption[@ocaml.doc"An object that contains information about an event destination that sends logging events to Amazon CloudWatch logs."];kinesisFirehoseDestination:KinesisFirehoseDestination.toption[@ocaml.doc"An object that contains information about an event destination for logging to Amazon Data Firehose."];snsDestination:SnsDestination.toption[@ocaml.doc"An object that contains information about an event destination that sends logging events to Amazon SNS."]}letmake?eventDestinationName=fun?enabled->fun?matchingEventTypes->fun?cloudWatchLogsDestination->fun?kinesisFirehoseDestination->fun?snsDestination->fun()->{eventDestinationName;enabled;matchingEventTypes;cloudWatchLogsDestination;kinesisFirehoseDestination;snsDestination}letto_valuex=structure_to_value[("EventDestinationName",(Option.mapx.eventDestinationName~f:EventDestinationName.to_value));("Enabled",(Option.mapx.enabled~f:Boolean.to_value));("MatchingEventTypes",(Option.mapx.matchingEventTypes~f:EventTypeList.to_value));("CloudWatchLogsDestination",(Option.mapx.cloudWatchLogsDestination~f:CloudWatchLogsDestination.to_value));("KinesisFirehoseDestination",(Option.mapx.kinesisFirehoseDestination~f:KinesisFirehoseDestination.to_value));("SnsDestination",(Option.mapx.snsDestination~f:SnsDestination.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letsnsDestination=(Option.map~f:SnsDestination.of_xml)(Xml.childxml_arg0"SnsDestination")inletkinesisFirehoseDestination=(Option.map~f:KinesisFirehoseDestination.of_xml)(Xml.childxml_arg0"KinesisFirehoseDestination")inletcloudWatchLogsDestination=(Option.map~f:CloudWatchLogsDestination.of_xml)(Xml.childxml_arg0"CloudWatchLogsDestination")inletmatchingEventTypes=(Option.map~f:EventTypeList.of_xml)(Xml.childxml_arg0"MatchingEventTypes")inletenabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"Enabled")inleteventDestinationName=(Option.map~f:EventDestinationName.of_xml)(Xml.childxml_arg0"EventDestinationName")inmake?snsDestination?kinesisFirehoseDestination?cloudWatchLogsDestination?matchingEventTypes?enabled?eventDestinationName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letsnsDestination=field_mapjson__"SnsDestination"SnsDestination.of_jsoninletkinesisFirehoseDestination=field_mapjson__"KinesisFirehoseDestination"KinesisFirehoseDestination.of_jsoninletcloudWatchLogsDestination=field_mapjson__"CloudWatchLogsDestination"CloudWatchLogsDestination.of_jsoninletmatchingEventTypes=field_mapjson__"MatchingEventTypes"EventTypeList.of_jsoninletenabled=field_mapjson__"Enabled"Boolean.of_jsoninleteventDestinationName=field_mapjson__"EventDestinationName"EventDestinationName.of_jsoninmake?snsDestination?kinesisFirehoseDestination?cloudWatchLogsDestination?matchingEventTypes?enabled?eventDestinationName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Contains information about an event destination. Event destinations are associated with configuration sets, which enable you to publish message sending events to CloudWatch, Firehose, or Amazon SNS."]moduleValidationExceptionField=structtypenonrect={name:String_.toption[@ocaml.doc"The name of the field."];message:String_.toption[@ocaml.doc"The message associated with the validation exception with information to help determine its cause."]}letmake?name=fun?message->fun()->{name;message}letto_valuex=structure_to_value[("Name",(Option.mapx.name~f:String_.to_value));("Message",(Option.mapx.message~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Message")inletname=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Name")inmake?message?name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"Message"String_.of_jsoninletname=field_mapjson__"Name"String_.of_jsoninmake?message?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The field associated with the validation exception."]moduleProtectStatus=structtypenonrect=|ALLOW|BLOCK|MONITOR|FILTER|Non_static_idofstringletmakei=iletto_string=function|ALLOW->"ALLOW"|BLOCK->"BLOCK"|MONITOR->"MONITOR"|FILTER->"FILTER"|Non_static_ids->sletof_string=function|"ALLOW"->ALLOW|"BLOCK"->BLOCK|"MONITOR"->MONITOR|"FILTER"->FILTER|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 ProtectStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ProtectStatus"j)letto_json=simple_to_jsonto_valueendmoduleTagKey=structtypenonrect=stringletcontext_="TagKey"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:128)>>=(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:"TagKey"jletto_json=simple_to_jsonto_valueendmoduleTagValue=structtypenonrect=stringletcontext_="TagValue"letmakei=letopenResultinok_or_failwith((check_string_mini~min:0)>>=(fun()->(check_string_maxi~max:256)>>=(fun()->check_patterni~pattern:".*")));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_valueendmodulePhoneNumber=structtypenonrect=stringletcontext_="PhoneNumber"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:20)>>=(fun()->check_patterni~pattern:"\\+?[1-9][0-9]{1,18}")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"PhoneNumber"jletto_json=simple_to_jsonto_valueendmoduleFilterValueList=structtypenonrect=FilterValue.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:20)>>=(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:FilterValue.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:FilterValue.of_xml)letof_jsonj=list_of_json~kind:"FilterValueList"~of_json:FilterValue.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleRegistrationAssociationFilterName=structtypenonrect=|Resource_type|Iso_country_code|Non_static_idofstringletmakei=iletto_string=function|Resource_type->"resource-type"|Iso_country_code->"iso-country-code"|Non_static_ids->sletof_string=function|"resource-type"->Resource_type|"iso-country-code"->Iso_country_code|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 RegistrationAssociationFilterName"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"RegistrationAssociationFilterName"j)letto_json=simple_to_jsonto_valueendmoduleProtectConfigurationRuleOverrideAction=structtypenonrect=|ALLOW|BLOCK|Non_static_idofstringletmakei=iletto_string=function|ALLOW->"ALLOW"|BLOCK->"BLOCK"|Non_static_ids->sletof_string=function|"ALLOW"->ALLOW|"BLOCK"->BLOCK|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 ProtectConfigurationRuleOverrideAction"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ProtectConfigurationRuleOverrideAction"j)letto_json=simple_to_jsonto_valueendmoduleProtectConfigurationRuleSetNumberOverrideFilterName=structtypenonrect=|Iso_country_code|Destination_phone_number_begins_with|Action|Expires_before|Expires_after|Created_before|Created_after|Non_static_idofstringletmakei=iletto_string=function|Iso_country_code->"iso-country-code"|Destination_phone_number_begins_with->"destination-phone-number-begins-with"|Action->"action"|Expires_before->"expires-before"|Expires_after->"expires-after"|Created_before->"created-before"|Created_after->"created-after"|Non_static_ids->sletof_string=function|"iso-country-code"->Iso_country_code|"destination-phone-number-begins-with"->Destination_phone_number_begins_with|"action"->Action|"expires-before"->Expires_before|"expires-after"->Expires_after|"created-before"->Created_before|"created-after"->Created_after|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 ProtectConfigurationRuleSetNumberOverrideFilterName"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ProtectConfigurationRuleSetNumberOverrideFilterName"j)letto_json=simple_to_jsonto_valueendmoduleNumberCapabilityList=structtypenonrect=NumberCapability.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:4)>>=(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:NumberCapability.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:NumberCapability.of_xml)letof_jsonj=list_of_json~kind:"NumberCapabilityList"~of_json:NumberCapability.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmodulePoolOriginationIdentitiesFilterName=structtypenonrect=|Iso_country_code|Number_capability|Non_static_idofstringletmakei=iletto_string=function|Iso_country_code->"iso-country-code"|Number_capability->"number-capability"|Non_static_ids->sletof_string=function|"iso-country-code"->Iso_country_code|"number-capability"->Number_capability|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 PoolOriginationIdentitiesFilterName"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"PoolOriginationIdentitiesFilterName"j)letto_json=simple_to_jsonto_valueendmoduleNotifyEnabledChannelsList=structtypenonrect=NumberCapability.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:4)>>=(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:NumberCapability.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:NumberCapability.of_xml)letof_jsonj=list_of_json~kind:"NotifyEnabledChannelsList"~of_json:NumberCapability.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleNotifyTierList=structtypenonrect=NotifyConfigurationTier.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:2)>>=(fun()->check_list_mini~min:1));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:NotifyConfigurationTier.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:NotifyConfigurationTier.of_xml)letof_jsonj=list_of_json~kind:"NotifyTierList"~of_json:NotifyConfigurationTier.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleNotifyUseCaseList=structtypenonrect=NotifyConfigurationUseCase.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:4)>>=(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:NotifyConfigurationUseCase.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:NotifyConfigurationUseCase.of_xml)letof_jsonj=list_of_json~kind:"NotifyUseCaseList"~of_json:NotifyConfigurationUseCase.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleVerificationStatus=structtypenonrect=|PENDING|VERIFIED|UNSUPPORTED|Non_static_idofstringletmakei=iletto_string=function|PENDING->"PENDING"|VERIFIED->"VERIFIED"|UNSUPPORTED->"UNSUPPORTED"|Non_static_ids->sletof_string=function|"PENDING"->PENDING|"VERIFIED"->VERIFIED|"UNSUPPORTED"->UNSUPPORTED|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 VerificationStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"VerificationStatus"j)letto_json=simple_to_jsonto_valueendmoduleVerifiedDestinationNumberFilterName=structtypenonrect=|Status|Rcs_agent_id|Non_static_idofstringletmakei=iletto_string=function|Status->"status"|Rcs_agent_id->"rcs-agent-id"|Non_static_ids->sletof_string=function|"status"->Status|"rcs-agent-id"->Rcs_agent_id|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 VerifiedDestinationNumberFilterName"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"VerifiedDestinationNumberFilterName"j)letto_json=simple_to_jsonto_valueendmodulePrimitiveLong=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_valueendmoduleSpendLimitName=structtypenonrect=|TEXT_MESSAGE_MONTHLY_SPEND_LIMIT|VOICE_MESSAGE_MONTHLY_SPEND_LIMIT|MEDIA_MESSAGE_MONTHLY_SPEND_LIMIT|NOTIFY_MESSAGE_MONTHLY_SPEND_LIMIT|Non_static_idofstringletmakei=iletto_string=function|TEXT_MESSAGE_MONTHLY_SPEND_LIMIT->"TEXT_MESSAGE_MONTHLY_SPEND_LIMIT"|VOICE_MESSAGE_MONTHLY_SPEND_LIMIT->"VOICE_MESSAGE_MONTHLY_SPEND_LIMIT"|MEDIA_MESSAGE_MONTHLY_SPEND_LIMIT->"MEDIA_MESSAGE_MONTHLY_SPEND_LIMIT"|NOTIFY_MESSAGE_MONTHLY_SPEND_LIMIT->"NOTIFY_MESSAGE_MONTHLY_SPEND_LIMIT"|Non_static_ids->sletof_string=function|"TEXT_MESSAGE_MONTHLY_SPEND_LIMIT"->TEXT_MESSAGE_MONTHLY_SPEND_LIMIT|"VOICE_MESSAGE_MONTHLY_SPEND_LIMIT"->VOICE_MESSAGE_MONTHLY_SPEND_LIMIT|"MEDIA_MESSAGE_MONTHLY_SPEND_LIMIT"->MEDIA_MESSAGE_MONTHLY_SPEND_LIMIT|"NOTIFY_MESSAGE_MONTHLY_SPEND_LIMIT"->NOTIFY_MESSAGE_MONTHLY_SPEND_LIMIT|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 SpendLimitName"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"SpendLimitName"j)letto_json=simple_to_jsonto_valueendmoduleMessageTypeList=structtypenonrect=MessageType.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:2)>>=(fun()->check_list_mini~min:0));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:MessageType.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:MessageType.of_xml)letof_jsonj=list_of_json~kind:"MessageTypeList"~of_json:MessageType.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleSenderId=structtypenonrect=stringletcontext_="SenderId"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:11)>>=(fun()->check_patterni~pattern:"[A-Za-z0-9_-]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"SenderId"jletto_json=simple_to_jsonto_valueendmoduleSenderIdFilterName=structtypenonrect=|Sender_id|Iso_country_code|Message_type|Deletion_protection_enabled|Registered|Non_static_idofstringletmakei=iletto_string=function|Sender_id->"sender-id"|Iso_country_code->"iso-country-code"|Message_type->"message-type"|Deletion_protection_enabled->"deletion-protection-enabled"|Registered->"registered"|Non_static_ids->sletof_string=function|"sender-id"->Sender_id|"iso-country-code"->Iso_country_code|"message-type"->Message_type|"deletion-protection-enabled"->Deletion_protection_enabled|"registered"->Registered|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 SenderIdFilterName"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"SenderIdFilterName"j)letto_json=simple_to_jsonto_valueendmoduleSenderIdOrArn=structtypenonrect=stringletcontext_="SenderIdOrArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:256)>>=(fun()->check_patterni~pattern:"[A-Za-z0-9_:/-]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"SenderIdOrArn"jletto_json=simple_to_jsonto_valueendmoduleRegistrationStatus=structtypenonrect=|CREATED|SUBMITTED|AWS_REVIEWING|REVIEWING|REQUIRES_AUTHENTICATION|PROVISIONING|COMPLETE|REQUIRES_UPDATES|CLOSED|DELETED|Non_static_idofstringletmakei=iletto_string=function|CREATED->"CREATED"|SUBMITTED->"SUBMITTED"|AWS_REVIEWING->"AWS_REVIEWING"|REVIEWING->"REVIEWING"|REQUIRES_AUTHENTICATION->"REQUIRES_AUTHENTICATION"|PROVISIONING->"PROVISIONING"|COMPLETE->"COMPLETE"|REQUIRES_UPDATES->"REQUIRES_UPDATES"|CLOSED->"CLOSED"|DELETED->"DELETED"|Non_static_ids->sletof_string=function|"CREATED"->CREATED|"SUBMITTED"->SUBMITTED|"AWS_REVIEWING"->AWS_REVIEWING|"REVIEWING"->REVIEWING|"REQUIRES_AUTHENTICATION"->REQUIRES_AUTHENTICATION|"PROVISIONING"->PROVISIONING|"COMPLETE"->COMPLETE|"REQUIRES_UPDATES"->REQUIRES_UPDATES|"CLOSED"->CLOSED|"DELETED"->DELETED|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 RegistrationStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"RegistrationStatus"j)letto_json=simple_to_jsonto_valueendmoduleRegistrationType=structtypenonrect=stringletcontext_="RegistrationType"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:64)>>=(fun()->check_patterni~pattern:"[A-Za-z0-9_]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"RegistrationType"jletto_json=simple_to_jsonto_valueendmoduleRegistrationVersionNumber=structtypenonrect=Int64.tletmakei=letopenResultinok_or_failwith((check_int64_maxi~max:100000L)>>=(fun()->check_int64_mini~min:1L));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_valueendmoduleStringMap=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_valuevendmoduleRegistrationFilterName=structtypenonrect=|Registration_type|Registration_status|Non_static_idofstringletmakei=iletto_string=function|Registration_type->"registration-type"|Registration_status->"registration-status"|Non_static_ids->sletof_string=function|"registration-type"->Registration_type|"registration-status"->Registration_status|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 RegistrationFilterName"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"RegistrationFilterName"j)letto_json=simple_to_jsonto_valueendmoduleRegistrationDeniedReasonInformationList=structtypenonrect=RegistrationDeniedReasonInformation.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:RegistrationDeniedReasonInformation.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:RegistrationDeniedReasonInformation.of_xml)letof_jsonj=list_of_json~kind:"RegistrationDeniedReasonInformationList"~of_json:RegistrationDeniedReasonInformation.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleRegistrationVersionStatus=structtypenonrect=|DRAFT|SUBMITTED|AWS_REVIEWING|REVIEWING|REQUIRES_AUTHENTICATION|APPROVED|DISCARDED|DENIED|REVOKED|ARCHIVED|REQUIRES_OFFLINE_REVIEW|Non_static_idofstringletmakei=iletto_string=function|DRAFT->"DRAFT"|SUBMITTED->"SUBMITTED"|AWS_REVIEWING->"AWS_REVIEWING"|REVIEWING->"REVIEWING"|REQUIRES_AUTHENTICATION->"REQUIRES_AUTHENTICATION"|APPROVED->"APPROVED"|DISCARDED->"DISCARDED"|DENIED->"DENIED"|REVOKED->"REVOKED"|ARCHIVED->"ARCHIVED"|REQUIRES_OFFLINE_REVIEW->"REQUIRES_OFFLINE_REVIEW"|Non_static_ids->sletof_string=function|"DRAFT"->DRAFT|"SUBMITTED"->SUBMITTED|"AWS_REVIEWING"->AWS_REVIEWING|"REVIEWING"->REVIEWING|"REQUIRES_AUTHENTICATION"->REQUIRES_AUTHENTICATION|"APPROVED"->APPROVED|"DISCARDED"->DISCARDED|"DENIED"->DENIED|"REVOKED"->REVOKED|"ARCHIVED"->ARCHIVED|"REQUIRES_OFFLINE_REVIEW"->REQUIRES_OFFLINE_REVIEW|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 RegistrationVersionStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"RegistrationVersionStatus"j)letto_json=simple_to_jsonto_valueendmoduleRegistrationVersionStatusHistory=structtypenonrect={draftTimestamp:Timestamp.toption[@ocaml.doc"The time when the registration was in the draft state, in UNIX epoch time format."];submittedTimestamp:Timestamp.toption[@ocaml.doc"The time when the registration was in the submitted state, in UNIX epoch time format."];awsReviewingTimestamp:Timestamp.toption[@ocaml.doc"The time when the registration was in the AWS reviewing state, in UNIX epoch time format."];reviewingTimestamp:Timestamp.toption[@ocaml.doc"The time when the registration was in the reviewing state, in UNIX epoch time format."];requiresAuthenticationTimestamp:Timestamp.toption[@ocaml.doc"The time when the registration was in the requires authentication state, in UNIX epoch time format."];approvedTimestamp:Timestamp.toption[@ocaml.doc"The time when the registration was in the approved state, in UNIX epoch time format."];discardedTimestamp:Timestamp.toption[@ocaml.doc"The time when the registration was in the discarded state, in UNIX epoch time format."];deniedTimestamp:Timestamp.toption[@ocaml.doc"The time when the registration was in the denied state, in UNIX epoch time format."];revokedTimestamp:Timestamp.toption[@ocaml.doc"The time when the registration was in the revoked state, in UNIX epoch time format."];archivedTimestamp:Timestamp.toption[@ocaml.doc"The time when the registration was in the archived state, in UNIX epoch time format."]}letmake?draftTimestamp=fun?submittedTimestamp->fun?awsReviewingTimestamp->fun?reviewingTimestamp->fun?requiresAuthenticationTimestamp->fun?approvedTimestamp->fun?discardedTimestamp->fun?deniedTimestamp->fun?revokedTimestamp->fun?archivedTimestamp->fun()->{draftTimestamp;submittedTimestamp;awsReviewingTimestamp;reviewingTimestamp;requiresAuthenticationTimestamp;approvedTimestamp;discardedTimestamp;deniedTimestamp;revokedTimestamp;archivedTimestamp}letto_valuex=structure_to_value[("DraftTimestamp",(Option.mapx.draftTimestamp~f:Timestamp.to_value));("SubmittedTimestamp",(Option.mapx.submittedTimestamp~f:Timestamp.to_value));("AwsReviewingTimestamp",(Option.mapx.awsReviewingTimestamp~f:Timestamp.to_value));("ReviewingTimestamp",(Option.mapx.reviewingTimestamp~f:Timestamp.to_value));("RequiresAuthenticationTimestamp",(Option.mapx.requiresAuthenticationTimestamp~f:Timestamp.to_value));("ApprovedTimestamp",(Option.mapx.approvedTimestamp~f:Timestamp.to_value));("DiscardedTimestamp",(Option.mapx.discardedTimestamp~f:Timestamp.to_value));("DeniedTimestamp",(Option.mapx.deniedTimestamp~f:Timestamp.to_value));("RevokedTimestamp",(Option.mapx.revokedTimestamp~f:Timestamp.to_value));("ArchivedTimestamp",(Option.mapx.archivedTimestamp~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letarchivedTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"ArchivedTimestamp")inletrevokedTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"RevokedTimestamp")inletdeniedTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"DeniedTimestamp")inletdiscardedTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"DiscardedTimestamp")inletapprovedTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"ApprovedTimestamp")inletrequiresAuthenticationTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"RequiresAuthenticationTimestamp")inletreviewingTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"ReviewingTimestamp")inletawsReviewingTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"AwsReviewingTimestamp")inletsubmittedTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"SubmittedTimestamp")inletdraftTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"DraftTimestamp")inmake?archivedTimestamp?revokedTimestamp?deniedTimestamp?discardedTimestamp?approvedTimestamp?requiresAuthenticationTimestamp?reviewingTimestamp?awsReviewingTimestamp?submittedTimestamp?draftTimestamp()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letarchivedTimestamp=field_mapjson__"ArchivedTimestamp"Timestamp.of_jsoninletrevokedTimestamp=field_mapjson__"RevokedTimestamp"Timestamp.of_jsoninletdeniedTimestamp=field_mapjson__"DeniedTimestamp"Timestamp.of_jsoninletdiscardedTimestamp=field_mapjson__"DiscardedTimestamp"Timestamp.of_jsoninletapprovedTimestamp=field_mapjson__"ApprovedTimestamp"Timestamp.of_jsoninletrequiresAuthenticationTimestamp=field_mapjson__"RequiresAuthenticationTimestamp"Timestamp.of_jsoninletreviewingTimestamp=field_mapjson__"ReviewingTimestamp"Timestamp.of_jsoninletawsReviewingTimestamp=field_mapjson__"AwsReviewingTimestamp"Timestamp.of_jsoninletsubmittedTimestamp=field_mapjson__"SubmittedTimestamp"Timestamp.of_jsoninletdraftTimestamp=field_mapjson__"DraftTimestamp"Timestamp.of_jsoninmake?archivedTimestamp?revokedTimestamp?deniedTimestamp?discardedTimestamp?approvedTimestamp?requiresAuthenticationTimestamp?reviewingTimestamp?awsReviewingTimestamp?submittedTimestamp?draftTimestamp()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The RegistrationVersionStatusHistory object contains the time stamps for when the reservations status changes."]moduleRegistrationVersionFilterName=structtypenonrect=|Registration_version_status|Non_static_idofstringletmakei=iletto_string=function|Registration_version_status->"registration-version-status"|Non_static_ids->sletof_string=function|"registration-version-status"->Registration_version_status|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 RegistrationVersionFilterName"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"RegistrationVersionFilterName"j)letto_json=simple_to_jsonto_valueendmoduleRegistrationTypeDisplayHints=structtypenonrect={title:String_.toption[@ocaml.doc"The title of the display hint."];shortDescription:String_.toption[@ocaml.doc"A short description of the display hint."];longDescription:String_.toption[@ocaml.doc"A full description of the display hint."];documentationTitle:String_.toption[@ocaml.doc"The title of the document the display hint is associated with."];documentationLink:String_.toption[@ocaml.doc"The link to the document the display hint is associated with."]}letmake?title=fun?shortDescription->fun?longDescription->fun?documentationTitle->fun?documentationLink->fun()->{title;shortDescription;longDescription;documentationTitle;documentationLink}letto_valuex=structure_to_value[("Title",(Option.mapx.title~f:String_.to_value));("ShortDescription",(Option.mapx.shortDescription~f:String_.to_value));("LongDescription",(Option.mapx.longDescription~f:String_.to_value));("DocumentationTitle",(Option.mapx.documentationTitle~f:String_.to_value));("DocumentationLink",(Option.mapx.documentationLink~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdocumentationLink=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"DocumentationLink")inletdocumentationTitle=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"DocumentationTitle")inletlongDescription=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"LongDescription")inletshortDescription=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"ShortDescription")inlettitle=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Title")inmake?documentationLink?documentationTitle?longDescription?shortDescription?title()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdocumentationLink=field_mapjson__"DocumentationLink"String_.of_jsoninletdocumentationTitle=field_mapjson__"DocumentationTitle"String_.of_jsoninletlongDescription=field_mapjson__"LongDescription"String_.of_jsoninletshortDescription=field_mapjson__"ShortDescription"String_.of_jsoninlettitle=field_mapjson__"Title"String_.of_jsoninmake?documentationLink?documentationTitle?longDescription?shortDescription?title()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Provides help information on the registration type."]moduleSupportedAssociationList=structtypenonrect=SupportedAssociation.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:SupportedAssociation.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:SupportedAssociation.of_xml)letof_jsonj=list_of_json~kind:"SupportedAssociationList"~of_json:SupportedAssociation.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleRegistrationTypeFilterName=structtypenonrect=|Supported_association_resource_type|Supported_association_iso_country_code|Non_static_idofstringletmakei=iletto_string=function|Supported_association_resource_type->"supported-association-resource-type"|Supported_association_iso_country_code->"supported-association-iso-country-code"|Non_static_ids->sletof_string=function|"supported-association-resource-type"->Supported_association_resource_type|"supported-association-iso-country-code"->Supported_association_iso_country_code|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 RegistrationTypeFilterName"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"RegistrationTypeFilterName"j)letto_json=simple_to_jsonto_valueendmoduleRegistrationSectionDisplayHints=structtypenonrect={title:String_.toption[@ocaml.doc"The title of the display hint."];shortDescription:String_.toption[@ocaml.doc"A short description of the display hint."];longDescription:String_.toption[@ocaml.doc"A full description of the display hint."];documentationTitle:String_.toption[@ocaml.doc"The title of the document the display hint is associated with."];documentationLink:String_.toption[@ocaml.doc"The link to the document the display hint is associated with."]}letmake?title=fun?shortDescription->fun?longDescription->fun?documentationTitle->fun?documentationLink->fun()->{title;shortDescription;longDescription;documentationTitle;documentationLink}letto_valuex=structure_to_value[("Title",(Option.mapx.title~f:String_.to_value));("ShortDescription",(Option.mapx.shortDescription~f:String_.to_value));("LongDescription",(Option.mapx.longDescription~f:String_.to_value));("DocumentationTitle",(Option.mapx.documentationTitle~f:String_.to_value));("DocumentationLink",(Option.mapx.documentationLink~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdocumentationLink=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"DocumentationLink")inletdocumentationTitle=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"DocumentationTitle")inletlongDescription=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"LongDescription")inletshortDescription=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"ShortDescription")inlettitle=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Title")inmake?documentationLink?documentationTitle?longDescription?shortDescription?title()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdocumentationLink=field_mapjson__"DocumentationLink"String_.of_jsoninletdocumentationTitle=field_mapjson__"DocumentationTitle"String_.of_jsoninletlongDescription=field_mapjson__"LongDescription"String_.of_jsoninletshortDescription=field_mapjson__"ShortDescription"String_.of_jsoninlettitle=field_mapjson__"Title"String_.of_jsoninmake?documentationLink?documentationTitle?longDescription?shortDescription?title()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Provides help information on the registration section."]moduleSectionPath=structtypenonrect=stringletcontext_="SectionPath"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:100)>>=(fun()->check_patterni~pattern:"[A-Za-z0-9_]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"SectionPath"jletto_json=simple_to_jsonto_valueendmoduleFieldPath=structtypenonrect=stringletcontext_="FieldPath"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:100)>>=(fun()->check_patterni~pattern:"[A-Za-z0-9_\\.]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"FieldPath"jletto_json=simple_to_jsonto_valueendmoduleRegistrationAttachmentIdOrArn=structtypenonrect=stringletcontext_="RegistrationAttachmentIdOrArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:256)>>=(fun()->check_patterni~pattern:"[A-Za-z0-9_:/-]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"RegistrationAttachmentIdOrArn"jletto_json=simple_to_jsonto_valueendmoduleSelectChoiceList=structtypenonrect=SelectChoice.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:100)>>=(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:SelectChoice.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:SelectChoice.of_xml)letof_jsonj=list_of_json~kind:"SelectChoiceList"~of_json:SelectChoice.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleTextValue=structtypenonrect=stringletcontext_="TextValue"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:2048)>>=(fun()->check_string_mini~min:1));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"TextValue"jletto_json=simple_to_jsonto_valueendmoduleFieldRequirement=structtypenonrect=|REQUIRED|CONDITIONAL|OPTIONAL|Non_static_idofstringletmakei=iletto_string=function|REQUIRED->"REQUIRED"|CONDITIONAL->"CONDITIONAL"|OPTIONAL->"OPTIONAL"|Non_static_ids->sletof_string=function|"REQUIRED"->REQUIRED|"CONDITIONAL"->CONDITIONAL|"OPTIONAL"->OPTIONAL|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 FieldRequirement"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"FieldRequirement"j)letto_json=simple_to_jsonto_valueendmoduleFieldType=structtypenonrect=|SELECT|TEXT|ATTACHMENT|Non_static_idofstringletmakei=iletto_string=function|SELECT->"SELECT"|TEXT->"TEXT"|ATTACHMENT->"ATTACHMENT"|Non_static_ids->sletof_string=function|"SELECT"->SELECT|"TEXT"->TEXT|"ATTACHMENT"->ATTACHMENT|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 FieldType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"FieldType"j)letto_json=simple_to_jsonto_valueendmoduleRegistrationFieldDisplayHints=structtypenonrect={title:String_.toption[@ocaml.doc"The title of the display hint."];shortDescription:String_.toption[@ocaml.doc"A short description of the display hint."];longDescription:String_.toption[@ocaml.doc"A full description of the display hint."];documentationTitle:String_.toption[@ocaml.doc"The title of the document the display hint is associated with."];documentationLink:String_.toption[@ocaml.doc"The link to the document the display hint is associated with."];selectOptionDescriptions:SelectOptionDescriptionsList.toption[@ocaml.doc"An array of SelectOptionDescription objects."];textValidationDescription:String_.toption[@ocaml.doc"The validation rules for the text field."];exampleTextValue:String_.toption[@ocaml.doc"Example text of what the value of a field should contain."]}letmake?title=fun?shortDescription->fun?longDescription->fun?documentationTitle->fun?documentationLink->fun?selectOptionDescriptions->fun?textValidationDescription->fun?exampleTextValue->fun()->{title;shortDescription;longDescription;documentationTitle;documentationLink;selectOptionDescriptions;textValidationDescription;exampleTextValue}letto_valuex=structure_to_value[("Title",(Option.mapx.title~f:String_.to_value));("ShortDescription",(Option.mapx.shortDescription~f:String_.to_value));("LongDescription",(Option.mapx.longDescription~f:String_.to_value));("DocumentationTitle",(Option.mapx.documentationTitle~f:String_.to_value));("DocumentationLink",(Option.mapx.documentationLink~f:String_.to_value));("SelectOptionDescriptions",(Option.mapx.selectOptionDescriptions~f:SelectOptionDescriptionsList.to_value));("TextValidationDescription",(Option.mapx.textValidationDescription~f:String_.to_value));("ExampleTextValue",(Option.mapx.exampleTextValue~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letexampleTextValue=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"ExampleTextValue")inlettextValidationDescription=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"TextValidationDescription")inletselectOptionDescriptions=(Option.map~f:SelectOptionDescriptionsList.of_xml)(Xml.childxml_arg0"SelectOptionDescriptions")inletdocumentationLink=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"DocumentationLink")inletdocumentationTitle=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"DocumentationTitle")inletlongDescription=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"LongDescription")inletshortDescription=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"ShortDescription")inlettitle=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Title")inmake?exampleTextValue?textValidationDescription?selectOptionDescriptions?documentationLink?documentationTitle?longDescription?shortDescription?title()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letexampleTextValue=field_mapjson__"ExampleTextValue"String_.of_jsoninlettextValidationDescription=field_mapjson__"TextValidationDescription"String_.of_jsoninletselectOptionDescriptions=field_mapjson__"SelectOptionDescriptions"SelectOptionDescriptionsList.of_jsoninletdocumentationLink=field_mapjson__"DocumentationLink"String_.of_jsoninletdocumentationTitle=field_mapjson__"DocumentationTitle"String_.of_jsoninletlongDescription=field_mapjson__"LongDescription"String_.of_jsoninletshortDescription=field_mapjson__"ShortDescription"String_.of_jsoninlettitle=field_mapjson__"Title"String_.of_jsoninmake?exampleTextValue?textValidationDescription?selectOptionDescriptions?documentationLink?documentationTitle?longDescription?shortDescription?title()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Provides help information on the registration field."]moduleSelectValidation=structtypenonrect={minChoices:Integer.toption[@ocaml.doc"The minimum number of choices for the select."];maxChoices:Integer.toption[@ocaml.doc"The maximum number of choices for the select."];options:StringList.toption[@ocaml.doc"An array of strings for the possible selection options."]}letmake?minChoices=fun?maxChoices->fun?options->fun()->{minChoices;maxChoices;options}letto_valuex=structure_to_value[("MinChoices",(Option.mapx.minChoices~f:Integer.to_value));("MaxChoices",(Option.mapx.maxChoices~f:Integer.to_value));("Options",(Option.mapx.options~f:StringList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letoptions=(Option.map~f:StringList.of_xml)(Xml.childxml_arg0"Options")inletmaxChoices=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"MaxChoices")inletminChoices=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"MinChoices")inmake?options?maxChoices?minChoices()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letoptions=field_mapjson__"Options"StringList.of_jsoninletmaxChoices=field_mapjson__"MaxChoices"Integer.of_jsoninletminChoices=field_mapjson__"MinChoices"Integer.of_jsoninmake?options?maxChoices?minChoices()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Validation rules for a select field."]moduleTextValidation=structtypenonrect={minLength:Integer.toption[@ocaml.doc"The minimum number of characters for the text field."];maxLength:Integer.toption[@ocaml.doc"The maximum number of characters for the text field."];pattern:String_.toption[@ocaml.doc"The regular expression used to validate the text field."]}letmake?minLength=fun?maxLength->fun?pattern->fun()->{minLength;maxLength;pattern}letto_valuex=structure_to_value[("MinLength",(Option.mapx.minLength~f:Integer.to_value));("MaxLength",(Option.mapx.maxLength~f:Integer.to_value));("Pattern",(Option.mapx.pattern~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letpattern=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Pattern")inletmaxLength=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"MaxLength")inletminLength=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"MinLength")inmake?pattern?maxLength?minLength()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letpattern=field_mapjson__"Pattern"String_.of_jsoninletmaxLength=field_mapjson__"MaxLength"Integer.of_jsoninletminLength=field_mapjson__"MinLength"Integer.of_jsoninmake?pattern?maxLength?minLength()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Validation rules for a text field."]moduleAttachmentStatus=structtypenonrect=|UPLOAD_IN_PROGRESS|UPLOAD_COMPLETE|UPLOAD_FAILED|DELETED|Non_static_idofstringletmakei=iletto_string=function|UPLOAD_IN_PROGRESS->"UPLOAD_IN_PROGRESS"|UPLOAD_COMPLETE->"UPLOAD_COMPLETE"|UPLOAD_FAILED->"UPLOAD_FAILED"|DELETED->"DELETED"|Non_static_ids->sletof_string=function|"UPLOAD_IN_PROGRESS"->UPLOAD_IN_PROGRESS|"UPLOAD_COMPLETE"->UPLOAD_COMPLETE|"UPLOAD_FAILED"->UPLOAD_FAILED|"DELETED"->DELETED|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 AttachmentStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"AttachmentStatus"j)letto_json=simple_to_jsonto_valueendmoduleAttachmentUploadErrorReason=structtypenonrect=|INTERNAL_ERROR|Non_static_idofstringletmakei=iletto_string=function|INTERNAL_ERROR->"INTERNAL_ERROR"|Non_static_ids->sletof_string=function|"INTERNAL_ERROR"->INTERNAL_ERROR|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 AttachmentUploadErrorReason"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"AttachmentUploadErrorReason"j)letto_json=simple_to_jsonto_valueendmoduleRegistrationAttachmentFilterName=structtypenonrect=|Attachment_status|Non_static_idofstringletmakei=iletto_string=function|Attachment_status->"attachment-status"|Non_static_ids->sletof_string=function|"attachment-status"->Attachment_status|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 RegistrationAttachmentFilterName"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"RegistrationAttachmentFilterName"j)letto_json=simple_to_jsonto_valueendmoduleOptOutListName=structtypenonrect=stringletcontext_="OptOutListName"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:64)>>=(fun()->check_patterni~pattern:"[A-Za-z0-9_-]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"OptOutListName"jletto_json=simple_to_jsonto_valueendmoduleRcsAgentStatus=structtypenonrect=|CREATED|PENDING|TESTING|PARTIAL|ACTIVE|DELETED|Non_static_idofstringletmakei=iletto_string=function|CREATED->"CREATED"|PENDING->"PENDING"|TESTING->"TESTING"|PARTIAL->"PARTIAL"|ACTIVE->"ACTIVE"|DELETED->"DELETED"|Non_static_ids->sletof_string=function|"CREATED"->CREATED|"PENDING"->PENDING|"TESTING"->TESTING|"PARTIAL"->PARTIAL|"ACTIVE"->ACTIVE|"DELETED"->DELETED|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 RcsAgentStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"RcsAgentStatus"j)letto_json=simple_to_jsonto_valueendmoduleTestingAgentInformation=structtypenonrect={status:TestingAgentStatus.toption[@ocaml.doc"The current status of the testing agent."];testingAgentId:String_.toption[@ocaml.doc"The unique identifier for the testing agent."];registrationId:String_.toption[@ocaml.doc"The unique identifier of the registration associated with the testing agent."]}letmake?status=fun?testingAgentId->fun?registrationId->fun()->{status;testingAgentId;registrationId}letto_valuex=structure_to_value[("Status",(Option.mapx.status~f:TestingAgentStatus.to_value));("TestingAgentId",(Option.mapx.testingAgentId~f:String_.to_value));("RegistrationId",(Option.mapx.registrationId~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letregistrationId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RegistrationId")inlettestingAgentId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"TestingAgentId")inletstatus=(Option.map~f:TestingAgentStatus.of_xml)(Xml.childxml_arg0"Status")inmake?registrationId?testingAgentId?status()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letregistrationId=field_mapjson__"RegistrationId"String_.of_jsoninlettestingAgentId=field_mapjson__"TestingAgentId"String_.of_jsoninletstatus=field_mapjson__"Status"TestingAgentStatus.of_jsoninmake?registrationId?testingAgentId?status()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Contains details about the testing agent associated with an RCS agent."]moduleTwoWayChannelArn=structtypenonrect=stringletcontext_="TwoWayChannelArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:20)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:"\\S+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"TwoWayChannelArn"jletto_json=simple_to_jsonto_valueendmoduleRcsAgentFilterName=structtypenonrect=|Status|Two_way_enabled|Self_managed_opt_outs_enabled|Opt_out_list_name|Deletion_protection_enabled|Two_way_channel_arn|Non_static_idofstringletmakei=iletto_string=function|Status->"status"|Two_way_enabled->"two-way-enabled"|Self_managed_opt_outs_enabled->"self-managed-opt-outs-enabled"|Opt_out_list_name->"opt-out-list-name"|Deletion_protection_enabled->"deletion-protection-enabled"|Two_way_channel_arn->"two-way-channel-arn"|Non_static_ids->sletof_string=function|"status"->Status|"two-way-enabled"->Two_way_enabled|"self-managed-opt-outs-enabled"->Self_managed_opt_outs_enabled|"opt-out-list-name"->Opt_out_list_name|"deletion-protection-enabled"->Deletion_protection_enabled|"two-way-channel-arn"->Two_way_channel_arn|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 RcsAgentFilterName"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"RcsAgentFilterName"j)letto_json=simple_to_jsonto_valueendmoduleCarrierStatusInformationList=structtypenonrect=CarrierStatusInformation.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:CarrierStatusInformation.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:CarrierStatusInformation.of_xml)letof_jsonj=list_of_json~kind:"CarrierStatusInformationList"~of_json:CarrierStatusInformation.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleCountryLaunchStatus=structtypenonrect=|CREATED|PENDING|PARTIAL|ACTIVE|REJECTED|Non_static_idofstringletmakei=iletto_string=function|CREATED->"CREATED"|PENDING->"PENDING"|PARTIAL->"PARTIAL"|ACTIVE->"ACTIVE"|REJECTED->"REJECTED"|Non_static_ids->sletof_string=function|"CREATED"->CREATED|"PENDING"->PENDING|"PARTIAL"->PARTIAL|"ACTIVE"->ACTIVE|"REJECTED"->REJECTED|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 CountryLaunchStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"CountryLaunchStatus"j)letto_json=simple_to_jsonto_valueendmoduleCountryLaunchStatusFilterName=structtypenonrect=|Country_launch_status|Non_static_idofstringletmakei=iletto_string=function|Country_launch_status->"country-launch-status"|Non_static_ids->sletof_string=function|"country-launch-status"->Country_launch_status|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 CountryLaunchStatusFilterName"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"CountryLaunchStatusFilterName"j)letto_json=simple_to_jsonto_valueendmoduleProtectConfigurationArn=structtypenonrect=stringletcontext_="ProtectConfigurationArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:256)>>=(fun()->check_patterni~pattern:"arn:\\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:"ProtectConfigurationArn"jletto_json=simple_to_jsonto_valueendmoduleProtectConfigurationId=structtypenonrect=stringletcontext_="ProtectConfigurationId"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:64)>>=(fun()->check_patterni~pattern:"[A-Za-z0-9_-]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ProtectConfigurationId"jletto_json=simple_to_jsonto_valueendmoduleProtectConfigurationFilterName=structtypenonrect=|Account_default|Deletion_protection_enabled|Non_static_idofstringletmakei=iletto_string=function|Account_default->"account-default"|Deletion_protection_enabled->"deletion-protection-enabled"|Non_static_ids->sletof_string=function|"account-default"->Account_default|"deletion-protection-enabled"->Deletion_protection_enabled|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 ProtectConfigurationFilterName"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ProtectConfigurationFilterName"j)letto_json=simple_to_jsonto_valueendmodulePoolStatus=structtypenonrect=|CREATING|ACTIVE|DELETING|Non_static_idofstringletmakei=iletto_string=function|CREATING->"CREATING"|ACTIVE->"ACTIVE"|DELETING->"DELETING"|Non_static_ids->sletof_string=function|"CREATING"->CREATING|"ACTIVE"->ACTIVE|"DELETING"->DELETING|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 PoolStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"PoolStatus"j)letto_json=simple_to_jsonto_valueendmodulePoolFilterName=structtypenonrect=|Status|Message_type|Two_way_enabled|Self_managed_opt_outs_enabled|Opt_out_list_name|Shared_routes_enabled|Deletion_protection_enabled|Two_way_channel_arn|Non_static_idofstringletmakei=iletto_string=function|Status->"status"|Message_type->"message-type"|Two_way_enabled->"two-way-enabled"|Self_managed_opt_outs_enabled->"self-managed-opt-outs-enabled"|Opt_out_list_name->"opt-out-list-name"|Shared_routes_enabled->"shared-routes-enabled"|Deletion_protection_enabled->"deletion-protection-enabled"|Two_way_channel_arn->"two-way-channel-arn"|Non_static_ids->sletof_string=function|"status"->Status|"message-type"->Message_type|"two-way-enabled"->Two_way_enabled|"self-managed-opt-outs-enabled"->Self_managed_opt_outs_enabled|"opt-out-list-name"->Opt_out_list_name|"shared-routes-enabled"->Shared_routes_enabled|"deletion-protection-enabled"->Deletion_protection_enabled|"two-way-channel-arn"->Two_way_channel_arn|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 PoolFilterName"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"PoolFilterName"j)letto_json=simple_to_jsonto_valueendmoduleNumberStatus=structtypenonrect=|PENDING|ACTIVE|ASSOCIATING|DISASSOCIATING|DELETED|Non_static_idofstringletmakei=iletto_string=function|PENDING->"PENDING"|ACTIVE->"ACTIVE"|ASSOCIATING->"ASSOCIATING"|DISASSOCIATING->"DISASSOCIATING"|DELETED->"DELETED"|Non_static_ids->sletof_string=function|"PENDING"->PENDING|"ACTIVE"->ACTIVE|"ASSOCIATING"->ASSOCIATING|"DISASSOCIATING"->DISASSOCIATING|"DELETED"->DELETED|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 NumberStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"NumberStatus"j)letto_json=simple_to_jsonto_valueendmoduleNumberType=structtypenonrect=|SHORT_CODE|LONG_CODE|TOLL_FREE|TEN_DLC|SIMULATOR|Non_static_idofstringletmakei=iletto_string=function|SHORT_CODE->"SHORT_CODE"|LONG_CODE->"LONG_CODE"|TOLL_FREE->"TOLL_FREE"|TEN_DLC->"TEN_DLC"|SIMULATOR->"SIMULATOR"|Non_static_ids->sletof_string=function|"SHORT_CODE"->SHORT_CODE|"LONG_CODE"->LONG_CODE|"TOLL_FREE"->TOLL_FREE|"TEN_DLC"->TEN_DLC|"SIMULATOR"->SIMULATOR|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 NumberType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"NumberType"j)letto_json=simple_to_jsonto_valueendmodulePhoneNumberFilterName=structtypenonrect=|Status|Iso_country_code|Message_type|Number_capability|Number_type|Two_way_enabled|Self_managed_opt_outs_enabled|Opt_out_list_name|Deletion_protection_enabled|Two_way_channel_arn|Non_static_idofstringletmakei=iletto_string=function|Status->"status"|Iso_country_code->"iso-country-code"|Message_type->"message-type"|Number_capability->"number-capability"|Number_type->"number-type"|Two_way_enabled->"two-way-enabled"|Self_managed_opt_outs_enabled->"self-managed-opt-outs-enabled"|Opt_out_list_name->"opt-out-list-name"|Deletion_protection_enabled->"deletion-protection-enabled"|Two_way_channel_arn->"two-way-channel-arn"|Non_static_ids->sletof_string=function|"status"->Status|"iso-country-code"->Iso_country_code|"message-type"->Message_type|"number-capability"->Number_capability|"number-type"->Number_type|"two-way-enabled"->Two_way_enabled|"self-managed-opt-outs-enabled"->Self_managed_opt_outs_enabled|"opt-out-list-name"->Opt_out_list_name|"deletion-protection-enabled"->Deletion_protection_enabled|"two-way-channel-arn"->Two_way_channel_arn|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 PhoneNumberFilterName"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"PhoneNumberFilterName"j)letto_json=simple_to_jsonto_valueendmoduleOptedOutFilterName=structtypenonrect=|End_user_opted_out|Non_static_idofstringletmakei=iletto_string=function|End_user_opted_out->"end-user-opted-out"|Non_static_ids->sletof_string=function|"end-user-opted-out"->End_user_opted_out|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 OptedOutFilterName"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"OptedOutFilterName"j)letto_json=simple_to_jsonto_valueendmoduleIsoCountryCodeList=structtypenonrect=IsoCountryCode.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:300)>>=(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:IsoCountryCode.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:IsoCountryCode.of_xml)letof_jsonj=list_of_json~kind:"IsoCountryCodeList"~of_json:IsoCountryCode.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleNotifyConfigurationTierList=structtypenonrect=NotifyConfigurationTier.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:2)>>=(fun()->check_list_mini~min:1));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:NotifyConfigurationTier.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:NotifyConfigurationTier.of_xml)letof_jsonj=list_of_json~kind:"NotifyConfigurationTierList"~of_json:NotifyConfigurationTier.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleNotifyLanguageCode=structtypenonrect=stringletcontext_="NotifyLanguageCode"letmakei=letopenResultinok_or_failwith((check_string_mini~min:2)>>=(fun()->(check_string_maxi~max:5)>>=(fun()->check_patterni~pattern:"[a-z]{2}(-[A-Z]{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:"NotifyLanguageCode"jletto_json=simple_to_jsonto_valueendmoduleNotifyTemplateId=structtypenonrect=string[@@ocaml.doc"Template identifier for notify templates. In UpdateNotifyConfiguration, pass UNSET_DEFAULT_TEMPLATE to clear the default template. The UNSET_DEFAULT_TEMPLATE value is only accepted by UpdateNotifyConfiguration."]letcontext_="NotifyTemplateId"letmakei=letopenResultinok_or_failwith((check_string_mini~min:0)>>=(fun()->(check_string_maxi~max:256)>>=(fun()->check_patterni~pattern:"([A-Za-z0-9_-]*|UNSET_DEFAULT_TEMPLATE)")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"NotifyTemplateId"jletto_json=simple_to_jsonto_valueend[@@ocaml.doc"Template identifier for notify templates. In UpdateNotifyConfiguration, pass UNSET_DEFAULT_TEMPLATE to clear the default template. The UNSET_DEFAULT_TEMPLATE value is only accepted by UpdateNotifyConfiguration."]moduleNotifyTemplateStatus=structtypenonrect=|ACTIVE|INACTIVE|Non_static_idofstringletmakei=iletto_string=function|ACTIVE->"ACTIVE"|INACTIVE->"INACTIVE"|Non_static_ids->sletof_string=function|"ACTIVE"->ACTIVE|"INACTIVE"->INACTIVE|x->Non_static_idxletto_valuex=`Enum(to_stringx)letto_queryv=to_queryto_valuevletto_headerx=to_stringxletof_xmlxml_arg0=of_string(string_of_xml~kind:"enumeration NotifyTemplateStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"NotifyTemplateStatus"j)letto_json=simple_to_jsonto_valueendmoduleNotifyTemplateType=structtypenonrect=|OTP_VERIFICATION|Non_static_idofstringletmakei=iletto_string=function|OTP_VERIFICATION->"OTP_VERIFICATION"|Non_static_ids->sletof_string=function|"OTP_VERIFICATION"->OTP_VERIFICATION|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 NotifyTemplateType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"NotifyTemplateType"j)letto_json=simple_to_jsonto_valueendmoduleNotifyTemplateVersion=structtypenonrect=intletmakei=letopenResultinok_or_failwith(check_int_mini~min:1);iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for NotifyTemplateVersion"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleTemplateContent=structtypenonrect=stringletcontext_="TemplateContent"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:"TemplateContent"jletto_json=simple_to_jsonto_valueendmoduleTemplateVariablesMap=structtypenonrect=(String_.t*TemplateVariableMetadata.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 TemplateVariableMetadata"))))letto_valuexs=(xs|>(List.map~f:(fun(x,y)->(String_.to_valuex)|>(funx->(TemplateVariableMetadata.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:TemplateVariableMetadata.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleVoiceIdList=structtypenonrect=VoiceId.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:60)>>=(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:VoiceId.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:VoiceId.of_xml)letof_jsonj=list_of_json~kind:"VoiceIdList"~of_json:VoiceId.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleNotifyTemplateFilterName=structtypenonrect=|Template_type|Channels|Tier_access|Supported_countries|Language_code|Supported_voice_ids|Non_static_idofstringletmakei=iletto_string=function|Template_type->"template-type"|Channels->"channels"|Tier_access->"tier-access"|Supported_countries->"supported-countries"|Language_code->"language-code"|Supported_voice_ids->"supported-voice-ids"|Non_static_ids->sletof_string=function|"template-type"->Template_type|"channels"->Channels|"tier-access"->Tier_access|"supported-countries"->Supported_countries|"language-code"->Language_code|"supported-voice-ids"->Supported_voice_ids|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 NotifyTemplateFilterName"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"NotifyTemplateFilterName"j)letto_json=simple_to_jsonto_valueendmoduleNotifyConfigurationArn=structtypenonrect=stringletcontext_="NotifyConfigurationArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:256)>>=(fun()->check_patterni~pattern:"arn:\\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:"NotifyConfigurationArn"jletto_json=simple_to_jsonto_valueendmoduleNotifyConfigurationDisplayName=structtypenonrect=stringletcontext_="NotifyConfigurationDisplayName"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:15)>>=(fun()->check_patterni~pattern:"[A-Za-z0-9_ -]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"NotifyConfigurationDisplayName"jletto_json=simple_to_jsonto_valueendmoduleNotifyConfigurationId=structtypenonrect=stringletcontext_="NotifyConfigurationId"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:64)>>=(fun()->check_patterni~pattern:"[A-Za-z0-9_-]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"NotifyConfigurationId"jletto_json=simple_to_jsonto_valueendmoduleNotifyConfigurationStatus=structtypenonrect=|PENDING|ACTIVE|REJECTED|REQUIRES_VERIFICATION|Non_static_idofstringletmakei=iletto_string=function|PENDING->"PENDING"|ACTIVE->"ACTIVE"|REJECTED->"REJECTED"|REQUIRES_VERIFICATION->"REQUIRES_VERIFICATION"|Non_static_ids->sletof_string=function|"PENDING"->PENDING|"ACTIVE"->ACTIVE|"REJECTED"->REJECTED|"REQUIRES_VERIFICATION"->REQUIRES_VERIFICATION|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 NotifyConfigurationStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"NotifyConfigurationStatus"j)letto_json=simple_to_jsonto_valueendmoduleTierUpgradeStatus=structtypenonrect=|BASIC|PENDING_UPGRADE|ADVANCED|REJECTED|Non_static_idofstringletmakei=iletto_string=function|BASIC->"BASIC"|PENDING_UPGRADE->"PENDING_UPGRADE"|ADVANCED->"ADVANCED"|REJECTED->"REJECTED"|Non_static_ids->sletof_string=function|"BASIC"->BASIC|"PENDING_UPGRADE"->PENDING_UPGRADE|"ADVANCED"->ADVANCED|"REJECTED"->REJECTED|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 TierUpgradeStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"TierUpgradeStatus"j)letto_json=simple_to_jsonto_valueendmoduleNotifyConfigurationFilterName=structtypenonrect=|Display_name|Enabled_countries|Enabled_channels|Default_template|Default_pool|Use_case|Status|Deletion_protection_enabled|Tier_upgrade_status|Non_static_idofstringletmakei=iletto_string=function|Display_name->"display-name"|Enabled_countries->"enabled-countries"|Enabled_channels->"enabled-channels"|Default_template->"default-template"|Default_pool->"default-pool"|Use_case->"use-case"|Status->"status"|Deletion_protection_enabled->"deletion-protection-enabled"|Tier_upgrade_status->"tier-upgrade-status"|Non_static_ids->sletof_string=function|"display-name"->Display_name|"enabled-countries"->Enabled_countries|"enabled-channels"->Enabled_channels|"default-template"->Default_template|"default-pool"->Default_pool|"use-case"->Use_case|"status"->Status|"deletion-protection-enabled"->Deletion_protection_enabled|"tier-upgrade-status"->Tier_upgrade_status|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 NotifyConfigurationFilterName"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"NotifyConfigurationFilterName"j)letto_json=simple_to_jsonto_valueendmoduleKeyword=structtypenonrect=stringletcontext_="Keyword"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:30)>>=(fun()->check_patterni~pattern:"[ \\S]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"Keyword"jletto_json=simple_to_jsonto_valueendmoduleKeywordAction=structtypenonrect=|AUTOMATIC_RESPONSE|OPT_OUT|OPT_IN|Non_static_idofstringletmakei=iletto_string=function|AUTOMATIC_RESPONSE->"AUTOMATIC_RESPONSE"|OPT_OUT->"OPT_OUT"|OPT_IN->"OPT_IN"|Non_static_ids->sletof_string=function|"AUTOMATIC_RESPONSE"->AUTOMATIC_RESPONSE|"OPT_OUT"->OPT_OUT|"OPT_IN"->OPT_IN|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 KeywordAction"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"KeywordAction"j)letto_json=simple_to_jsonto_valueendmoduleKeywordMessage=structtypenonrect=stringletcontext_="KeywordMessage"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:1600)>>=(fun()->check_patterni~pattern:"(?!\\s*$)[\\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:"KeywordMessage"jletto_json=simple_to_jsonto_valueendmoduleKeywordFilterName=structtypenonrect=|Keyword_action|Non_static_idofstringletmakei=iletto_string=function|Keyword_action->"keyword-action"|Non_static_ids->sletof_string=function|"keyword-action"->Keyword_action|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 KeywordFilterName"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"KeywordFilterName"j)letto_json=simple_to_jsonto_valueendmoduleConfigurationSetName=structtypenonrect=stringletcontext_="ConfigurationSetName"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:64)>>=(fun()->check_patterni~pattern:"[A-Za-z0-9_-]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ConfigurationSetName"jletto_json=simple_to_jsonto_valueendmoduleEventDestinationList=structtypenonrect=EventDestination.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:EventDestination.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:EventDestination.of_xml)letof_jsonj=list_of_json~kind:"EventDestinationList"~of_json:EventDestination.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleProtectConfigurationIdOrArn=structtypenonrect=stringletcontext_="ProtectConfigurationIdOrArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:256)>>=(fun()->check_patterni~pattern:"[A-Za-z0-9_:/-]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ProtectConfigurationIdOrArn"jletto_json=simple_to_jsonto_valueendmoduleConfigurationSetFilterName=structtypenonrect=|Event_destination_name|Matching_event_types|Default_message_type|Default_sender_id|Default_message_feedback_enabled|Protect_configuration_id|Non_static_idofstringletmakei=iletto_string=function|Event_destination_name->"event-destination-name"|Matching_event_types->"matching-event-types"|Default_message_type->"default-message-type"|Default_sender_id->"default-sender-id"|Default_message_feedback_enabled->"default-message-feedback-enabled"|Protect_configuration_id->"protect-configuration-id"|Non_static_ids->sletof_string=function|"event-destination-name"->Event_destination_name|"matching-event-types"->Matching_event_types|"default-message-type"->Default_message_type|"default-sender-id"->Default_sender_id|"default-message-feedback-enabled"->Default_message_feedback_enabled|"protect-configuration-id"->Protect_configuration_id|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 ConfigurationSetFilterName"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ConfigurationSetFilterName"j)letto_json=simple_to_jsonto_valueendmoduleAccountLimitName=structtypenonrect=|PHONE_NUMBERS|POOLS|CONFIGURATION_SETS|OPT_OUT_LISTS|SENDER_IDS|REGISTRATIONS|REGISTRATION_ATTACHMENTS|VERIFIED_DESTINATION_NUMBERS|Non_static_idofstringletmakei=iletto_string=function|PHONE_NUMBERS->"PHONE_NUMBERS"|POOLS->"POOLS"|CONFIGURATION_SETS->"CONFIGURATION_SETS"|OPT_OUT_LISTS->"OPT_OUT_LISTS"|SENDER_IDS->"SENDER_IDS"|REGISTRATIONS->"REGISTRATIONS"|REGISTRATION_ATTACHMENTS->"REGISTRATION_ATTACHMENTS"|VERIFIED_DESTINATION_NUMBERS->"VERIFIED_DESTINATION_NUMBERS"|Non_static_ids->sletof_string=function|"PHONE_NUMBERS"->PHONE_NUMBERS|"POOLS"->POOLS|"CONFIGURATION_SETS"->CONFIGURATION_SETS|"OPT_OUT_LISTS"->OPT_OUT_LISTS|"SENDER_IDS"->SENDER_IDS|"REGISTRATIONS"->REGISTRATIONS|"REGISTRATION_ATTACHMENTS"->REGISTRATION_ATTACHMENTS|"VERIFIED_DESTINATION_NUMBERS"->VERIFIED_DESTINATION_NUMBERS|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 AccountLimitName"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"AccountLimitName"j)letto_json=simple_to_jsonto_valueendmoduleAccountAttributeName=structtypenonrect=|ACCOUNT_TIER|DEFAULT_PROTECT_CONFIGURATION_ID|Non_static_idofstringletmakei=iletto_string=function|ACCOUNT_TIER->"ACCOUNT_TIER"|DEFAULT_PROTECT_CONFIGURATION_ID->"DEFAULT_PROTECT_CONFIGURATION_ID"|Non_static_ids->sletof_string=function|"ACCOUNT_TIER"->ACCOUNT_TIER|"DEFAULT_PROTECT_CONFIGURATION_ID"->DEFAULT_PROTECT_CONFIGURATION_ID|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 AccountAttributeName"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"AccountAttributeName"j)letto_json=simple_to_jsonto_valueendmoduleAccessDeniedExceptionReason=structtypenonrect=|INSUFFICIENT_ACCOUNT_REPUTATION|ACCOUNT_DISABLED|Non_static_idofstringletmakei=iletto_string=function|INSUFFICIENT_ACCOUNT_REPUTATION->"INSUFFICIENT_ACCOUNT_REPUTATION"|ACCOUNT_DISABLED->"ACCOUNT_DISABLED"|Non_static_ids->sletof_string=function|"INSUFFICIENT_ACCOUNT_REPUTATION"->INSUFFICIENT_ACCOUNT_REPUTATION|"ACCOUNT_DISABLED"->ACCOUNT_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 AccessDeniedExceptionReason"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"AccessDeniedExceptionReason"j)letto_json=simple_to_jsonto_valueendmoduleConflictExceptionReason=structtypenonrect=|CREATE_REGISTRATION_VERSION_NOT_ALLOWED|DELETION_PROTECTION_ENABLED|DESTINATION_PHONE_NUMBER_NOT_VERIFIED|DESTINATION_PHONE_NUMBER_OPTED_OUT|DISASSOCIATE_REGISTRATION_NOT_ALLOWED|DISCARD_REGISTRATION_VERSION_NOT_ALLOWED|EDIT_REGISTRATION_FIELD_VALUES_NOT_ALLOWED|EVENT_DESTINATION_MISMATCH|KEYWORD_MISMATCH|LAST_PHONE_NUMBER|NUMBER_CAPABILITIES_MISMATCH|MESSAGE_TYPE_MISMATCH|NO_ORIGINATION_IDENTITIES_FOUND|OPT_OUT_LIST_MISMATCH|PHONE_NUMBER_ASSOCIATED_TO_POOL|PHONE_NUMBER_ASSOCIATED_TO_REGISTRATION|PHONE_NUMBER_NOT_ASSOCIATED_TO_POOL|PHONE_NUMBER_NOT_IN_REGISTRATION_REGION|REGISTRATION_ALREADY_SUBMITTED|REGISTRATION_NOT_COMPLETE|RESOURCE_ALREADY_ASSOCIATED|SENDER_ID_ASSOCIATED_TO_POOL|RCS_AGENT_ASSOCIATED_TO_POOL|POOL_ASSOCIATED_TO_NOTIFY_CONFIGURATION|RESOURCE_ALREADY_EXISTS|RESOURCE_DELETION_NOT_ALLOWED|RESOURCE_MODIFICATION_NOT_ALLOWED|RESOURCE_NOT_ACTIVE|RESOURCE_NOT_EMPTY|SELF_MANAGED_OPT_OUTS_MISMATCH|SUBMIT_REGISTRATION_VERSION_NOT_ALLOWED|TWO_WAY_CONFIG_MISMATCH|VERIFICATION_CODE_EXPIRED|VERIFICATION_ALREADY_COMPLETE|PROTECT_CONFIGURATION_IS_ACCOUNT_DEFAULT|PROTECT_CONFIGURATION_ASSOCIATED_WITH_CONFIGURATION_SET|PROTECT_CONFIGURATION_NOT_ASSOCIATED_WITH_CONFIGURATION_SET|DESTINATION_COUNTRY_BLOCKED_BY_PROTECT_CONFIGURATION|DESTINATION_PHONE_NUMBER_BLOCKED_BY_PROTECT_NUMBER_OVERRIDE|RCS_AGENT_ALREADY_ASSOCIATED_TO_REGISTRATION_TYPE|NOTIFY_CONFIGURATION_NOT_ACTIVE|Non_static_idofstringletmakei=iletto_string=function|CREATE_REGISTRATION_VERSION_NOT_ALLOWED->"CREATE_REGISTRATION_VERSION_NOT_ALLOWED"|DELETION_PROTECTION_ENABLED->"DELETION_PROTECTION_ENABLED"|DESTINATION_PHONE_NUMBER_NOT_VERIFIED->"DESTINATION_PHONE_NUMBER_NOT_VERIFIED"|DESTINATION_PHONE_NUMBER_OPTED_OUT->"DESTINATION_PHONE_NUMBER_OPTED_OUT"|DISASSOCIATE_REGISTRATION_NOT_ALLOWED->"DISASSOCIATE_REGISTRATION_NOT_ALLOWED"|DISCARD_REGISTRATION_VERSION_NOT_ALLOWED->"DISCARD_REGISTRATION_VERSION_NOT_ALLOWED"|EDIT_REGISTRATION_FIELD_VALUES_NOT_ALLOWED->"EDIT_REGISTRATION_FIELD_VALUES_NOT_ALLOWED"|EVENT_DESTINATION_MISMATCH->"EVENT_DESTINATION_MISMATCH"|KEYWORD_MISMATCH->"KEYWORD_MISMATCH"|LAST_PHONE_NUMBER->"LAST_PHONE_NUMBER"|NUMBER_CAPABILITIES_MISMATCH->"NUMBER_CAPABILITIES_MISMATCH"|MESSAGE_TYPE_MISMATCH->"MESSAGE_TYPE_MISMATCH"|NO_ORIGINATION_IDENTITIES_FOUND->"NO_ORIGINATION_IDENTITIES_FOUND"|OPT_OUT_LIST_MISMATCH->"OPT_OUT_LIST_MISMATCH"|PHONE_NUMBER_ASSOCIATED_TO_POOL->"PHONE_NUMBER_ASSOCIATED_TO_POOL"|PHONE_NUMBER_ASSOCIATED_TO_REGISTRATION->"PHONE_NUMBER_ASSOCIATED_TO_REGISTRATION"|PHONE_NUMBER_NOT_ASSOCIATED_TO_POOL->"PHONE_NUMBER_NOT_ASSOCIATED_TO_POOL"|PHONE_NUMBER_NOT_IN_REGISTRATION_REGION->"PHONE_NUMBER_NOT_IN_REGISTRATION_REGION"|REGISTRATION_ALREADY_SUBMITTED->"REGISTRATION_ALREADY_SUBMITTED"|REGISTRATION_NOT_COMPLETE->"REGISTRATION_NOT_COMPLETE"|RESOURCE_ALREADY_ASSOCIATED->"RESOURCE_ALREADY_ASSOCIATED"|SENDER_ID_ASSOCIATED_TO_POOL->"SENDER_ID_ASSOCIATED_TO_POOL"|RCS_AGENT_ASSOCIATED_TO_POOL->"RCS_AGENT_ASSOCIATED_TO_POOL"|POOL_ASSOCIATED_TO_NOTIFY_CONFIGURATION->"POOL_ASSOCIATED_TO_NOTIFY_CONFIGURATION"|RESOURCE_ALREADY_EXISTS->"RESOURCE_ALREADY_EXISTS"|RESOURCE_DELETION_NOT_ALLOWED->"RESOURCE_DELETION_NOT_ALLOWED"|RESOURCE_MODIFICATION_NOT_ALLOWED->"RESOURCE_MODIFICATION_NOT_ALLOWED"|RESOURCE_NOT_ACTIVE->"RESOURCE_NOT_ACTIVE"|RESOURCE_NOT_EMPTY->"RESOURCE_NOT_EMPTY"|SELF_MANAGED_OPT_OUTS_MISMATCH->"SELF_MANAGED_OPT_OUTS_MISMATCH"|SUBMIT_REGISTRATION_VERSION_NOT_ALLOWED->"SUBMIT_REGISTRATION_VERSION_NOT_ALLOWED"|TWO_WAY_CONFIG_MISMATCH->"TWO_WAY_CONFIG_MISMATCH"|VERIFICATION_CODE_EXPIRED->"VERIFICATION_CODE_EXPIRED"|VERIFICATION_ALREADY_COMPLETE->"VERIFICATION_ALREADY_COMPLETE"|PROTECT_CONFIGURATION_IS_ACCOUNT_DEFAULT->"PROTECT_CONFIGURATION_IS_ACCOUNT_DEFAULT"|PROTECT_CONFIGURATION_ASSOCIATED_WITH_CONFIGURATION_SET->"PROTECT_CONFIGURATION_ASSOCIATED_WITH_CONFIGURATION_SET"|PROTECT_CONFIGURATION_NOT_ASSOCIATED_WITH_CONFIGURATION_SET->"PROTECT_CONFIGURATION_NOT_ASSOCIATED_WITH_CONFIGURATION_SET"|DESTINATION_COUNTRY_BLOCKED_BY_PROTECT_CONFIGURATION->"DESTINATION_COUNTRY_BLOCKED_BY_PROTECT_CONFIGURATION"|DESTINATION_PHONE_NUMBER_BLOCKED_BY_PROTECT_NUMBER_OVERRIDE->"DESTINATION_PHONE_NUMBER_BLOCKED_BY_PROTECT_NUMBER_OVERRIDE"|RCS_AGENT_ALREADY_ASSOCIATED_TO_REGISTRATION_TYPE->"RCS_AGENT_ALREADY_ASSOCIATED_TO_REGISTRATION_TYPE"|NOTIFY_CONFIGURATION_NOT_ACTIVE->"NOTIFY_CONFIGURATION_NOT_ACTIVE"|Non_static_ids->sletof_string=function|"CREATE_REGISTRATION_VERSION_NOT_ALLOWED"->CREATE_REGISTRATION_VERSION_NOT_ALLOWED|"DELETION_PROTECTION_ENABLED"->DELETION_PROTECTION_ENABLED|"DESTINATION_PHONE_NUMBER_NOT_VERIFIED"->DESTINATION_PHONE_NUMBER_NOT_VERIFIED|"DESTINATION_PHONE_NUMBER_OPTED_OUT"->DESTINATION_PHONE_NUMBER_OPTED_OUT|"DISASSOCIATE_REGISTRATION_NOT_ALLOWED"->DISASSOCIATE_REGISTRATION_NOT_ALLOWED|"DISCARD_REGISTRATION_VERSION_NOT_ALLOWED"->DISCARD_REGISTRATION_VERSION_NOT_ALLOWED|"EDIT_REGISTRATION_FIELD_VALUES_NOT_ALLOWED"->EDIT_REGISTRATION_FIELD_VALUES_NOT_ALLOWED|"EVENT_DESTINATION_MISMATCH"->EVENT_DESTINATION_MISMATCH|"KEYWORD_MISMATCH"->KEYWORD_MISMATCH|"LAST_PHONE_NUMBER"->LAST_PHONE_NUMBER|"NUMBER_CAPABILITIES_MISMATCH"->NUMBER_CAPABILITIES_MISMATCH|"MESSAGE_TYPE_MISMATCH"->MESSAGE_TYPE_MISMATCH|"NO_ORIGINATION_IDENTITIES_FOUND"->NO_ORIGINATION_IDENTITIES_FOUND|"OPT_OUT_LIST_MISMATCH"->OPT_OUT_LIST_MISMATCH|"PHONE_NUMBER_ASSOCIATED_TO_POOL"->PHONE_NUMBER_ASSOCIATED_TO_POOL|"PHONE_NUMBER_ASSOCIATED_TO_REGISTRATION"->PHONE_NUMBER_ASSOCIATED_TO_REGISTRATION|"PHONE_NUMBER_NOT_ASSOCIATED_TO_POOL"->PHONE_NUMBER_NOT_ASSOCIATED_TO_POOL|"PHONE_NUMBER_NOT_IN_REGISTRATION_REGION"->PHONE_NUMBER_NOT_IN_REGISTRATION_REGION|"REGISTRATION_ALREADY_SUBMITTED"->REGISTRATION_ALREADY_SUBMITTED|"REGISTRATION_NOT_COMPLETE"->REGISTRATION_NOT_COMPLETE|"RESOURCE_ALREADY_ASSOCIATED"->RESOURCE_ALREADY_ASSOCIATED|"SENDER_ID_ASSOCIATED_TO_POOL"->SENDER_ID_ASSOCIATED_TO_POOL|"RCS_AGENT_ASSOCIATED_TO_POOL"->RCS_AGENT_ASSOCIATED_TO_POOL|"POOL_ASSOCIATED_TO_NOTIFY_CONFIGURATION"->POOL_ASSOCIATED_TO_NOTIFY_CONFIGURATION|"RESOURCE_ALREADY_EXISTS"->RESOURCE_ALREADY_EXISTS|"RESOURCE_DELETION_NOT_ALLOWED"->RESOURCE_DELETION_NOT_ALLOWED|"RESOURCE_MODIFICATION_NOT_ALLOWED"->RESOURCE_MODIFICATION_NOT_ALLOWED|"RESOURCE_NOT_ACTIVE"->RESOURCE_NOT_ACTIVE|"RESOURCE_NOT_EMPTY"->RESOURCE_NOT_EMPTY|"SELF_MANAGED_OPT_OUTS_MISMATCH"->SELF_MANAGED_OPT_OUTS_MISMATCH|"SUBMIT_REGISTRATION_VERSION_NOT_ALLOWED"->SUBMIT_REGISTRATION_VERSION_NOT_ALLOWED|"TWO_WAY_CONFIG_MISMATCH"->TWO_WAY_CONFIG_MISMATCH|"VERIFICATION_CODE_EXPIRED"->VERIFICATION_CODE_EXPIRED|"VERIFICATION_ALREADY_COMPLETE"->VERIFICATION_ALREADY_COMPLETE|"PROTECT_CONFIGURATION_IS_ACCOUNT_DEFAULT"->PROTECT_CONFIGURATION_IS_ACCOUNT_DEFAULT|"PROTECT_CONFIGURATION_ASSOCIATED_WITH_CONFIGURATION_SET"->PROTECT_CONFIGURATION_ASSOCIATED_WITH_CONFIGURATION_SET|"PROTECT_CONFIGURATION_NOT_ASSOCIATED_WITH_CONFIGURATION_SET"->PROTECT_CONFIGURATION_NOT_ASSOCIATED_WITH_CONFIGURATION_SET|"DESTINATION_COUNTRY_BLOCKED_BY_PROTECT_CONFIGURATION"->DESTINATION_COUNTRY_BLOCKED_BY_PROTECT_CONFIGURATION|"DESTINATION_PHONE_NUMBER_BLOCKED_BY_PROTECT_NUMBER_OVERRIDE"->DESTINATION_PHONE_NUMBER_BLOCKED_BY_PROTECT_NUMBER_OVERRIDE|"RCS_AGENT_ALREADY_ASSOCIATED_TO_REGISTRATION_TYPE"->RCS_AGENT_ALREADY_ASSOCIATED_TO_REGISTRATION_TYPE|"NOTIFY_CONFIGURATION_NOT_ACTIVE"->NOTIFY_CONFIGURATION_NOT_ACTIVE|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 ConflictExceptionReason"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ConflictExceptionReason"j)letto_json=simple_to_jsonto_valueendmoduleResourceType=structtypenonrect=|Account|Phone_number|Sender_id|Pool|Configuration_set|Opt_out_list|Event_destination|Keyword|Opted_out_number|Registration|Registration_attachment|Verified_destination_number|Protect_configuration|Notify_configuration|Notify_template|Message_template|Policy|Message|Rcs_agent|Non_static_idofstringletmakei=iletto_string=function|Account->"account"|Phone_number->"phone-number"|Sender_id->"sender-id"|Pool->"pool"|Configuration_set->"configuration-set"|Opt_out_list->"opt-out-list"|Event_destination->"event-destination"|Keyword->"keyword"|Opted_out_number->"opted-out-number"|Registration->"registration"|Registration_attachment->"registration-attachment"|Verified_destination_number->"verified-destination-number"|Protect_configuration->"protect-configuration"|Notify_configuration->"notify-configuration"|Notify_template->"notify-template"|Message_template->"message-template"|Policy->"policy"|Message->"message"|Rcs_agent->"rcs-agent"|Non_static_ids->sletof_string=function|"account"->Account|"phone-number"->Phone_number|"sender-id"->Sender_id|"pool"->Pool|"configuration-set"->Configuration_set|"opt-out-list"->Opt_out_list|"event-destination"->Event_destination|"keyword"->Keyword|"opted-out-number"->Opted_out_number|"registration"->Registration|"registration-attachment"->Registration_attachment|"verified-destination-number"->Verified_destination_number|"protect-configuration"->Protect_configuration|"notify-configuration"->Notify_configuration|"notify-template"->Notify_template|"message-template"->Message_template|"policy"->Policy|"message"->Message|"rcs-agent"->Rcs_agent|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 ResourceType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ResourceType"j)letto_json=simple_to_jsonto_valueendmoduleValidationExceptionFieldList=structtypenonrect=ValidationExceptionField.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ValidationExceptionField.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:ValidationExceptionField.of_xml)letof_jsonj=list_of_json~kind:"ValidationExceptionFieldList"~of_json:ValidationExceptionField.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleValidationExceptionReason=structtypenonrect=|CANNOT_ADD_OPTED_OUT_NUMBER|CANNOT_PARSE|CHANNEL_NOT_ENABLED|COUNTRY_CODE_MISMATCH|COUNTRY_NOT_ENABLED|DESTINATION_COUNTRY_BLOCKED|FIELD_VALIDATION_FAILED|ATTACHMENT_TYPE_NOT_SUPPORTED|INTERNATIONAL_SENDING_NOT_SUPPORTED|INVALID_ARN|INVALID_FILTER_VALUES|INVALID_IDENTITY_FOR_DESTINATION_COUNTRY|INVALID_NEXT_TOKEN|INVALID_PARAMETER|INVALID_REQUEST|INVALID_REGISTRATION_ASSOCIATION|MAXIMUM_SIZE_EXCEEDED|MEDIA_TYPE_NOT_SUPPORTED|MISSING_PARAMETER|PARAMETERS_CANNOT_BE_USED_TOGETHER|PHONE_NUMBER_CANNOT_BE_OPTED_IN|PHONE_NUMBER_CANNOT_BE_RELEASED|PRICE_OVER_THRESHOLD|RESOURCE_NOT_ACCESSIBLE|REQUESTED_SPEND_LIMIT_HIGHER_THAN_SERVICE_LIMIT|SENDER_ID_NOT_REGISTERED|SENDER_ID_NOT_SUPPORTED|SENDER_ID_REQUIRES_REGISTRATION|TWO_WAY_TOPIC_NOT_PRESENT|TWO_WAY_NOT_ENABLED|TWO_WAY_NOT_SUPPORTED_IN_COUNTRY|TWO_WAY_NOT_SUPPORTED_IN_REGION|TWO_WAY_CHANNEL_NOT_PRESENT|UNKNOWN_REGISTRATION_FIELD|UNKNOWN_REGISTRATION_SECTION|UNKNOWN_REGISTRATION_TYPE|UNKNOWN_REGISTRATION_VERSION|UNKNOWN_OPERATION|REGISTRATION_FIELD_CANNOT_BE_DELETED|VERIFICATION_CODE_MISMATCH|VOICE_CAPABILITY_NOT_AVAILABLE|UNSPECIFIED_PARAMETER_NOT_SUPPORTED|OTHER|Non_static_idofstringletmakei=iletto_string=function|CANNOT_ADD_OPTED_OUT_NUMBER->"CANNOT_ADD_OPTED_OUT_NUMBER"|CANNOT_PARSE->"CANNOT_PARSE"|CHANNEL_NOT_ENABLED->"CHANNEL_NOT_ENABLED"|COUNTRY_CODE_MISMATCH->"COUNTRY_CODE_MISMATCH"|COUNTRY_NOT_ENABLED->"COUNTRY_NOT_ENABLED"|DESTINATION_COUNTRY_BLOCKED->"DESTINATION_COUNTRY_BLOCKED"|FIELD_VALIDATION_FAILED->"FIELD_VALIDATION_FAILED"|ATTACHMENT_TYPE_NOT_SUPPORTED->"ATTACHMENT_TYPE_NOT_SUPPORTED"|INTERNATIONAL_SENDING_NOT_SUPPORTED->"INTERNATIONAL_SENDING_NOT_SUPPORTED"|INVALID_ARN->"INVALID_ARN"|INVALID_FILTER_VALUES->"INVALID_FILTER_VALUES"|INVALID_IDENTITY_FOR_DESTINATION_COUNTRY->"INVALID_IDENTITY_FOR_DESTINATION_COUNTRY"|INVALID_NEXT_TOKEN->"INVALID_NEXT_TOKEN"|INVALID_PARAMETER->"INVALID_PARAMETER"|INVALID_REQUEST->"INVALID_REQUEST"|INVALID_REGISTRATION_ASSOCIATION->"INVALID_REGISTRATION_ASSOCIATION"|MAXIMUM_SIZE_EXCEEDED->"MAXIMUM_SIZE_EXCEEDED"|MEDIA_TYPE_NOT_SUPPORTED->"MEDIA_TYPE_NOT_SUPPORTED"|MISSING_PARAMETER->"MISSING_PARAMETER"|PARAMETERS_CANNOT_BE_USED_TOGETHER->"PARAMETERS_CANNOT_BE_USED_TOGETHER"|PHONE_NUMBER_CANNOT_BE_OPTED_IN->"PHONE_NUMBER_CANNOT_BE_OPTED_IN"|PHONE_NUMBER_CANNOT_BE_RELEASED->"PHONE_NUMBER_CANNOT_BE_RELEASED"|PRICE_OVER_THRESHOLD->"PRICE_OVER_THRESHOLD"|RESOURCE_NOT_ACCESSIBLE->"RESOURCE_NOT_ACCESSIBLE"|REQUESTED_SPEND_LIMIT_HIGHER_THAN_SERVICE_LIMIT->"REQUESTED_SPEND_LIMIT_HIGHER_THAN_SERVICE_LIMIT"|SENDER_ID_NOT_REGISTERED->"SENDER_ID_NOT_REGISTERED"|SENDER_ID_NOT_SUPPORTED->"SENDER_ID_NOT_SUPPORTED"|SENDER_ID_REQUIRES_REGISTRATION->"SENDER_ID_REQUIRES_REGISTRATION"|TWO_WAY_TOPIC_NOT_PRESENT->"TWO_WAY_TOPIC_NOT_PRESENT"|TWO_WAY_NOT_ENABLED->"TWO_WAY_NOT_ENABLED"|TWO_WAY_NOT_SUPPORTED_IN_COUNTRY->"TWO_WAY_NOT_SUPPORTED_IN_COUNTRY"|TWO_WAY_NOT_SUPPORTED_IN_REGION->"TWO_WAY_NOT_SUPPORTED_IN_REGION"|TWO_WAY_CHANNEL_NOT_PRESENT->"TWO_WAY_CHANNEL_NOT_PRESENT"|UNKNOWN_REGISTRATION_FIELD->"UNKNOWN_REGISTRATION_FIELD"|UNKNOWN_REGISTRATION_SECTION->"UNKNOWN_REGISTRATION_SECTION"|UNKNOWN_REGISTRATION_TYPE->"UNKNOWN_REGISTRATION_TYPE"|UNKNOWN_REGISTRATION_VERSION->"UNKNOWN_REGISTRATION_VERSION"|UNKNOWN_OPERATION->"UNKNOWN_OPERATION"|REGISTRATION_FIELD_CANNOT_BE_DELETED->"REGISTRATION_FIELD_CANNOT_BE_DELETED"|VERIFICATION_CODE_MISMATCH->"VERIFICATION_CODE_MISMATCH"|VOICE_CAPABILITY_NOT_AVAILABLE->"VOICE_CAPABILITY_NOT_AVAILABLE"|UNSPECIFIED_PARAMETER_NOT_SUPPORTED->"UNSPECIFIED_PARAMETER_NOT_SUPPORTED"|OTHER->"OTHER"|Non_static_ids->sletof_string=function|"CANNOT_ADD_OPTED_OUT_NUMBER"->CANNOT_ADD_OPTED_OUT_NUMBER|"CANNOT_PARSE"->CANNOT_PARSE|"CHANNEL_NOT_ENABLED"->CHANNEL_NOT_ENABLED|"COUNTRY_CODE_MISMATCH"->COUNTRY_CODE_MISMATCH|"COUNTRY_NOT_ENABLED"->COUNTRY_NOT_ENABLED|"DESTINATION_COUNTRY_BLOCKED"->DESTINATION_COUNTRY_BLOCKED|"FIELD_VALIDATION_FAILED"->FIELD_VALIDATION_FAILED|"ATTACHMENT_TYPE_NOT_SUPPORTED"->ATTACHMENT_TYPE_NOT_SUPPORTED|"INTERNATIONAL_SENDING_NOT_SUPPORTED"->INTERNATIONAL_SENDING_NOT_SUPPORTED|"INVALID_ARN"->INVALID_ARN|"INVALID_FILTER_VALUES"->INVALID_FILTER_VALUES|"INVALID_IDENTITY_FOR_DESTINATION_COUNTRY"->INVALID_IDENTITY_FOR_DESTINATION_COUNTRY|"INVALID_NEXT_TOKEN"->INVALID_NEXT_TOKEN|"INVALID_PARAMETER"->INVALID_PARAMETER|"INVALID_REQUEST"->INVALID_REQUEST|"INVALID_REGISTRATION_ASSOCIATION"->INVALID_REGISTRATION_ASSOCIATION|"MAXIMUM_SIZE_EXCEEDED"->MAXIMUM_SIZE_EXCEEDED|"MEDIA_TYPE_NOT_SUPPORTED"->MEDIA_TYPE_NOT_SUPPORTED|"MISSING_PARAMETER"->MISSING_PARAMETER|"PARAMETERS_CANNOT_BE_USED_TOGETHER"->PARAMETERS_CANNOT_BE_USED_TOGETHER|"PHONE_NUMBER_CANNOT_BE_OPTED_IN"->PHONE_NUMBER_CANNOT_BE_OPTED_IN|"PHONE_NUMBER_CANNOT_BE_RELEASED"->PHONE_NUMBER_CANNOT_BE_RELEASED|"PRICE_OVER_THRESHOLD"->PRICE_OVER_THRESHOLD|"RESOURCE_NOT_ACCESSIBLE"->RESOURCE_NOT_ACCESSIBLE|"REQUESTED_SPEND_LIMIT_HIGHER_THAN_SERVICE_LIMIT"->REQUESTED_SPEND_LIMIT_HIGHER_THAN_SERVICE_LIMIT|"SENDER_ID_NOT_REGISTERED"->SENDER_ID_NOT_REGISTERED|"SENDER_ID_NOT_SUPPORTED"->SENDER_ID_NOT_SUPPORTED|"SENDER_ID_REQUIRES_REGISTRATION"->SENDER_ID_REQUIRES_REGISTRATION|"TWO_WAY_TOPIC_NOT_PRESENT"->TWO_WAY_TOPIC_NOT_PRESENT|"TWO_WAY_NOT_ENABLED"->TWO_WAY_NOT_ENABLED|"TWO_WAY_NOT_SUPPORTED_IN_COUNTRY"->TWO_WAY_NOT_SUPPORTED_IN_COUNTRY|"TWO_WAY_NOT_SUPPORTED_IN_REGION"->TWO_WAY_NOT_SUPPORTED_IN_REGION|"TWO_WAY_CHANNEL_NOT_PRESENT"->TWO_WAY_CHANNEL_NOT_PRESENT|"UNKNOWN_REGISTRATION_FIELD"->UNKNOWN_REGISTRATION_FIELD|"UNKNOWN_REGISTRATION_SECTION"->UNKNOWN_REGISTRATION_SECTION|"UNKNOWN_REGISTRATION_TYPE"->UNKNOWN_REGISTRATION_TYPE|"UNKNOWN_REGISTRATION_VERSION"->UNKNOWN_REGISTRATION_VERSION|"UNKNOWN_OPERATION"->UNKNOWN_OPERATION|"REGISTRATION_FIELD_CANNOT_BE_DELETED"->REGISTRATION_FIELD_CANNOT_BE_DELETED|"VERIFICATION_CODE_MISMATCH"->VERIFICATION_CODE_MISMATCH|"VOICE_CAPABILITY_NOT_AVAILABLE"->VOICE_CAPABILITY_NOT_AVAILABLE|"UNSPECIFIED_PARAMETER_NOT_SUPPORTED"->UNSPECIFIED_PARAMETER_NOT_SUPPORTED|"OTHER"->OTHER|x->Non_static_idxletto_valuex=`Enum(to_stringx)letto_queryv=to_queryto_valuevletto_headerx=to_stringxletof_xmlxml_arg0=of_string(string_of_xml~kind:"enumeration ValidationExceptionReason"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ValidationExceptionReason"j)letto_json=simple_to_jsonto_valueendmoduleProtectConfigurationCountryRuleSetInformation=structtypenonrect={protectStatus:ProtectStatus.t[@ocaml.doc"The types of protection that can be used."]}letcontext_="ProtectConfigurationCountryRuleSetInformation"letmake~protectStatus=fun()->{protectStatus}letto_valuex=structure_to_value[("ProtectStatus",(Some(ProtectStatus.to_valuex.protectStatus)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letprotectStatus=ProtectStatus.of_xml(Xml.child_exn~context:context_xml_arg0"ProtectStatus")inmake~protectStatus()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letprotectStatus=field_map_exnjson__"ProtectStatus"ProtectStatus.of_jsoninmake~protectStatus()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The types of statuses that can be used."]moduleServiceQuotaExceededExceptionReason=structtypenonrect=|ASSOCIATIONS_PER_REGISTRATION|CONFIGURATION_SETS_PER_ACCOUNT|DAILY_DESTINATION_CALL_LIMIT|DAILY_NOTIFY_TIER_MESSAGE_LIMIT|EVENT_DESTINATIONS_PER_CONFIGURATION_SET|KEYWORDS_PER_PHONE_NUMBER|KEYWORDS_PER_POOL|MONTHLY_SPEND_LIMIT_REACHED_FOR_MEDIA|MONTHLY_SPEND_LIMIT_REACHED_FOR_NOTIFY|MONTHLY_SPEND_LIMIT_REACHED_FOR_TEXT|MONTHLY_SPEND_LIMIT_REACHED_FOR_VOICE|NOTIFY_CONFIGURATIONS_PER_ACCOUNT|OPT_OUT_LISTS_PER_ACCOUNT|ORIGINATION_IDENTITIES_PER_POOL|PHONE_NUMBERS_PER_ACCOUNT|PHONE_NUMBERS_PER_REGISTRATION|POOLS_PER_ACCOUNT|RCS_AGENTS_PER_ACCOUNT|REGISTRATION_ATTACHMENTS_CREATED_PER_DAY|REGISTRATION_ATTACHMENTS_PER_ACCOUNT|REGISTRATION_VERSIONS_CREATED_PER_DAY|REGISTRATIONS_PER_ACCOUNT|SENDER_IDS_PER_ACCOUNT|TAGS_PER_RESOURCE|VERIFIED_DESTINATION_NUMBERS_PER_ACCOUNT|VERIFICATION_ATTEMPTS_PER_DAY|PROTECT_CONFIGURATIONS_PER_ACCOUNT|Non_static_idofstringletmakei=iletto_string=function|ASSOCIATIONS_PER_REGISTRATION->"ASSOCIATIONS_PER_REGISTRATION"|CONFIGURATION_SETS_PER_ACCOUNT->"CONFIGURATION_SETS_PER_ACCOUNT"|DAILY_DESTINATION_CALL_LIMIT->"DAILY_DESTINATION_CALL_LIMIT"|DAILY_NOTIFY_TIER_MESSAGE_LIMIT->"DAILY_NOTIFY_TIER_MESSAGE_LIMIT"|EVENT_DESTINATIONS_PER_CONFIGURATION_SET->"EVENT_DESTINATIONS_PER_CONFIGURATION_SET"|KEYWORDS_PER_PHONE_NUMBER->"KEYWORDS_PER_PHONE_NUMBER"|KEYWORDS_PER_POOL->"KEYWORDS_PER_POOL"|MONTHLY_SPEND_LIMIT_REACHED_FOR_MEDIA->"MONTHLY_SPEND_LIMIT_REACHED_FOR_MEDIA"|MONTHLY_SPEND_LIMIT_REACHED_FOR_NOTIFY->"MONTHLY_SPEND_LIMIT_REACHED_FOR_NOTIFY"|MONTHLY_SPEND_LIMIT_REACHED_FOR_TEXT->"MONTHLY_SPEND_LIMIT_REACHED_FOR_TEXT"|MONTHLY_SPEND_LIMIT_REACHED_FOR_VOICE->"MONTHLY_SPEND_LIMIT_REACHED_FOR_VOICE"|NOTIFY_CONFIGURATIONS_PER_ACCOUNT->"NOTIFY_CONFIGURATIONS_PER_ACCOUNT"|OPT_OUT_LISTS_PER_ACCOUNT->"OPT_OUT_LISTS_PER_ACCOUNT"|ORIGINATION_IDENTITIES_PER_POOL->"ORIGINATION_IDENTITIES_PER_POOL"|PHONE_NUMBERS_PER_ACCOUNT->"PHONE_NUMBERS_PER_ACCOUNT"|PHONE_NUMBERS_PER_REGISTRATION->"PHONE_NUMBERS_PER_REGISTRATION"|POOLS_PER_ACCOUNT->"POOLS_PER_ACCOUNT"|RCS_AGENTS_PER_ACCOUNT->"RCS_AGENTS_PER_ACCOUNT"|REGISTRATION_ATTACHMENTS_CREATED_PER_DAY->"REGISTRATION_ATTACHMENTS_CREATED_PER_DAY"|REGISTRATION_ATTACHMENTS_PER_ACCOUNT->"REGISTRATION_ATTACHMENTS_PER_ACCOUNT"|REGISTRATION_VERSIONS_CREATED_PER_DAY->"REGISTRATION_VERSIONS_CREATED_PER_DAY"|REGISTRATIONS_PER_ACCOUNT->"REGISTRATIONS_PER_ACCOUNT"|SENDER_IDS_PER_ACCOUNT->"SENDER_IDS_PER_ACCOUNT"|TAGS_PER_RESOURCE->"TAGS_PER_RESOURCE"|VERIFIED_DESTINATION_NUMBERS_PER_ACCOUNT->"VERIFIED_DESTINATION_NUMBERS_PER_ACCOUNT"|VERIFICATION_ATTEMPTS_PER_DAY->"VERIFICATION_ATTEMPTS_PER_DAY"|PROTECT_CONFIGURATIONS_PER_ACCOUNT->"PROTECT_CONFIGURATIONS_PER_ACCOUNT"|Non_static_ids->sletof_string=function|"ASSOCIATIONS_PER_REGISTRATION"->ASSOCIATIONS_PER_REGISTRATION|"CONFIGURATION_SETS_PER_ACCOUNT"->CONFIGURATION_SETS_PER_ACCOUNT|"DAILY_DESTINATION_CALL_LIMIT"->DAILY_DESTINATION_CALL_LIMIT|"DAILY_NOTIFY_TIER_MESSAGE_LIMIT"->DAILY_NOTIFY_TIER_MESSAGE_LIMIT|"EVENT_DESTINATIONS_PER_CONFIGURATION_SET"->EVENT_DESTINATIONS_PER_CONFIGURATION_SET|"KEYWORDS_PER_PHONE_NUMBER"->KEYWORDS_PER_PHONE_NUMBER|"KEYWORDS_PER_POOL"->KEYWORDS_PER_POOL|"MONTHLY_SPEND_LIMIT_REACHED_FOR_MEDIA"->MONTHLY_SPEND_LIMIT_REACHED_FOR_MEDIA|"MONTHLY_SPEND_LIMIT_REACHED_FOR_NOTIFY"->MONTHLY_SPEND_LIMIT_REACHED_FOR_NOTIFY|"MONTHLY_SPEND_LIMIT_REACHED_FOR_TEXT"->MONTHLY_SPEND_LIMIT_REACHED_FOR_TEXT|"MONTHLY_SPEND_LIMIT_REACHED_FOR_VOICE"->MONTHLY_SPEND_LIMIT_REACHED_FOR_VOICE|"NOTIFY_CONFIGURATIONS_PER_ACCOUNT"->NOTIFY_CONFIGURATIONS_PER_ACCOUNT|"OPT_OUT_LISTS_PER_ACCOUNT"->OPT_OUT_LISTS_PER_ACCOUNT|"ORIGINATION_IDENTITIES_PER_POOL"->ORIGINATION_IDENTITIES_PER_POOL|"PHONE_NUMBERS_PER_ACCOUNT"->PHONE_NUMBERS_PER_ACCOUNT|"PHONE_NUMBERS_PER_REGISTRATION"->PHONE_NUMBERS_PER_REGISTRATION|"POOLS_PER_ACCOUNT"->POOLS_PER_ACCOUNT|"RCS_AGENTS_PER_ACCOUNT"->RCS_AGENTS_PER_ACCOUNT|"REGISTRATION_ATTACHMENTS_CREATED_PER_DAY"->REGISTRATION_ATTACHMENTS_CREATED_PER_DAY|"REGISTRATION_ATTACHMENTS_PER_ACCOUNT"->REGISTRATION_ATTACHMENTS_PER_ACCOUNT|"REGISTRATION_VERSIONS_CREATED_PER_DAY"->REGISTRATION_VERSIONS_CREATED_PER_DAY|"REGISTRATIONS_PER_ACCOUNT"->REGISTRATIONS_PER_ACCOUNT|"SENDER_IDS_PER_ACCOUNT"->SENDER_IDS_PER_ACCOUNT|"TAGS_PER_RESOURCE"->TAGS_PER_RESOURCE|"VERIFIED_DESTINATION_NUMBERS_PER_ACCOUNT"->VERIFIED_DESTINATION_NUMBERS_PER_ACCOUNT|"VERIFICATION_ATTEMPTS_PER_DAY"->VERIFICATION_ATTEMPTS_PER_DAY|"PROTECT_CONFIGURATIONS_PER_ACCOUNT"->PROTECT_CONFIGURATIONS_PER_ACCOUNT|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 ServiceQuotaExceededExceptionReason"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ServiceQuotaExceededExceptionReason"j)letto_json=simple_to_jsonto_valueendmoduleTag=structtypenonrect={key:TagKey.t[@ocaml.doc"The key identifier, or name, of the tag."];value:TagValue.t[@ocaml.doc"The string value associated with the key of the tag."]}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"The list of tags to be added to the specified topic."]moduleContextKey=structtypenonrect=stringletcontext_="ContextKey"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:100)>>=(fun()->check_patterni~pattern:"\\S+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ContextKey"jletto_json=simple_to_jsonto_valueendmoduleContextValue=structtypenonrect=stringletcontext_="ContextValue"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:800)>>=(fun()->check_patterni~pattern:"(?!\\s)^[\\s\\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:"ContextValue"jletto_json=simple_to_jsonto_valueendmoduleDestinationCountryParameterKey=structtypenonrect=|IN_TEMPLATE_ID|IN_ENTITY_ID|Non_static_idofstringletmakei=iletto_string=function|IN_TEMPLATE_ID->"IN_TEMPLATE_ID"|IN_ENTITY_ID->"IN_ENTITY_ID"|Non_static_ids->sletof_string=function|"IN_TEMPLATE_ID"->IN_TEMPLATE_ID|"IN_ENTITY_ID"->IN_ENTITY_ID|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 DestinationCountryParameterKey"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"DestinationCountryParameterKey"j)letto_json=simple_to_jsonto_valueendmoduleDestinationCountryParameterValue=structtypenonrect=stringletcontext_="DestinationCountryParameterValue"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:64)>>=(fun()->check_patterni~pattern:"\\S+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"DestinationCountryParameterValue"jletto_json=simple_to_jsonto_valueendmoduleTemplateVariableName=structtypenonrect=stringletcontext_="TemplateVariableName"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:64)>>=(fun()->check_patterni~pattern:"[A-Za-z0-9_]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"TemplateVariableName"jletto_json=simple_to_jsonto_valueendmoduleTemplateVariableValue=structtypenonrect=stringletcontext_="TemplateVariableValue"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:2048)>>=(fun()->check_string_mini~min:1));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"TemplateVariableValue"jletto_json=simple_to_jsonto_valueendmoduleMediaUrlValue=structtypenonrect=stringletcontext_="MediaUrlValue"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:"s3://([a-z0-9\\.-]{3,63})/(.+)")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"MediaUrlValue"jletto_json=simple_to_jsonto_valueendmoduleRegistrationAssociationMetadata=structtypenonrect={resourceArn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the origination identity that is associated with the registration."];resourceId:String_.toption[@ocaml.doc"The unique identifier for the origination identity. For example this could be a PhoneNumberId or SenderId."];resourceType:String_.toption[@ocaml.doc"The origination identity type."];isoCountryCode:IsoCountryCode.toption[@ocaml.doc"The two-character code, in ISO 3166-1 alpha-2 format, for the country or region."];phoneNumber:PhoneNumber.toption[@ocaml.doc"The phone number associated with the registration in E.164 format."]}letmake?resourceArn=fun?resourceId->fun?resourceType->fun?isoCountryCode->fun?phoneNumber->fun()->{resourceArn;resourceId;resourceType;isoCountryCode;phoneNumber}letto_valuex=structure_to_value[("ResourceArn",(Option.mapx.resourceArn~f:String_.to_value));("ResourceId",(Option.mapx.resourceId~f:String_.to_value));("ResourceType",(Option.mapx.resourceType~f:String_.to_value));("IsoCountryCode",(Option.mapx.isoCountryCode~f:IsoCountryCode.to_value));("PhoneNumber",(Option.mapx.phoneNumber~f:PhoneNumber.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letphoneNumber=(Option.map~f:PhoneNumber.of_xml)(Xml.childxml_arg0"PhoneNumber")inletisoCountryCode=(Option.map~f:IsoCountryCode.of_xml)(Xml.childxml_arg0"IsoCountryCode")inletresourceType=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"ResourceType")inletresourceId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"ResourceId")inletresourceArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"ResourceArn")inmake?phoneNumber?isoCountryCode?resourceType?resourceId?resourceArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letphoneNumber=field_mapjson__"PhoneNumber"PhoneNumber.of_jsoninletisoCountryCode=field_mapjson__"IsoCountryCode"IsoCountryCode.of_jsoninletresourceType=field_mapjson__"ResourceType"String_.of_jsoninletresourceId=field_mapjson__"ResourceId"String_.of_jsoninletresourceArn=field_mapjson__"ResourceArn"String_.of_jsoninmake?phoneNumber?isoCountryCode?resourceType?resourceId?resourceArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Metadata for the origination identity that is associated with the registration."]moduleRegistrationAssociationFilter=structtypenonrect={name:RegistrationAssociationFilterName.t[@ocaml.doc"The name of the attribute to filter on."];values:FilterValueList.t[@ocaml.doc"An array of values to filter for."]}letcontext_="RegistrationAssociationFilter"letmake~name=fun~values->fun()->{name;values}letto_valuex=structure_to_value[("Name",(Some(RegistrationAssociationFilterName.to_valuex.name)));("Values",(Some(FilterValueList.to_valuex.values)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvalues=FilterValueList.of_xml(Xml.child_exn~context:context_xml_arg0"Values")inletname=RegistrationAssociationFilterName.of_xml(Xml.child_exn~context:context_xml_arg0"Name")inmake~values~name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvalues=field_map_exnjson__"Values"FilterValueList.of_jsoninletname=field_map_exnjson__"Name"RegistrationAssociationFilterName.of_jsoninmake~values~name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The filter definition for filtering registrations that meets a specified criteria."]moduleProtectConfigurationRuleSetNumberOverride=structtypenonrect={destinationPhoneNumber:PhoneNumber.toption[@ocaml.doc"The destination phone number in E.164 format."];createdTimestamp:Timestamp.toption[@ocaml.doc"The time when the rule was created, in UNIX epoch time format."];action:ProtectConfigurationRuleOverrideAction.toption[@ocaml.doc"The action for the rule to perform of either blocking or allowing messages to the destination phone number."];isoCountryCode:IsoCountryCode.toption[@ocaml.doc"The two-character code, in ISO 3166-1 alpha-2 format, for the country or region."];expirationTimestamp:Timestamp.toption[@ocaml.doc"The time the rule will expire at. If ExpirationTimestamp is not set then the rule will not expire."]}letmake?destinationPhoneNumber=fun?createdTimestamp->fun?action->fun?isoCountryCode->fun?expirationTimestamp->fun()->{destinationPhoneNumber;createdTimestamp;action;isoCountryCode;expirationTimestamp}letto_valuex=structure_to_value[("DestinationPhoneNumber",(Option.mapx.destinationPhoneNumber~f:PhoneNumber.to_value));("CreatedTimestamp",(Option.mapx.createdTimestamp~f:Timestamp.to_value));("Action",(Option.mapx.action~f:ProtectConfigurationRuleOverrideAction.to_value));("IsoCountryCode",(Option.mapx.isoCountryCode~f:IsoCountryCode.to_value));("ExpirationTimestamp",(Option.mapx.expirationTimestamp~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letexpirationTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"ExpirationTimestamp")inletisoCountryCode=(Option.map~f:IsoCountryCode.of_xml)(Xml.childxml_arg0"IsoCountryCode")inletaction=(Option.map~f:ProtectConfigurationRuleOverrideAction.of_xml)(Xml.childxml_arg0"Action")inletcreatedTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"CreatedTimestamp")inletdestinationPhoneNumber=(Option.map~f:PhoneNumber.of_xml)(Xml.childxml_arg0"DestinationPhoneNumber")inmake?expirationTimestamp?isoCountryCode?action?createdTimestamp?destinationPhoneNumber()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letexpirationTimestamp=field_mapjson__"ExpirationTimestamp"Timestamp.of_jsoninletisoCountryCode=field_mapjson__"IsoCountryCode"IsoCountryCode.of_jsoninletaction=field_mapjson__"Action"ProtectConfigurationRuleOverrideAction.of_jsoninletcreatedTimestamp=field_mapjson__"CreatedTimestamp"Timestamp.of_jsoninletdestinationPhoneNumber=field_mapjson__"DestinationPhoneNumber"PhoneNumber.of_jsoninmake?expirationTimestamp?isoCountryCode?action?createdTimestamp?destinationPhoneNumber()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Provides details on phone number rule overrides for a protect configuration."]moduleProtectConfigurationRuleSetNumberOverrideFilterItem=structtypenonrect={name:ProtectConfigurationRuleSetNumberOverrideFilterName.t[@ocaml.doc"The name of the attribute to filter on."];values:FilterValueList.t[@ocaml.doc"An array values to filter for."]}letcontext_="ProtectConfigurationRuleSetNumberOverrideFilterItem"letmake~name=fun~values->fun()->{name;values}letto_valuex=structure_to_value[("Name",(Some(ProtectConfigurationRuleSetNumberOverrideFilterName.to_valuex.name)));("Values",(Some(FilterValueList.to_valuex.values)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvalues=FilterValueList.of_xml(Xml.child_exn~context:context_xml_arg0"Values")inletname=ProtectConfigurationRuleSetNumberOverrideFilterName.of_xml(Xml.child_exn~context:context_xml_arg0"Name")inmake~values~name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvalues=field_map_exnjson__"Values"FilterValueList.of_jsoninletname=field_map_exnjson__"Name"ProtectConfigurationRuleSetNumberOverrideFilterName.of_jsoninmake~values~name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The information for a protect configuration rule set number override that meets a specified criteria."]moduleOriginationIdentityMetadata=structtypenonrect={originationIdentityArn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) associated with the origination identity."];originationIdentity:String_.toption[@ocaml.doc"The unique identifier of the origination identity."];isoCountryCode:IsoCountryCode.toption[@ocaml.doc"The two-character code, in ISO 3166-1 alpha-2 format, for the country or region. This field is optional and may not be present for origination identity types that are not country-specific, such as RCS agents."];numberCapabilities:NumberCapabilityList.toption[@ocaml.doc"Describes if the origination identity can be used for text messages, voice calls or both."];phoneNumber:PhoneNumber.toption[@ocaml.doc"The phone number in E.164 format."]}letmake?originationIdentityArn=fun?originationIdentity->fun?isoCountryCode->fun?numberCapabilities->fun?phoneNumber->fun()->{originationIdentityArn;originationIdentity;isoCountryCode;numberCapabilities;phoneNumber}letto_valuex=structure_to_value[("OriginationIdentityArn",(Option.mapx.originationIdentityArn~f:String_.to_value));("OriginationIdentity",(Option.mapx.originationIdentity~f:String_.to_value));("IsoCountryCode",(Option.mapx.isoCountryCode~f:IsoCountryCode.to_value));("NumberCapabilities",(Option.mapx.numberCapabilities~f:NumberCapabilityList.to_value));("PhoneNumber",(Option.mapx.phoneNumber~f:PhoneNumber.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letphoneNumber=(Option.map~f:PhoneNumber.of_xml)(Xml.childxml_arg0"PhoneNumber")inletnumberCapabilities=(Option.map~f:NumberCapabilityList.of_xml)(Xml.childxml_arg0"NumberCapabilities")inletisoCountryCode=(Option.map~f:IsoCountryCode.of_xml)(Xml.childxml_arg0"IsoCountryCode")inletoriginationIdentity=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"OriginationIdentity")inletoriginationIdentityArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"OriginationIdentityArn")inmake?phoneNumber?numberCapabilities?isoCountryCode?originationIdentity?originationIdentityArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letphoneNumber=field_mapjson__"PhoneNumber"PhoneNumber.of_jsoninletnumberCapabilities=field_mapjson__"NumberCapabilities"NumberCapabilityList.of_jsoninletisoCountryCode=field_mapjson__"IsoCountryCode"IsoCountryCode.of_jsoninletoriginationIdentity=field_mapjson__"OriginationIdentity"String_.of_jsoninletoriginationIdentityArn=field_mapjson__"OriginationIdentityArn"String_.of_jsoninmake?phoneNumber?numberCapabilities?isoCountryCode?originationIdentity?originationIdentityArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The metadata for an origination identity associated with a pool."]modulePoolOriginationIdentitiesFilter=structtypenonrect={name:PoolOriginationIdentitiesFilterName.t[@ocaml.doc"The name of the attribute to filter on."];values:FilterValueList.t[@ocaml.doc"An array values to filter for."]}letcontext_="PoolOriginationIdentitiesFilter"letmake~name=fun~values->fun()->{name;values}letto_valuex=structure_to_value[("Name",(Some(PoolOriginationIdentitiesFilterName.to_valuex.name)));("Values",(Some(FilterValueList.to_valuex.values)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvalues=FilterValueList.of_xml(Xml.child_exn~context:context_xml_arg0"Values")inletname=PoolOriginationIdentitiesFilterName.of_xml(Xml.child_exn~context:context_xml_arg0"Name")inmake~values~name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvalues=field_map_exnjson__"Values"FilterValueList.of_jsoninletname=field_map_exnjson__"Name"PoolOriginationIdentitiesFilterName.of_jsoninmake~values~name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Information about origination identities associated with a pool that meets a specified criteria."]moduleNotifyCountryInformation=structtypenonrect={isoCountryCode:IsoCountryCode.toption[@ocaml.doc"The two-character code, in ISO 3166-1 alpha-2 format, for the country or region."];countryName:String_.toption[@ocaml.doc"The name of the country."];supportedChannels:NotifyEnabledChannelsList.toption[@ocaml.doc"An array of supported channels for the country. Supported values include SMS and VOICE."];supportedUseCases:NotifyUseCaseList.toption[@ocaml.doc"An array of supported use cases for the country."];supportedTiers:NotifyTierList.toption[@ocaml.doc"An array of supported tiers for the country."];customerOwnedIdentityRequired:PrimitiveBoolean.toption[@ocaml.doc"Whether a customer-owned identity is required to send notify messages to this country."]}letmake?isoCountryCode=fun?countryName->fun?supportedChannels->fun?supportedUseCases->fun?supportedTiers->fun?customerOwnedIdentityRequired->fun()->{isoCountryCode;countryName;supportedChannels;supportedUseCases;supportedTiers;customerOwnedIdentityRequired}letto_valuex=structure_to_value[("IsoCountryCode",(Option.mapx.isoCountryCode~f:IsoCountryCode.to_value));("CountryName",(Option.mapx.countryName~f:String_.to_value));("SupportedChannels",(Option.mapx.supportedChannels~f:NotifyEnabledChannelsList.to_value));("SupportedUseCases",(Option.mapx.supportedUseCases~f:NotifyUseCaseList.to_value));("SupportedTiers",(Option.mapx.supportedTiers~f:NotifyTierList.to_value));("CustomerOwnedIdentityRequired",(Option.mapx.customerOwnedIdentityRequired~f:PrimitiveBoolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcustomerOwnedIdentityRequired=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"CustomerOwnedIdentityRequired")inletsupportedTiers=(Option.map~f:NotifyTierList.of_xml)(Xml.childxml_arg0"SupportedTiers")inletsupportedUseCases=(Option.map~f:NotifyUseCaseList.of_xml)(Xml.childxml_arg0"SupportedUseCases")inletsupportedChannels=(Option.map~f:NotifyEnabledChannelsList.of_xml)(Xml.childxml_arg0"SupportedChannels")inletcountryName=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"CountryName")inletisoCountryCode=(Option.map~f:IsoCountryCode.of_xml)(Xml.childxml_arg0"IsoCountryCode")inmake?customerOwnedIdentityRequired?supportedTiers?supportedUseCases?supportedChannels?countryName?isoCountryCode()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcustomerOwnedIdentityRequired=field_mapjson__"CustomerOwnedIdentityRequired"PrimitiveBoolean.of_jsoninletsupportedTiers=field_mapjson__"SupportedTiers"NotifyTierList.of_jsoninletsupportedUseCases=field_mapjson__"SupportedUseCases"NotifyUseCaseList.of_jsoninletsupportedChannels=field_mapjson__"SupportedChannels"NotifyEnabledChannelsList.of_jsoninletcountryName=field_mapjson__"CountryName"String_.of_jsoninletisoCountryCode=field_mapjson__"IsoCountryCode"IsoCountryCode.of_jsoninmake?customerOwnedIdentityRequired?supportedTiers?supportedUseCases?supportedChannels?countryName?isoCountryCode()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The information for a country that supports notify messaging."]moduleVerifiedDestinationNumberInformation=structtypenonrect={verifiedDestinationNumberArn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) for the verified destination phone number."];verifiedDestinationNumberId:String_.toption[@ocaml.doc"The unique identifier for the verified destination phone number."];destinationPhoneNumber:PhoneNumber.toption[@ocaml.doc"The verified destination phone number, in E.164 format."];status:VerificationStatus.toption[@ocaml.doc"The status of the verified destination phone number. PENDING: The phone number hasn't been verified yet. VERIFIED: The phone number is verified and can receive messages."];rcsAgentId:String_.toption[@ocaml.doc"The unique identifier of the RCS agent associated with the verified destination number."];createdTimestamp:Timestamp.toption[@ocaml.doc"The time when the destination phone number was created, in UNIX epoch time format."]}letmake?verifiedDestinationNumberArn=fun?verifiedDestinationNumberId->fun?destinationPhoneNumber->fun?status->fun?rcsAgentId->fun?createdTimestamp->fun()->{verifiedDestinationNumberArn;verifiedDestinationNumberId;destinationPhoneNumber;status;rcsAgentId;createdTimestamp}letto_valuex=structure_to_value[("VerifiedDestinationNumberArn",(Option.mapx.verifiedDestinationNumberArn~f:String_.to_value));("VerifiedDestinationNumberId",(Option.mapx.verifiedDestinationNumberId~f:String_.to_value));("DestinationPhoneNumber",(Option.mapx.destinationPhoneNumber~f:PhoneNumber.to_value));("Status",(Option.mapx.status~f:VerificationStatus.to_value));("RcsAgentId",(Option.mapx.rcsAgentId~f:String_.to_value));("CreatedTimestamp",(Option.mapx.createdTimestamp~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcreatedTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"CreatedTimestamp")inletrcsAgentId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RcsAgentId")inletstatus=(Option.map~f:VerificationStatus.of_xml)(Xml.childxml_arg0"Status")inletdestinationPhoneNumber=(Option.map~f:PhoneNumber.of_xml)(Xml.childxml_arg0"DestinationPhoneNumber")inletverifiedDestinationNumberId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"VerifiedDestinationNumberId")inletverifiedDestinationNumberArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"VerifiedDestinationNumberArn")inmake?createdTimestamp?rcsAgentId?status?destinationPhoneNumber?verifiedDestinationNumberId?verifiedDestinationNumberArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcreatedTimestamp=field_mapjson__"CreatedTimestamp"Timestamp.of_jsoninletrcsAgentId=field_mapjson__"RcsAgentId"String_.of_jsoninletstatus=field_mapjson__"Status"VerificationStatus.of_jsoninletdestinationPhoneNumber=field_mapjson__"DestinationPhoneNumber"PhoneNumber.of_jsoninletverifiedDestinationNumberId=field_mapjson__"VerifiedDestinationNumberId"String_.of_jsoninletverifiedDestinationNumberArn=field_mapjson__"VerifiedDestinationNumberArn"String_.of_jsoninmake?createdTimestamp?rcsAgentId?status?destinationPhoneNumber?verifiedDestinationNumberId?verifiedDestinationNumberArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Provides information about the requested verified destintion phone number."]moduleVerifiedDestinationNumberFilter=structtypenonrect={name:VerifiedDestinationNumberFilterName.t[@ocaml.doc"The name of the attribute to filter on."];values:FilterValueList.t[@ocaml.doc"An array of values to filter on."]}letcontext_="VerifiedDestinationNumberFilter"letmake~name=fun~values->fun()->{name;values}letto_valuex=structure_to_value[("Name",(Some(VerifiedDestinationNumberFilterName.to_valuex.name)));("Values",(Some(FilterValueList.to_valuex.values)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvalues=FilterValueList.of_xml(Xml.child_exn~context:context_xml_arg0"Values")inletname=VerifiedDestinationNumberFilterName.of_xml(Xml.child_exn~context:context_xml_arg0"Name")inmake~values~name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvalues=field_map_exnjson__"Values"FilterValueList.of_jsoninletname=field_map_exnjson__"Name"VerifiedDestinationNumberFilterName.of_jsoninmake~values~name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The filter definition for filtering verified destination phone numbers that meets a specified criteria."]moduleVerifiedDestinationNumberIdOrArn=structtypenonrect=stringletcontext_="VerifiedDestinationNumberIdOrArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:256)>>=(fun()->check_patterni~pattern:"[A-Za-z0-9_:/-]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"VerifiedDestinationNumberIdOrArn"jletto_json=simple_to_jsonto_valueendmoduleSpendLimit=structtypenonrect={name:SpendLimitName.toption[@ocaml.doc"The name for the SpendLimit."];enforcedLimit:PrimitiveLong.toption[@ocaml.doc"The maximum amount of money, in US dollars, that you want to be able to spend sending messages each month. This value has to be less than or equal to the amount in MaxLimit. To use this custom limit, Overridden must be set to true."];maxLimit:PrimitiveLong.toption[@ocaml.doc"The maximum amount of money that you are able to spend to send messages each month, in US dollars."];overridden:PrimitiveBoolean.toption[@ocaml.doc"When set to True, the value that has been specified in the EnforcedLimit is used to determine the maximum amount in US dollars that can be spent to send messages each month, in US dollars."]}letmake?name=fun?enforcedLimit->fun?maxLimit->fun?overridden->fun()->{name;enforcedLimit;maxLimit;overridden}letto_valuex=structure_to_value[("Name",(Option.mapx.name~f:SpendLimitName.to_value));("EnforcedLimit",(Option.mapx.enforcedLimit~f:PrimitiveLong.to_value));("MaxLimit",(Option.mapx.maxLimit~f:PrimitiveLong.to_value));("Overridden",(Option.mapx.overridden~f:PrimitiveBoolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letoverridden=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"Overridden")inletmaxLimit=(Option.map~f:PrimitiveLong.of_xml)(Xml.childxml_arg0"MaxLimit")inletenforcedLimit=(Option.map~f:PrimitiveLong.of_xml)(Xml.childxml_arg0"EnforcedLimit")inletname=(Option.map~f:SpendLimitName.of_xml)(Xml.childxml_arg0"Name")inmake?overridden?maxLimit?enforcedLimit?name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letoverridden=field_mapjson__"Overridden"PrimitiveBoolean.of_jsoninletmaxLimit=field_mapjson__"MaxLimit"PrimitiveLong.of_jsoninletenforcedLimit=field_mapjson__"EnforcedLimit"PrimitiveLong.of_jsoninletname=field_mapjson__"Name"SpendLimitName.of_jsoninmake?overridden?maxLimit?enforcedLimit?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes the current monthly spend limits for sending voice and text messages. For more information on increasing your monthly spend limit, see Requesting a spending quota increase in the End User Messaging SMS User Guide."]moduleSenderIdInformation=structtypenonrect={senderIdArn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) associated with the SenderId."];senderId:SenderId.toption[@ocaml.doc"The alphanumeric sender ID in a specific country that you'd like to describe."];isoCountryCode:IsoCountryCode.toption[@ocaml.doc"The two-character code, in ISO 3166-1 alpha-2 format, for the country or region."];messageTypes:MessageTypeList.toption[@ocaml.doc"The type of message. Valid values are TRANSACTIONAL for messages that are critical or time-sensitive and PROMOTIONAL for messages that aren't critical or time-sensitive."];monthlyLeasingPrice:String_.toption[@ocaml.doc"The monthly leasing price, in US dollars."];deletionProtectionEnabled:PrimitiveBoolean.toption[@ocaml.doc"By default this is set to false. When set to true the sender ID can't be deleted."];registered:PrimitiveBoolean.toption[@ocaml.doc"True if the sender ID is registered."];registrationId:String_.toption[@ocaml.doc"The unique identifier for the registration."]}letmake?senderIdArn=fun?senderId->fun?isoCountryCode->fun?messageTypes->fun?monthlyLeasingPrice->fun?deletionProtectionEnabled->fun?registered->fun?registrationId->fun()->{senderIdArn;senderId;isoCountryCode;messageTypes;monthlyLeasingPrice;deletionProtectionEnabled;registered;registrationId}letto_valuex=structure_to_value[("SenderIdArn",(Option.mapx.senderIdArn~f:String_.to_value));("SenderId",(Option.mapx.senderId~f:SenderId.to_value));("IsoCountryCode",(Option.mapx.isoCountryCode~f:IsoCountryCode.to_value));("MessageTypes",(Option.mapx.messageTypes~f:MessageTypeList.to_value));("MonthlyLeasingPrice",(Option.mapx.monthlyLeasingPrice~f:String_.to_value));("DeletionProtectionEnabled",(Option.mapx.deletionProtectionEnabled~f:PrimitiveBoolean.to_value));("Registered",(Option.mapx.registered~f:PrimitiveBoolean.to_value));("RegistrationId",(Option.mapx.registrationId~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letregistrationId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RegistrationId")inletregistered=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"Registered")inletdeletionProtectionEnabled=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"DeletionProtectionEnabled")inletmonthlyLeasingPrice=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"MonthlyLeasingPrice")inletmessageTypes=(Option.map~f:MessageTypeList.of_xml)(Xml.childxml_arg0"MessageTypes")inletisoCountryCode=(Option.map~f:IsoCountryCode.of_xml)(Xml.childxml_arg0"IsoCountryCode")inletsenderId=(Option.map~f:SenderId.of_xml)(Xml.childxml_arg0"SenderId")inletsenderIdArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"SenderIdArn")inmake?registrationId?registered?deletionProtectionEnabled?monthlyLeasingPrice?messageTypes?isoCountryCode?senderId?senderIdArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letregistrationId=field_mapjson__"RegistrationId"String_.of_jsoninletregistered=field_mapjson__"Registered"PrimitiveBoolean.of_jsoninletdeletionProtectionEnabled=field_mapjson__"DeletionProtectionEnabled"PrimitiveBoolean.of_jsoninletmonthlyLeasingPrice=field_mapjson__"MonthlyLeasingPrice"String_.of_jsoninletmessageTypes=field_mapjson__"MessageTypes"MessageTypeList.of_jsoninletisoCountryCode=field_mapjson__"IsoCountryCode"IsoCountryCode.of_jsoninletsenderId=field_mapjson__"SenderId"SenderId.of_jsoninletsenderIdArn=field_mapjson__"SenderIdArn"String_.of_jsoninmake?registrationId?registered?deletionProtectionEnabled?monthlyLeasingPrice?messageTypes?isoCountryCode?senderId?senderIdArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The information for all SenderIds in an Amazon Web Services account."]moduleSenderIdFilter=structtypenonrect={name:SenderIdFilterName.t[@ocaml.doc"The name of the attribute to filter on."];values:FilterValueList.t[@ocaml.doc"An array of values to filter for."]}letcontext_="SenderIdFilter"letmake~name=fun~values->fun()->{name;values}letto_valuex=structure_to_value[("Name",(Some(SenderIdFilterName.to_valuex.name)));("Values",(Some(FilterValueList.to_valuex.values)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvalues=FilterValueList.of_xml(Xml.child_exn~context:context_xml_arg0"Values")inletname=SenderIdFilterName.of_xml(Xml.child_exn~context:context_xml_arg0"Name")inmake~values~name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvalues=field_map_exnjson__"Values"FilterValueList.of_jsoninletname=field_map_exnjson__"Name"SenderIdFilterName.of_jsoninmake~values~name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The information for a sender ID that meets a specified criteria."]moduleSenderIdAndCountry=structtypenonrect={senderId:SenderIdOrArn.t[@ocaml.doc"The unique identifier of the sender."];isoCountryCode:IsoCountryCode.t[@ocaml.doc"The two-character code, in ISO 3166-1 alpha-2 format, for the country or region."]}letcontext_="SenderIdAndCountry"letmake~senderId=fun~isoCountryCode->fun()->{senderId;isoCountryCode}letto_valuex=structure_to_value[("SenderId",(Some(SenderIdOrArn.to_valuex.senderId)));("IsoCountryCode",(Some(IsoCountryCode.to_valuex.isoCountryCode)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letisoCountryCode=IsoCountryCode.of_xml(Xml.child_exn~context:context_xml_arg0"IsoCountryCode")inletsenderId=SenderIdOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"SenderId")inmake~isoCountryCode~senderId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letisoCountryCode=field_map_exnjson__"IsoCountryCode"IsoCountryCode.of_jsoninletsenderId=field_map_exnjson__"SenderId"SenderIdOrArn.of_jsoninmake~isoCountryCode~senderId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The alphanumeric sender ID in a specific country that you want to describe. For more information on sender IDs see Requesting sender IDs in the End User Messaging SMS User Guide."]moduleRegistrationInformation=structtypenonrect={registrationArn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) for the registration."];registrationId:String_.toption[@ocaml.doc"The unique identifier for the registration."];registrationType:RegistrationType.toption[@ocaml.doc"The type of registration form. The list of RegistrationTypes can be found using the DescribeRegistrationTypeDefinitions action."];registrationStatus:RegistrationStatus.toption[@ocaml.doc"The status of the registration. CLOSED: The phone number or sender ID has been deleted and you must also delete the registration for the number. CREATED: Your registration is created but not submitted. COMPLETE: Your registration has been approved and your origination identity has been created. DELETED: The registration has been deleted. PROVISIONING: Your registration has been approved and your origination identity is being created. REQUIRES_AUTHENTICATION: You need to complete email authentication. REQUIRES_UPDATES: You must fix your registration and resubmit it. REVIEWING: Your registration has been accepted and is being reviewed. SUBMITTED: Your registration has been submitted and is awaiting review."];currentVersionNumber:RegistrationVersionNumber.toption[@ocaml.doc"The current version number of the registration."];approvedVersionNumber:RegistrationVersionNumber.toption[@ocaml.doc"The version number of the registration that was approved."];latestDeniedVersionNumber:RegistrationVersionNumber.toption[@ocaml.doc"The latest version number of the registration that was denied."];additionalAttributes:StringMap.toption[@ocaml.doc"Metadata about a given registration which is specific to that registration type."];createdTimestamp:Timestamp.toption[@ocaml.doc"The time when the registration was created, in UNIX epoch time format."]}letmake?registrationArn=fun?registrationId->fun?registrationType->fun?registrationStatus->fun?currentVersionNumber->fun?approvedVersionNumber->fun?latestDeniedVersionNumber->fun?additionalAttributes->fun?createdTimestamp->fun()->{registrationArn;registrationId;registrationType;registrationStatus;currentVersionNumber;approvedVersionNumber;latestDeniedVersionNumber;additionalAttributes;createdTimestamp}letto_valuex=structure_to_value[("RegistrationArn",(Option.mapx.registrationArn~f:String_.to_value));("RegistrationId",(Option.mapx.registrationId~f:String_.to_value));("RegistrationType",(Option.mapx.registrationType~f:RegistrationType.to_value));("RegistrationStatus",(Option.mapx.registrationStatus~f:RegistrationStatus.to_value));("CurrentVersionNumber",(Option.mapx.currentVersionNumber~f:RegistrationVersionNumber.to_value));("ApprovedVersionNumber",(Option.mapx.approvedVersionNumber~f:RegistrationVersionNumber.to_value));("LatestDeniedVersionNumber",(Option.mapx.latestDeniedVersionNumber~f:RegistrationVersionNumber.to_value));("AdditionalAttributes",(Option.mapx.additionalAttributes~f:StringMap.to_value));("CreatedTimestamp",(Option.mapx.createdTimestamp~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcreatedTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"CreatedTimestamp")inletadditionalAttributes=(Option.map~f:StringMap.of_xml)(Xml.childxml_arg0"AdditionalAttributes")inletlatestDeniedVersionNumber=(Option.map~f:RegistrationVersionNumber.of_xml)(Xml.childxml_arg0"LatestDeniedVersionNumber")inletapprovedVersionNumber=(Option.map~f:RegistrationVersionNumber.of_xml)(Xml.childxml_arg0"ApprovedVersionNumber")inletcurrentVersionNumber=(Option.map~f:RegistrationVersionNumber.of_xml)(Xml.childxml_arg0"CurrentVersionNumber")inletregistrationStatus=(Option.map~f:RegistrationStatus.of_xml)(Xml.childxml_arg0"RegistrationStatus")inletregistrationType=(Option.map~f:RegistrationType.of_xml)(Xml.childxml_arg0"RegistrationType")inletregistrationId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RegistrationId")inletregistrationArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RegistrationArn")inmake?createdTimestamp?additionalAttributes?latestDeniedVersionNumber?approvedVersionNumber?currentVersionNumber?registrationStatus?registrationType?registrationId?registrationArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcreatedTimestamp=field_mapjson__"CreatedTimestamp"Timestamp.of_jsoninletadditionalAttributes=field_mapjson__"AdditionalAttributes"StringMap.of_jsoninletlatestDeniedVersionNumber=field_mapjson__"LatestDeniedVersionNumber"RegistrationVersionNumber.of_jsoninletapprovedVersionNumber=field_mapjson__"ApprovedVersionNumber"RegistrationVersionNumber.of_jsoninletcurrentVersionNumber=field_mapjson__"CurrentVersionNumber"RegistrationVersionNumber.of_jsoninletregistrationStatus=field_mapjson__"RegistrationStatus"RegistrationStatus.of_jsoninletregistrationType=field_mapjson__"RegistrationType"RegistrationType.of_jsoninletregistrationId=field_mapjson__"RegistrationId"String_.of_jsoninletregistrationArn=field_mapjson__"RegistrationArn"String_.of_jsoninmake?createdTimestamp?additionalAttributes?latestDeniedVersionNumber?approvedVersionNumber?currentVersionNumber?registrationStatus?registrationType?registrationId?registrationArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Provides information about the requested registration."]moduleRegistrationFilter=structtypenonrect={name:RegistrationFilterName.t[@ocaml.doc"The name of the attribute to filter on."];values:FilterValueList.t[@ocaml.doc"An array of values to filter on."]}letcontext_="RegistrationFilter"letmake~name=fun~values->fun()->{name;values}letto_valuex=structure_to_value[("Name",(Some(RegistrationFilterName.to_valuex.name)));("Values",(Some(FilterValueList.to_valuex.values)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvalues=FilterValueList.of_xml(Xml.child_exn~context:context_xml_arg0"Values")inletname=RegistrationFilterName.of_xml(Xml.child_exn~context:context_xml_arg0"Name")inmake~values~name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvalues=field_map_exnjson__"Values"FilterValueList.of_jsoninletname=field_map_exnjson__"Name"RegistrationFilterName.of_jsoninmake~values~name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The filter definition for filtering registrations that meets a specified criteria."]moduleRegistrationIdOrArn=structtypenonrect=stringletcontext_="RegistrationIdOrArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:256)>>=(fun()->check_patterni~pattern:"[A-Za-z0-9_:/-]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"RegistrationIdOrArn"jletto_json=simple_to_jsonto_valueendmoduleRegistrationVersionInformation=structtypenonrect={versionNumber:RegistrationVersionNumber.toption[@ocaml.doc"The version number of the registration."];registrationVersionStatus:RegistrationVersionStatus.toption[@ocaml.doc"The status of the registration. APPROVED: Your registration has been approved. ARCHIVED: Your previously approved registration version moves into this status when a more recently submitted version is approved. DENIED: You must fix your registration and resubmit it. DISCARDED: You've abandon this version of their registration to start over with a new version. DRAFT: The initial status of a registration version after it\226\128\153s created. REQUIRES_AUTHENTICATION: You need to complete email authentication. REVIEWING: Your registration has been accepted and is being reviewed. REVOKED: Your previously approved registration has been revoked. SUBMITTED: Your registration has been submitted."];registrationVersionStatusHistory:RegistrationVersionStatusHistory.toption[@ocaml.doc"The RegistrationVersionStatusHistory object contains the time stamps for when the reservations status changes."];deniedReasons:RegistrationDeniedReasonInformationList.toption[@ocaml.doc"An array of RegistrationDeniedReasonInformation objects."];feedback:String_.toption[@ocaml.doc"Generative AI feedback information provided during the registration review process. This includes comments, suggestions, or additional requirements."]}letmake?versionNumber=fun?registrationVersionStatus->fun?registrationVersionStatusHistory->fun?deniedReasons->fun?feedback->fun()->{versionNumber;registrationVersionStatus;registrationVersionStatusHistory;deniedReasons;feedback}letto_valuex=structure_to_value[("VersionNumber",(Option.mapx.versionNumber~f:RegistrationVersionNumber.to_value));("RegistrationVersionStatus",(Option.mapx.registrationVersionStatus~f:RegistrationVersionStatus.to_value));("RegistrationVersionStatusHistory",(Option.mapx.registrationVersionStatusHistory~f:RegistrationVersionStatusHistory.to_value));("DeniedReasons",(Option.mapx.deniedReasons~f:RegistrationDeniedReasonInformationList.to_value));("Feedback",(Option.mapx.feedback~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letfeedback=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Feedback")inletdeniedReasons=(Option.map~f:RegistrationDeniedReasonInformationList.of_xml)(Xml.childxml_arg0"DeniedReasons")inletregistrationVersionStatusHistory=(Option.map~f:RegistrationVersionStatusHistory.of_xml)(Xml.childxml_arg0"RegistrationVersionStatusHistory")inletregistrationVersionStatus=(Option.map~f:RegistrationVersionStatus.of_xml)(Xml.childxml_arg0"RegistrationVersionStatus")inletversionNumber=(Option.map~f:RegistrationVersionNumber.of_xml)(Xml.childxml_arg0"VersionNumber")inmake?feedback?deniedReasons?registrationVersionStatusHistory?registrationVersionStatus?versionNumber()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letfeedback=field_mapjson__"Feedback"String_.of_jsoninletdeniedReasons=field_mapjson__"DeniedReasons"RegistrationDeniedReasonInformationList.of_jsoninletregistrationVersionStatusHistory=field_mapjson__"RegistrationVersionStatusHistory"RegistrationVersionStatusHistory.of_jsoninletregistrationVersionStatus=field_mapjson__"RegistrationVersionStatus"RegistrationVersionStatus.of_jsoninletversionNumber=field_mapjson__"VersionNumber"RegistrationVersionNumber.of_jsoninmake?feedback?deniedReasons?registrationVersionStatusHistory?registrationVersionStatus?versionNumber()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Provides information about the specified version of the registration."]moduleRegistrationVersionFilter=structtypenonrect={name:RegistrationVersionFilterName.t[@ocaml.doc"The name of the attribute to filter on."];values:FilterValueList.t[@ocaml.doc"An array of values to filter on."]}letcontext_="RegistrationVersionFilter"letmake~name=fun~values->fun()->{name;values}letto_valuex=structure_to_value[("Name",(Some(RegistrationVersionFilterName.to_valuex.name)));("Values",(Some(FilterValueList.to_valuex.values)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvalues=FilterValueList.of_xml(Xml.child_exn~context:context_xml_arg0"Values")inletname=RegistrationVersionFilterName.of_xml(Xml.child_exn~context:context_xml_arg0"Name")inmake~values~name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvalues=field_map_exnjson__"Values"FilterValueList.of_jsoninletname=field_map_exnjson__"Name"RegistrationVersionFilterName.of_jsoninmake~values~name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The filter definition for filtering registration versions that meets a specified criteria."]moduleRegistrationTypeDefinition=structtypenonrect={registrationType:RegistrationType.toption[@ocaml.doc"The type of registration form. The list of RegistrationTypes can be found using the DescribeRegistrationTypeDefinitions action."];supportedAssociations:SupportedAssociationList.toption[@ocaml.doc"The supported association behavior for the registration type."];displayHints:RegistrationTypeDisplayHints.toption[@ocaml.doc"Provides help information on the registration."]}letmake?registrationType=fun?supportedAssociations->fun?displayHints->fun()->{registrationType;supportedAssociations;displayHints}letto_valuex=structure_to_value[("RegistrationType",(Option.mapx.registrationType~f:RegistrationType.to_value));("SupportedAssociations",(Option.mapx.supportedAssociations~f:SupportedAssociationList.to_value));("DisplayHints",(Option.mapx.displayHints~f:RegistrationTypeDisplayHints.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdisplayHints=(Option.map~f:RegistrationTypeDisplayHints.of_xml)(Xml.childxml_arg0"DisplayHints")inletsupportedAssociations=(Option.map~f:SupportedAssociationList.of_xml)(Xml.childxml_arg0"SupportedAssociations")inletregistrationType=(Option.map~f:RegistrationType.of_xml)(Xml.childxml_arg0"RegistrationType")inmake?displayHints?supportedAssociations?registrationType()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdisplayHints=field_mapjson__"DisplayHints"RegistrationTypeDisplayHints.of_jsoninletsupportedAssociations=field_mapjson__"SupportedAssociations"SupportedAssociationList.of_jsoninletregistrationType=field_mapjson__"RegistrationType"RegistrationType.of_jsoninmake?displayHints?supportedAssociations?registrationType()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Provides information on the supported registration type."]moduleRegistrationTypeFilter=structtypenonrect={name:RegistrationTypeFilterName.t[@ocaml.doc"The name of the attribute to filter on."];values:FilterValueList.t[@ocaml.doc"An array of values to filter on."]}letcontext_="RegistrationTypeFilter"letmake~name=fun~values->fun()->{name;values}letto_valuex=structure_to_value[("Name",(Some(RegistrationTypeFilterName.to_valuex.name)));("Values",(Some(FilterValueList.to_valuex.values)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvalues=FilterValueList.of_xml(Xml.child_exn~context:context_xml_arg0"Values")inletname=RegistrationTypeFilterName.of_xml(Xml.child_exn~context:context_xml_arg0"Name")inmake~values~name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvalues=field_map_exnjson__"Values"FilterValueList.of_jsoninletname=field_map_exnjson__"Name"RegistrationTypeFilterName.of_jsoninmake~values~name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The filter definition for filtering registration types that meets a specified criteria."]moduleRegistrationSectionDefinition=structtypenonrect={sectionPath:SectionPath.toption[@ocaml.doc"The path to the section of the registration."];displayHints:RegistrationSectionDisplayHints.toption[@ocaml.doc"The path to the section of the registration."]}letmake?sectionPath=fun?displayHints->fun()->{sectionPath;displayHints}letto_valuex=structure_to_value[("SectionPath",(Option.mapx.sectionPath~f:SectionPath.to_value));("DisplayHints",(Option.mapx.displayHints~f:RegistrationSectionDisplayHints.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdisplayHints=(Option.map~f:RegistrationSectionDisplayHints.of_xml)(Xml.childxml_arg0"DisplayHints")inletsectionPath=(Option.map~f:SectionPath.of_xml)(Xml.childxml_arg0"SectionPath")inmake?displayHints?sectionPath()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdisplayHints=field_mapjson__"DisplayHints"RegistrationSectionDisplayHints.of_jsoninletsectionPath=field_mapjson__"SectionPath"SectionPath.of_jsoninmake?displayHints?sectionPath()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Provides information on the specified section definition."]moduleRegistrationFieldValueInformation=structtypenonrect={fieldPath:FieldPath.toption[@ocaml.doc"The path to the registration form field. You can use DescribeRegistrationFieldDefinitions for a list of FieldPaths."];selectChoices:SelectChoiceList.toption[@ocaml.doc"An array of values for the form field."];textValue:TextValue.toption[@ocaml.doc"The text data for a free form field."];registrationAttachmentId:RegistrationAttachmentIdOrArn.toption[@ocaml.doc"The unique identifier for the registration attachment."];deniedReason:String_.toption[@ocaml.doc"A description of why the registration was denied."];feedback:String_.toption[@ocaml.doc"Generative AI feedback information provided for this specific field during the registration review process. This may include validation errors, suggestions for improvement, or additional requirements."]}letmake?fieldPath=fun?selectChoices->fun?textValue->fun?registrationAttachmentId->fun?deniedReason->fun?feedback->fun()->{fieldPath;selectChoices;textValue;registrationAttachmentId;deniedReason;feedback}letto_valuex=structure_to_value[("FieldPath",(Option.mapx.fieldPath~f:FieldPath.to_value));("SelectChoices",(Option.mapx.selectChoices~f:SelectChoiceList.to_value));("TextValue",(Option.mapx.textValue~f:TextValue.to_value));("RegistrationAttachmentId",(Option.mapx.registrationAttachmentId~f:RegistrationAttachmentIdOrArn.to_value));("DeniedReason",(Option.mapx.deniedReason~f:String_.to_value));("Feedback",(Option.mapx.feedback~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letfeedback=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Feedback")inletdeniedReason=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"DeniedReason")inletregistrationAttachmentId=(Option.map~f:RegistrationAttachmentIdOrArn.of_xml)(Xml.childxml_arg0"RegistrationAttachmentId")inlettextValue=(Option.map~f:TextValue.of_xml)(Xml.childxml_arg0"TextValue")inletselectChoices=(Option.map~f:SelectChoiceList.of_xml)(Xml.childxml_arg0"SelectChoices")inletfieldPath=(Option.map~f:FieldPath.of_xml)(Xml.childxml_arg0"FieldPath")inmake?feedback?deniedReason?registrationAttachmentId?textValue?selectChoices?fieldPath()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letfeedback=field_mapjson__"Feedback"String_.of_jsoninletdeniedReason=field_mapjson__"DeniedReason"String_.of_jsoninletregistrationAttachmentId=field_mapjson__"RegistrationAttachmentId"RegistrationAttachmentIdOrArn.of_jsoninlettextValue=field_mapjson__"TextValue"TextValue.of_jsoninletselectChoices=field_mapjson__"SelectChoices"SelectChoiceList.of_jsoninletfieldPath=field_mapjson__"FieldPath"FieldPath.of_jsoninmake?feedback?deniedReason?registrationAttachmentId?textValue?selectChoices?fieldPath()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Provides the values of the specified field."]moduleRegistrationFieldDefinition=structtypenonrect={sectionPath:SectionPath.toption[@ocaml.doc"The section path of the field."];fieldPath:FieldPath.toption[@ocaml.doc"The path to the registration form field. You can use DescribeRegistrationFieldDefinitions for a list of FieldPaths."];fieldType:FieldType.toption[@ocaml.doc"The type of field."];fieldRequirement:FieldRequirement.toption[@ocaml.doc"Specifies if the field for the registration form is required, conditional or optional."];selectValidation:SelectValidation.toption[@ocaml.doc"The validation rules for a select field."];textValidation:TextValidation.toption[@ocaml.doc"The validation rules for a text field."];displayHints:RegistrationFieldDisplayHints.toption[@ocaml.doc"An array of RegistrationFieldDisplayHints objects for the field."]}letmake?sectionPath=fun?fieldPath->fun?fieldType->fun?fieldRequirement->fun?selectValidation->fun?textValidation->fun?displayHints->fun()->{sectionPath;fieldPath;fieldType;fieldRequirement;selectValidation;textValidation;displayHints}letto_valuex=structure_to_value[("SectionPath",(Option.mapx.sectionPath~f:SectionPath.to_value));("FieldPath",(Option.mapx.fieldPath~f:FieldPath.to_value));("FieldType",(Option.mapx.fieldType~f:FieldType.to_value));("FieldRequirement",(Option.mapx.fieldRequirement~f:FieldRequirement.to_value));("SelectValidation",(Option.mapx.selectValidation~f:SelectValidation.to_value));("TextValidation",(Option.mapx.textValidation~f:TextValidation.to_value));("DisplayHints",(Option.mapx.displayHints~f:RegistrationFieldDisplayHints.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdisplayHints=(Option.map~f:RegistrationFieldDisplayHints.of_xml)(Xml.childxml_arg0"DisplayHints")inlettextValidation=(Option.map~f:TextValidation.of_xml)(Xml.childxml_arg0"TextValidation")inletselectValidation=(Option.map~f:SelectValidation.of_xml)(Xml.childxml_arg0"SelectValidation")inletfieldRequirement=(Option.map~f:FieldRequirement.of_xml)(Xml.childxml_arg0"FieldRequirement")inletfieldType=(Option.map~f:FieldType.of_xml)(Xml.childxml_arg0"FieldType")inletfieldPath=(Option.map~f:FieldPath.of_xml)(Xml.childxml_arg0"FieldPath")inletsectionPath=(Option.map~f:SectionPath.of_xml)(Xml.childxml_arg0"SectionPath")inmake?displayHints?textValidation?selectValidation?fieldRequirement?fieldType?fieldPath?sectionPath()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdisplayHints=field_mapjson__"DisplayHints"RegistrationFieldDisplayHints.of_jsoninlettextValidation=field_mapjson__"TextValidation"TextValidation.of_jsoninletselectValidation=field_mapjson__"SelectValidation"SelectValidation.of_jsoninletfieldRequirement=field_mapjson__"FieldRequirement"FieldRequirement.of_jsoninletfieldType=field_mapjson__"FieldType"FieldType.of_jsoninletfieldPath=field_mapjson__"FieldPath"FieldPath.of_jsoninletsectionPath=field_mapjson__"SectionPath"SectionPath.of_jsoninmake?displayHints?textValidation?selectValidation?fieldRequirement?fieldType?fieldPath?sectionPath()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Provides a description of the specified field."]moduleRegistrationAttachmentsInformation=structtypenonrect={registrationAttachmentArn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) for the registration attachment."];registrationAttachmentId:String_.toption[@ocaml.doc"The unique identifier for the registration attachment."];attachmentStatus:AttachmentStatus.toption[@ocaml.doc"The status of the registration attachment. UPLOAD_IN_PROGRESS The attachment is being uploaded. UPLOAD_COMPLETE The attachment has been uploaded. UPLOAD_FAILED The attachment failed to uploaded. DELETED The attachment has been deleted.."];attachmentUploadErrorReason:AttachmentUploadErrorReason.toption[@ocaml.doc"A description of why the upload didn't successfully complete."];createdTimestamp:Timestamp.toption[@ocaml.doc"The time when the registration attachment was created, in UNIX epoch time format."];attachmentUrl:String_.toption[@ocaml.doc"The URL to the document that's associated with the registration attachment."]}letmake?registrationAttachmentArn=fun?registrationAttachmentId->fun?attachmentStatus->fun?attachmentUploadErrorReason->fun?createdTimestamp->fun?attachmentUrl->fun()->{registrationAttachmentArn;registrationAttachmentId;attachmentStatus;attachmentUploadErrorReason;createdTimestamp;attachmentUrl}letto_valuex=structure_to_value[("RegistrationAttachmentArn",(Option.mapx.registrationAttachmentArn~f:String_.to_value));("RegistrationAttachmentId",(Option.mapx.registrationAttachmentId~f:String_.to_value));("AttachmentStatus",(Option.mapx.attachmentStatus~f:AttachmentStatus.to_value));("AttachmentUploadErrorReason",(Option.mapx.attachmentUploadErrorReason~f:AttachmentUploadErrorReason.to_value));("CreatedTimestamp",(Option.mapx.createdTimestamp~f:Timestamp.to_value));("AttachmentUrl",(Option.mapx.attachmentUrl~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letattachmentUrl=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"AttachmentUrl")inletcreatedTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"CreatedTimestamp")inletattachmentUploadErrorReason=(Option.map~f:AttachmentUploadErrorReason.of_xml)(Xml.childxml_arg0"AttachmentUploadErrorReason")inletattachmentStatus=(Option.map~f:AttachmentStatus.of_xml)(Xml.childxml_arg0"AttachmentStatus")inletregistrationAttachmentId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RegistrationAttachmentId")inletregistrationAttachmentArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RegistrationAttachmentArn")inmake?attachmentUrl?createdTimestamp?attachmentUploadErrorReason?attachmentStatus?registrationAttachmentId?registrationAttachmentArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letattachmentUrl=field_mapjson__"AttachmentUrl"String_.of_jsoninletcreatedTimestamp=field_mapjson__"CreatedTimestamp"Timestamp.of_jsoninletattachmentUploadErrorReason=field_mapjson__"AttachmentUploadErrorReason"AttachmentUploadErrorReason.of_jsoninletattachmentStatus=field_mapjson__"AttachmentStatus"AttachmentStatus.of_jsoninletregistrationAttachmentId=field_mapjson__"RegistrationAttachmentId"String_.of_jsoninletregistrationAttachmentArn=field_mapjson__"RegistrationAttachmentArn"String_.of_jsoninmake?attachmentUrl?createdTimestamp?attachmentUploadErrorReason?attachmentStatus?registrationAttachmentId?registrationAttachmentArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Provides information on the specified registration attachments."]moduleRegistrationAttachmentFilter=structtypenonrect={name:RegistrationAttachmentFilterName.t[@ocaml.doc"The name of the attribute to filter on."];values:FilterValueList.t[@ocaml.doc"An array of values to filter on."]}letcontext_="RegistrationAttachmentFilter"letmake~name=fun~values->fun()->{name;values}letto_valuex=structure_to_value[("Name",(Some(RegistrationAttachmentFilterName.to_valuex.name)));("Values",(Some(FilterValueList.to_valuex.values)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvalues=FilterValueList.of_xml(Xml.child_exn~context:context_xml_arg0"Values")inletname=RegistrationAttachmentFilterName.of_xml(Xml.child_exn~context:context_xml_arg0"Name")inmake~values~name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvalues=field_map_exnjson__"Values"FilterValueList.of_jsoninletname=field_map_exnjson__"Name"RegistrationAttachmentFilterName.of_jsoninmake~values~name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The filter definition for filtering registration attachments that meets a specified criteria."]moduleRcsAgentInformation=structtypenonrect={rcsAgentArn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the RCS agent."];rcsAgentId:String_.toption[@ocaml.doc"The unique identifier for the RCS agent."];status:RcsAgentStatus.toption[@ocaml.doc"The current status of the RCS agent."];createdTimestamp:Timestamp.toption[@ocaml.doc"The time when the RCS agent was created, in UNIX epoch time format."];deletionProtectionEnabled:PrimitiveBoolean.toption[@ocaml.doc"When set to true the RCS agent can't be deleted."];optOutListName:OptOutListName.toption[@ocaml.doc"The name of the OptOutList associated with the RCS agent."];selfManagedOptOutsEnabled:PrimitiveBoolean.toption[@ocaml.doc"When set to true you're responsible for responding to HELP and STOP requests. You're also responsible for tracking and honoring opt-out requests."];twoWayChannelArn:TwoWayChannelArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the two way channel."];twoWayChannelRole:IamRoleArn.toption[@ocaml.doc"An optional IAM Role Arn for a service to assume, to be able to post inbound SMS messages."];twoWayEnabled:PrimitiveBoolean.toption[@ocaml.doc"When set to true you can receive incoming text messages from your end recipients using the TwoWayChannelArn."];poolId:String_.toption[@ocaml.doc"The unique identifier of the pool associated with the RCS agent."];testingAgent:TestingAgentInformation.toption[@ocaml.doc"The testing agent information associated with the RCS agent."]}letmake?rcsAgentArn=fun?rcsAgentId->fun?status->fun?createdTimestamp->fun?deletionProtectionEnabled->fun?optOutListName->fun?selfManagedOptOutsEnabled->fun?twoWayChannelArn->fun?twoWayChannelRole->fun?twoWayEnabled->fun?poolId->fun?testingAgent->fun()->{rcsAgentArn;rcsAgentId;status;createdTimestamp;deletionProtectionEnabled;optOutListName;selfManagedOptOutsEnabled;twoWayChannelArn;twoWayChannelRole;twoWayEnabled;poolId;testingAgent}letto_valuex=structure_to_value[("RcsAgentArn",(Option.mapx.rcsAgentArn~f:String_.to_value));("RcsAgentId",(Option.mapx.rcsAgentId~f:String_.to_value));("Status",(Option.mapx.status~f:RcsAgentStatus.to_value));("CreatedTimestamp",(Option.mapx.createdTimestamp~f:Timestamp.to_value));("DeletionProtectionEnabled",(Option.mapx.deletionProtectionEnabled~f:PrimitiveBoolean.to_value));("OptOutListName",(Option.mapx.optOutListName~f:OptOutListName.to_value));("SelfManagedOptOutsEnabled",(Option.mapx.selfManagedOptOutsEnabled~f:PrimitiveBoolean.to_value));("TwoWayChannelArn",(Option.mapx.twoWayChannelArn~f:TwoWayChannelArn.to_value));("TwoWayChannelRole",(Option.mapx.twoWayChannelRole~f:IamRoleArn.to_value));("TwoWayEnabled",(Option.mapx.twoWayEnabled~f:PrimitiveBoolean.to_value));("PoolId",(Option.mapx.poolId~f:String_.to_value));("TestingAgent",(Option.mapx.testingAgent~f:TestingAgentInformation.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettestingAgent=(Option.map~f:TestingAgentInformation.of_xml)(Xml.childxml_arg0"TestingAgent")inletpoolId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"PoolId")inlettwoWayEnabled=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"TwoWayEnabled")inlettwoWayChannelRole=(Option.map~f:IamRoleArn.of_xml)(Xml.childxml_arg0"TwoWayChannelRole")inlettwoWayChannelArn=(Option.map~f:TwoWayChannelArn.of_xml)(Xml.childxml_arg0"TwoWayChannelArn")inletselfManagedOptOutsEnabled=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"SelfManagedOptOutsEnabled")inletoptOutListName=(Option.map~f:OptOutListName.of_xml)(Xml.childxml_arg0"OptOutListName")inletdeletionProtectionEnabled=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"DeletionProtectionEnabled")inletcreatedTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"CreatedTimestamp")inletstatus=(Option.map~f:RcsAgentStatus.of_xml)(Xml.childxml_arg0"Status")inletrcsAgentId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RcsAgentId")inletrcsAgentArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RcsAgentArn")inmake?testingAgent?poolId?twoWayEnabled?twoWayChannelRole?twoWayChannelArn?selfManagedOptOutsEnabled?optOutListName?deletionProtectionEnabled?createdTimestamp?status?rcsAgentId?rcsAgentArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettestingAgent=field_mapjson__"TestingAgent"TestingAgentInformation.of_jsoninletpoolId=field_mapjson__"PoolId"String_.of_jsoninlettwoWayEnabled=field_mapjson__"TwoWayEnabled"PrimitiveBoolean.of_jsoninlettwoWayChannelRole=field_mapjson__"TwoWayChannelRole"IamRoleArn.of_jsoninlettwoWayChannelArn=field_mapjson__"TwoWayChannelArn"TwoWayChannelArn.of_jsoninletselfManagedOptOutsEnabled=field_mapjson__"SelfManagedOptOutsEnabled"PrimitiveBoolean.of_jsoninletoptOutListName=field_mapjson__"OptOutListName"OptOutListName.of_jsoninletdeletionProtectionEnabled=field_mapjson__"DeletionProtectionEnabled"PrimitiveBoolean.of_jsoninletcreatedTimestamp=field_mapjson__"CreatedTimestamp"Timestamp.of_jsoninletstatus=field_mapjson__"Status"RcsAgentStatus.of_jsoninletrcsAgentId=field_mapjson__"RcsAgentId"String_.of_jsoninletrcsAgentArn=field_mapjson__"RcsAgentArn"String_.of_jsoninmake?testingAgent?poolId?twoWayEnabled?twoWayChannelRole?twoWayChannelArn?selfManagedOptOutsEnabled?optOutListName?deletionProtectionEnabled?createdTimestamp?status?rcsAgentId?rcsAgentArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The information for an RCS agent in an Amazon Web Services account."]moduleRcsAgentFilter=structtypenonrect={name:RcsAgentFilterName.t[@ocaml.doc"The name of the attribute to filter on."];values:FilterValueList.t[@ocaml.doc"An array values to filter for."]}letcontext_="RcsAgentFilter"letmake~name=fun~values->fun()->{name;values}letto_valuex=structure_to_value[("Name",(Some(RcsAgentFilterName.to_valuex.name)));("Values",(Some(FilterValueList.to_valuex.values)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvalues=FilterValueList.of_xml(Xml.child_exn~context:context_xml_arg0"Values")inletname=RcsAgentFilterName.of_xml(Xml.child_exn~context:context_xml_arg0"Name")inmake~values~name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvalues=field_map_exnjson__"Values"FilterValueList.of_jsoninletname=field_map_exnjson__"Name"RcsAgentFilterName.of_jsoninmake~values~name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The information for an RCS agent that meets a specified criteria."]moduleRcsAgentIdOrArn=structtypenonrect=stringletcontext_="RcsAgentIdOrArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:256)>>=(fun()->check_patterni~pattern:"[A-Za-z0-9_:/-]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"RcsAgentIdOrArn"jletto_json=simple_to_jsonto_valueendmoduleCountryLaunchStatusInformation=structtypenonrect={isoCountryCode:IsoCountryCode.toption[@ocaml.doc"The two-character code, in ISO 3166-1 alpha-2 format, for the country or region."];status:CountryLaunchStatus.toption[@ocaml.doc"The launch status for this country."];rcsPlatformId:String_.toption[@ocaml.doc"The RCS platform identifier for this country."];registrationId:String_.toption[@ocaml.doc"The unique identifier of the registration associated with this country launch."];carrierStatus:CarrierStatusInformationList.toption[@ocaml.doc"An array of CarrierStatusInformation objects containing carrier-level launch status details."]}letmake?isoCountryCode=fun?status->fun?rcsPlatformId->fun?registrationId->fun?carrierStatus->fun()->{isoCountryCode;status;rcsPlatformId;registrationId;carrierStatus}letto_valuex=structure_to_value[("IsoCountryCode",(Option.mapx.isoCountryCode~f:IsoCountryCode.to_value));("Status",(Option.mapx.status~f:CountryLaunchStatus.to_value));("RcsPlatformId",(Option.mapx.rcsPlatformId~f:String_.to_value));("RegistrationId",(Option.mapx.registrationId~f:String_.to_value));("CarrierStatus",(Option.mapx.carrierStatus~f:CarrierStatusInformationList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcarrierStatus=(Option.map~f:CarrierStatusInformationList.of_xml)(Xml.childxml_arg0"CarrierStatus")inletregistrationId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RegistrationId")inletrcsPlatformId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RcsPlatformId")inletstatus=(Option.map~f:CountryLaunchStatus.of_xml)(Xml.childxml_arg0"Status")inletisoCountryCode=(Option.map~f:IsoCountryCode.of_xml)(Xml.childxml_arg0"IsoCountryCode")inmake?carrierStatus?registrationId?rcsPlatformId?status?isoCountryCode()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcarrierStatus=field_mapjson__"CarrierStatus"CarrierStatusInformationList.of_jsoninletregistrationId=field_mapjson__"RegistrationId"String_.of_jsoninletrcsPlatformId=field_mapjson__"RcsPlatformId"String_.of_jsoninletstatus=field_mapjson__"Status"CountryLaunchStatus.of_jsoninletisoCountryCode=field_mapjson__"IsoCountryCode"IsoCountryCode.of_jsoninmake?carrierStatus?registrationId?rcsPlatformId?status?isoCountryCode()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Contains per-country launch status details for an RCS agent."]moduleCountryLaunchStatusFilter=structtypenonrect={name:CountryLaunchStatusFilterName.t[@ocaml.doc"The name of the attribute to filter on."];values:FilterValueList.t[@ocaml.doc"An array values to filter for."]}letcontext_="CountryLaunchStatusFilter"letmake~name=fun~values->fun()->{name;values}letto_valuex=structure_to_value[("Name",(Some(CountryLaunchStatusFilterName.to_valuex.name)));("Values",(Some(FilterValueList.to_valuex.values)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvalues=FilterValueList.of_xml(Xml.child_exn~context:context_xml_arg0"Values")inletname=CountryLaunchStatusFilterName.of_xml(Xml.child_exn~context:context_xml_arg0"Name")inmake~values~name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvalues=field_map_exnjson__"Values"FilterValueList.of_jsoninletname=field_map_exnjson__"Name"CountryLaunchStatusFilterName.of_jsoninmake~values~name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The information for a country launch status that meets a specified criteria."]moduleProtectConfigurationInformation=structtypenonrect={protectConfigurationArn:ProtectConfigurationArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the protect configuration."];protectConfigurationId:ProtectConfigurationId.toption[@ocaml.doc"The unique identifier for the protect configuration."];createdTimestamp:Timestamp.toption[@ocaml.doc"The time when the protect configuration was created, in UNIX epoch time format."];accountDefault:PrimitiveBoolean.toption[@ocaml.doc"This is true if the protect configuration is set as your account default protect configuration."];deletionProtectionEnabled:PrimitiveBoolean.toption[@ocaml.doc"The status of deletion protection for the protect configuration. When set to true deletion protection is enabled. By default this is set to false."]}letmake?protectConfigurationArn=fun?protectConfigurationId->fun?createdTimestamp->fun?accountDefault->fun?deletionProtectionEnabled->fun()->{protectConfigurationArn;protectConfigurationId;createdTimestamp;accountDefault;deletionProtectionEnabled}letto_valuex=structure_to_value[("ProtectConfigurationArn",(Option.mapx.protectConfigurationArn~f:ProtectConfigurationArn.to_value));("ProtectConfigurationId",(Option.mapx.protectConfigurationId~f:ProtectConfigurationId.to_value));("CreatedTimestamp",(Option.mapx.createdTimestamp~f:Timestamp.to_value));("AccountDefault",(Option.mapx.accountDefault~f:PrimitiveBoolean.to_value));("DeletionProtectionEnabled",(Option.mapx.deletionProtectionEnabled~f:PrimitiveBoolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdeletionProtectionEnabled=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"DeletionProtectionEnabled")inletaccountDefault=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"AccountDefault")inletcreatedTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"CreatedTimestamp")inletprotectConfigurationId=(Option.map~f:ProtectConfigurationId.of_xml)(Xml.childxml_arg0"ProtectConfigurationId")inletprotectConfigurationArn=(Option.map~f:ProtectConfigurationArn.of_xml)(Xml.childxml_arg0"ProtectConfigurationArn")inmake?deletionProtectionEnabled?accountDefault?createdTimestamp?protectConfigurationId?protectConfigurationArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdeletionProtectionEnabled=field_mapjson__"DeletionProtectionEnabled"PrimitiveBoolean.of_jsoninletaccountDefault=field_mapjson__"AccountDefault"PrimitiveBoolean.of_jsoninletcreatedTimestamp=field_mapjson__"CreatedTimestamp"Timestamp.of_jsoninletprotectConfigurationId=field_mapjson__"ProtectConfigurationId"ProtectConfigurationId.of_jsoninletprotectConfigurationArn=field_mapjson__"ProtectConfigurationArn"ProtectConfigurationArn.of_jsoninmake?deletionProtectionEnabled?accountDefault?createdTimestamp?protectConfigurationId?protectConfigurationArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Provides information on the specified protect configuration."]moduleProtectConfigurationFilter=structtypenonrect={name:ProtectConfigurationFilterName.t[@ocaml.doc"The name of the attribute to filter on."];values:FilterValueList.t[@ocaml.doc"An array of values to filter for."]}letcontext_="ProtectConfigurationFilter"letmake~name=fun~values->fun()->{name;values}letto_valuex=structure_to_value[("Name",(Some(ProtectConfigurationFilterName.to_valuex.name)));("Values",(Some(FilterValueList.to_valuex.values)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvalues=FilterValueList.of_xml(Xml.child_exn~context:context_xml_arg0"Values")inletname=ProtectConfigurationFilterName.of_xml(Xml.child_exn~context:context_xml_arg0"Name")inmake~values~name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvalues=field_map_exnjson__"Values"FilterValueList.of_jsoninletname=field_map_exnjson__"Name"ProtectConfigurationFilterName.of_jsoninmake~values~name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The filter definition for filtering protect configurations that meet a specified criteria."]modulePoolInformation=structtypenonrect={poolArn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) for the pool."];poolId:String_.toption[@ocaml.doc"The unique identifier for the pool."];status:PoolStatus.toption[@ocaml.doc"The current status of the pool."];messageType:MessageType.toption[@ocaml.doc"The type of message. Valid values are TRANSACTIONAL for messages that are critical or time-sensitive and PROMOTIONAL for messages that aren't critical or time-sensitive."];twoWayEnabled:PrimitiveBoolean.toption[@ocaml.doc"When set to true you can receive incoming text messages from your end recipients using the TwoWayChannelArn."];twoWayChannelArn:TwoWayChannelArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the two way channel."];twoWayChannelRole:IamRoleArn.toption[@ocaml.doc"An optional IAM Role Arn for a service to assume, to be able to post inbound SMS messages."];selfManagedOptOutsEnabled:PrimitiveBoolean.toption[@ocaml.doc"When set to false, an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, End User Messaging SMS automatically replies with a customizable message and adds the end recipient to the OptOutList. When set to true you're responsible for responding to HELP and STOP requests. You're also responsible for tracking and honoring opt-out requests. For more information see Self-managed opt-outs"];optOutListName:OptOutListName.toption[@ocaml.doc"The name of the OptOutList associated with the pool."];sharedRoutesEnabled:PrimitiveBoolean.toption[@ocaml.doc"Allows you to enable shared routes on your pool. By default, this is set to False. If you set this value to True, your messages are sent using phone numbers or sender IDs (depending on the country) that are shared with other users. In some countries, such as the United States, senders aren't allowed to use shared routes and must use a dedicated phone number or short code."];deletionProtectionEnabled:PrimitiveBoolean.toption[@ocaml.doc"When set to true the pool can't be deleted."];createdTimestamp:Timestamp.toption[@ocaml.doc"The time when the pool was created, in UNIX epoch time format."]}letmake?poolArn=fun?poolId->fun?status->fun?messageType->fun?twoWayEnabled->fun?twoWayChannelArn->fun?twoWayChannelRole->fun?selfManagedOptOutsEnabled->fun?optOutListName->fun?sharedRoutesEnabled->fun?deletionProtectionEnabled->fun?createdTimestamp->fun()->{poolArn;poolId;status;messageType;twoWayEnabled;twoWayChannelArn;twoWayChannelRole;selfManagedOptOutsEnabled;optOutListName;sharedRoutesEnabled;deletionProtectionEnabled;createdTimestamp}letto_valuex=structure_to_value[("PoolArn",(Option.mapx.poolArn~f:String_.to_value));("PoolId",(Option.mapx.poolId~f:String_.to_value));("Status",(Option.mapx.status~f:PoolStatus.to_value));("MessageType",(Option.mapx.messageType~f:MessageType.to_value));("TwoWayEnabled",(Option.mapx.twoWayEnabled~f:PrimitiveBoolean.to_value));("TwoWayChannelArn",(Option.mapx.twoWayChannelArn~f:TwoWayChannelArn.to_value));("TwoWayChannelRole",(Option.mapx.twoWayChannelRole~f:IamRoleArn.to_value));("SelfManagedOptOutsEnabled",(Option.mapx.selfManagedOptOutsEnabled~f:PrimitiveBoolean.to_value));("OptOutListName",(Option.mapx.optOutListName~f:OptOutListName.to_value));("SharedRoutesEnabled",(Option.mapx.sharedRoutesEnabled~f:PrimitiveBoolean.to_value));("DeletionProtectionEnabled",(Option.mapx.deletionProtectionEnabled~f:PrimitiveBoolean.to_value));("CreatedTimestamp",(Option.mapx.createdTimestamp~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcreatedTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"CreatedTimestamp")inletdeletionProtectionEnabled=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"DeletionProtectionEnabled")inletsharedRoutesEnabled=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"SharedRoutesEnabled")inletoptOutListName=(Option.map~f:OptOutListName.of_xml)(Xml.childxml_arg0"OptOutListName")inletselfManagedOptOutsEnabled=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"SelfManagedOptOutsEnabled")inlettwoWayChannelRole=(Option.map~f:IamRoleArn.of_xml)(Xml.childxml_arg0"TwoWayChannelRole")inlettwoWayChannelArn=(Option.map~f:TwoWayChannelArn.of_xml)(Xml.childxml_arg0"TwoWayChannelArn")inlettwoWayEnabled=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"TwoWayEnabled")inletmessageType=(Option.map~f:MessageType.of_xml)(Xml.childxml_arg0"MessageType")inletstatus=(Option.map~f:PoolStatus.of_xml)(Xml.childxml_arg0"Status")inletpoolId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"PoolId")inletpoolArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"PoolArn")inmake?createdTimestamp?deletionProtectionEnabled?sharedRoutesEnabled?optOutListName?selfManagedOptOutsEnabled?twoWayChannelRole?twoWayChannelArn?twoWayEnabled?messageType?status?poolId?poolArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcreatedTimestamp=field_mapjson__"CreatedTimestamp"Timestamp.of_jsoninletdeletionProtectionEnabled=field_mapjson__"DeletionProtectionEnabled"PrimitiveBoolean.of_jsoninletsharedRoutesEnabled=field_mapjson__"SharedRoutesEnabled"PrimitiveBoolean.of_jsoninletoptOutListName=field_mapjson__"OptOutListName"OptOutListName.of_jsoninletselfManagedOptOutsEnabled=field_mapjson__"SelfManagedOptOutsEnabled"PrimitiveBoolean.of_jsoninlettwoWayChannelRole=field_mapjson__"TwoWayChannelRole"IamRoleArn.of_jsoninlettwoWayChannelArn=field_mapjson__"TwoWayChannelArn"TwoWayChannelArn.of_jsoninlettwoWayEnabled=field_mapjson__"TwoWayEnabled"PrimitiveBoolean.of_jsoninletmessageType=field_mapjson__"MessageType"MessageType.of_jsoninletstatus=field_mapjson__"Status"PoolStatus.of_jsoninletpoolId=field_mapjson__"PoolId"String_.of_jsoninletpoolArn=field_mapjson__"PoolArn"String_.of_jsoninmake?createdTimestamp?deletionProtectionEnabled?sharedRoutesEnabled?optOutListName?selfManagedOptOutsEnabled?twoWayChannelRole?twoWayChannelArn?twoWayEnabled?messageType?status?poolId?poolArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The information for a pool in an Amazon Web Services account."]modulePoolFilter=structtypenonrect={name:PoolFilterName.t[@ocaml.doc"The name of the attribute to filter on."];values:FilterValueList.t[@ocaml.doc"An array values to filter for."]}letcontext_="PoolFilter"letmake~name=fun~values->fun()->{name;values}letto_valuex=structure_to_value[("Name",(Some(PoolFilterName.to_valuex.name)));("Values",(Some(FilterValueList.to_valuex.values)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvalues=FilterValueList.of_xml(Xml.child_exn~context:context_xml_arg0"Values")inletname=PoolFilterName.of_xml(Xml.child_exn~context:context_xml_arg0"Name")inmake~values~name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvalues=field_map_exnjson__"Values"FilterValueList.of_jsoninletname=field_map_exnjson__"Name"PoolFilterName.of_jsoninmake~values~name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The information for a pool that meets a specified criteria."]modulePoolIdOrArn=structtypenonrect=stringletcontext_="PoolIdOrArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:0)>>=(fun()->(check_string_maxi~max:256)>>=(fun()->check_patterni~pattern:"[A-Za-z0-9_:/-]*")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"PoolIdOrArn"jletto_json=simple_to_jsonto_valueendmodulePhoneNumberInformation=structtypenonrect={phoneNumberArn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) associated with the phone number."];phoneNumberId:String_.toption[@ocaml.doc"The unique identifier for the phone number."];phoneNumber:PhoneNumber.toption[@ocaml.doc"The phone number in E.164 format."];status:NumberStatus.toption[@ocaml.doc"The current status of the phone number."];isoCountryCode:IsoCountryCode.toption[@ocaml.doc"The two-character code, in ISO 3166-1 alpha-2 format, for the country or region."];messageType:MessageType.toption[@ocaml.doc"The type of message. Valid values are TRANSACTIONAL for messages that are critical or time-sensitive and PROMOTIONAL for messages that aren't critical or time-sensitive."];numberCapabilities:NumberCapabilityList.toption[@ocaml.doc"Describes if the origination identity can be used for text messages, voice calls or both."];numberType:NumberType.toption[@ocaml.doc"The type of phone number."];monthlyLeasingPrice:String_.toption[@ocaml.doc"The price, in US dollars, to lease the phone number."];twoWayEnabled:PrimitiveBoolean.toption[@ocaml.doc"By default this is set to false. When set to true you can receive incoming text messages from your end recipients using the TwoWayChannelArn."];twoWayChannelArn:TwoWayChannelArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the two way channel."];twoWayChannelRole:IamRoleArn.toption[@ocaml.doc"An optional IAM Role Arn for a service to assume, to be able to post inbound SMS messages."];selfManagedOptOutsEnabled:PrimitiveBoolean.toption[@ocaml.doc"When set to false and an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, End User Messaging SMS automatically replies with a customizable message and adds the end recipient to the OptOutList. When set to true you're responsible for responding to HELP and STOP requests. You're also responsible for tracking and honoring opt-out request. For more information see Self-managed opt-outs"];optOutListName:OptOutListName.toption[@ocaml.doc"The name of the OptOutList associated with the phone number."];internationalSendingEnabled:PrimitiveBoolean.toption[@ocaml.doc"When set to true the international sending of phone number is Enabled."];deletionProtectionEnabled:PrimitiveBoolean.toption[@ocaml.doc"When set to true the phone number can't be deleted."];poolId:String_.toption[@ocaml.doc"The unique identifier of the pool associated with the phone number."];registrationId:String_.toption[@ocaml.doc"The unique identifier for the registration."];createdTimestamp:Timestamp.toption[@ocaml.doc"The time when the phone number was created, in UNIX epoch time format."]}letmake?phoneNumberArn=fun?phoneNumberId->fun?phoneNumber->fun?status->fun?isoCountryCode->fun?messageType->fun?numberCapabilities->fun?numberType->fun?monthlyLeasingPrice->fun?twoWayEnabled->fun?twoWayChannelArn->fun?twoWayChannelRole->fun?selfManagedOptOutsEnabled->fun?optOutListName->fun?internationalSendingEnabled->fun?deletionProtectionEnabled->fun?poolId->fun?registrationId->fun?createdTimestamp->fun()->{phoneNumberArn;phoneNumberId;phoneNumber;status;isoCountryCode;messageType;numberCapabilities;numberType;monthlyLeasingPrice;twoWayEnabled;twoWayChannelArn;twoWayChannelRole;selfManagedOptOutsEnabled;optOutListName;internationalSendingEnabled;deletionProtectionEnabled;poolId;registrationId;createdTimestamp}letto_valuex=structure_to_value[("PhoneNumberArn",(Option.mapx.phoneNumberArn~f:String_.to_value));("PhoneNumberId",(Option.mapx.phoneNumberId~f:String_.to_value));("PhoneNumber",(Option.mapx.phoneNumber~f:PhoneNumber.to_value));("Status",(Option.mapx.status~f:NumberStatus.to_value));("IsoCountryCode",(Option.mapx.isoCountryCode~f:IsoCountryCode.to_value));("MessageType",(Option.mapx.messageType~f:MessageType.to_value));("NumberCapabilities",(Option.mapx.numberCapabilities~f:NumberCapabilityList.to_value));("NumberType",(Option.mapx.numberType~f:NumberType.to_value));("MonthlyLeasingPrice",(Option.mapx.monthlyLeasingPrice~f:String_.to_value));("TwoWayEnabled",(Option.mapx.twoWayEnabled~f:PrimitiveBoolean.to_value));("TwoWayChannelArn",(Option.mapx.twoWayChannelArn~f:TwoWayChannelArn.to_value));("TwoWayChannelRole",(Option.mapx.twoWayChannelRole~f:IamRoleArn.to_value));("SelfManagedOptOutsEnabled",(Option.mapx.selfManagedOptOutsEnabled~f:PrimitiveBoolean.to_value));("OptOutListName",(Option.mapx.optOutListName~f:OptOutListName.to_value));("InternationalSendingEnabled",(Option.mapx.internationalSendingEnabled~f:PrimitiveBoolean.to_value));("DeletionProtectionEnabled",(Option.mapx.deletionProtectionEnabled~f:PrimitiveBoolean.to_value));("PoolId",(Option.mapx.poolId~f:String_.to_value));("RegistrationId",(Option.mapx.registrationId~f:String_.to_value));("CreatedTimestamp",(Option.mapx.createdTimestamp~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcreatedTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"CreatedTimestamp")inletregistrationId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RegistrationId")inletpoolId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"PoolId")inletdeletionProtectionEnabled=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"DeletionProtectionEnabled")inletinternationalSendingEnabled=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"InternationalSendingEnabled")inletoptOutListName=(Option.map~f:OptOutListName.of_xml)(Xml.childxml_arg0"OptOutListName")inletselfManagedOptOutsEnabled=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"SelfManagedOptOutsEnabled")inlettwoWayChannelRole=(Option.map~f:IamRoleArn.of_xml)(Xml.childxml_arg0"TwoWayChannelRole")inlettwoWayChannelArn=(Option.map~f:TwoWayChannelArn.of_xml)(Xml.childxml_arg0"TwoWayChannelArn")inlettwoWayEnabled=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"TwoWayEnabled")inletmonthlyLeasingPrice=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"MonthlyLeasingPrice")inletnumberType=(Option.map~f:NumberType.of_xml)(Xml.childxml_arg0"NumberType")inletnumberCapabilities=(Option.map~f:NumberCapabilityList.of_xml)(Xml.childxml_arg0"NumberCapabilities")inletmessageType=(Option.map~f:MessageType.of_xml)(Xml.childxml_arg0"MessageType")inletisoCountryCode=(Option.map~f:IsoCountryCode.of_xml)(Xml.childxml_arg0"IsoCountryCode")inletstatus=(Option.map~f:NumberStatus.of_xml)(Xml.childxml_arg0"Status")inletphoneNumber=(Option.map~f:PhoneNumber.of_xml)(Xml.childxml_arg0"PhoneNumber")inletphoneNumberId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"PhoneNumberId")inletphoneNumberArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"PhoneNumberArn")inmake?createdTimestamp?registrationId?poolId?deletionProtectionEnabled?internationalSendingEnabled?optOutListName?selfManagedOptOutsEnabled?twoWayChannelRole?twoWayChannelArn?twoWayEnabled?monthlyLeasingPrice?numberType?numberCapabilities?messageType?isoCountryCode?status?phoneNumber?phoneNumberId?phoneNumberArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcreatedTimestamp=field_mapjson__"CreatedTimestamp"Timestamp.of_jsoninletregistrationId=field_mapjson__"RegistrationId"String_.of_jsoninletpoolId=field_mapjson__"PoolId"String_.of_jsoninletdeletionProtectionEnabled=field_mapjson__"DeletionProtectionEnabled"PrimitiveBoolean.of_jsoninletinternationalSendingEnabled=field_mapjson__"InternationalSendingEnabled"PrimitiveBoolean.of_jsoninletoptOutListName=field_mapjson__"OptOutListName"OptOutListName.of_jsoninletselfManagedOptOutsEnabled=field_mapjson__"SelfManagedOptOutsEnabled"PrimitiveBoolean.of_jsoninlettwoWayChannelRole=field_mapjson__"TwoWayChannelRole"IamRoleArn.of_jsoninlettwoWayChannelArn=field_mapjson__"TwoWayChannelArn"TwoWayChannelArn.of_jsoninlettwoWayEnabled=field_mapjson__"TwoWayEnabled"PrimitiveBoolean.of_jsoninletmonthlyLeasingPrice=field_mapjson__"MonthlyLeasingPrice"String_.of_jsoninletnumberType=field_mapjson__"NumberType"NumberType.of_jsoninletnumberCapabilities=field_mapjson__"NumberCapabilities"NumberCapabilityList.of_jsoninletmessageType=field_mapjson__"MessageType"MessageType.of_jsoninletisoCountryCode=field_mapjson__"IsoCountryCode"IsoCountryCode.of_jsoninletstatus=field_mapjson__"Status"NumberStatus.of_jsoninletphoneNumber=field_mapjson__"PhoneNumber"PhoneNumber.of_jsoninletphoneNumberId=field_mapjson__"PhoneNumberId"String_.of_jsoninletphoneNumberArn=field_mapjson__"PhoneNumberArn"String_.of_jsoninmake?createdTimestamp?registrationId?poolId?deletionProtectionEnabled?internationalSendingEnabled?optOutListName?selfManagedOptOutsEnabled?twoWayChannelRole?twoWayChannelArn?twoWayEnabled?monthlyLeasingPrice?numberType?numberCapabilities?messageType?isoCountryCode?status?phoneNumber?phoneNumberId?phoneNumberArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The information for a phone number, in E.164 format, in an Amazon Web Services account."]modulePhoneNumberFilter=structtypenonrect={name:PhoneNumberFilterName.t[@ocaml.doc"The name of the attribute to filter on."];values:FilterValueList.t[@ocaml.doc"An array values to filter for."]}letcontext_="PhoneNumberFilter"letmake~name=fun~values->fun()->{name;values}letto_valuex=structure_to_value[("Name",(Some(PhoneNumberFilterName.to_valuex.name)));("Values",(Some(FilterValueList.to_valuex.values)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvalues=FilterValueList.of_xml(Xml.child_exn~context:context_xml_arg0"Values")inletname=PhoneNumberFilterName.of_xml(Xml.child_exn~context:context_xml_arg0"Name")inmake~values~name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvalues=field_map_exnjson__"Values"FilterValueList.of_jsoninletname=field_map_exnjson__"Name"PhoneNumberFilterName.of_jsoninmake~values~name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The information for a phone number that meets a specified criteria."]modulePhoneNumberIdOrArn=structtypenonrect=stringletcontext_="PhoneNumberIdOrArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:256)>>=(fun()->check_patterni~pattern:"[A-Za-z0-9_:/-]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"PhoneNumberIdOrArn"jletto_json=simple_to_jsonto_valueendmoduleOptedOutNumberInformation=structtypenonrect={optedOutNumber:PhoneNumber.toption[@ocaml.doc"The phone number that is opted out."];optedOutTimestamp:Timestamp.toption[@ocaml.doc"The time that the op tout occurred, in UNIX epoch time format."];endUserOptedOut:PrimitiveBoolean.toption[@ocaml.doc"This is set to true if it was the end recipient that opted out."]}letmake?optedOutNumber=fun?optedOutTimestamp->fun?endUserOptedOut->fun()->{optedOutNumber;optedOutTimestamp;endUserOptedOut}letto_valuex=structure_to_value[("OptedOutNumber",(Option.mapx.optedOutNumber~f:PhoneNumber.to_value));("OptedOutTimestamp",(Option.mapx.optedOutTimestamp~f:Timestamp.to_value));("EndUserOptedOut",(Option.mapx.endUserOptedOut~f:PrimitiveBoolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letendUserOptedOut=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"EndUserOptedOut")inletoptedOutTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"OptedOutTimestamp")inletoptedOutNumber=(Option.map~f:PhoneNumber.of_xml)(Xml.childxml_arg0"OptedOutNumber")inmake?endUserOptedOut?optedOutTimestamp?optedOutNumber()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letendUserOptedOut=field_mapjson__"EndUserOptedOut"PrimitiveBoolean.of_jsoninletoptedOutTimestamp=field_mapjson__"OptedOutTimestamp"Timestamp.of_jsoninletoptedOutNumber=field_mapjson__"OptedOutNumber"PhoneNumber.of_jsoninmake?endUserOptedOut?optedOutTimestamp?optedOutNumber()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The information for an opted out number in an Amazon Web Services account."]moduleOptedOutFilter=structtypenonrect={name:OptedOutFilterName.t[@ocaml.doc"The name of the attribute to filter on."];values:FilterValueList.t[@ocaml.doc"An array of values to filter for."]}letcontext_="OptedOutFilter"letmake~name=fun~values->fun()->{name;values}letto_valuex=structure_to_value[("Name",(Some(OptedOutFilterName.to_valuex.name)));("Values",(Some(FilterValueList.to_valuex.values)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvalues=FilterValueList.of_xml(Xml.child_exn~context:context_xml_arg0"Values")inletname=OptedOutFilterName.of_xml(Xml.child_exn~context:context_xml_arg0"Name")inmake~values~name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvalues=field_map_exnjson__"Values"FilterValueList.of_jsoninletname=field_map_exnjson__"Name"OptedOutFilterName.of_jsoninmake~values~name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The information for opted out numbers that meet a specified criteria."]moduleOptOutListInformation=structtypenonrect={optOutListArn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the OptOutList."];optOutListName:OptOutListName.toption[@ocaml.doc"The name of the OptOutList."];createdTimestamp:Timestamp.toption[@ocaml.doc"The time when the OutOutList was created, in UNIX epoch time format."]}letmake?optOutListArn=fun?optOutListName->fun?createdTimestamp->fun()->{optOutListArn;optOutListName;createdTimestamp}letto_valuex=structure_to_value[("OptOutListArn",(Option.mapx.optOutListArn~f:String_.to_value));("OptOutListName",(Option.mapx.optOutListName~f:OptOutListName.to_value));("CreatedTimestamp",(Option.mapx.createdTimestamp~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcreatedTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"CreatedTimestamp")inletoptOutListName=(Option.map~f:OptOutListName.of_xml)(Xml.childxml_arg0"OptOutListName")inletoptOutListArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"OptOutListArn")inmake?createdTimestamp?optOutListName?optOutListArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcreatedTimestamp=field_mapjson__"CreatedTimestamp"Timestamp.of_jsoninletoptOutListName=field_mapjson__"OptOutListName"OptOutListName.of_jsoninletoptOutListArn=field_mapjson__"OptOutListArn"String_.of_jsoninmake?createdTimestamp?optOutListName?optOutListArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The information for all OptOutList in an Amazon Web Services account."]moduleOptOutListNameOrArn=structtypenonrect=stringletcontext_="OptOutListNameOrArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:256)>>=(fun()->check_patterni~pattern:"[A-Za-z0-9_:/-]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"OptOutListNameOrArn"jletto_json=simple_to_jsonto_valueendmoduleNotifyTemplateInformation=structtypenonrect={templateId:NotifyTemplateId.toption[@ocaml.doc"The unique identifier for the template."];version:NotifyTemplateVersion.toption[@ocaml.doc"The version of the template."];templateType:NotifyTemplateType.toption[@ocaml.doc"The type of the template."];channels:NumberCapabilityList.toption[@ocaml.doc"The channels for the template. Supported values are SMS and VOICE."];tierAccess:NotifyConfigurationTierList.toption[@ocaml.doc"The tier access level for the template."];status:NotifyTemplateStatus.toption[@ocaml.doc"The current status of the template."];supportedCountries:IsoCountryCodeList.toption[@ocaml.doc"An array of supported country codes for the template."];languageCode:NotifyLanguageCode.toption[@ocaml.doc"The language code for the template."];content:TemplateContent.toption[@ocaml.doc"The content of the template."];variables:TemplateVariablesMap.toption[@ocaml.doc"An array of template variable metadata for the template."];supportedVoiceIds:VoiceIdList.toption[@ocaml.doc"An array of supported voice IDs for voice templates."];createdTimestamp:Timestamp.toption[@ocaml.doc"The time when the notify template was created, in UNIX epoch time format."]}letmake?templateId=fun?version->fun?templateType->fun?channels->fun?tierAccess->fun?status->fun?supportedCountries->fun?languageCode->fun?content->fun?variables->fun?supportedVoiceIds->fun?createdTimestamp->fun()->{templateId;version;templateType;channels;tierAccess;status;supportedCountries;languageCode;content;variables;supportedVoiceIds;createdTimestamp}letto_valuex=structure_to_value[("TemplateId",(Option.mapx.templateId~f:NotifyTemplateId.to_value));("Version",(Option.mapx.version~f:NotifyTemplateVersion.to_value));("TemplateType",(Option.mapx.templateType~f:NotifyTemplateType.to_value));("Channels",(Option.mapx.channels~f:NumberCapabilityList.to_value));("TierAccess",(Option.mapx.tierAccess~f:NotifyConfigurationTierList.to_value));("Status",(Option.mapx.status~f:NotifyTemplateStatus.to_value));("SupportedCountries",(Option.mapx.supportedCountries~f:IsoCountryCodeList.to_value));("LanguageCode",(Option.mapx.languageCode~f:NotifyLanguageCode.to_value));("Content",(Option.mapx.content~f:TemplateContent.to_value));("Variables",(Option.mapx.variables~f:TemplateVariablesMap.to_value));("SupportedVoiceIds",(Option.mapx.supportedVoiceIds~f:VoiceIdList.to_value));("CreatedTimestamp",(Option.mapx.createdTimestamp~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcreatedTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"CreatedTimestamp")inletsupportedVoiceIds=(Option.map~f:VoiceIdList.of_xml)(Xml.childxml_arg0"SupportedVoiceIds")inletvariables=(Option.map~f:TemplateVariablesMap.of_xml)(Xml.childxml_arg0"Variables")inletcontent=(Option.map~f:TemplateContent.of_xml)(Xml.childxml_arg0"Content")inletlanguageCode=(Option.map~f:NotifyLanguageCode.of_xml)(Xml.childxml_arg0"LanguageCode")inletsupportedCountries=(Option.map~f:IsoCountryCodeList.of_xml)(Xml.childxml_arg0"SupportedCountries")inletstatus=(Option.map~f:NotifyTemplateStatus.of_xml)(Xml.childxml_arg0"Status")inlettierAccess=(Option.map~f:NotifyConfigurationTierList.of_xml)(Xml.childxml_arg0"TierAccess")inletchannels=(Option.map~f:NumberCapabilityList.of_xml)(Xml.childxml_arg0"Channels")inlettemplateType=(Option.map~f:NotifyTemplateType.of_xml)(Xml.childxml_arg0"TemplateType")inletversion=(Option.map~f:NotifyTemplateVersion.of_xml)(Xml.childxml_arg0"Version")inlettemplateId=(Option.map~f:NotifyTemplateId.of_xml)(Xml.childxml_arg0"TemplateId")inmake?createdTimestamp?supportedVoiceIds?variables?content?languageCode?supportedCountries?status?tierAccess?channels?templateType?version?templateId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcreatedTimestamp=field_mapjson__"CreatedTimestamp"Timestamp.of_jsoninletsupportedVoiceIds=field_mapjson__"SupportedVoiceIds"VoiceIdList.of_jsoninletvariables=field_mapjson__"Variables"TemplateVariablesMap.of_jsoninletcontent=field_mapjson__"Content"TemplateContent.of_jsoninletlanguageCode=field_mapjson__"LanguageCode"NotifyLanguageCode.of_jsoninletsupportedCountries=field_mapjson__"SupportedCountries"IsoCountryCodeList.of_jsoninletstatus=field_mapjson__"Status"NotifyTemplateStatus.of_jsoninlettierAccess=field_mapjson__"TierAccess"NotifyConfigurationTierList.of_jsoninletchannels=field_mapjson__"Channels"NumberCapabilityList.of_jsoninlettemplateType=field_mapjson__"TemplateType"NotifyTemplateType.of_jsoninletversion=field_mapjson__"Version"NotifyTemplateVersion.of_jsoninlettemplateId=field_mapjson__"TemplateId"NotifyTemplateId.of_jsoninmake?createdTimestamp?supportedVoiceIds?variables?content?languageCode?supportedCountries?status?tierAccess?channels?templateType?version?templateId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The information for a system-managed notify template in an Amazon Web Services account."]moduleNotifyTemplateFilter=structtypenonrect={name:NotifyTemplateFilterName.t[@ocaml.doc"The name of the attribute to filter on."];values:FilterValueList.t[@ocaml.doc"An array values to filter for."]}letcontext_="NotifyTemplateFilter"letmake~name=fun~values->fun()->{name;values}letto_valuex=structure_to_value[("Name",(Some(NotifyTemplateFilterName.to_valuex.name)));("Values",(Some(FilterValueList.to_valuex.values)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvalues=FilterValueList.of_xml(Xml.child_exn~context:context_xml_arg0"Values")inletname=NotifyTemplateFilterName.of_xml(Xml.child_exn~context:context_xml_arg0"Name")inmake~values~name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvalues=field_map_exnjson__"Values"FilterValueList.of_jsoninletname=field_map_exnjson__"Name"NotifyTemplateFilterName.of_jsoninmake~values~name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The information for notify templates that meet a specified criteria."]moduleNotifyConfigurationInformation=structtypenonrect={notifyConfigurationArn:NotifyConfigurationArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) for the notify configuration."];notifyConfigurationId:NotifyConfigurationId.toption[@ocaml.doc"The unique identifier for the notify configuration."];displayName:NotifyConfigurationDisplayName.toption[@ocaml.doc"The display name associated with the notify configuration."];useCase:NotifyConfigurationUseCase.toption[@ocaml.doc"The use case for the notify configuration."];defaultTemplateId:NotifyTemplateId.toption[@ocaml.doc"The default template identifier associated with the notify configuration."];poolId:String_.toption[@ocaml.doc"The identifier of the pool associated with the notify configuration."];enabledCountries:IsoCountryCodeList.toption[@ocaml.doc"An array of two-character ISO country codes, in ISO 3166-1 alpha-2 format, that are enabled for the notify configuration."];enabledChannels:NotifyEnabledChannelsList.toption[@ocaml.doc"An array of channels enabled for the notify configuration. Supported values include SMS and VOICE."];tier:NotifyConfigurationTier.toption[@ocaml.doc"The tier of the notify configuration."];tierUpgradeStatus:TierUpgradeStatus.toption[@ocaml.doc"The tier upgrade status of the notify configuration."];status:NotifyConfigurationStatus.toption[@ocaml.doc"The current status of the notify configuration."];rejectionReason:String_.toption[@ocaml.doc"The reason the notify configuration was rejected, if applicable."];deletionProtectionEnabled:PrimitiveBoolean.toption[@ocaml.doc"When set to true deletion protection is enabled. By default this is set to false."];createdTimestamp:Timestamp.toption[@ocaml.doc"The time when the notify configuration was created, in UNIX epoch time format."]}letmake?notifyConfigurationArn=fun?notifyConfigurationId->fun?displayName->fun?useCase->fun?defaultTemplateId->fun?poolId->fun?enabledCountries->fun?enabledChannels->fun?tier->fun?tierUpgradeStatus->fun?status->fun?rejectionReason->fun?deletionProtectionEnabled->fun?createdTimestamp->fun()->{notifyConfigurationArn;notifyConfigurationId;displayName;useCase;defaultTemplateId;poolId;enabledCountries;enabledChannels;tier;tierUpgradeStatus;status;rejectionReason;deletionProtectionEnabled;createdTimestamp}letto_valuex=structure_to_value[("NotifyConfigurationArn",(Option.mapx.notifyConfigurationArn~f:NotifyConfigurationArn.to_value));("NotifyConfigurationId",(Option.mapx.notifyConfigurationId~f:NotifyConfigurationId.to_value));("DisplayName",(Option.mapx.displayName~f:NotifyConfigurationDisplayName.to_value));("UseCase",(Option.mapx.useCase~f:NotifyConfigurationUseCase.to_value));("DefaultTemplateId",(Option.mapx.defaultTemplateId~f:NotifyTemplateId.to_value));("PoolId",(Option.mapx.poolId~f:String_.to_value));("EnabledCountries",(Option.mapx.enabledCountries~f:IsoCountryCodeList.to_value));("EnabledChannels",(Option.mapx.enabledChannels~f:NotifyEnabledChannelsList.to_value));("Tier",(Option.mapx.tier~f:NotifyConfigurationTier.to_value));("TierUpgradeStatus",(Option.mapx.tierUpgradeStatus~f:TierUpgradeStatus.to_value));("Status",(Option.mapx.status~f:NotifyConfigurationStatus.to_value));("RejectionReason",(Option.mapx.rejectionReason~f:String_.to_value));("DeletionProtectionEnabled",(Option.mapx.deletionProtectionEnabled~f:PrimitiveBoolean.to_value));("CreatedTimestamp",(Option.mapx.createdTimestamp~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcreatedTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"CreatedTimestamp")inletdeletionProtectionEnabled=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"DeletionProtectionEnabled")inletrejectionReason=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RejectionReason")inletstatus=(Option.map~f:NotifyConfigurationStatus.of_xml)(Xml.childxml_arg0"Status")inlettierUpgradeStatus=(Option.map~f:TierUpgradeStatus.of_xml)(Xml.childxml_arg0"TierUpgradeStatus")inlettier=(Option.map~f:NotifyConfigurationTier.of_xml)(Xml.childxml_arg0"Tier")inletenabledChannels=(Option.map~f:NotifyEnabledChannelsList.of_xml)(Xml.childxml_arg0"EnabledChannels")inletenabledCountries=(Option.map~f:IsoCountryCodeList.of_xml)(Xml.childxml_arg0"EnabledCountries")inletpoolId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"PoolId")inletdefaultTemplateId=(Option.map~f:NotifyTemplateId.of_xml)(Xml.childxml_arg0"DefaultTemplateId")inletuseCase=(Option.map~f:NotifyConfigurationUseCase.of_xml)(Xml.childxml_arg0"UseCase")inletdisplayName=(Option.map~f:NotifyConfigurationDisplayName.of_xml)(Xml.childxml_arg0"DisplayName")inletnotifyConfigurationId=(Option.map~f:NotifyConfigurationId.of_xml)(Xml.childxml_arg0"NotifyConfigurationId")inletnotifyConfigurationArn=(Option.map~f:NotifyConfigurationArn.of_xml)(Xml.childxml_arg0"NotifyConfigurationArn")inmake?createdTimestamp?deletionProtectionEnabled?rejectionReason?status?tierUpgradeStatus?tier?enabledChannels?enabledCountries?poolId?defaultTemplateId?useCase?displayName?notifyConfigurationId?notifyConfigurationArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcreatedTimestamp=field_mapjson__"CreatedTimestamp"Timestamp.of_jsoninletdeletionProtectionEnabled=field_mapjson__"DeletionProtectionEnabled"PrimitiveBoolean.of_jsoninletrejectionReason=field_mapjson__"RejectionReason"String_.of_jsoninletstatus=field_mapjson__"Status"NotifyConfigurationStatus.of_jsoninlettierUpgradeStatus=field_mapjson__"TierUpgradeStatus"TierUpgradeStatus.of_jsoninlettier=field_mapjson__"Tier"NotifyConfigurationTier.of_jsoninletenabledChannels=field_mapjson__"EnabledChannels"NotifyEnabledChannelsList.of_jsoninletenabledCountries=field_mapjson__"EnabledCountries"IsoCountryCodeList.of_jsoninletpoolId=field_mapjson__"PoolId"String_.of_jsoninletdefaultTemplateId=field_mapjson__"DefaultTemplateId"NotifyTemplateId.of_jsoninletuseCase=field_mapjson__"UseCase"NotifyConfigurationUseCase.of_jsoninletdisplayName=field_mapjson__"DisplayName"NotifyConfigurationDisplayName.of_jsoninletnotifyConfigurationId=field_mapjson__"NotifyConfigurationId"NotifyConfigurationId.of_jsoninletnotifyConfigurationArn=field_mapjson__"NotifyConfigurationArn"NotifyConfigurationArn.of_jsoninmake?createdTimestamp?deletionProtectionEnabled?rejectionReason?status?tierUpgradeStatus?tier?enabledChannels?enabledCountries?poolId?defaultTemplateId?useCase?displayName?notifyConfigurationId?notifyConfigurationArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The information for a notify configuration in an Amazon Web Services account."]moduleNotifyConfigurationFilter=structtypenonrect={name:NotifyConfigurationFilterName.t[@ocaml.doc"The name of the attribute to filter on."];values:FilterValueList.t[@ocaml.doc"An array values to filter for."]}letcontext_="NotifyConfigurationFilter"letmake~name=fun~values->fun()->{name;values}letto_valuex=structure_to_value[("Name",(Some(NotifyConfigurationFilterName.to_valuex.name)));("Values",(Some(FilterValueList.to_valuex.values)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvalues=FilterValueList.of_xml(Xml.child_exn~context:context_xml_arg0"Values")inletname=NotifyConfigurationFilterName.of_xml(Xml.child_exn~context:context_xml_arg0"Name")inmake~values~name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvalues=field_map_exnjson__"Values"FilterValueList.of_jsoninletname=field_map_exnjson__"Name"NotifyConfigurationFilterName.of_jsoninmake~values~name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The information for notify configurations that meet a specified criteria."]moduleNotifyConfigurationIdOrArn=structtypenonrect=stringletcontext_="NotifyConfigurationIdOrArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:256)>>=(fun()->check_patterni~pattern:"[A-Za-z0-9_:/-]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"NotifyConfigurationIdOrArn"jletto_json=simple_to_jsonto_valueendmoduleKeywordInformation=structtypenonrect={keyword:Keyword.toption[@ocaml.doc"The keyword as a string."];keywordMessage:KeywordMessage.toption[@ocaml.doc"A custom message that can be used with the keyword."];keywordAction:KeywordAction.toption[@ocaml.doc"The action to perform for the keyword."]}letmake?keyword=fun?keywordMessage->fun?keywordAction->fun()->{keyword;keywordMessage;keywordAction}letto_valuex=structure_to_value[("Keyword",(Option.mapx.keyword~f:Keyword.to_value));("KeywordMessage",(Option.mapx.keywordMessage~f:KeywordMessage.to_value));("KeywordAction",(Option.mapx.keywordAction~f:KeywordAction.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letkeywordAction=(Option.map~f:KeywordAction.of_xml)(Xml.childxml_arg0"KeywordAction")inletkeywordMessage=(Option.map~f:KeywordMessage.of_xml)(Xml.childxml_arg0"KeywordMessage")inletkeyword=(Option.map~f:Keyword.of_xml)(Xml.childxml_arg0"Keyword")inmake?keywordAction?keywordMessage?keyword()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letkeywordAction=field_mapjson__"KeywordAction"KeywordAction.of_jsoninletkeywordMessage=field_mapjson__"KeywordMessage"KeywordMessage.of_jsoninletkeyword=field_mapjson__"Keyword"Keyword.of_jsoninmake?keywordAction?keywordMessage?keyword()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The information for all keywords in a pool."]moduleKeywordFilter=structtypenonrect={name:KeywordFilterName.t[@ocaml.doc"The name of the attribute to filter on."];values:FilterValueList.t[@ocaml.doc"An array values to filter for."]}letcontext_="KeywordFilter"letmake~name=fun~values->fun()->{name;values}letto_valuex=structure_to_value[("Name",(Some(KeywordFilterName.to_valuex.name)));("Values",(Some(FilterValueList.to_valuex.values)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvalues=FilterValueList.of_xml(Xml.child_exn~context:context_xml_arg0"Values")inletname=KeywordFilterName.of_xml(Xml.child_exn~context:context_xml_arg0"Name")inmake~values~name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvalues=field_map_exnjson__"Values"FilterValueList.of_jsoninletname=field_map_exnjson__"Name"KeywordFilterName.of_jsoninmake~values~name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The information for keywords that meet a specified criteria."]moduleConfigurationSetInformation=structtypenonrect={configurationSetArn:String_.toption[@ocaml.doc"The Resource Name (ARN) of the ConfigurationSet."];configurationSetName:ConfigurationSetName.toption[@ocaml.doc"The name of the ConfigurationSet."];eventDestinations:EventDestinationList.toption[@ocaml.doc"An array of EventDestination objects that describe any events to log and where to log them."];defaultMessageType:MessageType.toption[@ocaml.doc"The type of message. Valid values are TRANSACTIONAL for messages that are critical or time-sensitive and PROMOTIONAL for messages that aren't critical or time-sensitive."];defaultSenderId:SenderId.toption[@ocaml.doc"The default sender ID used by the ConfigurationSet."];defaultMessageFeedbackEnabled:Boolean.toption[@ocaml.doc"True if message feedback is enabled."];createdTimestamp:Timestamp.toption[@ocaml.doc"The time when the ConfigurationSet was created, in UNIX epoch time format."];protectConfigurationId:ProtectConfigurationIdOrArn.toption[@ocaml.doc"The unique identifier for the protect configuration."]}letmake?configurationSetArn=fun?configurationSetName->fun?eventDestinations->fun?defaultMessageType->fun?defaultSenderId->fun?defaultMessageFeedbackEnabled->fun?createdTimestamp->fun?protectConfigurationId->fun()->{configurationSetArn;configurationSetName;eventDestinations;defaultMessageType;defaultSenderId;defaultMessageFeedbackEnabled;createdTimestamp;protectConfigurationId}letto_valuex=structure_to_value[("ConfigurationSetArn",(Option.mapx.configurationSetArn~f:String_.to_value));("ConfigurationSetName",(Option.mapx.configurationSetName~f:ConfigurationSetName.to_value));("EventDestinations",(Option.mapx.eventDestinations~f:EventDestinationList.to_value));("DefaultMessageType",(Option.mapx.defaultMessageType~f:MessageType.to_value));("DefaultSenderId",(Option.mapx.defaultSenderId~f:SenderId.to_value));("DefaultMessageFeedbackEnabled",(Option.mapx.defaultMessageFeedbackEnabled~f:Boolean.to_value));("CreatedTimestamp",(Option.mapx.createdTimestamp~f:Timestamp.to_value));("ProtectConfigurationId",(Option.mapx.protectConfigurationId~f:ProtectConfigurationIdOrArn.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letprotectConfigurationId=(Option.map~f:ProtectConfigurationIdOrArn.of_xml)(Xml.childxml_arg0"ProtectConfigurationId")inletcreatedTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"CreatedTimestamp")inletdefaultMessageFeedbackEnabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"DefaultMessageFeedbackEnabled")inletdefaultSenderId=(Option.map~f:SenderId.of_xml)(Xml.childxml_arg0"DefaultSenderId")inletdefaultMessageType=(Option.map~f:MessageType.of_xml)(Xml.childxml_arg0"DefaultMessageType")inleteventDestinations=(Option.map~f:EventDestinationList.of_xml)(Xml.childxml_arg0"EventDestinations")inletconfigurationSetName=(Option.map~f:ConfigurationSetName.of_xml)(Xml.childxml_arg0"ConfigurationSetName")inletconfigurationSetArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"ConfigurationSetArn")inmake?protectConfigurationId?createdTimestamp?defaultMessageFeedbackEnabled?defaultSenderId?defaultMessageType?eventDestinations?configurationSetName?configurationSetArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letprotectConfigurationId=field_mapjson__"ProtectConfigurationId"ProtectConfigurationIdOrArn.of_jsoninletcreatedTimestamp=field_mapjson__"CreatedTimestamp"Timestamp.of_jsoninletdefaultMessageFeedbackEnabled=field_mapjson__"DefaultMessageFeedbackEnabled"Boolean.of_jsoninletdefaultSenderId=field_mapjson__"DefaultSenderId"SenderId.of_jsoninletdefaultMessageType=field_mapjson__"DefaultMessageType"MessageType.of_jsoninleteventDestinations=field_mapjson__"EventDestinations"EventDestinationList.of_jsoninletconfigurationSetName=field_mapjson__"ConfigurationSetName"ConfigurationSetName.of_jsoninletconfigurationSetArn=field_mapjson__"ConfigurationSetArn"String_.of_jsoninmake?protectConfigurationId?createdTimestamp?defaultMessageFeedbackEnabled?defaultSenderId?defaultMessageType?eventDestinations?configurationSetName?configurationSetArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Information related to a given configuration set in your Amazon Web Services account."]moduleConfigurationSetFilter=structtypenonrect={name:ConfigurationSetFilterName.t[@ocaml.doc"The name of the attribute to filter on."];values:FilterValueList.t[@ocaml.doc"An array values to filter for."]}letcontext_="ConfigurationSetFilter"letmake~name=fun~values->fun()->{name;values}letto_valuex=structure_to_value[("Name",(Some(ConfigurationSetFilterName.to_valuex.name)));("Values",(Some(FilterValueList.to_valuex.values)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvalues=FilterValueList.of_xml(Xml.child_exn~context:context_xml_arg0"Values")inletname=ConfigurationSetFilterName.of_xml(Xml.child_exn~context:context_xml_arg0"Name")inmake~values~name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvalues=field_map_exnjson__"Values"FilterValueList.of_jsoninletname=field_map_exnjson__"Name"ConfigurationSetFilterName.of_jsoninmake~values~name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The information for configuration sets that meet a specified criteria."]moduleConfigurationSetNameOrArn=structtypenonrect=stringletcontext_="ConfigurationSetNameOrArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:256)>>=(fun()->check_patterni~pattern:"[A-Za-z0-9_:/-]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ConfigurationSetNameOrArn"jletto_json=simple_to_jsonto_valueendmoduleAccountLimit=structtypenonrect={name:AccountLimitName.toption[@ocaml.doc"The name of the attribute to apply the account limit to."];used:PrimitiveLong.toption[@ocaml.doc"The current amount that has been spent, in US dollars."];max:PrimitiveLong.toption[@ocaml.doc"The Amazon Web Services set limit for that resource type, in US dollars."]}letmake?name=fun?used->fun?max->fun()->{name;used;max}letto_valuex=structure_to_value[("Name",(Option.mapx.name~f:AccountLimitName.to_value));("Used",(Option.mapx.used~f:PrimitiveLong.to_value));("Max",(Option.mapx.max~f:PrimitiveLong.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmax=(Option.map~f:PrimitiveLong.of_xml)(Xml.childxml_arg0"Max")inletused=(Option.map~f:PrimitiveLong.of_xml)(Xml.childxml_arg0"Used")inletname=(Option.map~f:AccountLimitName.of_xml)(Xml.childxml_arg0"Name")inmake?max?used?name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmax=field_mapjson__"Max"PrimitiveLong.of_jsoninletused=field_mapjson__"Used"PrimitiveLong.of_jsoninletname=field_mapjson__"Name"AccountLimitName.of_jsoninmake?max?used?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The current resource quotas associated with an Amazon Web Services account."]moduleAccountAttribute=structtypenonrect={name:AccountAttributeName.toption[@ocaml.doc"The name of the account attribute."];value:String_.toption[@ocaml.doc"The value associated with the account attribute name."]}letmake?name=fun?value->fun()->{name;value}letto_valuex=structure_to_value[("Name",(Option.mapx.name~f:AccountAttributeName.to_value));("Value",(Option.mapx.value~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvalue=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Value")inletname=(Option.map~f:AccountAttributeName.of_xml)(Xml.childxml_arg0"Name")inmake?value?name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvalue=field_mapjson__"Value"String_.of_jsoninletname=field_mapjson__"Name"AccountAttributeName.of_jsoninmake?value?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Displays the attributes associated with a single Amazon Web Services account."]moduleAccessDeniedException=structtypenonrect={message:String_.toption;reason:AccessDeniedExceptionReason.toption[@ocaml.doc"The reason for the exception."]}letmake?message=fun?reason->fun()->{message;reason}letto_valuex=structure_to_value[("Message",(Option.mapx.message~f:String_.to_value));("Reason",(Option.mapx.reason~f:AccessDeniedExceptionReason.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letreason=(Option.map~f:AccessDeniedExceptionReason.of_xml)(Xml.childxml_arg0"Reason")inletmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Message")inmake?reason?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letreason=field_mapjson__"Reason"AccessDeniedExceptionReason.of_jsoninletmessage=field_mapjson__"Message"String_.of_jsoninmake?reason?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The request was denied because you don't have sufficient permissions to access the resource."]moduleConflictException=structtypenonrect={message:String_.toption;reason:ConflictExceptionReason.toption[@ocaml.doc"The reason for the exception."];resourceType:ResourceType.toption[@ocaml.doc"The type of resource that caused the exception."];resourceId:String_.toption[@ocaml.doc"The unique identifier of the request."]}letmake?message=fun?reason->fun?resourceType->fun?resourceId->fun()->{message;reason;resourceType;resourceId}letto_valuex=structure_to_value[("Message",(Option.mapx.message~f:String_.to_value));("Reason",(Option.mapx.reason~f:ConflictExceptionReason.to_value));("ResourceType",(Option.mapx.resourceType~f:ResourceType.to_value));("ResourceId",(Option.mapx.resourceId~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresourceId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"ResourceId")inletresourceType=(Option.map~f:ResourceType.of_xml)(Xml.childxml_arg0"ResourceType")inletreason=(Option.map~f:ConflictExceptionReason.of_xml)(Xml.childxml_arg0"Reason")inletmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Message")inmake?resourceId?resourceType?reason?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresourceId=field_mapjson__"ResourceId"String_.of_jsoninletresourceType=field_mapjson__"ResourceType"ResourceType.of_jsoninletreason=field_mapjson__"Reason"ConflictExceptionReason.of_jsoninletmessage=field_mapjson__"Message"String_.of_jsoninmake?resourceId?resourceType?reason?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Your request has conflicting operations. This can occur if you're trying to perform more than one operation on the same resource at the same time or it could be that the requested action isn't valid for the current state or configuration of the resource."]moduleInternalServerException=structtypenonrect={message:String_.toption;requestId:String_.toption[@ocaml.doc"The unique identifier of the request."]}letmake?message=fun?requestId->fun()->{message;requestId}letto_valuex=structure_to_value[("Message",(Option.mapx.message~f:String_.to_value));("RequestId",(Option.mapx.requestId~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letrequestId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RequestId")inletmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Message")inmake?requestId?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letrequestId=field_mapjson__"RequestId"String_.of_jsoninletmessage=field_mapjson__"Message"String_.of_jsoninmake?requestId?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The API encountered an unexpected error and couldn't complete the request. You might be able to successfully issue the request again in the future."]moduleResourceNotFoundException=structtypenonrect={message:String_.toption;resourceType:ResourceType.toption[@ocaml.doc"The type of resource that caused the exception."];resourceId:String_.toption[@ocaml.doc"The unique identifier of the resource."]}letmake?message=fun?resourceType->fun?resourceId->fun()->{message;resourceType;resourceId}letto_valuex=structure_to_value[("Message",(Option.mapx.message~f:String_.to_value));("ResourceType",(Option.mapx.resourceType~f:ResourceType.to_value));("ResourceId",(Option.mapx.resourceId~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresourceId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"ResourceId")inletresourceType=(Option.map~f:ResourceType.of_xml)(Xml.childxml_arg0"ResourceType")inletmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Message")inmake?resourceId?resourceType?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresourceId=field_mapjson__"ResourceId"String_.of_jsoninletresourceType=field_mapjson__"ResourceType"ResourceType.of_jsoninletmessage=field_mapjson__"Message"String_.of_jsoninmake?resourceId?resourceType?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A requested resource couldn't be 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 error that occurred because too many requests were sent during a certain amount of time."]moduleValidationException=structtypenonrect={message:String_.toption;reason:ValidationExceptionReason.toption[@ocaml.doc"The reason for the exception."];fields:ValidationExceptionFieldList.toption[@ocaml.doc"The field that failed validation."]}letmake?message=fun?reason->fun?fields->fun()->{message;reason;fields}letto_valuex=structure_to_value[("Message",(Option.mapx.message~f:String_.to_value));("Reason",(Option.mapx.reason~f:ValidationExceptionReason.to_value));("Fields",(Option.mapx.fields~f:ValidationExceptionFieldList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letfields=(Option.map~f:ValidationExceptionFieldList.of_xml)(Xml.childxml_arg0"Fields")inletreason=(Option.map~f:ValidationExceptionReason.of_xml)(Xml.childxml_arg0"Reason")inletmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Message")inmake?fields?reason?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letfields=field_mapjson__"Fields"ValidationExceptionFieldList.of_jsoninletreason=field_mapjson__"Reason"ValidationExceptionReason.of_jsoninletmessage=field_mapjson__"Message"String_.of_jsoninmake?fields?reason?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A validation exception for a field."]moduleVerificationCode=structtypenonrect=stringletcontext_="VerificationCode"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:20)>>=(fun()->check_patterni~pattern:"[A-Za-z0-9]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"VerificationCode"jletto_json=simple_to_jsonto_valueendmoduleProtectConfigurationCountryRuleSet=structtypenonrect=(IsoCountryCode.t*ProtectConfigurationCountryRuleSetInformation.t)listletmakei=letopenResultinok_or_failwith((check_list_maxi~max:300)>>=(fun()->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->let(_:string)=vinlet(_:string)=choppedinfailwith"no of_header for complex types IsoCountryCode ProtectConfigurationCountryRuleSetInformation"))))letto_valuexs=(xs|>(List.map~f:(fun(x,y)->(IsoCountryCode.to_valuex)|>(funx->(ProtectConfigurationCountryRuleSetInformation.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:IsoCountryCode.of_string~of_json:ProtectConfigurationCountryRuleSetInformation.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleNotifyPoolIdOrUnset=structtypenonrect=string[@@ocaml.doc"A pool identifier (ID or ARN) or the special value UNSET_DEFAULT_POOL_FOR_NOTIFY. Pass UNSET_DEFAULT_POOL_FOR_NOTIFY to clear the default pool from a NotifyConfiguration. This shape is used exclusively in UpdateNotifyConfigurationRequest."]letcontext_="NotifyPoolIdOrUnset"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:256)>>=(fun()->check_patterni~pattern:"([A-Za-z0-9_:/-]+|UNSET_DEFAULT_POOL_FOR_NOTIFY)")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"NotifyPoolIdOrUnset"jletto_json=simple_to_jsonto_valueend[@@ocaml.doc"A pool identifier (ID or ARN) or the special value UNSET_DEFAULT_POOL_FOR_NOTIFY. Pass UNSET_DEFAULT_POOL_FOR_NOTIFY to clear the default pool from a NotifyConfiguration. This shape is used exclusively in UpdateNotifyConfigurationRequest."]moduleAmazonResourceName=structtypenonrect=stringletcontext_="AmazonResourceName"letmakei=letopenResultinok_or_failwith((check_string_mini~min:20)>>=(fun()->(check_string_maxi~max:256)>>=(fun()->check_patterni~pattern:"arn:[A-Za-z0-9_:/-]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"AmazonResourceName"jletto_json=simple_to_jsonto_valueendmoduleTagKeyList=structtypenonrect=TagKey.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:200)>>=(fun()->check_list_mini~min:1));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f: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_valuevendmoduleServiceQuotaExceededException=structtypenonrect={message:String_.toption;reason:ServiceQuotaExceededExceptionReason.toption[@ocaml.doc"The reason for the exception."]}letmake?message=fun?reason->fun()->{message;reason}letto_valuex=structure_to_value[("Message",(Option.mapx.message~f:String_.to_value));("Reason",(Option.mapx.reason~f:ServiceQuotaExceededExceptionReason.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letreason=(Option.map~f:ServiceQuotaExceededExceptionReason.of_xml)(Xml.childxml_arg0"Reason")inletmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Message")inmake?reason?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letreason=field_mapjson__"Reason"ServiceQuotaExceededExceptionReason.of_jsoninletmessage=field_mapjson__"Message"String_.of_jsoninmake?reason?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The request would cause a service quota to be exceeded."]moduleNonEmptyTagList=structtypenonrect=Tag.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:200)>>=(fun()->check_list_mini~min:1));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f: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:"NonEmptyTagList"~of_json:Tag.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleMonthlyLimit=structtypenonrect=Int64.tletmakei=letopenResultinok_or_failwith((check_int64_maxi~max:1000000000L)>>=(fun()->check_int64_mini~min:0L));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_valueendmoduleContextMap=structtypenonrect=(ContextKey.t*ContextValue.t)listletmakei=letopenResultinok_or_failwith((check_list_maxi~max:5)>>=(fun()->check_list_mini~min:0));iletof_headerxs=make(List.filter_mapxs~f:(fun(k,v)->(Base.String.chop_prefixk~prefix:"x-amz-meta-")|>(Option.map~f:(funchopped->((ContextKey.of_stringchopped),(ContextValue.of_stringv))))))letto_valuexs=(xs|>(List.map~f:(fun(x,y)->(ContextKey.to_valuex)|>(funx->(ContextValue.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:ContextKey.of_string~of_json:ContextValue.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleMaxPrice=structtypenonrect=stringletcontext_="MaxPrice"letmakei=letopenResultinok_or_failwith((check_string_mini~min:2)>>=(fun()->(check_string_maxi~max:8)>>=(fun()->check_patterni~pattern:"[0-9]{0,2}\\.[0-9]{1,5}")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"MaxPrice"jletto_json=simple_to_jsonto_valueendmoduleTimeToLive=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:259200)>>=(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 TimeToLive"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleVoiceMessageBody=structtypenonrect=stringletcontext_="VoiceMessageBody"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:6000)>>=(fun()->check_patterni~pattern:"(?!\\s*$)[\\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:"VoiceMessageBody"jletto_json=simple_to_jsonto_valueendmoduleVoiceMessageBodyTextType=structtypenonrect=|TEXT|SSML|Non_static_idofstringletmakei=iletto_string=function|TEXT->"TEXT"|SSML->"SSML"|Non_static_ids->sletof_string=function|"TEXT"->TEXT|"SSML"->SSML|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 VoiceMessageBodyTextType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"VoiceMessageBodyTextType"j)letto_json=simple_to_jsonto_valueendmoduleVoiceMessageOriginationIdentity=structtypenonrect=stringletcontext_="VoiceMessageOriginationIdentity"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:256)>>=(fun()->check_patterni~pattern:"[A-Za-z0-9_:/\\+-]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"VoiceMessageOriginationIdentity"jletto_json=simple_to_jsonto_valueendmoduleDestinationCountryParameters=structtypenonrect=(DestinationCountryParameterKey.t*DestinationCountryParameterValue.t)listletmakei=letopenResultinok_or_failwith((check_list_maxi~max:10)>>=(fun()->check_list_mini~min:0));iletof_headerxs=make(List.filter_mapxs~f:(fun(k,v)->(Base.String.chop_prefixk~prefix:"x-amz-meta-")|>(Option.map~f:(funchopped->((DestinationCountryParameterKey.of_stringchopped),(DestinationCountryParameterValue.of_stringv))))))letto_valuexs=(xs|>(List.map~f:(fun(x,y)->(DestinationCountryParameterKey.to_valuex)|>(funx->(DestinationCountryParameterValue.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:DestinationCountryParameterKey.of_string~of_json:DestinationCountryParameterValue.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleTextMessageBody=structtypenonrect=stringletcontext_="TextMessageBody"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:1600)>>=(fun()->check_patterni~pattern:"(?!\\s*$)[\\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:"TextMessageBody"jletto_json=simple_to_jsonto_valueendmoduleTextMessageOriginationIdentity=structtypenonrect=stringletcontext_="TextMessageOriginationIdentity"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:256)>>=(fun()->check_patterni~pattern:"[A-Za-z0-9_:/\\+-]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"TextMessageOriginationIdentity"jletto_json=simple_to_jsonto_valueendmoduleTemplateVariableSubstitutionMap=structtypenonrect=(TemplateVariableName.t*TemplateVariableValue.t)listletmakei=letopenResultinok_or_failwith((check_list_maxi~max:20)>>=(fun()->check_list_mini~min:0));iletof_headerxs=make(List.filter_mapxs~f:(fun(k,v)->(Base.String.chop_prefixk~prefix:"x-amz-meta-")|>(Option.map~f:(funchopped->((TemplateVariableName.of_stringchopped),(TemplateVariableValue.of_stringv))))))letto_valuexs=(xs|>(List.map~f:(fun(x,y)->(TemplateVariableName.to_valuex)|>(funx->(TemplateVariableValue.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:TemplateVariableName.of_string~of_json:TemplateVariableValue.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleMediaMessageOriginationIdentity=structtypenonrect=stringletcontext_="MediaMessageOriginationIdentity"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:256)>>=(fun()->check_patterni~pattern:"[A-Za-z0-9_:/\\+-]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"MediaMessageOriginationIdentity"jletto_json=simple_to_jsonto_valueendmoduleMediaUrlList=structtypenonrect=MediaUrlValue.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:1)>>=(fun()->check_list_mini~min:1));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:MediaUrlValue.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:MediaUrlValue.of_xml)letof_jsonj=list_of_json~kind:"MediaUrlList"~of_json:MediaUrlValue.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleLanguageCode=structtypenonrect=|DE_DE|EN_GB|EN_US|ES_419|ES_ES|FR_CA|FR_FR|IT_IT|JA_JP|KO_KR|PT_BR|ZH_CN|ZH_TW|Non_static_idofstringletmakei=iletto_string=function|DE_DE->"DE_DE"|EN_GB->"EN_GB"|EN_US->"EN_US"|ES_419->"ES_419"|ES_ES->"ES_ES"|FR_CA->"FR_CA"|FR_FR->"FR_FR"|IT_IT->"IT_IT"|JA_JP->"JA_JP"|KO_KR->"KO_KR"|PT_BR->"PT_BR"|ZH_CN->"ZH_CN"|ZH_TW->"ZH_TW"|Non_static_ids->sletof_string=function|"DE_DE"->DE_DE|"EN_GB"->EN_GB|"EN_US"->EN_US|"ES_419"->ES_419|"ES_ES"->ES_ES|"FR_CA"->FR_CA|"FR_FR"->FR_FR|"IT_IT"->IT_IT|"JA_JP"->JA_JP|"KO_KR"->KO_KR|"PT_BR"->PT_BR|"ZH_CN"->ZH_CN|"ZH_TW"->ZH_TW|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 LanguageCode"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"LanguageCode"j)letto_json=simple_to_jsonto_valueendmoduleVerificationChannel=structtypenonrect=|TEXT|VOICE|Non_static_idofstringletmakei=iletto_string=function|TEXT->"TEXT"|VOICE->"VOICE"|Non_static_ids->sletof_string=function|"TEXT"->TEXT|"VOICE"->VOICE|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 VerificationChannel"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"VerificationChannel"j)letto_json=simple_to_jsonto_valueendmoduleVerificationMessageOriginationIdentity=structtypenonrect=stringletcontext_="VerificationMessageOriginationIdentity"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:256)>>=(fun()->check_patterni~pattern:"[A-Za-z0-9_:/\\+-]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"VerificationMessageOriginationIdentity"jletto_json=simple_to_jsonto_valueendmoduleTagList=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_valuevendmoduleClientToken=structtypenonrect=stringletcontext_="ClientToken"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:64)>>=(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:"ClientToken"jletto_json=simple_to_jsonto_valueendmoduleRequestableNumberType=structtypenonrect=|LONG_CODE|TOLL_FREE|TEN_DLC|SIMULATOR|Non_static_idofstringletmakei=iletto_string=function|LONG_CODE->"LONG_CODE"|TOLL_FREE->"TOLL_FREE"|TEN_DLC->"TEN_DLC"|SIMULATOR->"SIMULATOR"|Non_static_ids->sletof_string=function|"LONG_CODE"->LONG_CODE|"TOLL_FREE"->TOLL_FREE|"TEN_DLC"->TEN_DLC|"SIMULATOR"->SIMULATOR|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 RequestableNumberType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"RequestableNumberType"j)letto_json=simple_to_jsonto_valueendmoduleResourcePolicy=structtypenonrect=stringletcontext_="ResourcePolicy"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:10000)>>=(fun()->check_string_mini~min:1));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ResourcePolicy"jletto_json=simple_to_jsonto_valueendmoduleMessageFeedbackStatus=structtypenonrect=|RECEIVED|FAILED|Non_static_idofstringletmakei=iletto_string=function|RECEIVED->"RECEIVED"|FAILED->"FAILED"|Non_static_ids->sletof_string=function|"RECEIVED"->RECEIVED|"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 MessageFeedbackStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"MessageFeedbackStatus"j)letto_json=simple_to_jsonto_valueendmoduleMessageId=structtypenonrect=stringletcontext_="MessageId"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:64)>>=(fun()->check_patterni~pattern:"[A-Za-z0-9_:/-]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"MessageId"jletto_json=simple_to_jsonto_valueendmodulePhoneOrPoolIdOrArn=structtypenonrect=stringletcontext_="PhoneOrPoolIdOrArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:256)>>=(fun()->check_patterni~pattern:"[A-Za-z0-9_:/-]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"PhoneOrPoolIdOrArn"jletto_json=simple_to_jsonto_valueendmoduleNextToken=structtypenonrect=stringletcontext_="NextToken"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:1024)>>=(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_valueendmoduleRegistrationAssociationMetadataList=structtypenonrect=RegistrationAssociationMetadata.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:RegistrationAssociationMetadata.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:RegistrationAssociationMetadata.of_xml)letof_jsonj=list_of_json~kind:"RegistrationAssociationMetadataList"~of_json:RegistrationAssociationMetadata.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleMaxResults=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:100)>>=(fun()->check_int_mini~min:1));iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for MaxResults"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleRegistrationAssociationFilterList=structtypenonrect=RegistrationAssociationFilter.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:20)>>=(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:RegistrationAssociationFilter.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:RegistrationAssociationFilter.of_xml)letof_jsonj=list_of_json~kind:"RegistrationAssociationFilterList"~of_json:RegistrationAssociationFilter.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleProtectConfigurationRuleSetNumberOverrideList=structtypenonrect=ProtectConfigurationRuleSetNumberOverride.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:ProtectConfigurationRuleSetNumberOverride.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:ProtectConfigurationRuleSetNumberOverride.of_xml)letof_jsonj=list_of_json~kind:"ProtectConfigurationRuleSetNumberOverrideList"~of_json:ProtectConfigurationRuleSetNumberOverride.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleListProtectConfigurationRuleSetNumberOverrideFilter=structtypenonrect=ProtectConfigurationRuleSetNumberOverrideFilterItem.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:100)>>=(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:ProtectConfigurationRuleSetNumberOverrideFilterItem.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:ProtectConfigurationRuleSetNumberOverrideFilterItem.of_xml)letof_jsonj=list_of_json~kind:"ListProtectConfigurationRuleSetNumberOverrideFilter"~of_json:ProtectConfigurationRuleSetNumberOverrideFilterItem.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleOriginationIdentityMetadataList=structtypenonrect=OriginationIdentityMetadata.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:OriginationIdentityMetadata.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:OriginationIdentityMetadata.of_xml)letof_jsonj=list_of_json~kind:"OriginationIdentityMetadataList"~of_json:OriginationIdentityMetadata.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmodulePoolOriginationIdentitiesFilterList=structtypenonrect=PoolOriginationIdentitiesFilter.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:20)>>=(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:PoolOriginationIdentitiesFilter.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:PoolOriginationIdentitiesFilter.of_xml)letof_jsonj=list_of_json~kind:"PoolOriginationIdentitiesFilterList"~of_json:PoolOriginationIdentitiesFilter.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleNotifyCountryInformationList=structtypenonrect=NotifyCountryInformation.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:300)>>=(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:NotifyCountryInformation.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:NotifyCountryInformation.of_xml)letof_jsonj=list_of_json~kind:"NotifyCountryInformationList"~of_json:NotifyCountryInformation.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmodulePhoneOrSenderIdOrArn=structtypenonrect=stringletcontext_="PhoneOrSenderIdOrArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:256)>>=(fun()->check_patterni~pattern:"[A-Za-z0-9_:/-]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"PhoneOrSenderIdOrArn"jletto_json=simple_to_jsonto_valueendmoduleVerifiedDestinationNumberInformationList=structtypenonrect=VerifiedDestinationNumberInformation.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:VerifiedDestinationNumberInformation.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:VerifiedDestinationNumberInformation.of_xml)letof_jsonj=list_of_json~kind:"VerifiedDestinationNumberInformationList"~of_json:VerifiedDestinationNumberInformation.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleDestinationPhoneNumberList=structtypenonrect=PhoneNumber.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:5)>>=(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:PhoneNumber.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:PhoneNumber.of_xml)letof_jsonj=list_of_json~kind:"DestinationPhoneNumberList"~of_json:PhoneNumber.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleVerifiedDestinationNumberFilterList=structtypenonrect=VerifiedDestinationNumberFilter.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:20)>>=(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:VerifiedDestinationNumberFilter.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:VerifiedDestinationNumberFilter.of_xml)letof_jsonj=list_of_json~kind:"VerifiedDestinationNumberFilterList"~of_json:VerifiedDestinationNumberFilter.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleVerifiedDestinationNumberIdList=structtypenonrect=VerifiedDestinationNumberIdOrArn.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:5)>>=(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:VerifiedDestinationNumberIdOrArn.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:VerifiedDestinationNumberIdOrArn.of_xml)letof_jsonj=list_of_json~kind:"VerifiedDestinationNumberIdList"~of_json:VerifiedDestinationNumberIdOrArn.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleSpendLimitList=structtypenonrect=SpendLimit.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:SpendLimit.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:SpendLimit.of_xml)letof_jsonj=list_of_json~kind:"SpendLimitList"~of_json:SpendLimit.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleSenderIdInformationList=structtypenonrect=SenderIdInformation.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:SenderIdInformation.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:SenderIdInformation.of_xml)letof_jsonj=list_of_json~kind:"SenderIdInformationList"~of_json:SenderIdInformation.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleOwner=structtypenonrect=|SELF|SHARED|Non_static_idofstringletmakei=iletto_string=function|SELF->"SELF"|SHARED->"SHARED"|Non_static_ids->sletof_string=function|"SELF"->SELF|"SHARED"->SHARED|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 Owner"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"Owner"j)letto_json=simple_to_jsonto_valueendmoduleSenderIdFilterList=structtypenonrect=SenderIdFilter.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:20)>>=(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:SenderIdFilter.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:SenderIdFilter.of_xml)letof_jsonj=list_of_json~kind:"SenderIdFilterList"~of_json:SenderIdFilter.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleSenderIdList=structtypenonrect=SenderIdAndCountry.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:5)>>=(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:SenderIdAndCountry.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:SenderIdAndCountry.of_xml)letof_jsonj=list_of_json~kind:"SenderIdList"~of_json:SenderIdAndCountry.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleRegistrationInformationList=structtypenonrect=RegistrationInformation.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:RegistrationInformation.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:RegistrationInformation.of_xml)letof_jsonj=list_of_json~kind:"RegistrationInformationList"~of_json:RegistrationInformation.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleRegistrationFilterList=structtypenonrect=RegistrationFilter.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:20)>>=(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:RegistrationFilter.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:RegistrationFilter.of_xml)letof_jsonj=list_of_json~kind:"RegistrationFilterList"~of_json:RegistrationFilter.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleRegistrationIdList=structtypenonrect=RegistrationIdOrArn.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:5)>>=(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:RegistrationIdOrArn.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:RegistrationIdOrArn.of_xml)letof_jsonj=list_of_json~kind:"RegistrationIdList"~of_json:RegistrationIdOrArn.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleRegistrationVersionInformationList=structtypenonrect=RegistrationVersionInformation.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:RegistrationVersionInformation.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:RegistrationVersionInformation.of_xml)letof_jsonj=list_of_json~kind:"RegistrationVersionInformationList"~of_json:RegistrationVersionInformation.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleRegistrationVersionFilterList=structtypenonrect=RegistrationVersionFilter.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:20)>>=(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:RegistrationVersionFilter.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:RegistrationVersionFilter.of_xml)letof_jsonj=list_of_json~kind:"RegistrationVersionFilterList"~of_json:RegistrationVersionFilter.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleRegistrationVersionNumberList=structtypenonrect=RegistrationVersionNumber.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:5)>>=(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:RegistrationVersionNumber.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:RegistrationVersionNumber.of_xml)letof_jsonj=list_of_json~kind:"RegistrationVersionNumberList"~of_json:RegistrationVersionNumber.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleRegistrationTypeDefinitionList=structtypenonrect=RegistrationTypeDefinition.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:RegistrationTypeDefinition.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:RegistrationTypeDefinition.of_xml)letof_jsonj=list_of_json~kind:"RegistrationTypeDefinitionList"~of_json:RegistrationTypeDefinition.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleRegistrationTypeFilterList=structtypenonrect=RegistrationTypeFilter.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:20)>>=(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:RegistrationTypeFilter.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:RegistrationTypeFilter.of_xml)letof_jsonj=list_of_json~kind:"RegistrationTypeFilterList"~of_json:RegistrationTypeFilter.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleRegistrationTypeList=structtypenonrect=RegistrationType.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:5)>>=(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:RegistrationType.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:RegistrationType.of_xml)letof_jsonj=list_of_json~kind:"RegistrationTypeList"~of_json:RegistrationType.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleRegistrationSectionDefinitionList=structtypenonrect=RegistrationSectionDefinition.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:RegistrationSectionDefinition.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:RegistrationSectionDefinition.of_xml)letof_jsonj=list_of_json~kind:"RegistrationSectionDefinitionList"~of_json:RegistrationSectionDefinition.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleSectionPathList=structtypenonrect=SectionPath.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:5)>>=(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:SectionPath.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:SectionPath.of_xml)letof_jsonj=list_of_json~kind:"SectionPathList"~of_json:SectionPath.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleRegistrationFieldValueInformationList=structtypenonrect=RegistrationFieldValueInformation.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:RegistrationFieldValueInformation.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:RegistrationFieldValueInformation.of_xml)letof_jsonj=list_of_json~kind:"RegistrationFieldValueInformationList"~of_json:RegistrationFieldValueInformation.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleFieldPathList=structtypenonrect=FieldPath.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:5)>>=(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:FieldPath.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:FieldPath.of_xml)letof_jsonj=list_of_json~kind:"FieldPathList"~of_json:FieldPath.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleRegistrationFieldDefinitionList=structtypenonrect=RegistrationFieldDefinition.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:RegistrationFieldDefinition.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:RegistrationFieldDefinition.of_xml)letof_jsonj=list_of_json~kind:"RegistrationFieldDefinitionList"~of_json:RegistrationFieldDefinition.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleRegistrationAttachmentsInformationList=structtypenonrect=RegistrationAttachmentsInformation.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:RegistrationAttachmentsInformation.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:RegistrationAttachmentsInformation.of_xml)letof_jsonj=list_of_json~kind:"RegistrationAttachmentsInformationList"~of_json:RegistrationAttachmentsInformation.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleRegistrationAttachmentFilterList=structtypenonrect=RegistrationAttachmentFilter.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:20)>>=(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:RegistrationAttachmentFilter.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:RegistrationAttachmentFilter.of_xml)letof_jsonj=list_of_json~kind:"RegistrationAttachmentFilterList"~of_json:RegistrationAttachmentFilter.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleRegistrationAttachmentIdList=structtypenonrect=RegistrationIdOrArn.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:5)>>=(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:RegistrationIdOrArn.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:RegistrationIdOrArn.of_xml)letof_jsonj=list_of_json~kind:"RegistrationAttachmentIdList"~of_json:RegistrationIdOrArn.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleRcsAgentInformationList=structtypenonrect=RcsAgentInformation.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:RcsAgentInformation.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:RcsAgentInformation.of_xml)letof_jsonj=list_of_json~kind:"RcsAgentInformationList"~of_json:RcsAgentInformation.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleRcsAgentFilterList=structtypenonrect=RcsAgentFilter.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:20)>>=(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:RcsAgentFilter.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:RcsAgentFilter.of_xml)letof_jsonj=list_of_json~kind:"RcsAgentFilterList"~of_json:RcsAgentFilter.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleRcsAgentIdList=structtypenonrect=RcsAgentIdOrArn.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:5)>>=(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:RcsAgentIdOrArn.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:RcsAgentIdOrArn.of_xml)letof_jsonj=list_of_json~kind:"RcsAgentIdList"~of_json:RcsAgentIdOrArn.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleCountryLaunchStatusInformationList=structtypenonrect=CountryLaunchStatusInformation.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:CountryLaunchStatusInformation.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:CountryLaunchStatusInformation.of_xml)letof_jsonj=list_of_json~kind:"CountryLaunchStatusInformationList"~of_json:CountryLaunchStatusInformation.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleCountryLaunchStatusFilterList=structtypenonrect=CountryLaunchStatusFilter.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:20)>>=(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:CountryLaunchStatusFilter.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:CountryLaunchStatusFilter.of_xml)letof_jsonj=list_of_json~kind:"CountryLaunchStatusFilterList"~of_json:CountryLaunchStatusFilter.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleProtectConfigurationInformationList=structtypenonrect=ProtectConfigurationInformation.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:ProtectConfigurationInformation.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:ProtectConfigurationInformation.of_xml)letof_jsonj=list_of_json~kind:"ProtectConfigurationInformationList"~of_json:ProtectConfigurationInformation.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleProtectConfigurationFilterList=structtypenonrect=ProtectConfigurationFilter.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:20)>>=(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:ProtectConfigurationFilter.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:ProtectConfigurationFilter.of_xml)letof_jsonj=list_of_json~kind:"ProtectConfigurationFilterList"~of_json:ProtectConfigurationFilter.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleProtectConfigurationIdList=structtypenonrect=ProtectConfigurationIdOrArn.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:5)>>=(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:ProtectConfigurationIdOrArn.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:ProtectConfigurationIdOrArn.of_xml)letof_jsonj=list_of_json~kind:"ProtectConfigurationIdList"~of_json:ProtectConfigurationIdOrArn.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmodulePoolInformationList=structtypenonrect=PoolInformation.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:PoolInformation.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:PoolInformation.of_xml)letof_jsonj=list_of_json~kind:"PoolInformationList"~of_json:PoolInformation.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmodulePoolFilterList=structtypenonrect=PoolFilter.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:20)>>=(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:PoolFilter.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:PoolFilter.of_xml)letof_jsonj=list_of_json~kind:"PoolFilterList"~of_json:PoolFilter.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmodulePoolIdList=structtypenonrect=PoolIdOrArn.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:5)>>=(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:PoolIdOrArn.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:PoolIdOrArn.of_xml)letof_jsonj=list_of_json~kind:"PoolIdList"~of_json:PoolIdOrArn.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmodulePhoneNumberInformationList=structtypenonrect=PhoneNumberInformation.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:PhoneNumberInformation.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:PhoneNumberInformation.of_xml)letof_jsonj=list_of_json~kind:"PhoneNumberInformationList"~of_json:PhoneNumberInformation.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmodulePhoneNumberFilterList=structtypenonrect=PhoneNumberFilter.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:20)>>=(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:PhoneNumberFilter.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:PhoneNumberFilter.of_xml)letof_jsonj=list_of_json~kind:"PhoneNumberFilterList"~of_json:PhoneNumberFilter.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmodulePhoneNumberIdList=structtypenonrect=PhoneNumberIdOrArn.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:5)>>=(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:PhoneNumberIdOrArn.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:PhoneNumberIdOrArn.of_xml)letof_jsonj=list_of_json~kind:"PhoneNumberIdList"~of_json:PhoneNumberIdOrArn.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleOptedOutNumberInformationList=structtypenonrect=OptedOutNumberInformation.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:OptedOutNumberInformation.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:OptedOutNumberInformation.of_xml)letof_jsonj=list_of_json~kind:"OptedOutNumberInformationList"~of_json:OptedOutNumberInformation.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleOptedOutFilterList=structtypenonrect=OptedOutFilter.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:20)>>=(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:OptedOutFilter.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:OptedOutFilter.of_xml)letof_jsonj=list_of_json~kind:"OptedOutFilterList"~of_json:OptedOutFilter.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleOptedOutNumberList=structtypenonrect=PhoneNumber.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:5)>>=(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:PhoneNumber.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:PhoneNumber.of_xml)letof_jsonj=list_of_json~kind:"OptedOutNumberList"~of_json:PhoneNumber.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleOptOutListInformationList=structtypenonrect=OptOutListInformation.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:OptOutListInformation.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:OptOutListInformation.of_xml)letof_jsonj=list_of_json~kind:"OptOutListInformationList"~of_json:OptOutListInformation.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleOptOutListNameList=structtypenonrect=OptOutListNameOrArn.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:5)>>=(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:OptOutListNameOrArn.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:OptOutListNameOrArn.of_xml)letof_jsonj=list_of_json~kind:"OptOutListNameList"~of_json:OptOutListNameOrArn.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleNotifyTemplateInformationList=structtypenonrect=NotifyTemplateInformation.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:100)>>=(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:NotifyTemplateInformation.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:NotifyTemplateInformation.of_xml)letof_jsonj=list_of_json~kind:"NotifyTemplateInformationList"~of_json:NotifyTemplateInformation.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleNotifyTemplateFilterList=structtypenonrect=NotifyTemplateFilter.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:20)>>=(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:NotifyTemplateFilter.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:NotifyTemplateFilter.of_xml)letof_jsonj=list_of_json~kind:"NotifyTemplateFilterList"~of_json:NotifyTemplateFilter.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleNotifyTemplateIdList=structtypenonrect=NotifyTemplateId.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:10)>>=(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:NotifyTemplateId.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:NotifyTemplateId.of_xml)letof_jsonj=list_of_json~kind:"NotifyTemplateIdList"~of_json:NotifyTemplateId.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleNotifyConfigurationInformationList=structtypenonrect=NotifyConfigurationInformation.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:NotifyConfigurationInformation.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:NotifyConfigurationInformation.of_xml)letof_jsonj=list_of_json~kind:"NotifyConfigurationInformationList"~of_json:NotifyConfigurationInformation.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleNotifyConfigurationFilterList=structtypenonrect=NotifyConfigurationFilter.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:20)>>=(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:NotifyConfigurationFilter.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:NotifyConfigurationFilter.of_xml)letof_jsonj=list_of_json~kind:"NotifyConfigurationFilterList"~of_json:NotifyConfigurationFilter.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleNotifyConfigurationIdList=structtypenonrect=NotifyConfigurationIdOrArn.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:5)>>=(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:NotifyConfigurationIdOrArn.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:NotifyConfigurationIdOrArn.of_xml)letof_jsonj=list_of_json~kind:"NotifyConfigurationIdList"~of_json:NotifyConfigurationIdOrArn.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleKeywordInformationList=structtypenonrect=KeywordInformation.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:KeywordInformation.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:KeywordInformation.of_xml)letof_jsonj=list_of_json~kind:"KeywordInformationList"~of_json:KeywordInformation.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleKeywordFilterList=structtypenonrect=KeywordFilter.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:20)>>=(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:KeywordFilter.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:KeywordFilter.of_xml)letof_jsonj=list_of_json~kind:"KeywordFilterList"~of_json:KeywordFilter.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleKeywordList=structtypenonrect=Keyword.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:5)>>=(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:Keyword.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:Keyword.of_xml)letof_jsonj=list_of_json~kind:"KeywordList"~of_json:Keyword.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleConfigurationSetInformationList=structtypenonrect=ConfigurationSetInformation.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ConfigurationSetInformation.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:ConfigurationSetInformation.of_xml)letof_jsonj=list_of_json~kind:"ConfigurationSetInformationList"~of_json:ConfigurationSetInformation.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleConfigurationSetFilterList=structtypenonrect=ConfigurationSetFilter.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:20)>>=(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:ConfigurationSetFilter.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:ConfigurationSetFilter.of_xml)letof_jsonj=list_of_json~kind:"ConfigurationSetFilterList"~of_json:ConfigurationSetFilter.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleConfigurationSetNameList=structtypenonrect=ConfigurationSetNameOrArn.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:5)>>=(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:ConfigurationSetNameOrArn.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:ConfigurationSetNameOrArn.of_xml)letof_jsonj=list_of_json~kind:"ConfigurationSetNameList"~of_json:ConfigurationSetNameOrArn.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleAccountLimitList=structtypenonrect=AccountLimit.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:AccountLimit.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:AccountLimit.of_xml)letof_jsonj=list_of_json~kind:"AccountLimitList"~of_json:AccountLimit.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleAccountAttributeList=structtypenonrect=AccountAttribute.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:AccountAttribute.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:AccountAttribute.of_xml)letof_jsonj=list_of_json~kind:"AccountAttributeList"~of_json:AccountAttribute.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleAttachmentBody=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_valueendmoduleAttachmentUrl=structtypenonrect=stringletcontext_="AttachmentUrl"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:"\\S+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"AttachmentUrl"jletto_json=simple_to_jsonto_valueendmoduleResourceIdOrArn=structtypenonrect=stringletcontext_="ResourceIdOrArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:256)>>=(fun()->check_patterni~pattern:"[A-Za-z0-9_:/-]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ResourceIdOrArn"jletto_json=simple_to_jsonto_valueendmoduleDialingCountryCodeType=structtypenonrect=stringletcontext_="DialingCountryCodeType"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:3)>>=(fun()->check_patterni~pattern:"[\\d]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"DialingCountryCodeType"jletto_json=simple_to_jsonto_valueendmoduleE164PhoneNumberType=structtypenonrect=stringletcontext_="E164PhoneNumberType"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:20)>>=(fun()->check_patterni~pattern:"\\+[1-9][0-9]{1,18}")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"E164PhoneNumberType"jletto_json=simple_to_jsonto_valueendmoduleMCCType=structtypenonrect=stringletcontext_="MCCType"letmakei=letopenResultinok_or_failwith((check_string_mini~min:3)>>=(fun()->(check_string_maxi~max:3)>>=(fun()->check_patterni~pattern:"[\\d]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"MCCType"jletto_json=simple_to_jsonto_valueendmoduleMNCType=structtypenonrect=stringletcontext_="MNCType"letmakei=letopenResultinok_or_failwith((check_string_mini~min:2)>>=(fun()->(check_string_maxi~max:3)>>=(fun()->check_patterni~pattern:"[\\d]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"MNCType"jletto_json=simple_to_jsonto_valueendmodulePhoneNumberType=structtypenonrect=|MOBILE|LANDLINE|OTHER|INVALID|Non_static_idofstringletmakei=iletto_string=function|MOBILE->"MOBILE"|LANDLINE->"LANDLINE"|OTHER->"OTHER"|INVALID->"INVALID"|Non_static_ids->sletof_string=function|"MOBILE"->MOBILE|"LANDLINE"->LANDLINE|"OTHER"->OTHER|"INVALID"->INVALID|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 PhoneNumberType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"PhoneNumberType"j)letto_json=simple_to_jsonto_valueendmoduleCarrierLookupInputPhoneNumberType=structtypenonrect=stringletcontext_="CarrierLookupInputPhoneNumberType"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:40)>>=(fun()->check_patterni~pattern:"\\+[({\\s\\[]?[1-9][0-9(){}\\s\\[\\],.-]{1,38}")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"CarrierLookupInputPhoneNumberType"jletto_json=simple_to_jsonto_valueendmoduleVerifyDestinationNumberResult=structtypenonrect={verifiedDestinationNumberArn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) for the verified destination phone number."];verifiedDestinationNumberId:String_.toption[@ocaml.doc"The unique identifier for the verified destination phone number."];destinationPhoneNumber:PhoneNumber.toption[@ocaml.doc"The phone number in E.164 format."];status:VerificationStatus.toption[@ocaml.doc"The status for being able to send messages to the phone number."];createdTimestamp:Timestamp.toption[@ocaml.doc"The time when the destination phone number was created, in UNIX epoch time format."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?verifiedDestinationNumberArn=fun?verifiedDestinationNumberId->fun?destinationPhoneNumber->fun?status->fun?createdTimestamp->fun()->{verifiedDestinationNumberArn;verifiedDestinationNumberId;destinationPhoneNumber;status;createdTimestamp}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[("VerifiedDestinationNumberArn",(Option.mapx.verifiedDestinationNumberArn~f:String_.to_value));("VerifiedDestinationNumberId",(Option.mapx.verifiedDestinationNumberId~f:String_.to_value));("DestinationPhoneNumber",(Option.mapx.destinationPhoneNumber~f:PhoneNumber.to_value));("Status",(Option.mapx.status~f:VerificationStatus.to_value));("CreatedTimestamp",(Option.mapx.createdTimestamp~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcreatedTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"CreatedTimestamp")inletstatus=(Option.map~f:VerificationStatus.of_xml)(Xml.childxml_arg0"Status")inletdestinationPhoneNumber=(Option.map~f:PhoneNumber.of_xml)(Xml.childxml_arg0"DestinationPhoneNumber")inletverifiedDestinationNumberId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"VerifiedDestinationNumberId")inletverifiedDestinationNumberArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"VerifiedDestinationNumberArn")inmake?createdTimestamp?status?destinationPhoneNumber?verifiedDestinationNumberId?verifiedDestinationNumberArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcreatedTimestamp=field_mapjson__"CreatedTimestamp"Timestamp.of_jsoninletstatus=field_mapjson__"Status"VerificationStatus.of_jsoninletdestinationPhoneNumber=field_mapjson__"DestinationPhoneNumber"PhoneNumber.of_jsoninletverifiedDestinationNumberId=field_mapjson__"VerifiedDestinationNumberId"String_.of_jsoninletverifiedDestinationNumberArn=field_mapjson__"VerifiedDestinationNumberArn"String_.of_jsoninmake?createdTimestamp?status?destinationPhoneNumber?verifiedDestinationNumberId?verifiedDestinationNumberArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Use the verification code that was received by the verified destination phone number to opt-in the verified destination phone number to receive more messages."]moduleVerifyDestinationNumberRequest=structtypenonrect={verifiedDestinationNumberId:VerifiedDestinationNumberIdOrArn.t[@ocaml.doc"The unique identifier for the verififed destination phone number."];verificationCode:VerificationCode.t[@ocaml.doc"The verification code that was received by the verified destination phone number."]}letcontext_="VerifyDestinationNumberRequest"letmake~verifiedDestinationNumberId=fun~verificationCode->fun()->{verifiedDestinationNumberId;verificationCode}letto_valuex=structure_to_value[("VerifiedDestinationNumberId",(Some(VerifiedDestinationNumberIdOrArn.to_valuex.verifiedDestinationNumberId)));("VerificationCode",(Some(VerificationCode.to_valuex.verificationCode)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letverificationCode=VerificationCode.of_xml(Xml.child_exn~context:context_xml_arg0"VerificationCode")inletverifiedDestinationNumberId=VerifiedDestinationNumberIdOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"VerifiedDestinationNumberId")inmake~verificationCode~verifiedDestinationNumberId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letverificationCode=field_map_exnjson__"VerificationCode"VerificationCode.of_jsoninletverifiedDestinationNumberId=field_map_exnjson__"VerifiedDestinationNumberId"VerifiedDestinationNumberIdOrArn.of_jsoninmake~verificationCode~verifiedDestinationNumberId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Use the verification code that was received by the verified destination phone number to opt-in the verified destination phone number to receive more messages."]moduleUpdateSenderIdResult=structtypenonrect={senderIdArn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) associated with the SenderId."];senderId:SenderId.toption[@ocaml.doc"The sender ID that was updated."];isoCountryCode:IsoCountryCode.toption[@ocaml.doc"The two-character code, in ISO 3166-1 alpha-2 format, for the country or region."];messageTypes:MessageTypeList.toption[@ocaml.doc"The type of message. Valid values are TRANSACTIONAL for messages that are critical or time-sensitive and PROMOTIONAL for messages that aren't critical or time-sensitive."];monthlyLeasingPrice:String_.toption[@ocaml.doc"The monthly price, in US dollars, to lease the sender ID."];deletionProtectionEnabled:PrimitiveBoolean.toption[@ocaml.doc"By default this is set to false. When set to true the sender ID can't be deleted."];registered:PrimitiveBoolean.toption[@ocaml.doc"True if the sender ID is registered.."];registrationId:String_.toption[@ocaml.doc"The unique identifier for the registration."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?senderIdArn=fun?senderId->fun?isoCountryCode->fun?messageTypes->fun?monthlyLeasingPrice->fun?deletionProtectionEnabled->fun?registered->fun?registrationId->fun()->{senderIdArn;senderId;isoCountryCode;messageTypes;monthlyLeasingPrice;deletionProtectionEnabled;registered;registrationId}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[("SenderIdArn",(Option.mapx.senderIdArn~f:String_.to_value));("SenderId",(Option.mapx.senderId~f:SenderId.to_value));("IsoCountryCode",(Option.mapx.isoCountryCode~f:IsoCountryCode.to_value));("MessageTypes",(Option.mapx.messageTypes~f:MessageTypeList.to_value));("MonthlyLeasingPrice",(Option.mapx.monthlyLeasingPrice~f:String_.to_value));("DeletionProtectionEnabled",(Option.mapx.deletionProtectionEnabled~f:PrimitiveBoolean.to_value));("Registered",(Option.mapx.registered~f:PrimitiveBoolean.to_value));("RegistrationId",(Option.mapx.registrationId~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letregistrationId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RegistrationId")inletregistered=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"Registered")inletdeletionProtectionEnabled=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"DeletionProtectionEnabled")inletmonthlyLeasingPrice=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"MonthlyLeasingPrice")inletmessageTypes=(Option.map~f:MessageTypeList.of_xml)(Xml.childxml_arg0"MessageTypes")inletisoCountryCode=(Option.map~f:IsoCountryCode.of_xml)(Xml.childxml_arg0"IsoCountryCode")inletsenderId=(Option.map~f:SenderId.of_xml)(Xml.childxml_arg0"SenderId")inletsenderIdArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"SenderIdArn")inmake?registrationId?registered?deletionProtectionEnabled?monthlyLeasingPrice?messageTypes?isoCountryCode?senderId?senderIdArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letregistrationId=field_mapjson__"RegistrationId"String_.of_jsoninletregistered=field_mapjson__"Registered"PrimitiveBoolean.of_jsoninletdeletionProtectionEnabled=field_mapjson__"DeletionProtectionEnabled"PrimitiveBoolean.of_jsoninletmonthlyLeasingPrice=field_mapjson__"MonthlyLeasingPrice"String_.of_jsoninletmessageTypes=field_mapjson__"MessageTypes"MessageTypeList.of_jsoninletisoCountryCode=field_mapjson__"IsoCountryCode"IsoCountryCode.of_jsoninletsenderId=field_mapjson__"SenderId"SenderId.of_jsoninletsenderIdArn=field_mapjson__"SenderIdArn"String_.of_jsoninmake?registrationId?registered?deletionProtectionEnabled?monthlyLeasingPrice?messageTypes?isoCountryCode?senderId?senderIdArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates the configuration of an existing sender ID."]moduleUpdateSenderIdRequest=structtypenonrect={senderId:SenderIdOrArn.t[@ocaml.doc"The sender ID to update."];isoCountryCode:IsoCountryCode.t[@ocaml.doc"The two-character code, in ISO 3166-1 alpha-2 format, for the country or region."];deletionProtectionEnabled:Boolean.toption[@ocaml.doc"By default this is set to false. When set to true the sender ID can't be deleted."]}letcontext_="UpdateSenderIdRequest"letmake?deletionProtectionEnabled=fun~senderId->fun~isoCountryCode->fun()->{deletionProtectionEnabled;senderId;isoCountryCode}letto_valuex=structure_to_value[("SenderId",(Some(SenderIdOrArn.to_valuex.senderId)));("IsoCountryCode",(Some(IsoCountryCode.to_valuex.isoCountryCode)));("DeletionProtectionEnabled",(Option.mapx.deletionProtectionEnabled~f:Boolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdeletionProtectionEnabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"DeletionProtectionEnabled")inletisoCountryCode=IsoCountryCode.of_xml(Xml.child_exn~context:context_xml_arg0"IsoCountryCode")inletsenderId=SenderIdOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"SenderId")inmake?deletionProtectionEnabled~isoCountryCode~senderId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdeletionProtectionEnabled=field_mapjson__"DeletionProtectionEnabled"Boolean.of_jsoninletisoCountryCode=field_map_exnjson__"IsoCountryCode"IsoCountryCode.of_jsoninletsenderId=field_map_exnjson__"SenderId"SenderIdOrArn.of_jsoninmake?deletionProtectionEnabled~isoCountryCode~senderId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates the configuration of an existing sender ID."]moduleUpdateRcsAgentResult=structtypenonrect={rcsAgentArn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the updated RCS agent."];rcsAgentId:String_.toption[@ocaml.doc"The unique identifier for the RCS agent."];status:RcsAgentStatus.toption[@ocaml.doc"The current status of the RCS agent."];createdTimestamp:Timestamp.toption[@ocaml.doc"The time when the RCS agent was created, in UNIX epoch time format."];deletionProtectionEnabled:PrimitiveBoolean.toption[@ocaml.doc"When set to true deletion protection is enabled. By default this is set to false."];optOutListName:OptOutListName.toption[@ocaml.doc"The name of the OptOutList associated with the RCS agent."];selfManagedOptOutsEnabled:PrimitiveBoolean.toption[@ocaml.doc"By default this is set to false. When set to true you're responsible for responding to HELP and STOP requests. You're also responsible for tracking and honoring opt-out requests."];twoWayChannelArn:TwoWayChannelArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the two way channel."];twoWayChannelRole:IamRoleArn.toption[@ocaml.doc"An optional IAM Role Arn for a service to assume, to be able to post inbound SMS messages."];twoWayEnabled:PrimitiveBoolean.toption[@ocaml.doc"By default this is set to false. When set to true you can receive incoming text messages from your end recipients."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?rcsAgentArn=fun?rcsAgentId->fun?status->fun?createdTimestamp->fun?deletionProtectionEnabled->fun?optOutListName->fun?selfManagedOptOutsEnabled->fun?twoWayChannelArn->fun?twoWayChannelRole->fun?twoWayEnabled->fun()->{rcsAgentArn;rcsAgentId;status;createdTimestamp;deletionProtectionEnabled;optOutListName;selfManagedOptOutsEnabled;twoWayChannelArn;twoWayChannelRole;twoWayEnabled}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[("RcsAgentArn",(Option.mapx.rcsAgentArn~f:String_.to_value));("RcsAgentId",(Option.mapx.rcsAgentId~f:String_.to_value));("Status",(Option.mapx.status~f:RcsAgentStatus.to_value));("CreatedTimestamp",(Option.mapx.createdTimestamp~f:Timestamp.to_value));("DeletionProtectionEnabled",(Option.mapx.deletionProtectionEnabled~f:PrimitiveBoolean.to_value));("OptOutListName",(Option.mapx.optOutListName~f:OptOutListName.to_value));("SelfManagedOptOutsEnabled",(Option.mapx.selfManagedOptOutsEnabled~f:PrimitiveBoolean.to_value));("TwoWayChannelArn",(Option.mapx.twoWayChannelArn~f:TwoWayChannelArn.to_value));("TwoWayChannelRole",(Option.mapx.twoWayChannelRole~f:IamRoleArn.to_value));("TwoWayEnabled",(Option.mapx.twoWayEnabled~f:PrimitiveBoolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettwoWayEnabled=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"TwoWayEnabled")inlettwoWayChannelRole=(Option.map~f:IamRoleArn.of_xml)(Xml.childxml_arg0"TwoWayChannelRole")inlettwoWayChannelArn=(Option.map~f:TwoWayChannelArn.of_xml)(Xml.childxml_arg0"TwoWayChannelArn")inletselfManagedOptOutsEnabled=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"SelfManagedOptOutsEnabled")inletoptOutListName=(Option.map~f:OptOutListName.of_xml)(Xml.childxml_arg0"OptOutListName")inletdeletionProtectionEnabled=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"DeletionProtectionEnabled")inletcreatedTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"CreatedTimestamp")inletstatus=(Option.map~f:RcsAgentStatus.of_xml)(Xml.childxml_arg0"Status")inletrcsAgentId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RcsAgentId")inletrcsAgentArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RcsAgentArn")inmake?twoWayEnabled?twoWayChannelRole?twoWayChannelArn?selfManagedOptOutsEnabled?optOutListName?deletionProtectionEnabled?createdTimestamp?status?rcsAgentId?rcsAgentArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettwoWayEnabled=field_mapjson__"TwoWayEnabled"PrimitiveBoolean.of_jsoninlettwoWayChannelRole=field_mapjson__"TwoWayChannelRole"IamRoleArn.of_jsoninlettwoWayChannelArn=field_mapjson__"TwoWayChannelArn"TwoWayChannelArn.of_jsoninletselfManagedOptOutsEnabled=field_mapjson__"SelfManagedOptOutsEnabled"PrimitiveBoolean.of_jsoninletoptOutListName=field_mapjson__"OptOutListName"OptOutListName.of_jsoninletdeletionProtectionEnabled=field_mapjson__"DeletionProtectionEnabled"PrimitiveBoolean.of_jsoninletcreatedTimestamp=field_mapjson__"CreatedTimestamp"Timestamp.of_jsoninletstatus=field_mapjson__"Status"RcsAgentStatus.of_jsoninletrcsAgentId=field_mapjson__"RcsAgentId"String_.of_jsoninletrcsAgentArn=field_mapjson__"RcsAgentArn"String_.of_jsoninmake?twoWayEnabled?twoWayChannelRole?twoWayChannelArn?selfManagedOptOutsEnabled?optOutListName?deletionProtectionEnabled?createdTimestamp?status?rcsAgentId?rcsAgentArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates the configuration of an existing RCS agent. You can update the opt-out list, deletion protection, two-way messaging settings, and self-managed opt-outs configuration."]moduleUpdateRcsAgentRequest=structtypenonrect={rcsAgentId:RcsAgentIdOrArn.t[@ocaml.doc"The unique identifier of the RCS agent to update. You can use either the RcsAgentId or RcsAgentArn."];deletionProtectionEnabled:Boolean.toption[@ocaml.doc"By default this is set to false. When set to true the RCS agent can't be deleted."];optOutListName:OptOutListNameOrArn.toption[@ocaml.doc"The OptOutList to associate with the RCS agent. Valid values are either OptOutListName or OptOutListArn."];selfManagedOptOutsEnabled:Boolean.toption[@ocaml.doc"By default this is set to false. When set to true you're responsible for responding to HELP and STOP requests. You're also responsible for tracking and honoring opt-out requests."];twoWayChannelArn:TwoWayChannelArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the two way channel."];twoWayChannelRole:IamRoleArn.toption[@ocaml.doc"An optional IAM Role Arn for a service to assume, to be able to post inbound SMS messages."];twoWayEnabled:Boolean.toption[@ocaml.doc"By default this is set to false. When set to true you can receive incoming text messages from your end recipients."]}letcontext_="UpdateRcsAgentRequest"letmake?deletionProtectionEnabled=fun?optOutListName->fun?selfManagedOptOutsEnabled->fun?twoWayChannelArn->fun?twoWayChannelRole->fun?twoWayEnabled->fun~rcsAgentId->fun()->{deletionProtectionEnabled;optOutListName;selfManagedOptOutsEnabled;twoWayChannelArn;twoWayChannelRole;twoWayEnabled;rcsAgentId}letto_valuex=structure_to_value[("RcsAgentId",(Some(RcsAgentIdOrArn.to_valuex.rcsAgentId)));("DeletionProtectionEnabled",(Option.mapx.deletionProtectionEnabled~f:Boolean.to_value));("OptOutListName",(Option.mapx.optOutListName~f:OptOutListNameOrArn.to_value));("SelfManagedOptOutsEnabled",(Option.mapx.selfManagedOptOutsEnabled~f:Boolean.to_value));("TwoWayChannelArn",(Option.mapx.twoWayChannelArn~f:TwoWayChannelArn.to_value));("TwoWayChannelRole",(Option.mapx.twoWayChannelRole~f:IamRoleArn.to_value));("TwoWayEnabled",(Option.mapx.twoWayEnabled~f:Boolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettwoWayEnabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"TwoWayEnabled")inlettwoWayChannelRole=(Option.map~f:IamRoleArn.of_xml)(Xml.childxml_arg0"TwoWayChannelRole")inlettwoWayChannelArn=(Option.map~f:TwoWayChannelArn.of_xml)(Xml.childxml_arg0"TwoWayChannelArn")inletselfManagedOptOutsEnabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"SelfManagedOptOutsEnabled")inletoptOutListName=(Option.map~f:OptOutListNameOrArn.of_xml)(Xml.childxml_arg0"OptOutListName")inletdeletionProtectionEnabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"DeletionProtectionEnabled")inletrcsAgentId=RcsAgentIdOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"RcsAgentId")inmake?twoWayEnabled?twoWayChannelRole?twoWayChannelArn?selfManagedOptOutsEnabled?optOutListName?deletionProtectionEnabled~rcsAgentId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettwoWayEnabled=field_mapjson__"TwoWayEnabled"Boolean.of_jsoninlettwoWayChannelRole=field_mapjson__"TwoWayChannelRole"IamRoleArn.of_jsoninlettwoWayChannelArn=field_mapjson__"TwoWayChannelArn"TwoWayChannelArn.of_jsoninletselfManagedOptOutsEnabled=field_mapjson__"SelfManagedOptOutsEnabled"Boolean.of_jsoninletoptOutListName=field_mapjson__"OptOutListName"OptOutListNameOrArn.of_jsoninletdeletionProtectionEnabled=field_mapjson__"DeletionProtectionEnabled"Boolean.of_jsoninletrcsAgentId=field_map_exnjson__"RcsAgentId"RcsAgentIdOrArn.of_jsoninmake?twoWayEnabled?twoWayChannelRole?twoWayChannelArn?selfManagedOptOutsEnabled?optOutListName?deletionProtectionEnabled~rcsAgentId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates the configuration of an existing RCS agent. You can update the opt-out list, deletion protection, two-way messaging settings, and self-managed opt-outs configuration."]moduleUpdateProtectConfigurationResult=structtypenonrect={protectConfigurationArn:ProtectConfigurationArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the protect configuration."];protectConfigurationId:ProtectConfigurationId.toption[@ocaml.doc"The unique identifier for the protect configuration."];createdTimestamp:Timestamp.toption[@ocaml.doc"The time when the protect configuration was created, in UNIX epoch time format."];accountDefault:PrimitiveBoolean.toption[@ocaml.doc"This is true if the protect configuration is set as your account default protect configuration."];deletionProtectionEnabled:PrimitiveBoolean.toption[@ocaml.doc"The status of deletion protection for the protect configuration. When set to true deletion protection is enabled. By default this is set to false."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?protectConfigurationArn=fun?protectConfigurationId->fun?createdTimestamp->fun?accountDefault->fun?deletionProtectionEnabled->fun()->{protectConfigurationArn;protectConfigurationId;createdTimestamp;accountDefault;deletionProtectionEnabled}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[("ProtectConfigurationArn",(Option.mapx.protectConfigurationArn~f:ProtectConfigurationArn.to_value));("ProtectConfigurationId",(Option.mapx.protectConfigurationId~f:ProtectConfigurationId.to_value));("CreatedTimestamp",(Option.mapx.createdTimestamp~f:Timestamp.to_value));("AccountDefault",(Option.mapx.accountDefault~f:PrimitiveBoolean.to_value));("DeletionProtectionEnabled",(Option.mapx.deletionProtectionEnabled~f:PrimitiveBoolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdeletionProtectionEnabled=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"DeletionProtectionEnabled")inletaccountDefault=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"AccountDefault")inletcreatedTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"CreatedTimestamp")inletprotectConfigurationId=(Option.map~f:ProtectConfigurationId.of_xml)(Xml.childxml_arg0"ProtectConfigurationId")inletprotectConfigurationArn=(Option.map~f:ProtectConfigurationArn.of_xml)(Xml.childxml_arg0"ProtectConfigurationArn")inmake?deletionProtectionEnabled?accountDefault?createdTimestamp?protectConfigurationId?protectConfigurationArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdeletionProtectionEnabled=field_mapjson__"DeletionProtectionEnabled"PrimitiveBoolean.of_jsoninletaccountDefault=field_mapjson__"AccountDefault"PrimitiveBoolean.of_jsoninletcreatedTimestamp=field_mapjson__"CreatedTimestamp"Timestamp.of_jsoninletprotectConfigurationId=field_mapjson__"ProtectConfigurationId"ProtectConfigurationId.of_jsoninletprotectConfigurationArn=field_mapjson__"ProtectConfigurationArn"ProtectConfigurationArn.of_jsoninmake?deletionProtectionEnabled?accountDefault?createdTimestamp?protectConfigurationId?protectConfigurationArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Update the setting for an existing protect configuration."]moduleUpdateProtectConfigurationRequest=structtypenonrect={protectConfigurationId:ProtectConfigurationIdOrArn.t[@ocaml.doc"The unique identifier for the protect configuration."];deletionProtectionEnabled:Boolean.toption[@ocaml.doc"When set to true deletion protection is enabled. By default this is set to false."]}letcontext_="UpdateProtectConfigurationRequest"letmake?deletionProtectionEnabled=fun~protectConfigurationId->fun()->{deletionProtectionEnabled;protectConfigurationId}letto_valuex=structure_to_value[("ProtectConfigurationId",(Some(ProtectConfigurationIdOrArn.to_valuex.protectConfigurationId)));("DeletionProtectionEnabled",(Option.mapx.deletionProtectionEnabled~f:Boolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdeletionProtectionEnabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"DeletionProtectionEnabled")inletprotectConfigurationId=ProtectConfigurationIdOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"ProtectConfigurationId")inmake?deletionProtectionEnabled~protectConfigurationId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdeletionProtectionEnabled=field_mapjson__"DeletionProtectionEnabled"Boolean.of_jsoninletprotectConfigurationId=field_map_exnjson__"ProtectConfigurationId"ProtectConfigurationIdOrArn.of_jsoninmake?deletionProtectionEnabled~protectConfigurationId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Update the setting for an existing protect configuration."]moduleUpdateProtectConfigurationCountryRuleSetResult=structtypenonrect={protectConfigurationArn:ProtectConfigurationArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the protect configuration."];protectConfigurationId:ProtectConfigurationId.toption[@ocaml.doc"The unique identifier for the protect configuration."];numberCapability:NumberCapability.toption[@ocaml.doc"The number capability that was updated"];countryRuleSet:ProtectConfigurationCountryRuleSet.toption[@ocaml.doc"An array of ProtectConfigurationCountryRuleSetInformation containing the rules for the NumberCapability."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?protectConfigurationArn=fun?protectConfigurationId->fun?numberCapability->fun?countryRuleSet->fun()->{protectConfigurationArn;protectConfigurationId;numberCapability;countryRuleSet}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[("ProtectConfigurationArn",(Option.mapx.protectConfigurationArn~f:ProtectConfigurationArn.to_value));("ProtectConfigurationId",(Option.mapx.protectConfigurationId~f:ProtectConfigurationId.to_value));("NumberCapability",(Option.mapx.numberCapability~f:NumberCapability.to_value));("CountryRuleSet",(Option.mapx.countryRuleSet~f:ProtectConfigurationCountryRuleSet.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcountryRuleSet=(Option.map~f:ProtectConfigurationCountryRuleSet.of_xml)(Xml.childxml_arg0"CountryRuleSet")inletnumberCapability=(Option.map~f:NumberCapability.of_xml)(Xml.childxml_arg0"NumberCapability")inletprotectConfigurationId=(Option.map~f:ProtectConfigurationId.of_xml)(Xml.childxml_arg0"ProtectConfigurationId")inletprotectConfigurationArn=(Option.map~f:ProtectConfigurationArn.of_xml)(Xml.childxml_arg0"ProtectConfigurationArn")inmake?countryRuleSet?numberCapability?protectConfigurationId?protectConfigurationArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcountryRuleSet=field_mapjson__"CountryRuleSet"ProtectConfigurationCountryRuleSet.of_jsoninletnumberCapability=field_mapjson__"NumberCapability"NumberCapability.of_jsoninletprotectConfigurationId=field_mapjson__"ProtectConfigurationId"ProtectConfigurationId.of_jsoninletprotectConfigurationArn=field_mapjson__"ProtectConfigurationArn"ProtectConfigurationArn.of_jsoninmake?countryRuleSet?numberCapability?protectConfigurationId?protectConfigurationArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Update a country rule set to ALLOW, BLOCK, MONITOR, or FILTER messages to be sent to the specified destination counties. You can update one or multiple countries at a time. The updates are only applied to the specified NumberCapability type."]moduleUpdateProtectConfigurationCountryRuleSetRequest=structtypenonrect={protectConfigurationId:ProtectConfigurationIdOrArn.t[@ocaml.doc"The unique identifier for the protect configuration."];numberCapability:NumberCapability.t[@ocaml.doc"The number capability to apply the CountryRuleSetUpdates updates to."];countryRuleSetUpdates:ProtectConfigurationCountryRuleSet.t[@ocaml.doc"A map of ProtectConfigurationCountryRuleSetInformation objects that contain the details for the requested NumberCapability. The Key is the two-letter ISO country code. For a list of supported ISO country codes, see Supported countries and regions (SMS channel) in the End User Messaging SMS User Guide. For example, to set the United States as allowed and Canada as blocked, the CountryRuleSetUpdates would be formatted as: \"CountryRuleSetUpdates\": \\{ \"US\" : \\{ \"ProtectStatus\": \"ALLOW\" \\} \"CA\" : \\{ \"ProtectStatus\": \"BLOCK\" \\} \\}"]}letcontext_="UpdateProtectConfigurationCountryRuleSetRequest"letmake~protectConfigurationId=fun~numberCapability->fun~countryRuleSetUpdates->fun()->{protectConfigurationId;numberCapability;countryRuleSetUpdates}letto_valuex=structure_to_value[("ProtectConfigurationId",(Some(ProtectConfigurationIdOrArn.to_valuex.protectConfigurationId)));("NumberCapability",(Some(NumberCapability.to_valuex.numberCapability)));("CountryRuleSetUpdates",(Some(ProtectConfigurationCountryRuleSet.to_valuex.countryRuleSetUpdates)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcountryRuleSetUpdates=ProtectConfigurationCountryRuleSet.of_xml(Xml.child_exn~context:context_xml_arg0"CountryRuleSetUpdates")inletnumberCapability=NumberCapability.of_xml(Xml.child_exn~context:context_xml_arg0"NumberCapability")inletprotectConfigurationId=ProtectConfigurationIdOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"ProtectConfigurationId")inmake~countryRuleSetUpdates~numberCapability~protectConfigurationId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcountryRuleSetUpdates=field_map_exnjson__"CountryRuleSetUpdates"ProtectConfigurationCountryRuleSet.of_jsoninletnumberCapability=field_map_exnjson__"NumberCapability"NumberCapability.of_jsoninletprotectConfigurationId=field_map_exnjson__"ProtectConfigurationId"ProtectConfigurationIdOrArn.of_jsoninmake~countryRuleSetUpdates~numberCapability~protectConfigurationId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Update a country rule set to ALLOW, BLOCK, MONITOR, or FILTER messages to be sent to the specified destination counties. You can update one or multiple countries at a time. The updates are only applied to the specified NumberCapability type."]moduleUpdatePoolResult=structtypenonrect={poolArn:String_.toption[@ocaml.doc"The ARN of the pool."];poolId:String_.toption[@ocaml.doc"The unique identifier of the pool."];status:PoolStatus.toption[@ocaml.doc"The current status of the pool update request."];messageType:MessageType.toption[@ocaml.doc"The type of message for the pool to use."];twoWayEnabled:PrimitiveBoolean.toption[@ocaml.doc"By default this is set to false. When set to true you can receive incoming text messages from your end recipients."];twoWayChannelArn:TwoWayChannelArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the two way channel."];twoWayChannelRole:IamRoleArn.toption[@ocaml.doc"An optional IAM Role Arn for a service to assume, to be able to post inbound SMS messages."];selfManagedOptOutsEnabled:PrimitiveBoolean.toption[@ocaml.doc"When set to false and an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, End User Messaging SMS automatically replies with a customizable message and adds the end recipient to the OptOutList. When set to true you're responsible for responding to HELP and STOP requests. You're also responsible for tracking and honoring opt-out requests."];optOutListName:OptOutListName.toption[@ocaml.doc"The name of the OptOutList associated with the pool."];sharedRoutesEnabled:PrimitiveBoolean.toption[@ocaml.doc"Indicates whether shared routes are enabled for the pool."];deletionProtectionEnabled:PrimitiveBoolean.toption[@ocaml.doc"When set to true the pool can't be deleted."];createdTimestamp:Timestamp.toption[@ocaml.doc"The time when the pool was created, in UNIX epoch time format."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?poolArn=fun?poolId->fun?status->fun?messageType->fun?twoWayEnabled->fun?twoWayChannelArn->fun?twoWayChannelRole->fun?selfManagedOptOutsEnabled->fun?optOutListName->fun?sharedRoutesEnabled->fun?deletionProtectionEnabled->fun?createdTimestamp->fun()->{poolArn;poolId;status;messageType;twoWayEnabled;twoWayChannelArn;twoWayChannelRole;selfManagedOptOutsEnabled;optOutListName;sharedRoutesEnabled;deletionProtectionEnabled;createdTimestamp}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[("PoolArn",(Option.mapx.poolArn~f:String_.to_value));("PoolId",(Option.mapx.poolId~f:String_.to_value));("Status",(Option.mapx.status~f:PoolStatus.to_value));("MessageType",(Option.mapx.messageType~f:MessageType.to_value));("TwoWayEnabled",(Option.mapx.twoWayEnabled~f:PrimitiveBoolean.to_value));("TwoWayChannelArn",(Option.mapx.twoWayChannelArn~f:TwoWayChannelArn.to_value));("TwoWayChannelRole",(Option.mapx.twoWayChannelRole~f:IamRoleArn.to_value));("SelfManagedOptOutsEnabled",(Option.mapx.selfManagedOptOutsEnabled~f:PrimitiveBoolean.to_value));("OptOutListName",(Option.mapx.optOutListName~f:OptOutListName.to_value));("SharedRoutesEnabled",(Option.mapx.sharedRoutesEnabled~f:PrimitiveBoolean.to_value));("DeletionProtectionEnabled",(Option.mapx.deletionProtectionEnabled~f:PrimitiveBoolean.to_value));("CreatedTimestamp",(Option.mapx.createdTimestamp~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcreatedTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"CreatedTimestamp")inletdeletionProtectionEnabled=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"DeletionProtectionEnabled")inletsharedRoutesEnabled=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"SharedRoutesEnabled")inletoptOutListName=(Option.map~f:OptOutListName.of_xml)(Xml.childxml_arg0"OptOutListName")inletselfManagedOptOutsEnabled=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"SelfManagedOptOutsEnabled")inlettwoWayChannelRole=(Option.map~f:IamRoleArn.of_xml)(Xml.childxml_arg0"TwoWayChannelRole")inlettwoWayChannelArn=(Option.map~f:TwoWayChannelArn.of_xml)(Xml.childxml_arg0"TwoWayChannelArn")inlettwoWayEnabled=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"TwoWayEnabled")inletmessageType=(Option.map~f:MessageType.of_xml)(Xml.childxml_arg0"MessageType")inletstatus=(Option.map~f:PoolStatus.of_xml)(Xml.childxml_arg0"Status")inletpoolId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"PoolId")inletpoolArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"PoolArn")inmake?createdTimestamp?deletionProtectionEnabled?sharedRoutesEnabled?optOutListName?selfManagedOptOutsEnabled?twoWayChannelRole?twoWayChannelArn?twoWayEnabled?messageType?status?poolId?poolArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcreatedTimestamp=field_mapjson__"CreatedTimestamp"Timestamp.of_jsoninletdeletionProtectionEnabled=field_mapjson__"DeletionProtectionEnabled"PrimitiveBoolean.of_jsoninletsharedRoutesEnabled=field_mapjson__"SharedRoutesEnabled"PrimitiveBoolean.of_jsoninletoptOutListName=field_mapjson__"OptOutListName"OptOutListName.of_jsoninletselfManagedOptOutsEnabled=field_mapjson__"SelfManagedOptOutsEnabled"PrimitiveBoolean.of_jsoninlettwoWayChannelRole=field_mapjson__"TwoWayChannelRole"IamRoleArn.of_jsoninlettwoWayChannelArn=field_mapjson__"TwoWayChannelArn"TwoWayChannelArn.of_jsoninlettwoWayEnabled=field_mapjson__"TwoWayEnabled"PrimitiveBoolean.of_jsoninletmessageType=field_mapjson__"MessageType"MessageType.of_jsoninletstatus=field_mapjson__"Status"PoolStatus.of_jsoninletpoolId=field_mapjson__"PoolId"String_.of_jsoninletpoolArn=field_mapjson__"PoolArn"String_.of_jsoninmake?createdTimestamp?deletionProtectionEnabled?sharedRoutesEnabled?optOutListName?selfManagedOptOutsEnabled?twoWayChannelRole?twoWayChannelArn?twoWayEnabled?messageType?status?poolId?poolArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates the configuration of an existing pool. You can update the opt-out list, enable or disable two-way messaging, change the TwoWayChannelArn, enable or disable self-managed opt-outs, enable or disable deletion protection, and enable or disable shared routes."]moduleUpdatePoolRequest=structtypenonrect={poolId:PoolIdOrArn.t[@ocaml.doc"The unique identifier of the pool to update. Valid values are either the PoolId or PoolArn. If you are using a shared End User Messaging SMS resource then you must use the full Amazon Resource Name(ARN)."];twoWayEnabled:Boolean.toption[@ocaml.doc"By default this is set to false. When set to true you can receive incoming text messages from your end recipients."];twoWayChannelArn:TwoWayChannelArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the two way channel."];twoWayChannelRole:IamRoleArn.toption[@ocaml.doc"An optional IAM Role Arn for a service to assume, to be able to post inbound SMS messages."];selfManagedOptOutsEnabled:Boolean.toption[@ocaml.doc"By default this is set to false. When set to false and an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, End User Messaging SMS automatically replies with a customizable message and adds the end recipient to the OptOutList. When set to true you're responsible for responding to HELP and STOP requests. You're also responsible for tracking and honoring opt-out requests."];optOutListName:OptOutListNameOrArn.toption[@ocaml.doc"The OptOutList to associate with the pool. Valid values are either OptOutListName or OptOutListArn. If you are using a shared End User Messaging SMS resource then you must use the full Amazon Resource Name(ARN)."];sharedRoutesEnabled:Boolean.toption[@ocaml.doc"Indicates whether shared routes are enabled for the pool."];deletionProtectionEnabled:Boolean.toption[@ocaml.doc"When set to true the pool can't be deleted."]}letcontext_="UpdatePoolRequest"letmake?twoWayEnabled=fun?twoWayChannelArn->fun?twoWayChannelRole->fun?selfManagedOptOutsEnabled->fun?optOutListName->fun?sharedRoutesEnabled->fun?deletionProtectionEnabled->fun~poolId->fun()->{twoWayEnabled;twoWayChannelArn;twoWayChannelRole;selfManagedOptOutsEnabled;optOutListName;sharedRoutesEnabled;deletionProtectionEnabled;poolId}letto_valuex=structure_to_value[("PoolId",(Some(PoolIdOrArn.to_valuex.poolId)));("TwoWayEnabled",(Option.mapx.twoWayEnabled~f:Boolean.to_value));("TwoWayChannelArn",(Option.mapx.twoWayChannelArn~f:TwoWayChannelArn.to_value));("TwoWayChannelRole",(Option.mapx.twoWayChannelRole~f:IamRoleArn.to_value));("SelfManagedOptOutsEnabled",(Option.mapx.selfManagedOptOutsEnabled~f:Boolean.to_value));("OptOutListName",(Option.mapx.optOutListName~f:OptOutListNameOrArn.to_value));("SharedRoutesEnabled",(Option.mapx.sharedRoutesEnabled~f:Boolean.to_value));("DeletionProtectionEnabled",(Option.mapx.deletionProtectionEnabled~f:Boolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdeletionProtectionEnabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"DeletionProtectionEnabled")inletsharedRoutesEnabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"SharedRoutesEnabled")inletoptOutListName=(Option.map~f:OptOutListNameOrArn.of_xml)(Xml.childxml_arg0"OptOutListName")inletselfManagedOptOutsEnabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"SelfManagedOptOutsEnabled")inlettwoWayChannelRole=(Option.map~f:IamRoleArn.of_xml)(Xml.childxml_arg0"TwoWayChannelRole")inlettwoWayChannelArn=(Option.map~f:TwoWayChannelArn.of_xml)(Xml.childxml_arg0"TwoWayChannelArn")inlettwoWayEnabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"TwoWayEnabled")inletpoolId=PoolIdOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"PoolId")inmake?deletionProtectionEnabled?sharedRoutesEnabled?optOutListName?selfManagedOptOutsEnabled?twoWayChannelRole?twoWayChannelArn?twoWayEnabled~poolId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdeletionProtectionEnabled=field_mapjson__"DeletionProtectionEnabled"Boolean.of_jsoninletsharedRoutesEnabled=field_mapjson__"SharedRoutesEnabled"Boolean.of_jsoninletoptOutListName=field_mapjson__"OptOutListName"OptOutListNameOrArn.of_jsoninletselfManagedOptOutsEnabled=field_mapjson__"SelfManagedOptOutsEnabled"Boolean.of_jsoninlettwoWayChannelRole=field_mapjson__"TwoWayChannelRole"IamRoleArn.of_jsoninlettwoWayChannelArn=field_mapjson__"TwoWayChannelArn"TwoWayChannelArn.of_jsoninlettwoWayEnabled=field_mapjson__"TwoWayEnabled"Boolean.of_jsoninletpoolId=field_map_exnjson__"PoolId"PoolIdOrArn.of_jsoninmake?deletionProtectionEnabled?sharedRoutesEnabled?optOutListName?selfManagedOptOutsEnabled?twoWayChannelRole?twoWayChannelArn?twoWayEnabled~poolId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates the configuration of an existing pool. You can update the opt-out list, enable or disable two-way messaging, change the TwoWayChannelArn, enable or disable self-managed opt-outs, enable or disable deletion protection, and enable or disable shared routes."]moduleUpdatePhoneNumberResult=structtypenonrect={phoneNumberArn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the updated phone number."];phoneNumberId:String_.toption[@ocaml.doc"The unique identifier of the phone number."];phoneNumber:PhoneNumber.toption[@ocaml.doc"The phone number that was updated."];status:NumberStatus.toption[@ocaml.doc"The current status of the request."];isoCountryCode:IsoCountryCode.toption[@ocaml.doc"The two-character code, in ISO 3166-1 alpha-2 format, for the country or region."];messageType:MessageType.toption[@ocaml.doc"The type of message. Valid values are TRANSACTIONAL for messages that are critical or time-sensitive and PROMOTIONAL for messages that aren't critical or time-sensitive."];numberCapabilities:NumberCapabilityList.toption[@ocaml.doc"Specifies if the number could be used for text messages, voice or both."];numberType:NumberType.toption[@ocaml.doc"The type of number that was requested."];monthlyLeasingPrice:String_.toption[@ocaml.doc"The monthly leasing price of the phone number, in US dollars."];twoWayEnabled:PrimitiveBoolean.toption[@ocaml.doc"By default this is set to false. When set to true you can receive incoming text messages from your end recipients."];twoWayChannelArn:TwoWayChannelArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the two way channel."];twoWayChannelRole:IamRoleArn.toption[@ocaml.doc"An optional IAM Role Arn for a service to assume, to be able to post inbound SMS messages."];selfManagedOptOutsEnabled:PrimitiveBoolean.toption[@ocaml.doc"This is true if self managed opt-out are enabled."];optOutListName:OptOutListName.toption[@ocaml.doc"The name of the OptOutList associated with the phone number."];internationalSendingEnabled:PrimitiveBoolean.toption[@ocaml.doc"When set to true the international sending of phone number is Enabled."];deletionProtectionEnabled:PrimitiveBoolean.toption[@ocaml.doc"When set to true the phone number can't be deleted."];registrationId:String_.toption[@ocaml.doc"The unique identifier for the registration."];createdTimestamp:Timestamp.toption[@ocaml.doc"The time when the phone number was created, in UNIX epoch time format."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?phoneNumberArn=fun?phoneNumberId->fun?phoneNumber->fun?status->fun?isoCountryCode->fun?messageType->fun?numberCapabilities->fun?numberType->fun?monthlyLeasingPrice->fun?twoWayEnabled->fun?twoWayChannelArn->fun?twoWayChannelRole->fun?selfManagedOptOutsEnabled->fun?optOutListName->fun?internationalSendingEnabled->fun?deletionProtectionEnabled->fun?registrationId->fun?createdTimestamp->fun()->{phoneNumberArn;phoneNumberId;phoneNumber;status;isoCountryCode;messageType;numberCapabilities;numberType;monthlyLeasingPrice;twoWayEnabled;twoWayChannelArn;twoWayChannelRole;selfManagedOptOutsEnabled;optOutListName;internationalSendingEnabled;deletionProtectionEnabled;registrationId;createdTimestamp}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[("PhoneNumberArn",(Option.mapx.phoneNumberArn~f:String_.to_value));("PhoneNumberId",(Option.mapx.phoneNumberId~f:String_.to_value));("PhoneNumber",(Option.mapx.phoneNumber~f:PhoneNumber.to_value));("Status",(Option.mapx.status~f:NumberStatus.to_value));("IsoCountryCode",(Option.mapx.isoCountryCode~f:IsoCountryCode.to_value));("MessageType",(Option.mapx.messageType~f:MessageType.to_value));("NumberCapabilities",(Option.mapx.numberCapabilities~f:NumberCapabilityList.to_value));("NumberType",(Option.mapx.numberType~f:NumberType.to_value));("MonthlyLeasingPrice",(Option.mapx.monthlyLeasingPrice~f:String_.to_value));("TwoWayEnabled",(Option.mapx.twoWayEnabled~f:PrimitiveBoolean.to_value));("TwoWayChannelArn",(Option.mapx.twoWayChannelArn~f:TwoWayChannelArn.to_value));("TwoWayChannelRole",(Option.mapx.twoWayChannelRole~f:IamRoleArn.to_value));("SelfManagedOptOutsEnabled",(Option.mapx.selfManagedOptOutsEnabled~f:PrimitiveBoolean.to_value));("OptOutListName",(Option.mapx.optOutListName~f:OptOutListName.to_value));("InternationalSendingEnabled",(Option.mapx.internationalSendingEnabled~f:PrimitiveBoolean.to_value));("DeletionProtectionEnabled",(Option.mapx.deletionProtectionEnabled~f:PrimitiveBoolean.to_value));("RegistrationId",(Option.mapx.registrationId~f:String_.to_value));("CreatedTimestamp",(Option.mapx.createdTimestamp~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcreatedTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"CreatedTimestamp")inletregistrationId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RegistrationId")inletdeletionProtectionEnabled=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"DeletionProtectionEnabled")inletinternationalSendingEnabled=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"InternationalSendingEnabled")inletoptOutListName=(Option.map~f:OptOutListName.of_xml)(Xml.childxml_arg0"OptOutListName")inletselfManagedOptOutsEnabled=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"SelfManagedOptOutsEnabled")inlettwoWayChannelRole=(Option.map~f:IamRoleArn.of_xml)(Xml.childxml_arg0"TwoWayChannelRole")inlettwoWayChannelArn=(Option.map~f:TwoWayChannelArn.of_xml)(Xml.childxml_arg0"TwoWayChannelArn")inlettwoWayEnabled=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"TwoWayEnabled")inletmonthlyLeasingPrice=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"MonthlyLeasingPrice")inletnumberType=(Option.map~f:NumberType.of_xml)(Xml.childxml_arg0"NumberType")inletnumberCapabilities=(Option.map~f:NumberCapabilityList.of_xml)(Xml.childxml_arg0"NumberCapabilities")inletmessageType=(Option.map~f:MessageType.of_xml)(Xml.childxml_arg0"MessageType")inletisoCountryCode=(Option.map~f:IsoCountryCode.of_xml)(Xml.childxml_arg0"IsoCountryCode")inletstatus=(Option.map~f:NumberStatus.of_xml)(Xml.childxml_arg0"Status")inletphoneNumber=(Option.map~f:PhoneNumber.of_xml)(Xml.childxml_arg0"PhoneNumber")inletphoneNumberId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"PhoneNumberId")inletphoneNumberArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"PhoneNumberArn")inmake?createdTimestamp?registrationId?deletionProtectionEnabled?internationalSendingEnabled?optOutListName?selfManagedOptOutsEnabled?twoWayChannelRole?twoWayChannelArn?twoWayEnabled?monthlyLeasingPrice?numberType?numberCapabilities?messageType?isoCountryCode?status?phoneNumber?phoneNumberId?phoneNumberArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcreatedTimestamp=field_mapjson__"CreatedTimestamp"Timestamp.of_jsoninletregistrationId=field_mapjson__"RegistrationId"String_.of_jsoninletdeletionProtectionEnabled=field_mapjson__"DeletionProtectionEnabled"PrimitiveBoolean.of_jsoninletinternationalSendingEnabled=field_mapjson__"InternationalSendingEnabled"PrimitiveBoolean.of_jsoninletoptOutListName=field_mapjson__"OptOutListName"OptOutListName.of_jsoninletselfManagedOptOutsEnabled=field_mapjson__"SelfManagedOptOutsEnabled"PrimitiveBoolean.of_jsoninlettwoWayChannelRole=field_mapjson__"TwoWayChannelRole"IamRoleArn.of_jsoninlettwoWayChannelArn=field_mapjson__"TwoWayChannelArn"TwoWayChannelArn.of_jsoninlettwoWayEnabled=field_mapjson__"TwoWayEnabled"PrimitiveBoolean.of_jsoninletmonthlyLeasingPrice=field_mapjson__"MonthlyLeasingPrice"String_.of_jsoninletnumberType=field_mapjson__"NumberType"NumberType.of_jsoninletnumberCapabilities=field_mapjson__"NumberCapabilities"NumberCapabilityList.of_jsoninletmessageType=field_mapjson__"MessageType"MessageType.of_jsoninletisoCountryCode=field_mapjson__"IsoCountryCode"IsoCountryCode.of_jsoninletstatus=field_mapjson__"Status"NumberStatus.of_jsoninletphoneNumber=field_mapjson__"PhoneNumber"PhoneNumber.of_jsoninletphoneNumberId=field_mapjson__"PhoneNumberId"String_.of_jsoninletphoneNumberArn=field_mapjson__"PhoneNumberArn"String_.of_jsoninmake?createdTimestamp?registrationId?deletionProtectionEnabled?internationalSendingEnabled?optOutListName?selfManagedOptOutsEnabled?twoWayChannelRole?twoWayChannelArn?twoWayEnabled?monthlyLeasingPrice?numberType?numberCapabilities?messageType?isoCountryCode?status?phoneNumber?phoneNumberId?phoneNumberArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates the configuration of an existing origination phone number. You can update the opt-out list, enable or disable two-way messaging, change the TwoWayChannelArn, enable or disable self-managed opt-outs, and enable or disable deletion protection. If the origination phone number is associated with a pool, an error is returned."]moduleUpdatePhoneNumberRequest=structtypenonrect={phoneNumberId:PhoneNumberIdOrArn.t[@ocaml.doc"The unique identifier of the phone number. Valid values for this field can be either the PhoneNumberId or PhoneNumberArn. If you are using a shared End User Messaging SMS resource then you must use the full Amazon Resource Name(ARN)."];twoWayEnabled:Boolean.toption[@ocaml.doc"By default this is set to false. When set to true you can receive incoming text messages from your end recipients."];twoWayChannelArn:TwoWayChannelArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the two way channel."];twoWayChannelRole:IamRoleArn.toption[@ocaml.doc"An optional IAM Role Arn for a service to assume, to be able to post inbound SMS messages."];selfManagedOptOutsEnabled:Boolean.toption[@ocaml.doc"By default this is set to false. When set to false and an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, End User Messaging SMS automatically replies with a customizable message and adds the end recipient to the OptOutList. When set to true you're responsible for responding to HELP and STOP requests. You're also responsible for tracking and honoring opt-out requests."];optOutListName:OptOutListNameOrArn.toption[@ocaml.doc"The OptOutList to add the phone number to. You can use either the opt out list name or the opt out list ARN."];internationalSendingEnabled:Boolean.toption[@ocaml.doc"By default this is set to false. When set to true the international sending of phone number is Enabled."];deletionProtectionEnabled:Boolean.toption[@ocaml.doc"By default this is set to false. When set to true the phone number can't be deleted."]}letcontext_="UpdatePhoneNumberRequest"letmake?twoWayEnabled=fun?twoWayChannelArn->fun?twoWayChannelRole->fun?selfManagedOptOutsEnabled->fun?optOutListName->fun?internationalSendingEnabled->fun?deletionProtectionEnabled->fun~phoneNumberId->fun()->{twoWayEnabled;twoWayChannelArn;twoWayChannelRole;selfManagedOptOutsEnabled;optOutListName;internationalSendingEnabled;deletionProtectionEnabled;phoneNumberId}letto_valuex=structure_to_value[("PhoneNumberId",(Some(PhoneNumberIdOrArn.to_valuex.phoneNumberId)));("TwoWayEnabled",(Option.mapx.twoWayEnabled~f:Boolean.to_value));("TwoWayChannelArn",(Option.mapx.twoWayChannelArn~f:TwoWayChannelArn.to_value));("TwoWayChannelRole",(Option.mapx.twoWayChannelRole~f:IamRoleArn.to_value));("SelfManagedOptOutsEnabled",(Option.mapx.selfManagedOptOutsEnabled~f:Boolean.to_value));("OptOutListName",(Option.mapx.optOutListName~f:OptOutListNameOrArn.to_value));("InternationalSendingEnabled",(Option.mapx.internationalSendingEnabled~f:Boolean.to_value));("DeletionProtectionEnabled",(Option.mapx.deletionProtectionEnabled~f:Boolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdeletionProtectionEnabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"DeletionProtectionEnabled")inletinternationalSendingEnabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"InternationalSendingEnabled")inletoptOutListName=(Option.map~f:OptOutListNameOrArn.of_xml)(Xml.childxml_arg0"OptOutListName")inletselfManagedOptOutsEnabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"SelfManagedOptOutsEnabled")inlettwoWayChannelRole=(Option.map~f:IamRoleArn.of_xml)(Xml.childxml_arg0"TwoWayChannelRole")inlettwoWayChannelArn=(Option.map~f:TwoWayChannelArn.of_xml)(Xml.childxml_arg0"TwoWayChannelArn")inlettwoWayEnabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"TwoWayEnabled")inletphoneNumberId=PhoneNumberIdOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"PhoneNumberId")inmake?deletionProtectionEnabled?internationalSendingEnabled?optOutListName?selfManagedOptOutsEnabled?twoWayChannelRole?twoWayChannelArn?twoWayEnabled~phoneNumberId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdeletionProtectionEnabled=field_mapjson__"DeletionProtectionEnabled"Boolean.of_jsoninletinternationalSendingEnabled=field_mapjson__"InternationalSendingEnabled"Boolean.of_jsoninletoptOutListName=field_mapjson__"OptOutListName"OptOutListNameOrArn.of_jsoninletselfManagedOptOutsEnabled=field_mapjson__"SelfManagedOptOutsEnabled"Boolean.of_jsoninlettwoWayChannelRole=field_mapjson__"TwoWayChannelRole"IamRoleArn.of_jsoninlettwoWayChannelArn=field_mapjson__"TwoWayChannelArn"TwoWayChannelArn.of_jsoninlettwoWayEnabled=field_mapjson__"TwoWayEnabled"Boolean.of_jsoninletphoneNumberId=field_map_exnjson__"PhoneNumberId"PhoneNumberIdOrArn.of_jsoninmake?deletionProtectionEnabled?internationalSendingEnabled?optOutListName?selfManagedOptOutsEnabled?twoWayChannelRole?twoWayChannelArn?twoWayEnabled~phoneNumberId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates the configuration of an existing origination phone number. You can update the opt-out list, enable or disable two-way messaging, change the TwoWayChannelArn, enable or disable self-managed opt-outs, and enable or disable deletion protection. If the origination phone number is associated with a pool, an error is returned."]moduleUpdateNotifyConfigurationResult=structtypenonrect={notifyConfigurationArn:NotifyConfigurationArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) for the notify configuration."];notifyConfigurationId:NotifyConfigurationId.toption[@ocaml.doc"The unique identifier for the notify configuration."];displayName:NotifyConfigurationDisplayName.toption[@ocaml.doc"The display name associated with the notify configuration."];useCase:NotifyConfigurationUseCase.toption[@ocaml.doc"The use case for the notify configuration."];defaultTemplateId:NotifyTemplateId.toption[@ocaml.doc"The default template identifier associated with the notify configuration."];poolId:String_.toption[@ocaml.doc"The identifier of the pool associated with the notify configuration."];enabledCountries:IsoCountryCodeList.toption[@ocaml.doc"An array of two-character ISO country codes, in ISO 3166-1 alpha-2 format, that are enabled for the notify configuration."];enabledChannels:NotifyEnabledChannelsList.toption[@ocaml.doc"An array of channels enabled for the notify configuration. Supported values include SMS and VOICE."];tier:NotifyConfigurationTier.toption[@ocaml.doc"The tier of the notify configuration."];tierUpgradeStatus:TierUpgradeStatus.toption[@ocaml.doc"The tier upgrade status of the notify configuration."];status:NotifyConfigurationStatus.toption[@ocaml.doc"The current status of the notify configuration."];rejectionReason:String_.toption[@ocaml.doc"The reason the notify configuration was rejected, if applicable."];deletionProtectionEnabled:PrimitiveBoolean.toption[@ocaml.doc"When set to true deletion protection is enabled. By default this is set to false."];createdTimestamp:Timestamp.toption[@ocaml.doc"The time when the notify configuration was created, in UNIX epoch time format."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?notifyConfigurationArn=fun?notifyConfigurationId->fun?displayName->fun?useCase->fun?defaultTemplateId->fun?poolId->fun?enabledCountries->fun?enabledChannels->fun?tier->fun?tierUpgradeStatus->fun?status->fun?rejectionReason->fun?deletionProtectionEnabled->fun?createdTimestamp->fun()->{notifyConfigurationArn;notifyConfigurationId;displayName;useCase;defaultTemplateId;poolId;enabledCountries;enabledChannels;tier;tierUpgradeStatus;status;rejectionReason;deletionProtectionEnabled;createdTimestamp}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[("NotifyConfigurationArn",(Option.mapx.notifyConfigurationArn~f:NotifyConfigurationArn.to_value));("NotifyConfigurationId",(Option.mapx.notifyConfigurationId~f:NotifyConfigurationId.to_value));("DisplayName",(Option.mapx.displayName~f:NotifyConfigurationDisplayName.to_value));("UseCase",(Option.mapx.useCase~f:NotifyConfigurationUseCase.to_value));("DefaultTemplateId",(Option.mapx.defaultTemplateId~f:NotifyTemplateId.to_value));("PoolId",(Option.mapx.poolId~f:String_.to_value));("EnabledCountries",(Option.mapx.enabledCountries~f:IsoCountryCodeList.to_value));("EnabledChannels",(Option.mapx.enabledChannels~f:NotifyEnabledChannelsList.to_value));("Tier",(Option.mapx.tier~f:NotifyConfigurationTier.to_value));("TierUpgradeStatus",(Option.mapx.tierUpgradeStatus~f:TierUpgradeStatus.to_value));("Status",(Option.mapx.status~f:NotifyConfigurationStatus.to_value));("RejectionReason",(Option.mapx.rejectionReason~f:String_.to_value));("DeletionProtectionEnabled",(Option.mapx.deletionProtectionEnabled~f:PrimitiveBoolean.to_value));("CreatedTimestamp",(Option.mapx.createdTimestamp~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcreatedTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"CreatedTimestamp")inletdeletionProtectionEnabled=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"DeletionProtectionEnabled")inletrejectionReason=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RejectionReason")inletstatus=(Option.map~f:NotifyConfigurationStatus.of_xml)(Xml.childxml_arg0"Status")inlettierUpgradeStatus=(Option.map~f:TierUpgradeStatus.of_xml)(Xml.childxml_arg0"TierUpgradeStatus")inlettier=(Option.map~f:NotifyConfigurationTier.of_xml)(Xml.childxml_arg0"Tier")inletenabledChannels=(Option.map~f:NotifyEnabledChannelsList.of_xml)(Xml.childxml_arg0"EnabledChannels")inletenabledCountries=(Option.map~f:IsoCountryCodeList.of_xml)(Xml.childxml_arg0"EnabledCountries")inletpoolId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"PoolId")inletdefaultTemplateId=(Option.map~f:NotifyTemplateId.of_xml)(Xml.childxml_arg0"DefaultTemplateId")inletuseCase=(Option.map~f:NotifyConfigurationUseCase.of_xml)(Xml.childxml_arg0"UseCase")inletdisplayName=(Option.map~f:NotifyConfigurationDisplayName.of_xml)(Xml.childxml_arg0"DisplayName")inletnotifyConfigurationId=(Option.map~f:NotifyConfigurationId.of_xml)(Xml.childxml_arg0"NotifyConfigurationId")inletnotifyConfigurationArn=(Option.map~f:NotifyConfigurationArn.of_xml)(Xml.childxml_arg0"NotifyConfigurationArn")inmake?createdTimestamp?deletionProtectionEnabled?rejectionReason?status?tierUpgradeStatus?tier?enabledChannels?enabledCountries?poolId?defaultTemplateId?useCase?displayName?notifyConfigurationId?notifyConfigurationArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcreatedTimestamp=field_mapjson__"CreatedTimestamp"Timestamp.of_jsoninletdeletionProtectionEnabled=field_mapjson__"DeletionProtectionEnabled"PrimitiveBoolean.of_jsoninletrejectionReason=field_mapjson__"RejectionReason"String_.of_jsoninletstatus=field_mapjson__"Status"NotifyConfigurationStatus.of_jsoninlettierUpgradeStatus=field_mapjson__"TierUpgradeStatus"TierUpgradeStatus.of_jsoninlettier=field_mapjson__"Tier"NotifyConfigurationTier.of_jsoninletenabledChannels=field_mapjson__"EnabledChannels"NotifyEnabledChannelsList.of_jsoninletenabledCountries=field_mapjson__"EnabledCountries"IsoCountryCodeList.of_jsoninletpoolId=field_mapjson__"PoolId"String_.of_jsoninletdefaultTemplateId=field_mapjson__"DefaultTemplateId"NotifyTemplateId.of_jsoninletuseCase=field_mapjson__"UseCase"NotifyConfigurationUseCase.of_jsoninletdisplayName=field_mapjson__"DisplayName"NotifyConfigurationDisplayName.of_jsoninletnotifyConfigurationId=field_mapjson__"NotifyConfigurationId"NotifyConfigurationId.of_jsoninletnotifyConfigurationArn=field_mapjson__"NotifyConfigurationArn"NotifyConfigurationArn.of_jsoninmake?createdTimestamp?deletionProtectionEnabled?rejectionReason?status?tierUpgradeStatus?tier?enabledChannels?enabledCountries?poolId?defaultTemplateId?useCase?displayName?notifyConfigurationId?notifyConfigurationArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates an existing notify configuration. You can update the default template, pool association, enabled channels, enabled countries, and deletion protection settings."]moduleUpdateNotifyConfigurationRequest=structtypenonrect={notifyConfigurationId:NotifyConfigurationIdOrArn.t[@ocaml.doc"The identifier of the notify configuration to update. The NotifyConfigurationId can be found using the DescribeNotifyConfigurations operation."];defaultTemplateId:NotifyTemplateId.toption[@ocaml.doc"The template ID to set as the default, or the special value UNSET_DEFAULT_TEMPLATE to clear the current default template."];poolId:NotifyPoolIdOrUnset.toption[@ocaml.doc"The pool ID or ARN to associate, or the special value UNSET_DEFAULT_POOL_FOR_NOTIFY to clear the current default pool."];enabledCountries:IsoCountryCodeList.toption[@ocaml.doc"An array of two-character ISO country codes, in ISO 3166-1 alpha-2 format, that are enabled for the notify configuration."];enabledChannels:NotifyEnabledChannelsList.toption[@ocaml.doc"An array of channels to enable for the notify configuration. Supported values include SMS and VOICE."];deletionProtectionEnabled:Boolean.toption[@ocaml.doc"When set to true the notify configuration can't be deleted."]}letcontext_="UpdateNotifyConfigurationRequest"letmake?defaultTemplateId=fun?poolId->fun?enabledCountries->fun?enabledChannels->fun?deletionProtectionEnabled->fun~notifyConfigurationId->fun()->{defaultTemplateId;poolId;enabledCountries;enabledChannels;deletionProtectionEnabled;notifyConfigurationId}letto_valuex=structure_to_value[("NotifyConfigurationId",(Some(NotifyConfigurationIdOrArn.to_valuex.notifyConfigurationId)));("DefaultTemplateId",(Option.mapx.defaultTemplateId~f:NotifyTemplateId.to_value));("PoolId",(Option.mapx.poolId~f:NotifyPoolIdOrUnset.to_value));("EnabledCountries",(Option.mapx.enabledCountries~f:IsoCountryCodeList.to_value));("EnabledChannels",(Option.mapx.enabledChannels~f:NotifyEnabledChannelsList.to_value));("DeletionProtectionEnabled",(Option.mapx.deletionProtectionEnabled~f:Boolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdeletionProtectionEnabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"DeletionProtectionEnabled")inletenabledChannels=(Option.map~f:NotifyEnabledChannelsList.of_xml)(Xml.childxml_arg0"EnabledChannels")inletenabledCountries=(Option.map~f:IsoCountryCodeList.of_xml)(Xml.childxml_arg0"EnabledCountries")inletpoolId=(Option.map~f:NotifyPoolIdOrUnset.of_xml)(Xml.childxml_arg0"PoolId")inletdefaultTemplateId=(Option.map~f:NotifyTemplateId.of_xml)(Xml.childxml_arg0"DefaultTemplateId")inletnotifyConfigurationId=NotifyConfigurationIdOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"NotifyConfigurationId")inmake?deletionProtectionEnabled?enabledChannels?enabledCountries?poolId?defaultTemplateId~notifyConfigurationId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdeletionProtectionEnabled=field_mapjson__"DeletionProtectionEnabled"Boolean.of_jsoninletenabledChannels=field_mapjson__"EnabledChannels"NotifyEnabledChannelsList.of_jsoninletenabledCountries=field_mapjson__"EnabledCountries"IsoCountryCodeList.of_jsoninletpoolId=field_mapjson__"PoolId"NotifyPoolIdOrUnset.of_jsoninletdefaultTemplateId=field_mapjson__"DefaultTemplateId"NotifyTemplateId.of_jsoninletnotifyConfigurationId=field_map_exnjson__"NotifyConfigurationId"NotifyConfigurationIdOrArn.of_jsoninmake?deletionProtectionEnabled?enabledChannels?enabledCountries?poolId?defaultTemplateId~notifyConfigurationId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates an existing notify configuration. You can update the default template, pool association, enabled channels, enabled countries, and deletion protection settings."]moduleUpdateEventDestinationResult=structtypenonrect={configurationSetArn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) for the ConfigurationSet that was updated."];configurationSetName:ConfigurationSetName.toption[@ocaml.doc"The name of the configuration set."];eventDestination:EventDestination.toption[@ocaml.doc"An EventDestination object containing the details of where events will be logged."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?configurationSetArn=fun?configurationSetName->fun?eventDestination->fun()->{configurationSetArn;configurationSetName;eventDestination}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[("ConfigurationSetArn",(Option.mapx.configurationSetArn~f:String_.to_value));("ConfigurationSetName",(Option.mapx.configurationSetName~f:ConfigurationSetName.to_value));("EventDestination",(Option.mapx.eventDestination~f:EventDestination.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=leteventDestination=(Option.map~f:EventDestination.of_xml)(Xml.childxml_arg0"EventDestination")inletconfigurationSetName=(Option.map~f:ConfigurationSetName.of_xml)(Xml.childxml_arg0"ConfigurationSetName")inletconfigurationSetArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"ConfigurationSetArn")inmake?eventDestination?configurationSetName?configurationSetArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=leteventDestination=field_mapjson__"EventDestination"EventDestination.of_jsoninletconfigurationSetName=field_mapjson__"ConfigurationSetName"ConfigurationSetName.of_jsoninletconfigurationSetArn=field_mapjson__"ConfigurationSetArn"String_.of_jsoninmake?eventDestination?configurationSetName?configurationSetArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates an existing event destination in a configuration set. You can update the IAM role ARN for CloudWatch Logs and Firehose. You can also enable or disable the event destination. You may want to update an event destination to change its matching event types or updating the destination resource ARN. You can't change an event destination's type between CloudWatch Logs, Firehose, and Amazon SNS."]moduleUpdateEventDestinationRequest=structtypenonrect={configurationSetName:ConfigurationSetNameOrArn.t[@ocaml.doc"The configuration set to update with the new event destination. Valid values for this can be the ConfigurationSetName or ConfigurationSetArn."];eventDestinationName:EventDestinationName.t[@ocaml.doc"The name to use for the event destination."];enabled:Boolean.toption[@ocaml.doc"When set to true logging is enabled."];matchingEventTypes:EventTypeList.toption[@ocaml.doc"An array of event types that determine which events to log. The TEXT_SENT event type is not supported."];cloudWatchLogsDestination:CloudWatchLogsDestination.toption[@ocaml.doc"An object that contains information about an event destination that sends data to CloudWatch Logs."];kinesisFirehoseDestination:KinesisFirehoseDestination.toption[@ocaml.doc"An object that contains information about an event destination for logging to Firehose."];snsDestination:SnsDestination.toption[@ocaml.doc"An object that contains information about an event destination that sends data to Amazon SNS."]}letcontext_="UpdateEventDestinationRequest"letmake?enabled=fun?matchingEventTypes->fun?cloudWatchLogsDestination->fun?kinesisFirehoseDestination->fun?snsDestination->fun~configurationSetName->fun~eventDestinationName->fun()->{enabled;matchingEventTypes;cloudWatchLogsDestination;kinesisFirehoseDestination;snsDestination;configurationSetName;eventDestinationName}letto_valuex=structure_to_value[("ConfigurationSetName",(Some(ConfigurationSetNameOrArn.to_valuex.configurationSetName)));("EventDestinationName",(Some(EventDestinationName.to_valuex.eventDestinationName)));("Enabled",(Option.mapx.enabled~f:Boolean.to_value));("MatchingEventTypes",(Option.mapx.matchingEventTypes~f:EventTypeList.to_value));("CloudWatchLogsDestination",(Option.mapx.cloudWatchLogsDestination~f:CloudWatchLogsDestination.to_value));("KinesisFirehoseDestination",(Option.mapx.kinesisFirehoseDestination~f:KinesisFirehoseDestination.to_value));("SnsDestination",(Option.mapx.snsDestination~f:SnsDestination.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letsnsDestination=(Option.map~f:SnsDestination.of_xml)(Xml.childxml_arg0"SnsDestination")inletkinesisFirehoseDestination=(Option.map~f:KinesisFirehoseDestination.of_xml)(Xml.childxml_arg0"KinesisFirehoseDestination")inletcloudWatchLogsDestination=(Option.map~f:CloudWatchLogsDestination.of_xml)(Xml.childxml_arg0"CloudWatchLogsDestination")inletmatchingEventTypes=(Option.map~f:EventTypeList.of_xml)(Xml.childxml_arg0"MatchingEventTypes")inletenabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"Enabled")inleteventDestinationName=EventDestinationName.of_xml(Xml.child_exn~context:context_xml_arg0"EventDestinationName")inletconfigurationSetName=ConfigurationSetNameOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"ConfigurationSetName")inmake?snsDestination?kinesisFirehoseDestination?cloudWatchLogsDestination?matchingEventTypes?enabled~eventDestinationName~configurationSetName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letsnsDestination=field_mapjson__"SnsDestination"SnsDestination.of_jsoninletkinesisFirehoseDestination=field_mapjson__"KinesisFirehoseDestination"KinesisFirehoseDestination.of_jsoninletcloudWatchLogsDestination=field_mapjson__"CloudWatchLogsDestination"CloudWatchLogsDestination.of_jsoninletmatchingEventTypes=field_mapjson__"MatchingEventTypes"EventTypeList.of_jsoninletenabled=field_mapjson__"Enabled"Boolean.of_jsoninleteventDestinationName=field_map_exnjson__"EventDestinationName"EventDestinationName.of_jsoninletconfigurationSetName=field_map_exnjson__"ConfigurationSetName"ConfigurationSetNameOrArn.of_jsoninmake?snsDestination?kinesisFirehoseDestination?cloudWatchLogsDestination?matchingEventTypes?enabled~eventDestinationName~configurationSetName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates an existing event destination in a configuration set. You can update the IAM role ARN for CloudWatch Logs and Firehose. You can also enable or disable the event destination. You may want to update an event destination to change its matching event types or updating the destination resource ARN. You can't change an event destination's type between CloudWatch Logs, Firehose, and Amazon SNS."]moduleUntagResourceResult=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"Removes the association of the specified tags from a resource. For more information on tags see Tags in the End User Messaging SMS User Guide."]moduleUntagResourceRequest=structtypenonrect={resourceArn:AmazonResourceName.t[@ocaml.doc"The Amazon Resource Name (ARN) of the resource."];tagKeys:TagKeyList.t[@ocaml.doc"An array of tag key values to unassociate with the resource."]}letcontext_="UntagResourceRequest"letmake~resourceArn=fun~tagKeys->fun()->{resourceArn;tagKeys}letto_valuex=structure_to_value[("ResourceArn",(Some(AmazonResourceName.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=AmazonResourceName.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"AmazonResourceName.of_jsoninmake~tagKeys~resourceArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Removes the association of the specified tags from a resource. For more information on tags see Tags in the End User Messaging SMS User Guide."]moduleTagResourceResult=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.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)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Adds or overwrites only the specified tags for the specified resource. When you specify an existing tag key, the value is overwritten with the new value. Each tag consists of a key and an optional value. Tag keys must be unique per resource. For more information about tags, see Tags in the End User Messaging SMS User Guide."]moduleTagResourceRequest=structtypenonrect={resourceArn:AmazonResourceName.t[@ocaml.doc"The Amazon Resource Name (ARN) of the resource."];tags:NonEmptyTagList.t[@ocaml.doc"An array of key and value pair tags that are associated with the resource."]}letcontext_="TagResourceRequest"letmake~resourceArn=fun~tags->fun()->{resourceArn;tags}letto_valuex=structure_to_value[("ResourceArn",(Some(AmazonResourceName.to_valuex.resourceArn)));("Tags",(Some(NonEmptyTagList.to_valuex.tags)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettags=NonEmptyTagList.of_xml(Xml.child_exn~context:context_xml_arg0"Tags")inletresourceArn=AmazonResourceName.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"NonEmptyTagList.of_jsoninletresourceArn=field_map_exnjson__"ResourceArn"AmazonResourceName.of_jsoninmake~tags~resourceArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Adds or overwrites only the specified tags for the specified resource. When you specify an existing tag key, the value is overwritten with the new value. Each tag consists of a key and an optional value. Tag keys must be unique per resource. For more information about tags, see Tags in the End User Messaging SMS User Guide."]moduleSubmitRegistrationVersionResult=structtypenonrect={registrationArn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) for the registration."];registrationId:String_.toption[@ocaml.doc"The unique identifier for the registration."];versionNumber:RegistrationVersionNumber.toption[@ocaml.doc"The version number of the registration."];registrationVersionStatus:RegistrationVersionStatus.toption[@ocaml.doc"The status of the registration version. APPROVED: Your registration has been approved. ARCHIVED: Your previously approved registration version moves into this status when a more recently submitted version is approved. DENIED: You must fix your registration and resubmit it. DISCARDED: You've abandon this version of their registration to start over with a new version. DRAFT: The initial status of a registration version after it\226\128\153s created. REQUIRES_AUTHENTICATION: You need to complete email authentication. REVIEWING: Your registration has been accepted and is being reviewed. REVOKED: Your previously approved registration has been revoked. SUBMITTED: Your registration has been submitted."];registrationVersionStatusHistory:RegistrationVersionStatusHistory.toption[@ocaml.doc"The RegistrationVersionStatusHistory object contains the time stamps for when the reservations status changes."];awsReview:PrimitiveBoolean.toption[@ocaml.doc"Indicates whether AWS review was requested for this registration submission."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?registrationArn=fun?registrationId->fun?versionNumber->fun?registrationVersionStatus->fun?registrationVersionStatusHistory->fun?awsReview->fun()->{registrationArn;registrationId;versionNumber;registrationVersionStatus;registrationVersionStatusHistory;awsReview}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[("RegistrationArn",(Option.mapx.registrationArn~f:String_.to_value));("RegistrationId",(Option.mapx.registrationId~f:String_.to_value));("VersionNumber",(Option.mapx.versionNumber~f:RegistrationVersionNumber.to_value));("RegistrationVersionStatus",(Option.mapx.registrationVersionStatus~f:RegistrationVersionStatus.to_value));("RegistrationVersionStatusHistory",(Option.mapx.registrationVersionStatusHistory~f:RegistrationVersionStatusHistory.to_value));("AwsReview",(Option.mapx.awsReview~f:PrimitiveBoolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letawsReview=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"AwsReview")inletregistrationVersionStatusHistory=(Option.map~f:RegistrationVersionStatusHistory.of_xml)(Xml.childxml_arg0"RegistrationVersionStatusHistory")inletregistrationVersionStatus=(Option.map~f:RegistrationVersionStatus.of_xml)(Xml.childxml_arg0"RegistrationVersionStatus")inletversionNumber=(Option.map~f:RegistrationVersionNumber.of_xml)(Xml.childxml_arg0"VersionNumber")inletregistrationId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RegistrationId")inletregistrationArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RegistrationArn")inmake?awsReview?registrationVersionStatusHistory?registrationVersionStatus?versionNumber?registrationId?registrationArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letawsReview=field_mapjson__"AwsReview"PrimitiveBoolean.of_jsoninletregistrationVersionStatusHistory=field_mapjson__"RegistrationVersionStatusHistory"RegistrationVersionStatusHistory.of_jsoninletregistrationVersionStatus=field_mapjson__"RegistrationVersionStatus"RegistrationVersionStatus.of_jsoninletversionNumber=field_mapjson__"VersionNumber"RegistrationVersionNumber.of_jsoninletregistrationId=field_mapjson__"RegistrationId"String_.of_jsoninletregistrationArn=field_mapjson__"RegistrationArn"String_.of_jsoninmake?awsReview?registrationVersionStatusHistory?registrationVersionStatus?versionNumber?registrationId?registrationArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Submit the specified registration for review and approval."]moduleSubmitRegistrationVersionRequest=structtypenonrect={registrationId:RegistrationIdOrArn.t[@ocaml.doc"The unique identifier for the registration."];awsReview:PrimitiveBoolean.toption[@ocaml.doc"Set to true to request AWS review of the registration. When enabled, AWS will perform additional validation and review of the registration submission before processing."]}letcontext_="SubmitRegistrationVersionRequest"letmake?awsReview=fun~registrationId->fun()->{awsReview;registrationId}letto_valuex=structure_to_value[("RegistrationId",(Some(RegistrationIdOrArn.to_valuex.registrationId)));("AwsReview",(Option.mapx.awsReview~f:PrimitiveBoolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letawsReview=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"AwsReview")inletregistrationId=RegistrationIdOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"RegistrationId")inmake?awsReview~registrationId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letawsReview=field_mapjson__"AwsReview"PrimitiveBoolean.of_jsoninletregistrationId=field_map_exnjson__"RegistrationId"RegistrationIdOrArn.of_jsoninmake?awsReview~registrationId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Submit the specified registration for review and approval."]moduleSetVoiceMessageSpendLimitOverrideResult=structtypenonrect={monthlyLimit:MonthlyLimit.toption[@ocaml.doc"The current monthly limit to enforce on sending voice messages."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?monthlyLimit=fun()->{monthlyLimit}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[("MonthlyLimit",(Option.mapx.monthlyLimit~f:MonthlyLimit.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmonthlyLimit=(Option.map~f:MonthlyLimit.of_xml)(Xml.childxml_arg0"MonthlyLimit")inmake?monthlyLimit()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmonthlyLimit=field_mapjson__"MonthlyLimit"MonthlyLimit.of_jsoninmake?monthlyLimit()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Sets an account level monthly spend limit override for sending voice messages. The requested spend limit must be less than or equal to the MaxLimit, which is set by Amazon Web Services."]moduleSetVoiceMessageSpendLimitOverrideRequest=structtypenonrect={monthlyLimit:MonthlyLimit.t[@ocaml.doc"The new monthly limit to enforce on voice messages."]}letcontext_="SetVoiceMessageSpendLimitOverrideRequest"letmake~monthlyLimit=fun()->{monthlyLimit}letto_valuex=structure_to_value[("MonthlyLimit",(Some(MonthlyLimit.to_valuex.monthlyLimit)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmonthlyLimit=MonthlyLimit.of_xml(Xml.child_exn~context:context_xml_arg0"MonthlyLimit")inmake~monthlyLimit()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmonthlyLimit=field_map_exnjson__"MonthlyLimit"MonthlyLimit.of_jsoninmake~monthlyLimit()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Sets an account level monthly spend limit override for sending voice messages. The requested spend limit must be less than or equal to the MaxLimit, which is set by Amazon Web Services."]moduleSetTextMessageSpendLimitOverrideResult=structtypenonrect={monthlyLimit:MonthlyLimit.toption[@ocaml.doc"The current monthly limit to enforce on sending text messages."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?monthlyLimit=fun()->{monthlyLimit}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[("MonthlyLimit",(Option.mapx.monthlyLimit~f:MonthlyLimit.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmonthlyLimit=(Option.map~f:MonthlyLimit.of_xml)(Xml.childxml_arg0"MonthlyLimit")inmake?monthlyLimit()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmonthlyLimit=field_mapjson__"MonthlyLimit"MonthlyLimit.of_jsoninmake?monthlyLimit()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Sets an account level monthly spend limit override for sending text messages. The requested spend limit must be less than or equal to the MaxLimit, which is set by Amazon Web Services."]moduleSetTextMessageSpendLimitOverrideRequest=structtypenonrect={monthlyLimit:MonthlyLimit.t[@ocaml.doc"The new monthly limit to enforce on text messages."]}letcontext_="SetTextMessageSpendLimitOverrideRequest"letmake~monthlyLimit=fun()->{monthlyLimit}letto_valuex=structure_to_value[("MonthlyLimit",(Some(MonthlyLimit.to_valuex.monthlyLimit)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmonthlyLimit=MonthlyLimit.of_xml(Xml.child_exn~context:context_xml_arg0"MonthlyLimit")inmake~monthlyLimit()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmonthlyLimit=field_map_exnjson__"MonthlyLimit"MonthlyLimit.of_jsoninmake~monthlyLimit()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Sets an account level monthly spend limit override for sending text messages. The requested spend limit must be less than or equal to the MaxLimit, which is set by Amazon Web Services."]moduleSetNotifyMessageSpendLimitOverrideResult=structtypenonrect={monthlyLimit:MonthlyLimit.toption[@ocaml.doc"The current monthly limit, in US dollars."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?monthlyLimit=fun()->{monthlyLimit}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[("MonthlyLimit",(Option.mapx.monthlyLimit~f:MonthlyLimit.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmonthlyLimit=(Option.map~f:MonthlyLimit.of_xml)(Xml.childxml_arg0"MonthlyLimit")inmake?monthlyLimit()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmonthlyLimit=field_mapjson__"MonthlyLimit"MonthlyLimit.of_jsoninmake?monthlyLimit()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Sets an account level monthly spend limit override for sending notify messages. The requested spend limit must be less than or equal to the MaxLimit, which is set by Amazon Web Services."]moduleSetNotifyMessageSpendLimitOverrideRequest=structtypenonrect={monthlyLimit:MonthlyLimit.t[@ocaml.doc"The new monthly limit to enforce on notify messages."]}letcontext_="SetNotifyMessageSpendLimitOverrideRequest"letmake~monthlyLimit=fun()->{monthlyLimit}letto_valuex=structure_to_value[("MonthlyLimit",(Some(MonthlyLimit.to_valuex.monthlyLimit)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmonthlyLimit=MonthlyLimit.of_xml(Xml.child_exn~context:context_xml_arg0"MonthlyLimit")inmake~monthlyLimit()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmonthlyLimit=field_map_exnjson__"MonthlyLimit"MonthlyLimit.of_jsoninmake~monthlyLimit()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Sets an account level monthly spend limit override for sending notify messages. The requested spend limit must be less than or equal to the MaxLimit, which is set by Amazon Web Services."]moduleSetMediaMessageSpendLimitOverrideResult=structtypenonrect={monthlyLimit:MonthlyLimit.toption[@ocaml.doc"The current monthly limit to enforce on sending text messages."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?monthlyLimit=fun()->{monthlyLimit}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[("MonthlyLimit",(Option.mapx.monthlyLimit~f:MonthlyLimit.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmonthlyLimit=(Option.map~f:MonthlyLimit.of_xml)(Xml.childxml_arg0"MonthlyLimit")inmake?monthlyLimit()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmonthlyLimit=field_mapjson__"MonthlyLimit"MonthlyLimit.of_jsoninmake?monthlyLimit()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Sets an account level monthly spend limit override for sending MMS messages. The requested spend limit must be less than or equal to the MaxLimit, which is set by Amazon Web Services."]moduleSetMediaMessageSpendLimitOverrideRequest=structtypenonrect={monthlyLimit:MonthlyLimit.t[@ocaml.doc"The new monthly limit to enforce on text messages."]}letcontext_="SetMediaMessageSpendLimitOverrideRequest"letmake~monthlyLimit=fun()->{monthlyLimit}letto_valuex=structure_to_value[("MonthlyLimit",(Some(MonthlyLimit.to_valuex.monthlyLimit)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmonthlyLimit=MonthlyLimit.of_xml(Xml.child_exn~context:context_xml_arg0"MonthlyLimit")inmake~monthlyLimit()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmonthlyLimit=field_map_exnjson__"MonthlyLimit"MonthlyLimit.of_jsoninmake~monthlyLimit()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Sets an account level monthly spend limit override for sending MMS messages. The requested spend limit must be less than or equal to the MaxLimit, which is set by Amazon Web Services."]moduleSetDefaultSenderIdResult=structtypenonrect={configurationSetArn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the updated configuration set."];configurationSetName:ConfigurationSetName.toption[@ocaml.doc"The name of the configuration set that was updated."];senderId:SenderId.toption[@ocaml.doc"The default sender ID to set for the ConfigurationSet."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?configurationSetArn=fun?configurationSetName->fun?senderId->fun()->{configurationSetArn;configurationSetName;senderId}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[("ConfigurationSetArn",(Option.mapx.configurationSetArn~f:String_.to_value));("ConfigurationSetName",(Option.mapx.configurationSetName~f:ConfigurationSetName.to_value));("SenderId",(Option.mapx.senderId~f:SenderId.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letsenderId=(Option.map~f:SenderId.of_xml)(Xml.childxml_arg0"SenderId")inletconfigurationSetName=(Option.map~f:ConfigurationSetName.of_xml)(Xml.childxml_arg0"ConfigurationSetName")inletconfigurationSetArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"ConfigurationSetArn")inmake?senderId?configurationSetName?configurationSetArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letsenderId=field_mapjson__"SenderId"SenderId.of_jsoninletconfigurationSetName=field_mapjson__"ConfigurationSetName"ConfigurationSetName.of_jsoninletconfigurationSetArn=field_mapjson__"ConfigurationSetArn"String_.of_jsoninmake?senderId?configurationSetName?configurationSetArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Sets default sender ID on a configuration set. When sending a text message to a destination country that supports sender IDs, the default sender ID on the configuration set specified will be used if no dedicated origination phone numbers or registered sender IDs are available in your account."]moduleSetDefaultSenderIdRequest=structtypenonrect={configurationSetName:ConfigurationSetNameOrArn.t[@ocaml.doc"The configuration set to updated with a new default SenderId. This field can be the ConsigurationSetName or ConfigurationSetArn."];senderId:SenderId.t[@ocaml.doc"The current sender ID for the configuration set. When sending a text message to a destination country which supports SenderIds, the default sender ID on the configuration set specified on SendTextMessage will be used if no dedicated origination phone numbers or registered SenderIds are available in your account, instead of a generic sender ID, such as 'NOTICE'."]}letcontext_="SetDefaultSenderIdRequest"letmake~configurationSetName=fun~senderId->fun()->{configurationSetName;senderId}letto_valuex=structure_to_value[("ConfigurationSetName",(Some(ConfigurationSetNameOrArn.to_valuex.configurationSetName)));("SenderId",(Some(SenderId.to_valuex.senderId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letsenderId=SenderId.of_xml(Xml.child_exn~context:context_xml_arg0"SenderId")inletconfigurationSetName=ConfigurationSetNameOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"ConfigurationSetName")inmake~senderId~configurationSetName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letsenderId=field_map_exnjson__"SenderId"SenderId.of_jsoninletconfigurationSetName=field_map_exnjson__"ConfigurationSetName"ConfigurationSetNameOrArn.of_jsoninmake~senderId~configurationSetName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Sets default sender ID on a configuration set. When sending a text message to a destination country that supports sender IDs, the default sender ID on the configuration set specified will be used if no dedicated origination phone numbers or registered sender IDs are available in your account."]moduleSetDefaultMessageTypeResult=structtypenonrect={configurationSetArn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the updated configuration set."];configurationSetName:ConfigurationSetName.toption[@ocaml.doc"The name of the configuration set that was updated."];messageType:MessageType.toption[@ocaml.doc"The new default message type of the configuration set."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?configurationSetArn=fun?configurationSetName->fun?messageType->fun()->{configurationSetArn;configurationSetName;messageType}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[("ConfigurationSetArn",(Option.mapx.configurationSetArn~f:String_.to_value));("ConfigurationSetName",(Option.mapx.configurationSetName~f:ConfigurationSetName.to_value));("MessageType",(Option.mapx.messageType~f:MessageType.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessageType=(Option.map~f:MessageType.of_xml)(Xml.childxml_arg0"MessageType")inletconfigurationSetName=(Option.map~f:ConfigurationSetName.of_xml)(Xml.childxml_arg0"ConfigurationSetName")inletconfigurationSetArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"ConfigurationSetArn")inmake?messageType?configurationSetName?configurationSetArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessageType=field_mapjson__"MessageType"MessageType.of_jsoninletconfigurationSetName=field_mapjson__"ConfigurationSetName"ConfigurationSetName.of_jsoninletconfigurationSetArn=field_mapjson__"ConfigurationSetArn"String_.of_jsoninmake?messageType?configurationSetName?configurationSetArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Sets the default message type on a configuration set. Choose the category of SMS messages that you plan to send from this account. If you send account-related messages or time-sensitive messages such as one-time passcodes, choose Transactional. If you plan to send messages that contain marketing material or other promotional content, choose Promotional. This setting applies to your entire Amazon Web Services account."]moduleSetDefaultMessageTypeRequest=structtypenonrect={configurationSetName:ConfigurationSetNameOrArn.t[@ocaml.doc"The configuration set to update with a new default message type. This field can be the ConsigurationSetName or ConfigurationSetArn."];messageType:MessageType.t[@ocaml.doc"The type of message. Valid values are TRANSACTIONAL for messages that are critical or time-sensitive and PROMOTIONAL for messages that aren't critical or time-sensitive."]}letcontext_="SetDefaultMessageTypeRequest"letmake~configurationSetName=fun~messageType->fun()->{configurationSetName;messageType}letto_valuex=structure_to_value[("ConfigurationSetName",(Some(ConfigurationSetNameOrArn.to_valuex.configurationSetName)));("MessageType",(Some(MessageType.to_valuex.messageType)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessageType=MessageType.of_xml(Xml.child_exn~context:context_xml_arg0"MessageType")inletconfigurationSetName=ConfigurationSetNameOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"ConfigurationSetName")inmake~messageType~configurationSetName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessageType=field_map_exnjson__"MessageType"MessageType.of_jsoninletconfigurationSetName=field_map_exnjson__"ConfigurationSetName"ConfigurationSetNameOrArn.of_jsoninmake~messageType~configurationSetName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Sets the default message type on a configuration set. Choose the category of SMS messages that you plan to send from this account. If you send account-related messages or time-sensitive messages such as one-time passcodes, choose Transactional. If you plan to send messages that contain marketing material or other promotional content, choose Promotional. This setting applies to your entire Amazon Web Services account."]moduleSetDefaultMessageFeedbackEnabledResult=structtypenonrect={configurationSetArn:String_.toption[@ocaml.doc"The arn of the configuration set."];configurationSetName:ConfigurationSetName.toption[@ocaml.doc"The name of the configuration."];messageFeedbackEnabled:Boolean.toption[@ocaml.doc"True if message feedback is enabled."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?configurationSetArn=fun?configurationSetName->fun?messageFeedbackEnabled->fun()->{configurationSetArn;configurationSetName;messageFeedbackEnabled}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[("ConfigurationSetArn",(Option.mapx.configurationSetArn~f:String_.to_value));("ConfigurationSetName",(Option.mapx.configurationSetName~f:ConfigurationSetName.to_value));("MessageFeedbackEnabled",(Option.mapx.messageFeedbackEnabled~f:Boolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessageFeedbackEnabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"MessageFeedbackEnabled")inletconfigurationSetName=(Option.map~f:ConfigurationSetName.of_xml)(Xml.childxml_arg0"ConfigurationSetName")inletconfigurationSetArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"ConfigurationSetArn")inmake?messageFeedbackEnabled?configurationSetName?configurationSetArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessageFeedbackEnabled=field_mapjson__"MessageFeedbackEnabled"Boolean.of_jsoninletconfigurationSetName=field_mapjson__"ConfigurationSetName"ConfigurationSetName.of_jsoninletconfigurationSetArn=field_mapjson__"ConfigurationSetArn"String_.of_jsoninmake?messageFeedbackEnabled?configurationSetName?configurationSetArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Sets a configuration set's default for message feedback."]moduleSetDefaultMessageFeedbackEnabledRequest=structtypenonrect={configurationSetName:ConfigurationSetNameOrArn.t[@ocaml.doc"The name of the configuration set to use. This can be either the ConfigurationSetName or ConfigurationSetArn."];messageFeedbackEnabled:Boolean.t[@ocaml.doc"Set to true to enable message feedback."]}letcontext_="SetDefaultMessageFeedbackEnabledRequest"letmake~configurationSetName=fun~messageFeedbackEnabled->fun()->{configurationSetName;messageFeedbackEnabled}letto_valuex=structure_to_value[("ConfigurationSetName",(Some(ConfigurationSetNameOrArn.to_valuex.configurationSetName)));("MessageFeedbackEnabled",(Some(Boolean.to_valuex.messageFeedbackEnabled)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessageFeedbackEnabled=Boolean.of_xml(Xml.child_exn~context:context_xml_arg0"MessageFeedbackEnabled")inletconfigurationSetName=ConfigurationSetNameOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"ConfigurationSetName")inmake~messageFeedbackEnabled~configurationSetName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessageFeedbackEnabled=field_map_exnjson__"MessageFeedbackEnabled"Boolean.of_jsoninletconfigurationSetName=field_map_exnjson__"ConfigurationSetName"ConfigurationSetNameOrArn.of_jsoninmake~messageFeedbackEnabled~configurationSetName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Sets a configuration set's default for message feedback."]moduleSetAccountDefaultProtectConfigurationResult=structtypenonrect={defaultProtectConfigurationArn:ProtectConfigurationArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the account default protect configuration."];defaultProtectConfigurationId:ProtectConfigurationId.toption[@ocaml.doc"The unique identifier of the account default protect configuration."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?defaultProtectConfigurationArn=fun?defaultProtectConfigurationId->fun()->{defaultProtectConfigurationArn;defaultProtectConfigurationId}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[("DefaultProtectConfigurationArn",(Option.mapx.defaultProtectConfigurationArn~f:ProtectConfigurationArn.to_value));("DefaultProtectConfigurationId",(Option.mapx.defaultProtectConfigurationId~f:ProtectConfigurationId.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdefaultProtectConfigurationId=(Option.map~f:ProtectConfigurationId.of_xml)(Xml.childxml_arg0"DefaultProtectConfigurationId")inletdefaultProtectConfigurationArn=(Option.map~f:ProtectConfigurationArn.of_xml)(Xml.childxml_arg0"DefaultProtectConfigurationArn")inmake?defaultProtectConfigurationId?defaultProtectConfigurationArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdefaultProtectConfigurationId=field_mapjson__"DefaultProtectConfigurationId"ProtectConfigurationId.of_jsoninletdefaultProtectConfigurationArn=field_mapjson__"DefaultProtectConfigurationArn"ProtectConfigurationArn.of_jsoninmake?defaultProtectConfigurationId?defaultProtectConfigurationArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Set a protect configuration as your account default. You can only have one account default protect configuration at a time. The current account default protect configuration is replaced with the provided protect configuration."]moduleSetAccountDefaultProtectConfigurationRequest=structtypenonrect={protectConfigurationId:ProtectConfigurationIdOrArn.t[@ocaml.doc"The unique identifier for the protect configuration."]}letcontext_="SetAccountDefaultProtectConfigurationRequest"letmake~protectConfigurationId=fun()->{protectConfigurationId}letto_valuex=structure_to_value[("ProtectConfigurationId",(Some(ProtectConfigurationIdOrArn.to_valuex.protectConfigurationId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letprotectConfigurationId=ProtectConfigurationIdOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"ProtectConfigurationId")inmake~protectConfigurationId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letprotectConfigurationId=field_map_exnjson__"ProtectConfigurationId"ProtectConfigurationIdOrArn.of_jsoninmake~protectConfigurationId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Set a protect configuration as your account default. You can only have one account default protect configuration at a time. The current account default protect configuration is replaced with the provided protect configuration."]moduleSendVoiceMessageResult=structtypenonrect={messageId:String_.toption[@ocaml.doc"The unique identifier for the message."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?messageId=fun()->{messageId}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"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)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`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[("MessageId",(Option.mapx.messageId~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessageId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"MessageId")inmake?messageId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessageId=field_mapjson__"MessageId"String_.of_jsoninmake?messageId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Allows you to send a request that sends a voice message. This operation uses Amazon Polly to convert a text script into a voice message."]moduleSendVoiceMessageRequest=structtypenonrect={destinationPhoneNumber:PhoneNumber.t[@ocaml.doc"The destination phone number in E.164 format."];originationIdentity:VoiceMessageOriginationIdentity.t[@ocaml.doc"The origination identity to use for the voice call. This can be the PhoneNumber, PhoneNumberId, PhoneNumberArn, PoolId, or PoolArn. If you are using a shared End User Messaging SMS resource then you must use the full Amazon Resource Name(ARN)."];messageBody:VoiceMessageBody.toption[@ocaml.doc"The text to convert to a voice message."];messageBodyTextType:VoiceMessageBodyTextType.toption[@ocaml.doc"Specifies if the MessageBody field contains text or speech synthesis markup language (SSML). TEXT: This is the default value. When used the maximum character limit is 3000. SSML: When used the maximum character limit is 6000 including SSML tagging."];voiceId:VoiceId.toption[@ocaml.doc"The voice for the Amazon Polly service to use. By default this is set to \"MATTHEW\"."];configurationSetName:ConfigurationSetNameOrArn.toption[@ocaml.doc"The name of the configuration set to use. This can be either the ConfigurationSetName or ConfigurationSetArn."];maxPricePerMinute:MaxPrice.toption[@ocaml.doc"The maximum amount to spend per voice message, in US dollars."];timeToLive:TimeToLive.toption[@ocaml.doc"How long the voice message is valid for. By default this is 72 hours."];context:ContextMap.toption[@ocaml.doc"You can specify custom data in this field. If you do, that data is logged to the event destination."];dryRun:PrimitiveBoolean.toption[@ocaml.doc"When set to true, the message is checked and validated, but isn't sent to the end recipient."];protectConfigurationId:ProtectConfigurationIdOrArn.toption[@ocaml.doc"The unique identifier for the protect configuration."];messageFeedbackEnabled:Boolean.toption[@ocaml.doc"Set to true to enable message feedback for the message. When a user receives the message you need to update the message status using PutMessageFeedback."]}letcontext_="SendVoiceMessageRequest"letmake?messageBody=fun?messageBodyTextType->fun?voiceId->fun?configurationSetName->fun?maxPricePerMinute->fun?timeToLive->fun?context->fun?dryRun->fun?protectConfigurationId->fun?messageFeedbackEnabled->fun~destinationPhoneNumber->fun~originationIdentity->fun()->{messageBody;messageBodyTextType;voiceId;configurationSetName;maxPricePerMinute;timeToLive;context;dryRun;protectConfigurationId;messageFeedbackEnabled;destinationPhoneNumber;originationIdentity}letto_valuex=structure_to_value[("DestinationPhoneNumber",(Some(PhoneNumber.to_valuex.destinationPhoneNumber)));("OriginationIdentity",(Some(VoiceMessageOriginationIdentity.to_valuex.originationIdentity)));("MessageBody",(Option.mapx.messageBody~f:VoiceMessageBody.to_value));("MessageBodyTextType",(Option.mapx.messageBodyTextType~f:VoiceMessageBodyTextType.to_value));("VoiceId",(Option.mapx.voiceId~f:VoiceId.to_value));("ConfigurationSetName",(Option.mapx.configurationSetName~f:ConfigurationSetNameOrArn.to_value));("MaxPricePerMinute",(Option.mapx.maxPricePerMinute~f:MaxPrice.to_value));("TimeToLive",(Option.mapx.timeToLive~f:TimeToLive.to_value));("Context",(Option.mapx.context~f:ContextMap.to_value));("DryRun",(Option.mapx.dryRun~f:PrimitiveBoolean.to_value));("ProtectConfigurationId",(Option.mapx.protectConfigurationId~f:ProtectConfigurationIdOrArn.to_value));("MessageFeedbackEnabled",(Option.mapx.messageFeedbackEnabled~f:Boolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessageFeedbackEnabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"MessageFeedbackEnabled")inletprotectConfigurationId=(Option.map~f:ProtectConfigurationIdOrArn.of_xml)(Xml.childxml_arg0"ProtectConfigurationId")inletdryRun=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"DryRun")inletcontext=(Option.map~f:ContextMap.of_xml)(Xml.childxml_arg0"Context")inlettimeToLive=(Option.map~f:TimeToLive.of_xml)(Xml.childxml_arg0"TimeToLive")inletmaxPricePerMinute=(Option.map~f:MaxPrice.of_xml)(Xml.childxml_arg0"MaxPricePerMinute")inletconfigurationSetName=(Option.map~f:ConfigurationSetNameOrArn.of_xml)(Xml.childxml_arg0"ConfigurationSetName")inletvoiceId=(Option.map~f:VoiceId.of_xml)(Xml.childxml_arg0"VoiceId")inletmessageBodyTextType=(Option.map~f:VoiceMessageBodyTextType.of_xml)(Xml.childxml_arg0"MessageBodyTextType")inletmessageBody=(Option.map~f:VoiceMessageBody.of_xml)(Xml.childxml_arg0"MessageBody")inletoriginationIdentity=VoiceMessageOriginationIdentity.of_xml(Xml.child_exn~context:context_xml_arg0"OriginationIdentity")inletdestinationPhoneNumber=PhoneNumber.of_xml(Xml.child_exn~context:context_xml_arg0"DestinationPhoneNumber")inmake?messageFeedbackEnabled?protectConfigurationId?dryRun?context?timeToLive?maxPricePerMinute?configurationSetName?voiceId?messageBodyTextType?messageBody~originationIdentity~destinationPhoneNumber()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessageFeedbackEnabled=field_mapjson__"MessageFeedbackEnabled"Boolean.of_jsoninletprotectConfigurationId=field_mapjson__"ProtectConfigurationId"ProtectConfigurationIdOrArn.of_jsoninletdryRun=field_mapjson__"DryRun"PrimitiveBoolean.of_jsoninletcontext=field_mapjson__"Context"ContextMap.of_jsoninlettimeToLive=field_mapjson__"TimeToLive"TimeToLive.of_jsoninletmaxPricePerMinute=field_mapjson__"MaxPricePerMinute"MaxPrice.of_jsoninletconfigurationSetName=field_mapjson__"ConfigurationSetName"ConfigurationSetNameOrArn.of_jsoninletvoiceId=field_mapjson__"VoiceId"VoiceId.of_jsoninletmessageBodyTextType=field_mapjson__"MessageBodyTextType"VoiceMessageBodyTextType.of_jsoninletmessageBody=field_mapjson__"MessageBody"VoiceMessageBody.of_jsoninletoriginationIdentity=field_map_exnjson__"OriginationIdentity"VoiceMessageOriginationIdentity.of_jsoninletdestinationPhoneNumber=field_map_exnjson__"DestinationPhoneNumber"PhoneNumber.of_jsoninmake?messageFeedbackEnabled?protectConfigurationId?dryRun?context?timeToLive?maxPricePerMinute?configurationSetName?voiceId?messageBodyTextType?messageBody~originationIdentity~destinationPhoneNumber()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Allows you to send a request that sends a voice message. This operation uses Amazon Polly to convert a text script into a voice message."]moduleSendTextMessageResult=structtypenonrect={messageId:String_.toption[@ocaml.doc"The unique identifier for the message."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?messageId=fun()->{messageId}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"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)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`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[("MessageId",(Option.mapx.messageId~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessageId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"MessageId")inmake?messageId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessageId=field_mapjson__"MessageId"String_.of_jsoninmake?messageId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a new text message and sends it to a recipient's phone number. SendTextMessage only sends an SMS message to one recipient each time it is invoked. SMS throughput limits are measured in Message Parts per Second (MPS). Your MPS limit depends on the destination country of your messages, as well as the type of phone number (origination number) that you use to send the message. For more information about MPS, see Message Parts per Second (MPS) limits in the End User Messaging SMS User Guide."]moduleSendTextMessageRequest=structtypenonrect={destinationPhoneNumber:PhoneNumber.t[@ocaml.doc"The destination phone number in E.164 format."];originationIdentity:TextMessageOriginationIdentity.toption[@ocaml.doc"The origination identity of the message. This can be either the PhoneNumber, PhoneNumberId, PhoneNumberArn, SenderId, SenderIdArn, PoolId, or PoolArn. If you are using a shared End User Messaging SMS resource then you must use the full Amazon Resource Name(ARN)."];messageBody:TextMessageBody.toption[@ocaml.doc"The body of the text message."];messageType:MessageType.toption[@ocaml.doc"The type of message. Valid values are for messages that are critical or time-sensitive and PROMOTIONAL for messages that aren't critical or time-sensitive."];keyword:Keyword.toption[@ocaml.doc"When you register a short code in the US, you must specify a program name. If you don\226\128\153t have a US short code, omit this attribute."];configurationSetName:ConfigurationSetNameOrArn.toption[@ocaml.doc"The name of the configuration set to use. This can be either the ConfigurationSetName or ConfigurationSetArn."];maxPrice:MaxPrice.toption[@ocaml.doc"The maximum amount that you want to spend, in US dollars, per each text message. If the calculated amount to send the text message is greater than MaxPrice, the message is not sent and an error is returned."];timeToLive:TimeToLive.toption[@ocaml.doc"How long the text message is valid for, in seconds. By default this is 72 hours. If the messages isn't handed off before the TTL expires we stop attempting to hand off the message and return TTL_EXPIRED event."];context:ContextMap.toption[@ocaml.doc"You can specify custom data in this field. If you do, that data is logged to the event destination."];destinationCountryParameters:DestinationCountryParameters.toption[@ocaml.doc"This field is used for any country-specific registration requirements. Currently, this setting is only used when you send messages to recipients in India using a sender ID. For more information see Special requirements for sending SMS messages to recipients in India. IN_ENTITY_ID The entity ID or Principal Entity (PE) ID that you received after completing the sender ID registration process. IN_TEMPLATE_ID The template ID that you received after completing the sender ID registration process. Make sure that the Template ID that you specify matches your message template exactly. If your message doesn't match the template that you provided during the registration process, the mobile carriers might reject your message."];dryRun:PrimitiveBoolean.toption[@ocaml.doc"When set to true, the message is checked and validated, but isn't sent to the end recipient. You are not charged for using DryRun. The Message Parts per Second (MPS) limit when using DryRun is five. If your origination identity has a lower MPS limit then the lower MPS limit is used. For more information about MPS limits, see Message Parts per Second (MPS) limits in the End User Messaging SMS User Guide.."];protectConfigurationId:ProtectConfigurationIdOrArn.toption[@ocaml.doc"The unique identifier for the protect configuration."];messageFeedbackEnabled:Boolean.toption[@ocaml.doc"Set to true to enable message feedback for the message. When a user receives the message you need to update the message status using PutMessageFeedback."]}letcontext_="SendTextMessageRequest"letmake?originationIdentity=fun?messageBody->fun?messageType->fun?keyword->fun?configurationSetName->fun?maxPrice->fun?timeToLive->fun?context->fun?destinationCountryParameters->fun?dryRun->fun?protectConfigurationId->fun?messageFeedbackEnabled->fun~destinationPhoneNumber->fun()->{originationIdentity;messageBody;messageType;keyword;configurationSetName;maxPrice;timeToLive;context;destinationCountryParameters;dryRun;protectConfigurationId;messageFeedbackEnabled;destinationPhoneNumber}letto_valuex=structure_to_value[("DestinationPhoneNumber",(Some(PhoneNumber.to_valuex.destinationPhoneNumber)));("OriginationIdentity",(Option.mapx.originationIdentity~f:TextMessageOriginationIdentity.to_value));("MessageBody",(Option.mapx.messageBody~f:TextMessageBody.to_value));("MessageType",(Option.mapx.messageType~f:MessageType.to_value));("Keyword",(Option.mapx.keyword~f:Keyword.to_value));("ConfigurationSetName",(Option.mapx.configurationSetName~f:ConfigurationSetNameOrArn.to_value));("MaxPrice",(Option.mapx.maxPrice~f:MaxPrice.to_value));("TimeToLive",(Option.mapx.timeToLive~f:TimeToLive.to_value));("Context",(Option.mapx.context~f:ContextMap.to_value));("DestinationCountryParameters",(Option.mapx.destinationCountryParameters~f:DestinationCountryParameters.to_value));("DryRun",(Option.mapx.dryRun~f:PrimitiveBoolean.to_value));("ProtectConfigurationId",(Option.mapx.protectConfigurationId~f:ProtectConfigurationIdOrArn.to_value));("MessageFeedbackEnabled",(Option.mapx.messageFeedbackEnabled~f:Boolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessageFeedbackEnabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"MessageFeedbackEnabled")inletprotectConfigurationId=(Option.map~f:ProtectConfigurationIdOrArn.of_xml)(Xml.childxml_arg0"ProtectConfigurationId")inletdryRun=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"DryRun")inletdestinationCountryParameters=(Option.map~f:DestinationCountryParameters.of_xml)(Xml.childxml_arg0"DestinationCountryParameters")inletcontext=(Option.map~f:ContextMap.of_xml)(Xml.childxml_arg0"Context")inlettimeToLive=(Option.map~f:TimeToLive.of_xml)(Xml.childxml_arg0"TimeToLive")inletmaxPrice=(Option.map~f:MaxPrice.of_xml)(Xml.childxml_arg0"MaxPrice")inletconfigurationSetName=(Option.map~f:ConfigurationSetNameOrArn.of_xml)(Xml.childxml_arg0"ConfigurationSetName")inletkeyword=(Option.map~f:Keyword.of_xml)(Xml.childxml_arg0"Keyword")inletmessageType=(Option.map~f:MessageType.of_xml)(Xml.childxml_arg0"MessageType")inletmessageBody=(Option.map~f:TextMessageBody.of_xml)(Xml.childxml_arg0"MessageBody")inletoriginationIdentity=(Option.map~f:TextMessageOriginationIdentity.of_xml)(Xml.childxml_arg0"OriginationIdentity")inletdestinationPhoneNumber=PhoneNumber.of_xml(Xml.child_exn~context:context_xml_arg0"DestinationPhoneNumber")inmake?messageFeedbackEnabled?protectConfigurationId?dryRun?destinationCountryParameters?context?timeToLive?maxPrice?configurationSetName?keyword?messageType?messageBody?originationIdentity~destinationPhoneNumber()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessageFeedbackEnabled=field_mapjson__"MessageFeedbackEnabled"Boolean.of_jsoninletprotectConfigurationId=field_mapjson__"ProtectConfigurationId"ProtectConfigurationIdOrArn.of_jsoninletdryRun=field_mapjson__"DryRun"PrimitiveBoolean.of_jsoninletdestinationCountryParameters=field_mapjson__"DestinationCountryParameters"DestinationCountryParameters.of_jsoninletcontext=field_mapjson__"Context"ContextMap.of_jsoninlettimeToLive=field_mapjson__"TimeToLive"TimeToLive.of_jsoninletmaxPrice=field_mapjson__"MaxPrice"MaxPrice.of_jsoninletconfigurationSetName=field_mapjson__"ConfigurationSetName"ConfigurationSetNameOrArn.of_jsoninletkeyword=field_mapjson__"Keyword"Keyword.of_jsoninletmessageType=field_mapjson__"MessageType"MessageType.of_jsoninletmessageBody=field_mapjson__"MessageBody"TextMessageBody.of_jsoninletoriginationIdentity=field_mapjson__"OriginationIdentity"TextMessageOriginationIdentity.of_jsoninletdestinationPhoneNumber=field_map_exnjson__"DestinationPhoneNumber"PhoneNumber.of_jsoninmake?messageFeedbackEnabled?protectConfigurationId?dryRun?destinationCountryParameters?context?timeToLive?maxPrice?configurationSetName?keyword?messageType?messageBody?originationIdentity~destinationPhoneNumber()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a new text message and sends it to a recipient's phone number. SendTextMessage only sends an SMS message to one recipient each time it is invoked. SMS throughput limits are measured in Message Parts per Second (MPS). Your MPS limit depends on the destination country of your messages, as well as the type of phone number (origination number) that you use to send the message. For more information about MPS, see Message Parts per Second (MPS) limits in the End User Messaging SMS User Guide."]moduleSendNotifyVoiceMessageResult=structtypenonrect={messageId:String_.toption[@ocaml.doc"The unique identifier for the message."];templateId:NotifyTemplateId.toption[@ocaml.doc"The unique identifier of the template used for the message."];resolvedMessageBody:String_.toption[@ocaml.doc"The message body after template variable substitution has been applied."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?messageId=fun?templateId->fun?resolvedMessageBody->fun()->{messageId;templateId;resolvedMessageBody}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"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)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`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[("MessageId",(Option.mapx.messageId~f:String_.to_value));("TemplateId",(Option.mapx.templateId~f:NotifyTemplateId.to_value));("ResolvedMessageBody",(Option.mapx.resolvedMessageBody~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresolvedMessageBody=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"ResolvedMessageBody")inlettemplateId=(Option.map~f:NotifyTemplateId.of_xml)(Xml.childxml_arg0"TemplateId")inletmessageId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"MessageId")inmake?resolvedMessageBody?templateId?messageId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresolvedMessageBody=field_mapjson__"ResolvedMessageBody"String_.of_jsoninlettemplateId=field_mapjson__"TemplateId"NotifyTemplateId.of_jsoninletmessageId=field_mapjson__"MessageId"String_.of_jsoninmake?resolvedMessageBody?templateId?messageId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Sends a templated voice message through a notify configuration to a recipient's phone number."]moduleSendNotifyVoiceMessageRequest=structtypenonrect={notifyConfigurationId:NotifyConfigurationIdOrArn.t[@ocaml.doc"The unique identifier of the notify configuration to use for sending the message. This can be either the NotifyConfigurationId or NotifyConfigurationArn."];destinationPhoneNumber:PhoneNumber.t[@ocaml.doc"The destination phone number in E.164 format."];templateId:NotifyTemplateId.toption[@ocaml.doc"The unique identifier of the template to use for the message."];templateVariables:TemplateVariableSubstitutionMap.t[@ocaml.doc"A map of template variable names and their values. All variable values are passed as strings regardless of the declared variable type. For example, pass INTEGER values as \"42\" and BOOLEAN values as \"true\" or \"false\"."];voiceId:VoiceId.toption[@ocaml.doc"The voice ID to use for the voice message."];timeToLive:TimeToLive.toption[@ocaml.doc"How long the voice message is valid for, in seconds. By default this is 72 hours."];context:ContextMap.toption[@ocaml.doc"You can specify custom data in this field. If you do, that data is logged to the event destination."];configurationSetName:ConfigurationSetNameOrArn.toption[@ocaml.doc"The name of the configuration set to use. This can be either the ConfigurationSetName or ConfigurationSetArn."];dryRun:PrimitiveBoolean.toption[@ocaml.doc"When set to true, the message is checked and validated, but isn't sent to the end recipient."];messageFeedbackEnabled:Boolean.toption[@ocaml.doc"Set to true to enable message feedback for the message. When a user receives the message you need to update the message status using PutMessageFeedback."]}letcontext_="SendNotifyVoiceMessageRequest"letmake?templateId=fun?voiceId->fun?timeToLive->fun?context->fun?configurationSetName->fun?dryRun->fun?messageFeedbackEnabled->fun~notifyConfigurationId->fun~destinationPhoneNumber->fun~templateVariables->fun()->{templateId;voiceId;timeToLive;context;configurationSetName;dryRun;messageFeedbackEnabled;notifyConfigurationId;destinationPhoneNumber;templateVariables}letto_valuex=structure_to_value[("NotifyConfigurationId",(Some(NotifyConfigurationIdOrArn.to_valuex.notifyConfigurationId)));("DestinationPhoneNumber",(Some(PhoneNumber.to_valuex.destinationPhoneNumber)));("TemplateId",(Option.mapx.templateId~f:NotifyTemplateId.to_value));("TemplateVariables",(Some(TemplateVariableSubstitutionMap.to_valuex.templateVariables)));("VoiceId",(Option.mapx.voiceId~f:VoiceId.to_value));("TimeToLive",(Option.mapx.timeToLive~f:TimeToLive.to_value));("Context",(Option.mapx.context~f:ContextMap.to_value));("ConfigurationSetName",(Option.mapx.configurationSetName~f:ConfigurationSetNameOrArn.to_value));("DryRun",(Option.mapx.dryRun~f:PrimitiveBoolean.to_value));("MessageFeedbackEnabled",(Option.mapx.messageFeedbackEnabled~f:Boolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessageFeedbackEnabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"MessageFeedbackEnabled")inletdryRun=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"DryRun")inletconfigurationSetName=(Option.map~f:ConfigurationSetNameOrArn.of_xml)(Xml.childxml_arg0"ConfigurationSetName")inletcontext=(Option.map~f:ContextMap.of_xml)(Xml.childxml_arg0"Context")inlettimeToLive=(Option.map~f:TimeToLive.of_xml)(Xml.childxml_arg0"TimeToLive")inletvoiceId=(Option.map~f:VoiceId.of_xml)(Xml.childxml_arg0"VoiceId")inlettemplateVariables=TemplateVariableSubstitutionMap.of_xml(Xml.child_exn~context:context_xml_arg0"TemplateVariables")inlettemplateId=(Option.map~f:NotifyTemplateId.of_xml)(Xml.childxml_arg0"TemplateId")inletdestinationPhoneNumber=PhoneNumber.of_xml(Xml.child_exn~context:context_xml_arg0"DestinationPhoneNumber")inletnotifyConfigurationId=NotifyConfigurationIdOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"NotifyConfigurationId")inmake?messageFeedbackEnabled?dryRun?configurationSetName?context?timeToLive?voiceId~templateVariables?templateId~destinationPhoneNumber~notifyConfigurationId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessageFeedbackEnabled=field_mapjson__"MessageFeedbackEnabled"Boolean.of_jsoninletdryRun=field_mapjson__"DryRun"PrimitiveBoolean.of_jsoninletconfigurationSetName=field_mapjson__"ConfigurationSetName"ConfigurationSetNameOrArn.of_jsoninletcontext=field_mapjson__"Context"ContextMap.of_jsoninlettimeToLive=field_mapjson__"TimeToLive"TimeToLive.of_jsoninletvoiceId=field_mapjson__"VoiceId"VoiceId.of_jsoninlettemplateVariables=field_map_exnjson__"TemplateVariables"TemplateVariableSubstitutionMap.of_jsoninlettemplateId=field_mapjson__"TemplateId"NotifyTemplateId.of_jsoninletdestinationPhoneNumber=field_map_exnjson__"DestinationPhoneNumber"PhoneNumber.of_jsoninletnotifyConfigurationId=field_map_exnjson__"NotifyConfigurationId"NotifyConfigurationIdOrArn.of_jsoninmake?messageFeedbackEnabled?dryRun?configurationSetName?context?timeToLive?voiceId~templateVariables?templateId~destinationPhoneNumber~notifyConfigurationId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Sends a templated voice message through a notify configuration to a recipient's phone number."]moduleSendNotifyTextMessageResult=structtypenonrect={messageId:String_.toption[@ocaml.doc"The unique identifier for the message."];templateId:NotifyTemplateId.toption[@ocaml.doc"The unique identifier of the template used for the message."];resolvedMessageBody:String_.toption[@ocaml.doc"The message body after template variable substitution has been applied."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?messageId=fun?templateId->fun?resolvedMessageBody->fun()->{messageId;templateId;resolvedMessageBody}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"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)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`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[("MessageId",(Option.mapx.messageId~f:String_.to_value));("TemplateId",(Option.mapx.templateId~f:NotifyTemplateId.to_value));("ResolvedMessageBody",(Option.mapx.resolvedMessageBody~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresolvedMessageBody=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"ResolvedMessageBody")inlettemplateId=(Option.map~f:NotifyTemplateId.of_xml)(Xml.childxml_arg0"TemplateId")inletmessageId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"MessageId")inmake?resolvedMessageBody?templateId?messageId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresolvedMessageBody=field_mapjson__"ResolvedMessageBody"String_.of_jsoninlettemplateId=field_mapjson__"TemplateId"NotifyTemplateId.of_jsoninletmessageId=field_mapjson__"MessageId"String_.of_jsoninmake?resolvedMessageBody?templateId?messageId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Sends a templated text message through a notify configuration to a recipient's phone number."]moduleSendNotifyTextMessageRequest=structtypenonrect={notifyConfigurationId:NotifyConfigurationIdOrArn.t[@ocaml.doc"The unique identifier of the notify configuration to use for sending the message. This can be either the NotifyConfigurationId or NotifyConfigurationArn."];destinationPhoneNumber:PhoneNumber.t[@ocaml.doc"The destination phone number in E.164 format."];templateId:NotifyTemplateId.toption[@ocaml.doc"The unique identifier of the template to use for the message."];templateVariables:TemplateVariableSubstitutionMap.t[@ocaml.doc"A map of template variable names and their values. All variable values are passed as strings regardless of the declared variable type. For example, pass INTEGER values as \"42\" and BOOLEAN values as \"true\" or \"false\"."];timeToLive:TimeToLive.toption[@ocaml.doc"How long the text message is valid for, in seconds. By default this is 72 hours."];context:ContextMap.toption[@ocaml.doc"You can specify custom data in this field. If you do, that data is logged to the event destination."];configurationSetName:ConfigurationSetNameOrArn.toption[@ocaml.doc"The name of the configuration set to use. This can be either the ConfigurationSetName or ConfigurationSetArn."];dryRun:PrimitiveBoolean.toption[@ocaml.doc"When set to true, the message is checked and validated, but isn't sent to the end recipient."];messageFeedbackEnabled:Boolean.toption[@ocaml.doc"Set to true to enable message feedback for the message. When a user receives the message you need to update the message status using PutMessageFeedback."]}letcontext_="SendNotifyTextMessageRequest"letmake?templateId=fun?timeToLive->fun?context->fun?configurationSetName->fun?dryRun->fun?messageFeedbackEnabled->fun~notifyConfigurationId->fun~destinationPhoneNumber->fun~templateVariables->fun()->{templateId;timeToLive;context;configurationSetName;dryRun;messageFeedbackEnabled;notifyConfigurationId;destinationPhoneNumber;templateVariables}letto_valuex=structure_to_value[("NotifyConfigurationId",(Some(NotifyConfigurationIdOrArn.to_valuex.notifyConfigurationId)));("DestinationPhoneNumber",(Some(PhoneNumber.to_valuex.destinationPhoneNumber)));("TemplateId",(Option.mapx.templateId~f:NotifyTemplateId.to_value));("TemplateVariables",(Some(TemplateVariableSubstitutionMap.to_valuex.templateVariables)));("TimeToLive",(Option.mapx.timeToLive~f:TimeToLive.to_value));("Context",(Option.mapx.context~f:ContextMap.to_value));("ConfigurationSetName",(Option.mapx.configurationSetName~f:ConfigurationSetNameOrArn.to_value));("DryRun",(Option.mapx.dryRun~f:PrimitiveBoolean.to_value));("MessageFeedbackEnabled",(Option.mapx.messageFeedbackEnabled~f:Boolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessageFeedbackEnabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"MessageFeedbackEnabled")inletdryRun=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"DryRun")inletconfigurationSetName=(Option.map~f:ConfigurationSetNameOrArn.of_xml)(Xml.childxml_arg0"ConfigurationSetName")inletcontext=(Option.map~f:ContextMap.of_xml)(Xml.childxml_arg0"Context")inlettimeToLive=(Option.map~f:TimeToLive.of_xml)(Xml.childxml_arg0"TimeToLive")inlettemplateVariables=TemplateVariableSubstitutionMap.of_xml(Xml.child_exn~context:context_xml_arg0"TemplateVariables")inlettemplateId=(Option.map~f:NotifyTemplateId.of_xml)(Xml.childxml_arg0"TemplateId")inletdestinationPhoneNumber=PhoneNumber.of_xml(Xml.child_exn~context:context_xml_arg0"DestinationPhoneNumber")inletnotifyConfigurationId=NotifyConfigurationIdOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"NotifyConfigurationId")inmake?messageFeedbackEnabled?dryRun?configurationSetName?context?timeToLive~templateVariables?templateId~destinationPhoneNumber~notifyConfigurationId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessageFeedbackEnabled=field_mapjson__"MessageFeedbackEnabled"Boolean.of_jsoninletdryRun=field_mapjson__"DryRun"PrimitiveBoolean.of_jsoninletconfigurationSetName=field_mapjson__"ConfigurationSetName"ConfigurationSetNameOrArn.of_jsoninletcontext=field_mapjson__"Context"ContextMap.of_jsoninlettimeToLive=field_mapjson__"TimeToLive"TimeToLive.of_jsoninlettemplateVariables=field_map_exnjson__"TemplateVariables"TemplateVariableSubstitutionMap.of_jsoninlettemplateId=field_mapjson__"TemplateId"NotifyTemplateId.of_jsoninletdestinationPhoneNumber=field_map_exnjson__"DestinationPhoneNumber"PhoneNumber.of_jsoninletnotifyConfigurationId=field_map_exnjson__"NotifyConfigurationId"NotifyConfigurationIdOrArn.of_jsoninmake?messageFeedbackEnabled?dryRun?configurationSetName?context?timeToLive~templateVariables?templateId~destinationPhoneNumber~notifyConfigurationId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Sends a templated text message through a notify configuration to a recipient's phone number."]moduleSendMediaMessageResult=structtypenonrect={messageId:String_.toption[@ocaml.doc"The unique identifier for the message."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?messageId=fun()->{messageId}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"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)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`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[("MessageId",(Option.mapx.messageId~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessageId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"MessageId")inmake?messageId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessageId=field_mapjson__"MessageId"String_.of_jsoninmake?messageId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a new multimedia message (MMS) and sends it to a recipient's phone number."]moduleSendMediaMessageRequest=structtypenonrect={destinationPhoneNumber:PhoneNumber.t[@ocaml.doc"The destination phone number in E.164 format."];originationIdentity:MediaMessageOriginationIdentity.t[@ocaml.doc"The origination identity of the message. This can be either the PhoneNumber, PhoneNumberId, PhoneNumberArn, SenderId, SenderIdArn, PoolId, or PoolArn. If you are using a shared End User Messaging SMS resource then you must use the full Amazon Resource Name(ARN)."];messageBody:TextMessageBody.toption[@ocaml.doc"The text body of the message."];mediaUrls:MediaUrlList.toption[@ocaml.doc"An array of URLs to each media file to send. The media files have to be stored in an S3 bucket. Supported media file formats are listed in MMS file types, size and character limits. For more information on creating an S3 bucket and managing objects, see Creating a bucket, Uploading objects in the Amazon S3 User Guide, and Setting up an Amazon S3 bucket for MMS files in the Amazon Web Services End User Messaging SMS User Guide."];configurationSetName:ConfigurationSetNameOrArn.toption[@ocaml.doc"The name of the configuration set to use. This can be either the ConfigurationSetName or ConfigurationSetArn."];maxPrice:MaxPrice.toption[@ocaml.doc"The maximum amount that you want to spend, in US dollars, per each MMS message."];timeToLive:TimeToLive.toption[@ocaml.doc"How long the media message is valid for. By default this is 72 hours."];context:ContextMap.toption[@ocaml.doc"You can specify custom data in this field. If you do, that data is logged to the event destination."];dryRun:PrimitiveBoolean.toption[@ocaml.doc"When set to true, the message is checked and validated, but isn't sent to the end recipient."];protectConfigurationId:ProtectConfigurationIdOrArn.toption[@ocaml.doc"The unique identifier of the protect configuration to use."];messageFeedbackEnabled:Boolean.toption[@ocaml.doc"Set to true to enable message feedback for the message. When a user receives the message you need to update the message status using PutMessageFeedback."]}letcontext_="SendMediaMessageRequest"letmake?messageBody=fun?mediaUrls->fun?configurationSetName->fun?maxPrice->fun?timeToLive->fun?context->fun?dryRun->fun?protectConfigurationId->fun?messageFeedbackEnabled->fun~destinationPhoneNumber->fun~originationIdentity->fun()->{messageBody;mediaUrls;configurationSetName;maxPrice;timeToLive;context;dryRun;protectConfigurationId;messageFeedbackEnabled;destinationPhoneNumber;originationIdentity}letto_valuex=structure_to_value[("DestinationPhoneNumber",(Some(PhoneNumber.to_valuex.destinationPhoneNumber)));("OriginationIdentity",(Some(MediaMessageOriginationIdentity.to_valuex.originationIdentity)));("MessageBody",(Option.mapx.messageBody~f:TextMessageBody.to_value));("MediaUrls",(Option.mapx.mediaUrls~f:MediaUrlList.to_value));("ConfigurationSetName",(Option.mapx.configurationSetName~f:ConfigurationSetNameOrArn.to_value));("MaxPrice",(Option.mapx.maxPrice~f:MaxPrice.to_value));("TimeToLive",(Option.mapx.timeToLive~f:TimeToLive.to_value));("Context",(Option.mapx.context~f:ContextMap.to_value));("DryRun",(Option.mapx.dryRun~f:PrimitiveBoolean.to_value));("ProtectConfigurationId",(Option.mapx.protectConfigurationId~f:ProtectConfigurationIdOrArn.to_value));("MessageFeedbackEnabled",(Option.mapx.messageFeedbackEnabled~f:Boolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessageFeedbackEnabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"MessageFeedbackEnabled")inletprotectConfigurationId=(Option.map~f:ProtectConfigurationIdOrArn.of_xml)(Xml.childxml_arg0"ProtectConfigurationId")inletdryRun=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"DryRun")inletcontext=(Option.map~f:ContextMap.of_xml)(Xml.childxml_arg0"Context")inlettimeToLive=(Option.map~f:TimeToLive.of_xml)(Xml.childxml_arg0"TimeToLive")inletmaxPrice=(Option.map~f:MaxPrice.of_xml)(Xml.childxml_arg0"MaxPrice")inletconfigurationSetName=(Option.map~f:ConfigurationSetNameOrArn.of_xml)(Xml.childxml_arg0"ConfigurationSetName")inletmediaUrls=(Option.map~f:MediaUrlList.of_xml)(Xml.childxml_arg0"MediaUrls")inletmessageBody=(Option.map~f:TextMessageBody.of_xml)(Xml.childxml_arg0"MessageBody")inletoriginationIdentity=MediaMessageOriginationIdentity.of_xml(Xml.child_exn~context:context_xml_arg0"OriginationIdentity")inletdestinationPhoneNumber=PhoneNumber.of_xml(Xml.child_exn~context:context_xml_arg0"DestinationPhoneNumber")inmake?messageFeedbackEnabled?protectConfigurationId?dryRun?context?timeToLive?maxPrice?configurationSetName?mediaUrls?messageBody~originationIdentity~destinationPhoneNumber()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessageFeedbackEnabled=field_mapjson__"MessageFeedbackEnabled"Boolean.of_jsoninletprotectConfigurationId=field_mapjson__"ProtectConfigurationId"ProtectConfigurationIdOrArn.of_jsoninletdryRun=field_mapjson__"DryRun"PrimitiveBoolean.of_jsoninletcontext=field_mapjson__"Context"ContextMap.of_jsoninlettimeToLive=field_mapjson__"TimeToLive"TimeToLive.of_jsoninletmaxPrice=field_mapjson__"MaxPrice"MaxPrice.of_jsoninletconfigurationSetName=field_mapjson__"ConfigurationSetName"ConfigurationSetNameOrArn.of_jsoninletmediaUrls=field_mapjson__"MediaUrls"MediaUrlList.of_jsoninletmessageBody=field_mapjson__"MessageBody"TextMessageBody.of_jsoninletoriginationIdentity=field_map_exnjson__"OriginationIdentity"MediaMessageOriginationIdentity.of_jsoninletdestinationPhoneNumber=field_map_exnjson__"DestinationPhoneNumber"PhoneNumber.of_jsoninmake?messageFeedbackEnabled?protectConfigurationId?dryRun?context?timeToLive?maxPrice?configurationSetName?mediaUrls?messageBody~originationIdentity~destinationPhoneNumber()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a new multimedia message (MMS) and sends it to a recipient's phone number."]moduleSendDestinationNumberVerificationCodeResult=structtypenonrect={messageId:String_.toption[@ocaml.doc"The unique identifier for the message."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?messageId=fun()->{messageId}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"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)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`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[("MessageId",(Option.mapx.messageId~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessageId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"MessageId")inmake?messageId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessageId=field_mapjson__"MessageId"String_.of_jsoninmake?messageId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Before you can send test messages to a verified destination phone number you need to opt-in the verified destination phone number. Creates a new text message with a verification code and send it to a verified destination phone number. Once you have the verification code use VerifyDestinationNumber to opt-in the verified destination phone number to receive messages."]moduleSendDestinationNumberVerificationCodeRequest=structtypenonrect={verifiedDestinationNumberId:VerifiedDestinationNumberIdOrArn.t[@ocaml.doc"The unique identifier for the verified destination phone number."];verificationChannel:VerificationChannel.t[@ocaml.doc"Choose to send the verification code as an SMS or voice message."];languageCode:LanguageCode.toption[@ocaml.doc"Choose the language to use for the message."];originationIdentity:VerificationMessageOriginationIdentity.toption[@ocaml.doc"The origination identity of the message. This can be either the PhoneNumber, PhoneNumberId, PhoneNumberArn, SenderId, SenderIdArn, PoolId, or PoolArn. If you are using a shared End User Messaging SMS resource then you must use the full Amazon Resource Name(ARN)."];configurationSetName:ConfigurationSetNameOrArn.toption[@ocaml.doc"The name of the configuration set to use. This can be either the ConfigurationSetName or ConfigurationSetArn."];context:ContextMap.toption[@ocaml.doc"You can specify custom data in this field. If you do, that data is logged to the event destination."];destinationCountryParameters:DestinationCountryParameters.toption[@ocaml.doc"This field is used for any country-specific registration requirements. Currently, this setting is only used when you send messages to recipients in India using a sender ID. For more information see Special requirements for sending SMS messages to recipients in India."]}letcontext_="SendDestinationNumberVerificationCodeRequest"letmake?languageCode=fun?originationIdentity->fun?configurationSetName->fun?context->fun?destinationCountryParameters->fun~verifiedDestinationNumberId->fun~verificationChannel->fun()->{languageCode;originationIdentity;configurationSetName;context;destinationCountryParameters;verifiedDestinationNumberId;verificationChannel}letto_valuex=structure_to_value[("VerifiedDestinationNumberId",(Some(VerifiedDestinationNumberIdOrArn.to_valuex.verifiedDestinationNumberId)));("VerificationChannel",(Some(VerificationChannel.to_valuex.verificationChannel)));("LanguageCode",(Option.mapx.languageCode~f:LanguageCode.to_value));("OriginationIdentity",(Option.mapx.originationIdentity~f:VerificationMessageOriginationIdentity.to_value));("ConfigurationSetName",(Option.mapx.configurationSetName~f:ConfigurationSetNameOrArn.to_value));("Context",(Option.mapx.context~f:ContextMap.to_value));("DestinationCountryParameters",(Option.mapx.destinationCountryParameters~f:DestinationCountryParameters.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdestinationCountryParameters=(Option.map~f:DestinationCountryParameters.of_xml)(Xml.childxml_arg0"DestinationCountryParameters")inletcontext=(Option.map~f:ContextMap.of_xml)(Xml.childxml_arg0"Context")inletconfigurationSetName=(Option.map~f:ConfigurationSetNameOrArn.of_xml)(Xml.childxml_arg0"ConfigurationSetName")inletoriginationIdentity=(Option.map~f:VerificationMessageOriginationIdentity.of_xml)(Xml.childxml_arg0"OriginationIdentity")inletlanguageCode=(Option.map~f:LanguageCode.of_xml)(Xml.childxml_arg0"LanguageCode")inletverificationChannel=VerificationChannel.of_xml(Xml.child_exn~context:context_xml_arg0"VerificationChannel")inletverifiedDestinationNumberId=VerifiedDestinationNumberIdOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"VerifiedDestinationNumberId")inmake?destinationCountryParameters?context?configurationSetName?originationIdentity?languageCode~verificationChannel~verifiedDestinationNumberId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdestinationCountryParameters=field_mapjson__"DestinationCountryParameters"DestinationCountryParameters.of_jsoninletcontext=field_mapjson__"Context"ContextMap.of_jsoninletconfigurationSetName=field_mapjson__"ConfigurationSetName"ConfigurationSetNameOrArn.of_jsoninletoriginationIdentity=field_mapjson__"OriginationIdentity"VerificationMessageOriginationIdentity.of_jsoninletlanguageCode=field_mapjson__"LanguageCode"LanguageCode.of_jsoninletverificationChannel=field_map_exnjson__"VerificationChannel"VerificationChannel.of_jsoninletverifiedDestinationNumberId=field_map_exnjson__"VerifiedDestinationNumberId"VerifiedDestinationNumberIdOrArn.of_jsoninmake?destinationCountryParameters?context?configurationSetName?originationIdentity?languageCode~verificationChannel~verifiedDestinationNumberId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Before you can send test messages to a verified destination phone number you need to opt-in the verified destination phone number. Creates a new text message with a verification code and send it to a verified destination phone number. Once you have the verification code use VerifyDestinationNumber to opt-in the verified destination phone number to receive messages."]moduleRequestSenderIdResult=structtypenonrect={senderIdArn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) associated with the SenderId."];senderId:SenderId.toption[@ocaml.doc"The sender ID that was requested."];isoCountryCode:IsoCountryCode.toption[@ocaml.doc"The two-character code, in ISO 3166-1 alpha-2 format, for the country or region."];messageTypes:MessageTypeList.toption[@ocaml.doc"The type of message. Valid values are TRANSACTIONAL for messages that are critical or time-sensitive and PROMOTIONAL for messages that aren't critical or time-sensitive."];monthlyLeasingPrice:String_.toption[@ocaml.doc"The monthly price, in US dollars, to lease the sender ID."];deletionProtectionEnabled:PrimitiveBoolean.toption[@ocaml.doc"By default this is set to false. When set to true the sender ID can't be deleted."];registered:PrimitiveBoolean.toption[@ocaml.doc"True if the sender ID is registered."];tags:TagList.toption[@ocaml.doc"An array of tags (key and value pairs) to associate with the sender ID."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?senderIdArn=fun?senderId->fun?isoCountryCode->fun?messageTypes->fun?monthlyLeasingPrice->fun?deletionProtectionEnabled->fun?registered->fun?tags->fun()->{senderIdArn;senderId;isoCountryCode;messageTypes;monthlyLeasingPrice;deletionProtectionEnabled;registered;tags}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`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[("SenderIdArn",(Option.mapx.senderIdArn~f:String_.to_value));("SenderId",(Option.mapx.senderId~f:SenderId.to_value));("IsoCountryCode",(Option.mapx.isoCountryCode~f:IsoCountryCode.to_value));("MessageTypes",(Option.mapx.messageTypes~f:MessageTypeList.to_value));("MonthlyLeasingPrice",(Option.mapx.monthlyLeasingPrice~f:String_.to_value));("DeletionProtectionEnabled",(Option.mapx.deletionProtectionEnabled~f:PrimitiveBoolean.to_value));("Registered",(Option.mapx.registered~f:PrimitiveBoolean.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")inletregistered=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"Registered")inletdeletionProtectionEnabled=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"DeletionProtectionEnabled")inletmonthlyLeasingPrice=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"MonthlyLeasingPrice")inletmessageTypes=(Option.map~f:MessageTypeList.of_xml)(Xml.childxml_arg0"MessageTypes")inletisoCountryCode=(Option.map~f:IsoCountryCode.of_xml)(Xml.childxml_arg0"IsoCountryCode")inletsenderId=(Option.map~f:SenderId.of_xml)(Xml.childxml_arg0"SenderId")inletsenderIdArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"SenderIdArn")inmake?tags?registered?deletionProtectionEnabled?monthlyLeasingPrice?messageTypes?isoCountryCode?senderId?senderIdArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"Tags"TagList.of_jsoninletregistered=field_mapjson__"Registered"PrimitiveBoolean.of_jsoninletdeletionProtectionEnabled=field_mapjson__"DeletionProtectionEnabled"PrimitiveBoolean.of_jsoninletmonthlyLeasingPrice=field_mapjson__"MonthlyLeasingPrice"String_.of_jsoninletmessageTypes=field_mapjson__"MessageTypes"MessageTypeList.of_jsoninletisoCountryCode=field_mapjson__"IsoCountryCode"IsoCountryCode.of_jsoninletsenderId=field_mapjson__"SenderId"SenderId.of_jsoninletsenderIdArn=field_mapjson__"SenderIdArn"String_.of_jsoninmake?tags?registered?deletionProtectionEnabled?monthlyLeasingPrice?messageTypes?isoCountryCode?senderId?senderIdArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Request a new sender ID that doesn't require registration."]moduleRequestSenderIdRequest=structtypenonrect={senderId:SenderId.t[@ocaml.doc"The sender ID string to request."];isoCountryCode:IsoCountryCode.t[@ocaml.doc"The two-character code, in ISO 3166-1 alpha-2 format, for the country or region."];messageTypes:MessageTypeList.toption[@ocaml.doc"The type of message. Valid values are TRANSACTIONAL for messages that are critical or time-sensitive and PROMOTIONAL for messages that aren't critical or time-sensitive."];deletionProtectionEnabled:Boolean.toption[@ocaml.doc"By default this is set to false. When set to true the sender ID can't be deleted."];tags:TagList.toption[@ocaml.doc"An array of tags (key and value pairs) to associate with the sender ID."];clientToken:ClientToken.toption[@ocaml.doc"Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don't specify a client token, a randomly generated token is used for the request to ensure idempotency."]}letcontext_="RequestSenderIdRequest"letmake?messageTypes=fun?deletionProtectionEnabled->fun?tags->fun?clientToken->fun~senderId->fun~isoCountryCode->fun()->{messageTypes;deletionProtectionEnabled;tags;clientToken;senderId;isoCountryCode}letto_valuex=structure_to_value[("SenderId",(Some(SenderId.to_valuex.senderId)));("IsoCountryCode",(Some(IsoCountryCode.to_valuex.isoCountryCode)));("MessageTypes",(Option.mapx.messageTypes~f:MessageTypeList.to_value));("DeletionProtectionEnabled",(Option.mapx.deletionProtectionEnabled~f:Boolean.to_value));("Tags",(Option.mapx.tags~f:TagList.to_value));("ClientToken",(Option.mapx.clientToken~f:ClientToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"ClientToken")inlettags=(Option.map~f:TagList.of_xml)(Xml.childxml_arg0"Tags")inletdeletionProtectionEnabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"DeletionProtectionEnabled")inletmessageTypes=(Option.map~f:MessageTypeList.of_xml)(Xml.childxml_arg0"MessageTypes")inletisoCountryCode=IsoCountryCode.of_xml(Xml.child_exn~context:context_xml_arg0"IsoCountryCode")inletsenderId=SenderId.of_xml(Xml.child_exn~context:context_xml_arg0"SenderId")inmake?clientToken?tags?deletionProtectionEnabled?messageTypes~isoCountryCode~senderId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letclientToken=field_mapjson__"ClientToken"ClientToken.of_jsoninlettags=field_mapjson__"Tags"TagList.of_jsoninletdeletionProtectionEnabled=field_mapjson__"DeletionProtectionEnabled"Boolean.of_jsoninletmessageTypes=field_mapjson__"MessageTypes"MessageTypeList.of_jsoninletisoCountryCode=field_map_exnjson__"IsoCountryCode"IsoCountryCode.of_jsoninletsenderId=field_map_exnjson__"SenderId"SenderId.of_jsoninmake?clientToken?tags?deletionProtectionEnabled?messageTypes~isoCountryCode~senderId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Request a new sender ID that doesn't require registration."]moduleRequestPhoneNumberResult=structtypenonrect={phoneNumberArn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the requested phone number."];phoneNumberId:String_.toption[@ocaml.doc"The unique identifier of the new phone number."];phoneNumber:PhoneNumber.toption[@ocaml.doc"The new phone number that was requested."];status:NumberStatus.toption[@ocaml.doc"The current status of the request."];isoCountryCode:IsoCountryCode.toption[@ocaml.doc"The two-character code, in ISO 3166-1 alpha-2 format, for the country or region."];messageType:MessageType.toption[@ocaml.doc"The type of message. Valid values are TRANSACTIONAL for messages that are critical or time-sensitive and PROMOTIONAL for messages that aren't critical or time-sensitive."];numberCapabilities:NumberCapabilityList.toption[@ocaml.doc"Indicates if the phone number will be used for text messages, voice messages or both."];numberType:RequestableNumberType.toption[@ocaml.doc"The type of number that was released."];monthlyLeasingPrice:String_.toption[@ocaml.doc"The monthly price, in US dollars, to lease the phone number."];twoWayEnabled:PrimitiveBoolean.toption[@ocaml.doc"By default this is set to false. When set to true you can receive incoming text messages from your end recipients."];twoWayChannelArn:TwoWayChannelArn.toption[@ocaml.doc"The ARN used to identify the two way channel."];twoWayChannelRole:IamRoleArn.toption[@ocaml.doc"An optional IAM Role Arn for a service to assume, to be able to post inbound SMS messages."];selfManagedOptOutsEnabled:PrimitiveBoolean.toption[@ocaml.doc"By default this is set to false. When set to false and an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, End User Messaging SMS automatically replies with a customizable message and adds the end recipient to the OptOutList. When set to true you're responsible for responding to HELP and STOP requests. You're also responsible for tracking and honoring opt-out requests."];optOutListName:OptOutListName.toption[@ocaml.doc"The name of the OptOutList that is associated with the requested phone number."];internationalSendingEnabled:PrimitiveBoolean.toption[@ocaml.doc"By default this is set to false. When set to true the international sending of phone number is Enabled."];deletionProtectionEnabled:PrimitiveBoolean.toption[@ocaml.doc"By default this is set to false. When set to true the phone number can't be deleted."];poolId:String_.toption[@ocaml.doc"The unique identifier of the pool associated with the phone number"];registrationId:String_.toption[@ocaml.doc"The unique identifier for the registration."];tags:TagList.toption[@ocaml.doc"An array of key and value pair tags that are associated with the phone number."];createdTimestamp:Timestamp.toption[@ocaml.doc"The time when the phone number was created, in UNIX epoch time format."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?phoneNumberArn=fun?phoneNumberId->fun?phoneNumber->fun?status->fun?isoCountryCode->fun?messageType->fun?numberCapabilities->fun?numberType->fun?monthlyLeasingPrice->fun?twoWayEnabled->fun?twoWayChannelArn->fun?twoWayChannelRole->fun?selfManagedOptOutsEnabled->fun?optOutListName->fun?internationalSendingEnabled->fun?deletionProtectionEnabled->fun?poolId->fun?registrationId->fun?tags->fun?createdTimestamp->fun()->{phoneNumberArn;phoneNumberId;phoneNumber;status;isoCountryCode;messageType;numberCapabilities;numberType;monthlyLeasingPrice;twoWayEnabled;twoWayChannelArn;twoWayChannelRole;selfManagedOptOutsEnabled;optOutListName;internationalSendingEnabled;deletionProtectionEnabled;poolId;registrationId;tags;createdTimestamp}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"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)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`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[("PhoneNumberArn",(Option.mapx.phoneNumberArn~f:String_.to_value));("PhoneNumberId",(Option.mapx.phoneNumberId~f:String_.to_value));("PhoneNumber",(Option.mapx.phoneNumber~f:PhoneNumber.to_value));("Status",(Option.mapx.status~f:NumberStatus.to_value));("IsoCountryCode",(Option.mapx.isoCountryCode~f:IsoCountryCode.to_value));("MessageType",(Option.mapx.messageType~f:MessageType.to_value));("NumberCapabilities",(Option.mapx.numberCapabilities~f:NumberCapabilityList.to_value));("NumberType",(Option.mapx.numberType~f:RequestableNumberType.to_value));("MonthlyLeasingPrice",(Option.mapx.monthlyLeasingPrice~f:String_.to_value));("TwoWayEnabled",(Option.mapx.twoWayEnabled~f:PrimitiveBoolean.to_value));("TwoWayChannelArn",(Option.mapx.twoWayChannelArn~f:TwoWayChannelArn.to_value));("TwoWayChannelRole",(Option.mapx.twoWayChannelRole~f:IamRoleArn.to_value));("SelfManagedOptOutsEnabled",(Option.mapx.selfManagedOptOutsEnabled~f:PrimitiveBoolean.to_value));("OptOutListName",(Option.mapx.optOutListName~f:OptOutListName.to_value));("InternationalSendingEnabled",(Option.mapx.internationalSendingEnabled~f:PrimitiveBoolean.to_value));("DeletionProtectionEnabled",(Option.mapx.deletionProtectionEnabled~f:PrimitiveBoolean.to_value));("PoolId",(Option.mapx.poolId~f:String_.to_value));("RegistrationId",(Option.mapx.registrationId~f:String_.to_value));("Tags",(Option.mapx.tags~f:TagList.to_value));("CreatedTimestamp",(Option.mapx.createdTimestamp~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcreatedTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"CreatedTimestamp")inlettags=(Option.map~f:TagList.of_xml)(Xml.childxml_arg0"Tags")inletregistrationId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RegistrationId")inletpoolId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"PoolId")inletdeletionProtectionEnabled=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"DeletionProtectionEnabled")inletinternationalSendingEnabled=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"InternationalSendingEnabled")inletoptOutListName=(Option.map~f:OptOutListName.of_xml)(Xml.childxml_arg0"OptOutListName")inletselfManagedOptOutsEnabled=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"SelfManagedOptOutsEnabled")inlettwoWayChannelRole=(Option.map~f:IamRoleArn.of_xml)(Xml.childxml_arg0"TwoWayChannelRole")inlettwoWayChannelArn=(Option.map~f:TwoWayChannelArn.of_xml)(Xml.childxml_arg0"TwoWayChannelArn")inlettwoWayEnabled=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"TwoWayEnabled")inletmonthlyLeasingPrice=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"MonthlyLeasingPrice")inletnumberType=(Option.map~f:RequestableNumberType.of_xml)(Xml.childxml_arg0"NumberType")inletnumberCapabilities=(Option.map~f:NumberCapabilityList.of_xml)(Xml.childxml_arg0"NumberCapabilities")inletmessageType=(Option.map~f:MessageType.of_xml)(Xml.childxml_arg0"MessageType")inletisoCountryCode=(Option.map~f:IsoCountryCode.of_xml)(Xml.childxml_arg0"IsoCountryCode")inletstatus=(Option.map~f:NumberStatus.of_xml)(Xml.childxml_arg0"Status")inletphoneNumber=(Option.map~f:PhoneNumber.of_xml)(Xml.childxml_arg0"PhoneNumber")inletphoneNumberId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"PhoneNumberId")inletphoneNumberArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"PhoneNumberArn")inmake?createdTimestamp?tags?registrationId?poolId?deletionProtectionEnabled?internationalSendingEnabled?optOutListName?selfManagedOptOutsEnabled?twoWayChannelRole?twoWayChannelArn?twoWayEnabled?monthlyLeasingPrice?numberType?numberCapabilities?messageType?isoCountryCode?status?phoneNumber?phoneNumberId?phoneNumberArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcreatedTimestamp=field_mapjson__"CreatedTimestamp"Timestamp.of_jsoninlettags=field_mapjson__"Tags"TagList.of_jsoninletregistrationId=field_mapjson__"RegistrationId"String_.of_jsoninletpoolId=field_mapjson__"PoolId"String_.of_jsoninletdeletionProtectionEnabled=field_mapjson__"DeletionProtectionEnabled"PrimitiveBoolean.of_jsoninletinternationalSendingEnabled=field_mapjson__"InternationalSendingEnabled"PrimitiveBoolean.of_jsoninletoptOutListName=field_mapjson__"OptOutListName"OptOutListName.of_jsoninletselfManagedOptOutsEnabled=field_mapjson__"SelfManagedOptOutsEnabled"PrimitiveBoolean.of_jsoninlettwoWayChannelRole=field_mapjson__"TwoWayChannelRole"IamRoleArn.of_jsoninlettwoWayChannelArn=field_mapjson__"TwoWayChannelArn"TwoWayChannelArn.of_jsoninlettwoWayEnabled=field_mapjson__"TwoWayEnabled"PrimitiveBoolean.of_jsoninletmonthlyLeasingPrice=field_mapjson__"MonthlyLeasingPrice"String_.of_jsoninletnumberType=field_mapjson__"NumberType"RequestableNumberType.of_jsoninletnumberCapabilities=field_mapjson__"NumberCapabilities"NumberCapabilityList.of_jsoninletmessageType=field_mapjson__"MessageType"MessageType.of_jsoninletisoCountryCode=field_mapjson__"IsoCountryCode"IsoCountryCode.of_jsoninletstatus=field_mapjson__"Status"NumberStatus.of_jsoninletphoneNumber=field_mapjson__"PhoneNumber"PhoneNumber.of_jsoninletphoneNumberId=field_mapjson__"PhoneNumberId"String_.of_jsoninletphoneNumberArn=field_mapjson__"PhoneNumberArn"String_.of_jsoninmake?createdTimestamp?tags?registrationId?poolId?deletionProtectionEnabled?internationalSendingEnabled?optOutListName?selfManagedOptOutsEnabled?twoWayChannelRole?twoWayChannelArn?twoWayEnabled?monthlyLeasingPrice?numberType?numberCapabilities?messageType?isoCountryCode?status?phoneNumber?phoneNumberId?phoneNumberArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Request an origination phone number for use in your account. For more information on phone number request see Request a phone number in the End User Messaging SMS User Guide."]moduleRequestPhoneNumberRequest=structtypenonrect={isoCountryCode:IsoCountryCode.t[@ocaml.doc"The two-character code, in ISO 3166-1 alpha-2 format, for the country or region."];messageType:MessageType.t[@ocaml.doc"The type of message. Valid values are TRANSACTIONAL for messages that are critical or time-sensitive and PROMOTIONAL for messages that aren't critical or time-sensitive."];numberCapabilities:NumberCapabilityList.t[@ocaml.doc"Indicates if the phone number will be used for text messages, voice messages, or both."];numberType:RequestableNumberType.t[@ocaml.doc"The type of phone number to request. When you request a SIMULATOR phone number, you must set MessageType as TRANSACTIONAL."];optOutListName:OptOutListNameOrArn.toption[@ocaml.doc"The name of the OptOutList to associate with the phone number. You can use the OptOutListName or OptOutListArn. If you are using a shared End User Messaging SMS resource then you must use the full Amazon Resource Name(ARN)."];poolId:PoolIdOrArn.toption[@ocaml.doc"The pool to associated with the phone number. You can use the PoolId or PoolArn. If you are using a shared End User Messaging SMS resource then you must use the full Amazon Resource Name(ARN)."];registrationId:RegistrationIdOrArn.toption[@ocaml.doc"Use this field to attach your phone number for an external registration process."];internationalSendingEnabled:Boolean.toption[@ocaml.doc"By default this is set to false. When set to true the international sending of phone number is Enabled."];deletionProtectionEnabled:Boolean.toption[@ocaml.doc"By default this is set to false. When set to true the phone number can't be deleted."];tags:TagList.toption[@ocaml.doc"An array of tags (key and value pairs) to associate with the requested phone number."];clientToken:ClientToken.toption[@ocaml.doc"Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don't specify a client token, a randomly generated token is used for the request to ensure idempotency."]}letcontext_="RequestPhoneNumberRequest"letmake?optOutListName=fun?poolId->fun?registrationId->fun?internationalSendingEnabled->fun?deletionProtectionEnabled->fun?tags->fun?clientToken->fun~isoCountryCode->fun~messageType->fun~numberCapabilities->fun~numberType->fun()->{optOutListName;poolId;registrationId;internationalSendingEnabled;deletionProtectionEnabled;tags;clientToken;isoCountryCode;messageType;numberCapabilities;numberType}letto_valuex=structure_to_value[("IsoCountryCode",(Some(IsoCountryCode.to_valuex.isoCountryCode)));("MessageType",(Some(MessageType.to_valuex.messageType)));("NumberCapabilities",(Some(NumberCapabilityList.to_valuex.numberCapabilities)));("NumberType",(Some(RequestableNumberType.to_valuex.numberType)));("OptOutListName",(Option.mapx.optOutListName~f:OptOutListNameOrArn.to_value));("PoolId",(Option.mapx.poolId~f:PoolIdOrArn.to_value));("RegistrationId",(Option.mapx.registrationId~f:RegistrationIdOrArn.to_value));("InternationalSendingEnabled",(Option.mapx.internationalSendingEnabled~f:Boolean.to_value));("DeletionProtectionEnabled",(Option.mapx.deletionProtectionEnabled~f:Boolean.to_value));("Tags",(Option.mapx.tags~f:TagList.to_value));("ClientToken",(Option.mapx.clientToken~f:ClientToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"ClientToken")inlettags=(Option.map~f:TagList.of_xml)(Xml.childxml_arg0"Tags")inletdeletionProtectionEnabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"DeletionProtectionEnabled")inletinternationalSendingEnabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"InternationalSendingEnabled")inletregistrationId=(Option.map~f:RegistrationIdOrArn.of_xml)(Xml.childxml_arg0"RegistrationId")inletpoolId=(Option.map~f:PoolIdOrArn.of_xml)(Xml.childxml_arg0"PoolId")inletoptOutListName=(Option.map~f:OptOutListNameOrArn.of_xml)(Xml.childxml_arg0"OptOutListName")inletnumberType=RequestableNumberType.of_xml(Xml.child_exn~context:context_xml_arg0"NumberType")inletnumberCapabilities=NumberCapabilityList.of_xml(Xml.child_exn~context:context_xml_arg0"NumberCapabilities")inletmessageType=MessageType.of_xml(Xml.child_exn~context:context_xml_arg0"MessageType")inletisoCountryCode=IsoCountryCode.of_xml(Xml.child_exn~context:context_xml_arg0"IsoCountryCode")inmake?clientToken?tags?deletionProtectionEnabled?internationalSendingEnabled?registrationId?poolId?optOutListName~numberType~numberCapabilities~messageType~isoCountryCode()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letclientToken=field_mapjson__"ClientToken"ClientToken.of_jsoninlettags=field_mapjson__"Tags"TagList.of_jsoninletdeletionProtectionEnabled=field_mapjson__"DeletionProtectionEnabled"Boolean.of_jsoninletinternationalSendingEnabled=field_mapjson__"InternationalSendingEnabled"Boolean.of_jsoninletregistrationId=field_mapjson__"RegistrationId"RegistrationIdOrArn.of_jsoninletpoolId=field_mapjson__"PoolId"PoolIdOrArn.of_jsoninletoptOutListName=field_mapjson__"OptOutListName"OptOutListNameOrArn.of_jsoninletnumberType=field_map_exnjson__"NumberType"RequestableNumberType.of_jsoninletnumberCapabilities=field_map_exnjson__"NumberCapabilities"NumberCapabilityList.of_jsoninletmessageType=field_map_exnjson__"MessageType"MessageType.of_jsoninletisoCountryCode=field_map_exnjson__"IsoCountryCode"IsoCountryCode.of_jsoninmake?clientToken?tags?deletionProtectionEnabled?internationalSendingEnabled?registrationId?poolId?optOutListName~numberType~numberCapabilities~messageType~isoCountryCode()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Request an origination phone number for use in your account. For more information on phone number request see Request a phone number in the End User Messaging SMS User Guide."]moduleReleaseSenderIdResult=structtypenonrect={senderIdArn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) associated with the SenderId."];senderId:SenderId.toption[@ocaml.doc"The sender ID that was released."];isoCountryCode:IsoCountryCode.toption[@ocaml.doc"The two-character code, in ISO 3166-1 alpha-2 format, for the country or region."];messageTypes:MessageTypeList.toption[@ocaml.doc"The type of message. Valid values are TRANSACTIONAL for messages that are critical or time-sensitive and PROMOTIONAL for messages that aren't critical or time-sensitive."];monthlyLeasingPrice:String_.toption[@ocaml.doc"The monthly price, in US dollars, to lease the sender ID."];registered:PrimitiveBoolean.toption[@ocaml.doc"True if the sender ID is registered."];registrationId:String_.toption[@ocaml.doc"The unique identifier for the registration."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?senderIdArn=fun?senderId->fun?isoCountryCode->fun?messageTypes->fun?monthlyLeasingPrice->fun?registered->fun?registrationId->fun()->{senderIdArn;senderId;isoCountryCode;messageTypes;monthlyLeasingPrice;registered;registrationId}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[("SenderIdArn",(Option.mapx.senderIdArn~f:String_.to_value));("SenderId",(Option.mapx.senderId~f:SenderId.to_value));("IsoCountryCode",(Option.mapx.isoCountryCode~f:IsoCountryCode.to_value));("MessageTypes",(Option.mapx.messageTypes~f:MessageTypeList.to_value));("MonthlyLeasingPrice",(Option.mapx.monthlyLeasingPrice~f:String_.to_value));("Registered",(Option.mapx.registered~f:PrimitiveBoolean.to_value));("RegistrationId",(Option.mapx.registrationId~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letregistrationId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RegistrationId")inletregistered=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"Registered")inletmonthlyLeasingPrice=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"MonthlyLeasingPrice")inletmessageTypes=(Option.map~f:MessageTypeList.of_xml)(Xml.childxml_arg0"MessageTypes")inletisoCountryCode=(Option.map~f:IsoCountryCode.of_xml)(Xml.childxml_arg0"IsoCountryCode")inletsenderId=(Option.map~f:SenderId.of_xml)(Xml.childxml_arg0"SenderId")inletsenderIdArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"SenderIdArn")inmake?registrationId?registered?monthlyLeasingPrice?messageTypes?isoCountryCode?senderId?senderIdArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letregistrationId=field_mapjson__"RegistrationId"String_.of_jsoninletregistered=field_mapjson__"Registered"PrimitiveBoolean.of_jsoninletmonthlyLeasingPrice=field_mapjson__"MonthlyLeasingPrice"String_.of_jsoninletmessageTypes=field_mapjson__"MessageTypes"MessageTypeList.of_jsoninletisoCountryCode=field_mapjson__"IsoCountryCode"IsoCountryCode.of_jsoninletsenderId=field_mapjson__"SenderId"SenderId.of_jsoninletsenderIdArn=field_mapjson__"SenderIdArn"String_.of_jsoninmake?registrationId?registered?monthlyLeasingPrice?messageTypes?isoCountryCode?senderId?senderIdArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Releases an existing sender ID in your account."]moduleReleaseSenderIdRequest=structtypenonrect={senderId:SenderIdOrArn.t[@ocaml.doc"The sender ID to release."];isoCountryCode:IsoCountryCode.t[@ocaml.doc"The two-character code, in ISO 3166-1 alpha-2 format, for the country or region."]}letcontext_="ReleaseSenderIdRequest"letmake~senderId=fun~isoCountryCode->fun()->{senderId;isoCountryCode}letto_valuex=structure_to_value[("SenderId",(Some(SenderIdOrArn.to_valuex.senderId)));("IsoCountryCode",(Some(IsoCountryCode.to_valuex.isoCountryCode)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letisoCountryCode=IsoCountryCode.of_xml(Xml.child_exn~context:context_xml_arg0"IsoCountryCode")inletsenderId=SenderIdOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"SenderId")inmake~isoCountryCode~senderId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letisoCountryCode=field_map_exnjson__"IsoCountryCode"IsoCountryCode.of_jsoninletsenderId=field_map_exnjson__"SenderId"SenderIdOrArn.of_jsoninmake~isoCountryCode~senderId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Releases an existing sender ID in your account."]moduleReleasePhoneNumberResult=structtypenonrect={phoneNumberArn:String_.toption[@ocaml.doc"The PhoneNumberArn of the phone number that was released."];phoneNumberId:String_.toption[@ocaml.doc"The PhoneNumberId of the phone number that was released."];phoneNumber:PhoneNumber.toption[@ocaml.doc"The phone number that was released."];status:NumberStatus.toption[@ocaml.doc"The current status of the request."];isoCountryCode:IsoCountryCode.toption[@ocaml.doc"The two-character code, in ISO 3166-1 alpha-2 format, for the country or region."];messageType:MessageType.toption[@ocaml.doc"The message type that was associated with the phone number."];numberCapabilities:NumberCapabilityList.toption[@ocaml.doc"Specifies if the number could be used for text messages, voice, or both."];numberType:NumberType.toption[@ocaml.doc"The type of number that was released."];monthlyLeasingPrice:String_.toption[@ocaml.doc"The monthly price of the phone number, in US dollars."];twoWayEnabled:PrimitiveBoolean.toption[@ocaml.doc"By default this is set to false. When set to true you can receive incoming text messages from your end recipients."];twoWayChannelArn:TwoWayChannelArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the TwoWayChannel."];twoWayChannelRole:IamRoleArn.toption[@ocaml.doc"An optional IAM Role Arn for a service to assume, to be able to post inbound SMS messages."];selfManagedOptOutsEnabled:PrimitiveBoolean.toption[@ocaml.doc"By default this is set to false. When set to false and an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, End User Messaging SMS automatically replies with a customizable message and adds the end recipient to the OptOutList. When set to true you're responsible for responding to HELP and STOP requests. You're also responsible for tracking and honoring opt-out requests."];optOutListName:OptOutListName.toption[@ocaml.doc"The name of the OptOutList that was associated with the phone number."];registrationId:String_.toption[@ocaml.doc"The unique identifier for the registration."];createdTimestamp:Timestamp.toption[@ocaml.doc"The time when the phone number was created, in UNIX epoch time format."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?phoneNumberArn=fun?phoneNumberId->fun?phoneNumber->fun?status->fun?isoCountryCode->fun?messageType->fun?numberCapabilities->fun?numberType->fun?monthlyLeasingPrice->fun?twoWayEnabled->fun?twoWayChannelArn->fun?twoWayChannelRole->fun?selfManagedOptOutsEnabled->fun?optOutListName->fun?registrationId->fun?createdTimestamp->fun()->{phoneNumberArn;phoneNumberId;phoneNumber;status;isoCountryCode;messageType;numberCapabilities;numberType;monthlyLeasingPrice;twoWayEnabled;twoWayChannelArn;twoWayChannelRole;selfManagedOptOutsEnabled;optOutListName;registrationId;createdTimestamp}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[("PhoneNumberArn",(Option.mapx.phoneNumberArn~f:String_.to_value));("PhoneNumberId",(Option.mapx.phoneNumberId~f:String_.to_value));("PhoneNumber",(Option.mapx.phoneNumber~f:PhoneNumber.to_value));("Status",(Option.mapx.status~f:NumberStatus.to_value));("IsoCountryCode",(Option.mapx.isoCountryCode~f:IsoCountryCode.to_value));("MessageType",(Option.mapx.messageType~f:MessageType.to_value));("NumberCapabilities",(Option.mapx.numberCapabilities~f:NumberCapabilityList.to_value));("NumberType",(Option.mapx.numberType~f:NumberType.to_value));("MonthlyLeasingPrice",(Option.mapx.monthlyLeasingPrice~f:String_.to_value));("TwoWayEnabled",(Option.mapx.twoWayEnabled~f:PrimitiveBoolean.to_value));("TwoWayChannelArn",(Option.mapx.twoWayChannelArn~f:TwoWayChannelArn.to_value));("TwoWayChannelRole",(Option.mapx.twoWayChannelRole~f:IamRoleArn.to_value));("SelfManagedOptOutsEnabled",(Option.mapx.selfManagedOptOutsEnabled~f:PrimitiveBoolean.to_value));("OptOutListName",(Option.mapx.optOutListName~f:OptOutListName.to_value));("RegistrationId",(Option.mapx.registrationId~f:String_.to_value));("CreatedTimestamp",(Option.mapx.createdTimestamp~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcreatedTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"CreatedTimestamp")inletregistrationId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RegistrationId")inletoptOutListName=(Option.map~f:OptOutListName.of_xml)(Xml.childxml_arg0"OptOutListName")inletselfManagedOptOutsEnabled=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"SelfManagedOptOutsEnabled")inlettwoWayChannelRole=(Option.map~f:IamRoleArn.of_xml)(Xml.childxml_arg0"TwoWayChannelRole")inlettwoWayChannelArn=(Option.map~f:TwoWayChannelArn.of_xml)(Xml.childxml_arg0"TwoWayChannelArn")inlettwoWayEnabled=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"TwoWayEnabled")inletmonthlyLeasingPrice=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"MonthlyLeasingPrice")inletnumberType=(Option.map~f:NumberType.of_xml)(Xml.childxml_arg0"NumberType")inletnumberCapabilities=(Option.map~f:NumberCapabilityList.of_xml)(Xml.childxml_arg0"NumberCapabilities")inletmessageType=(Option.map~f:MessageType.of_xml)(Xml.childxml_arg0"MessageType")inletisoCountryCode=(Option.map~f:IsoCountryCode.of_xml)(Xml.childxml_arg0"IsoCountryCode")inletstatus=(Option.map~f:NumberStatus.of_xml)(Xml.childxml_arg0"Status")inletphoneNumber=(Option.map~f:PhoneNumber.of_xml)(Xml.childxml_arg0"PhoneNumber")inletphoneNumberId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"PhoneNumberId")inletphoneNumberArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"PhoneNumberArn")inmake?createdTimestamp?registrationId?optOutListName?selfManagedOptOutsEnabled?twoWayChannelRole?twoWayChannelArn?twoWayEnabled?monthlyLeasingPrice?numberType?numberCapabilities?messageType?isoCountryCode?status?phoneNumber?phoneNumberId?phoneNumberArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcreatedTimestamp=field_mapjson__"CreatedTimestamp"Timestamp.of_jsoninletregistrationId=field_mapjson__"RegistrationId"String_.of_jsoninletoptOutListName=field_mapjson__"OptOutListName"OptOutListName.of_jsoninletselfManagedOptOutsEnabled=field_mapjson__"SelfManagedOptOutsEnabled"PrimitiveBoolean.of_jsoninlettwoWayChannelRole=field_mapjson__"TwoWayChannelRole"IamRoleArn.of_jsoninlettwoWayChannelArn=field_mapjson__"TwoWayChannelArn"TwoWayChannelArn.of_jsoninlettwoWayEnabled=field_mapjson__"TwoWayEnabled"PrimitiveBoolean.of_jsoninletmonthlyLeasingPrice=field_mapjson__"MonthlyLeasingPrice"String_.of_jsoninletnumberType=field_mapjson__"NumberType"NumberType.of_jsoninletnumberCapabilities=field_mapjson__"NumberCapabilities"NumberCapabilityList.of_jsoninletmessageType=field_mapjson__"MessageType"MessageType.of_jsoninletisoCountryCode=field_mapjson__"IsoCountryCode"IsoCountryCode.of_jsoninletstatus=field_mapjson__"Status"NumberStatus.of_jsoninletphoneNumber=field_mapjson__"PhoneNumber"PhoneNumber.of_jsoninletphoneNumberId=field_mapjson__"PhoneNumberId"String_.of_jsoninletphoneNumberArn=field_mapjson__"PhoneNumberArn"String_.of_jsoninmake?createdTimestamp?registrationId?optOutListName?selfManagedOptOutsEnabled?twoWayChannelRole?twoWayChannelArn?twoWayEnabled?monthlyLeasingPrice?numberType?numberCapabilities?messageType?isoCountryCode?status?phoneNumber?phoneNumberId?phoneNumberArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Releases an existing origination phone number in your account. Once released, a phone number is no longer available for sending messages. If the origination phone number has deletion protection enabled or is associated with a pool, an error is returned."]moduleReleasePhoneNumberRequest=structtypenonrect={phoneNumberId:PhoneNumberIdOrArn.t[@ocaml.doc"The PhoneNumberId or PhoneNumberArn of the phone number to release. You can use DescribePhoneNumbers to get the values for PhoneNumberId and PhoneNumberArn. If you are using a shared End User Messaging SMS resource then you must use the full Amazon Resource Name(ARN)."]}letcontext_="ReleasePhoneNumberRequest"letmake~phoneNumberId=fun()->{phoneNumberId}letto_valuex=structure_to_value[("PhoneNumberId",(Some(PhoneNumberIdOrArn.to_valuex.phoneNumberId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letphoneNumberId=PhoneNumberIdOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"PhoneNumberId")inmake~phoneNumberId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letphoneNumberId=field_map_exnjson__"PhoneNumberId"PhoneNumberIdOrArn.of_jsoninmake~phoneNumberId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Releases an existing origination phone number in your account. Once released, a phone number is no longer available for sending messages. If the origination phone number has deletion protection enabled or is associated with a pool, an error is returned."]modulePutResourcePolicyResult=structtypenonrect={resourceArn:AmazonResourceName.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the End User Messaging SMS resource attached to the resource-based policy."];policy:ResourcePolicy.toption[@ocaml.doc"The JSON formatted Resource Policy."];createdTimestamp:Timestamp.toption[@ocaml.doc"The time when the resource-based policy was created, in UNIX epoch time format."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?resourceArn=fun?policy->fun?createdTimestamp->fun()->{resourceArn;policy;createdTimestamp}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[("ResourceArn",(Option.mapx.resourceArn~f:AmazonResourceName.to_value));("Policy",(Option.mapx.policy~f:ResourcePolicy.to_value));("CreatedTimestamp",(Option.mapx.createdTimestamp~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcreatedTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"CreatedTimestamp")inletpolicy=(Option.map~f:ResourcePolicy.of_xml)(Xml.childxml_arg0"Policy")inletresourceArn=(Option.map~f:AmazonResourceName.of_xml)(Xml.childxml_arg0"ResourceArn")inmake?createdTimestamp?policy?resourceArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcreatedTimestamp=field_mapjson__"CreatedTimestamp"Timestamp.of_jsoninletpolicy=field_mapjson__"Policy"ResourcePolicy.of_jsoninletresourceArn=field_mapjson__"ResourceArn"AmazonResourceName.of_jsoninmake?createdTimestamp?policy?resourceArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Attaches a resource-based policy to a End User Messaging SMS resource(phone number, sender Id, phone poll, or opt-out list) that is used for sharing the resource. A shared resource can be a Pool, Opt-out list, Sender Id, or Phone number. For more information about resource-based policies, see Working with shared resources in the End User Messaging SMS User Guide."]modulePutResourcePolicyRequest=structtypenonrect={resourceArn:AmazonResourceName.t[@ocaml.doc"The Amazon Resource Name (ARN) of the End User Messaging SMS resource to attach the resource-based policy to."];policy:ResourcePolicy.t[@ocaml.doc"The JSON formatted resource-based policy to attach."]}letcontext_="PutResourcePolicyRequest"letmake~resourceArn=fun~policy->fun()->{resourceArn;policy}letto_valuex=structure_to_value[("ResourceArn",(Some(AmazonResourceName.to_valuex.resourceArn)));("Policy",(Some(ResourcePolicy.to_valuex.policy)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letpolicy=ResourcePolicy.of_xml(Xml.child_exn~context:context_xml_arg0"Policy")inletresourceArn=AmazonResourceName.of_xml(Xml.child_exn~context:context_xml_arg0"ResourceArn")inmake~policy~resourceArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letpolicy=field_map_exnjson__"Policy"ResourcePolicy.of_jsoninletresourceArn=field_map_exnjson__"ResourceArn"AmazonResourceName.of_jsoninmake~policy~resourceArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Attaches a resource-based policy to a End User Messaging SMS resource(phone number, sender Id, phone poll, or opt-out list) that is used for sharing the resource. A shared resource can be a Pool, Opt-out list, Sender Id, or Phone number. For more information about resource-based policies, see Working with shared resources in the End User Messaging SMS User Guide."]modulePutRegistrationFieldValueResult=structtypenonrect={registrationArn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) for the registration."];registrationId:String_.toption[@ocaml.doc"The unique identifier for the registration."];versionNumber:RegistrationVersionNumber.toption[@ocaml.doc"The version number of the registration."];fieldPath:FieldPath.toption[@ocaml.doc"The path to the registration form field. You can use DescribeRegistrationFieldDefinitions for a list of FieldPaths."];selectChoices:SelectChoiceList.toption[@ocaml.doc"An array of values for the form field."];textValue:TextValue.toption[@ocaml.doc"The text data for a free form field."];registrationAttachmentId:String_.toption[@ocaml.doc"The unique identifier for the registration attachment."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?registrationArn=fun?registrationId->fun?versionNumber->fun?fieldPath->fun?selectChoices->fun?textValue->fun?registrationAttachmentId->fun()->{registrationArn;registrationId;versionNumber;fieldPath;selectChoices;textValue;registrationAttachmentId}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[("RegistrationArn",(Option.mapx.registrationArn~f:String_.to_value));("RegistrationId",(Option.mapx.registrationId~f:String_.to_value));("VersionNumber",(Option.mapx.versionNumber~f:RegistrationVersionNumber.to_value));("FieldPath",(Option.mapx.fieldPath~f:FieldPath.to_value));("SelectChoices",(Option.mapx.selectChoices~f:SelectChoiceList.to_value));("TextValue",(Option.mapx.textValue~f:TextValue.to_value));("RegistrationAttachmentId",(Option.mapx.registrationAttachmentId~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letregistrationAttachmentId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RegistrationAttachmentId")inlettextValue=(Option.map~f:TextValue.of_xml)(Xml.childxml_arg0"TextValue")inletselectChoices=(Option.map~f:SelectChoiceList.of_xml)(Xml.childxml_arg0"SelectChoices")inletfieldPath=(Option.map~f:FieldPath.of_xml)(Xml.childxml_arg0"FieldPath")inletversionNumber=(Option.map~f:RegistrationVersionNumber.of_xml)(Xml.childxml_arg0"VersionNumber")inletregistrationId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RegistrationId")inletregistrationArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RegistrationArn")inmake?registrationAttachmentId?textValue?selectChoices?fieldPath?versionNumber?registrationId?registrationArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letregistrationAttachmentId=field_mapjson__"RegistrationAttachmentId"String_.of_jsoninlettextValue=field_mapjson__"TextValue"TextValue.of_jsoninletselectChoices=field_mapjson__"SelectChoices"SelectChoiceList.of_jsoninletfieldPath=field_mapjson__"FieldPath"FieldPath.of_jsoninletversionNumber=field_mapjson__"VersionNumber"RegistrationVersionNumber.of_jsoninletregistrationId=field_mapjson__"RegistrationId"String_.of_jsoninletregistrationArn=field_mapjson__"RegistrationArn"String_.of_jsoninmake?registrationAttachmentId?textValue?selectChoices?fieldPath?versionNumber?registrationId?registrationArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates or updates a field value for a registration."]modulePutRegistrationFieldValueRequest=structtypenonrect={registrationId:RegistrationIdOrArn.t[@ocaml.doc"The unique identifier for the registration."];fieldPath:FieldPath.t[@ocaml.doc"The path to the registration form field. You can use DescribeRegistrationFieldDefinitions for a list of FieldPaths."];selectChoices:SelectChoiceList.toption[@ocaml.doc"An array of values for the form field."];textValue:TextValue.toption[@ocaml.doc"The text data for a free form field."];registrationAttachmentId:RegistrationAttachmentIdOrArn.toption[@ocaml.doc"The unique identifier for the registration attachment."]}letcontext_="PutRegistrationFieldValueRequest"letmake?selectChoices=fun?textValue->fun?registrationAttachmentId->fun~registrationId->fun~fieldPath->fun()->{selectChoices;textValue;registrationAttachmentId;registrationId;fieldPath}letto_valuex=structure_to_value[("RegistrationId",(Some(RegistrationIdOrArn.to_valuex.registrationId)));("FieldPath",(Some(FieldPath.to_valuex.fieldPath)));("SelectChoices",(Option.mapx.selectChoices~f:SelectChoiceList.to_value));("TextValue",(Option.mapx.textValue~f:TextValue.to_value));("RegistrationAttachmentId",(Option.mapx.registrationAttachmentId~f:RegistrationAttachmentIdOrArn.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letregistrationAttachmentId=(Option.map~f:RegistrationAttachmentIdOrArn.of_xml)(Xml.childxml_arg0"RegistrationAttachmentId")inlettextValue=(Option.map~f:TextValue.of_xml)(Xml.childxml_arg0"TextValue")inletselectChoices=(Option.map~f:SelectChoiceList.of_xml)(Xml.childxml_arg0"SelectChoices")inletfieldPath=FieldPath.of_xml(Xml.child_exn~context:context_xml_arg0"FieldPath")inletregistrationId=RegistrationIdOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"RegistrationId")inmake?registrationAttachmentId?textValue?selectChoices~fieldPath~registrationId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letregistrationAttachmentId=field_mapjson__"RegistrationAttachmentId"RegistrationAttachmentIdOrArn.of_jsoninlettextValue=field_mapjson__"TextValue"TextValue.of_jsoninletselectChoices=field_mapjson__"SelectChoices"SelectChoiceList.of_jsoninletfieldPath=field_map_exnjson__"FieldPath"FieldPath.of_jsoninletregistrationId=field_map_exnjson__"RegistrationId"RegistrationIdOrArn.of_jsoninmake?registrationAttachmentId?textValue?selectChoices~fieldPath~registrationId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates or updates a field value for a registration."]modulePutProtectConfigurationRuleSetNumberOverrideResult=structtypenonrect={protectConfigurationArn:ProtectConfigurationArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the protect configuration."];protectConfigurationId:ProtectConfigurationId.toption[@ocaml.doc"The unique identifier for the protect configuration."];destinationPhoneNumber:PhoneNumber.toption[@ocaml.doc"The destination phone number in E.164 format."];createdTimestamp:Timestamp.toption[@ocaml.doc"The time when the rule was created, in UNIX epoch time format."];action:ProtectConfigurationRuleOverrideAction.toption[@ocaml.doc"The action for the rule to take."];isoCountryCode:IsoCountryCode.toption[@ocaml.doc"The two-character code, in ISO 3166-1 alpha-2 format, for the country or region."];expirationTimestamp:Timestamp.toption[@ocaml.doc"The time the rule will expire at."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?protectConfigurationArn=fun?protectConfigurationId->fun?destinationPhoneNumber->fun?createdTimestamp->fun?action->fun?isoCountryCode->fun?expirationTimestamp->fun()->{protectConfigurationArn;protectConfigurationId;destinationPhoneNumber;createdTimestamp;action;isoCountryCode;expirationTimestamp}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"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)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`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[("ProtectConfigurationArn",(Option.mapx.protectConfigurationArn~f:ProtectConfigurationArn.to_value));("ProtectConfigurationId",(Option.mapx.protectConfigurationId~f:ProtectConfigurationId.to_value));("DestinationPhoneNumber",(Option.mapx.destinationPhoneNumber~f:PhoneNumber.to_value));("CreatedTimestamp",(Option.mapx.createdTimestamp~f:Timestamp.to_value));("Action",(Option.mapx.action~f:ProtectConfigurationRuleOverrideAction.to_value));("IsoCountryCode",(Option.mapx.isoCountryCode~f:IsoCountryCode.to_value));("ExpirationTimestamp",(Option.mapx.expirationTimestamp~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letexpirationTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"ExpirationTimestamp")inletisoCountryCode=(Option.map~f:IsoCountryCode.of_xml)(Xml.childxml_arg0"IsoCountryCode")inletaction=(Option.map~f:ProtectConfigurationRuleOverrideAction.of_xml)(Xml.childxml_arg0"Action")inletcreatedTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"CreatedTimestamp")inletdestinationPhoneNumber=(Option.map~f:PhoneNumber.of_xml)(Xml.childxml_arg0"DestinationPhoneNumber")inletprotectConfigurationId=(Option.map~f:ProtectConfigurationId.of_xml)(Xml.childxml_arg0"ProtectConfigurationId")inletprotectConfigurationArn=(Option.map~f:ProtectConfigurationArn.of_xml)(Xml.childxml_arg0"ProtectConfigurationArn")inmake?expirationTimestamp?isoCountryCode?action?createdTimestamp?destinationPhoneNumber?protectConfigurationId?protectConfigurationArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letexpirationTimestamp=field_mapjson__"ExpirationTimestamp"Timestamp.of_jsoninletisoCountryCode=field_mapjson__"IsoCountryCode"IsoCountryCode.of_jsoninletaction=field_mapjson__"Action"ProtectConfigurationRuleOverrideAction.of_jsoninletcreatedTimestamp=field_mapjson__"CreatedTimestamp"Timestamp.of_jsoninletdestinationPhoneNumber=field_mapjson__"DestinationPhoneNumber"PhoneNumber.of_jsoninletprotectConfigurationId=field_mapjson__"ProtectConfigurationId"ProtectConfigurationId.of_jsoninletprotectConfigurationArn=field_mapjson__"ProtectConfigurationArn"ProtectConfigurationArn.of_jsoninmake?expirationTimestamp?isoCountryCode?action?createdTimestamp?destinationPhoneNumber?protectConfigurationId?protectConfigurationArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Create or update a phone number rule override and associate it with a protect configuration."]modulePutProtectConfigurationRuleSetNumberOverrideRequest=structtypenonrect={clientToken:ClientToken.toption[@ocaml.doc"Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don't specify a client token, a randomly generated token is used for the request to ensure idempotency."];protectConfigurationId:ProtectConfigurationIdOrArn.t[@ocaml.doc"The unique identifier for the protect configuration."];destinationPhoneNumber:PhoneNumber.t[@ocaml.doc"The destination phone number in E.164 format."];action:ProtectConfigurationRuleOverrideAction.t[@ocaml.doc"The action for the rule to either block or allow messages to the destination phone number."];expirationTimestamp:Timestamp.toption[@ocaml.doc"The time the rule will expire at. If ExpirationTimestamp is not set then the rule does not expire."]}letcontext_="PutProtectConfigurationRuleSetNumberOverrideRequest"letmake?clientToken=fun?expirationTimestamp->fun~protectConfigurationId->fun~destinationPhoneNumber->fun~action->fun()->{clientToken;expirationTimestamp;protectConfigurationId;destinationPhoneNumber;action}letto_valuex=structure_to_value[("ClientToken",(Option.mapx.clientToken~f:ClientToken.to_value));("ProtectConfigurationId",(Some(ProtectConfigurationIdOrArn.to_valuex.protectConfigurationId)));("DestinationPhoneNumber",(Some(PhoneNumber.to_valuex.destinationPhoneNumber)));("Action",(Some(ProtectConfigurationRuleOverrideAction.to_valuex.action)));("ExpirationTimestamp",(Option.mapx.expirationTimestamp~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letexpirationTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"ExpirationTimestamp")inletaction=ProtectConfigurationRuleOverrideAction.of_xml(Xml.child_exn~context:context_xml_arg0"Action")inletdestinationPhoneNumber=PhoneNumber.of_xml(Xml.child_exn~context:context_xml_arg0"DestinationPhoneNumber")inletprotectConfigurationId=ProtectConfigurationIdOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"ProtectConfigurationId")inletclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"ClientToken")inmake?expirationTimestamp~action~destinationPhoneNumber~protectConfigurationId?clientToken()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letexpirationTimestamp=field_mapjson__"ExpirationTimestamp"Timestamp.of_jsoninletaction=field_map_exnjson__"Action"ProtectConfigurationRuleOverrideAction.of_jsoninletdestinationPhoneNumber=field_map_exnjson__"DestinationPhoneNumber"PhoneNumber.of_jsoninletprotectConfigurationId=field_map_exnjson__"ProtectConfigurationId"ProtectConfigurationIdOrArn.of_jsoninletclientToken=field_mapjson__"ClientToken"ClientToken.of_jsoninmake?expirationTimestamp~action~destinationPhoneNumber~protectConfigurationId?clientToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Create or update a phone number rule override and associate it with a protect configuration."]modulePutOptedOutNumberResult=structtypenonrect={optOutListArn:String_.toption[@ocaml.doc"The OptOutListArn that the phone number was removed from."];optOutListName:OptOutListName.toption[@ocaml.doc"The OptOutListName that the phone number was removed from."];optedOutNumber:PhoneNumber.toption[@ocaml.doc"The phone number that was added to the OptOutList."];optedOutTimestamp:Timestamp.toption[@ocaml.doc"The time that the phone number was added to the OptOutList, in UNIX epoch time format."];endUserOptedOut:PrimitiveBoolean.toption[@ocaml.doc"This is true if it was the end user who requested their phone number be removed."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?optOutListArn=fun?optOutListName->fun?optedOutNumber->fun?optedOutTimestamp->fun?endUserOptedOut->fun()->{optOutListArn;optOutListName;optedOutNumber;optedOutTimestamp;endUserOptedOut}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[("OptOutListArn",(Option.mapx.optOutListArn~f:String_.to_value));("OptOutListName",(Option.mapx.optOutListName~f:OptOutListName.to_value));("OptedOutNumber",(Option.mapx.optedOutNumber~f:PhoneNumber.to_value));("OptedOutTimestamp",(Option.mapx.optedOutTimestamp~f:Timestamp.to_value));("EndUserOptedOut",(Option.mapx.endUserOptedOut~f:PrimitiveBoolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letendUserOptedOut=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"EndUserOptedOut")inletoptedOutTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"OptedOutTimestamp")inletoptedOutNumber=(Option.map~f:PhoneNumber.of_xml)(Xml.childxml_arg0"OptedOutNumber")inletoptOutListName=(Option.map~f:OptOutListName.of_xml)(Xml.childxml_arg0"OptOutListName")inletoptOutListArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"OptOutListArn")inmake?endUserOptedOut?optedOutTimestamp?optedOutNumber?optOutListName?optOutListArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letendUserOptedOut=field_mapjson__"EndUserOptedOut"PrimitiveBoolean.of_jsoninletoptedOutTimestamp=field_mapjson__"OptedOutTimestamp"Timestamp.of_jsoninletoptedOutNumber=field_mapjson__"OptedOutNumber"PhoneNumber.of_jsoninletoptOutListName=field_mapjson__"OptOutListName"OptOutListName.of_jsoninletoptOutListArn=field_mapjson__"OptOutListArn"String_.of_jsoninmake?endUserOptedOut?optedOutTimestamp?optedOutNumber?optOutListName?optOutListArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates an opted out destination phone number in the opt-out list. If the destination phone number isn't valid or if the specified opt-out list doesn't exist, an error is returned."]modulePutOptedOutNumberRequest=structtypenonrect={optOutListName:OptOutListNameOrArn.t[@ocaml.doc"The OptOutListName or OptOutListArn to add the phone number to. If you are using a shared End User Messaging SMS resource then you must use the full Amazon Resource Name(ARN)."];optedOutNumber:PhoneNumber.t[@ocaml.doc"The phone number to add to the OptOutList in E.164 format."]}letcontext_="PutOptedOutNumberRequest"letmake~optOutListName=fun~optedOutNumber->fun()->{optOutListName;optedOutNumber}letto_valuex=structure_to_value[("OptOutListName",(Some(OptOutListNameOrArn.to_valuex.optOutListName)));("OptedOutNumber",(Some(PhoneNumber.to_valuex.optedOutNumber)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letoptedOutNumber=PhoneNumber.of_xml(Xml.child_exn~context:context_xml_arg0"OptedOutNumber")inletoptOutListName=OptOutListNameOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"OptOutListName")inmake~optedOutNumber~optOutListName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letoptedOutNumber=field_map_exnjson__"OptedOutNumber"PhoneNumber.of_jsoninletoptOutListName=field_map_exnjson__"OptOutListName"OptOutListNameOrArn.of_jsoninmake~optedOutNumber~optOutListName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates an opted out destination phone number in the opt-out list. If the destination phone number isn't valid or if the specified opt-out list doesn't exist, an error is returned."]modulePutMessageFeedbackResult=structtypenonrect={messageId:MessageId.toption[@ocaml.doc"The unique identifier for the message."];messageFeedbackStatus:MessageFeedbackStatus.toption[@ocaml.doc"The current status of the message."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?messageId=fun?messageFeedbackStatus->fun()->{messageId;messageFeedbackStatus}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[("MessageId",(Option.mapx.messageId~f:MessageId.to_value));("MessageFeedbackStatus",(Option.mapx.messageFeedbackStatus~f:MessageFeedbackStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessageFeedbackStatus=(Option.map~f:MessageFeedbackStatus.of_xml)(Xml.childxml_arg0"MessageFeedbackStatus")inletmessageId=(Option.map~f:MessageId.of_xml)(Xml.childxml_arg0"MessageId")inmake?messageFeedbackStatus?messageId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessageFeedbackStatus=field_mapjson__"MessageFeedbackStatus"MessageFeedbackStatus.of_jsoninletmessageId=field_mapjson__"MessageId"MessageId.of_jsoninmake?messageFeedbackStatus?messageId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Set the MessageFeedbackStatus as RECEIVED or FAILED for the passed in MessageId. If you use message feedback then you must update message feedback record. When you receive a signal that a user has received the message you must use PutMessageFeedback to set the message feedback record as RECEIVED; Otherwise, an hour after the message feedback record is set to FAILED."]modulePutMessageFeedbackRequest=structtypenonrect={messageId:MessageId.t[@ocaml.doc"The unique identifier for the message."];messageFeedbackStatus:MessageFeedbackStatus.t[@ocaml.doc"Set the message feedback to be either RECEIVED or FAILED."]}letcontext_="PutMessageFeedbackRequest"letmake~messageId=fun~messageFeedbackStatus->fun()->{messageId;messageFeedbackStatus}letto_valuex=structure_to_value[("MessageId",(Some(MessageId.to_valuex.messageId)));("MessageFeedbackStatus",(Some(MessageFeedbackStatus.to_valuex.messageFeedbackStatus)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessageFeedbackStatus=MessageFeedbackStatus.of_xml(Xml.child_exn~context:context_xml_arg0"MessageFeedbackStatus")inletmessageId=MessageId.of_xml(Xml.child_exn~context:context_xml_arg0"MessageId")inmake~messageFeedbackStatus~messageId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessageFeedbackStatus=field_map_exnjson__"MessageFeedbackStatus"MessageFeedbackStatus.of_jsoninletmessageId=field_map_exnjson__"MessageId"MessageId.of_jsoninmake~messageFeedbackStatus~messageId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Set the MessageFeedbackStatus as RECEIVED or FAILED for the passed in MessageId. If you use message feedback then you must update message feedback record. When you receive a signal that a user has received the message you must use PutMessageFeedback to set the message feedback record as RECEIVED; Otherwise, an hour after the message feedback record is set to FAILED."]modulePutKeywordResult=structtypenonrect={originationIdentityArn:String_.toption[@ocaml.doc"The PhoneNumberArn or PoolArn that the keyword was associated with."];originationIdentity:String_.toption[@ocaml.doc"The PhoneNumberId or PoolId that the keyword was associated with."];keyword:Keyword.toption[@ocaml.doc"The keyword that was added."];keywordMessage:KeywordMessage.toption[@ocaml.doc"The message associated with the keyword."];keywordAction:KeywordAction.toption[@ocaml.doc"The action to perform when the keyword is used."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?originationIdentityArn=fun?originationIdentity->fun?keyword->fun?keywordMessage->fun?keywordAction->fun()->{originationIdentityArn;originationIdentity;keyword;keywordMessage;keywordAction}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"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)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`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[("OriginationIdentityArn",(Option.mapx.originationIdentityArn~f:String_.to_value));("OriginationIdentity",(Option.mapx.originationIdentity~f:String_.to_value));("Keyword",(Option.mapx.keyword~f:Keyword.to_value));("KeywordMessage",(Option.mapx.keywordMessage~f:KeywordMessage.to_value));("KeywordAction",(Option.mapx.keywordAction~f:KeywordAction.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letkeywordAction=(Option.map~f:KeywordAction.of_xml)(Xml.childxml_arg0"KeywordAction")inletkeywordMessage=(Option.map~f:KeywordMessage.of_xml)(Xml.childxml_arg0"KeywordMessage")inletkeyword=(Option.map~f:Keyword.of_xml)(Xml.childxml_arg0"Keyword")inletoriginationIdentity=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"OriginationIdentity")inletoriginationIdentityArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"OriginationIdentityArn")inmake?keywordAction?keywordMessage?keyword?originationIdentity?originationIdentityArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letkeywordAction=field_mapjson__"KeywordAction"KeywordAction.of_jsoninletkeywordMessage=field_mapjson__"KeywordMessage"KeywordMessage.of_jsoninletkeyword=field_mapjson__"Keyword"Keyword.of_jsoninletoriginationIdentity=field_mapjson__"OriginationIdentity"String_.of_jsoninletoriginationIdentityArn=field_mapjson__"OriginationIdentityArn"String_.of_jsoninmake?keywordAction?keywordMessage?keyword?originationIdentity?originationIdentityArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates or updates a keyword configuration on an origination phone number or pool. A keyword is a word that you can search for on a particular phone number or pool. It is also a specific word or phrase that an end user can send to your number to elicit a response, such as an informational message or a special offer. When your number receives a message that begins with a keyword, End User Messaging SMS responds with a customizable message. If you specify a keyword that isn't valid, an error is returned."]modulePutKeywordRequest=structtypenonrect={originationIdentity:PhoneOrPoolIdOrArn.t[@ocaml.doc"The origination identity to use such as a PhoneNumberId, PhoneNumberArn, SenderId or SenderIdArn. You can use DescribePhoneNumbers get the values for PhoneNumberId and PhoneNumberArn while DescribeSenderIds can be used to get the values for SenderId and SenderIdArn. If you are using a shared End User Messaging SMS resource then you must use the full Amazon Resource Name(ARN)."];keyword:Keyword.t[@ocaml.doc"The new keyword to add."];keywordMessage:KeywordMessage.t[@ocaml.doc"The message associated with the keyword."];keywordAction:KeywordAction.toption[@ocaml.doc"The action to perform for the new keyword when it is received. AUTOMATIC_RESPONSE: A message is sent to the recipient. OPT_OUT: Keeps the recipient from receiving future messages. OPT_IN: The recipient wants to receive future messages."]}letcontext_="PutKeywordRequest"letmake?keywordAction=fun~originationIdentity->fun~keyword->fun~keywordMessage->fun()->{keywordAction;originationIdentity;keyword;keywordMessage}letto_valuex=structure_to_value[("OriginationIdentity",(Some(PhoneOrPoolIdOrArn.to_valuex.originationIdentity)));("Keyword",(Some(Keyword.to_valuex.keyword)));("KeywordMessage",(Some(KeywordMessage.to_valuex.keywordMessage)));("KeywordAction",(Option.mapx.keywordAction~f:KeywordAction.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letkeywordAction=(Option.map~f:KeywordAction.of_xml)(Xml.childxml_arg0"KeywordAction")inletkeywordMessage=KeywordMessage.of_xml(Xml.child_exn~context:context_xml_arg0"KeywordMessage")inletkeyword=Keyword.of_xml(Xml.child_exn~context:context_xml_arg0"Keyword")inletoriginationIdentity=PhoneOrPoolIdOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"OriginationIdentity")inmake?keywordAction~keywordMessage~keyword~originationIdentity()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letkeywordAction=field_mapjson__"KeywordAction"KeywordAction.of_jsoninletkeywordMessage=field_map_exnjson__"KeywordMessage"KeywordMessage.of_jsoninletkeyword=field_map_exnjson__"Keyword"Keyword.of_jsoninletoriginationIdentity=field_map_exnjson__"OriginationIdentity"PhoneOrPoolIdOrArn.of_jsoninmake?keywordAction~keywordMessage~keyword~originationIdentity()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates or updates a keyword configuration on an origination phone number or pool. A keyword is a word that you can search for on a particular phone number or pool. It is also a specific word or phrase that an end user can send to your number to elicit a response, such as an informational message or a special offer. When your number receives a message that begins with a keyword, End User Messaging SMS responds with a customizable message. If you specify a keyword that isn't valid, an error is returned."]moduleListTagsForResourceResult=structtypenonrect={resourceArn:AmazonResourceName.toption[@ocaml.doc"The ARN of the resource."];tags:TagList.toption[@ocaml.doc"An array of key and value pair tags that are associated with the resource."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?resourceArn=fun?tags->fun()->{resourceArn;tags}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[("ResourceArn",(Option.mapx.resourceArn~f:AmazonResourceName.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")inletresourceArn=(Option.map~f:AmazonResourceName.of_xml)(Xml.childxml_arg0"ResourceArn")inmake?tags?resourceArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"Tags"TagList.of_jsoninletresourceArn=field_mapjson__"ResourceArn"AmazonResourceName.of_jsoninmake?tags?resourceArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"List all tags associated with a resource."]moduleListTagsForResourceRequest=structtypenonrect={resourceArn:AmazonResourceName.t[@ocaml.doc"The Amazon Resource Name (ARN) of the resource to query for."]}letcontext_="ListTagsForResourceRequest"letmake~resourceArn=fun()->{resourceArn}letto_valuex=structure_to_value[("ResourceArn",(Some(AmazonResourceName.to_valuex.resourceArn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresourceArn=AmazonResourceName.of_xml(Xml.child_exn~context:context_xml_arg0"ResourceArn")inmake~resourceArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresourceArn=field_map_exnjson__"ResourceArn"AmazonResourceName.of_jsoninmake~resourceArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"List all tags associated with a resource."]moduleListRegistrationAssociationsResult=structtypenonrect={registrationArn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) for the registration."];registrationId:String_.toption[@ocaml.doc"The unique identifier for the registration."];registrationType:RegistrationType.toption[@ocaml.doc"The type of registration form. The list of RegistrationTypes can be found using the DescribeRegistrationTypeDefinitions action."];registrationAssociations:RegistrationAssociationMetadataList.toption[@ocaml.doc"An array of RegistrationAssociationMetadata objects."];nextToken:NextToken.toption[@ocaml.doc"The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?registrationArn=fun?registrationId->fun?registrationType->fun?registrationAssociations->fun?nextToken->fun()->{registrationArn;registrationId;registrationType;registrationAssociations;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[("RegistrationArn",(Option.mapx.registrationArn~f:String_.to_value));("RegistrationId",(Option.mapx.registrationId~f:String_.to_value));("RegistrationType",(Option.mapx.registrationType~f:RegistrationType.to_value));("RegistrationAssociations",(Option.mapx.registrationAssociations~f:RegistrationAssociationMetadataList.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")inletregistrationAssociations=(Option.map~f:RegistrationAssociationMetadataList.of_xml)(Xml.childxml_arg0"RegistrationAssociations")inletregistrationType=(Option.map~f:RegistrationType.of_xml)(Xml.childxml_arg0"RegistrationType")inletregistrationId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RegistrationId")inletregistrationArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RegistrationArn")inmake?nextToken?registrationAssociations?registrationType?registrationId?registrationArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletregistrationAssociations=field_mapjson__"RegistrationAssociations"RegistrationAssociationMetadataList.of_jsoninletregistrationType=field_mapjson__"RegistrationType"RegistrationType.of_jsoninletregistrationId=field_mapjson__"RegistrationId"String_.of_jsoninletregistrationArn=field_mapjson__"RegistrationArn"String_.of_jsoninmake?nextToken?registrationAssociations?registrationType?registrationId?registrationArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieve all of the origination identities that are associated with a registration."]moduleListRegistrationAssociationsRequest=structtypenonrect={registrationId:RegistrationIdOrArn.t[@ocaml.doc"The unique identifier for the registration."];filters:RegistrationAssociationFilterList.toption[@ocaml.doc"An array of RegistrationAssociationFilter to apply to the results that are returned."];nextToken:NextToken.toption[@ocaml.doc"The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request."];maxResults:MaxResults.toption[@ocaml.doc"The maximum number of results to return per each request."]}letcontext_="ListRegistrationAssociationsRequest"letmake?filters=fun?nextToken->fun?maxResults->fun~registrationId->fun()->{filters;nextToken;maxResults;registrationId}letto_valuex=structure_to_value[("RegistrationId",(Some(RegistrationIdOrArn.to_valuex.registrationId)));("Filters",(Option.mapx.filters~f:RegistrationAssociationFilterList.to_value));("NextToken",(Option.mapx.nextToken~f:NextToken.to_value));("MaxResults",(Option.mapx.maxResults~f:MaxResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"MaxResults")inletnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"NextToken")inletfilters=(Option.map~f:RegistrationAssociationFilterList.of_xml)(Xml.childxml_arg0"Filters")inletregistrationId=RegistrationIdOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"RegistrationId")inmake?maxResults?nextToken?filters~registrationId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"MaxResults"MaxResults.of_jsoninletnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletfilters=field_mapjson__"Filters"RegistrationAssociationFilterList.of_jsoninletregistrationId=field_map_exnjson__"RegistrationId"RegistrationIdOrArn.of_jsoninmake?maxResults?nextToken?filters~registrationId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieve all of the origination identities that are associated with a registration."]moduleListProtectConfigurationRuleSetNumberOverridesResult=structtypenonrect={protectConfigurationArn:ProtectConfigurationArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the protect configuration."];protectConfigurationId:ProtectConfigurationId.toption[@ocaml.doc"The unique identifier for the protect configuration."];ruleSetNumberOverrides:ProtectConfigurationRuleSetNumberOverrideList.toption[@ocaml.doc"An array of RuleSetNumberOverrides objects."];nextToken:NextToken.toption[@ocaml.doc"The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?protectConfigurationArn=fun?protectConfigurationId->fun?ruleSetNumberOverrides->fun?nextToken->fun()->{protectConfigurationArn;protectConfigurationId;ruleSetNumberOverrides;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[("ProtectConfigurationArn",(Option.mapx.protectConfigurationArn~f:ProtectConfigurationArn.to_value));("ProtectConfigurationId",(Option.mapx.protectConfigurationId~f:ProtectConfigurationId.to_value));("RuleSetNumberOverrides",(Option.mapx.ruleSetNumberOverrides~f:ProtectConfigurationRuleSetNumberOverrideList.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")inletruleSetNumberOverrides=(Option.map~f:ProtectConfigurationRuleSetNumberOverrideList.of_xml)(Xml.childxml_arg0"RuleSetNumberOverrides")inletprotectConfigurationId=(Option.map~f:ProtectConfigurationId.of_xml)(Xml.childxml_arg0"ProtectConfigurationId")inletprotectConfigurationArn=(Option.map~f:ProtectConfigurationArn.of_xml)(Xml.childxml_arg0"ProtectConfigurationArn")inmake?nextToken?ruleSetNumberOverrides?protectConfigurationId?protectConfigurationArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletruleSetNumberOverrides=field_mapjson__"RuleSetNumberOverrides"ProtectConfigurationRuleSetNumberOverrideList.of_jsoninletprotectConfigurationId=field_mapjson__"ProtectConfigurationId"ProtectConfigurationId.of_jsoninletprotectConfigurationArn=field_mapjson__"ProtectConfigurationArn"ProtectConfigurationArn.of_jsoninmake?nextToken?ruleSetNumberOverrides?protectConfigurationId?protectConfigurationArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieve all of the protect configuration rule set number overrides that match the filters."]moduleListProtectConfigurationRuleSetNumberOverridesRequest=structtypenonrect={protectConfigurationId:ProtectConfigurationIdOrArn.t[@ocaml.doc"The unique identifier for the protect configuration."];filters:ListProtectConfigurationRuleSetNumberOverrideFilter.toption[@ocaml.doc"An array of ProtectConfigurationRuleSetNumberOverrideFilterItem objects to filter the results."];nextToken:NextToken.toption[@ocaml.doc"The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request."];maxResults:MaxResults.toption[@ocaml.doc"The maximum number of results to return per each request."]}letcontext_="ListProtectConfigurationRuleSetNumberOverridesRequest"letmake?filters=fun?nextToken->fun?maxResults->fun~protectConfigurationId->fun()->{filters;nextToken;maxResults;protectConfigurationId}letto_valuex=structure_to_value[("ProtectConfigurationId",(Some(ProtectConfigurationIdOrArn.to_valuex.protectConfigurationId)));("Filters",(Option.mapx.filters~f:ListProtectConfigurationRuleSetNumberOverrideFilter.to_value));("NextToken",(Option.mapx.nextToken~f:NextToken.to_value));("MaxResults",(Option.mapx.maxResults~f:MaxResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"MaxResults")inletnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"NextToken")inletfilters=(Option.map~f:ListProtectConfigurationRuleSetNumberOverrideFilter.of_xml)(Xml.childxml_arg0"Filters")inletprotectConfigurationId=ProtectConfigurationIdOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"ProtectConfigurationId")inmake?maxResults?nextToken?filters~protectConfigurationId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"MaxResults"MaxResults.of_jsoninletnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletfilters=field_mapjson__"Filters"ListProtectConfigurationRuleSetNumberOverrideFilter.of_jsoninletprotectConfigurationId=field_map_exnjson__"ProtectConfigurationId"ProtectConfigurationIdOrArn.of_jsoninmake?maxResults?nextToken?filters~protectConfigurationId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieve all of the protect configuration rule set number overrides that match the filters."]moduleListPoolOriginationIdentitiesResult=structtypenonrect={poolArn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) for the pool."];poolId:String_.toption[@ocaml.doc"The unique PoolId of the pool."];originationIdentities:OriginationIdentityMetadataList.toption[@ocaml.doc"An array of any OriginationIdentityMetadata objects."];nextToken:NextToken.toption[@ocaml.doc"The token to be used for the next set of paginated results. If this field is empty then there are no more results."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?poolArn=fun?poolId->fun?originationIdentities->fun?nextToken->fun()->{poolArn;poolId;originationIdentities;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[("PoolArn",(Option.mapx.poolArn~f:String_.to_value));("PoolId",(Option.mapx.poolId~f:String_.to_value));("OriginationIdentities",(Option.mapx.originationIdentities~f:OriginationIdentityMetadataList.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")inletoriginationIdentities=(Option.map~f:OriginationIdentityMetadataList.of_xml)(Xml.childxml_arg0"OriginationIdentities")inletpoolId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"PoolId")inletpoolArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"PoolArn")inmake?nextToken?originationIdentities?poolId?poolArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletoriginationIdentities=field_mapjson__"OriginationIdentities"OriginationIdentityMetadataList.of_jsoninletpoolId=field_mapjson__"PoolId"String_.of_jsoninletpoolArn=field_mapjson__"PoolArn"String_.of_jsoninmake?nextToken?originationIdentities?poolId?poolArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists all associated origination identities in your pool. If you specify filters, the output includes information for only those origination identities that meet the filter criteria."]moduleListPoolOriginationIdentitiesRequest=structtypenonrect={poolId:PoolIdOrArn.t[@ocaml.doc"The unique identifier for the pool. This value can be either the PoolId or PoolArn. If you are using a shared End User Messaging SMS resource then you must use the full Amazon Resource Name(ARN)."];filters:PoolOriginationIdentitiesFilterList.toption[@ocaml.doc"An array of PoolOriginationIdentitiesFilter objects to filter the results.."];nextToken:NextToken.toption[@ocaml.doc"The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request."];maxResults:MaxResults.toption[@ocaml.doc"The maximum number of results to return per each request."]}letcontext_="ListPoolOriginationIdentitiesRequest"letmake?filters=fun?nextToken->fun?maxResults->fun~poolId->fun()->{filters;nextToken;maxResults;poolId}letto_valuex=structure_to_value[("PoolId",(Some(PoolIdOrArn.to_valuex.poolId)));("Filters",(Option.mapx.filters~f:PoolOriginationIdentitiesFilterList.to_value));("NextToken",(Option.mapx.nextToken~f:NextToken.to_value));("MaxResults",(Option.mapx.maxResults~f:MaxResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"MaxResults")inletnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"NextToken")inletfilters=(Option.map~f:PoolOriginationIdentitiesFilterList.of_xml)(Xml.childxml_arg0"Filters")inletpoolId=PoolIdOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"PoolId")inmake?maxResults?nextToken?filters~poolId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"MaxResults"MaxResults.of_jsoninletnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletfilters=field_mapjson__"Filters"PoolOriginationIdentitiesFilterList.of_jsoninletpoolId=field_map_exnjson__"PoolId"PoolIdOrArn.of_jsoninmake?maxResults?nextToken?filters~poolId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists all associated origination identities in your pool. If you specify filters, the output includes information for only those origination identities that meet the filter criteria."]moduleListNotifyCountriesResult=structtypenonrect={notifyCountries:NotifyCountryInformationList.toption[@ocaml.doc"An array of NotifyCountryInformation objects that contain the results."];nextToken:NextToken.toption[@ocaml.doc"The token to be used for the next set of paginated results. If this field is empty then there are no more results."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?notifyCountries=fun?nextToken->fun()->{notifyCountries;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[("NotifyCountries",(Option.mapx.notifyCountries~f:NotifyCountryInformationList.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")inletnotifyCountries=(Option.map~f:NotifyCountryInformationList.of_xml)(Xml.childxml_arg0"NotifyCountries")inmake?nextToken?notifyCountries()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletnotifyCountries=field_mapjson__"NotifyCountries"NotifyCountryInformationList.of_jsoninmake?nextToken?notifyCountries()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists countries that support notify messaging. You can optionally filter by channel, use case, or tier."]moduleListNotifyCountriesRequest=structtypenonrect={channels:NotifyEnabledChannelsList.toption[@ocaml.doc"An array of channels to filter the results by."];useCases:NotifyUseCaseList.toption[@ocaml.doc"An array of use cases to filter the results by."];tier:NotifyConfigurationTier.toption[@ocaml.doc"The tier to filter the results by."];nextToken:NextToken.toption[@ocaml.doc"The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request."];maxResults:MaxResults.toption[@ocaml.doc"The maximum number of results to return per each request."]}letmake?channels=fun?useCases->fun?tier->fun?nextToken->fun?maxResults->fun()->{channels;useCases;tier;nextToken;maxResults}letto_valuex=structure_to_value[("Channels",(Option.mapx.channels~f:NotifyEnabledChannelsList.to_value));("UseCases",(Option.mapx.useCases~f:NotifyUseCaseList.to_value));("Tier",(Option.mapx.tier~f:NotifyConfigurationTier.to_value));("NextToken",(Option.mapx.nextToken~f:NextToken.to_value));("MaxResults",(Option.mapx.maxResults~f:MaxResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"MaxResults")inletnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"NextToken")inlettier=(Option.map~f:NotifyConfigurationTier.of_xml)(Xml.childxml_arg0"Tier")inletuseCases=(Option.map~f:NotifyUseCaseList.of_xml)(Xml.childxml_arg0"UseCases")inletchannels=(Option.map~f:NotifyEnabledChannelsList.of_xml)(Xml.childxml_arg0"Channels")inmake?maxResults?nextToken?tier?useCases?channels()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"MaxResults"MaxResults.of_jsoninletnextToken=field_mapjson__"NextToken"NextToken.of_jsoninlettier=field_mapjson__"Tier"NotifyConfigurationTier.of_jsoninletuseCases=field_mapjson__"UseCases"NotifyUseCaseList.of_jsoninletchannels=field_mapjson__"Channels"NotifyEnabledChannelsList.of_jsoninmake?maxResults?nextToken?tier?useCases?channels()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists countries that support notify messaging. You can optionally filter by channel, use case, or tier."]moduleGetResourcePolicyResult=structtypenonrect={resourceArn:AmazonResourceName.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the End User Messaging SMS resource attached to the resource-based policy."];policy:ResourcePolicy.toption[@ocaml.doc"The JSON formatted string that contains the resource-based policy attached to the End User Messaging SMS resource."];createdTimestamp:Timestamp.toption[@ocaml.doc"The time when the resource-based policy was created, in UNIX epoch time format."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?resourceArn=fun?policy->fun?createdTimestamp->fun()->{resourceArn;policy;createdTimestamp}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[("ResourceArn",(Option.mapx.resourceArn~f:AmazonResourceName.to_value));("Policy",(Option.mapx.policy~f:ResourcePolicy.to_value));("CreatedTimestamp",(Option.mapx.createdTimestamp~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcreatedTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"CreatedTimestamp")inletpolicy=(Option.map~f:ResourcePolicy.of_xml)(Xml.childxml_arg0"Policy")inletresourceArn=(Option.map~f:AmazonResourceName.of_xml)(Xml.childxml_arg0"ResourceArn")inmake?createdTimestamp?policy?resourceArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcreatedTimestamp=field_mapjson__"CreatedTimestamp"Timestamp.of_jsoninletpolicy=field_mapjson__"Policy"ResourcePolicy.of_jsoninletresourceArn=field_mapjson__"ResourceArn"AmazonResourceName.of_jsoninmake?createdTimestamp?policy?resourceArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the JSON text of the resource-based policy document attached to the End User Messaging SMS resource. A shared resource can be a Pool, Opt-out list, Sender Id, or Phone number."]moduleGetResourcePolicyRequest=structtypenonrect={resourceArn:AmazonResourceName.t[@ocaml.doc"The Amazon Resource Name (ARN) of the End User Messaging SMS resource attached to the resource-based policy."]}letcontext_="GetResourcePolicyRequest"letmake~resourceArn=fun()->{resourceArn}letto_valuex=structure_to_value[("ResourceArn",(Some(AmazonResourceName.to_valuex.resourceArn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresourceArn=AmazonResourceName.of_xml(Xml.child_exn~context:context_xml_arg0"ResourceArn")inmake~resourceArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresourceArn=field_map_exnjson__"ResourceArn"AmazonResourceName.of_jsoninmake~resourceArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the JSON text of the resource-based policy document attached to the End User Messaging SMS resource. A shared resource can be a Pool, Opt-out list, Sender Id, or Phone number."]moduleGetProtectConfigurationCountryRuleSetResult=structtypenonrect={protectConfigurationArn:ProtectConfigurationArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the protect configuration."];protectConfigurationId:ProtectConfigurationId.toption[@ocaml.doc"The unique identifier for the protect configuration."];numberCapability:NumberCapability.toption[@ocaml.doc"The capability type associated with the returned ProtectConfigurationCountryRuleSetInformation objects."];countryRuleSet:ProtectConfigurationCountryRuleSet.toption[@ocaml.doc"A map of ProtectConfigurationCountryRuleSetInformation objects that contain the details for the requested NumberCapability. The Key is the two-letter ISO country code. For a list of supported ISO country codes, see Supported countries and regions (SMS channel) in the End User Messaging SMS User Guide."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?protectConfigurationArn=fun?protectConfigurationId->fun?numberCapability->fun?countryRuleSet->fun()->{protectConfigurationArn;protectConfigurationId;numberCapability;countryRuleSet}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[("ProtectConfigurationArn",(Option.mapx.protectConfigurationArn~f:ProtectConfigurationArn.to_value));("ProtectConfigurationId",(Option.mapx.protectConfigurationId~f:ProtectConfigurationId.to_value));("NumberCapability",(Option.mapx.numberCapability~f:NumberCapability.to_value));("CountryRuleSet",(Option.mapx.countryRuleSet~f:ProtectConfigurationCountryRuleSet.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcountryRuleSet=(Option.map~f:ProtectConfigurationCountryRuleSet.of_xml)(Xml.childxml_arg0"CountryRuleSet")inletnumberCapability=(Option.map~f:NumberCapability.of_xml)(Xml.childxml_arg0"NumberCapability")inletprotectConfigurationId=(Option.map~f:ProtectConfigurationId.of_xml)(Xml.childxml_arg0"ProtectConfigurationId")inletprotectConfigurationArn=(Option.map~f:ProtectConfigurationArn.of_xml)(Xml.childxml_arg0"ProtectConfigurationArn")inmake?countryRuleSet?numberCapability?protectConfigurationId?protectConfigurationArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcountryRuleSet=field_mapjson__"CountryRuleSet"ProtectConfigurationCountryRuleSet.of_jsoninletnumberCapability=field_mapjson__"NumberCapability"NumberCapability.of_jsoninletprotectConfigurationId=field_mapjson__"ProtectConfigurationId"ProtectConfigurationId.of_jsoninletprotectConfigurationArn=field_mapjson__"ProtectConfigurationArn"ProtectConfigurationArn.of_jsoninmake?countryRuleSet?numberCapability?protectConfigurationId?protectConfigurationArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieve the CountryRuleSet for the specified NumberCapability from a protect configuration."]moduleGetProtectConfigurationCountryRuleSetRequest=structtypenonrect={protectConfigurationId:ProtectConfigurationIdOrArn.t[@ocaml.doc"The unique identifier for the protect configuration."];numberCapability:NumberCapability.t[@ocaml.doc"The capability type to return the CountryRuleSet for. Valid values are SMS, VOICE, or MMS."]}letcontext_="GetProtectConfigurationCountryRuleSetRequest"letmake~protectConfigurationId=fun~numberCapability->fun()->{protectConfigurationId;numberCapability}letto_valuex=structure_to_value[("ProtectConfigurationId",(Some(ProtectConfigurationIdOrArn.to_valuex.protectConfigurationId)));("NumberCapability",(Some(NumberCapability.to_valuex.numberCapability)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnumberCapability=NumberCapability.of_xml(Xml.child_exn~context:context_xml_arg0"NumberCapability")inletprotectConfigurationId=ProtectConfigurationIdOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"ProtectConfigurationId")inmake~numberCapability~protectConfigurationId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnumberCapability=field_map_exnjson__"NumberCapability"NumberCapability.of_jsoninletprotectConfigurationId=field_map_exnjson__"ProtectConfigurationId"ProtectConfigurationIdOrArn.of_jsoninmake~numberCapability~protectConfigurationId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieve the CountryRuleSet for the specified NumberCapability from a protect configuration."]moduleDiscardRegistrationVersionResult=structtypenonrect={registrationArn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) for the registration."];registrationId:String_.toption[@ocaml.doc"The unique identifier for the registration."];versionNumber:RegistrationVersionNumber.toption[@ocaml.doc"The version number of the registration."];registrationVersionStatus:RegistrationVersionStatus.toption[@ocaml.doc"The status of the registration version. APPROVED: Your registration has been approved. ARCHIVED: Your previously approved registration version moves into this status when a more recently submitted version is approved. DENIED: You must fix your registration and resubmit it. DISCARDED: You've abandon this version of their registration to start over with a new version. DRAFT: The initial status of a registration version after it\226\128\153s created. REQUIRES_AUTHENTICATION: You need to complete email authentication. REVIEWING: Your registration has been accepted and is being reviewed. REVOKED: Your previously approved registration has been revoked. SUBMITTED: Your registration has been submitted."];registrationVersionStatusHistory:RegistrationVersionStatusHistory.toption[@ocaml.doc"The RegistrationVersionStatusHistory object contains the time stamps for when the reservations status changes."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?registrationArn=fun?registrationId->fun?versionNumber->fun?registrationVersionStatus->fun?registrationVersionStatusHistory->fun()->{registrationArn;registrationId;versionNumber;registrationVersionStatus;registrationVersionStatusHistory}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[("RegistrationArn",(Option.mapx.registrationArn~f:String_.to_value));("RegistrationId",(Option.mapx.registrationId~f:String_.to_value));("VersionNumber",(Option.mapx.versionNumber~f:RegistrationVersionNumber.to_value));("RegistrationVersionStatus",(Option.mapx.registrationVersionStatus~f:RegistrationVersionStatus.to_value));("RegistrationVersionStatusHistory",(Option.mapx.registrationVersionStatusHistory~f:RegistrationVersionStatusHistory.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letregistrationVersionStatusHistory=(Option.map~f:RegistrationVersionStatusHistory.of_xml)(Xml.childxml_arg0"RegistrationVersionStatusHistory")inletregistrationVersionStatus=(Option.map~f:RegistrationVersionStatus.of_xml)(Xml.childxml_arg0"RegistrationVersionStatus")inletversionNumber=(Option.map~f:RegistrationVersionNumber.of_xml)(Xml.childxml_arg0"VersionNumber")inletregistrationId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RegistrationId")inletregistrationArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RegistrationArn")inmake?registrationVersionStatusHistory?registrationVersionStatus?versionNumber?registrationId?registrationArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letregistrationVersionStatusHistory=field_mapjson__"RegistrationVersionStatusHistory"RegistrationVersionStatusHistory.of_jsoninletregistrationVersionStatus=field_mapjson__"RegistrationVersionStatus"RegistrationVersionStatus.of_jsoninletversionNumber=field_mapjson__"VersionNumber"RegistrationVersionNumber.of_jsoninletregistrationId=field_mapjson__"RegistrationId"String_.of_jsoninletregistrationArn=field_mapjson__"RegistrationArn"String_.of_jsoninmake?registrationVersionStatusHistory?registrationVersionStatus?versionNumber?registrationId?registrationArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Discard the current version of the registration."]moduleDiscardRegistrationVersionRequest=structtypenonrect={registrationId:RegistrationIdOrArn.t[@ocaml.doc"The unique identifier for the registration."]}letcontext_="DiscardRegistrationVersionRequest"letmake~registrationId=fun()->{registrationId}letto_valuex=structure_to_value[("RegistrationId",(Some(RegistrationIdOrArn.to_valuex.registrationId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letregistrationId=RegistrationIdOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"RegistrationId")inmake~registrationId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letregistrationId=field_map_exnjson__"RegistrationId"RegistrationIdOrArn.of_jsoninmake~registrationId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Discard the current version of the registration."]moduleDisassociateProtectConfigurationResult=structtypenonrect={configurationSetArn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the configuration set."];configurationSetName:ConfigurationSetName.toption[@ocaml.doc"The name of the ConfigurationSet."];protectConfigurationArn:ProtectConfigurationArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the protect configuration."];protectConfigurationId:ProtectConfigurationId.toption[@ocaml.doc"The unique identifier for the protect configuration."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?configurationSetArn=fun?configurationSetName->fun?protectConfigurationArn->fun?protectConfigurationId->fun()->{configurationSetArn;configurationSetName;protectConfigurationArn;protectConfigurationId}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[("ConfigurationSetArn",(Option.mapx.configurationSetArn~f:String_.to_value));("ConfigurationSetName",(Option.mapx.configurationSetName~f:ConfigurationSetName.to_value));("ProtectConfigurationArn",(Option.mapx.protectConfigurationArn~f:ProtectConfigurationArn.to_value));("ProtectConfigurationId",(Option.mapx.protectConfigurationId~f:ProtectConfigurationId.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letprotectConfigurationId=(Option.map~f:ProtectConfigurationId.of_xml)(Xml.childxml_arg0"ProtectConfigurationId")inletprotectConfigurationArn=(Option.map~f:ProtectConfigurationArn.of_xml)(Xml.childxml_arg0"ProtectConfigurationArn")inletconfigurationSetName=(Option.map~f:ConfigurationSetName.of_xml)(Xml.childxml_arg0"ConfigurationSetName")inletconfigurationSetArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"ConfigurationSetArn")inmake?protectConfigurationId?protectConfigurationArn?configurationSetName?configurationSetArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letprotectConfigurationId=field_mapjson__"ProtectConfigurationId"ProtectConfigurationId.of_jsoninletprotectConfigurationArn=field_mapjson__"ProtectConfigurationArn"ProtectConfigurationArn.of_jsoninletconfigurationSetName=field_mapjson__"ConfigurationSetName"ConfigurationSetName.of_jsoninletconfigurationSetArn=field_mapjson__"ConfigurationSetArn"String_.of_jsoninmake?protectConfigurationId?protectConfigurationArn?configurationSetName?configurationSetArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Disassociate a protect configuration from a configuration set."]moduleDisassociateProtectConfigurationRequest=structtypenonrect={protectConfigurationId:ProtectConfigurationIdOrArn.t[@ocaml.doc"The unique identifier for the protect configuration."];configurationSetName:ConfigurationSetNameOrArn.t[@ocaml.doc"The name of the ConfigurationSet."]}letcontext_="DisassociateProtectConfigurationRequest"letmake~protectConfigurationId=fun~configurationSetName->fun()->{protectConfigurationId;configurationSetName}letto_valuex=structure_to_value[("ProtectConfigurationId",(Some(ProtectConfigurationIdOrArn.to_valuex.protectConfigurationId)));("ConfigurationSetName",(Some(ConfigurationSetNameOrArn.to_valuex.configurationSetName)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letconfigurationSetName=ConfigurationSetNameOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"ConfigurationSetName")inletprotectConfigurationId=ProtectConfigurationIdOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"ProtectConfigurationId")inmake~configurationSetName~protectConfigurationId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letconfigurationSetName=field_map_exnjson__"ConfigurationSetName"ConfigurationSetNameOrArn.of_jsoninletprotectConfigurationId=field_map_exnjson__"ProtectConfigurationId"ProtectConfigurationIdOrArn.of_jsoninmake~configurationSetName~protectConfigurationId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Disassociate a protect configuration from a configuration set."]moduleDisassociateOriginationIdentityResult=structtypenonrect={poolArn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the pool."];poolId:String_.toption[@ocaml.doc"The PoolId of the pool no longer associated with the origination identity."];originationIdentityArn:String_.toption[@ocaml.doc"The PhoneNumberArn or SenderIdArn of the origination identity."];originationIdentity:String_.toption[@ocaml.doc"The PhoneNumberId or SenderId of the origination identity."];isoCountryCode:IsoCountryCode.toption[@ocaml.doc"The two-character code, in ISO 3166-1 alpha-2 format, for the country or region."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?poolArn=fun?poolId->fun?originationIdentityArn->fun?originationIdentity->fun?isoCountryCode->fun()->{poolArn;poolId;originationIdentityArn;originationIdentity;isoCountryCode}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[("PoolArn",(Option.mapx.poolArn~f:String_.to_value));("PoolId",(Option.mapx.poolId~f:String_.to_value));("OriginationIdentityArn",(Option.mapx.originationIdentityArn~f:String_.to_value));("OriginationIdentity",(Option.mapx.originationIdentity~f:String_.to_value));("IsoCountryCode",(Option.mapx.isoCountryCode~f:IsoCountryCode.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letisoCountryCode=(Option.map~f:IsoCountryCode.of_xml)(Xml.childxml_arg0"IsoCountryCode")inletoriginationIdentity=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"OriginationIdentity")inletoriginationIdentityArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"OriginationIdentityArn")inletpoolId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"PoolId")inletpoolArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"PoolArn")inmake?isoCountryCode?originationIdentity?originationIdentityArn?poolId?poolArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letisoCountryCode=field_mapjson__"IsoCountryCode"IsoCountryCode.of_jsoninletoriginationIdentity=field_mapjson__"OriginationIdentity"String_.of_jsoninletoriginationIdentityArn=field_mapjson__"OriginationIdentityArn"String_.of_jsoninletpoolId=field_mapjson__"PoolId"String_.of_jsoninletpoolArn=field_mapjson__"PoolArn"String_.of_jsoninmake?isoCountryCode?originationIdentity?originationIdentityArn?poolId?poolArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Removes the specified origination identity from an existing pool. If the origination identity isn't associated with the specified pool, an error is returned."]moduleDisassociateOriginationIdentityRequest=structtypenonrect={poolId:PoolIdOrArn.t[@ocaml.doc"The unique identifier for the pool to disassociate with the origination identity. This value can be either the PoolId or PoolArn. If you are using a shared End User Messaging SMS resource then you must use the full Amazon Resource Name(ARN)."];originationIdentity:PhoneOrSenderIdOrArn.t[@ocaml.doc"The origination identity to use such as a PhoneNumberId, PhoneNumberArn, SenderId or SenderIdArn. You can use DescribePhoneNumbers find the values for PhoneNumberId and PhoneNumberArn, or use DescribeSenderIds to get the values for SenderId and SenderIdArn. If you are using a shared End User Messaging SMS resource then you must use the full Amazon Resource Name(ARN)."];isoCountryCode:IsoCountryCode.toption[@ocaml.doc"The two-character code, in ISO 3166-1 alpha-2 format, for the country or region. This field is optional and is not required for origination identity types that are not country-specific, such as RCS agents."];clientToken:ClientToken.toption[@ocaml.doc"Unique, case-sensitive identifier you provide to ensure the idempotency of the request. If you don't specify a client token, a randomly generated token is used for the request to ensure idempotency."]}letcontext_="DisassociateOriginationIdentityRequest"letmake?isoCountryCode=fun?clientToken->fun~poolId->fun~originationIdentity->fun()->{isoCountryCode;clientToken;poolId;originationIdentity}letto_valuex=structure_to_value[("PoolId",(Some(PoolIdOrArn.to_valuex.poolId)));("OriginationIdentity",(Some(PhoneOrSenderIdOrArn.to_valuex.originationIdentity)));("IsoCountryCode",(Option.mapx.isoCountryCode~f:IsoCountryCode.to_value));("ClientToken",(Option.mapx.clientToken~f:ClientToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"ClientToken")inletisoCountryCode=(Option.map~f:IsoCountryCode.of_xml)(Xml.childxml_arg0"IsoCountryCode")inletoriginationIdentity=PhoneOrSenderIdOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"OriginationIdentity")inletpoolId=PoolIdOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"PoolId")inmake?clientToken?isoCountryCode~originationIdentity~poolId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letclientToken=field_mapjson__"ClientToken"ClientToken.of_jsoninletisoCountryCode=field_mapjson__"IsoCountryCode"IsoCountryCode.of_jsoninletoriginationIdentity=field_map_exnjson__"OriginationIdentity"PhoneOrSenderIdOrArn.of_jsoninletpoolId=field_map_exnjson__"PoolId"PoolIdOrArn.of_jsoninmake?clientToken?isoCountryCode~originationIdentity~poolId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Removes the specified origination identity from an existing pool. If the origination identity isn't associated with the specified pool, an error is returned."]moduleDescribeVerifiedDestinationNumbersResult=structtypenonrect={verifiedDestinationNumbers:VerifiedDestinationNumberInformationList.toption[@ocaml.doc"An array of VerifiedDestinationNumberInformation objects"];nextToken:NextToken.toption[@ocaml.doc"The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?verifiedDestinationNumbers=fun?nextToken->fun()->{verifiedDestinationNumbers;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[("VerifiedDestinationNumbers",(Option.mapx.verifiedDestinationNumbers~f:VerifiedDestinationNumberInformationList.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")inletverifiedDestinationNumbers=(Option.map~f:VerifiedDestinationNumberInformationList.of_xml)(Xml.childxml_arg0"VerifiedDestinationNumbers")inmake?nextToken?verifiedDestinationNumbers()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletverifiedDestinationNumbers=field_mapjson__"VerifiedDestinationNumbers"VerifiedDestinationNumberInformationList.of_jsoninmake?nextToken?verifiedDestinationNumbers()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the specified verified destination numbers."]moduleDescribeVerifiedDestinationNumbersRequest=structtypenonrect={verifiedDestinationNumberIds:VerifiedDestinationNumberIdList.toption[@ocaml.doc"An array of VerifiedDestinationNumberid to retrieve."];destinationPhoneNumbers:DestinationPhoneNumberList.toption[@ocaml.doc"An array of verified destination phone number, in E.164 format."];filters:VerifiedDestinationNumberFilterList.toption[@ocaml.doc"An array of VerifiedDestinationNumberFilter objects to filter the results."];nextToken:NextToken.toption[@ocaml.doc"The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request."];maxResults:MaxResults.toption[@ocaml.doc"The maximum number of results to return per each request."]}letmake?verifiedDestinationNumberIds=fun?destinationPhoneNumbers->fun?filters->fun?nextToken->fun?maxResults->fun()->{verifiedDestinationNumberIds;destinationPhoneNumbers;filters;nextToken;maxResults}letto_valuex=structure_to_value[("VerifiedDestinationNumberIds",(Option.mapx.verifiedDestinationNumberIds~f:VerifiedDestinationNumberIdList.to_value));("DestinationPhoneNumbers",(Option.mapx.destinationPhoneNumbers~f:DestinationPhoneNumberList.to_value));("Filters",(Option.mapx.filters~f:VerifiedDestinationNumberFilterList.to_value));("NextToken",(Option.mapx.nextToken~f:NextToken.to_value));("MaxResults",(Option.mapx.maxResults~f:MaxResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"MaxResults")inletnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"NextToken")inletfilters=(Option.map~f:VerifiedDestinationNumberFilterList.of_xml)(Xml.childxml_arg0"Filters")inletdestinationPhoneNumbers=(Option.map~f:DestinationPhoneNumberList.of_xml)(Xml.childxml_arg0"DestinationPhoneNumbers")inletverifiedDestinationNumberIds=(Option.map~f:VerifiedDestinationNumberIdList.of_xml)(Xml.childxml_arg0"VerifiedDestinationNumberIds")inmake?maxResults?nextToken?filters?destinationPhoneNumbers?verifiedDestinationNumberIds()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"MaxResults"MaxResults.of_jsoninletnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletfilters=field_mapjson__"Filters"VerifiedDestinationNumberFilterList.of_jsoninletdestinationPhoneNumbers=field_mapjson__"DestinationPhoneNumbers"DestinationPhoneNumberList.of_jsoninletverifiedDestinationNumberIds=field_mapjson__"VerifiedDestinationNumberIds"VerifiedDestinationNumberIdList.of_jsoninmake?maxResults?nextToken?filters?destinationPhoneNumbers?verifiedDestinationNumberIds()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the specified verified destination numbers."]moduleDescribeSpendLimitsResult=structtypenonrect={spendLimits:SpendLimitList.toption[@ocaml.doc"An array of SpendLimit objects that contain the details for the requested spend limits."];nextToken:NextToken.toption[@ocaml.doc"The token to be used for the next set of paginated results. If this field is empty then there are no more results."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?spendLimits=fun?nextToken->fun()->{spendLimits;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[("SpendLimits",(Option.mapx.spendLimits~f:SpendLimitList.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")inletspendLimits=(Option.map~f:SpendLimitList.of_xml)(Xml.childxml_arg0"SpendLimits")inmake?nextToken?spendLimits()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletspendLimits=field_mapjson__"SpendLimits"SpendLimitList.of_jsoninmake?nextToken?spendLimits()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes the current monthly spend limits for sending voice and text messages. When you establish an Amazon Web Services account, the account has initial monthly spend limit in a given Region. For more information on increasing your monthly spend limit, see Requesting increases to your monthly SMS, MMS, or Voice spending quota in the End User Messaging SMS User Guide."]moduleDescribeSpendLimitsRequest=structtypenonrect={nextToken:NextToken.toption[@ocaml.doc"The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request."];maxResults:MaxResults.toption[@ocaml.doc"The maximum number of results to return per each request."]}letmake?nextToken=fun?maxResults->fun()->{nextToken;maxResults}letto_valuex=structure_to_value[("NextToken",(Option.mapx.nextToken~f:NextToken.to_value));("MaxResults",(Option.mapx.maxResults~f:MaxResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"MaxResults")inletnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"NextToken")inmake?maxResults?nextToken()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"MaxResults"MaxResults.of_jsoninletnextToken=field_mapjson__"NextToken"NextToken.of_jsoninmake?maxResults?nextToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes the current monthly spend limits for sending voice and text messages. When you establish an Amazon Web Services account, the account has initial monthly spend limit in a given Region. For more information on increasing your monthly spend limit, see Requesting increases to your monthly SMS, MMS, or Voice spending quota in the End User Messaging SMS User Guide."]moduleDescribeSenderIdsResult=structtypenonrect={senderIds:SenderIdInformationList.toption[@ocaml.doc"An array of SernderIdInformation objects that contain the details for the requested SenderIds."];nextToken:NextToken.toption[@ocaml.doc"The token to be used for the next set of paginated results. If this field is empty then there are no more results."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?senderIds=fun?nextToken->fun()->{senderIds;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[("SenderIds",(Option.mapx.senderIds~f:SenderIdInformationList.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")inletsenderIds=(Option.map~f:SenderIdInformationList.of_xml)(Xml.childxml_arg0"SenderIds")inmake?nextToken?senderIds()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletsenderIds=field_mapjson__"SenderIds"SenderIdInformationList.of_jsoninmake?nextToken?senderIds()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes the specified SenderIds or all SenderIds associated with your Amazon Web Services account. If you specify SenderIds, the output includes information for only the specified SenderIds. If you specify filters, the output includes information for only those SenderIds that meet the filter criteria. If you don't specify SenderIds or filters, the output includes information for all SenderIds. f you specify a sender ID that isn't valid, an error is returned."]moduleDescribeSenderIdsRequest=structtypenonrect={senderIds:SenderIdList.toption[@ocaml.doc"An array of SenderIdAndCountry objects to search for. If you are using a shared End User Messaging SMS resource then you must use the full Amazon Resource Name(ARN)."];filters:SenderIdFilterList.toption[@ocaml.doc"An array of SenderIdFilter objects to filter the results."];nextToken:NextToken.toption[@ocaml.doc"The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request."];maxResults:MaxResults.toption[@ocaml.doc"The maximum number of results to return per each request."];owner:Owner.toption[@ocaml.doc"Use SELF to filter the list of Sender Ids to ones your account owns or use SHARED to filter on Sender Ids shared with your account. The Owner and SenderIds parameters can't be used at the same time."]}letmake?senderIds=fun?filters->fun?nextToken->fun?maxResults->fun?owner->fun()->{senderIds;filters;nextToken;maxResults;owner}letto_valuex=structure_to_value[("SenderIds",(Option.mapx.senderIds~f:SenderIdList.to_value));("Filters",(Option.mapx.filters~f:SenderIdFilterList.to_value));("NextToken",(Option.mapx.nextToken~f:NextToken.to_value));("MaxResults",(Option.mapx.maxResults~f:MaxResults.to_value));("Owner",(Option.mapx.owner~f:Owner.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letowner=(Option.map~f:Owner.of_xml)(Xml.childxml_arg0"Owner")inletmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"MaxResults")inletnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"NextToken")inletfilters=(Option.map~f:SenderIdFilterList.of_xml)(Xml.childxml_arg0"Filters")inletsenderIds=(Option.map~f:SenderIdList.of_xml)(Xml.childxml_arg0"SenderIds")inmake?owner?maxResults?nextToken?filters?senderIds()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letowner=field_mapjson__"Owner"Owner.of_jsoninletmaxResults=field_mapjson__"MaxResults"MaxResults.of_jsoninletnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletfilters=field_mapjson__"Filters"SenderIdFilterList.of_jsoninletsenderIds=field_mapjson__"SenderIds"SenderIdList.of_jsoninmake?owner?maxResults?nextToken?filters?senderIds()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes the specified SenderIds or all SenderIds associated with your Amazon Web Services account. If you specify SenderIds, the output includes information for only the specified SenderIds. If you specify filters, the output includes information for only those SenderIds that meet the filter criteria. If you don't specify SenderIds or filters, the output includes information for all SenderIds. f you specify a sender ID that isn't valid, an error is returned."]moduleDescribeRegistrationsResult=structtypenonrect={registrations:RegistrationInformationList.toption[@ocaml.doc"An array of RegistrationInformation objects."];nextToken:NextToken.toption[@ocaml.doc"The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?registrations=fun?nextToken->fun()->{registrations;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[("Registrations",(Option.mapx.registrations~f:RegistrationInformationList.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")inletregistrations=(Option.map~f:RegistrationInformationList.of_xml)(Xml.childxml_arg0"Registrations")inmake?nextToken?registrations()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletregistrations=field_mapjson__"Registrations"RegistrationInformationList.of_jsoninmake?nextToken?registrations()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the specified registrations."]moduleDescribeRegistrationsRequest=structtypenonrect={registrationIds:RegistrationIdList.toption[@ocaml.doc"An array of unique identifiers for each registration."];filters:RegistrationFilterList.toption[@ocaml.doc"An array of RegistrationFilter objects to filter the results."];nextToken:NextToken.toption[@ocaml.doc"The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request."];maxResults:MaxResults.toption[@ocaml.doc"The maximum number of results to return per each request."]}letmake?registrationIds=fun?filters->fun?nextToken->fun?maxResults->fun()->{registrationIds;filters;nextToken;maxResults}letto_valuex=structure_to_value[("RegistrationIds",(Option.mapx.registrationIds~f:RegistrationIdList.to_value));("Filters",(Option.mapx.filters~f:RegistrationFilterList.to_value));("NextToken",(Option.mapx.nextToken~f:NextToken.to_value));("MaxResults",(Option.mapx.maxResults~f:MaxResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"MaxResults")inletnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"NextToken")inletfilters=(Option.map~f:RegistrationFilterList.of_xml)(Xml.childxml_arg0"Filters")inletregistrationIds=(Option.map~f:RegistrationIdList.of_xml)(Xml.childxml_arg0"RegistrationIds")inmake?maxResults?nextToken?filters?registrationIds()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"MaxResults"MaxResults.of_jsoninletnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletfilters=field_mapjson__"Filters"RegistrationFilterList.of_jsoninletregistrationIds=field_mapjson__"RegistrationIds"RegistrationIdList.of_jsoninmake?maxResults?nextToken?filters?registrationIds()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the specified registrations."]moduleDescribeRegistrationVersionsResult=structtypenonrect={registrationArn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) for the registration."];registrationId:String_.toption[@ocaml.doc"The unique identifier for the registration."];registrationVersions:RegistrationVersionInformationList.toption[@ocaml.doc"An array of RegistrationVersions objects."];nextToken:NextToken.toption[@ocaml.doc"The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?registrationArn=fun?registrationId->fun?registrationVersions->fun?nextToken->fun()->{registrationArn;registrationId;registrationVersions;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[("RegistrationArn",(Option.mapx.registrationArn~f:String_.to_value));("RegistrationId",(Option.mapx.registrationId~f:String_.to_value));("RegistrationVersions",(Option.mapx.registrationVersions~f:RegistrationVersionInformationList.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")inletregistrationVersions=(Option.map~f:RegistrationVersionInformationList.of_xml)(Xml.childxml_arg0"RegistrationVersions")inletregistrationId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RegistrationId")inletregistrationArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RegistrationArn")inmake?nextToken?registrationVersions?registrationId?registrationArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletregistrationVersions=field_mapjson__"RegistrationVersions"RegistrationVersionInformationList.of_jsoninletregistrationId=field_mapjson__"RegistrationId"String_.of_jsoninletregistrationArn=field_mapjson__"RegistrationArn"String_.of_jsoninmake?nextToken?registrationVersions?registrationId?registrationArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the specified registration version."]moduleDescribeRegistrationVersionsRequest=structtypenonrect={registrationId:RegistrationIdOrArn.t[@ocaml.doc"The unique identifier for the registration."];versionNumbers:RegistrationVersionNumberList.toption[@ocaml.doc"An array of registration version numbers."];filters:RegistrationVersionFilterList.toption[@ocaml.doc"An array of RegistrationVersionFilter objects to filter the results."];nextToken:NextToken.toption[@ocaml.doc"The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request."];maxResults:MaxResults.toption[@ocaml.doc"The maximum number of results to return per each request."]}letcontext_="DescribeRegistrationVersionsRequest"letmake?versionNumbers=fun?filters->fun?nextToken->fun?maxResults->fun~registrationId->fun()->{versionNumbers;filters;nextToken;maxResults;registrationId}letto_valuex=structure_to_value[("RegistrationId",(Some(RegistrationIdOrArn.to_valuex.registrationId)));("VersionNumbers",(Option.mapx.versionNumbers~f:RegistrationVersionNumberList.to_value));("Filters",(Option.mapx.filters~f:RegistrationVersionFilterList.to_value));("NextToken",(Option.mapx.nextToken~f:NextToken.to_value));("MaxResults",(Option.mapx.maxResults~f:MaxResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"MaxResults")inletnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"NextToken")inletfilters=(Option.map~f:RegistrationVersionFilterList.of_xml)(Xml.childxml_arg0"Filters")inletversionNumbers=(Option.map~f:RegistrationVersionNumberList.of_xml)(Xml.childxml_arg0"VersionNumbers")inletregistrationId=RegistrationIdOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"RegistrationId")inmake?maxResults?nextToken?filters?versionNumbers~registrationId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"MaxResults"MaxResults.of_jsoninletnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletfilters=field_mapjson__"Filters"RegistrationVersionFilterList.of_jsoninletversionNumbers=field_mapjson__"VersionNumbers"RegistrationVersionNumberList.of_jsoninletregistrationId=field_map_exnjson__"RegistrationId"RegistrationIdOrArn.of_jsoninmake?maxResults?nextToken?filters?versionNumbers~registrationId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the specified registration version."]moduleDescribeRegistrationTypeDefinitionsResult=structtypenonrect={registrationTypeDefinitions:RegistrationTypeDefinitionList.toption[@ocaml.doc"The type of registration form. The list of RegistrationTypes can be found using the DescribeRegistrationTypeDefinitions action."];nextToken:NextToken.toption[@ocaml.doc"The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?registrationTypeDefinitions=fun?nextToken->fun()->{registrationTypeDefinitions;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[("RegistrationTypeDefinitions",(Option.mapx.registrationTypeDefinitions~f:RegistrationTypeDefinitionList.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")inletregistrationTypeDefinitions=(Option.map~f:RegistrationTypeDefinitionList.of_xml)(Xml.childxml_arg0"RegistrationTypeDefinitions")inmake?nextToken?registrationTypeDefinitions()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletregistrationTypeDefinitions=field_mapjson__"RegistrationTypeDefinitions"RegistrationTypeDefinitionList.of_jsoninmake?nextToken?registrationTypeDefinitions()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the specified registration type definitions. You can use DescribeRegistrationTypeDefinitions to view the requirements for creating, filling out, and submitting each registration type."]moduleDescribeRegistrationTypeDefinitionsRequest=structtypenonrect={registrationTypes:RegistrationTypeList.toption[@ocaml.doc"The type of registration form. The list of RegistrationTypes can be found using the DescribeRegistrationTypeDefinitions action."];filters:RegistrationTypeFilterList.toption[@ocaml.doc"An array of RegistrationFilter objects to filter the results."];nextToken:NextToken.toption[@ocaml.doc"The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request."];maxResults:MaxResults.toption[@ocaml.doc"The maximum number of results to return per each request."]}letmake?registrationTypes=fun?filters->fun?nextToken->fun?maxResults->fun()->{registrationTypes;filters;nextToken;maxResults}letto_valuex=structure_to_value[("RegistrationTypes",(Option.mapx.registrationTypes~f:RegistrationTypeList.to_value));("Filters",(Option.mapx.filters~f:RegistrationTypeFilterList.to_value));("NextToken",(Option.mapx.nextToken~f:NextToken.to_value));("MaxResults",(Option.mapx.maxResults~f:MaxResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"MaxResults")inletnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"NextToken")inletfilters=(Option.map~f:RegistrationTypeFilterList.of_xml)(Xml.childxml_arg0"Filters")inletregistrationTypes=(Option.map~f:RegistrationTypeList.of_xml)(Xml.childxml_arg0"RegistrationTypes")inmake?maxResults?nextToken?filters?registrationTypes()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"MaxResults"MaxResults.of_jsoninletnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletfilters=field_mapjson__"Filters"RegistrationTypeFilterList.of_jsoninletregistrationTypes=field_mapjson__"RegistrationTypes"RegistrationTypeList.of_jsoninmake?maxResults?nextToken?filters?registrationTypes()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the specified registration type definitions. You can use DescribeRegistrationTypeDefinitions to view the requirements for creating, filling out, and submitting each registration type."]moduleDescribeRegistrationSectionDefinitionsResult=structtypenonrect={registrationType:RegistrationType.toption[@ocaml.doc"The type of registration form. The list of RegistrationTypes can be found using the DescribeRegistrationTypeDefinitions action."];registrationSectionDefinitions:RegistrationSectionDefinitionList.toption[@ocaml.doc"An array of RegistrationSectionDefinition objects."];nextToken:NextToken.toption[@ocaml.doc"The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?registrationType=fun?registrationSectionDefinitions->fun?nextToken->fun()->{registrationType;registrationSectionDefinitions;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[("RegistrationType",(Option.mapx.registrationType~f:RegistrationType.to_value));("RegistrationSectionDefinitions",(Option.mapx.registrationSectionDefinitions~f:RegistrationSectionDefinitionList.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")inletregistrationSectionDefinitions=(Option.map~f:RegistrationSectionDefinitionList.of_xml)(Xml.childxml_arg0"RegistrationSectionDefinitions")inletregistrationType=(Option.map~f:RegistrationType.of_xml)(Xml.childxml_arg0"RegistrationType")inmake?nextToken?registrationSectionDefinitions?registrationType()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletregistrationSectionDefinitions=field_mapjson__"RegistrationSectionDefinitions"RegistrationSectionDefinitionList.of_jsoninletregistrationType=field_mapjson__"RegistrationType"RegistrationType.of_jsoninmake?nextToken?registrationSectionDefinitions?registrationType()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the specified registration section definitions. You can use DescribeRegistrationSectionDefinitions to view the requirements for creating, filling out, and submitting each registration type."]moduleDescribeRegistrationSectionDefinitionsRequest=structtypenonrect={registrationType:RegistrationType.t[@ocaml.doc"The type of registration form. The list of RegistrationTypes can be found using the DescribeRegistrationTypeDefinitions action."];sectionPaths:SectionPathList.toption[@ocaml.doc"An array of paths for the registration form section."];nextToken:NextToken.toption[@ocaml.doc"The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request."];maxResults:MaxResults.toption[@ocaml.doc"The maximum number of results to return per each request."]}letcontext_="DescribeRegistrationSectionDefinitionsRequest"letmake?sectionPaths=fun?nextToken->fun?maxResults->fun~registrationType->fun()->{sectionPaths;nextToken;maxResults;registrationType}letto_valuex=structure_to_value[("RegistrationType",(Some(RegistrationType.to_valuex.registrationType)));("SectionPaths",(Option.mapx.sectionPaths~f:SectionPathList.to_value));("NextToken",(Option.mapx.nextToken~f:NextToken.to_value));("MaxResults",(Option.mapx.maxResults~f:MaxResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"MaxResults")inletnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"NextToken")inletsectionPaths=(Option.map~f:SectionPathList.of_xml)(Xml.childxml_arg0"SectionPaths")inletregistrationType=RegistrationType.of_xml(Xml.child_exn~context:context_xml_arg0"RegistrationType")inmake?maxResults?nextToken?sectionPaths~registrationType()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"MaxResults"MaxResults.of_jsoninletnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletsectionPaths=field_mapjson__"SectionPaths"SectionPathList.of_jsoninletregistrationType=field_map_exnjson__"RegistrationType"RegistrationType.of_jsoninmake?maxResults?nextToken?sectionPaths~registrationType()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the specified registration section definitions. You can use DescribeRegistrationSectionDefinitions to view the requirements for creating, filling out, and submitting each registration type."]moduleDescribeRegistrationFieldValuesResult=structtypenonrect={registrationArn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) for the registration."];registrationId:String_.toption[@ocaml.doc"The unique identifier for the registration."];versionNumber:RegistrationVersionNumber.toption[@ocaml.doc"The current version of the registration."];registrationFieldValues:RegistrationFieldValueInformationList.toption[@ocaml.doc"An array of RegistrationFieldValues objects that contain the values for the requested registration."];nextToken:NextToken.toption[@ocaml.doc"The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?registrationArn=fun?registrationId->fun?versionNumber->fun?registrationFieldValues->fun?nextToken->fun()->{registrationArn;registrationId;versionNumber;registrationFieldValues;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[("RegistrationArn",(Option.mapx.registrationArn~f:String_.to_value));("RegistrationId",(Option.mapx.registrationId~f:String_.to_value));("VersionNumber",(Option.mapx.versionNumber~f:RegistrationVersionNumber.to_value));("RegistrationFieldValues",(Option.mapx.registrationFieldValues~f:RegistrationFieldValueInformationList.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")inletregistrationFieldValues=(Option.map~f:RegistrationFieldValueInformationList.of_xml)(Xml.childxml_arg0"RegistrationFieldValues")inletversionNumber=(Option.map~f:RegistrationVersionNumber.of_xml)(Xml.childxml_arg0"VersionNumber")inletregistrationId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RegistrationId")inletregistrationArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RegistrationArn")inmake?nextToken?registrationFieldValues?versionNumber?registrationId?registrationArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletregistrationFieldValues=field_mapjson__"RegistrationFieldValues"RegistrationFieldValueInformationList.of_jsoninletversionNumber=field_mapjson__"VersionNumber"RegistrationVersionNumber.of_jsoninletregistrationId=field_mapjson__"RegistrationId"String_.of_jsoninletregistrationArn=field_mapjson__"RegistrationArn"String_.of_jsoninmake?nextToken?registrationFieldValues?versionNumber?registrationId?registrationArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the specified registration field values."]moduleDescribeRegistrationFieldValuesRequest=structtypenonrect={registrationId:RegistrationIdOrArn.t[@ocaml.doc"The unique identifier for the registration."];versionNumber:RegistrationVersionNumber.toption[@ocaml.doc"The version number of the registration."];sectionPath:SectionPath.toption[@ocaml.doc"The path to the section of the registration."];fieldPaths:FieldPathList.toption[@ocaml.doc"An array of paths to the registration form field."];nextToken:NextToken.toption[@ocaml.doc"The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request."];maxResults:MaxResults.toption[@ocaml.doc"The maximum number of results to return per each request."]}letcontext_="DescribeRegistrationFieldValuesRequest"letmake?versionNumber=fun?sectionPath->fun?fieldPaths->fun?nextToken->fun?maxResults->fun~registrationId->fun()->{versionNumber;sectionPath;fieldPaths;nextToken;maxResults;registrationId}letto_valuex=structure_to_value[("RegistrationId",(Some(RegistrationIdOrArn.to_valuex.registrationId)));("VersionNumber",(Option.mapx.versionNumber~f:RegistrationVersionNumber.to_value));("SectionPath",(Option.mapx.sectionPath~f:SectionPath.to_value));("FieldPaths",(Option.mapx.fieldPaths~f:FieldPathList.to_value));("NextToken",(Option.mapx.nextToken~f:NextToken.to_value));("MaxResults",(Option.mapx.maxResults~f:MaxResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"MaxResults")inletnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"NextToken")inletfieldPaths=(Option.map~f:FieldPathList.of_xml)(Xml.childxml_arg0"FieldPaths")inletsectionPath=(Option.map~f:SectionPath.of_xml)(Xml.childxml_arg0"SectionPath")inletversionNumber=(Option.map~f:RegistrationVersionNumber.of_xml)(Xml.childxml_arg0"VersionNumber")inletregistrationId=RegistrationIdOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"RegistrationId")inmake?maxResults?nextToken?fieldPaths?sectionPath?versionNumber~registrationId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"MaxResults"MaxResults.of_jsoninletnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletfieldPaths=field_mapjson__"FieldPaths"FieldPathList.of_jsoninletsectionPath=field_mapjson__"SectionPath"SectionPath.of_jsoninletversionNumber=field_mapjson__"VersionNumber"RegistrationVersionNumber.of_jsoninletregistrationId=field_map_exnjson__"RegistrationId"RegistrationIdOrArn.of_jsoninmake?maxResults?nextToken?fieldPaths?sectionPath?versionNumber~registrationId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the specified registration field values."]moduleDescribeRegistrationFieldDefinitionsResult=structtypenonrect={registrationType:RegistrationType.toption[@ocaml.doc"The type of registration form. The list of RegistrationTypes can be found using the DescribeRegistrationTypeDefinitions action."];registrationFieldDefinitions:RegistrationFieldDefinitionList.toption[@ocaml.doc"An array of RegistrationFieldDefinitions objects that contain the details for the requested fields."];nextToken:NextToken.toption[@ocaml.doc"The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?registrationType=fun?registrationFieldDefinitions->fun?nextToken->fun()->{registrationType;registrationFieldDefinitions;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[("RegistrationType",(Option.mapx.registrationType~f:RegistrationType.to_value));("RegistrationFieldDefinitions",(Option.mapx.registrationFieldDefinitions~f:RegistrationFieldDefinitionList.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")inletregistrationFieldDefinitions=(Option.map~f:RegistrationFieldDefinitionList.of_xml)(Xml.childxml_arg0"RegistrationFieldDefinitions")inletregistrationType=(Option.map~f:RegistrationType.of_xml)(Xml.childxml_arg0"RegistrationType")inmake?nextToken?registrationFieldDefinitions?registrationType()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletregistrationFieldDefinitions=field_mapjson__"RegistrationFieldDefinitions"RegistrationFieldDefinitionList.of_jsoninletregistrationType=field_mapjson__"RegistrationType"RegistrationType.of_jsoninmake?nextToken?registrationFieldDefinitions?registrationType()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the specified registration type field definitions. You can use DescribeRegistrationFieldDefinitions to view the requirements for creating, filling out, and submitting each registration type."]moduleDescribeRegistrationFieldDefinitionsRequest=structtypenonrect={registrationType:RegistrationType.t[@ocaml.doc"The type of registration form. The list of RegistrationTypes can be found using the DescribeRegistrationTypeDefinitions action."];sectionPath:SectionPath.toption[@ocaml.doc"The path to the section of the registration."];fieldPaths:FieldPathList.toption[@ocaml.doc"An array of paths to the registration form field."];nextToken:NextToken.toption[@ocaml.doc"The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request."];maxResults:MaxResults.toption[@ocaml.doc"The maximum number of results to return per each request."]}letcontext_="DescribeRegistrationFieldDefinitionsRequest"letmake?sectionPath=fun?fieldPaths->fun?nextToken->fun?maxResults->fun~registrationType->fun()->{sectionPath;fieldPaths;nextToken;maxResults;registrationType}letto_valuex=structure_to_value[("RegistrationType",(Some(RegistrationType.to_valuex.registrationType)));("SectionPath",(Option.mapx.sectionPath~f:SectionPath.to_value));("FieldPaths",(Option.mapx.fieldPaths~f:FieldPathList.to_value));("NextToken",(Option.mapx.nextToken~f:NextToken.to_value));("MaxResults",(Option.mapx.maxResults~f:MaxResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"MaxResults")inletnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"NextToken")inletfieldPaths=(Option.map~f:FieldPathList.of_xml)(Xml.childxml_arg0"FieldPaths")inletsectionPath=(Option.map~f:SectionPath.of_xml)(Xml.childxml_arg0"SectionPath")inletregistrationType=RegistrationType.of_xml(Xml.child_exn~context:context_xml_arg0"RegistrationType")inmake?maxResults?nextToken?fieldPaths?sectionPath~registrationType()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"MaxResults"MaxResults.of_jsoninletnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletfieldPaths=field_mapjson__"FieldPaths"FieldPathList.of_jsoninletsectionPath=field_mapjson__"SectionPath"SectionPath.of_jsoninletregistrationType=field_map_exnjson__"RegistrationType"RegistrationType.of_jsoninmake?maxResults?nextToken?fieldPaths?sectionPath~registrationType()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the specified registration type field definitions. You can use DescribeRegistrationFieldDefinitions to view the requirements for creating, filling out, and submitting each registration type."]moduleDescribeRegistrationAttachmentsResult=structtypenonrect={registrationAttachments:RegistrationAttachmentsInformationList.toption[@ocaml.doc"An array of RegistrationAttachments objects that contain the details for the requested registration attachments."];nextToken:NextToken.toption[@ocaml.doc"The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?registrationAttachments=fun?nextToken->fun()->{registrationAttachments;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[("RegistrationAttachments",(Option.mapx.registrationAttachments~f:RegistrationAttachmentsInformationList.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")inletregistrationAttachments=(Option.map~f:RegistrationAttachmentsInformationList.of_xml)(Xml.childxml_arg0"RegistrationAttachments")inmake?nextToken?registrationAttachments()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletregistrationAttachments=field_mapjson__"RegistrationAttachments"RegistrationAttachmentsInformationList.of_jsoninmake?nextToken?registrationAttachments()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the specified registration attachments or all registration attachments associated with your Amazon Web Services account."]moduleDescribeRegistrationAttachmentsRequest=structtypenonrect={registrationAttachmentIds:RegistrationAttachmentIdList.toption[@ocaml.doc"The unique identifier of registration attachments to find. This is an array of RegistrationAttachmentId."];filters:RegistrationAttachmentFilterList.toption[@ocaml.doc"An array of RegistrationAttachmentFilter objects to filter the results."];nextToken:NextToken.toption[@ocaml.doc"The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request."];maxResults:MaxResults.toption[@ocaml.doc"The maximum number of results to return per each request."]}letmake?registrationAttachmentIds=fun?filters->fun?nextToken->fun?maxResults->fun()->{registrationAttachmentIds;filters;nextToken;maxResults}letto_valuex=structure_to_value[("RegistrationAttachmentIds",(Option.mapx.registrationAttachmentIds~f:RegistrationAttachmentIdList.to_value));("Filters",(Option.mapx.filters~f:RegistrationAttachmentFilterList.to_value));("NextToken",(Option.mapx.nextToken~f:NextToken.to_value));("MaxResults",(Option.mapx.maxResults~f:MaxResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"MaxResults")inletnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"NextToken")inletfilters=(Option.map~f:RegistrationAttachmentFilterList.of_xml)(Xml.childxml_arg0"Filters")inletregistrationAttachmentIds=(Option.map~f:RegistrationAttachmentIdList.of_xml)(Xml.childxml_arg0"RegistrationAttachmentIds")inmake?maxResults?nextToken?filters?registrationAttachmentIds()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"MaxResults"MaxResults.of_jsoninletnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletfilters=field_mapjson__"Filters"RegistrationAttachmentFilterList.of_jsoninletregistrationAttachmentIds=field_mapjson__"RegistrationAttachmentIds"RegistrationAttachmentIdList.of_jsoninmake?maxResults?nextToken?filters?registrationAttachmentIds()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the specified registration attachments or all registration attachments associated with your Amazon Web Services account."]moduleDescribeRcsAgentsResult=structtypenonrect={rcsAgents:RcsAgentInformationList.toption[@ocaml.doc"An array of RcsAgentInformation objects that contain the details for the requested RCS agents."];nextToken:NextToken.toption[@ocaml.doc"The token to be used for the next set of paginated results. If this field is empty then there are no more results."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?rcsAgents=fun?nextToken->fun()->{rcsAgents;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[("RcsAgents",(Option.mapx.rcsAgents~f:RcsAgentInformationList.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")inletrcsAgents=(Option.map~f:RcsAgentInformationList.of_xml)(Xml.childxml_arg0"RcsAgents")inmake?nextToken?rcsAgents()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletrcsAgents=field_mapjson__"RcsAgents"RcsAgentInformationList.of_jsoninmake?nextToken?rcsAgents()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the specified RCS agents or all RCS agents associated with your Amazon Web Services account. If you specify RCS agent IDs, the output includes information for only the specified RCS agents. If you specify filters, the output includes information for only those RCS agents that meet the filter criteria. If you don't specify RCS agent IDs or filters, the output includes information for all RCS agents."]moduleDescribeRcsAgentsRequest=structtypenonrect={rcsAgentIds:RcsAgentIdList.toption[@ocaml.doc"An array of unique identifiers for the RCS agents. This is an array of strings that can be either the RcsAgentId or RcsAgentArn."];owner:Owner.toption[@ocaml.doc"Use SELF to filter the list of RCS agents to ones your account owns or use SHARED to filter on RCS agents shared with your account. The Owner and RcsAgentIds parameters can't be used at the same time."];filters:RcsAgentFilterList.toption[@ocaml.doc"An array of RcsAgentFilter objects to filter the results."];nextToken:NextToken.toption[@ocaml.doc"The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request."];maxResults:MaxResults.toption[@ocaml.doc"The maximum number of results to return per each request."]}letmake?rcsAgentIds=fun?owner->fun?filters->fun?nextToken->fun?maxResults->fun()->{rcsAgentIds;owner;filters;nextToken;maxResults}letto_valuex=structure_to_value[("RcsAgentIds",(Option.mapx.rcsAgentIds~f:RcsAgentIdList.to_value));("Owner",(Option.mapx.owner~f:Owner.to_value));("Filters",(Option.mapx.filters~f:RcsAgentFilterList.to_value));("NextToken",(Option.mapx.nextToken~f:NextToken.to_value));("MaxResults",(Option.mapx.maxResults~f:MaxResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"MaxResults")inletnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"NextToken")inletfilters=(Option.map~f:RcsAgentFilterList.of_xml)(Xml.childxml_arg0"Filters")inletowner=(Option.map~f:Owner.of_xml)(Xml.childxml_arg0"Owner")inletrcsAgentIds=(Option.map~f:RcsAgentIdList.of_xml)(Xml.childxml_arg0"RcsAgentIds")inmake?maxResults?nextToken?filters?owner?rcsAgentIds()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"MaxResults"MaxResults.of_jsoninletnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletfilters=field_mapjson__"Filters"RcsAgentFilterList.of_jsoninletowner=field_mapjson__"Owner"Owner.of_jsoninletrcsAgentIds=field_mapjson__"RcsAgentIds"RcsAgentIdList.of_jsoninmake?maxResults?nextToken?filters?owner?rcsAgentIds()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the specified RCS agents or all RCS agents associated with your Amazon Web Services account. If you specify RCS agent IDs, the output includes information for only the specified RCS agents. If you specify filters, the output includes information for only those RCS agents that meet the filter criteria. If you don't specify RCS agent IDs or filters, the output includes information for all RCS agents."]moduleDescribeRcsAgentCountryLaunchStatusResult=structtypenonrect={rcsAgentId:String_.toption[@ocaml.doc"The unique identifier for the RCS agent."];rcsAgentArn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the RCS agent."];countryLaunchStatus:CountryLaunchStatusInformationList.toption[@ocaml.doc"An array of CountryLaunchStatusInformation objects that contain the per-country launch status details."];nextToken:NextToken.toption[@ocaml.doc"The token to be used for the next set of paginated results. If this field is empty then there are no more results."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?rcsAgentId=fun?rcsAgentArn->fun?countryLaunchStatus->fun?nextToken->fun()->{rcsAgentId;rcsAgentArn;countryLaunchStatus;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[("RcsAgentId",(Option.mapx.rcsAgentId~f:String_.to_value));("RcsAgentArn",(Option.mapx.rcsAgentArn~f:String_.to_value));("CountryLaunchStatus",(Option.mapx.countryLaunchStatus~f:CountryLaunchStatusInformationList.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")inletcountryLaunchStatus=(Option.map~f:CountryLaunchStatusInformationList.of_xml)(Xml.childxml_arg0"CountryLaunchStatus")inletrcsAgentArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RcsAgentArn")inletrcsAgentId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RcsAgentId")inmake?nextToken?countryLaunchStatus?rcsAgentArn?rcsAgentId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletcountryLaunchStatus=field_mapjson__"CountryLaunchStatus"CountryLaunchStatusInformationList.of_jsoninletrcsAgentArn=field_mapjson__"RcsAgentArn"String_.of_jsoninletrcsAgentId=field_mapjson__"RcsAgentId"String_.of_jsoninmake?nextToken?countryLaunchStatus?rcsAgentArn?rcsAgentId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the per-country launch status of an RCS agent, including carrier-level details for each country."]moduleDescribeRcsAgentCountryLaunchStatusRequest=structtypenonrect={rcsAgentId:RcsAgentIdOrArn.t[@ocaml.doc"The unique identifier of the RCS agent. You can use either the RcsAgentId or RcsAgentArn."];isoCountryCodes:IsoCountryCodeList.toption[@ocaml.doc"An array of two-character ISO country codes, in ISO 3166-1 alpha-2 format, to filter the results."];filters:CountryLaunchStatusFilterList.toption[@ocaml.doc"An array of CountryLaunchStatusFilter objects to filter the results."];maxResults:MaxResults.toption[@ocaml.doc"The maximum number of results to return per each request."];nextToken:NextToken.toption[@ocaml.doc"The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request."]}letcontext_="DescribeRcsAgentCountryLaunchStatusRequest"letmake?isoCountryCodes=fun?filters->fun?maxResults->fun?nextToken->fun~rcsAgentId->fun()->{isoCountryCodes;filters;maxResults;nextToken;rcsAgentId}letto_valuex=structure_to_value[("RcsAgentId",(Some(RcsAgentIdOrArn.to_valuex.rcsAgentId)));("IsoCountryCodes",(Option.mapx.isoCountryCodes~f:IsoCountryCodeList.to_value));("Filters",(Option.mapx.filters~f:CountryLaunchStatusFilterList.to_value));("MaxResults",(Option.mapx.maxResults~f:MaxResults.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")inletmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"MaxResults")inletfilters=(Option.map~f:CountryLaunchStatusFilterList.of_xml)(Xml.childxml_arg0"Filters")inletisoCountryCodes=(Option.map~f:IsoCountryCodeList.of_xml)(Xml.childxml_arg0"IsoCountryCodes")inletrcsAgentId=RcsAgentIdOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"RcsAgentId")inmake?nextToken?maxResults?filters?isoCountryCodes~rcsAgentId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletmaxResults=field_mapjson__"MaxResults"MaxResults.of_jsoninletfilters=field_mapjson__"Filters"CountryLaunchStatusFilterList.of_jsoninletisoCountryCodes=field_mapjson__"IsoCountryCodes"IsoCountryCodeList.of_jsoninletrcsAgentId=field_map_exnjson__"RcsAgentId"RcsAgentIdOrArn.of_jsoninmake?nextToken?maxResults?filters?isoCountryCodes~rcsAgentId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the per-country launch status of an RCS agent, including carrier-level details for each country."]moduleDescribeProtectConfigurationsResult=structtypenonrect={protectConfigurations:ProtectConfigurationInformationList.toption[@ocaml.doc"An array of ProtectConfigurationInformation objects that contain the details for the request."];nextToken:NextToken.toption[@ocaml.doc"The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?protectConfigurations=fun?nextToken->fun()->{protectConfigurations;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[("ProtectConfigurations",(Option.mapx.protectConfigurations~f:ProtectConfigurationInformationList.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")inletprotectConfigurations=(Option.map~f:ProtectConfigurationInformationList.of_xml)(Xml.childxml_arg0"ProtectConfigurations")inmake?nextToken?protectConfigurations()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletprotectConfigurations=field_mapjson__"ProtectConfigurations"ProtectConfigurationInformationList.of_jsoninmake?nextToken?protectConfigurations()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the protect configurations that match any of filters. If a filter isn\226\128\153t provided then all protect configurations are returned."]moduleDescribeProtectConfigurationsRequest=structtypenonrect={protectConfigurationIds:ProtectConfigurationIdList.toption[@ocaml.doc"An array of protect configuration identifiers to search for."];filters:ProtectConfigurationFilterList.toption[@ocaml.doc"An array of ProtectConfigurationFilter objects to filter the results."];nextToken:NextToken.toption[@ocaml.doc"The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request."];maxResults:MaxResults.toption[@ocaml.doc"The maximum number of results to return per each request."]}letmake?protectConfigurationIds=fun?filters->fun?nextToken->fun?maxResults->fun()->{protectConfigurationIds;filters;nextToken;maxResults}letto_valuex=structure_to_value[("ProtectConfigurationIds",(Option.mapx.protectConfigurationIds~f:ProtectConfigurationIdList.to_value));("Filters",(Option.mapx.filters~f:ProtectConfigurationFilterList.to_value));("NextToken",(Option.mapx.nextToken~f:NextToken.to_value));("MaxResults",(Option.mapx.maxResults~f:MaxResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"MaxResults")inletnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"NextToken")inletfilters=(Option.map~f:ProtectConfigurationFilterList.of_xml)(Xml.childxml_arg0"Filters")inletprotectConfigurationIds=(Option.map~f:ProtectConfigurationIdList.of_xml)(Xml.childxml_arg0"ProtectConfigurationIds")inmake?maxResults?nextToken?filters?protectConfigurationIds()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"MaxResults"MaxResults.of_jsoninletnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletfilters=field_mapjson__"Filters"ProtectConfigurationFilterList.of_jsoninletprotectConfigurationIds=field_mapjson__"ProtectConfigurationIds"ProtectConfigurationIdList.of_jsoninmake?maxResults?nextToken?filters?protectConfigurationIds()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the protect configurations that match any of filters. If a filter isn\226\128\153t provided then all protect configurations are returned."]moduleDescribePoolsResult=structtypenonrect={pools:PoolInformationList.toption[@ocaml.doc"An array of PoolInformation objects that contain the details for the requested pools."];nextToken:NextToken.toption[@ocaml.doc"The token to be used for the next set of paginated results. If this field is empty then there are no more results."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?pools=fun?nextToken->fun()->{pools;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[("Pools",(Option.mapx.pools~f:PoolInformationList.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")inletpools=(Option.map~f:PoolInformationList.of_xml)(Xml.childxml_arg0"Pools")inmake?nextToken?pools()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletpools=field_mapjson__"Pools"PoolInformationList.of_jsoninmake?nextToken?pools()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the specified pools or all pools associated with your Amazon Web Services account. If you specify pool IDs, the output includes information for only the specified pools. If you specify filters, the output includes information for only those pools that meet the filter criteria. If you don't specify pool IDs or filters, the output includes information for all pools. If you specify a pool ID that isn't valid, an error is returned. A pool is a collection of phone numbers and SenderIds. A pool can include one or more phone numbers and SenderIds that are associated with your Amazon Web Services account."]moduleDescribePoolsRequest=structtypenonrect={poolIds:PoolIdList.toption[@ocaml.doc"The unique identifier of pools to find. This is an array of strings that can be either the PoolId or PoolArn. If you are using a shared End User Messaging SMS resource then you must use the full Amazon Resource Name(ARN)."];filters:PoolFilterList.toption[@ocaml.doc"An array of PoolFilter objects to filter the results."];nextToken:NextToken.toption[@ocaml.doc"The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request."];maxResults:MaxResults.toption[@ocaml.doc"The maximum number of results to return per each request."];owner:Owner.toption[@ocaml.doc"Use SELF to filter the list of Pools to ones your account owns or use SHARED to filter on Pools shared with your account. The Owner and PoolIds parameters can't be used at the same time."]}letmake?poolIds=fun?filters->fun?nextToken->fun?maxResults->fun?owner->fun()->{poolIds;filters;nextToken;maxResults;owner}letto_valuex=structure_to_value[("PoolIds",(Option.mapx.poolIds~f:PoolIdList.to_value));("Filters",(Option.mapx.filters~f:PoolFilterList.to_value));("NextToken",(Option.mapx.nextToken~f:NextToken.to_value));("MaxResults",(Option.mapx.maxResults~f:MaxResults.to_value));("Owner",(Option.mapx.owner~f:Owner.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letowner=(Option.map~f:Owner.of_xml)(Xml.childxml_arg0"Owner")inletmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"MaxResults")inletnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"NextToken")inletfilters=(Option.map~f:PoolFilterList.of_xml)(Xml.childxml_arg0"Filters")inletpoolIds=(Option.map~f:PoolIdList.of_xml)(Xml.childxml_arg0"PoolIds")inmake?owner?maxResults?nextToken?filters?poolIds()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letowner=field_mapjson__"Owner"Owner.of_jsoninletmaxResults=field_mapjson__"MaxResults"MaxResults.of_jsoninletnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletfilters=field_mapjson__"Filters"PoolFilterList.of_jsoninletpoolIds=field_mapjson__"PoolIds"PoolIdList.of_jsoninmake?owner?maxResults?nextToken?filters?poolIds()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the specified pools or all pools associated with your Amazon Web Services account. If you specify pool IDs, the output includes information for only the specified pools. If you specify filters, the output includes information for only those pools that meet the filter criteria. If you don't specify pool IDs or filters, the output includes information for all pools. If you specify a pool ID that isn't valid, an error is returned. A pool is a collection of phone numbers and SenderIds. A pool can include one or more phone numbers and SenderIds that are associated with your Amazon Web Services account."]moduleDescribePhoneNumbersResult=structtypenonrect={phoneNumbers:PhoneNumberInformationList.toption[@ocaml.doc"An array of PhoneNumberInformation objects that contain the details for the requested phone numbers."];nextToken:NextToken.toption[@ocaml.doc"The token to be used for the next set of paginated results. If this field is empty then there are no more results."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?phoneNumbers=fun?nextToken->fun()->{phoneNumbers;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[("PhoneNumbers",(Option.mapx.phoneNumbers~f:PhoneNumberInformationList.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")inletphoneNumbers=(Option.map~f:PhoneNumberInformationList.of_xml)(Xml.childxml_arg0"PhoneNumbers")inmake?nextToken?phoneNumbers()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletphoneNumbers=field_mapjson__"PhoneNumbers"PhoneNumberInformationList.of_jsoninmake?nextToken?phoneNumbers()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes the specified origination phone number, or all the phone numbers in your account. If you specify phone number IDs, the output includes information for only the specified phone numbers. If you specify filters, the output includes information for only those phone numbers that meet the filter criteria. If you don't specify phone number IDs or filters, the output includes information for all phone numbers. If you specify a phone number ID that isn't valid, an error is returned."]moduleDescribePhoneNumbersRequest=structtypenonrect={phoneNumberIds:PhoneNumberIdList.toption[@ocaml.doc"The unique identifier of phone numbers to find information about. This is an array of strings that can be either the PhoneNumberId or PhoneNumberArn. If you are using a shared End User Messaging SMS resource then you must use the full Amazon Resource Name(ARN)."];filters:PhoneNumberFilterList.toption[@ocaml.doc"An array of PhoneNumberFilter objects to filter the results."];nextToken:NextToken.toption[@ocaml.doc"The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request."];maxResults:MaxResults.toption[@ocaml.doc"The maximum number of results to return per each request."];owner:Owner.toption[@ocaml.doc"Use SELF to filter the list of phone numbers to ones your account owns or use SHARED to filter on phone numbers shared with your account. The Owner and PhoneNumberIds parameters can't be used at the same time."]}letmake?phoneNumberIds=fun?filters->fun?nextToken->fun?maxResults->fun?owner->fun()->{phoneNumberIds;filters;nextToken;maxResults;owner}letto_valuex=structure_to_value[("PhoneNumberIds",(Option.mapx.phoneNumberIds~f:PhoneNumberIdList.to_value));("Filters",(Option.mapx.filters~f:PhoneNumberFilterList.to_value));("NextToken",(Option.mapx.nextToken~f:NextToken.to_value));("MaxResults",(Option.mapx.maxResults~f:MaxResults.to_value));("Owner",(Option.mapx.owner~f:Owner.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letowner=(Option.map~f:Owner.of_xml)(Xml.childxml_arg0"Owner")inletmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"MaxResults")inletnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"NextToken")inletfilters=(Option.map~f:PhoneNumberFilterList.of_xml)(Xml.childxml_arg0"Filters")inletphoneNumberIds=(Option.map~f:PhoneNumberIdList.of_xml)(Xml.childxml_arg0"PhoneNumberIds")inmake?owner?maxResults?nextToken?filters?phoneNumberIds()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letowner=field_mapjson__"Owner"Owner.of_jsoninletmaxResults=field_mapjson__"MaxResults"MaxResults.of_jsoninletnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletfilters=field_mapjson__"Filters"PhoneNumberFilterList.of_jsoninletphoneNumberIds=field_mapjson__"PhoneNumberIds"PhoneNumberIdList.of_jsoninmake?owner?maxResults?nextToken?filters?phoneNumberIds()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes the specified origination phone number, or all the phone numbers in your account. If you specify phone number IDs, the output includes information for only the specified phone numbers. If you specify filters, the output includes information for only those phone numbers that meet the filter criteria. If you don't specify phone number IDs or filters, the output includes information for all phone numbers. If you specify a phone number ID that isn't valid, an error is returned."]moduleDescribeOptedOutNumbersResult=structtypenonrect={optOutListArn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the OptOutList."];optOutListName:OptOutListName.toption[@ocaml.doc"The name of the OptOutList."];optedOutNumbers:OptedOutNumberInformationList.toption[@ocaml.doc"An array of OptedOutNumbersInformation objects that provide information about the requested OptedOutNumbers."];nextToken:NextToken.toption[@ocaml.doc"The token to be used for the next set of paginated results. If this field is empty then there are no more results."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?optOutListArn=fun?optOutListName->fun?optedOutNumbers->fun?nextToken->fun()->{optOutListArn;optOutListName;optedOutNumbers;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[("OptOutListArn",(Option.mapx.optOutListArn~f:String_.to_value));("OptOutListName",(Option.mapx.optOutListName~f:OptOutListName.to_value));("OptedOutNumbers",(Option.mapx.optedOutNumbers~f:OptedOutNumberInformationList.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")inletoptedOutNumbers=(Option.map~f:OptedOutNumberInformationList.of_xml)(Xml.childxml_arg0"OptedOutNumbers")inletoptOutListName=(Option.map~f:OptOutListName.of_xml)(Xml.childxml_arg0"OptOutListName")inletoptOutListArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"OptOutListArn")inmake?nextToken?optedOutNumbers?optOutListName?optOutListArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletoptedOutNumbers=field_mapjson__"OptedOutNumbers"OptedOutNumberInformationList.of_jsoninletoptOutListName=field_mapjson__"OptOutListName"OptOutListName.of_jsoninletoptOutListArn=field_mapjson__"OptOutListArn"String_.of_jsoninmake?nextToken?optedOutNumbers?optOutListName?optOutListArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes the specified opted out destination numbers or all opted out destination numbers in an opt-out list. If you specify opted out numbers, the output includes information for only the specified opted out numbers. If you specify filters, the output includes information for only those opted out numbers that meet the filter criteria. If you don't specify opted out numbers or filters, the output includes information for all opted out destination numbers in your opt-out list. If you specify an opted out number that isn't valid, an exception is returned."]moduleDescribeOptedOutNumbersRequest=structtypenonrect={optOutListName:OptOutListNameOrArn.t[@ocaml.doc"The OptOutListName or OptOutListArn of the OptOutList. You can use DescribeOptOutLists to find the values for OptOutListName and OptOutListArn. If you are using a shared End User Messaging SMS resource then you must use the full Amazon Resource Name(ARN)."];optedOutNumbers:OptedOutNumberList.toption[@ocaml.doc"An array of phone numbers to search for in the OptOutList. If you specify an opted out number that isn't valid, an exception is returned."];filters:OptedOutFilterList.toption[@ocaml.doc"An array of OptedOutFilter objects to filter the results on."];nextToken:NextToken.toption[@ocaml.doc"The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request."];maxResults:MaxResults.toption[@ocaml.doc"The maximum number of results to return per each request."]}letcontext_="DescribeOptedOutNumbersRequest"letmake?optedOutNumbers=fun?filters->fun?nextToken->fun?maxResults->fun~optOutListName->fun()->{optedOutNumbers;filters;nextToken;maxResults;optOutListName}letto_valuex=structure_to_value[("OptOutListName",(Some(OptOutListNameOrArn.to_valuex.optOutListName)));("OptedOutNumbers",(Option.mapx.optedOutNumbers~f:OptedOutNumberList.to_value));("Filters",(Option.mapx.filters~f:OptedOutFilterList.to_value));("NextToken",(Option.mapx.nextToken~f:NextToken.to_value));("MaxResults",(Option.mapx.maxResults~f:MaxResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"MaxResults")inletnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"NextToken")inletfilters=(Option.map~f:OptedOutFilterList.of_xml)(Xml.childxml_arg0"Filters")inletoptedOutNumbers=(Option.map~f:OptedOutNumberList.of_xml)(Xml.childxml_arg0"OptedOutNumbers")inletoptOutListName=OptOutListNameOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"OptOutListName")inmake?maxResults?nextToken?filters?optedOutNumbers~optOutListName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"MaxResults"MaxResults.of_jsoninletnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletfilters=field_mapjson__"Filters"OptedOutFilterList.of_jsoninletoptedOutNumbers=field_mapjson__"OptedOutNumbers"OptedOutNumberList.of_jsoninletoptOutListName=field_map_exnjson__"OptOutListName"OptOutListNameOrArn.of_jsoninmake?maxResults?nextToken?filters?optedOutNumbers~optOutListName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes the specified opted out destination numbers or all opted out destination numbers in an opt-out list. If you specify opted out numbers, the output includes information for only the specified opted out numbers. If you specify filters, the output includes information for only those opted out numbers that meet the filter criteria. If you don't specify opted out numbers or filters, the output includes information for all opted out destination numbers in your opt-out list. If you specify an opted out number that isn't valid, an exception is returned."]moduleDescribeOptOutListsResult=structtypenonrect={optOutLists:OptOutListInformationList.toption[@ocaml.doc"An array of OptOutListInformation objects that contain the details for the requested OptOutLists."];nextToken:NextToken.toption[@ocaml.doc"The token to be used for the next set of paginated results. If this field is empty then there are no more results."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?optOutLists=fun?nextToken->fun()->{optOutLists;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[("OptOutLists",(Option.mapx.optOutLists~f:OptOutListInformationList.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")inletoptOutLists=(Option.map~f:OptOutListInformationList.of_xml)(Xml.childxml_arg0"OptOutLists")inmake?nextToken?optOutLists()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletoptOutLists=field_mapjson__"OptOutLists"OptOutListInformationList.of_jsoninmake?nextToken?optOutLists()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes the specified opt-out list or all opt-out lists in your account. If you specify opt-out list names, the output includes information for only the specified opt-out lists. Opt-out lists include only those that meet the filter criteria. If you don't specify opt-out list names or filters, the output includes information for all opt-out lists. If you specify an opt-out list name that isn't valid, an error is returned."]moduleDescribeOptOutListsRequest=structtypenonrect={optOutListNames:OptOutListNameList.toption[@ocaml.doc"The OptOutLists to show the details of. This is an array of strings that can be either the OptOutListName or OptOutListArn. If you are using a shared End User Messaging SMS resource then you must use the full Amazon Resource Name(ARN)."];nextToken:NextToken.toption[@ocaml.doc"The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request."];maxResults:MaxResults.toption[@ocaml.doc"The maximum number of results to return per each request."];owner:Owner.toption[@ocaml.doc"Use SELF to filter the list of Opt-Out List to ones your account owns or use SHARED to filter on Opt-Out List shared with your account. The Owner and OptOutListNames parameters can't be used at the same time."]}letmake?optOutListNames=fun?nextToken->fun?maxResults->fun?owner->fun()->{optOutListNames;nextToken;maxResults;owner}letto_valuex=structure_to_value[("OptOutListNames",(Option.mapx.optOutListNames~f:OptOutListNameList.to_value));("NextToken",(Option.mapx.nextToken~f:NextToken.to_value));("MaxResults",(Option.mapx.maxResults~f:MaxResults.to_value));("Owner",(Option.mapx.owner~f:Owner.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letowner=(Option.map~f:Owner.of_xml)(Xml.childxml_arg0"Owner")inletmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"MaxResults")inletnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"NextToken")inletoptOutListNames=(Option.map~f:OptOutListNameList.of_xml)(Xml.childxml_arg0"OptOutListNames")inmake?owner?maxResults?nextToken?optOutListNames()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letowner=field_mapjson__"Owner"Owner.of_jsoninletmaxResults=field_mapjson__"MaxResults"MaxResults.of_jsoninletnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletoptOutListNames=field_mapjson__"OptOutListNames"OptOutListNameList.of_jsoninmake?owner?maxResults?nextToken?optOutListNames()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes the specified opt-out list or all opt-out lists in your account. If you specify opt-out list names, the output includes information for only the specified opt-out lists. Opt-out lists include only those that meet the filter criteria. If you don't specify opt-out list names or filters, the output includes information for all opt-out lists. If you specify an opt-out list name that isn't valid, an error is returned."]moduleDescribeNotifyTemplatesResult=structtypenonrect={notifyTemplates:NotifyTemplateInformationList.toption[@ocaml.doc"An array of NotifyTemplateInformation objects that contain the results."];nextToken:NextToken.toption[@ocaml.doc"The token to be used for the next set of paginated results. If this field is empty then there are no more results."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?notifyTemplates=fun?nextToken->fun()->{notifyTemplates;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[("NotifyTemplates",(Option.mapx.notifyTemplates~f:NotifyTemplateInformationList.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")inletnotifyTemplates=(Option.map~f:NotifyTemplateInformationList.of_xml)(Xml.childxml_arg0"NotifyTemplates")inmake?nextToken?notifyTemplates()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletnotifyTemplates=field_mapjson__"NotifyTemplates"NotifyTemplateInformationList.of_jsoninmake?nextToken?notifyTemplates()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes the specified notify templates or all notify templates in your account. If you specify template IDs, the output includes information for only the specified notify templates. If you specify filters, the output includes information for only those notify templates that meet the filter criteria. If you don't specify template IDs or filters, the output includes information for all notify templates. If you specify a template ID that isn't valid, an error is returned."]moduleDescribeNotifyTemplatesRequest=structtypenonrect={templateIds:NotifyTemplateIdList.toption[@ocaml.doc"An array of template IDs to describe."];filters:NotifyTemplateFilterList.toption[@ocaml.doc"An array of NotifyTemplateFilter objects to filter the results on."];nextToken:NextToken.toption[@ocaml.doc"The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request."];maxResults:MaxResults.toption[@ocaml.doc"The maximum number of results to return per each request."]}letmake?templateIds=fun?filters->fun?nextToken->fun?maxResults->fun()->{templateIds;filters;nextToken;maxResults}letto_valuex=structure_to_value[("TemplateIds",(Option.mapx.templateIds~f:NotifyTemplateIdList.to_value));("Filters",(Option.mapx.filters~f:NotifyTemplateFilterList.to_value));("NextToken",(Option.mapx.nextToken~f:NextToken.to_value));("MaxResults",(Option.mapx.maxResults~f:MaxResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"MaxResults")inletnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"NextToken")inletfilters=(Option.map~f:NotifyTemplateFilterList.of_xml)(Xml.childxml_arg0"Filters")inlettemplateIds=(Option.map~f:NotifyTemplateIdList.of_xml)(Xml.childxml_arg0"TemplateIds")inmake?maxResults?nextToken?filters?templateIds()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"MaxResults"MaxResults.of_jsoninletnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletfilters=field_mapjson__"Filters"NotifyTemplateFilterList.of_jsoninlettemplateIds=field_mapjson__"TemplateIds"NotifyTemplateIdList.of_jsoninmake?maxResults?nextToken?filters?templateIds()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes the specified notify templates or all notify templates in your account. If you specify template IDs, the output includes information for only the specified notify templates. If you specify filters, the output includes information for only those notify templates that meet the filter criteria. If you don't specify template IDs or filters, the output includes information for all notify templates. If you specify a template ID that isn't valid, an error is returned."]moduleDescribeNotifyConfigurationsResult=structtypenonrect={notifyConfigurations:NotifyConfigurationInformationList.toption[@ocaml.doc"An array of NotifyConfigurationInformation objects that contain the results."];nextToken:NextToken.toption[@ocaml.doc"The token to be used for the next set of paginated results. If this field is empty then there are no more results."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?notifyConfigurations=fun?nextToken->fun()->{notifyConfigurations;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[("NotifyConfigurations",(Option.mapx.notifyConfigurations~f:NotifyConfigurationInformationList.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")inletnotifyConfigurations=(Option.map~f:NotifyConfigurationInformationList.of_xml)(Xml.childxml_arg0"NotifyConfigurations")inmake?nextToken?notifyConfigurations()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletnotifyConfigurations=field_mapjson__"NotifyConfigurations"NotifyConfigurationInformationList.of_jsoninmake?nextToken?notifyConfigurations()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes the specified notify configurations or all notify configurations in your account. If you specify notify configuration IDs, the output includes information for only the specified notify configurations. If you specify filters, the output includes information for only those notify configurations that meet the filter criteria. If you don't specify notify configuration IDs or filters, the output includes information for all notify configurations. If you specify a notify configuration ID that isn't valid, an error is returned."]moduleDescribeNotifyConfigurationsRequest=structtypenonrect={notifyConfigurationIds:NotifyConfigurationIdList.toption[@ocaml.doc"An array of notify configuration IDs to describe."];filters:NotifyConfigurationFilterList.toption[@ocaml.doc"An array of NotifyConfigurationFilter objects to filter the results on."];nextToken:NextToken.toption[@ocaml.doc"The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request."];maxResults:MaxResults.toption[@ocaml.doc"The maximum number of results to return per each request."]}letmake?notifyConfigurationIds=fun?filters->fun?nextToken->fun?maxResults->fun()->{notifyConfigurationIds;filters;nextToken;maxResults}letto_valuex=structure_to_value[("NotifyConfigurationIds",(Option.mapx.notifyConfigurationIds~f:NotifyConfigurationIdList.to_value));("Filters",(Option.mapx.filters~f:NotifyConfigurationFilterList.to_value));("NextToken",(Option.mapx.nextToken~f:NextToken.to_value));("MaxResults",(Option.mapx.maxResults~f:MaxResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"MaxResults")inletnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"NextToken")inletfilters=(Option.map~f:NotifyConfigurationFilterList.of_xml)(Xml.childxml_arg0"Filters")inletnotifyConfigurationIds=(Option.map~f:NotifyConfigurationIdList.of_xml)(Xml.childxml_arg0"NotifyConfigurationIds")inmake?maxResults?nextToken?filters?notifyConfigurationIds()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"MaxResults"MaxResults.of_jsoninletnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletfilters=field_mapjson__"Filters"NotifyConfigurationFilterList.of_jsoninletnotifyConfigurationIds=field_mapjson__"NotifyConfigurationIds"NotifyConfigurationIdList.of_jsoninmake?maxResults?nextToken?filters?notifyConfigurationIds()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes the specified notify configurations or all notify configurations in your account. If you specify notify configuration IDs, the output includes information for only the specified notify configurations. If you specify filters, the output includes information for only those notify configurations that meet the filter criteria. If you don't specify notify configuration IDs or filters, the output includes information for all notify configurations. If you specify a notify configuration ID that isn't valid, an error is returned."]moduleDescribeKeywordsResult=structtypenonrect={originationIdentityArn:String_.toption[@ocaml.doc"The PhoneNumberArn or PoolArn that is associated with the OriginationIdentity."];originationIdentity:String_.toption[@ocaml.doc"The PhoneNumberId or PoolId that is associated with the OriginationIdentity."];keywords:KeywordInformationList.toption[@ocaml.doc"An array of KeywordInformation objects that contain the results."];nextToken:NextToken.toption[@ocaml.doc"The token to be used for the next set of paginated results. If this field is empty then there are no more results."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?originationIdentityArn=fun?originationIdentity->fun?keywords->fun?nextToken->fun()->{originationIdentityArn;originationIdentity;keywords;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[("OriginationIdentityArn",(Option.mapx.originationIdentityArn~f:String_.to_value));("OriginationIdentity",(Option.mapx.originationIdentity~f:String_.to_value));("Keywords",(Option.mapx.keywords~f:KeywordInformationList.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")inletkeywords=(Option.map~f:KeywordInformationList.of_xml)(Xml.childxml_arg0"Keywords")inletoriginationIdentity=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"OriginationIdentity")inletoriginationIdentityArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"OriginationIdentityArn")inmake?nextToken?keywords?originationIdentity?originationIdentityArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletkeywords=field_mapjson__"Keywords"KeywordInformationList.of_jsoninletoriginationIdentity=field_mapjson__"OriginationIdentity"String_.of_jsoninletoriginationIdentityArn=field_mapjson__"OriginationIdentityArn"String_.of_jsoninmake?nextToken?keywords?originationIdentity?originationIdentityArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes the specified keywords or all keywords on your origination phone number or pool. A keyword is a word that you can search for on a particular phone number or pool. It is also a specific word or phrase that an end user can send to your number to elicit a response, such as an informational message or a special offer. When your number receives a message that begins with a keyword, End User Messaging SMS responds with a customizable message. If you specify a keyword that isn't valid, an error is returned."]moduleDescribeKeywordsRequest=structtypenonrect={originationIdentity:PhoneOrPoolIdOrArn.t[@ocaml.doc"The origination identity to use such as a PhoneNumberId, PhoneNumberArn, SenderId or SenderIdArn. You can use DescribePhoneNumbers to find the values for PhoneNumberId and PhoneNumberArn while DescribeSenderIds can be used to get the values for SenderId and SenderIdArn. If you are using a shared End User Messaging SMS resource then you must use the full Amazon Resource Name(ARN)."];keywords:KeywordList.toption[@ocaml.doc"An array of keywords to search for."];filters:KeywordFilterList.toption[@ocaml.doc"An array of keyword filters to filter the results."];nextToken:NextToken.toption[@ocaml.doc"The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request."];maxResults:MaxResults.toption[@ocaml.doc"The maximum number of results to return per each request."]}letcontext_="DescribeKeywordsRequest"letmake?keywords=fun?filters->fun?nextToken->fun?maxResults->fun~originationIdentity->fun()->{keywords;filters;nextToken;maxResults;originationIdentity}letto_valuex=structure_to_value[("OriginationIdentity",(Some(PhoneOrPoolIdOrArn.to_valuex.originationIdentity)));("Keywords",(Option.mapx.keywords~f:KeywordList.to_value));("Filters",(Option.mapx.filters~f:KeywordFilterList.to_value));("NextToken",(Option.mapx.nextToken~f:NextToken.to_value));("MaxResults",(Option.mapx.maxResults~f:MaxResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"MaxResults")inletnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"NextToken")inletfilters=(Option.map~f:KeywordFilterList.of_xml)(Xml.childxml_arg0"Filters")inletkeywords=(Option.map~f:KeywordList.of_xml)(Xml.childxml_arg0"Keywords")inletoriginationIdentity=PhoneOrPoolIdOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"OriginationIdentity")inmake?maxResults?nextToken?filters?keywords~originationIdentity()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"MaxResults"MaxResults.of_jsoninletnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletfilters=field_mapjson__"Filters"KeywordFilterList.of_jsoninletkeywords=field_mapjson__"Keywords"KeywordList.of_jsoninletoriginationIdentity=field_map_exnjson__"OriginationIdentity"PhoneOrPoolIdOrArn.of_jsoninmake?maxResults?nextToken?filters?keywords~originationIdentity()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes the specified keywords or all keywords on your origination phone number or pool. A keyword is a word that you can search for on a particular phone number or pool. It is also a specific word or phrase that an end user can send to your number to elicit a response, such as an informational message or a special offer. When your number receives a message that begins with a keyword, End User Messaging SMS responds with a customizable message. If you specify a keyword that isn't valid, an error is returned."]moduleDescribeConfigurationSetsResult=structtypenonrect={configurationSets:ConfigurationSetInformationList.toption[@ocaml.doc"An array of ConfigurationSets objects."];nextToken:NextToken.toption[@ocaml.doc"The token to be used for the next set of paginated results. If this field is empty then there are no more results."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?configurationSets=fun?nextToken->fun()->{configurationSets;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[("ConfigurationSets",(Option.mapx.configurationSets~f:ConfigurationSetInformationList.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")inletconfigurationSets=(Option.map~f:ConfigurationSetInformationList.of_xml)(Xml.childxml_arg0"ConfigurationSets")inmake?nextToken?configurationSets()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletconfigurationSets=field_mapjson__"ConfigurationSets"ConfigurationSetInformationList.of_jsoninmake?nextToken?configurationSets()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes the specified configuration sets or all in your account. If you specify configuration set names, the output includes information for only the specified configuration sets. If you specify filters, the output includes information for only those configuration sets that meet the filter criteria. If you don't specify configuration set names or filters, the output includes information for all configuration sets. If you specify a configuration set name that isn't valid, an error is returned."]moduleDescribeConfigurationSetsRequest=structtypenonrect={configurationSetNames:ConfigurationSetNameList.toption[@ocaml.doc"An array of strings. Each element can be either a ConfigurationSetName or ConfigurationSetArn."];filters:ConfigurationSetFilterList.toption[@ocaml.doc"An array of filters to apply to the results that are returned."];nextToken:NextToken.toption[@ocaml.doc"The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request."];maxResults:MaxResults.toption[@ocaml.doc"The maximum number of results to return per each request."]}letmake?configurationSetNames=fun?filters->fun?nextToken->fun?maxResults->fun()->{configurationSetNames;filters;nextToken;maxResults}letto_valuex=structure_to_value[("ConfigurationSetNames",(Option.mapx.configurationSetNames~f:ConfigurationSetNameList.to_value));("Filters",(Option.mapx.filters~f:ConfigurationSetFilterList.to_value));("NextToken",(Option.mapx.nextToken~f:NextToken.to_value));("MaxResults",(Option.mapx.maxResults~f:MaxResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"MaxResults")inletnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"NextToken")inletfilters=(Option.map~f:ConfigurationSetFilterList.of_xml)(Xml.childxml_arg0"Filters")inletconfigurationSetNames=(Option.map~f:ConfigurationSetNameList.of_xml)(Xml.childxml_arg0"ConfigurationSetNames")inmake?maxResults?nextToken?filters?configurationSetNames()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"MaxResults"MaxResults.of_jsoninletnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletfilters=field_mapjson__"Filters"ConfigurationSetFilterList.of_jsoninletconfigurationSetNames=field_mapjson__"ConfigurationSetNames"ConfigurationSetNameList.of_jsoninmake?maxResults?nextToken?filters?configurationSetNames()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes the specified configuration sets or all in your account. If you specify configuration set names, the output includes information for only the specified configuration sets. If you specify filters, the output includes information for only those configuration sets that meet the filter criteria. If you don't specify configuration set names or filters, the output includes information for all configuration sets. If you specify a configuration set name that isn't valid, an error is returned."]moduleDescribeAccountLimitsResult=structtypenonrect={accountLimits:AccountLimitList.toption[@ocaml.doc"An array of AccountLimit objects that show the current spend limits."];nextToken:NextToken.toption[@ocaml.doc"The token to be used for the next set of paginated results. If this field is empty then there are no more results."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?accountLimits=fun?nextToken->fun()->{accountLimits;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[("AccountLimits",(Option.mapx.accountLimits~f:AccountLimitList.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")inletaccountLimits=(Option.map~f:AccountLimitList.of_xml)(Xml.childxml_arg0"AccountLimits")inmake?nextToken?accountLimits()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletaccountLimits=field_mapjson__"AccountLimits"AccountLimitList.of_jsoninmake?nextToken?accountLimits()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes the current End User Messaging SMS SMS Voice V2 resource quotas for your account. The description for a quota includes the quota name, current usage toward that quota, and the quota's maximum value. When you establish an Amazon Web Services account, the account has initial quotas on the maximum number of configuration sets, opt-out lists, phone numbers, and pools that you can create in a given Region. For more information see Quotas in the End User Messaging SMS User Guide."]moduleDescribeAccountLimitsRequest=structtypenonrect={nextToken:NextToken.toption[@ocaml.doc"The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request."];maxResults:MaxResults.toption[@ocaml.doc"The maximum number of results to return per each request."]}letmake?nextToken=fun?maxResults->fun()->{nextToken;maxResults}letto_valuex=structure_to_value[("NextToken",(Option.mapx.nextToken~f:NextToken.to_value));("MaxResults",(Option.mapx.maxResults~f:MaxResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"MaxResults")inletnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"NextToken")inmake?maxResults?nextToken()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"MaxResults"MaxResults.of_jsoninletnextToken=field_mapjson__"NextToken"NextToken.of_jsoninmake?maxResults?nextToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes the current End User Messaging SMS SMS Voice V2 resource quotas for your account. The description for a quota includes the quota name, current usage toward that quota, and the quota's maximum value. When you establish an Amazon Web Services account, the account has initial quotas on the maximum number of configuration sets, opt-out lists, phone numbers, and pools that you can create in a given Region. For more information see Quotas in the End User Messaging SMS User Guide."]moduleDescribeAccountAttributesResult=structtypenonrect={accountAttributes:AccountAttributeList.toption[@ocaml.doc"An array of AccountAttributes objects."];nextToken:NextToken.toption[@ocaml.doc"The token to be used for the next set of paginated results. If this field is empty then there are no more results."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?accountAttributes=fun?nextToken->fun()->{accountAttributes;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[("AccountAttributes",(Option.mapx.accountAttributes~f:AccountAttributeList.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")inletaccountAttributes=(Option.map~f:AccountAttributeList.of_xml)(Xml.childxml_arg0"AccountAttributes")inmake?nextToken?accountAttributes()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletaccountAttributes=field_mapjson__"AccountAttributes"AccountAttributeList.of_jsoninmake?nextToken?accountAttributes()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes attributes of your Amazon Web Services account. The supported account attributes include account tier, which indicates whether your account is in the sandbox or production environment. When you're ready to move your account out of the sandbox, create an Amazon Web Services Support case for a service limit increase request. New accounts are placed into an SMS or voice sandbox. The sandbox protects both Amazon Web Services end recipients and SMS or voice recipients from fraud and abuse."]moduleDescribeAccountAttributesRequest=structtypenonrect={nextToken:NextToken.toption[@ocaml.doc"The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request."];maxResults:MaxResults.toption[@ocaml.doc"The maximum number of results to return per each request."]}letmake?nextToken=fun?maxResults->fun()->{nextToken;maxResults}letto_valuex=structure_to_value[("NextToken",(Option.mapx.nextToken~f:NextToken.to_value));("MaxResults",(Option.mapx.maxResults~f:MaxResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"MaxResults")inletnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"NextToken")inmake?maxResults?nextToken()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"MaxResults"MaxResults.of_jsoninletnextToken=field_mapjson__"NextToken"NextToken.of_jsoninmake?maxResults?nextToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes attributes of your Amazon Web Services account. The supported account attributes include account tier, which indicates whether your account is in the sandbox or production environment. When you're ready to move your account out of the sandbox, create an Amazon Web Services Support case for a service limit increase request. New accounts are placed into an SMS or voice sandbox. The sandbox protects both Amazon Web Services end recipients and SMS or voice recipients from fraud and abuse."]moduleDeleteVoiceMessageSpendLimitOverrideResult=structtypenonrect={monthlyLimit:MonthlyLimit.toption[@ocaml.doc"The current monthly limit, in US dollars."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?monthlyLimit=fun()->{monthlyLimit}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[("MonthlyLimit",(Option.mapx.monthlyLimit~f:MonthlyLimit.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmonthlyLimit=(Option.map~f:MonthlyLimit.of_xml)(Xml.childxml_arg0"MonthlyLimit")inmake?monthlyLimit()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmonthlyLimit=field_mapjson__"MonthlyLimit"MonthlyLimit.of_jsoninmake?monthlyLimit()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes an account level monthly spend limit override for sending voice messages. Deleting a spend limit override sets the EnforcedLimit equal to the MaxLimit, which is controlled by Amazon Web Services. For more information on spending limits (quotas) see Quotas in the End User Messaging SMS User Guide."]moduleDeleteVoiceMessageSpendLimitOverrideRequest=structtypenonrect=unitletmake()=()letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes an account level monthly spend limit override for sending voice messages. Deleting a spend limit override sets the EnforcedLimit equal to the MaxLimit, which is controlled by Amazon Web Services. For more information on spending limits (quotas) see Quotas in the End User Messaging SMS User Guide."]moduleDeleteVerifiedDestinationNumberResult=structtypenonrect={verifiedDestinationNumberArn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) for the verified destination phone number."];verifiedDestinationNumberId:String_.toption[@ocaml.doc"The unique identifier for the verified destination phone number."];destinationPhoneNumber:PhoneNumber.toption[@ocaml.doc"The verified destination phone number, in E.164 format."];createdTimestamp:Timestamp.toption[@ocaml.doc"The time when the destination phone number was created, in UNIX epoch time format."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?verifiedDestinationNumberArn=fun?verifiedDestinationNumberId->fun?destinationPhoneNumber->fun?createdTimestamp->fun()->{verifiedDestinationNumberArn;verifiedDestinationNumberId;destinationPhoneNumber;createdTimestamp}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[("VerifiedDestinationNumberArn",(Option.mapx.verifiedDestinationNumberArn~f:String_.to_value));("VerifiedDestinationNumberId",(Option.mapx.verifiedDestinationNumberId~f:String_.to_value));("DestinationPhoneNumber",(Option.mapx.destinationPhoneNumber~f:PhoneNumber.to_value));("CreatedTimestamp",(Option.mapx.createdTimestamp~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcreatedTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"CreatedTimestamp")inletdestinationPhoneNumber=(Option.map~f:PhoneNumber.of_xml)(Xml.childxml_arg0"DestinationPhoneNumber")inletverifiedDestinationNumberId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"VerifiedDestinationNumberId")inletverifiedDestinationNumberArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"VerifiedDestinationNumberArn")inmake?createdTimestamp?destinationPhoneNumber?verifiedDestinationNumberId?verifiedDestinationNumberArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcreatedTimestamp=field_mapjson__"CreatedTimestamp"Timestamp.of_jsoninletdestinationPhoneNumber=field_mapjson__"DestinationPhoneNumber"PhoneNumber.of_jsoninletverifiedDestinationNumberId=field_mapjson__"VerifiedDestinationNumberId"String_.of_jsoninletverifiedDestinationNumberArn=field_mapjson__"VerifiedDestinationNumberArn"String_.of_jsoninmake?createdTimestamp?destinationPhoneNumber?verifiedDestinationNumberId?verifiedDestinationNumberArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Delete a verified destination phone number."]moduleDeleteVerifiedDestinationNumberRequest=structtypenonrect={verifiedDestinationNumberId:VerifiedDestinationNumberIdOrArn.t[@ocaml.doc"The unique identifier for the verified destination phone number."]}letcontext_="DeleteVerifiedDestinationNumberRequest"letmake~verifiedDestinationNumberId=fun()->{verifiedDestinationNumberId}letto_valuex=structure_to_value[("VerifiedDestinationNumberId",(Some(VerifiedDestinationNumberIdOrArn.to_valuex.verifiedDestinationNumberId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letverifiedDestinationNumberId=VerifiedDestinationNumberIdOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"VerifiedDestinationNumberId")inmake~verifiedDestinationNumberId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letverifiedDestinationNumberId=field_map_exnjson__"VerifiedDestinationNumberId"VerifiedDestinationNumberIdOrArn.of_jsoninmake~verifiedDestinationNumberId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Delete a verified destination phone number."]moduleDeleteTextMessageSpendLimitOverrideResult=structtypenonrect={monthlyLimit:MonthlyLimit.toption[@ocaml.doc"The current monthly limit, in US dollars."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?monthlyLimit=fun()->{monthlyLimit}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[("MonthlyLimit",(Option.mapx.monthlyLimit~f:MonthlyLimit.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmonthlyLimit=(Option.map~f:MonthlyLimit.of_xml)(Xml.childxml_arg0"MonthlyLimit")inmake?monthlyLimit()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmonthlyLimit=field_mapjson__"MonthlyLimit"MonthlyLimit.of_jsoninmake?monthlyLimit()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes an account-level monthly spending limit override for sending text messages. Deleting a spend limit override will set the EnforcedLimit to equal the MaxLimit, which is controlled by Amazon Web Services. For more information on spend limits (quotas) see Quotas in the End User Messaging SMS User Guide."]moduleDeleteTextMessageSpendLimitOverrideRequest=structtypenonrect=unitletmake()=()letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes an account-level monthly spending limit override for sending text messages. Deleting a spend limit override will set the EnforcedLimit to equal the MaxLimit, which is controlled by Amazon Web Services. For more information on spend limits (quotas) see Quotas in the End User Messaging SMS User Guide."]moduleDeleteResourcePolicyResult=structtypenonrect={resourceArn:AmazonResourceName.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the End User Messaging SMS resource that the resource-based policy was deleted from."];policy:ResourcePolicy.toption[@ocaml.doc"The JSON formatted resource-based policy that was deleted."];createdTimestamp:Timestamp.toption[@ocaml.doc"The time when the resource-based policy was created, in UNIX epoch time format."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?resourceArn=fun?policy->fun?createdTimestamp->fun()->{resourceArn;policy;createdTimestamp}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[("ResourceArn",(Option.mapx.resourceArn~f:AmazonResourceName.to_value));("Policy",(Option.mapx.policy~f:ResourcePolicy.to_value));("CreatedTimestamp",(Option.mapx.createdTimestamp~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcreatedTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"CreatedTimestamp")inletpolicy=(Option.map~f:ResourcePolicy.of_xml)(Xml.childxml_arg0"Policy")inletresourceArn=(Option.map~f:AmazonResourceName.of_xml)(Xml.childxml_arg0"ResourceArn")inmake?createdTimestamp?policy?resourceArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcreatedTimestamp=field_mapjson__"CreatedTimestamp"Timestamp.of_jsoninletpolicy=field_mapjson__"Policy"ResourcePolicy.of_jsoninletresourceArn=field_mapjson__"ResourceArn"AmazonResourceName.of_jsoninmake?createdTimestamp?policy?resourceArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes the resource-based policy document attached to the End User Messaging SMS resource. A shared resource can be a Pool, Opt-out list, Sender Id, or Phone number."]moduleDeleteResourcePolicyRequest=structtypenonrect={resourceArn:AmazonResourceName.t[@ocaml.doc"The Amazon Resource Name (ARN) of the End User Messaging SMS resource you're deleting the resource-based policy from."]}letcontext_="DeleteResourcePolicyRequest"letmake~resourceArn=fun()->{resourceArn}letto_valuex=structure_to_value[("ResourceArn",(Some(AmazonResourceName.to_valuex.resourceArn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresourceArn=AmazonResourceName.of_xml(Xml.child_exn~context:context_xml_arg0"ResourceArn")inmake~resourceArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresourceArn=field_map_exnjson__"ResourceArn"AmazonResourceName.of_jsoninmake~resourceArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes the resource-based policy document attached to the End User Messaging SMS resource. A shared resource can be a Pool, Opt-out list, Sender Id, or Phone number."]moduleDeleteRegistrationResult=structtypenonrect={registrationArn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) for the registration."];registrationId:String_.toption[@ocaml.doc"The unique identifier for the registration."];registrationType:RegistrationType.toption[@ocaml.doc"The type of registration form. The list of RegistrationTypes can be found using the DescribeRegistrationTypeDefinitions action."];registrationStatus:RegistrationStatus.toption[@ocaml.doc"The status of the registration. CLOSED: The phone number or sender ID has been deleted and you must also delete the registration for the number. CREATED: Your registration is created but not submitted. COMPLETE: Your registration has been approved and your origination identity has been created. DELETED: The registration has been deleted. PROVISIONING: Your registration has been approved and your origination identity is being created. REQUIRES_AUTHENTICATION: You need to complete email authentication. REQUIRES_UPDATES: You must fix your registration and resubmit it. REVIEWING: Your registration has been accepted and is being reviewed. SUBMITTED: Your registration has been submitted and is awaiting review."];currentVersionNumber:RegistrationVersionNumber.toption[@ocaml.doc"The current version number of the registration."];approvedVersionNumber:RegistrationVersionNumber.toption[@ocaml.doc"The version number of the registration that was approved."];latestDeniedVersionNumber:RegistrationVersionNumber.toption[@ocaml.doc"The latest version number of the registration that was denied."];additionalAttributes:StringMap.toption[@ocaml.doc"Metadata about a given registration which is specific to that registration type."];createdTimestamp:Timestamp.toption[@ocaml.doc"The time when the registration was created, in UNIX epoch time format."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?registrationArn=fun?registrationId->fun?registrationType->fun?registrationStatus->fun?currentVersionNumber->fun?approvedVersionNumber->fun?latestDeniedVersionNumber->fun?additionalAttributes->fun?createdTimestamp->fun()->{registrationArn;registrationId;registrationType;registrationStatus;currentVersionNumber;approvedVersionNumber;latestDeniedVersionNumber;additionalAttributes;createdTimestamp}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[("RegistrationArn",(Option.mapx.registrationArn~f:String_.to_value));("RegistrationId",(Option.mapx.registrationId~f:String_.to_value));("RegistrationType",(Option.mapx.registrationType~f:RegistrationType.to_value));("RegistrationStatus",(Option.mapx.registrationStatus~f:RegistrationStatus.to_value));("CurrentVersionNumber",(Option.mapx.currentVersionNumber~f:RegistrationVersionNumber.to_value));("ApprovedVersionNumber",(Option.mapx.approvedVersionNumber~f:RegistrationVersionNumber.to_value));("LatestDeniedVersionNumber",(Option.mapx.latestDeniedVersionNumber~f:RegistrationVersionNumber.to_value));("AdditionalAttributes",(Option.mapx.additionalAttributes~f:StringMap.to_value));("CreatedTimestamp",(Option.mapx.createdTimestamp~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcreatedTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"CreatedTimestamp")inletadditionalAttributes=(Option.map~f:StringMap.of_xml)(Xml.childxml_arg0"AdditionalAttributes")inletlatestDeniedVersionNumber=(Option.map~f:RegistrationVersionNumber.of_xml)(Xml.childxml_arg0"LatestDeniedVersionNumber")inletapprovedVersionNumber=(Option.map~f:RegistrationVersionNumber.of_xml)(Xml.childxml_arg0"ApprovedVersionNumber")inletcurrentVersionNumber=(Option.map~f:RegistrationVersionNumber.of_xml)(Xml.childxml_arg0"CurrentVersionNumber")inletregistrationStatus=(Option.map~f:RegistrationStatus.of_xml)(Xml.childxml_arg0"RegistrationStatus")inletregistrationType=(Option.map~f:RegistrationType.of_xml)(Xml.childxml_arg0"RegistrationType")inletregistrationId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RegistrationId")inletregistrationArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RegistrationArn")inmake?createdTimestamp?additionalAttributes?latestDeniedVersionNumber?approvedVersionNumber?currentVersionNumber?registrationStatus?registrationType?registrationId?registrationArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcreatedTimestamp=field_mapjson__"CreatedTimestamp"Timestamp.of_jsoninletadditionalAttributes=field_mapjson__"AdditionalAttributes"StringMap.of_jsoninletlatestDeniedVersionNumber=field_mapjson__"LatestDeniedVersionNumber"RegistrationVersionNumber.of_jsoninletapprovedVersionNumber=field_mapjson__"ApprovedVersionNumber"RegistrationVersionNumber.of_jsoninletcurrentVersionNumber=field_mapjson__"CurrentVersionNumber"RegistrationVersionNumber.of_jsoninletregistrationStatus=field_mapjson__"RegistrationStatus"RegistrationStatus.of_jsoninletregistrationType=field_mapjson__"RegistrationType"RegistrationType.of_jsoninletregistrationId=field_mapjson__"RegistrationId"String_.of_jsoninletregistrationArn=field_mapjson__"RegistrationArn"String_.of_jsoninmake?createdTimestamp?additionalAttributes?latestDeniedVersionNumber?approvedVersionNumber?currentVersionNumber?registrationStatus?registrationType?registrationId?registrationArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Permanently delete an existing registration from your account."]moduleDeleteRegistrationRequest=structtypenonrect={registrationId:RegistrationIdOrArn.t[@ocaml.doc"The unique identifier for the registration."]}letcontext_="DeleteRegistrationRequest"letmake~registrationId=fun()->{registrationId}letto_valuex=structure_to_value[("RegistrationId",(Some(RegistrationIdOrArn.to_valuex.registrationId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letregistrationId=RegistrationIdOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"RegistrationId")inmake~registrationId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letregistrationId=field_map_exnjson__"RegistrationId"RegistrationIdOrArn.of_jsoninmake~registrationId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Permanently delete an existing registration from your account."]moduleDeleteRegistrationFieldValueResult=structtypenonrect={registrationArn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) for the registration."];registrationId:String_.toption[@ocaml.doc"The unique identifier for the registration."];versionNumber:RegistrationVersionNumber.toption[@ocaml.doc"The version number of the registration."];fieldPath:FieldPath.toption[@ocaml.doc"The path to the registration form field."];selectChoices:SelectChoiceList.toption[@ocaml.doc"An array of values for the form field."];textValue:TextValue.toption[@ocaml.doc"The text data for a free form field."];registrationAttachmentId:String_.toption[@ocaml.doc"The unique identifier for the registration attachment."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?registrationArn=fun?registrationId->fun?versionNumber->fun?fieldPath->fun?selectChoices->fun?textValue->fun?registrationAttachmentId->fun()->{registrationArn;registrationId;versionNumber;fieldPath;selectChoices;textValue;registrationAttachmentId}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[("RegistrationArn",(Option.mapx.registrationArn~f:String_.to_value));("RegistrationId",(Option.mapx.registrationId~f:String_.to_value));("VersionNumber",(Option.mapx.versionNumber~f:RegistrationVersionNumber.to_value));("FieldPath",(Option.mapx.fieldPath~f:FieldPath.to_value));("SelectChoices",(Option.mapx.selectChoices~f:SelectChoiceList.to_value));("TextValue",(Option.mapx.textValue~f:TextValue.to_value));("RegistrationAttachmentId",(Option.mapx.registrationAttachmentId~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letregistrationAttachmentId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RegistrationAttachmentId")inlettextValue=(Option.map~f:TextValue.of_xml)(Xml.childxml_arg0"TextValue")inletselectChoices=(Option.map~f:SelectChoiceList.of_xml)(Xml.childxml_arg0"SelectChoices")inletfieldPath=(Option.map~f:FieldPath.of_xml)(Xml.childxml_arg0"FieldPath")inletversionNumber=(Option.map~f:RegistrationVersionNumber.of_xml)(Xml.childxml_arg0"VersionNumber")inletregistrationId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RegistrationId")inletregistrationArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RegistrationArn")inmake?registrationAttachmentId?textValue?selectChoices?fieldPath?versionNumber?registrationId?registrationArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letregistrationAttachmentId=field_mapjson__"RegistrationAttachmentId"String_.of_jsoninlettextValue=field_mapjson__"TextValue"TextValue.of_jsoninletselectChoices=field_mapjson__"SelectChoices"SelectChoiceList.of_jsoninletfieldPath=field_mapjson__"FieldPath"FieldPath.of_jsoninletversionNumber=field_mapjson__"VersionNumber"RegistrationVersionNumber.of_jsoninletregistrationId=field_mapjson__"RegistrationId"String_.of_jsoninletregistrationArn=field_mapjson__"RegistrationArn"String_.of_jsoninmake?registrationAttachmentId?textValue?selectChoices?fieldPath?versionNumber?registrationId?registrationArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Delete the value in a registration form field."]moduleDeleteRegistrationFieldValueRequest=structtypenonrect={registrationId:RegistrationIdOrArn.t[@ocaml.doc"The unique identifier for the registration."];fieldPath:FieldPath.t[@ocaml.doc"The path to the registration form field. You can use DescribeRegistrationFieldDefinitions for a list of FieldPaths."]}letcontext_="DeleteRegistrationFieldValueRequest"letmake~registrationId=fun~fieldPath->fun()->{registrationId;fieldPath}letto_valuex=structure_to_value[("RegistrationId",(Some(RegistrationIdOrArn.to_valuex.registrationId)));("FieldPath",(Some(FieldPath.to_valuex.fieldPath)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letfieldPath=FieldPath.of_xml(Xml.child_exn~context:context_xml_arg0"FieldPath")inletregistrationId=RegistrationIdOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"RegistrationId")inmake~fieldPath~registrationId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letfieldPath=field_map_exnjson__"FieldPath"FieldPath.of_jsoninletregistrationId=field_map_exnjson__"RegistrationId"RegistrationIdOrArn.of_jsoninmake~fieldPath~registrationId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Delete the value in a registration form field."]moduleDeleteRegistrationAttachmentResult=structtypenonrect={registrationAttachmentArn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) for the registration attachment."];registrationAttachmentId:String_.toption[@ocaml.doc"The unique identifier for the registration attachment."];attachmentStatus:AttachmentStatus.toption[@ocaml.doc"The status of the registration attachment. UPLOAD_IN_PROGRESS The attachment is being uploaded. UPLOAD_COMPLETE The attachment has been uploaded. UPLOAD_FAILED The attachment failed to uploaded. DELETED The attachment has been deleted.."];attachmentUploadErrorReason:AttachmentUploadErrorReason.toption[@ocaml.doc"The error message if the upload failed."];createdTimestamp:Timestamp.toption[@ocaml.doc"The time when the registration attachment was created, in UNIX epoch time format."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?registrationAttachmentArn=fun?registrationAttachmentId->fun?attachmentStatus->fun?attachmentUploadErrorReason->fun?createdTimestamp->fun()->{registrationAttachmentArn;registrationAttachmentId;attachmentStatus;attachmentUploadErrorReason;createdTimestamp}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[("RegistrationAttachmentArn",(Option.mapx.registrationAttachmentArn~f:String_.to_value));("RegistrationAttachmentId",(Option.mapx.registrationAttachmentId~f:String_.to_value));("AttachmentStatus",(Option.mapx.attachmentStatus~f:AttachmentStatus.to_value));("AttachmentUploadErrorReason",(Option.mapx.attachmentUploadErrorReason~f:AttachmentUploadErrorReason.to_value));("CreatedTimestamp",(Option.mapx.createdTimestamp~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcreatedTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"CreatedTimestamp")inletattachmentUploadErrorReason=(Option.map~f:AttachmentUploadErrorReason.of_xml)(Xml.childxml_arg0"AttachmentUploadErrorReason")inletattachmentStatus=(Option.map~f:AttachmentStatus.of_xml)(Xml.childxml_arg0"AttachmentStatus")inletregistrationAttachmentId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RegistrationAttachmentId")inletregistrationAttachmentArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RegistrationAttachmentArn")inmake?createdTimestamp?attachmentUploadErrorReason?attachmentStatus?registrationAttachmentId?registrationAttachmentArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcreatedTimestamp=field_mapjson__"CreatedTimestamp"Timestamp.of_jsoninletattachmentUploadErrorReason=field_mapjson__"AttachmentUploadErrorReason"AttachmentUploadErrorReason.of_jsoninletattachmentStatus=field_mapjson__"AttachmentStatus"AttachmentStatus.of_jsoninletregistrationAttachmentId=field_mapjson__"RegistrationAttachmentId"String_.of_jsoninletregistrationAttachmentArn=field_mapjson__"RegistrationAttachmentArn"String_.of_jsoninmake?createdTimestamp?attachmentUploadErrorReason?attachmentStatus?registrationAttachmentId?registrationAttachmentArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Permanently delete the specified registration attachment."]moduleDeleteRegistrationAttachmentRequest=structtypenonrect={registrationAttachmentId:RegistrationAttachmentIdOrArn.t[@ocaml.doc"The unique identifier for the registration attachment."]}letcontext_="DeleteRegistrationAttachmentRequest"letmake~registrationAttachmentId=fun()->{registrationAttachmentId}letto_valuex=structure_to_value[("RegistrationAttachmentId",(Some(RegistrationAttachmentIdOrArn.to_valuex.registrationAttachmentId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letregistrationAttachmentId=RegistrationAttachmentIdOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"RegistrationAttachmentId")inmake~registrationAttachmentId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letregistrationAttachmentId=field_map_exnjson__"RegistrationAttachmentId"RegistrationAttachmentIdOrArn.of_jsoninmake~registrationAttachmentId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Permanently delete the specified registration attachment."]moduleDeleteRcsAgentResult=structtypenonrect={rcsAgentArn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the deleted RCS agent."];rcsAgentId:String_.toption[@ocaml.doc"The unique identifier for the deleted RCS agent."];status:RcsAgentStatus.toption[@ocaml.doc"The current status of the RCS agent."];createdTimestamp:Timestamp.toption[@ocaml.doc"The time when the RCS agent was created, in UNIX epoch time format."];deletionProtectionEnabled:PrimitiveBoolean.toption[@ocaml.doc"When set to true deletion protection is enabled. By default this is set to false."];optOutListName:OptOutListName.toption[@ocaml.doc"The name of the OptOutList that was associated with the deleted RCS agent."];selfManagedOptOutsEnabled:PrimitiveBoolean.toption[@ocaml.doc"By default this is set to false. When set to true you're responsible for responding to HELP and STOP requests. You're also responsible for tracking and honoring opt-out requests."];twoWayChannelArn:TwoWayChannelArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the two way channel."];twoWayChannelRole:IamRoleArn.toption[@ocaml.doc"An optional IAM Role Arn for a service to assume, to be able to post inbound SMS messages."];twoWayEnabled:PrimitiveBoolean.toption[@ocaml.doc"By default this is set to false. When set to true you can receive incoming text messages from your end recipients."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?rcsAgentArn=fun?rcsAgentId->fun?status->fun?createdTimestamp->fun?deletionProtectionEnabled->fun?optOutListName->fun?selfManagedOptOutsEnabled->fun?twoWayChannelArn->fun?twoWayChannelRole->fun?twoWayEnabled->fun()->{rcsAgentArn;rcsAgentId;status;createdTimestamp;deletionProtectionEnabled;optOutListName;selfManagedOptOutsEnabled;twoWayChannelArn;twoWayChannelRole;twoWayEnabled}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[("RcsAgentArn",(Option.mapx.rcsAgentArn~f:String_.to_value));("RcsAgentId",(Option.mapx.rcsAgentId~f:String_.to_value));("Status",(Option.mapx.status~f:RcsAgentStatus.to_value));("CreatedTimestamp",(Option.mapx.createdTimestamp~f:Timestamp.to_value));("DeletionProtectionEnabled",(Option.mapx.deletionProtectionEnabled~f:PrimitiveBoolean.to_value));("OptOutListName",(Option.mapx.optOutListName~f:OptOutListName.to_value));("SelfManagedOptOutsEnabled",(Option.mapx.selfManagedOptOutsEnabled~f:PrimitiveBoolean.to_value));("TwoWayChannelArn",(Option.mapx.twoWayChannelArn~f:TwoWayChannelArn.to_value));("TwoWayChannelRole",(Option.mapx.twoWayChannelRole~f:IamRoleArn.to_value));("TwoWayEnabled",(Option.mapx.twoWayEnabled~f:PrimitiveBoolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettwoWayEnabled=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"TwoWayEnabled")inlettwoWayChannelRole=(Option.map~f:IamRoleArn.of_xml)(Xml.childxml_arg0"TwoWayChannelRole")inlettwoWayChannelArn=(Option.map~f:TwoWayChannelArn.of_xml)(Xml.childxml_arg0"TwoWayChannelArn")inletselfManagedOptOutsEnabled=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"SelfManagedOptOutsEnabled")inletoptOutListName=(Option.map~f:OptOutListName.of_xml)(Xml.childxml_arg0"OptOutListName")inletdeletionProtectionEnabled=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"DeletionProtectionEnabled")inletcreatedTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"CreatedTimestamp")inletstatus=(Option.map~f:RcsAgentStatus.of_xml)(Xml.childxml_arg0"Status")inletrcsAgentId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RcsAgentId")inletrcsAgentArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RcsAgentArn")inmake?twoWayEnabled?twoWayChannelRole?twoWayChannelArn?selfManagedOptOutsEnabled?optOutListName?deletionProtectionEnabled?createdTimestamp?status?rcsAgentId?rcsAgentArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettwoWayEnabled=field_mapjson__"TwoWayEnabled"PrimitiveBoolean.of_jsoninlettwoWayChannelRole=field_mapjson__"TwoWayChannelRole"IamRoleArn.of_jsoninlettwoWayChannelArn=field_mapjson__"TwoWayChannelArn"TwoWayChannelArn.of_jsoninletselfManagedOptOutsEnabled=field_mapjson__"SelfManagedOptOutsEnabled"PrimitiveBoolean.of_jsoninletoptOutListName=field_mapjson__"OptOutListName"OptOutListName.of_jsoninletdeletionProtectionEnabled=field_mapjson__"DeletionProtectionEnabled"PrimitiveBoolean.of_jsoninletcreatedTimestamp=field_mapjson__"CreatedTimestamp"Timestamp.of_jsoninletstatus=field_mapjson__"Status"RcsAgentStatus.of_jsoninletrcsAgentId=field_mapjson__"RcsAgentId"String_.of_jsoninletrcsAgentArn=field_mapjson__"RcsAgentArn"String_.of_jsoninmake?twoWayEnabled?twoWayChannelRole?twoWayChannelArn?selfManagedOptOutsEnabled?optOutListName?deletionProtectionEnabled?createdTimestamp?status?rcsAgentId?rcsAgentArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes an existing RCS agent. If deletion protection is enabled, an error is returned."]moduleDeleteRcsAgentRequest=structtypenonrect={rcsAgentId:RcsAgentIdOrArn.t[@ocaml.doc"The unique identifier of the RCS agent to delete. You can use either the RcsAgentId or RcsAgentArn."]}letcontext_="DeleteRcsAgentRequest"letmake~rcsAgentId=fun()->{rcsAgentId}letto_valuex=structure_to_value[("RcsAgentId",(Some(RcsAgentIdOrArn.to_valuex.rcsAgentId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letrcsAgentId=RcsAgentIdOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"RcsAgentId")inmake~rcsAgentId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letrcsAgentId=field_map_exnjson__"RcsAgentId"RcsAgentIdOrArn.of_jsoninmake~rcsAgentId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes an existing RCS agent. If deletion protection is enabled, an error is returned."]moduleDeleteProtectConfigurationRuleSetNumberOverrideResult=structtypenonrect={protectConfigurationArn:ProtectConfigurationArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the protect configuration."];protectConfigurationId:ProtectConfigurationId.toption[@ocaml.doc"The unique identifier for the protect configuration."];destinationPhoneNumber:PhoneNumber.toption[@ocaml.doc"The destination phone number in E.164 format."];createdTimestamp:Timestamp.toption[@ocaml.doc"The time when the rule was created, in UNIX epoch time format."];action:ProtectConfigurationRuleOverrideAction.toption[@ocaml.doc"The action associated with the rule."];isoCountryCode:IsoCountryCode.toption[@ocaml.doc"The two-character code, in ISO 3166-1 alpha-2 format, for the country or region."];expirationTimestamp:Timestamp.toption[@ocaml.doc"The time when the resource-based policy was created, in UNIX epoch time format."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?protectConfigurationArn=fun?protectConfigurationId->fun?destinationPhoneNumber->fun?createdTimestamp->fun?action->fun?isoCountryCode->fun?expirationTimestamp->fun()->{protectConfigurationArn;protectConfigurationId;destinationPhoneNumber;createdTimestamp;action;isoCountryCode;expirationTimestamp}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[("ProtectConfigurationArn",(Option.mapx.protectConfigurationArn~f:ProtectConfigurationArn.to_value));("ProtectConfigurationId",(Option.mapx.protectConfigurationId~f:ProtectConfigurationId.to_value));("DestinationPhoneNumber",(Option.mapx.destinationPhoneNumber~f:PhoneNumber.to_value));("CreatedTimestamp",(Option.mapx.createdTimestamp~f:Timestamp.to_value));("Action",(Option.mapx.action~f:ProtectConfigurationRuleOverrideAction.to_value));("IsoCountryCode",(Option.mapx.isoCountryCode~f:IsoCountryCode.to_value));("ExpirationTimestamp",(Option.mapx.expirationTimestamp~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letexpirationTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"ExpirationTimestamp")inletisoCountryCode=(Option.map~f:IsoCountryCode.of_xml)(Xml.childxml_arg0"IsoCountryCode")inletaction=(Option.map~f:ProtectConfigurationRuleOverrideAction.of_xml)(Xml.childxml_arg0"Action")inletcreatedTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"CreatedTimestamp")inletdestinationPhoneNumber=(Option.map~f:PhoneNumber.of_xml)(Xml.childxml_arg0"DestinationPhoneNumber")inletprotectConfigurationId=(Option.map~f:ProtectConfigurationId.of_xml)(Xml.childxml_arg0"ProtectConfigurationId")inletprotectConfigurationArn=(Option.map~f:ProtectConfigurationArn.of_xml)(Xml.childxml_arg0"ProtectConfigurationArn")inmake?expirationTimestamp?isoCountryCode?action?createdTimestamp?destinationPhoneNumber?protectConfigurationId?protectConfigurationArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letexpirationTimestamp=field_mapjson__"ExpirationTimestamp"Timestamp.of_jsoninletisoCountryCode=field_mapjson__"IsoCountryCode"IsoCountryCode.of_jsoninletaction=field_mapjson__"Action"ProtectConfigurationRuleOverrideAction.of_jsoninletcreatedTimestamp=field_mapjson__"CreatedTimestamp"Timestamp.of_jsoninletdestinationPhoneNumber=field_mapjson__"DestinationPhoneNumber"PhoneNumber.of_jsoninletprotectConfigurationId=field_mapjson__"ProtectConfigurationId"ProtectConfigurationId.of_jsoninletprotectConfigurationArn=field_mapjson__"ProtectConfigurationArn"ProtectConfigurationArn.of_jsoninmake?expirationTimestamp?isoCountryCode?action?createdTimestamp?destinationPhoneNumber?protectConfigurationId?protectConfigurationArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Permanently delete the protect configuration rule set number override."]moduleDeleteProtectConfigurationRuleSetNumberOverrideRequest=structtypenonrect={protectConfigurationId:ProtectConfigurationIdOrArn.t[@ocaml.doc"The unique identifier for the protect configuration."];destinationPhoneNumber:PhoneNumber.t[@ocaml.doc"The destination phone number in E.164 format."]}letcontext_="DeleteProtectConfigurationRuleSetNumberOverrideRequest"letmake~protectConfigurationId=fun~destinationPhoneNumber->fun()->{protectConfigurationId;destinationPhoneNumber}letto_valuex=structure_to_value[("ProtectConfigurationId",(Some(ProtectConfigurationIdOrArn.to_valuex.protectConfigurationId)));("DestinationPhoneNumber",(Some(PhoneNumber.to_valuex.destinationPhoneNumber)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdestinationPhoneNumber=PhoneNumber.of_xml(Xml.child_exn~context:context_xml_arg0"DestinationPhoneNumber")inletprotectConfigurationId=ProtectConfigurationIdOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"ProtectConfigurationId")inmake~destinationPhoneNumber~protectConfigurationId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdestinationPhoneNumber=field_map_exnjson__"DestinationPhoneNumber"PhoneNumber.of_jsoninletprotectConfigurationId=field_map_exnjson__"ProtectConfigurationId"ProtectConfigurationIdOrArn.of_jsoninmake~destinationPhoneNumber~protectConfigurationId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Permanently delete the protect configuration rule set number override."]moduleDeleteProtectConfigurationResult=structtypenonrect={protectConfigurationArn:ProtectConfigurationArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the protect configuration."];protectConfigurationId:ProtectConfigurationId.toption[@ocaml.doc"The unique identifier for the protect configuration."];createdTimestamp:Timestamp.toption[@ocaml.doc"The time when the protect configuration was created, in UNIX epoch time format."];accountDefault:PrimitiveBoolean.toption[@ocaml.doc"This is true if the protect configuration is set as your account default protect configuration."];deletionProtectionEnabled:PrimitiveBoolean.toption[@ocaml.doc"The status of deletion protection for the protect configuration. When set to true deletion protection is enabled. By default this is set to false."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?protectConfigurationArn=fun?protectConfigurationId->fun?createdTimestamp->fun?accountDefault->fun?deletionProtectionEnabled->fun()->{protectConfigurationArn;protectConfigurationId;createdTimestamp;accountDefault;deletionProtectionEnabled}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[("ProtectConfigurationArn",(Option.mapx.protectConfigurationArn~f:ProtectConfigurationArn.to_value));("ProtectConfigurationId",(Option.mapx.protectConfigurationId~f:ProtectConfigurationId.to_value));("CreatedTimestamp",(Option.mapx.createdTimestamp~f:Timestamp.to_value));("AccountDefault",(Option.mapx.accountDefault~f:PrimitiveBoolean.to_value));("DeletionProtectionEnabled",(Option.mapx.deletionProtectionEnabled~f:PrimitiveBoolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdeletionProtectionEnabled=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"DeletionProtectionEnabled")inletaccountDefault=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"AccountDefault")inletcreatedTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"CreatedTimestamp")inletprotectConfigurationId=(Option.map~f:ProtectConfigurationId.of_xml)(Xml.childxml_arg0"ProtectConfigurationId")inletprotectConfigurationArn=(Option.map~f:ProtectConfigurationArn.of_xml)(Xml.childxml_arg0"ProtectConfigurationArn")inmake?deletionProtectionEnabled?accountDefault?createdTimestamp?protectConfigurationId?protectConfigurationArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdeletionProtectionEnabled=field_mapjson__"DeletionProtectionEnabled"PrimitiveBoolean.of_jsoninletaccountDefault=field_mapjson__"AccountDefault"PrimitiveBoolean.of_jsoninletcreatedTimestamp=field_mapjson__"CreatedTimestamp"Timestamp.of_jsoninletprotectConfigurationId=field_mapjson__"ProtectConfigurationId"ProtectConfigurationId.of_jsoninletprotectConfigurationArn=field_mapjson__"ProtectConfigurationArn"ProtectConfigurationArn.of_jsoninmake?deletionProtectionEnabled?accountDefault?createdTimestamp?protectConfigurationId?protectConfigurationArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Permanently delete the protect configuration. The protect configuration must have deletion protection disabled and must not be associated as the account default protect configuration or associated with a configuration set."]moduleDeleteProtectConfigurationRequest=structtypenonrect={protectConfigurationId:ProtectConfigurationIdOrArn.t[@ocaml.doc"The unique identifier for the protect configuration."]}letcontext_="DeleteProtectConfigurationRequest"letmake~protectConfigurationId=fun()->{protectConfigurationId}letto_valuex=structure_to_value[("ProtectConfigurationId",(Some(ProtectConfigurationIdOrArn.to_valuex.protectConfigurationId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letprotectConfigurationId=ProtectConfigurationIdOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"ProtectConfigurationId")inmake~protectConfigurationId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letprotectConfigurationId=field_map_exnjson__"ProtectConfigurationId"ProtectConfigurationIdOrArn.of_jsoninmake~protectConfigurationId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Permanently delete the protect configuration. The protect configuration must have deletion protection disabled and must not be associated as the account default protect configuration or associated with a configuration set."]moduleDeletePoolResult=structtypenonrect={poolArn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the pool that was deleted."];poolId:String_.toption[@ocaml.doc"The PoolId of the pool that was deleted."];status:PoolStatus.toption[@ocaml.doc"The current status of the pool. CREATING: The pool is currently being created and isn't yet available for use. ACTIVE: The pool is active and available for use. DELETING: The pool is being deleted."];messageType:MessageType.toption[@ocaml.doc"The message type that was associated with the deleted pool."];twoWayEnabled:PrimitiveBoolean.toption[@ocaml.doc"By default this is set to false. When set to true you can receive incoming text messages from your end recipients."];twoWayChannelArn:TwoWayChannelArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the TwoWayChannel."];twoWayChannelRole:IamRoleArn.toption[@ocaml.doc"An optional IAM Role Arn for a service to assume, to be able to post inbound SMS messages."];selfManagedOptOutsEnabled:PrimitiveBoolean.toption[@ocaml.doc"By default this is set to false. When set to false and an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, End User Messaging SMS automatically replies with a customizable message and adds the end recipient to the OptOutList. When set to true you're responsible for responding to HELP and STOP requests. You're also responsible for tracking and honoring opt-out requests."];optOutListName:OptOutListName.toption[@ocaml.doc"The name of the OptOutList that was associated with the deleted pool."];sharedRoutesEnabled:PrimitiveBoolean.toption[@ocaml.doc"Indicates whether shared routes are enabled for the pool."];createdTimestamp:Timestamp.toption[@ocaml.doc"The time when the pool was created, in UNIX epoch time format."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?poolArn=fun?poolId->fun?status->fun?messageType->fun?twoWayEnabled->fun?twoWayChannelArn->fun?twoWayChannelRole->fun?selfManagedOptOutsEnabled->fun?optOutListName->fun?sharedRoutesEnabled->fun?createdTimestamp->fun()->{poolArn;poolId;status;messageType;twoWayEnabled;twoWayChannelArn;twoWayChannelRole;selfManagedOptOutsEnabled;optOutListName;sharedRoutesEnabled;createdTimestamp}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[("PoolArn",(Option.mapx.poolArn~f:String_.to_value));("PoolId",(Option.mapx.poolId~f:String_.to_value));("Status",(Option.mapx.status~f:PoolStatus.to_value));("MessageType",(Option.mapx.messageType~f:MessageType.to_value));("TwoWayEnabled",(Option.mapx.twoWayEnabled~f:PrimitiveBoolean.to_value));("TwoWayChannelArn",(Option.mapx.twoWayChannelArn~f:TwoWayChannelArn.to_value));("TwoWayChannelRole",(Option.mapx.twoWayChannelRole~f:IamRoleArn.to_value));("SelfManagedOptOutsEnabled",(Option.mapx.selfManagedOptOutsEnabled~f:PrimitiveBoolean.to_value));("OptOutListName",(Option.mapx.optOutListName~f:OptOutListName.to_value));("SharedRoutesEnabled",(Option.mapx.sharedRoutesEnabled~f:PrimitiveBoolean.to_value));("CreatedTimestamp",(Option.mapx.createdTimestamp~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcreatedTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"CreatedTimestamp")inletsharedRoutesEnabled=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"SharedRoutesEnabled")inletoptOutListName=(Option.map~f:OptOutListName.of_xml)(Xml.childxml_arg0"OptOutListName")inletselfManagedOptOutsEnabled=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"SelfManagedOptOutsEnabled")inlettwoWayChannelRole=(Option.map~f:IamRoleArn.of_xml)(Xml.childxml_arg0"TwoWayChannelRole")inlettwoWayChannelArn=(Option.map~f:TwoWayChannelArn.of_xml)(Xml.childxml_arg0"TwoWayChannelArn")inlettwoWayEnabled=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"TwoWayEnabled")inletmessageType=(Option.map~f:MessageType.of_xml)(Xml.childxml_arg0"MessageType")inletstatus=(Option.map~f:PoolStatus.of_xml)(Xml.childxml_arg0"Status")inletpoolId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"PoolId")inletpoolArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"PoolArn")inmake?createdTimestamp?sharedRoutesEnabled?optOutListName?selfManagedOptOutsEnabled?twoWayChannelRole?twoWayChannelArn?twoWayEnabled?messageType?status?poolId?poolArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcreatedTimestamp=field_mapjson__"CreatedTimestamp"Timestamp.of_jsoninletsharedRoutesEnabled=field_mapjson__"SharedRoutesEnabled"PrimitiveBoolean.of_jsoninletoptOutListName=field_mapjson__"OptOutListName"OptOutListName.of_jsoninletselfManagedOptOutsEnabled=field_mapjson__"SelfManagedOptOutsEnabled"PrimitiveBoolean.of_jsoninlettwoWayChannelRole=field_mapjson__"TwoWayChannelRole"IamRoleArn.of_jsoninlettwoWayChannelArn=field_mapjson__"TwoWayChannelArn"TwoWayChannelArn.of_jsoninlettwoWayEnabled=field_mapjson__"TwoWayEnabled"PrimitiveBoolean.of_jsoninletmessageType=field_mapjson__"MessageType"MessageType.of_jsoninletstatus=field_mapjson__"Status"PoolStatus.of_jsoninletpoolId=field_mapjson__"PoolId"String_.of_jsoninletpoolArn=field_mapjson__"PoolArn"String_.of_jsoninmake?createdTimestamp?sharedRoutesEnabled?optOutListName?selfManagedOptOutsEnabled?twoWayChannelRole?twoWayChannelArn?twoWayEnabled?messageType?status?poolId?poolArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes an existing pool. Deleting a pool disassociates all origination identities from that pool. If the pool status isn't active or if deletion protection is enabled, an error is returned. A pool is a collection of phone numbers and SenderIds. A pool can include one or more phone numbers and SenderIds that are associated with your Amazon Web Services account."]moduleDeletePoolRequest=structtypenonrect={poolId:PoolIdOrArn.t[@ocaml.doc"The PoolId or PoolArn of the pool to delete. You can use DescribePools to find the values for PoolId and PoolArn . If you are using a shared End User Messaging SMS resource then you must use the full Amazon Resource Name(ARN)."]}letcontext_="DeletePoolRequest"letmake~poolId=fun()->{poolId}letto_valuex=structure_to_value[("PoolId",(Some(PoolIdOrArn.to_valuex.poolId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letpoolId=PoolIdOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"PoolId")inmake~poolId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letpoolId=field_map_exnjson__"PoolId"PoolIdOrArn.of_jsoninmake~poolId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes an existing pool. Deleting a pool disassociates all origination identities from that pool. If the pool status isn't active or if deletion protection is enabled, an error is returned. A pool is a collection of phone numbers and SenderIds. A pool can include one or more phone numbers and SenderIds that are associated with your Amazon Web Services account."]moduleDeleteOptedOutNumberResult=structtypenonrect={optOutListArn:String_.toption[@ocaml.doc"The OptOutListArn that the phone number was removed from."];optOutListName:OptOutListName.toption[@ocaml.doc"The OptOutListName that the phone number was removed from."];optedOutNumber:PhoneNumber.toption[@ocaml.doc"The phone number that was removed from the OptOutList."];optedOutTimestamp:Timestamp.toption[@ocaml.doc"The time that the number was removed at, in UNIX epoch time format."];endUserOptedOut:PrimitiveBoolean.toption[@ocaml.doc"This is true if it was the end user who requested their phone number be removed."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?optOutListArn=fun?optOutListName->fun?optedOutNumber->fun?optedOutTimestamp->fun?endUserOptedOut->fun()->{optOutListArn;optOutListName;optedOutNumber;optedOutTimestamp;endUserOptedOut}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[("OptOutListArn",(Option.mapx.optOutListArn~f:String_.to_value));("OptOutListName",(Option.mapx.optOutListName~f:OptOutListName.to_value));("OptedOutNumber",(Option.mapx.optedOutNumber~f:PhoneNumber.to_value));("OptedOutTimestamp",(Option.mapx.optedOutTimestamp~f:Timestamp.to_value));("EndUserOptedOut",(Option.mapx.endUserOptedOut~f:PrimitiveBoolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letendUserOptedOut=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"EndUserOptedOut")inletoptedOutTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"OptedOutTimestamp")inletoptedOutNumber=(Option.map~f:PhoneNumber.of_xml)(Xml.childxml_arg0"OptedOutNumber")inletoptOutListName=(Option.map~f:OptOutListName.of_xml)(Xml.childxml_arg0"OptOutListName")inletoptOutListArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"OptOutListArn")inmake?endUserOptedOut?optedOutTimestamp?optedOutNumber?optOutListName?optOutListArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letendUserOptedOut=field_mapjson__"EndUserOptedOut"PrimitiveBoolean.of_jsoninletoptedOutTimestamp=field_mapjson__"OptedOutTimestamp"Timestamp.of_jsoninletoptedOutNumber=field_mapjson__"OptedOutNumber"PhoneNumber.of_jsoninletoptOutListName=field_mapjson__"OptOutListName"OptOutListName.of_jsoninletoptOutListArn=field_mapjson__"OptOutListArn"String_.of_jsoninmake?endUserOptedOut?optedOutTimestamp?optedOutNumber?optOutListName?optOutListArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes an existing opted out destination phone number from the specified opt-out list. Each destination phone number can only be deleted once every 30 days. If the specified destination phone number doesn't exist or if the opt-out list doesn't exist, an error is returned."]moduleDeleteOptedOutNumberRequest=structtypenonrect={optOutListName:OptOutListNameOrArn.t[@ocaml.doc"The OptOutListName or OptOutListArn to remove the phone number from. If you are using a shared End User Messaging SMS resource then you must use the full Amazon Resource Name(ARN)."];optedOutNumber:PhoneNumber.t[@ocaml.doc"The phone number, in E.164 format, to remove from the OptOutList."]}letcontext_="DeleteOptedOutNumberRequest"letmake~optOutListName=fun~optedOutNumber->fun()->{optOutListName;optedOutNumber}letto_valuex=structure_to_value[("OptOutListName",(Some(OptOutListNameOrArn.to_valuex.optOutListName)));("OptedOutNumber",(Some(PhoneNumber.to_valuex.optedOutNumber)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letoptedOutNumber=PhoneNumber.of_xml(Xml.child_exn~context:context_xml_arg0"OptedOutNumber")inletoptOutListName=OptOutListNameOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"OptOutListName")inmake~optedOutNumber~optOutListName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letoptedOutNumber=field_map_exnjson__"OptedOutNumber"PhoneNumber.of_jsoninletoptOutListName=field_map_exnjson__"OptOutListName"OptOutListNameOrArn.of_jsoninmake~optedOutNumber~optOutListName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes an existing opted out destination phone number from the specified opt-out list. Each destination phone number can only be deleted once every 30 days. If the specified destination phone number doesn't exist or if the opt-out list doesn't exist, an error is returned."]moduleDeleteOptOutListResult=structtypenonrect={optOutListArn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the OptOutList that was removed."];optOutListName:OptOutListName.toption[@ocaml.doc"The name of the OptOutList that was removed."];createdTimestamp:Timestamp.toption[@ocaml.doc"The time when the OptOutList was created, in UNIX epoch time format."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?optOutListArn=fun?optOutListName->fun?createdTimestamp->fun()->{optOutListArn;optOutListName;createdTimestamp}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[("OptOutListArn",(Option.mapx.optOutListArn~f:String_.to_value));("OptOutListName",(Option.mapx.optOutListName~f:OptOutListName.to_value));("CreatedTimestamp",(Option.mapx.createdTimestamp~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcreatedTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"CreatedTimestamp")inletoptOutListName=(Option.map~f:OptOutListName.of_xml)(Xml.childxml_arg0"OptOutListName")inletoptOutListArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"OptOutListArn")inmake?createdTimestamp?optOutListName?optOutListArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcreatedTimestamp=field_mapjson__"CreatedTimestamp"Timestamp.of_jsoninletoptOutListName=field_mapjson__"OptOutListName"OptOutListName.of_jsoninletoptOutListArn=field_mapjson__"OptOutListArn"String_.of_jsoninmake?createdTimestamp?optOutListName?optOutListArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes an existing opt-out list. All opted out phone numbers in the opt-out list are deleted. If the specified opt-out list name doesn't exist or is in-use by an origination phone number or pool, an error is returned."]moduleDeleteOptOutListRequest=structtypenonrect={optOutListName:OptOutListNameOrArn.t[@ocaml.doc"The OptOutListName or OptOutListArn of the OptOutList to delete. You can use DescribeOptOutLists to find the values for OptOutListName and OptOutListArn. If you are using a shared End User Messaging SMS resource then you must use the full Amazon Resource Name(ARN)."]}letcontext_="DeleteOptOutListRequest"letmake~optOutListName=fun()->{optOutListName}letto_valuex=structure_to_value[("OptOutListName",(Some(OptOutListNameOrArn.to_valuex.optOutListName)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letoptOutListName=OptOutListNameOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"OptOutListName")inmake~optOutListName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letoptOutListName=field_map_exnjson__"OptOutListName"OptOutListNameOrArn.of_jsoninmake~optOutListName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes an existing opt-out list. All opted out phone numbers in the opt-out list are deleted. If the specified opt-out list name doesn't exist or is in-use by an origination phone number or pool, an error is returned."]moduleDeleteNotifyMessageSpendLimitOverrideResult=structtypenonrect={monthlyLimit:MonthlyLimit.toption[@ocaml.doc"The current monthly limit, in US dollars."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?monthlyLimit=fun()->{monthlyLimit}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[("MonthlyLimit",(Option.mapx.monthlyLimit~f:MonthlyLimit.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmonthlyLimit=(Option.map~f:MonthlyLimit.of_xml)(Xml.childxml_arg0"MonthlyLimit")inmake?monthlyLimit()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmonthlyLimit=field_mapjson__"MonthlyLimit"MonthlyLimit.of_jsoninmake?monthlyLimit()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes an account-level monthly spending limit override for sending notify messages. Deleting a spend limit override will set the EnforcedLimit to equal the MaxLimit, which is controlled by Amazon Web Services. For more information on spend limits (quotas) see Quotas in the End User Messaging SMS User Guide."]moduleDeleteNotifyMessageSpendLimitOverrideRequest=structtypenonrect=unitletmake()=()letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes an account-level monthly spending limit override for sending notify messages. Deleting a spend limit override will set the EnforcedLimit to equal the MaxLimit, which is controlled by Amazon Web Services. For more information on spend limits (quotas) see Quotas in the End User Messaging SMS User Guide."]moduleDeleteNotifyConfigurationResult=structtypenonrect={notifyConfigurationArn:NotifyConfigurationArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) for the notify configuration."];notifyConfigurationId:NotifyConfigurationId.toption[@ocaml.doc"The unique identifier for the notify configuration."];displayName:NotifyConfigurationDisplayName.toption[@ocaml.doc"The display name associated with the notify configuration."];useCase:NotifyConfigurationUseCase.toption[@ocaml.doc"The use case for the notify configuration."];defaultTemplateId:NotifyTemplateId.toption[@ocaml.doc"The default template identifier associated with the notify configuration."];poolId:String_.toption[@ocaml.doc"The identifier of the pool associated with the notify configuration."];enabledCountries:IsoCountryCodeList.toption[@ocaml.doc"An array of two-character ISO country codes, in ISO 3166-1 alpha-2 format, that are enabled for the notify configuration."];enabledChannels:NotifyEnabledChannelsList.toption[@ocaml.doc"An array of channels enabled for the notify configuration. Supported values include SMS and VOICE."];tier:NotifyConfigurationTier.toption[@ocaml.doc"The tier of the notify configuration."];tierUpgradeStatus:TierUpgradeStatus.toption[@ocaml.doc"The tier upgrade status of the notify configuration."];status:NotifyConfigurationStatus.toption[@ocaml.doc"The current status of the notify configuration."];rejectionReason:String_.toption[@ocaml.doc"The reason the notify configuration was rejected, if applicable."];deletionProtectionEnabled:PrimitiveBoolean.toption[@ocaml.doc"When set to true deletion protection is enabled. By default this is set to false."];createdTimestamp:Timestamp.toption[@ocaml.doc"The time when the notify configuration was created, in UNIX epoch time format."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?notifyConfigurationArn=fun?notifyConfigurationId->fun?displayName->fun?useCase->fun?defaultTemplateId->fun?poolId->fun?enabledCountries->fun?enabledChannels->fun?tier->fun?tierUpgradeStatus->fun?status->fun?rejectionReason->fun?deletionProtectionEnabled->fun?createdTimestamp->fun()->{notifyConfigurationArn;notifyConfigurationId;displayName;useCase;defaultTemplateId;poolId;enabledCountries;enabledChannels;tier;tierUpgradeStatus;status;rejectionReason;deletionProtectionEnabled;createdTimestamp}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[("NotifyConfigurationArn",(Option.mapx.notifyConfigurationArn~f:NotifyConfigurationArn.to_value));("NotifyConfigurationId",(Option.mapx.notifyConfigurationId~f:NotifyConfigurationId.to_value));("DisplayName",(Option.mapx.displayName~f:NotifyConfigurationDisplayName.to_value));("UseCase",(Option.mapx.useCase~f:NotifyConfigurationUseCase.to_value));("DefaultTemplateId",(Option.mapx.defaultTemplateId~f:NotifyTemplateId.to_value));("PoolId",(Option.mapx.poolId~f:String_.to_value));("EnabledCountries",(Option.mapx.enabledCountries~f:IsoCountryCodeList.to_value));("EnabledChannels",(Option.mapx.enabledChannels~f:NotifyEnabledChannelsList.to_value));("Tier",(Option.mapx.tier~f:NotifyConfigurationTier.to_value));("TierUpgradeStatus",(Option.mapx.tierUpgradeStatus~f:TierUpgradeStatus.to_value));("Status",(Option.mapx.status~f:NotifyConfigurationStatus.to_value));("RejectionReason",(Option.mapx.rejectionReason~f:String_.to_value));("DeletionProtectionEnabled",(Option.mapx.deletionProtectionEnabled~f:PrimitiveBoolean.to_value));("CreatedTimestamp",(Option.mapx.createdTimestamp~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcreatedTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"CreatedTimestamp")inletdeletionProtectionEnabled=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"DeletionProtectionEnabled")inletrejectionReason=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RejectionReason")inletstatus=(Option.map~f:NotifyConfigurationStatus.of_xml)(Xml.childxml_arg0"Status")inlettierUpgradeStatus=(Option.map~f:TierUpgradeStatus.of_xml)(Xml.childxml_arg0"TierUpgradeStatus")inlettier=(Option.map~f:NotifyConfigurationTier.of_xml)(Xml.childxml_arg0"Tier")inletenabledChannels=(Option.map~f:NotifyEnabledChannelsList.of_xml)(Xml.childxml_arg0"EnabledChannels")inletenabledCountries=(Option.map~f:IsoCountryCodeList.of_xml)(Xml.childxml_arg0"EnabledCountries")inletpoolId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"PoolId")inletdefaultTemplateId=(Option.map~f:NotifyTemplateId.of_xml)(Xml.childxml_arg0"DefaultTemplateId")inletuseCase=(Option.map~f:NotifyConfigurationUseCase.of_xml)(Xml.childxml_arg0"UseCase")inletdisplayName=(Option.map~f:NotifyConfigurationDisplayName.of_xml)(Xml.childxml_arg0"DisplayName")inletnotifyConfigurationId=(Option.map~f:NotifyConfigurationId.of_xml)(Xml.childxml_arg0"NotifyConfigurationId")inletnotifyConfigurationArn=(Option.map~f:NotifyConfigurationArn.of_xml)(Xml.childxml_arg0"NotifyConfigurationArn")inmake?createdTimestamp?deletionProtectionEnabled?rejectionReason?status?tierUpgradeStatus?tier?enabledChannels?enabledCountries?poolId?defaultTemplateId?useCase?displayName?notifyConfigurationId?notifyConfigurationArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcreatedTimestamp=field_mapjson__"CreatedTimestamp"Timestamp.of_jsoninletdeletionProtectionEnabled=field_mapjson__"DeletionProtectionEnabled"PrimitiveBoolean.of_jsoninletrejectionReason=field_mapjson__"RejectionReason"String_.of_jsoninletstatus=field_mapjson__"Status"NotifyConfigurationStatus.of_jsoninlettierUpgradeStatus=field_mapjson__"TierUpgradeStatus"TierUpgradeStatus.of_jsoninlettier=field_mapjson__"Tier"NotifyConfigurationTier.of_jsoninletenabledChannels=field_mapjson__"EnabledChannels"NotifyEnabledChannelsList.of_jsoninletenabledCountries=field_mapjson__"EnabledCountries"IsoCountryCodeList.of_jsoninletpoolId=field_mapjson__"PoolId"String_.of_jsoninletdefaultTemplateId=field_mapjson__"DefaultTemplateId"NotifyTemplateId.of_jsoninletuseCase=field_mapjson__"UseCase"NotifyConfigurationUseCase.of_jsoninletdisplayName=field_mapjson__"DisplayName"NotifyConfigurationDisplayName.of_jsoninletnotifyConfigurationId=field_mapjson__"NotifyConfigurationId"NotifyConfigurationId.of_jsoninletnotifyConfigurationArn=field_mapjson__"NotifyConfigurationArn"NotifyConfigurationArn.of_jsoninmake?createdTimestamp?deletionProtectionEnabled?rejectionReason?status?tierUpgradeStatus?tier?enabledChannels?enabledCountries?poolId?defaultTemplateId?useCase?displayName?notifyConfigurationId?notifyConfigurationArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes an existing notify configuration. If deletion protection is enabled, an error is returned."]moduleDeleteNotifyConfigurationRequest=structtypenonrect={notifyConfigurationId:NotifyConfigurationIdOrArn.t[@ocaml.doc"The identifier of the notify configuration to delete. The NotifyConfigurationId can be found using the DescribeNotifyConfigurations operation."]}letcontext_="DeleteNotifyConfigurationRequest"letmake~notifyConfigurationId=fun()->{notifyConfigurationId}letto_valuex=structure_to_value[("NotifyConfigurationId",(Some(NotifyConfigurationIdOrArn.to_valuex.notifyConfigurationId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnotifyConfigurationId=NotifyConfigurationIdOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"NotifyConfigurationId")inmake~notifyConfigurationId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnotifyConfigurationId=field_map_exnjson__"NotifyConfigurationId"NotifyConfigurationIdOrArn.of_jsoninmake~notifyConfigurationId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes an existing notify configuration. If deletion protection is enabled, an error is returned."]moduleDeleteMediaMessageSpendLimitOverrideResult=structtypenonrect={monthlyLimit:MonthlyLimit.toption[@ocaml.doc"The current monthly limit, in US dollars."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?monthlyLimit=fun()->{monthlyLimit}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[("MonthlyLimit",(Option.mapx.monthlyLimit~f:MonthlyLimit.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmonthlyLimit=(Option.map~f:MonthlyLimit.of_xml)(Xml.childxml_arg0"MonthlyLimit")inmake?monthlyLimit()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmonthlyLimit=field_mapjson__"MonthlyLimit"MonthlyLimit.of_jsoninmake?monthlyLimit()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes an account-level monthly spending limit override for sending multimedia messages (MMS). Deleting a spend limit override will set the EnforcedLimit to equal the MaxLimit, which is controlled by Amazon Web Services. For more information on spend limits (quotas) see Quotas for Server Migration Service in the Server Migration Service User Guide."]moduleDeleteMediaMessageSpendLimitOverrideRequest=structtypenonrect=unitletmake()=()letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes an account-level monthly spending limit override for sending multimedia messages (MMS). Deleting a spend limit override will set the EnforcedLimit to equal the MaxLimit, which is controlled by Amazon Web Services. For more information on spend limits (quotas) see Quotas for Server Migration Service in the Server Migration Service User Guide."]moduleDeleteKeywordResult=structtypenonrect={originationIdentityArn:String_.toption[@ocaml.doc"The PhoneNumberArn or PoolArn that the keyword was associated with."];originationIdentity:String_.toption[@ocaml.doc"The PhoneNumberId or PoolId that the keyword was associated with."];keyword:Keyword.toption[@ocaml.doc"The keyword that was deleted."];keywordMessage:KeywordMessage.toption[@ocaml.doc"The message that was associated with the deleted keyword."];keywordAction:KeywordAction.toption[@ocaml.doc"The action that was associated with the deleted keyword."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?originationIdentityArn=fun?originationIdentity->fun?keyword->fun?keywordMessage->fun?keywordAction->fun()->{originationIdentityArn;originationIdentity;keyword;keywordMessage;keywordAction}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[("OriginationIdentityArn",(Option.mapx.originationIdentityArn~f:String_.to_value));("OriginationIdentity",(Option.mapx.originationIdentity~f:String_.to_value));("Keyword",(Option.mapx.keyword~f:Keyword.to_value));("KeywordMessage",(Option.mapx.keywordMessage~f:KeywordMessage.to_value));("KeywordAction",(Option.mapx.keywordAction~f:KeywordAction.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letkeywordAction=(Option.map~f:KeywordAction.of_xml)(Xml.childxml_arg0"KeywordAction")inletkeywordMessage=(Option.map~f:KeywordMessage.of_xml)(Xml.childxml_arg0"KeywordMessage")inletkeyword=(Option.map~f:Keyword.of_xml)(Xml.childxml_arg0"Keyword")inletoriginationIdentity=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"OriginationIdentity")inletoriginationIdentityArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"OriginationIdentityArn")inmake?keywordAction?keywordMessage?keyword?originationIdentity?originationIdentityArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letkeywordAction=field_mapjson__"KeywordAction"KeywordAction.of_jsoninletkeywordMessage=field_mapjson__"KeywordMessage"KeywordMessage.of_jsoninletkeyword=field_mapjson__"Keyword"Keyword.of_jsoninletoriginationIdentity=field_mapjson__"OriginationIdentity"String_.of_jsoninletoriginationIdentityArn=field_mapjson__"OriginationIdentityArn"String_.of_jsoninmake?keywordAction?keywordMessage?keyword?originationIdentity?originationIdentityArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes an existing keyword from an origination phone number or pool. A keyword is a word that you can search for on a particular phone number or pool. It is also a specific word or phrase that an end user can send to your number to elicit a response, such as an informational message or a special offer. When your number receives a message that begins with a keyword, End User Messaging SMS responds with a customizable message. Keywords \"HELP\" and \"STOP\" can't be deleted or modified."]moduleDeleteKeywordRequest=structtypenonrect={originationIdentity:PhoneOrPoolIdOrArn.t[@ocaml.doc"The origination identity to use such as a PhoneNumberId, PhoneNumberArn, PoolId or PoolArn. You can use DescribePhoneNumbers to find the values for PhoneNumberId and PhoneNumberArn and DescribePools to find the values of PoolId and PoolArn. If you are using a shared End User Messaging SMS resource then you must use the full Amazon Resource Name(ARN)."];keyword:Keyword.t[@ocaml.doc"The keyword to delete."]}letcontext_="DeleteKeywordRequest"letmake~originationIdentity=fun~keyword->fun()->{originationIdentity;keyword}letto_valuex=structure_to_value[("OriginationIdentity",(Some(PhoneOrPoolIdOrArn.to_valuex.originationIdentity)));("Keyword",(Some(Keyword.to_valuex.keyword)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letkeyword=Keyword.of_xml(Xml.child_exn~context:context_xml_arg0"Keyword")inletoriginationIdentity=PhoneOrPoolIdOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"OriginationIdentity")inmake~keyword~originationIdentity()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letkeyword=field_map_exnjson__"Keyword"Keyword.of_jsoninletoriginationIdentity=field_map_exnjson__"OriginationIdentity"PhoneOrPoolIdOrArn.of_jsoninmake~keyword~originationIdentity()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes an existing keyword from an origination phone number or pool. A keyword is a word that you can search for on a particular phone number or pool. It is also a specific word or phrase that an end user can send to your number to elicit a response, such as an informational message or a special offer. When your number receives a message that begins with a keyword, End User Messaging SMS responds with a customizable message. Keywords \"HELP\" and \"STOP\" can't be deleted or modified."]moduleDeleteEventDestinationResult=structtypenonrect={configurationSetArn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the configuration set."];configurationSetName:ConfigurationSetName.toption[@ocaml.doc"The name of the configuration set the event destination was deleted from."];eventDestination:EventDestination.toption[@ocaml.doc"The event destination object that was deleted."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?configurationSetArn=fun?configurationSetName->fun?eventDestination->fun()->{configurationSetArn;configurationSetName;eventDestination}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[("ConfigurationSetArn",(Option.mapx.configurationSetArn~f:String_.to_value));("ConfigurationSetName",(Option.mapx.configurationSetName~f:ConfigurationSetName.to_value));("EventDestination",(Option.mapx.eventDestination~f:EventDestination.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=leteventDestination=(Option.map~f:EventDestination.of_xml)(Xml.childxml_arg0"EventDestination")inletconfigurationSetName=(Option.map~f:ConfigurationSetName.of_xml)(Xml.childxml_arg0"ConfigurationSetName")inletconfigurationSetArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"ConfigurationSetArn")inmake?eventDestination?configurationSetName?configurationSetArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=leteventDestination=field_mapjson__"EventDestination"EventDestination.of_jsoninletconfigurationSetName=field_mapjson__"ConfigurationSetName"ConfigurationSetName.of_jsoninletconfigurationSetArn=field_mapjson__"ConfigurationSetArn"String_.of_jsoninmake?eventDestination?configurationSetName?configurationSetArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes an existing event destination. An event destination is a location where you send response information about the messages that you send. For example, when a message is delivered successfully, you can send information about that event to an Amazon CloudWatch destination, or send notifications to endpoints that are subscribed to an Amazon SNS topic."]moduleDeleteEventDestinationRequest=structtypenonrect={configurationSetName:ConfigurationSetNameOrArn.t[@ocaml.doc"The name of the configuration set or the configuration set's Amazon Resource Name (ARN) to remove the event destination from. The ConfigurateSetName and ConfigurationSetArn can be found using the DescribeConfigurationSets action."];eventDestinationName:EventDestinationName.t[@ocaml.doc"The name of the event destination to delete."]}letcontext_="DeleteEventDestinationRequest"letmake~configurationSetName=fun~eventDestinationName->fun()->{configurationSetName;eventDestinationName}letto_valuex=structure_to_value[("ConfigurationSetName",(Some(ConfigurationSetNameOrArn.to_valuex.configurationSetName)));("EventDestinationName",(Some(EventDestinationName.to_valuex.eventDestinationName)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=leteventDestinationName=EventDestinationName.of_xml(Xml.child_exn~context:context_xml_arg0"EventDestinationName")inletconfigurationSetName=ConfigurationSetNameOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"ConfigurationSetName")inmake~eventDestinationName~configurationSetName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=leteventDestinationName=field_map_exnjson__"EventDestinationName"EventDestinationName.of_jsoninletconfigurationSetName=field_map_exnjson__"ConfigurationSetName"ConfigurationSetNameOrArn.of_jsoninmake~eventDestinationName~configurationSetName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes an existing event destination. An event destination is a location where you send response information about the messages that you send. For example, when a message is delivered successfully, you can send information about that event to an Amazon CloudWatch destination, or send notifications to endpoints that are subscribed to an Amazon SNS topic."]moduleDeleteDefaultSenderIdResult=structtypenonrect={configurationSetArn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the configuration set."];configurationSetName:ConfigurationSetName.toption[@ocaml.doc"The name of the configuration set."];senderId:SenderId.toption[@ocaml.doc"The current sender ID for the configuration set."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?configurationSetArn=fun?configurationSetName->fun?senderId->fun()->{configurationSetArn;configurationSetName;senderId}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[("ConfigurationSetArn",(Option.mapx.configurationSetArn~f:String_.to_value));("ConfigurationSetName",(Option.mapx.configurationSetName~f:ConfigurationSetName.to_value));("SenderId",(Option.mapx.senderId~f:SenderId.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letsenderId=(Option.map~f:SenderId.of_xml)(Xml.childxml_arg0"SenderId")inletconfigurationSetName=(Option.map~f:ConfigurationSetName.of_xml)(Xml.childxml_arg0"ConfigurationSetName")inletconfigurationSetArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"ConfigurationSetArn")inmake?senderId?configurationSetName?configurationSetArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letsenderId=field_mapjson__"SenderId"SenderId.of_jsoninletconfigurationSetName=field_mapjson__"ConfigurationSetName"ConfigurationSetName.of_jsoninletconfigurationSetArn=field_mapjson__"ConfigurationSetArn"String_.of_jsoninmake?senderId?configurationSetName?configurationSetArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes an existing default sender ID on a configuration set. A default sender ID is the identity that appears on recipients' devices when they receive SMS messages. Support for sender ID capabilities varies by country or region."]moduleDeleteDefaultSenderIdRequest=structtypenonrect={configurationSetName:ConfigurationSetNameOrArn.t[@ocaml.doc"The name of the configuration set or the configuration set Amazon Resource Name (ARN) to delete the default sender ID from. The ConfigurationSetName and ConfigurationSetArn can be found using the DescribeConfigurationSets action."]}letcontext_="DeleteDefaultSenderIdRequest"letmake~configurationSetName=fun()->{configurationSetName}letto_valuex=structure_to_value[("ConfigurationSetName",(Some(ConfigurationSetNameOrArn.to_valuex.configurationSetName)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letconfigurationSetName=ConfigurationSetNameOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"ConfigurationSetName")inmake~configurationSetName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letconfigurationSetName=field_map_exnjson__"ConfigurationSetName"ConfigurationSetNameOrArn.of_jsoninmake~configurationSetName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes an existing default sender ID on a configuration set. A default sender ID is the identity that appears on recipients' devices when they receive SMS messages. Support for sender ID capabilities varies by country or region."]moduleDeleteDefaultMessageTypeResult=structtypenonrect={configurationSetArn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the configuration set."];configurationSetName:ConfigurationSetName.toption[@ocaml.doc"The name of the configuration set."];messageType:MessageType.toption[@ocaml.doc"The current message type for the configuration set."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?configurationSetArn=fun?configurationSetName->fun?messageType->fun()->{configurationSetArn;configurationSetName;messageType}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[("ConfigurationSetArn",(Option.mapx.configurationSetArn~f:String_.to_value));("ConfigurationSetName",(Option.mapx.configurationSetName~f:ConfigurationSetName.to_value));("MessageType",(Option.mapx.messageType~f:MessageType.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessageType=(Option.map~f:MessageType.of_xml)(Xml.childxml_arg0"MessageType")inletconfigurationSetName=(Option.map~f:ConfigurationSetName.of_xml)(Xml.childxml_arg0"ConfigurationSetName")inletconfigurationSetArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"ConfigurationSetArn")inmake?messageType?configurationSetName?configurationSetArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessageType=field_mapjson__"MessageType"MessageType.of_jsoninletconfigurationSetName=field_mapjson__"ConfigurationSetName"ConfigurationSetName.of_jsoninletconfigurationSetArn=field_mapjson__"ConfigurationSetArn"String_.of_jsoninmake?messageType?configurationSetName?configurationSetArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes an existing default message type on a configuration set. A message type is a type of messages that you plan to send. If you send account-related messages or time-sensitive messages such as one-time passcodes, choose Transactional. If you plan to send messages that contain marketing material or other promotional content, choose Promotional. This setting applies to your entire Amazon Web Services account."]moduleDeleteDefaultMessageTypeRequest=structtypenonrect={configurationSetName:ConfigurationSetNameOrArn.t[@ocaml.doc"The name of the configuration set or the configuration set Amazon Resource Name (ARN) to delete the default message type from. The ConfigurationSetName and ConfigurationSetArn can be found using the DescribeConfigurationSets action."]}letcontext_="DeleteDefaultMessageTypeRequest"letmake~configurationSetName=fun()->{configurationSetName}letto_valuex=structure_to_value[("ConfigurationSetName",(Some(ConfigurationSetNameOrArn.to_valuex.configurationSetName)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letconfigurationSetName=ConfigurationSetNameOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"ConfigurationSetName")inmake~configurationSetName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letconfigurationSetName=field_map_exnjson__"ConfigurationSetName"ConfigurationSetNameOrArn.of_jsoninmake~configurationSetName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes an existing default message type on a configuration set. A message type is a type of messages that you plan to send. If you send account-related messages or time-sensitive messages such as one-time passcodes, choose Transactional. If you plan to send messages that contain marketing material or other promotional content, choose Promotional. This setting applies to your entire Amazon Web Services account."]moduleDeleteConfigurationSetResult=structtypenonrect={configurationSetArn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the deleted configuration set."];configurationSetName:ConfigurationSetName.toption[@ocaml.doc"The name of the deleted configuration set."];eventDestinations:EventDestinationList.toption[@ocaml.doc"An array of any EventDestination objects that were associated with the deleted configuration set."];defaultMessageType:MessageType.toption[@ocaml.doc"The default message type of the configuration set that was deleted."];defaultSenderId:SenderId.toption[@ocaml.doc"The default Sender ID of the configuration set that was deleted."];defaultMessageFeedbackEnabled:Boolean.toption[@ocaml.doc"True if the configuration set has message feedback enabled. By default this is set to false."];createdTimestamp:Timestamp.toption[@ocaml.doc"The time that the deleted configuration set was created in UNIX epoch time format."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?configurationSetArn=fun?configurationSetName->fun?eventDestinations->fun?defaultMessageType->fun?defaultSenderId->fun?defaultMessageFeedbackEnabled->fun?createdTimestamp->fun()->{configurationSetArn;configurationSetName;eventDestinations;defaultMessageType;defaultSenderId;defaultMessageFeedbackEnabled;createdTimestamp}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[("ConfigurationSetArn",(Option.mapx.configurationSetArn~f:String_.to_value));("ConfigurationSetName",(Option.mapx.configurationSetName~f:ConfigurationSetName.to_value));("EventDestinations",(Option.mapx.eventDestinations~f:EventDestinationList.to_value));("DefaultMessageType",(Option.mapx.defaultMessageType~f:MessageType.to_value));("DefaultSenderId",(Option.mapx.defaultSenderId~f:SenderId.to_value));("DefaultMessageFeedbackEnabled",(Option.mapx.defaultMessageFeedbackEnabled~f:Boolean.to_value));("CreatedTimestamp",(Option.mapx.createdTimestamp~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcreatedTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"CreatedTimestamp")inletdefaultMessageFeedbackEnabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"DefaultMessageFeedbackEnabled")inletdefaultSenderId=(Option.map~f:SenderId.of_xml)(Xml.childxml_arg0"DefaultSenderId")inletdefaultMessageType=(Option.map~f:MessageType.of_xml)(Xml.childxml_arg0"DefaultMessageType")inleteventDestinations=(Option.map~f:EventDestinationList.of_xml)(Xml.childxml_arg0"EventDestinations")inletconfigurationSetName=(Option.map~f:ConfigurationSetName.of_xml)(Xml.childxml_arg0"ConfigurationSetName")inletconfigurationSetArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"ConfigurationSetArn")inmake?createdTimestamp?defaultMessageFeedbackEnabled?defaultSenderId?defaultMessageType?eventDestinations?configurationSetName?configurationSetArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcreatedTimestamp=field_mapjson__"CreatedTimestamp"Timestamp.of_jsoninletdefaultMessageFeedbackEnabled=field_mapjson__"DefaultMessageFeedbackEnabled"Boolean.of_jsoninletdefaultSenderId=field_mapjson__"DefaultSenderId"SenderId.of_jsoninletdefaultMessageType=field_mapjson__"DefaultMessageType"MessageType.of_jsoninleteventDestinations=field_mapjson__"EventDestinations"EventDestinationList.of_jsoninletconfigurationSetName=field_mapjson__"ConfigurationSetName"ConfigurationSetName.of_jsoninletconfigurationSetArn=field_mapjson__"ConfigurationSetArn"String_.of_jsoninmake?createdTimestamp?defaultMessageFeedbackEnabled?defaultSenderId?defaultMessageType?eventDestinations?configurationSetName?configurationSetArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes an existing configuration set. A configuration set is a set of rules that you apply to voice and SMS messages that you send. In a configuration set, you can specify a destination for specific types of events related to voice and SMS messages."]moduleDeleteConfigurationSetRequest=structtypenonrect={configurationSetName:ConfigurationSetNameOrArn.t[@ocaml.doc"The name of the configuration set or the configuration set ARN that you want to delete. The ConfigurationSetName and ConfigurationSetArn can be found using the DescribeConfigurationSets action."]}letcontext_="DeleteConfigurationSetRequest"letmake~configurationSetName=fun()->{configurationSetName}letto_valuex=structure_to_value[("ConfigurationSetName",(Some(ConfigurationSetNameOrArn.to_valuex.configurationSetName)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letconfigurationSetName=ConfigurationSetNameOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"ConfigurationSetName")inmake~configurationSetName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letconfigurationSetName=field_map_exnjson__"ConfigurationSetName"ConfigurationSetNameOrArn.of_jsoninmake~configurationSetName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes an existing configuration set. A configuration set is a set of rules that you apply to voice and SMS messages that you send. In a configuration set, you can specify a destination for specific types of events related to voice and SMS messages."]moduleDeleteAccountDefaultProtectConfigurationResult=structtypenonrect={defaultProtectConfigurationArn:ProtectConfigurationArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the account default protect configuration."];defaultProtectConfigurationId:ProtectConfigurationId.toption[@ocaml.doc"The unique identifier of the account default protect configuration."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?defaultProtectConfigurationArn=fun?defaultProtectConfigurationId->fun()->{defaultProtectConfigurationArn;defaultProtectConfigurationId}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[("DefaultProtectConfigurationArn",(Option.mapx.defaultProtectConfigurationArn~f:ProtectConfigurationArn.to_value));("DefaultProtectConfigurationId",(Option.mapx.defaultProtectConfigurationId~f:ProtectConfigurationId.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdefaultProtectConfigurationId=(Option.map~f:ProtectConfigurationId.of_xml)(Xml.childxml_arg0"DefaultProtectConfigurationId")inletdefaultProtectConfigurationArn=(Option.map~f:ProtectConfigurationArn.of_xml)(Xml.childxml_arg0"DefaultProtectConfigurationArn")inmake?defaultProtectConfigurationId?defaultProtectConfigurationArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdefaultProtectConfigurationId=field_mapjson__"DefaultProtectConfigurationId"ProtectConfigurationId.of_jsoninletdefaultProtectConfigurationArn=field_mapjson__"DefaultProtectConfigurationArn"ProtectConfigurationArn.of_jsoninmake?defaultProtectConfigurationId?defaultProtectConfigurationArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Removes the current account default protect configuration."]moduleDeleteAccountDefaultProtectConfigurationRequest=structtypenonrect=unitletmake()=()letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Removes the current account default protect configuration."]moduleCreateVerifiedDestinationNumberResult=structtypenonrect={verifiedDestinationNumberArn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) for the verified destination phone number."];verifiedDestinationNumberId:String_.toption[@ocaml.doc"The unique identifier for the verified destination phone number."];destinationPhoneNumber:PhoneNumber.toption[@ocaml.doc"The verified destination phone number, in E.164 format."];status:VerificationStatus.toption[@ocaml.doc"The status of the verified destination phone number. PENDING: The phone number hasn't been verified yet. VERIFIED: The phone number is verified and can receive messages."];rcsAgentId:String_.toption[@ocaml.doc"The unique identifier of the RCS agent associated with the verified destination number."];tags:TagList.toption[@ocaml.doc"An array of tags (key and value pairs) to associate with the destination number."];createdTimestamp:Timestamp.toption[@ocaml.doc"The time when the verified phone number was created, in UNIX epoch time format."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?verifiedDestinationNumberArn=fun?verifiedDestinationNumberId->fun?destinationPhoneNumber->fun?status->fun?rcsAgentId->fun?tags->fun?createdTimestamp->fun()->{verifiedDestinationNumberArn;verifiedDestinationNumberId;destinationPhoneNumber;status;rcsAgentId;tags;createdTimestamp}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"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)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`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[("VerifiedDestinationNumberArn",(Option.mapx.verifiedDestinationNumberArn~f:String_.to_value));("VerifiedDestinationNumberId",(Option.mapx.verifiedDestinationNumberId~f:String_.to_value));("DestinationPhoneNumber",(Option.mapx.destinationPhoneNumber~f:PhoneNumber.to_value));("Status",(Option.mapx.status~f:VerificationStatus.to_value));("RcsAgentId",(Option.mapx.rcsAgentId~f:String_.to_value));("Tags",(Option.mapx.tags~f:TagList.to_value));("CreatedTimestamp",(Option.mapx.createdTimestamp~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcreatedTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"CreatedTimestamp")inlettags=(Option.map~f:TagList.of_xml)(Xml.childxml_arg0"Tags")inletrcsAgentId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RcsAgentId")inletstatus=(Option.map~f:VerificationStatus.of_xml)(Xml.childxml_arg0"Status")inletdestinationPhoneNumber=(Option.map~f:PhoneNumber.of_xml)(Xml.childxml_arg0"DestinationPhoneNumber")inletverifiedDestinationNumberId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"VerifiedDestinationNumberId")inletverifiedDestinationNumberArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"VerifiedDestinationNumberArn")inmake?createdTimestamp?tags?rcsAgentId?status?destinationPhoneNumber?verifiedDestinationNumberId?verifiedDestinationNumberArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcreatedTimestamp=field_mapjson__"CreatedTimestamp"Timestamp.of_jsoninlettags=field_mapjson__"Tags"TagList.of_jsoninletrcsAgentId=field_mapjson__"RcsAgentId"String_.of_jsoninletstatus=field_mapjson__"Status"VerificationStatus.of_jsoninletdestinationPhoneNumber=field_mapjson__"DestinationPhoneNumber"PhoneNumber.of_jsoninletverifiedDestinationNumberId=field_mapjson__"VerifiedDestinationNumberId"String_.of_jsoninletverifiedDestinationNumberArn=field_mapjson__"VerifiedDestinationNumberArn"String_.of_jsoninmake?createdTimestamp?tags?rcsAgentId?status?destinationPhoneNumber?verifiedDestinationNumberId?verifiedDestinationNumberArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"You can only send messages to verified destination numbers when your account is in the sandbox. You can add up to 10 verified destination numbers."]moduleCreateVerifiedDestinationNumberRequest=structtypenonrect={destinationPhoneNumber:PhoneNumber.t[@ocaml.doc"The verified destination phone number, in E.164 format."];rcsAgentId:RcsAgentIdOrArn.toption[@ocaml.doc"The unique identifier of the RCS agent to associate with the verified destination number. You can use either the RcsAgentId or RcsAgentArn."];tags:TagList.toption[@ocaml.doc"An array of tags (key and value pairs) to associate with the destination number."];clientToken:ClientToken.toption[@ocaml.doc"Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don't specify a client token, a randomly generated token is used for the request to ensure idempotency."]}letcontext_="CreateVerifiedDestinationNumberRequest"letmake?rcsAgentId=fun?tags->fun?clientToken->fun~destinationPhoneNumber->fun()->{rcsAgentId;tags;clientToken;destinationPhoneNumber}letto_valuex=structure_to_value[("DestinationPhoneNumber",(Some(PhoneNumber.to_valuex.destinationPhoneNumber)));("RcsAgentId",(Option.mapx.rcsAgentId~f:RcsAgentIdOrArn.to_value));("Tags",(Option.mapx.tags~f:TagList.to_value));("ClientToken",(Option.mapx.clientToken~f:ClientToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"ClientToken")inlettags=(Option.map~f:TagList.of_xml)(Xml.childxml_arg0"Tags")inletrcsAgentId=(Option.map~f:RcsAgentIdOrArn.of_xml)(Xml.childxml_arg0"RcsAgentId")inletdestinationPhoneNumber=PhoneNumber.of_xml(Xml.child_exn~context:context_xml_arg0"DestinationPhoneNumber")inmake?clientToken?tags?rcsAgentId~destinationPhoneNumber()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letclientToken=field_mapjson__"ClientToken"ClientToken.of_jsoninlettags=field_mapjson__"Tags"TagList.of_jsoninletrcsAgentId=field_mapjson__"RcsAgentId"RcsAgentIdOrArn.of_jsoninletdestinationPhoneNumber=field_map_exnjson__"DestinationPhoneNumber"PhoneNumber.of_jsoninmake?clientToken?tags?rcsAgentId~destinationPhoneNumber()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"You can only send messages to verified destination numbers when your account is in the sandbox. You can add up to 10 verified destination numbers."]moduleCreateRegistrationVersionResult=structtypenonrect={registrationArn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) for the registration."];registrationId:String_.toption[@ocaml.doc"The unique identifier for the registration."];versionNumber:RegistrationVersionNumber.toption[@ocaml.doc"The new version number of the registration."];registrationVersionStatus:RegistrationVersionStatus.toption[@ocaml.doc"The status of the registration. APPROVED: Your registration has been approved. ARCHIVED: Your previously approved registration version moves into this status when a more recently submitted version is approved. DENIED: You must fix your registration and resubmit it. DISCARDED: You've abandon this version of their registration to start over with a new version. DRAFT: The initial status of a registration version after it\226\128\153s created. REQUIRES_AUTHENTICATION: You need to complete email authentication. REVIEWING: Your registration has been accepted and is being reviewed. REVOKED: Your previously approved registration has been revoked. SUBMITTED: Your registration has been submitted."];registrationVersionStatusHistory:RegistrationVersionStatusHistory.toption[@ocaml.doc"A RegistrationVersionStatusHistory object that contains timestamps for the registration."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?registrationArn=fun?registrationId->fun?versionNumber->fun?registrationVersionStatus->fun?registrationVersionStatusHistory->fun()->{registrationArn;registrationId;versionNumber;registrationVersionStatus;registrationVersionStatusHistory}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"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)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`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[("RegistrationArn",(Option.mapx.registrationArn~f:String_.to_value));("RegistrationId",(Option.mapx.registrationId~f:String_.to_value));("VersionNumber",(Option.mapx.versionNumber~f:RegistrationVersionNumber.to_value));("RegistrationVersionStatus",(Option.mapx.registrationVersionStatus~f:RegistrationVersionStatus.to_value));("RegistrationVersionStatusHistory",(Option.mapx.registrationVersionStatusHistory~f:RegistrationVersionStatusHistory.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letregistrationVersionStatusHistory=(Option.map~f:RegistrationVersionStatusHistory.of_xml)(Xml.childxml_arg0"RegistrationVersionStatusHistory")inletregistrationVersionStatus=(Option.map~f:RegistrationVersionStatus.of_xml)(Xml.childxml_arg0"RegistrationVersionStatus")inletversionNumber=(Option.map~f:RegistrationVersionNumber.of_xml)(Xml.childxml_arg0"VersionNumber")inletregistrationId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RegistrationId")inletregistrationArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RegistrationArn")inmake?registrationVersionStatusHistory?registrationVersionStatus?versionNumber?registrationId?registrationArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letregistrationVersionStatusHistory=field_mapjson__"RegistrationVersionStatusHistory"RegistrationVersionStatusHistory.of_jsoninletregistrationVersionStatus=field_mapjson__"RegistrationVersionStatus"RegistrationVersionStatus.of_jsoninletversionNumber=field_mapjson__"VersionNumber"RegistrationVersionNumber.of_jsoninletregistrationId=field_mapjson__"RegistrationId"String_.of_jsoninletregistrationArn=field_mapjson__"RegistrationArn"String_.of_jsoninmake?registrationVersionStatusHistory?registrationVersionStatus?versionNumber?registrationId?registrationArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Create a new version of the registration and increase the VersionNumber. The previous version of the registration becomes read-only."]moduleCreateRegistrationVersionRequest=structtypenonrect={registrationId:RegistrationIdOrArn.t[@ocaml.doc"The unique identifier for the registration."]}letcontext_="CreateRegistrationVersionRequest"letmake~registrationId=fun()->{registrationId}letto_valuex=structure_to_value[("RegistrationId",(Some(RegistrationIdOrArn.to_valuex.registrationId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letregistrationId=RegistrationIdOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"RegistrationId")inmake~registrationId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letregistrationId=field_map_exnjson__"RegistrationId"RegistrationIdOrArn.of_jsoninmake~registrationId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Create a new version of the registration and increase the VersionNumber. The previous version of the registration becomes read-only."]moduleCreateRegistrationResult=structtypenonrect={registrationArn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) for the registration."];registrationId:String_.toption[@ocaml.doc"The unique identifier for the registration."];registrationType:RegistrationType.toption[@ocaml.doc"The type of registration form to create. The list of RegistrationTypes can be found using the DescribeRegistrationTypeDefinitions action."];registrationStatus:RegistrationStatus.toption[@ocaml.doc"The status of the registration. CLOSED: The phone number or sender ID has been deleted and you must also delete the registration for the number. CREATED: Your registration is created but not submitted. COMPLETE: Your registration has been approved and your origination identity has been created. DELETED: The registration has been deleted. PROVISIONING: Your registration has been approved and your origination identity is being created. REQUIRES_AUTHENTICATION: You need to complete email authentication. REQUIRES_UPDATES: You must fix your registration and resubmit it. REVIEWING: Your registration has been accepted and is being reviewed. SUBMITTED: Your registration has been submitted and is awaiting review."];currentVersionNumber:RegistrationVersionNumber.toption[@ocaml.doc"The current version number of the registration."];additionalAttributes:StringMap.toption[@ocaml.doc"Metadata about a given registration which is specific to that registration type."];tags:TagList.toption[@ocaml.doc"An array of tags (key and value pairs) to associate with the registration."];createdTimestamp:Timestamp.toption[@ocaml.doc"The time when the registration was created, in UNIX epoch time format."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?registrationArn=fun?registrationId->fun?registrationType->fun?registrationStatus->fun?currentVersionNumber->fun?additionalAttributes->fun?tags->fun?createdTimestamp->fun()->{registrationArn;registrationId;registrationType;registrationStatus;currentVersionNumber;additionalAttributes;tags;createdTimestamp}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`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[("RegistrationArn",(Option.mapx.registrationArn~f:String_.to_value));("RegistrationId",(Option.mapx.registrationId~f:String_.to_value));("RegistrationType",(Option.mapx.registrationType~f:RegistrationType.to_value));("RegistrationStatus",(Option.mapx.registrationStatus~f:RegistrationStatus.to_value));("CurrentVersionNumber",(Option.mapx.currentVersionNumber~f:RegistrationVersionNumber.to_value));("AdditionalAttributes",(Option.mapx.additionalAttributes~f:StringMap.to_value));("Tags",(Option.mapx.tags~f:TagList.to_value));("CreatedTimestamp",(Option.mapx.createdTimestamp~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcreatedTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"CreatedTimestamp")inlettags=(Option.map~f:TagList.of_xml)(Xml.childxml_arg0"Tags")inletadditionalAttributes=(Option.map~f:StringMap.of_xml)(Xml.childxml_arg0"AdditionalAttributes")inletcurrentVersionNumber=(Option.map~f:RegistrationVersionNumber.of_xml)(Xml.childxml_arg0"CurrentVersionNumber")inletregistrationStatus=(Option.map~f:RegistrationStatus.of_xml)(Xml.childxml_arg0"RegistrationStatus")inletregistrationType=(Option.map~f:RegistrationType.of_xml)(Xml.childxml_arg0"RegistrationType")inletregistrationId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RegistrationId")inletregistrationArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RegistrationArn")inmake?createdTimestamp?tags?additionalAttributes?currentVersionNumber?registrationStatus?registrationType?registrationId?registrationArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcreatedTimestamp=field_mapjson__"CreatedTimestamp"Timestamp.of_jsoninlettags=field_mapjson__"Tags"TagList.of_jsoninletadditionalAttributes=field_mapjson__"AdditionalAttributes"StringMap.of_jsoninletcurrentVersionNumber=field_mapjson__"CurrentVersionNumber"RegistrationVersionNumber.of_jsoninletregistrationStatus=field_mapjson__"RegistrationStatus"RegistrationStatus.of_jsoninletregistrationType=field_mapjson__"RegistrationType"RegistrationType.of_jsoninletregistrationId=field_mapjson__"RegistrationId"String_.of_jsoninletregistrationArn=field_mapjson__"RegistrationArn"String_.of_jsoninmake?createdTimestamp?tags?additionalAttributes?currentVersionNumber?registrationStatus?registrationType?registrationId?registrationArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a new registration based on the RegistrationType field."]moduleCreateRegistrationRequest=structtypenonrect={registrationType:RegistrationType.t[@ocaml.doc"The type of registration form to create. The list of RegistrationTypes can be found using the DescribeRegistrationTypeDefinitions action."];tags:TagList.toption[@ocaml.doc"An array of tags (key and value pairs) to associate with the registration."];clientToken:ClientToken.toption[@ocaml.doc"Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don't specify a client token, a randomly generated token is used for the request to ensure idempotency."]}letcontext_="CreateRegistrationRequest"letmake?tags=fun?clientToken->fun~registrationType->fun()->{tags;clientToken;registrationType}letto_valuex=structure_to_value[("RegistrationType",(Some(RegistrationType.to_valuex.registrationType)));("Tags",(Option.mapx.tags~f:TagList.to_value));("ClientToken",(Option.mapx.clientToken~f:ClientToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"ClientToken")inlettags=(Option.map~f:TagList.of_xml)(Xml.childxml_arg0"Tags")inletregistrationType=RegistrationType.of_xml(Xml.child_exn~context:context_xml_arg0"RegistrationType")inmake?clientToken?tags~registrationType()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letclientToken=field_mapjson__"ClientToken"ClientToken.of_jsoninlettags=field_mapjson__"Tags"TagList.of_jsoninletregistrationType=field_map_exnjson__"RegistrationType"RegistrationType.of_jsoninmake?clientToken?tags~registrationType()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a new registration based on the RegistrationType field."]moduleCreateRegistrationAttachmentResult=structtypenonrect={registrationAttachmentArn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) for the registration attachment."];registrationAttachmentId:String_.toption[@ocaml.doc"The unique identifier for the registration attachment."];attachmentStatus:AttachmentStatus.toption[@ocaml.doc"The status of the registration attachment. UPLOAD_IN_PROGRESS The attachment is being uploaded. UPLOAD_COMPLETE The attachment has been uploaded. UPLOAD_FAILED The attachment failed to uploaded. DELETED The attachment has been deleted.."];tags:TagList.toption[@ocaml.doc"An array of tags (key and value pairs) to associate with the registration attachment."];createdTimestamp:Timestamp.toption[@ocaml.doc"The time when the registration attachment was created, in UNIX epoch time format."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?registrationAttachmentArn=fun?registrationAttachmentId->fun?attachmentStatus->fun?tags->fun?createdTimestamp->fun()->{registrationAttachmentArn;registrationAttachmentId;attachmentStatus;tags;createdTimestamp}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`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[("RegistrationAttachmentArn",(Option.mapx.registrationAttachmentArn~f:String_.to_value));("RegistrationAttachmentId",(Option.mapx.registrationAttachmentId~f:String_.to_value));("AttachmentStatus",(Option.mapx.attachmentStatus~f:AttachmentStatus.to_value));("Tags",(Option.mapx.tags~f:TagList.to_value));("CreatedTimestamp",(Option.mapx.createdTimestamp~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcreatedTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"CreatedTimestamp")inlettags=(Option.map~f:TagList.of_xml)(Xml.childxml_arg0"Tags")inletattachmentStatus=(Option.map~f:AttachmentStatus.of_xml)(Xml.childxml_arg0"AttachmentStatus")inletregistrationAttachmentId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RegistrationAttachmentId")inletregistrationAttachmentArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RegistrationAttachmentArn")inmake?createdTimestamp?tags?attachmentStatus?registrationAttachmentId?registrationAttachmentArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcreatedTimestamp=field_mapjson__"CreatedTimestamp"Timestamp.of_jsoninlettags=field_mapjson__"Tags"TagList.of_jsoninletattachmentStatus=field_mapjson__"AttachmentStatus"AttachmentStatus.of_jsoninletregistrationAttachmentId=field_mapjson__"RegistrationAttachmentId"String_.of_jsoninletregistrationAttachmentArn=field_mapjson__"RegistrationAttachmentArn"String_.of_jsoninmake?createdTimestamp?tags?attachmentStatus?registrationAttachmentId?registrationAttachmentArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Create a new registration attachment to use for uploading a file or a URL to a file. The maximum file size is 500KB and valid file extensions are PDF, JPEG and PNG. For example, many sender ID registrations require a signed \226\128\156letter of authorization\226\128\157 (LOA) to be submitted. Use either AttachmentUrl or AttachmentBody to upload your attachment. If both are specified then an exception is returned."]moduleCreateRegistrationAttachmentRequest=structtypenonrect={attachmentBody:AttachmentBody.toption[@ocaml.doc"The registration file to upload. The maximum file size is 500KB and valid file extensions are PDF, JPEG and PNG."];attachmentUrl:AttachmentUrl.toption[@ocaml.doc"Registration files have to be stored in an Amazon S3 bucket. The URI to use when sending is in the format s3://BucketName/FileName."];tags:TagList.toption[@ocaml.doc"An array of tags (key and value pairs) to associate with the registration attachment."];clientToken:ClientToken.toption[@ocaml.doc"Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don't specify a client token, a randomly generated token is used for the request to ensure idempotency."]}letmake?attachmentBody=fun?attachmentUrl->fun?tags->fun?clientToken->fun()->{attachmentBody;attachmentUrl;tags;clientToken}letto_valuex=structure_to_value[("AttachmentBody",(Option.mapx.attachmentBody~f:AttachmentBody.to_value));("AttachmentUrl",(Option.mapx.attachmentUrl~f:AttachmentUrl.to_value));("Tags",(Option.mapx.tags~f:TagList.to_value));("ClientToken",(Option.mapx.clientToken~f:ClientToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"ClientToken")inlettags=(Option.map~f:TagList.of_xml)(Xml.childxml_arg0"Tags")inletattachmentUrl=(Option.map~f:AttachmentUrl.of_xml)(Xml.childxml_arg0"AttachmentUrl")inletattachmentBody=(Option.map~f:AttachmentBody.of_xml)(Xml.childxml_arg0"AttachmentBody")inmake?clientToken?tags?attachmentUrl?attachmentBody()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letclientToken=field_mapjson__"ClientToken"ClientToken.of_jsoninlettags=field_mapjson__"Tags"TagList.of_jsoninletattachmentUrl=field_mapjson__"AttachmentUrl"AttachmentUrl.of_jsoninletattachmentBody=field_mapjson__"AttachmentBody"AttachmentBody.of_jsoninmake?clientToken?tags?attachmentUrl?attachmentBody()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Create a new registration attachment to use for uploading a file or a URL to a file. The maximum file size is 500KB and valid file extensions are PDF, JPEG and PNG. For example, many sender ID registrations require a signed \226\128\156letter of authorization\226\128\157 (LOA) to be submitted. Use either AttachmentUrl or AttachmentBody to upload your attachment. If both are specified then an exception is returned."]moduleCreateRegistrationAssociationResult=structtypenonrect={registrationArn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) for the registration."];registrationId:String_.toption[@ocaml.doc"The unique identifier for the registration."];registrationType:RegistrationType.toption[@ocaml.doc"The type of registration form. The list of RegistrationTypes can be found using the DescribeRegistrationTypeDefinitions action."];resourceArn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the origination identity that is associated with the registration."];resourceId:String_.toption[@ocaml.doc"The unique identifier for the origination identity. For example this could be a PhoneNumberId or SenderId."];resourceType:String_.toption[@ocaml.doc"The registration type or origination identity type."];isoCountryCode:IsoCountryCode.toption[@ocaml.doc"The two-character code, in ISO 3166-1 alpha-2 format, for the country or region."];phoneNumber:PhoneNumber.toption[@ocaml.doc"The phone number associated with the registration in E.164 format."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?registrationArn=fun?registrationId->fun?registrationType->fun?resourceArn->fun?resourceId->fun?resourceType->fun?isoCountryCode->fun?phoneNumber->fun()->{registrationArn;registrationId;registrationType;resourceArn;resourceId;resourceType;isoCountryCode;phoneNumber}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"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)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`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[("RegistrationArn",(Option.mapx.registrationArn~f:String_.to_value));("RegistrationId",(Option.mapx.registrationId~f:String_.to_value));("RegistrationType",(Option.mapx.registrationType~f:RegistrationType.to_value));("ResourceArn",(Option.mapx.resourceArn~f:String_.to_value));("ResourceId",(Option.mapx.resourceId~f:String_.to_value));("ResourceType",(Option.mapx.resourceType~f:String_.to_value));("IsoCountryCode",(Option.mapx.isoCountryCode~f:IsoCountryCode.to_value));("PhoneNumber",(Option.mapx.phoneNumber~f:PhoneNumber.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letphoneNumber=(Option.map~f:PhoneNumber.of_xml)(Xml.childxml_arg0"PhoneNumber")inletisoCountryCode=(Option.map~f:IsoCountryCode.of_xml)(Xml.childxml_arg0"IsoCountryCode")inletresourceType=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"ResourceType")inletresourceId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"ResourceId")inletresourceArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"ResourceArn")inletregistrationType=(Option.map~f:RegistrationType.of_xml)(Xml.childxml_arg0"RegistrationType")inletregistrationId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RegistrationId")inletregistrationArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RegistrationArn")inmake?phoneNumber?isoCountryCode?resourceType?resourceId?resourceArn?registrationType?registrationId?registrationArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letphoneNumber=field_mapjson__"PhoneNumber"PhoneNumber.of_jsoninletisoCountryCode=field_mapjson__"IsoCountryCode"IsoCountryCode.of_jsoninletresourceType=field_mapjson__"ResourceType"String_.of_jsoninletresourceId=field_mapjson__"ResourceId"String_.of_jsoninletresourceArn=field_mapjson__"ResourceArn"String_.of_jsoninletregistrationType=field_mapjson__"RegistrationType"RegistrationType.of_jsoninletregistrationId=field_mapjson__"RegistrationId"String_.of_jsoninletregistrationArn=field_mapjson__"RegistrationArn"String_.of_jsoninmake?phoneNumber?isoCountryCode?resourceType?resourceId?resourceArn?registrationType?registrationId?registrationArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Associate the registration with an origination identity such as a phone number or sender ID."]moduleCreateRegistrationAssociationRequest=structtypenonrect={registrationId:RegistrationIdOrArn.t[@ocaml.doc"The unique identifier for the registration."];resourceId:ResourceIdOrArn.t[@ocaml.doc"The unique identifier for the origination identity. For example this could be a PhoneNumberId or SenderId."]}letcontext_="CreateRegistrationAssociationRequest"letmake~registrationId=fun~resourceId->fun()->{registrationId;resourceId}letto_valuex=structure_to_value[("RegistrationId",(Some(RegistrationIdOrArn.to_valuex.registrationId)));("ResourceId",(Some(ResourceIdOrArn.to_valuex.resourceId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresourceId=ResourceIdOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"ResourceId")inletregistrationId=RegistrationIdOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"RegistrationId")inmake~resourceId~registrationId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresourceId=field_map_exnjson__"ResourceId"ResourceIdOrArn.of_jsoninletregistrationId=field_map_exnjson__"RegistrationId"RegistrationIdOrArn.of_jsoninmake~resourceId~registrationId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Associate the registration with an origination identity such as a phone number or sender ID."]moduleCreateRcsAgentResult=structtypenonrect={rcsAgentArn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the newly created RCS agent."];rcsAgentId:String_.toption[@ocaml.doc"The unique identifier for the RCS agent."];status:RcsAgentStatus.toption[@ocaml.doc"The current status of the RCS agent."];deletionProtectionEnabled:PrimitiveBoolean.toption[@ocaml.doc"When set to true deletion protection is enabled. By default this is set to false."];optOutListName:OptOutListName.toption[@ocaml.doc"The name of the OptOutList associated with the RCS agent."];createdTimestamp:Timestamp.toption[@ocaml.doc"The time when the RCS agent was created, in UNIX epoch time format."];selfManagedOptOutsEnabled:PrimitiveBoolean.toption[@ocaml.doc"By default this is set to false. When set to true you're responsible for responding to HELP and STOP requests. You're also responsible for tracking and honoring opt-out requests."];twoWayChannelArn:TwoWayChannelArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the two way channel."];twoWayChannelRole:IamRoleArn.toption[@ocaml.doc"An optional IAM Role Arn for a service to assume, to be able to post inbound SMS messages."];twoWayEnabled:PrimitiveBoolean.toption[@ocaml.doc"By default this is set to false. When set to true you can receive incoming text messages from your end recipients."];tags:TagList.toption[@ocaml.doc"An array of tags (key and value pairs) associated with the RCS agent."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?rcsAgentArn=fun?rcsAgentId->fun?status->fun?deletionProtectionEnabled->fun?optOutListName->fun?createdTimestamp->fun?selfManagedOptOutsEnabled->fun?twoWayChannelArn->fun?twoWayChannelRole->fun?twoWayEnabled->fun?tags->fun()->{rcsAgentArn;rcsAgentId;status;deletionProtectionEnabled;optOutListName;createdTimestamp;selfManagedOptOutsEnabled;twoWayChannelArn;twoWayChannelRole;twoWayEnabled;tags}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"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)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`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[("RcsAgentArn",(Option.mapx.rcsAgentArn~f:String_.to_value));("RcsAgentId",(Option.mapx.rcsAgentId~f:String_.to_value));("Status",(Option.mapx.status~f:RcsAgentStatus.to_value));("DeletionProtectionEnabled",(Option.mapx.deletionProtectionEnabled~f:PrimitiveBoolean.to_value));("OptOutListName",(Option.mapx.optOutListName~f:OptOutListName.to_value));("CreatedTimestamp",(Option.mapx.createdTimestamp~f:Timestamp.to_value));("SelfManagedOptOutsEnabled",(Option.mapx.selfManagedOptOutsEnabled~f:PrimitiveBoolean.to_value));("TwoWayChannelArn",(Option.mapx.twoWayChannelArn~f:TwoWayChannelArn.to_value));("TwoWayChannelRole",(Option.mapx.twoWayChannelRole~f:IamRoleArn.to_value));("TwoWayEnabled",(Option.mapx.twoWayEnabled~f:PrimitiveBoolean.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")inlettwoWayEnabled=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"TwoWayEnabled")inlettwoWayChannelRole=(Option.map~f:IamRoleArn.of_xml)(Xml.childxml_arg0"TwoWayChannelRole")inlettwoWayChannelArn=(Option.map~f:TwoWayChannelArn.of_xml)(Xml.childxml_arg0"TwoWayChannelArn")inletselfManagedOptOutsEnabled=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"SelfManagedOptOutsEnabled")inletcreatedTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"CreatedTimestamp")inletoptOutListName=(Option.map~f:OptOutListName.of_xml)(Xml.childxml_arg0"OptOutListName")inletdeletionProtectionEnabled=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"DeletionProtectionEnabled")inletstatus=(Option.map~f:RcsAgentStatus.of_xml)(Xml.childxml_arg0"Status")inletrcsAgentId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RcsAgentId")inletrcsAgentArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RcsAgentArn")inmake?tags?twoWayEnabled?twoWayChannelRole?twoWayChannelArn?selfManagedOptOutsEnabled?createdTimestamp?optOutListName?deletionProtectionEnabled?status?rcsAgentId?rcsAgentArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"Tags"TagList.of_jsoninlettwoWayEnabled=field_mapjson__"TwoWayEnabled"PrimitiveBoolean.of_jsoninlettwoWayChannelRole=field_mapjson__"TwoWayChannelRole"IamRoleArn.of_jsoninlettwoWayChannelArn=field_mapjson__"TwoWayChannelArn"TwoWayChannelArn.of_jsoninletselfManagedOptOutsEnabled=field_mapjson__"SelfManagedOptOutsEnabled"PrimitiveBoolean.of_jsoninletcreatedTimestamp=field_mapjson__"CreatedTimestamp"Timestamp.of_jsoninletoptOutListName=field_mapjson__"OptOutListName"OptOutListName.of_jsoninletdeletionProtectionEnabled=field_mapjson__"DeletionProtectionEnabled"PrimitiveBoolean.of_jsoninletstatus=field_mapjson__"Status"RcsAgentStatus.of_jsoninletrcsAgentId=field_mapjson__"RcsAgentId"String_.of_jsoninletrcsAgentArn=field_mapjson__"RcsAgentArn"String_.of_jsoninmake?tags?twoWayEnabled?twoWayChannelRole?twoWayChannelArn?selfManagedOptOutsEnabled?createdTimestamp?optOutListName?deletionProtectionEnabled?status?rcsAgentId?rcsAgentArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a new RCS agent for sending rich messages through the RCS channel. The RCS agent serves as an origination identity for sending RCS messages to your recipients."]moduleCreateRcsAgentRequest=structtypenonrect={deletionProtectionEnabled:Boolean.toption[@ocaml.doc"By default this is set to false. When set to true the RCS agent can't be deleted. You can change this value using the UpdateRcsAgent action."];optOutListName:OptOutListNameOrArn.toption[@ocaml.doc"The OptOutList to associate with the RCS agent. Valid values are either OptOutListName or OptOutListArn."];tags:TagList.toption[@ocaml.doc"An array of tags (key and value pairs) associated with the RCS agent."];clientToken:ClientToken.toption[@ocaml.doc"Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don't specify a client token, a randomly generated token is used for the request to ensure idempotency."]}letmake?deletionProtectionEnabled=fun?optOutListName->fun?tags->fun?clientToken->fun()->{deletionProtectionEnabled;optOutListName;tags;clientToken}letto_valuex=structure_to_value[("DeletionProtectionEnabled",(Option.mapx.deletionProtectionEnabled~f:Boolean.to_value));("OptOutListName",(Option.mapx.optOutListName~f:OptOutListNameOrArn.to_value));("Tags",(Option.mapx.tags~f:TagList.to_value));("ClientToken",(Option.mapx.clientToken~f:ClientToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"ClientToken")inlettags=(Option.map~f:TagList.of_xml)(Xml.childxml_arg0"Tags")inletoptOutListName=(Option.map~f:OptOutListNameOrArn.of_xml)(Xml.childxml_arg0"OptOutListName")inletdeletionProtectionEnabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"DeletionProtectionEnabled")inmake?clientToken?tags?optOutListName?deletionProtectionEnabled()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letclientToken=field_mapjson__"ClientToken"ClientToken.of_jsoninlettags=field_mapjson__"Tags"TagList.of_jsoninletoptOutListName=field_mapjson__"OptOutListName"OptOutListNameOrArn.of_jsoninletdeletionProtectionEnabled=field_mapjson__"DeletionProtectionEnabled"Boolean.of_jsoninmake?clientToken?tags?optOutListName?deletionProtectionEnabled()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a new RCS agent for sending rich messages through the RCS channel. The RCS agent serves as an origination identity for sending RCS messages to your recipients."]moduleCreateProtectConfigurationResult=structtypenonrect={protectConfigurationArn:ProtectConfigurationArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the protect configuration."];protectConfigurationId:ProtectConfigurationId.toption[@ocaml.doc"The unique identifier for the protect configuration."];createdTimestamp:Timestamp.toption[@ocaml.doc"The time when the protect configuration was created, in UNIX epoch time format."];accountDefault:PrimitiveBoolean.toption[@ocaml.doc"This is true if the protect configuration is set as your account default protect configuration."];deletionProtectionEnabled:PrimitiveBoolean.toption[@ocaml.doc"When set to true deletion protection is enabled. By default this is set to false."];tags:TagList.toption[@ocaml.doc"An array of key and value pair tags that are associated with the resource."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?protectConfigurationArn=fun?protectConfigurationId->fun?createdTimestamp->fun?accountDefault->fun?deletionProtectionEnabled->fun?tags->fun()->{protectConfigurationArn;protectConfigurationId;createdTimestamp;accountDefault;deletionProtectionEnabled;tags}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`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[("ProtectConfigurationArn",(Option.mapx.protectConfigurationArn~f:ProtectConfigurationArn.to_value));("ProtectConfigurationId",(Option.mapx.protectConfigurationId~f:ProtectConfigurationId.to_value));("CreatedTimestamp",(Option.mapx.createdTimestamp~f:Timestamp.to_value));("AccountDefault",(Option.mapx.accountDefault~f:PrimitiveBoolean.to_value));("DeletionProtectionEnabled",(Option.mapx.deletionProtectionEnabled~f:PrimitiveBoolean.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")inletdeletionProtectionEnabled=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"DeletionProtectionEnabled")inletaccountDefault=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"AccountDefault")inletcreatedTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"CreatedTimestamp")inletprotectConfigurationId=(Option.map~f:ProtectConfigurationId.of_xml)(Xml.childxml_arg0"ProtectConfigurationId")inletprotectConfigurationArn=(Option.map~f:ProtectConfigurationArn.of_xml)(Xml.childxml_arg0"ProtectConfigurationArn")inmake?tags?deletionProtectionEnabled?accountDefault?createdTimestamp?protectConfigurationId?protectConfigurationArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"Tags"TagList.of_jsoninletdeletionProtectionEnabled=field_mapjson__"DeletionProtectionEnabled"PrimitiveBoolean.of_jsoninletaccountDefault=field_mapjson__"AccountDefault"PrimitiveBoolean.of_jsoninletcreatedTimestamp=field_mapjson__"CreatedTimestamp"Timestamp.of_jsoninletprotectConfigurationId=field_mapjson__"ProtectConfigurationId"ProtectConfigurationId.of_jsoninletprotectConfigurationArn=field_mapjson__"ProtectConfigurationArn"ProtectConfigurationArn.of_jsoninmake?tags?deletionProtectionEnabled?accountDefault?createdTimestamp?protectConfigurationId?protectConfigurationArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Create a new protect configuration. By default all country rule sets for each capability are set to ALLOW. Update the country rule sets using UpdateProtectConfigurationCountryRuleSet. A protect configurations name is stored as a Tag with the key set to Name and value as the name of the protect configuration."]moduleCreateProtectConfigurationRequest=structtypenonrect={clientToken:ClientToken.toption[@ocaml.doc"Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don't specify a client token, a randomly generated token is used for the request to ensure idempotency."];deletionProtectionEnabled:Boolean.toption[@ocaml.doc"When set to true deletion protection is enabled. By default this is set to false."];tags:TagList.toption[@ocaml.doc"An array of key and value pair tags that are associated with the resource."]}letmake?clientToken=fun?deletionProtectionEnabled->fun?tags->fun()->{clientToken;deletionProtectionEnabled;tags}letto_valuex=structure_to_value[("ClientToken",(Option.mapx.clientToken~f:ClientToken.to_value));("DeletionProtectionEnabled",(Option.mapx.deletionProtectionEnabled~f:Boolean.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")inletdeletionProtectionEnabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"DeletionProtectionEnabled")inletclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"ClientToken")inmake?tags?deletionProtectionEnabled?clientToken()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"Tags"TagList.of_jsoninletdeletionProtectionEnabled=field_mapjson__"DeletionProtectionEnabled"Boolean.of_jsoninletclientToken=field_mapjson__"ClientToken"ClientToken.of_jsoninmake?tags?deletionProtectionEnabled?clientToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Create a new protect configuration. By default all country rule sets for each capability are set to ALLOW. Update the country rule sets using UpdateProtectConfigurationCountryRuleSet. A protect configurations name is stored as a Tag with the key set to Name and value as the name of the protect configuration."]moduleCreatePoolResult=structtypenonrect={poolArn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) for the pool."];poolId:String_.toption[@ocaml.doc"The unique identifier for the pool."];status:PoolStatus.toption[@ocaml.doc"The current status of the pool. CREATING: The pool is currently being created and isn't yet available for use. ACTIVE: The pool is active and available for use. DELETING: The pool is being deleted."];messageType:MessageType.toption[@ocaml.doc"The type of message for the pool to use."];twoWayEnabled:PrimitiveBoolean.toption[@ocaml.doc"By default this is set to false. When set to true you can receive incoming text messages from your end recipients."];twoWayChannelArn:TwoWayChannelArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the two way channel."];twoWayChannelRole:IamRoleArn.toption[@ocaml.doc"An optional IAM Role Arn for a service to assume, to be able to post inbound SMS messages."];selfManagedOptOutsEnabled:PrimitiveBoolean.toption[@ocaml.doc"By default this is set to false. When set to false, and an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, End User Messaging SMS automatically replies with a customizable message and adds the end recipient to the OptOutList. When set to true you're responsible for responding to HELP and STOP requests. You're also responsible for tracking and honoring opt-out requests."];optOutListName:OptOutListName.toption[@ocaml.doc"The name of the OptOutList associated with the pool."];sharedRoutesEnabled:PrimitiveBoolean.toption[@ocaml.doc"Indicates whether shared routes are enabled for the pool. Set to false and only origination identities in this pool are used to send messages."];deletionProtectionEnabled:PrimitiveBoolean.toption[@ocaml.doc"When set to true deletion protection is enabled. By default this is set to false."];tags:TagList.toption[@ocaml.doc"An array of tags (key and value pairs) associated with the pool."];createdTimestamp:Timestamp.toption[@ocaml.doc"The time when the pool was created, in UNIX epoch time format."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?poolArn=fun?poolId->fun?status->fun?messageType->fun?twoWayEnabled->fun?twoWayChannelArn->fun?twoWayChannelRole->fun?selfManagedOptOutsEnabled->fun?optOutListName->fun?sharedRoutesEnabled->fun?deletionProtectionEnabled->fun?tags->fun?createdTimestamp->fun()->{poolArn;poolId;status;messageType;twoWayEnabled;twoWayChannelArn;twoWayChannelRole;selfManagedOptOutsEnabled;optOutListName;sharedRoutesEnabled;deletionProtectionEnabled;tags;createdTimestamp}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"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)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`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[("PoolArn",(Option.mapx.poolArn~f:String_.to_value));("PoolId",(Option.mapx.poolId~f:String_.to_value));("Status",(Option.mapx.status~f:PoolStatus.to_value));("MessageType",(Option.mapx.messageType~f:MessageType.to_value));("TwoWayEnabled",(Option.mapx.twoWayEnabled~f:PrimitiveBoolean.to_value));("TwoWayChannelArn",(Option.mapx.twoWayChannelArn~f:TwoWayChannelArn.to_value));("TwoWayChannelRole",(Option.mapx.twoWayChannelRole~f:IamRoleArn.to_value));("SelfManagedOptOutsEnabled",(Option.mapx.selfManagedOptOutsEnabled~f:PrimitiveBoolean.to_value));("OptOutListName",(Option.mapx.optOutListName~f:OptOutListName.to_value));("SharedRoutesEnabled",(Option.mapx.sharedRoutesEnabled~f:PrimitiveBoolean.to_value));("DeletionProtectionEnabled",(Option.mapx.deletionProtectionEnabled~f:PrimitiveBoolean.to_value));("Tags",(Option.mapx.tags~f:TagList.to_value));("CreatedTimestamp",(Option.mapx.createdTimestamp~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcreatedTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"CreatedTimestamp")inlettags=(Option.map~f:TagList.of_xml)(Xml.childxml_arg0"Tags")inletdeletionProtectionEnabled=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"DeletionProtectionEnabled")inletsharedRoutesEnabled=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"SharedRoutesEnabled")inletoptOutListName=(Option.map~f:OptOutListName.of_xml)(Xml.childxml_arg0"OptOutListName")inletselfManagedOptOutsEnabled=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"SelfManagedOptOutsEnabled")inlettwoWayChannelRole=(Option.map~f:IamRoleArn.of_xml)(Xml.childxml_arg0"TwoWayChannelRole")inlettwoWayChannelArn=(Option.map~f:TwoWayChannelArn.of_xml)(Xml.childxml_arg0"TwoWayChannelArn")inlettwoWayEnabled=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"TwoWayEnabled")inletmessageType=(Option.map~f:MessageType.of_xml)(Xml.childxml_arg0"MessageType")inletstatus=(Option.map~f:PoolStatus.of_xml)(Xml.childxml_arg0"Status")inletpoolId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"PoolId")inletpoolArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"PoolArn")inmake?createdTimestamp?tags?deletionProtectionEnabled?sharedRoutesEnabled?optOutListName?selfManagedOptOutsEnabled?twoWayChannelRole?twoWayChannelArn?twoWayEnabled?messageType?status?poolId?poolArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcreatedTimestamp=field_mapjson__"CreatedTimestamp"Timestamp.of_jsoninlettags=field_mapjson__"Tags"TagList.of_jsoninletdeletionProtectionEnabled=field_mapjson__"DeletionProtectionEnabled"PrimitiveBoolean.of_jsoninletsharedRoutesEnabled=field_mapjson__"SharedRoutesEnabled"PrimitiveBoolean.of_jsoninletoptOutListName=field_mapjson__"OptOutListName"OptOutListName.of_jsoninletselfManagedOptOutsEnabled=field_mapjson__"SelfManagedOptOutsEnabled"PrimitiveBoolean.of_jsoninlettwoWayChannelRole=field_mapjson__"TwoWayChannelRole"IamRoleArn.of_jsoninlettwoWayChannelArn=field_mapjson__"TwoWayChannelArn"TwoWayChannelArn.of_jsoninlettwoWayEnabled=field_mapjson__"TwoWayEnabled"PrimitiveBoolean.of_jsoninletmessageType=field_mapjson__"MessageType"MessageType.of_jsoninletstatus=field_mapjson__"Status"PoolStatus.of_jsoninletpoolId=field_mapjson__"PoolId"String_.of_jsoninletpoolArn=field_mapjson__"PoolArn"String_.of_jsoninmake?createdTimestamp?tags?deletionProtectionEnabled?sharedRoutesEnabled?optOutListName?selfManagedOptOutsEnabled?twoWayChannelRole?twoWayChannelArn?twoWayEnabled?messageType?status?poolId?poolArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a new pool and associates the specified origination identity to the pool. A pool can include one or more phone numbers and SenderIds that are associated with your Amazon Web Services account. The new pool inherits its configuration from the specified origination identity. This includes keywords, message type, opt-out list, two-way configuration, and self-managed opt-out configuration. Deletion protection isn't inherited from the origination identity and defaults to false. If the origination identity is a phone number and is already associated with another pool, an error is returned. A sender ID can be associated with multiple pools."]moduleCreatePoolRequest=structtypenonrect={originationIdentity:PhoneOrSenderIdOrArn.t[@ocaml.doc"The origination identity to use such as a PhoneNumberId, PhoneNumberArn, SenderId or SenderIdArn. You can use DescribePhoneNumbers to find the values for PhoneNumberId and PhoneNumberArn, and use DescribeSenderIds can be used to get the values for SenderId and SenderIdArn. After the pool is created you can add more origination identities to the pool by using AssociateOriginationIdentity. If you are using a shared End User Messaging SMS resource then you must use the full Amazon Resource Name(ARN)."];isoCountryCode:IsoCountryCode.toption[@ocaml.doc"The new two-character code, in ISO 3166-1 alpha-2 format, for the country or region of the new pool. This field is optional and is not required for origination identity types that are not country-specific, such as RCS agents."];messageType:MessageType.t[@ocaml.doc"The type of message. Valid values are TRANSACTIONAL for messages that are critical or time-sensitive and PROMOTIONAL for messages that aren't critical or time-sensitive. After the pool is created the MessageType can't be changed."];deletionProtectionEnabled:Boolean.toption[@ocaml.doc"By default this is set to false. When set to true the pool can't be deleted. You can change this value using the UpdatePool action."];tags:TagList.toption[@ocaml.doc"An array of tags (key and value pairs) associated with the pool."];clientToken:ClientToken.toption[@ocaml.doc"Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don't specify a client token, a randomly generated token is used for the request to ensure idempotency."]}letcontext_="CreatePoolRequest"letmake?isoCountryCode=fun?deletionProtectionEnabled->fun?tags->fun?clientToken->fun~originationIdentity->fun~messageType->fun()->{isoCountryCode;deletionProtectionEnabled;tags;clientToken;originationIdentity;messageType}letto_valuex=structure_to_value[("OriginationIdentity",(Some(PhoneOrSenderIdOrArn.to_valuex.originationIdentity)));("IsoCountryCode",(Option.mapx.isoCountryCode~f:IsoCountryCode.to_value));("MessageType",(Some(MessageType.to_valuex.messageType)));("DeletionProtectionEnabled",(Option.mapx.deletionProtectionEnabled~f:Boolean.to_value));("Tags",(Option.mapx.tags~f:TagList.to_value));("ClientToken",(Option.mapx.clientToken~f:ClientToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"ClientToken")inlettags=(Option.map~f:TagList.of_xml)(Xml.childxml_arg0"Tags")inletdeletionProtectionEnabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"DeletionProtectionEnabled")inletmessageType=MessageType.of_xml(Xml.child_exn~context:context_xml_arg0"MessageType")inletisoCountryCode=(Option.map~f:IsoCountryCode.of_xml)(Xml.childxml_arg0"IsoCountryCode")inletoriginationIdentity=PhoneOrSenderIdOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"OriginationIdentity")inmake?clientToken?tags?deletionProtectionEnabled~messageType?isoCountryCode~originationIdentity()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letclientToken=field_mapjson__"ClientToken"ClientToken.of_jsoninlettags=field_mapjson__"Tags"TagList.of_jsoninletdeletionProtectionEnabled=field_mapjson__"DeletionProtectionEnabled"Boolean.of_jsoninletmessageType=field_map_exnjson__"MessageType"MessageType.of_jsoninletisoCountryCode=field_mapjson__"IsoCountryCode"IsoCountryCode.of_jsoninletoriginationIdentity=field_map_exnjson__"OriginationIdentity"PhoneOrSenderIdOrArn.of_jsoninmake?clientToken?tags?deletionProtectionEnabled~messageType?isoCountryCode~originationIdentity()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a new pool and associates the specified origination identity to the pool. A pool can include one or more phone numbers and SenderIds that are associated with your Amazon Web Services account. The new pool inherits its configuration from the specified origination identity. This includes keywords, message type, opt-out list, two-way configuration, and self-managed opt-out configuration. Deletion protection isn't inherited from the origination identity and defaults to false. If the origination identity is a phone number and is already associated with another pool, an error is returned. A sender ID can be associated with multiple pools."]moduleCreateOptOutListResult=structtypenonrect={optOutListArn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) for the OptOutList."];optOutListName:OptOutListName.toption[@ocaml.doc"The name of the new OptOutList."];tags:TagList.toption[@ocaml.doc"An array of tags (key and value pairs) associated with the new OptOutList."];createdTimestamp:Timestamp.toption[@ocaml.doc"The time when the pool was created, in UNIX epoch time format."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?optOutListArn=fun?optOutListName->fun?tags->fun?createdTimestamp->fun()->{optOutListArn;optOutListName;tags;createdTimestamp}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`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[("OptOutListArn",(Option.mapx.optOutListArn~f:String_.to_value));("OptOutListName",(Option.mapx.optOutListName~f:OptOutListName.to_value));("Tags",(Option.mapx.tags~f:TagList.to_value));("CreatedTimestamp",(Option.mapx.createdTimestamp~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcreatedTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"CreatedTimestamp")inlettags=(Option.map~f:TagList.of_xml)(Xml.childxml_arg0"Tags")inletoptOutListName=(Option.map~f:OptOutListName.of_xml)(Xml.childxml_arg0"OptOutListName")inletoptOutListArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"OptOutListArn")inmake?createdTimestamp?tags?optOutListName?optOutListArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcreatedTimestamp=field_mapjson__"CreatedTimestamp"Timestamp.of_jsoninlettags=field_mapjson__"Tags"TagList.of_jsoninletoptOutListName=field_mapjson__"OptOutListName"OptOutListName.of_jsoninletoptOutListArn=field_mapjson__"OptOutListArn"String_.of_jsoninmake?createdTimestamp?tags?optOutListName?optOutListArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a new opt-out list. If the opt-out list name already exists, an error is returned. An opt-out list is a list of phone numbers that are opted out, meaning you can't send SMS or voice messages to them. If end user replies with the keyword \"STOP,\" an entry for the phone number is added to the opt-out list. In addition to STOP, your recipients can use any supported opt-out keyword, such as CANCEL or OPTOUT. For a list of supported opt-out keywords, see SMS opt out in the End User Messaging SMS User Guide."]moduleCreateOptOutListRequest=structtypenonrect={optOutListName:OptOutListName.t[@ocaml.doc"The name of the new OptOutList."];tags:TagList.toption[@ocaml.doc"An array of tags (key and value pairs) to associate with the new OptOutList."];clientToken:ClientToken.toption[@ocaml.doc"Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don't specify a client token, a randomly generated token is used for the request to ensure idempotency."]}letcontext_="CreateOptOutListRequest"letmake?tags=fun?clientToken->fun~optOutListName->fun()->{tags;clientToken;optOutListName}letto_valuex=structure_to_value[("OptOutListName",(Some(OptOutListName.to_valuex.optOutListName)));("Tags",(Option.mapx.tags~f:TagList.to_value));("ClientToken",(Option.mapx.clientToken~f:ClientToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"ClientToken")inlettags=(Option.map~f:TagList.of_xml)(Xml.childxml_arg0"Tags")inletoptOutListName=OptOutListName.of_xml(Xml.child_exn~context:context_xml_arg0"OptOutListName")inmake?clientToken?tags~optOutListName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letclientToken=field_mapjson__"ClientToken"ClientToken.of_jsoninlettags=field_mapjson__"Tags"TagList.of_jsoninletoptOutListName=field_map_exnjson__"OptOutListName"OptOutListName.of_jsoninmake?clientToken?tags~optOutListName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a new opt-out list. If the opt-out list name already exists, an error is returned. An opt-out list is a list of phone numbers that are opted out, meaning you can't send SMS or voice messages to them. If end user replies with the keyword \"STOP,\" an entry for the phone number is added to the opt-out list. In addition to STOP, your recipients can use any supported opt-out keyword, such as CANCEL or OPTOUT. For a list of supported opt-out keywords, see SMS opt out in the End User Messaging SMS User Guide."]moduleCreateNotifyConfigurationResult=structtypenonrect={notifyConfigurationArn:NotifyConfigurationArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) for the notify configuration."];notifyConfigurationId:NotifyConfigurationId.toption[@ocaml.doc"The unique identifier for the notify configuration."];displayName:NotifyConfigurationDisplayName.toption[@ocaml.doc"The display name associated with the notify configuration."];useCase:NotifyConfigurationUseCase.toption[@ocaml.doc"The use case for the notify configuration."];defaultTemplateId:NotifyTemplateId.toption[@ocaml.doc"The default template identifier associated with the notify configuration."];poolId:String_.toption[@ocaml.doc"The identifier of the pool associated with the notify configuration."];enabledCountries:IsoCountryCodeList.toption[@ocaml.doc"An array of two-character ISO country codes, in ISO 3166-1 alpha-2 format, that are enabled for the notify configuration."];enabledChannels:NotifyEnabledChannelsList.toption[@ocaml.doc"An array of channels enabled for the notify configuration. Supported values include SMS and VOICE."];tier:NotifyConfigurationTier.toption[@ocaml.doc"The tier of the notify configuration."];tierUpgradeStatus:TierUpgradeStatus.toption[@ocaml.doc"The tier upgrade status of the notify configuration."];status:NotifyConfigurationStatus.toption[@ocaml.doc"The current status of the notify configuration."];rejectionReason:String_.toption[@ocaml.doc"The reason the notify configuration was rejected, if applicable."];deletionProtectionEnabled:PrimitiveBoolean.toption[@ocaml.doc"When set to true deletion protection is enabled. By default this is set to false."];tags:TagList.toption[@ocaml.doc"An array of tags (key and value pairs) associated with the notify configuration."];createdTimestamp:Timestamp.toption[@ocaml.doc"The time when the notify configuration was created, in UNIX epoch time format."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?notifyConfigurationArn=fun?notifyConfigurationId->fun?displayName->fun?useCase->fun?defaultTemplateId->fun?poolId->fun?enabledCountries->fun?enabledChannels->fun?tier->fun?tierUpgradeStatus->fun?status->fun?rejectionReason->fun?deletionProtectionEnabled->fun?tags->fun?createdTimestamp->fun()->{notifyConfigurationArn;notifyConfigurationId;displayName;useCase;defaultTemplateId;poolId;enabledCountries;enabledChannels;tier;tierUpgradeStatus;status;rejectionReason;deletionProtectionEnabled;tags;createdTimestamp}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"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)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`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[("NotifyConfigurationArn",(Option.mapx.notifyConfigurationArn~f:NotifyConfigurationArn.to_value));("NotifyConfigurationId",(Option.mapx.notifyConfigurationId~f:NotifyConfigurationId.to_value));("DisplayName",(Option.mapx.displayName~f:NotifyConfigurationDisplayName.to_value));("UseCase",(Option.mapx.useCase~f:NotifyConfigurationUseCase.to_value));("DefaultTemplateId",(Option.mapx.defaultTemplateId~f:NotifyTemplateId.to_value));("PoolId",(Option.mapx.poolId~f:String_.to_value));("EnabledCountries",(Option.mapx.enabledCountries~f:IsoCountryCodeList.to_value));("EnabledChannels",(Option.mapx.enabledChannels~f:NotifyEnabledChannelsList.to_value));("Tier",(Option.mapx.tier~f:NotifyConfigurationTier.to_value));("TierUpgradeStatus",(Option.mapx.tierUpgradeStatus~f:TierUpgradeStatus.to_value));("Status",(Option.mapx.status~f:NotifyConfigurationStatus.to_value));("RejectionReason",(Option.mapx.rejectionReason~f:String_.to_value));("DeletionProtectionEnabled",(Option.mapx.deletionProtectionEnabled~f:PrimitiveBoolean.to_value));("Tags",(Option.mapx.tags~f:TagList.to_value));("CreatedTimestamp",(Option.mapx.createdTimestamp~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcreatedTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"CreatedTimestamp")inlettags=(Option.map~f:TagList.of_xml)(Xml.childxml_arg0"Tags")inletdeletionProtectionEnabled=(Option.map~f:PrimitiveBoolean.of_xml)(Xml.childxml_arg0"DeletionProtectionEnabled")inletrejectionReason=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RejectionReason")inletstatus=(Option.map~f:NotifyConfigurationStatus.of_xml)(Xml.childxml_arg0"Status")inlettierUpgradeStatus=(Option.map~f:TierUpgradeStatus.of_xml)(Xml.childxml_arg0"TierUpgradeStatus")inlettier=(Option.map~f:NotifyConfigurationTier.of_xml)(Xml.childxml_arg0"Tier")inletenabledChannels=(Option.map~f:NotifyEnabledChannelsList.of_xml)(Xml.childxml_arg0"EnabledChannels")inletenabledCountries=(Option.map~f:IsoCountryCodeList.of_xml)(Xml.childxml_arg0"EnabledCountries")inletpoolId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"PoolId")inletdefaultTemplateId=(Option.map~f:NotifyTemplateId.of_xml)(Xml.childxml_arg0"DefaultTemplateId")inletuseCase=(Option.map~f:NotifyConfigurationUseCase.of_xml)(Xml.childxml_arg0"UseCase")inletdisplayName=(Option.map~f:NotifyConfigurationDisplayName.of_xml)(Xml.childxml_arg0"DisplayName")inletnotifyConfigurationId=(Option.map~f:NotifyConfigurationId.of_xml)(Xml.childxml_arg0"NotifyConfigurationId")inletnotifyConfigurationArn=(Option.map~f:NotifyConfigurationArn.of_xml)(Xml.childxml_arg0"NotifyConfigurationArn")inmake?createdTimestamp?tags?deletionProtectionEnabled?rejectionReason?status?tierUpgradeStatus?tier?enabledChannels?enabledCountries?poolId?defaultTemplateId?useCase?displayName?notifyConfigurationId?notifyConfigurationArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcreatedTimestamp=field_mapjson__"CreatedTimestamp"Timestamp.of_jsoninlettags=field_mapjson__"Tags"TagList.of_jsoninletdeletionProtectionEnabled=field_mapjson__"DeletionProtectionEnabled"PrimitiveBoolean.of_jsoninletrejectionReason=field_mapjson__"RejectionReason"String_.of_jsoninletstatus=field_mapjson__"Status"NotifyConfigurationStatus.of_jsoninlettierUpgradeStatus=field_mapjson__"TierUpgradeStatus"TierUpgradeStatus.of_jsoninlettier=field_mapjson__"Tier"NotifyConfigurationTier.of_jsoninletenabledChannels=field_mapjson__"EnabledChannels"NotifyEnabledChannelsList.of_jsoninletenabledCountries=field_mapjson__"EnabledCountries"IsoCountryCodeList.of_jsoninletpoolId=field_mapjson__"PoolId"String_.of_jsoninletdefaultTemplateId=field_mapjson__"DefaultTemplateId"NotifyTemplateId.of_jsoninletuseCase=field_mapjson__"UseCase"NotifyConfigurationUseCase.of_jsoninletdisplayName=field_mapjson__"DisplayName"NotifyConfigurationDisplayName.of_jsoninletnotifyConfigurationId=field_mapjson__"NotifyConfigurationId"NotifyConfigurationId.of_jsoninletnotifyConfigurationArn=field_mapjson__"NotifyConfigurationArn"NotifyConfigurationArn.of_jsoninmake?createdTimestamp?tags?deletionProtectionEnabled?rejectionReason?status?tierUpgradeStatus?tier?enabledChannels?enabledCountries?poolId?defaultTemplateId?useCase?displayName?notifyConfigurationId?notifyConfigurationArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a new notify configuration for managed messaging. A notify configuration defines the settings for sending templated messages, including the display name, use case, enabled channels, and enabled countries."]moduleCreateNotifyConfigurationRequest=structtypenonrect={displayName:NotifyConfigurationDisplayName.t[@ocaml.doc"The display name to associate with the notify configuration."];useCase:NotifyConfigurationUseCase.t[@ocaml.doc"The use case for the notify configuration."];defaultTemplateId:NotifyTemplateId.toption[@ocaml.doc"The default template identifier to associate with the notify configuration. If specified, this template is used when sending messages without an explicit template identifier."];poolId:PoolIdOrArn.toption[@ocaml.doc"The identifier of the pool to associate with the notify configuration."];enabledCountries:IsoCountryCodeList.toption[@ocaml.doc"An array of two-character ISO country codes, in ISO 3166-1 alpha-2 format, that are enabled for the notify configuration."];enabledChannels:NotifyEnabledChannelsList.t[@ocaml.doc"An array of channels to enable for the notify configuration. Supported values include SMS and VOICE."];deletionProtectionEnabled:Boolean.toption[@ocaml.doc"By default this is set to false. When set to true the notify configuration can't be deleted. You can change this value using the UpdateNotifyConfiguration action."];clientToken:ClientToken.toption[@ocaml.doc"Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don't specify a client token, a randomly generated token is used for the request to ensure idempotency."];tags:TagList.toption[@ocaml.doc"An array of tags (key and value pairs) associated with the notify configuration."]}letcontext_="CreateNotifyConfigurationRequest"letmake?defaultTemplateId=fun?poolId->fun?enabledCountries->fun?deletionProtectionEnabled->fun?clientToken->fun?tags->fun~displayName->fun~useCase->fun~enabledChannels->fun()->{defaultTemplateId;poolId;enabledCountries;deletionProtectionEnabled;clientToken;tags;displayName;useCase;enabledChannels}letto_valuex=structure_to_value[("DisplayName",(Some(NotifyConfigurationDisplayName.to_valuex.displayName)));("UseCase",(Some(NotifyConfigurationUseCase.to_valuex.useCase)));("DefaultTemplateId",(Option.mapx.defaultTemplateId~f:NotifyTemplateId.to_value));("PoolId",(Option.mapx.poolId~f:PoolIdOrArn.to_value));("EnabledCountries",(Option.mapx.enabledCountries~f:IsoCountryCodeList.to_value));("EnabledChannels",(Some(NotifyEnabledChannelsList.to_valuex.enabledChannels)));("DeletionProtectionEnabled",(Option.mapx.deletionProtectionEnabled~f:Boolean.to_value));("ClientToken",(Option.mapx.clientToken~f:ClientToken.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")inletclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"ClientToken")inletdeletionProtectionEnabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"DeletionProtectionEnabled")inletenabledChannels=NotifyEnabledChannelsList.of_xml(Xml.child_exn~context:context_xml_arg0"EnabledChannels")inletenabledCountries=(Option.map~f:IsoCountryCodeList.of_xml)(Xml.childxml_arg0"EnabledCountries")inletpoolId=(Option.map~f:PoolIdOrArn.of_xml)(Xml.childxml_arg0"PoolId")inletdefaultTemplateId=(Option.map~f:NotifyTemplateId.of_xml)(Xml.childxml_arg0"DefaultTemplateId")inletuseCase=NotifyConfigurationUseCase.of_xml(Xml.child_exn~context:context_xml_arg0"UseCase")inletdisplayName=NotifyConfigurationDisplayName.of_xml(Xml.child_exn~context:context_xml_arg0"DisplayName")inmake?tags?clientToken?deletionProtectionEnabled~enabledChannels?enabledCountries?poolId?defaultTemplateId~useCase~displayName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"Tags"TagList.of_jsoninletclientToken=field_mapjson__"ClientToken"ClientToken.of_jsoninletdeletionProtectionEnabled=field_mapjson__"DeletionProtectionEnabled"Boolean.of_jsoninletenabledChannels=field_map_exnjson__"EnabledChannels"NotifyEnabledChannelsList.of_jsoninletenabledCountries=field_mapjson__"EnabledCountries"IsoCountryCodeList.of_jsoninletpoolId=field_mapjson__"PoolId"PoolIdOrArn.of_jsoninletdefaultTemplateId=field_mapjson__"DefaultTemplateId"NotifyTemplateId.of_jsoninletuseCase=field_map_exnjson__"UseCase"NotifyConfigurationUseCase.of_jsoninletdisplayName=field_map_exnjson__"DisplayName"NotifyConfigurationDisplayName.of_jsoninmake?tags?clientToken?deletionProtectionEnabled~enabledChannels?enabledCountries?poolId?defaultTemplateId~useCase~displayName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a new notify configuration for managed messaging. A notify configuration defines the settings for sending templated messages, including the display name, use case, enabled channels, and enabled countries."]moduleCreateEventDestinationResult=structtypenonrect={configurationSetArn:String_.toption[@ocaml.doc"The ARN of the configuration set."];configurationSetName:ConfigurationSetName.toption[@ocaml.doc"The name of the configuration set."];eventDestination:EventDestination.toption[@ocaml.doc"The details of the destination where events are logged."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?configurationSetArn=fun?configurationSetName->fun?eventDestination->fun()->{configurationSetArn;configurationSetName;eventDestination}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"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)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`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[("ConfigurationSetArn",(Option.mapx.configurationSetArn~f:String_.to_value));("ConfigurationSetName",(Option.mapx.configurationSetName~f:ConfigurationSetName.to_value));("EventDestination",(Option.mapx.eventDestination~f:EventDestination.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=leteventDestination=(Option.map~f:EventDestination.of_xml)(Xml.childxml_arg0"EventDestination")inletconfigurationSetName=(Option.map~f:ConfigurationSetName.of_xml)(Xml.childxml_arg0"ConfigurationSetName")inletconfigurationSetArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"ConfigurationSetArn")inmake?eventDestination?configurationSetName?configurationSetArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=leteventDestination=field_mapjson__"EventDestination"EventDestination.of_jsoninletconfigurationSetName=field_mapjson__"ConfigurationSetName"ConfigurationSetName.of_jsoninletconfigurationSetArn=field_mapjson__"ConfigurationSetArn"String_.of_jsoninmake?eventDestination?configurationSetName?configurationSetArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a new event destination in a configuration set. An event destination is a location where you send message events. The event options are Amazon CloudWatch, Amazon Data Firehose, or Amazon SNS. For example, when a message is delivered successfully, you can send information about that event to an event destination, or send notifications to endpoints that are subscribed to an Amazon SNS topic. You can only create one event destination at a time. You must provide a value for a single event destination using either CloudWatchLogsDestination, KinesisFirehoseDestination or SnsDestination. If an event destination isn't provided then an exception is returned. Each configuration set can contain between 0 and 5 event destinations. Each event destination can contain a reference to a single destination, such as a CloudWatch or Firehose destination."]moduleCreateEventDestinationRequest=structtypenonrect={configurationSetName:ConfigurationSetNameOrArn.t[@ocaml.doc"Either the name of the configuration set or the configuration set ARN to apply event logging to. The ConfigurateSetName and ConfigurationSetArn can be found using the DescribeConfigurationSets action."];eventDestinationName:EventDestinationName.t[@ocaml.doc"The name that identifies the event destination."];matchingEventTypes:EventTypeList.t[@ocaml.doc"An array of event types that determine which events to log. If \"ALL\" is used, then End User Messaging SMS logs every event type. The TEXT_SENT event type is not supported."];cloudWatchLogsDestination:CloudWatchLogsDestination.toption[@ocaml.doc"An object that contains information about an event destination for logging to Amazon CloudWatch Logs."];kinesisFirehoseDestination:KinesisFirehoseDestination.toption[@ocaml.doc"An object that contains information about an event destination for logging to Amazon Data Firehose."];snsDestination:SnsDestination.toption[@ocaml.doc"An object that contains information about an event destination for logging to Amazon SNS."];clientToken:ClientToken.toption[@ocaml.doc"Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don't specify a client token, a randomly generated token is used for the request to ensure idempotency."]}letcontext_="CreateEventDestinationRequest"letmake?cloudWatchLogsDestination=fun?kinesisFirehoseDestination->fun?snsDestination->fun?clientToken->fun~configurationSetName->fun~eventDestinationName->fun~matchingEventTypes->fun()->{cloudWatchLogsDestination;kinesisFirehoseDestination;snsDestination;clientToken;configurationSetName;eventDestinationName;matchingEventTypes}letto_valuex=structure_to_value[("ConfigurationSetName",(Some(ConfigurationSetNameOrArn.to_valuex.configurationSetName)));("EventDestinationName",(Some(EventDestinationName.to_valuex.eventDestinationName)));("MatchingEventTypes",(Some(EventTypeList.to_valuex.matchingEventTypes)));("CloudWatchLogsDestination",(Option.mapx.cloudWatchLogsDestination~f:CloudWatchLogsDestination.to_value));("KinesisFirehoseDestination",(Option.mapx.kinesisFirehoseDestination~f:KinesisFirehoseDestination.to_value));("SnsDestination",(Option.mapx.snsDestination~f:SnsDestination.to_value));("ClientToken",(Option.mapx.clientToken~f:ClientToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"ClientToken")inletsnsDestination=(Option.map~f:SnsDestination.of_xml)(Xml.childxml_arg0"SnsDestination")inletkinesisFirehoseDestination=(Option.map~f:KinesisFirehoseDestination.of_xml)(Xml.childxml_arg0"KinesisFirehoseDestination")inletcloudWatchLogsDestination=(Option.map~f:CloudWatchLogsDestination.of_xml)(Xml.childxml_arg0"CloudWatchLogsDestination")inletmatchingEventTypes=EventTypeList.of_xml(Xml.child_exn~context:context_xml_arg0"MatchingEventTypes")inleteventDestinationName=EventDestinationName.of_xml(Xml.child_exn~context:context_xml_arg0"EventDestinationName")inletconfigurationSetName=ConfigurationSetNameOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"ConfigurationSetName")inmake?clientToken?snsDestination?kinesisFirehoseDestination?cloudWatchLogsDestination~matchingEventTypes~eventDestinationName~configurationSetName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letclientToken=field_mapjson__"ClientToken"ClientToken.of_jsoninletsnsDestination=field_mapjson__"SnsDestination"SnsDestination.of_jsoninletkinesisFirehoseDestination=field_mapjson__"KinesisFirehoseDestination"KinesisFirehoseDestination.of_jsoninletcloudWatchLogsDestination=field_mapjson__"CloudWatchLogsDestination"CloudWatchLogsDestination.of_jsoninletmatchingEventTypes=field_map_exnjson__"MatchingEventTypes"EventTypeList.of_jsoninleteventDestinationName=field_map_exnjson__"EventDestinationName"EventDestinationName.of_jsoninletconfigurationSetName=field_map_exnjson__"ConfigurationSetName"ConfigurationSetNameOrArn.of_jsoninmake?clientToken?snsDestination?kinesisFirehoseDestination?cloudWatchLogsDestination~matchingEventTypes~eventDestinationName~configurationSetName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a new event destination in a configuration set. An event destination is a location where you send message events. The event options are Amazon CloudWatch, Amazon Data Firehose, or Amazon SNS. For example, when a message is delivered successfully, you can send information about that event to an event destination, or send notifications to endpoints that are subscribed to an Amazon SNS topic. You can only create one event destination at a time. You must provide a value for a single event destination using either CloudWatchLogsDestination, KinesisFirehoseDestination or SnsDestination. If an event destination isn't provided then an exception is returned. Each configuration set can contain between 0 and 5 event destinations. Each event destination can contain a reference to a single destination, such as a CloudWatch or Firehose destination."]moduleCreateConfigurationSetResult=structtypenonrect={configurationSetArn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the newly created configuration set."];configurationSetName:ConfigurationSetName.toption[@ocaml.doc"The name of the new configuration set."];tags:TagList.toption[@ocaml.doc"An array of key and value pair tags that's associated with the configuration set."];createdTimestamp:Timestamp.toption[@ocaml.doc"The time when the configuration set was created, in UNIX epoch time format."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?configurationSetArn=fun?configurationSetName->fun?tags->fun?createdTimestamp->fun()->{configurationSetArn;configurationSetName;tags;createdTimestamp}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`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[("ConfigurationSetArn",(Option.mapx.configurationSetArn~f:String_.to_value));("ConfigurationSetName",(Option.mapx.configurationSetName~f:ConfigurationSetName.to_value));("Tags",(Option.mapx.tags~f:TagList.to_value));("CreatedTimestamp",(Option.mapx.createdTimestamp~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcreatedTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"CreatedTimestamp")inlettags=(Option.map~f:TagList.of_xml)(Xml.childxml_arg0"Tags")inletconfigurationSetName=(Option.map~f:ConfigurationSetName.of_xml)(Xml.childxml_arg0"ConfigurationSetName")inletconfigurationSetArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"ConfigurationSetArn")inmake?createdTimestamp?tags?configurationSetName?configurationSetArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcreatedTimestamp=field_mapjson__"CreatedTimestamp"Timestamp.of_jsoninlettags=field_mapjson__"Tags"TagList.of_jsoninletconfigurationSetName=field_mapjson__"ConfigurationSetName"ConfigurationSetName.of_jsoninletconfigurationSetArn=field_mapjson__"ConfigurationSetArn"String_.of_jsoninmake?createdTimestamp?tags?configurationSetName?configurationSetArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a new configuration set. After you create the configuration set, you can add one or more event destinations to it. A configuration set is a set of rules that you apply to the SMS and voice messages that you send. When you send a message, you can optionally specify a single configuration set."]moduleCreateConfigurationSetRequest=structtypenonrect={configurationSetName:ConfigurationSetName.t[@ocaml.doc"The name to use for the new configuration set."];tags:TagList.toption[@ocaml.doc"An array of key and value pair tags that's associated with the new configuration set."];clientToken:ClientToken.toption[@ocaml.doc"Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don't specify a client token, a randomly generated token is used for the request to ensure idempotency."]}letcontext_="CreateConfigurationSetRequest"letmake?tags=fun?clientToken->fun~configurationSetName->fun()->{tags;clientToken;configurationSetName}letto_valuex=structure_to_value[("ConfigurationSetName",(Some(ConfigurationSetName.to_valuex.configurationSetName)));("Tags",(Option.mapx.tags~f:TagList.to_value));("ClientToken",(Option.mapx.clientToken~f:ClientToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"ClientToken")inlettags=(Option.map~f:TagList.of_xml)(Xml.childxml_arg0"Tags")inletconfigurationSetName=ConfigurationSetName.of_xml(Xml.child_exn~context:context_xml_arg0"ConfigurationSetName")inmake?clientToken?tags~configurationSetName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letclientToken=field_mapjson__"ClientToken"ClientToken.of_jsoninlettags=field_mapjson__"Tags"TagList.of_jsoninletconfigurationSetName=field_map_exnjson__"ConfigurationSetName"ConfigurationSetName.of_jsoninmake?clientToken?tags~configurationSetName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a new configuration set. After you create the configuration set, you can add one or more event destinations to it. A configuration set is a set of rules that you apply to the SMS and voice messages that you send. When you send a message, you can optionally specify a single configuration set."]moduleCarrierLookupResult=structtypenonrect={e164PhoneNumber:E164PhoneNumberType.toption[@ocaml.doc"The phone number in E164 format, sanitized from the original input by removing any formatting characters."];dialingCountryCode:DialingCountryCodeType.toption[@ocaml.doc"The country or region numeric dialing code for the phone number."];isoCountryCode:IsoCountryCode.toption[@ocaml.doc"The two-character country or region code, in ISO 3166-1 alpha-2 format, for the phone number."];country:String_.toption[@ocaml.doc"The name of the country or region for the phone number."];mCC:MCCType.toption[@ocaml.doc"The phone number's mobile country code, for mobile phone number types"];mNC:MNCType.toption[@ocaml.doc"The phone number's mobile network code, for mobile phone number types."];carrier:String_.toption[@ocaml.doc"The carrier or service provider that the phone number is currently registered with. In some countries and regions, this value may be the carrier or service provider that the phone number was originally registered with."];phoneNumberType:PhoneNumberType.toption[@ocaml.doc"Describes the type of phone number. Valid values are: MOBILE, LANDLINE, OTHER, and INVALID. Avoid sending SMS or voice messages to INVALID phone numbers, as these numbers are unlikely to belong to actual recipients."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?e164PhoneNumber=fun?dialingCountryCode->fun?isoCountryCode->fun?country->fun?mCC->fun?mNC->fun?carrier->fun?phoneNumberType->fun()->{e164PhoneNumber;dialingCountryCode;isoCountryCode;country;mCC;mNC;carrier;phoneNumberType}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("E164PhoneNumber",(Option.mapx.e164PhoneNumber~f:E164PhoneNumberType.to_value));("DialingCountryCode",(Option.mapx.dialingCountryCode~f:DialingCountryCodeType.to_value));("IsoCountryCode",(Option.mapx.isoCountryCode~f:IsoCountryCode.to_value));("Country",(Option.mapx.country~f:String_.to_value));("MCC",(Option.mapx.mCC~f:MCCType.to_value));("MNC",(Option.mapx.mNC~f:MNCType.to_value));("Carrier",(Option.mapx.carrier~f:String_.to_value));("PhoneNumberType",(Option.mapx.phoneNumberType~f:PhoneNumberType.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letphoneNumberType=(Option.map~f:PhoneNumberType.of_xml)(Xml.childxml_arg0"PhoneNumberType")inletcarrier=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Carrier")inletmNC=(Option.map~f:MNCType.of_xml)(Xml.childxml_arg0"MNC")inletmCC=(Option.map~f:MCCType.of_xml)(Xml.childxml_arg0"MCC")inletcountry=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Country")inletisoCountryCode=(Option.map~f:IsoCountryCode.of_xml)(Xml.childxml_arg0"IsoCountryCode")inletdialingCountryCode=(Option.map~f:DialingCountryCodeType.of_xml)(Xml.childxml_arg0"DialingCountryCode")inlete164PhoneNumber=(Option.map~f:E164PhoneNumberType.of_xml)(Xml.childxml_arg0"E164PhoneNumber")inmake?phoneNumberType?carrier?mNC?mCC?country?isoCountryCode?dialingCountryCode?e164PhoneNumber()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letphoneNumberType=field_mapjson__"PhoneNumberType"PhoneNumberType.of_jsoninletcarrier=field_mapjson__"Carrier"String_.of_jsoninletmNC=field_mapjson__"MNC"MNCType.of_jsoninletmCC=field_mapjson__"MCC"MCCType.of_jsoninletcountry=field_mapjson__"Country"String_.of_jsoninletisoCountryCode=field_mapjson__"IsoCountryCode"IsoCountryCode.of_jsoninletdialingCountryCode=field_mapjson__"DialingCountryCode"DialingCountryCodeType.of_jsoninlete164PhoneNumber=field_mapjson__"E164PhoneNumber"E164PhoneNumberType.of_jsoninmake?phoneNumberType?carrier?mNC?mCC?country?isoCountryCode?dialingCountryCode?e164PhoneNumber()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns information about a destination phone number, including whether the number type and whether it is valid, the carrier, and more."]moduleCarrierLookupRequest=structtypenonrect={phoneNumber:CarrierLookupInputPhoneNumberType.t[@ocaml.doc"The phone number that you want to retrieve information about. You can provide the phone number in various formats including special characters such as parentheses, brackets, spaces, hyphens, periods, and commas. The service automatically converts the input to E164 format for processing."]}letcontext_="CarrierLookupRequest"letmake~phoneNumber=fun()->{phoneNumber}letto_valuex=structure_to_value[("PhoneNumber",(Some(CarrierLookupInputPhoneNumberType.to_valuex.phoneNumber)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letphoneNumber=CarrierLookupInputPhoneNumberType.of_xml(Xml.child_exn~context:context_xml_arg0"PhoneNumber")inmake~phoneNumber()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letphoneNumber=field_map_exnjson__"PhoneNumber"CarrierLookupInputPhoneNumberType.of_jsoninmake~phoneNumber()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns information about a destination phone number, including whether the number type and whether it is valid, the carrier, and more."]moduleAssociateProtectConfigurationResult=structtypenonrect={configurationSetArn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the configuration set."];configurationSetName:ConfigurationSetName.toption[@ocaml.doc"The name of the ConfigurationSet."];protectConfigurationArn:ProtectConfigurationArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the protect configuration."];protectConfigurationId:ProtectConfigurationId.toption[@ocaml.doc"The unique identifier for the protect configuration."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?configurationSetArn=fun?configurationSetName->fun?protectConfigurationArn->fun?protectConfigurationId->fun()->{configurationSetArn;configurationSetName;protectConfigurationArn;protectConfigurationId}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[("ConfigurationSetArn",(Option.mapx.configurationSetArn~f:String_.to_value));("ConfigurationSetName",(Option.mapx.configurationSetName~f:ConfigurationSetName.to_value));("ProtectConfigurationArn",(Option.mapx.protectConfigurationArn~f:ProtectConfigurationArn.to_value));("ProtectConfigurationId",(Option.mapx.protectConfigurationId~f:ProtectConfigurationId.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letprotectConfigurationId=(Option.map~f:ProtectConfigurationId.of_xml)(Xml.childxml_arg0"ProtectConfigurationId")inletprotectConfigurationArn=(Option.map~f:ProtectConfigurationArn.of_xml)(Xml.childxml_arg0"ProtectConfigurationArn")inletconfigurationSetName=(Option.map~f:ConfigurationSetName.of_xml)(Xml.childxml_arg0"ConfigurationSetName")inletconfigurationSetArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"ConfigurationSetArn")inmake?protectConfigurationId?protectConfigurationArn?configurationSetName?configurationSetArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letprotectConfigurationId=field_mapjson__"ProtectConfigurationId"ProtectConfigurationId.of_jsoninletprotectConfigurationArn=field_mapjson__"ProtectConfigurationArn"ProtectConfigurationArn.of_jsoninletconfigurationSetName=field_mapjson__"ConfigurationSetName"ConfigurationSetName.of_jsoninletconfigurationSetArn=field_mapjson__"ConfigurationSetArn"String_.of_jsoninmake?protectConfigurationId?protectConfigurationArn?configurationSetName?configurationSetArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Associate a protect configuration with a configuration set. This replaces the configuration sets current protect configuration. A configuration set can only be associated with one protect configuration at a time. A protect configuration can be associated with multiple configuration sets."]moduleAssociateProtectConfigurationRequest=structtypenonrect={protectConfigurationId:ProtectConfigurationIdOrArn.t[@ocaml.doc"The unique identifier for the protect configuration."];configurationSetName:ConfigurationSetNameOrArn.t[@ocaml.doc"The name of the ConfigurationSet."]}letcontext_="AssociateProtectConfigurationRequest"letmake~protectConfigurationId=fun~configurationSetName->fun()->{protectConfigurationId;configurationSetName}letto_valuex=structure_to_value[("ProtectConfigurationId",(Some(ProtectConfigurationIdOrArn.to_valuex.protectConfigurationId)));("ConfigurationSetName",(Some(ConfigurationSetNameOrArn.to_valuex.configurationSetName)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letconfigurationSetName=ConfigurationSetNameOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"ConfigurationSetName")inletprotectConfigurationId=ProtectConfigurationIdOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"ProtectConfigurationId")inmake~configurationSetName~protectConfigurationId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letconfigurationSetName=field_map_exnjson__"ConfigurationSetName"ConfigurationSetNameOrArn.of_jsoninletprotectConfigurationId=field_map_exnjson__"ProtectConfigurationId"ProtectConfigurationIdOrArn.of_jsoninmake~configurationSetName~protectConfigurationId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Associate a protect configuration with a configuration set. This replaces the configuration sets current protect configuration. A configuration set can only be associated with one protect configuration at a time. A protect configuration can be associated with multiple configuration sets."]moduleAssociateOriginationIdentityResult=structtypenonrect={poolArn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the pool that is now associated with the origination identity."];poolId:String_.toption[@ocaml.doc"The PoolId of the pool that is now associated with the origination identity."];originationIdentityArn:String_.toption[@ocaml.doc"The PhoneNumberArn or SenderIdArn of the origination identity."];originationIdentity:String_.toption[@ocaml.doc"The PhoneNumberId or SenderId of the origination identity."];isoCountryCode:IsoCountryCode.toption[@ocaml.doc"The two-character code, in ISO 3166-1 alpha-2 format, for the country or region."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?poolArn=fun?poolId->fun?originationIdentityArn->fun?originationIdentity->fun?isoCountryCode->fun()->{poolArn;poolId;originationIdentityArn;originationIdentity;isoCountryCode}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"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)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`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[("PoolArn",(Option.mapx.poolArn~f:String_.to_value));("PoolId",(Option.mapx.poolId~f:String_.to_value));("OriginationIdentityArn",(Option.mapx.originationIdentityArn~f:String_.to_value));("OriginationIdentity",(Option.mapx.originationIdentity~f:String_.to_value));("IsoCountryCode",(Option.mapx.isoCountryCode~f:IsoCountryCode.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letisoCountryCode=(Option.map~f:IsoCountryCode.of_xml)(Xml.childxml_arg0"IsoCountryCode")inletoriginationIdentity=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"OriginationIdentity")inletoriginationIdentityArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"OriginationIdentityArn")inletpoolId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"PoolId")inletpoolArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"PoolArn")inmake?isoCountryCode?originationIdentity?originationIdentityArn?poolId?poolArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letisoCountryCode=field_mapjson__"IsoCountryCode"IsoCountryCode.of_jsoninletoriginationIdentity=field_mapjson__"OriginationIdentity"String_.of_jsoninletoriginationIdentityArn=field_mapjson__"OriginationIdentityArn"String_.of_jsoninletpoolId=field_mapjson__"PoolId"String_.of_jsoninletpoolArn=field_mapjson__"PoolArn"String_.of_jsoninmake?isoCountryCode?originationIdentity?originationIdentityArn?poolId?poolArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Associates the specified origination identity with a pool. If the origination identity is a phone number and is already associated with another pool, an error is returned. A sender ID can be associated with multiple pools. If the origination identity configuration doesn't match the pool's configuration, an error is returned."]moduleAssociateOriginationIdentityRequest=structtypenonrect={poolId:PoolIdOrArn.t[@ocaml.doc"The pool to update with the new Identity. This value can be either the PoolId or PoolArn, and you can find these values using DescribePools. If you are using a shared End User Messaging SMS; resource then you must use the full Amazon Resource Name(ARN)."];originationIdentity:PhoneOrSenderIdOrArn.t[@ocaml.doc"The origination identity to use, such as PhoneNumberId, PhoneNumberArn, SenderId, or SenderIdArn. You can use DescribePhoneNumbers to find the values for PhoneNumberId and PhoneNumberArn, while DescribeSenderIds can be used to get the values for SenderId and SenderIdArn. If you are using a shared End User Messaging SMS resource then you must use the full Amazon Resource Name(ARN)."];isoCountryCode:IsoCountryCode.toption[@ocaml.doc"The new two-character code, in ISO 3166-1 alpha-2 format, for the country or region of the origination identity. This field is optional and is not required for origination identity types that are not country-specific, such as RCS agents."];clientToken:ClientToken.toption[@ocaml.doc"Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don't specify a client token, a randomly generated token is used for the request to ensure idempotency."]}letcontext_="AssociateOriginationIdentityRequest"letmake?isoCountryCode=fun?clientToken->fun~poolId->fun~originationIdentity->fun()->{isoCountryCode;clientToken;poolId;originationIdentity}letto_valuex=structure_to_value[("PoolId",(Some(PoolIdOrArn.to_valuex.poolId)));("OriginationIdentity",(Some(PhoneOrSenderIdOrArn.to_valuex.originationIdentity)));("IsoCountryCode",(Option.mapx.isoCountryCode~f:IsoCountryCode.to_value));("ClientToken",(Option.mapx.clientToken~f:ClientToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"ClientToken")inletisoCountryCode=(Option.map~f:IsoCountryCode.of_xml)(Xml.childxml_arg0"IsoCountryCode")inletoriginationIdentity=PhoneOrSenderIdOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"OriginationIdentity")inletpoolId=PoolIdOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"PoolId")inmake?clientToken?isoCountryCode~originationIdentity~poolId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letclientToken=field_mapjson__"ClientToken"ClientToken.of_jsoninletisoCountryCode=field_mapjson__"IsoCountryCode"IsoCountryCode.of_jsoninletoriginationIdentity=field_map_exnjson__"OriginationIdentity"PhoneOrSenderIdOrArn.of_jsoninletpoolId=field_map_exnjson__"PoolId"PoolIdOrArn.of_jsoninmake?clientToken?isoCountryCode~originationIdentity~poolId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Associates the specified origination identity with a pool. If the origination identity is a phone number and is already associated with another pool, an error is returned. A sender ID can be associated with multiple pools. If the origination identity configuration doesn't match the pool's configuration, an error is returned."]