12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657(* 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.marketplace_agreementletapiVersion="2020-03-01"letendpointPrefix="agreement-marketplace"letserviceFullName="AWS Marketplace Agreement Service"letsignatureVersion="v4"letprotocol="json"letglobalEndpoint=endpointPrefix^".amazonaws.com"letserviceAbbreviation="Agreement Service"lettargetPrefix="AWSMPCommerceService_v20200301"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[]))])moduleBoundedString=structtypenonrect=stringletcontext_="BoundedString"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:4096)>>=(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:"BoundedString"jletto_json=simple_to_jsonto_valueendmoduleZeroValueInteger=structtypenonrect=intletmakei=letopenResultinok_or_failwith(check_int_mini~min:0);iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for ZeroValueInteger"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleRateCardItem=structtypenonrect={dimensionKey:BoundedString.toption[@ocaml.doc"Dimension for which the given entitlement applies. Dimensions represent categories of capacity in a product and are specified when the product is listed in AWS Marketplace."];price:BoundedString.toption[@ocaml.doc"Per unit price for the product dimension that\226\128\153s used for calculating the amount to be charged."]}letmake?dimensionKey=fun?price->fun()->{dimensionKey;price}letto_valuex=structure_to_value[("dimensionKey",(Option.mapx.dimensionKey~f:BoundedString.to_value));("price",(Option.mapx.price~f:BoundedString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letprice=(Option.map~f:BoundedString.of_xml)(Xml.childxml_arg0"price")inletdimensionKey=(Option.map~f:BoundedString.of_xml)(Xml.childxml_arg0"dimensionKey")inmake?price?dimensionKey()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letprice=field_mapjson__"price"BoundedString.of_jsoninletdimensionKey=field_mapjson__"dimensionKey"BoundedString.of_jsoninmake?price?dimensionKey()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Defines the per unit rates for each individual product dimension."]moduleAgreementResourceType=structtypenonrect=stringletcontext_="AgreementResourceType"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:64)>>=(fun()->check_patterni~pattern:"[a-zA-Z]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"AgreementResourceType"jletto_json=simple_to_jsonto_valueendmoduleResourceId=structtypenonrect=stringletcontext_="ResourceId"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:"ResourceId"jletto_json=simple_to_jsonto_valueendmoduleDimension=structtypenonrect={dimensionKey:BoundedString.t[@ocaml.doc"The name of key value of the dimension."];dimensionValue:ZeroValueInteger.t[@ocaml.doc"The number of units of the dimension the acceptor has purchased. For Agreements with ConfigurableUpfrontPricingTerm, the RateCard section will define the prices and dimensions defined by the seller (proposer), whereas the Configuration section will define the actual dimensions, prices, and units the buyer has chosen to accept."]}letcontext_="Dimension"letmake~dimensionKey=fun~dimensionValue->fun()->{dimensionKey;dimensionValue}letto_valuex=structure_to_value[("dimensionKey",(Some(BoundedString.to_valuex.dimensionKey)));("dimensionValue",(Some(ZeroValueInteger.to_valuex.dimensionValue)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdimensionValue=ZeroValueInteger.of_xml(Xml.child_exn~context:context_xml_arg0"dimensionValue")inletdimensionKey=BoundedString.of_xml(Xml.child_exn~context:context_xml_arg0"dimensionKey")inmake~dimensionValue~dimensionKey()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdimensionValue=field_map_exnjson__"dimensionValue"ZeroValueInteger.of_jsoninletdimensionKey=field_map_exnjson__"dimensionKey"BoundedString.of_jsoninmake~dimensionValue~dimensionKey()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Defines the dimensions that the acceptor has purchased from the overall set of dimensions presented in the rate card."]moduleConstraints=structtypenonrect={multipleDimensionSelection:BoundedString.toption[@ocaml.doc"Determines if buyers are allowed to select multiple dimensions in the rate card. The possible values are Allowed and Disallowed. The default value is Allowed."];quantityConfiguration:BoundedString.toption[@ocaml.doc"Determines if acceptors are allowed to configure quantity for each dimension in rate card. The possible values are Allowed and Disallowed. The default value is Allowed."]}letmake?multipleDimensionSelection=fun?quantityConfiguration->fun()->{multipleDimensionSelection;quantityConfiguration}letto_valuex=structure_to_value[("multipleDimensionSelection",(Option.mapx.multipleDimensionSelection~f:BoundedString.to_value));("quantityConfiguration",(Option.mapx.quantityConfiguration~f:BoundedString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letquantityConfiguration=(Option.map~f:BoundedString.of_xml)(Xml.childxml_arg0"quantityConfiguration")inletmultipleDimensionSelection=(Option.map~f:BoundedString.of_xml)(Xml.childxml_arg0"multipleDimensionSelection")inmake?quantityConfiguration?multipleDimensionSelection()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letquantityConfiguration=field_mapjson__"quantityConfiguration"BoundedString.of_jsoninletmultipleDimensionSelection=field_mapjson__"multipleDimensionSelection"BoundedString.of_jsoninmake?quantityConfiguration?multipleDimensionSelection()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Defines limits on how the term can be configured by acceptors."]moduleRateCardList=structtypenonrect=RateCardItem.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:RateCardItem.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:RateCardItem.of_xml)letof_jsonj=list_of_json~kind:"RateCardList"~of_json:RateCardItem.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleSelector=structtypenonrect={type_:BoundedString.toption[@ocaml.doc"Category of selector."];value:BoundedString.toption[@ocaml.doc"Contract duration. This field supports the ISO 8601 format."]}letmake?type_=fun?value->fun()->{type_;value}letto_valuex=structure_to_value[("type",(Option.mapx.type_~f:BoundedString.to_value));("value",(Option.mapx.value~f:BoundedString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvalue=(Option.map~f:BoundedString.of_xml)(Xml.childxml_arg0"value")inlettype_=(Option.map~f:BoundedString.of_xml)(Xml.childxml_arg0"type")inmake?value?type_()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvalue=field_mapjson__"value"BoundedString.of_jsoninlettype_=field_mapjson__"type"BoundedString.of_jsoninmake?value?type_()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Differentiates between the mutually exclusive rate cards in the same pricing term to be selected by the buyer."]modulePositiveIntegerWithDefaultValueOne=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 PositiveIntegerWithDefaultValueOne"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleTimestamp=structtypenonrect=stringletmakei=iletof_stringx=xletto_valuex=`Timestampxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=string_of_xml~kind:"a timestamp"letof_json=timestamp_of_jsonletto_json=simple_to_jsonto_valueendmoduleTaxBreakdownItem=structtypenonrect={amount:BoundedString.toption[@ocaml.doc"The estimated tax amount."];rate:BoundedString.toption[@ocaml.doc"The tax rate, in decimals."];type_:BoundedString.toption[@ocaml.doc"The type of tax (for example, VAT, ST, or GST)."]}letmake?amount=fun?rate->fun?type_->fun()->{amount;rate;type_}letto_valuex=structure_to_value[("amount",(Option.mapx.amount~f:BoundedString.to_value));("rate",(Option.mapx.rate~f:BoundedString.to_value));("type",(Option.mapx.type_~f:BoundedString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettype_=(Option.map~f:BoundedString.of_xml)(Xml.childxml_arg0"type")inletrate=(Option.map~f:BoundedString.of_xml)(Xml.childxml_arg0"rate")inletamount=(Option.map~f:BoundedString.of_xml)(Xml.childxml_arg0"amount")inmake?type_?rate?amount()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettype_=field_mapjson__"type"BoundedString.of_jsoninletrate=field_mapjson__"rate"BoundedString.of_jsoninletamount=field_mapjson__"amount"BoundedString.of_jsoninmake?type_?rate?amount()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Represents a single tax breakdown entry with amount, rate, and type."]moduleResource=structtypenonrect={id:ResourceId.toption[@ocaml.doc"The unique identifier of the resource. We mention the term resource, which is most commonly a product, so a resourceId is also a productId."];type_:AgreementResourceType.toption[@ocaml.doc"Type of the resource, which is the product (for example, SaaSProduct, AmiProduct, ContainerProduct)."]}letmake?id=fun?type_->fun()->{id;type_}letto_valuex=structure_to_value[("id",(Option.mapx.id~f:ResourceId.to_value));("type",(Option.mapx.type_~f:AgreementResourceType.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettype_=(Option.map~f:AgreementResourceType.of_xml)(Xml.childxml_arg0"type")inletid=(Option.map~f:ResourceId.of_xml)(Xml.childxml_arg0"id")inmake?type_?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettype_=field_mapjson__"type"AgreementResourceType.of_jsoninletid=field_mapjson__"id"ResourceId.of_jsoninmake?type_?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The list of resources involved in the agreement."]moduleDimensionList=structtypenonrect=Dimension.tlistletmakei=letopenResultinok_or_failwith(check_list_mini~min:1);iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:Dimension.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:Dimension.of_xml)letof_jsonj=list_of_json~kind:"DimensionList"~of_json:Dimension.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleConfigurableUpfrontRateCardItem=structtypenonrect={selector:Selector.toption[@ocaml.doc"Differentiates between the mutually exclusive rate cards in the same pricing term to be selected by the buyer."];constraints:Constraints.toption[@ocaml.doc"Defines limits on how the term can be configured by acceptors."];rateCard:RateCardList.toption[@ocaml.doc"Defines the per unit rates for product dimensions."]}letmake?selector=fun?constraints->fun?rateCard->fun()->{selector;constraints;rateCard}letto_valuex=structure_to_value[("selector",(Option.mapx.selector~f:Selector.to_value));("constraints",(Option.mapx.constraints~f:Constraints.to_value));("rateCard",(Option.mapx.rateCard~f:RateCardList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letrateCard=(Option.map~f:RateCardList.of_xml)(Xml.childxml_arg0"rateCard")inletconstraints=(Option.map~f:Constraints.of_xml)(Xml.childxml_arg0"constraints")inletselector=(Option.map~f:Selector.of_xml)(Xml.childxml_arg0"selector")inmake?rateCard?constraints?selector()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letrateCard=field_mapjson__"rateCard"RateCardList.of_jsoninletconstraints=field_mapjson__"constraints"Constraints.of_jsoninletselector=field_mapjson__"selector"Selector.of_jsoninmake?rateCard?constraints?selector()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Within the prepaid payment model defined under ConfigurableUpfrontPricingTerm, the RateCardItem defines all the various rate cards (including pricing and dimensions) that have been proposed."]moduleGrantItem=structtypenonrect={dimensionKey:BoundedString.toption[@ocaml.doc"Unique dimension key defined in the product document. Dimensions represent categories of capacity in a product and are specified when the product is listed in AWS Marketplace."];maxQuantity:PositiveIntegerWithDefaultValueOne.toption[@ocaml.doc"Maximum amount of capacity that the buyer can be entitled to the given dimension of the product. If MaxQuantity is not provided, the buyer will be able to use an unlimited amount of the given dimension."]}letmake?dimensionKey=fun?maxQuantity->fun()->{dimensionKey;maxQuantity}letto_valuex=structure_to_value[("dimensionKey",(Option.mapx.dimensionKey~f:BoundedString.to_value));("maxQuantity",(Option.mapx.maxQuantity~f:PositiveIntegerWithDefaultValueOne.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxQuantity=(Option.map~f:PositiveIntegerWithDefaultValueOne.of_xml)(Xml.childxml_arg0"maxQuantity")inletdimensionKey=(Option.map~f:BoundedString.of_xml)(Xml.childxml_arg0"dimensionKey")inmake?maxQuantity?dimensionKey()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxQuantity=field_mapjson__"maxQuantity"PositiveIntegerWithDefaultValueOne.of_jsoninletdimensionKey=field_mapjson__"dimensionKey"BoundedString.of_jsoninmake?maxQuantity?dimensionKey()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Entitlements granted to the acceptor of fixed upfront as part of agreement execution."]moduleDocumentItem=structtypenonrect={type_:BoundedString.toption[@ocaml.doc"Category of the document. Document types include: CustomEula \226\128\147 A custom EULA provided by you as seller. A URL for a EULA stored in an accessible Amazon S3 bucket is required for this document type. CustomDsa \226\128\147 A custom Data Subscription Agreement (DSA) provided by you as seller. A URL for a DSA stored in an accessible Amazon S3 bucket is required for this document type. StandardEula \226\128\147 The Standard Contract for AWS Marketplace (SCMP). For more information about SCMP, see the AWS Marketplace Seller Guide. You don\226\128\153t provide a URL for this type because it\226\128\153s managed by AWS Marketplace. StandardDsa \226\128\147 DSA for AWS Marketplace. For more information about the DSA, see the AWS Data Exchange User Guide. You don\226\128\153t provide a URL for this type because it\226\128\153s managed by AWS Marketplace."];url:BoundedString.toption[@ocaml.doc"A URL to the legal document for buyers to read. Required when Type is CustomEula."];version:BoundedString.toption[@ocaml.doc"Version of standard contracts provided by AWS Marketplace. Required when Type is StandardEula or StandardDsa."]}letmake?type_=fun?url->fun?version->fun()->{type_;url;version}letto_valuex=structure_to_value[("type",(Option.mapx.type_~f:BoundedString.to_value));("url",(Option.mapx.url~f:BoundedString.to_value));("version",(Option.mapx.version~f:BoundedString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letversion=(Option.map~f:BoundedString.of_xml)(Xml.childxml_arg0"version")inleturl=(Option.map~f:BoundedString.of_xml)(Xml.childxml_arg0"url")inlettype_=(Option.map~f:BoundedString.of_xml)(Xml.childxml_arg0"type")inmake?version?url?type_()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letversion=field_mapjson__"version"BoundedString.of_jsoninleturl=field_mapjson__"url"BoundedString.of_jsoninlettype_=field_mapjson__"type"BoundedString.of_jsoninmake?version?url?type_()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Includes the list of references to legal resources proposed by the proposer to the acceptor. Each DocumentItem refers to an individual reference."]moduleScheduleItem=structtypenonrect={chargeDate:Timestamp.toption[@ocaml.doc"The date that the customer would pay the price defined in this payment schedule term. Invoices are generated on the date provided."];chargeAmount:BoundedString.toption[@ocaml.doc"The price that the customer would pay on the scheduled date (chargeDate)."]}letmake?chargeDate=fun?chargeAmount->fun()->{chargeDate;chargeAmount}letto_valuex=structure_to_value[("chargeDate",(Option.mapx.chargeDate~f:Timestamp.to_value));("chargeAmount",(Option.mapx.chargeAmount~f:BoundedString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letchargeAmount=(Option.map~f:BoundedString.of_xml)(Xml.childxml_arg0"chargeAmount")inletchargeDate=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"chargeDate")inmake?chargeAmount?chargeDate()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letchargeAmount=field_mapjson__"chargeAmount"BoundedString.of_jsoninletchargeDate=field_mapjson__"chargeDate"Timestamp.of_jsoninmake?chargeAmount?chargeDate()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"An individual installment of the payment that includes the date and amount of the charge."]moduleBoolean=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_valueendmoduleUsageBasedRateCardItem=structtypenonrect={rateCard:RateCardList.toption[@ocaml.doc"Defines the per unit rates for product dimensions."]}letmake?rateCard=fun()->{rateCard}letto_valuex=structure_to_value[("rateCard",(Option.mapx.rateCard~f:RateCardList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letrateCard=(Option.map~f:RateCardList.of_xml)(Xml.childxml_arg0"rateCard")inmake?rateCard()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letrateCard=field_mapjson__"rateCard"RateCardList.of_jsoninmake?rateCard()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Within the pay-as-you-go model defined under UsageBasedPricingTerm, the UsageBasedRateCardItem defines an individual rate for a product dimension."]moduleISO8601Duration=structtypenonrect=stringletcontext_="ISO8601Duration"letmakei=letopenResultinok_or_failwith(check_patterni~pattern:"([-+]?)P(?:([-+]?[0-9]+)D)?(T(?:([-+]?[0-9]+)H)?(?:([-+]?[0-9]+)M)?(?:([-+]?[0-9]+)(?:[.,]([0-9]{0,9}))?S)?)?");iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ISO8601Duration"jletto_json=simple_to_jsonto_valueendmodulePaymentRequestApprovalStrategy=structtypenonrect=|AUTO_APPROVE_ON_EXPIRATION|WAIT_FOR_APPROVAL|Non_static_idofstringletmakei=iletto_string=function|AUTO_APPROVE_ON_EXPIRATION->"AUTO_APPROVE_ON_EXPIRATION"|WAIT_FOR_APPROVAL->"WAIT_FOR_APPROVAL"|Non_static_ids->sletof_string=function|"AUTO_APPROVE_ON_EXPIRATION"->AUTO_APPROVE_ON_EXPIRATION|"WAIT_FOR_APPROVAL"->WAIT_FOR_APPROVAL|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 PaymentRequestApprovalStrategy"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"PaymentRequestApprovalStrategy"j)letto_json=simple_to_jsonto_valueendmoduleTaxBreakdown=structtypenonrect=TaxBreakdownItem.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:TaxBreakdownItem.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:TaxBreakdownItem.of_xml)letof_jsonj=list_of_json~kind:"TaxBreakdown"~of_json:TaxBreakdownItem.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleAWSAccountId=structtypenonrect=stringletcontext_="AWSAccountId"letmakei=letopenResultinok_or_failwith((check_string_mini~min:12)>>=(fun()->(check_string_maxi~max:12)>>=(fun()->check_patterni~pattern:"[0-9]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"AWSAccountId"jletto_json=simple_to_jsonto_valueendmoduleOfferId=structtypenonrect=stringletcontext_="OfferId"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:64)>>=(fun()->check_patterni~pattern:"\\S{1,64}")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"OfferId"jletto_json=simple_to_jsonto_valueendmoduleOfferSetId=structtypenonrect=stringletcontext_="OfferSetId"letmakei=letopenResultinok_or_failwith(check_patterni~pattern:"\\S{1,50}");iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"OfferSetId"jletto_json=simple_to_jsonto_valueendmoduleResources=structtypenonrect=Resource.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:Resource.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:Resource.of_xml)letof_jsonj=list_of_json~kind:"Resources"~of_json:Resource.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleFilterValue=structtypenonrect=stringletcontext_="FilterValue"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:"FilterValue"jletto_json=simple_to_jsonto_valueendmoduleInvoiceBillingPeriodMonthInteger=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:12)>>=(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 InvoiceBillingPeriodMonthInteger"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleInvoiceBillingPeriodYearInteger=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:2050)>>=(fun()->check_int_mini~min:2023));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 InvoiceBillingPeriodYearInteger"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleCurrencyCode=structtypenonrect=stringletcontext_="CurrencyCode"letmakei=letopenResultinok_or_failwith((check_string_mini~min:3)>>=(fun()->(check_string_maxi~max:3)>>=(fun()->check_patterni~pattern:"[A-Z]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"CurrencyCode"jletto_json=simple_to_jsonto_valueendmoduleTermId=structtypenonrect=stringletcontext_="TermId"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:"TermId"jletto_json=simple_to_jsonto_valueendmoduleUnversionedTermType=structtypenonrect=stringletcontext_="UnversionedTermType"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:4096)>>=(fun()->check_patterni~pattern:"[A-Za-z]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"UnversionedTermType"jletto_json=simple_to_jsonto_valueendmoduleConfigurableUpfrontPricingTermConfiguration=structtypenonrect={selectorValue:BoundedString.t[@ocaml.doc"Defines the length of time for which the particular pricing/dimension is being purchased by the acceptor."];dimensions:DimensionList.t[@ocaml.doc"Defines the dimensions that the acceptor has purchased from the overall set of dimensions presented in the rate card."]}letcontext_="ConfigurableUpfrontPricingTermConfiguration"letmake~selectorValue=fun~dimensions->fun()->{selectorValue;dimensions}letto_valuex=structure_to_value[("selectorValue",(Some(BoundedString.to_valuex.selectorValue)));("dimensions",(Some(DimensionList.to_valuex.dimensions)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdimensions=DimensionList.of_xml(Xml.child_exn~context:context_xml_arg0"dimensions")inletselectorValue=BoundedString.of_xml(Xml.child_exn~context:context_xml_arg0"selectorValue")inmake~dimensions~selectorValue()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdimensions=field_map_exnjson__"dimensions"DimensionList.of_jsoninletselectorValue=field_map_exnjson__"selectorValue"BoundedString.of_jsoninmake~dimensions~selectorValue()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Defines a prepaid payment model that allows buyers to configure the entitlements they want to purchase and the duration."]moduleConfigurableUpfrontRateCardList=structtypenonrect=ConfigurableUpfrontRateCardItem.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ConfigurableUpfrontRateCardItem.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:ConfigurableUpfrontRateCardItem.of_xml)letof_jsonj=list_of_json~kind:"ConfigurableUpfrontRateCardList"~of_json:ConfigurableUpfrontRateCardItem.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleGrantList=structtypenonrect=GrantItem.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:GrantItem.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:GrantItem.of_xml)letof_jsonj=list_of_json~kind:"GrantList"~of_json:GrantItem.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleDocumentList=structtypenonrect=DocumentItem.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:DocumentItem.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:DocumentItem.of_xml)letof_jsonj=list_of_json~kind:"DocumentList"~of_json:DocumentItem.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleScheduleList=structtypenonrect=ScheduleItem.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ScheduleItem.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:ScheduleItem.of_xml)letof_jsonj=list_of_json~kind:"ScheduleList"~of_json:ScheduleItem.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleRenewalTermConfiguration=structtypenonrect={enableAutoRenew:Boolean.t[@ocaml.doc"Defines whether the acceptor has chosen to auto-renew the agreement at the end of its lifecycle. Can be set to True or False."]}letcontext_="RenewalTermConfiguration"letmake~enableAutoRenew=fun()->{enableAutoRenew}letto_valuex=structure_to_value[("enableAutoRenew",(Some(Boolean.to_valuex.enableAutoRenew)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letenableAutoRenew=Boolean.of_xml(Xml.child_exn~context:context_xml_arg0"enableAutoRenew")inmake~enableAutoRenew()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letenableAutoRenew=field_map_exnjson__"enableAutoRenew"Boolean.of_jsoninmake~enableAutoRenew()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Additional parameters specified by the acceptor while accepting the term."]moduleUsageBasedRateCardList=structtypenonrect=UsageBasedRateCardItem.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:UsageBasedRateCardItem.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:UsageBasedRateCardItem.of_xml)letof_jsonj=list_of_json~kind:"UsageBasedRateCardList"~of_json:UsageBasedRateCardItem.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleVariablePaymentTermConfiguration=structtypenonrect={paymentRequestApprovalStrategy:PaymentRequestApprovalStrategy.t[@ocaml.doc"Defines the strategy for approving payment requests. Values include AUTO_APPROVE_ON_EXPIRATION and WAIT_FOR_APPROVAL"];expirationDuration:ISO8601Duration.toption[@ocaml.doc"Defines the duration after which a payment request is automatically approved if no further action is taken. This only applies when the payment request approval strategy is set to AUTO_APPROVE_ON_EXPIRATION. The duration is represented in the ISO_8601 format (e.g., P10D for 10 days)."]}letcontext_="VariablePaymentTermConfiguration"letmake?expirationDuration=fun~paymentRequestApprovalStrategy->fun()->{expirationDuration;paymentRequestApprovalStrategy}letto_valuex=structure_to_value[("paymentRequestApprovalStrategy",(Some(PaymentRequestApprovalStrategy.to_valuex.paymentRequestApprovalStrategy)));("expirationDuration",(Option.mapx.expirationDuration~f:ISO8601Duration.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letexpirationDuration=(Option.map~f:ISO8601Duration.of_xml)(Xml.childxml_arg0"expirationDuration")inletpaymentRequestApprovalStrategy=PaymentRequestApprovalStrategy.of_xml(Xml.child_exn~context:context_xml_arg0"paymentRequestApprovalStrategy")inmake?expirationDuration~paymentRequestApprovalStrategy()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letexpirationDuration=field_mapjson__"expirationDuration"ISO8601Duration.of_jsoninletpaymentRequestApprovalStrategy=field_map_exnjson__"paymentRequestApprovalStrategy"PaymentRequestApprovalStrategy.of_jsoninmake?expirationDuration~paymentRequestApprovalStrategy()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Additional parameters specified by the acceptor while accepting the variable payment term."]moduleEstimatedTaxes=structtypenonrect={breakdown:TaxBreakdown.toption[@ocaml.doc"A list of tax breakdown information."];totalAmount:BoundedString.toption[@ocaml.doc"The total amount of tax aggregated from the tax breakdown."]}letmake?breakdown=fun?totalAmount->fun()->{breakdown;totalAmount}letto_valuex=structure_to_value[("breakdown",(Option.mapx.breakdown~f:TaxBreakdown.to_value));("totalAmount",(Option.mapx.totalAmount~f:BoundedString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettotalAmount=(Option.map~f:BoundedString.of_xml)(Xml.childxml_arg0"totalAmount")inletbreakdown=(Option.map~f:TaxBreakdown.of_xml)(Xml.childxml_arg0"breakdown")inmake?totalAmount?breakdown()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettotalAmount=field_mapjson__"totalAmount"BoundedString.of_jsoninletbreakdown=field_mapjson__"breakdown"TaxBreakdown.of_jsoninmake?totalAmount?breakdown()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Provides an aggregated view of estimated tax information."]moduleTiming=structtypenonrect=|ON_ACCEPTANCE|SCHEDULED|BILLING_PERIOD|Non_static_idofstringletmakei=iletto_string=function|ON_ACCEPTANCE->"ON_ACCEPTANCE"|SCHEDULED->"SCHEDULED"|BILLING_PERIOD->"BILLING_PERIOD"|Non_static_ids->sletof_string=function|"ON_ACCEPTANCE"->ON_ACCEPTANCE|"SCHEDULED"->SCHEDULED|"BILLING_PERIOD"->BILLING_PERIOD|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 Timing"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"Timing"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_valueendmoduleValidationExceptionField=structtypenonrect={name:BoundedString.toption[@ocaml.doc"The name of the field associated with the error."];message:BoundedString.toption[@ocaml.doc"See applicable actions."]}letmake?name=fun?message->fun()->{name;message}letto_valuex=structure_to_value[("name",(Option.mapx.name~f:BoundedString.to_value));("message",(Option.mapx.message~f:BoundedString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:BoundedString.of_xml)(Xml.childxml_arg0"message")inletname=(Option.map~f:BoundedString.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"BoundedString.of_jsoninletname=field_mapjson__"name"BoundedString.of_jsoninmake?message?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The input fails to satisfy the constraints specified by the service."]moduleChargeRevision=structtypenonrect=Int64.tletmakei=letopenResultinok_or_failwith(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_valueendmodulePurchaseOrderReference=structtypenonrect=stringletcontext_="PurchaseOrderReference"letmakei=letopenResultinok_or_failwith(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:"PurchaseOrderReference"jletto_json=simple_to_jsonto_valueendmoduleAcceptor=structtypenonrect={accountId:AWSAccountId.toption[@ocaml.doc"The AWS account ID of the acceptor."]}letmake?accountId=fun()->{accountId}letto_valuex=structure_to_value[("accountId",(Option.mapx.accountId~f:AWSAccountId.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letaccountId=(Option.map~f:AWSAccountId.of_xml)(Xml.childxml_arg0"accountId")inmake?accountId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letaccountId=field_mapjson__"accountId"AWSAccountId.of_jsoninmake?accountId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The details of the party accepting the agreement terms. This is commonly the buyer for PurchaseAgreement."]moduleAgreementStatus=structtypenonrect=|ACTIVE|ARCHIVED|CANCELLED|EXPIRED|RENEWED|REPLACED|ROLLED_BACK|SUPERSEDED|TERMINATED|Non_static_idofstringletmakei=iletto_string=function|ACTIVE->"ACTIVE"|ARCHIVED->"ARCHIVED"|CANCELLED->"CANCELLED"|EXPIRED->"EXPIRED"|RENEWED->"RENEWED"|REPLACED->"REPLACED"|ROLLED_BACK->"ROLLED_BACK"|SUPERSEDED->"SUPERSEDED"|TERMINATED->"TERMINATED"|Non_static_ids->sletof_string=function|"ACTIVE"->ACTIVE|"ARCHIVED"->ARCHIVED|"CANCELLED"->CANCELLED|"EXPIRED"->EXPIRED|"RENEWED"->RENEWED|"REPLACED"->REPLACED|"ROLLED_BACK"->ROLLED_BACK|"SUPERSEDED"->SUPERSEDED|"TERMINATED"->TERMINATED|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 AgreementStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"AgreementStatus"j)letto_json=simple_to_jsonto_valueendmoduleAgreementType=structtypenonrect=stringletcontext_="AgreementType"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:64)>>=(fun()->check_patterni~pattern:"[A-Za-z]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"AgreementType"jletto_json=simple_to_jsonto_valueendmoduleProposalSummary=structtypenonrect={resources:Resources.toption[@ocaml.doc"The list of resources involved in the agreement."];offerId:OfferId.toption[@ocaml.doc"The unique identifier of the offer in AWS Marketplace."];offerSetId:OfferSetId.toption[@ocaml.doc"A unique identifier for the offer set containing this offer. All agreements created from offers in this set include this identifier as context."]}letmake?resources=fun?offerId->fun?offerSetId->fun()->{resources;offerId;offerSetId}letto_valuex=structure_to_value[("resources",(Option.mapx.resources~f:Resources.to_value));("offerId",(Option.mapx.offerId~f:OfferId.to_value));("offerSetId",(Option.mapx.offerSetId~f:OfferSetId.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letofferSetId=(Option.map~f:OfferSetId.of_xml)(Xml.childxml_arg0"offerSetId")inletofferId=(Option.map~f:OfferId.of_xml)(Xml.childxml_arg0"offerId")inletresources=(Option.map~f:Resources.of_xml)(Xml.childxml_arg0"resources")inmake?offerSetId?offerId?resources()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letofferSetId=field_mapjson__"offerSetId"OfferSetId.of_jsoninletofferId=field_mapjson__"offerId"OfferId.of_jsoninletresources=field_mapjson__"resources"Resources.of_jsoninmake?offerSetId?offerId?resources()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A summary of the proposal received from the proposer."]moduleProposer=structtypenonrect={accountId:AWSAccountId.toption[@ocaml.doc"The AWS account ID of the proposer."]}letmake?accountId=fun()->{accountId}letto_valuex=structure_to_value[("accountId",(Option.mapx.accountId~f:AWSAccountId.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letaccountId=(Option.map~f:AWSAccountId.of_xml)(Xml.childxml_arg0"accountId")inmake?accountId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letaccountId=field_mapjson__"accountId"AWSAccountId.of_jsoninmake?accountId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Details of the party proposing the agreement terms,. This is commonly the seller for PurchaseAgreement."]moduleFilterName=structtypenonrect=stringletcontext_="FilterName"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:32)>>=(fun()->check_patterni~pattern:"[A-Za-z_]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"FilterName"jletto_json=simple_to_jsonto_valueendmoduleFilterValueList=structtypenonrect=FilterValue.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: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_valuevendmoduleAgreementId=structtypenonrect=stringletcontext_="AgreementId"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:"AgreementId"jletto_json=simple_to_jsonto_valueendmoduleBillingAdjustmentRequestId=structtypenonrect=stringletcontext_="BillingAdjustmentRequestId"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:64)>>=(fun()->check_patterni~pattern:"ba-[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:"BillingAdjustmentRequestId"jletto_json=simple_to_jsonto_valueendmoduleBillingAdjustmentStatus=structtypenonrect=|PENDING|VALIDATION_FAILED|COMPLETED|Non_static_idofstringletmakei=iletto_string=function|PENDING->"PENDING"|VALIDATION_FAILED->"VALIDATION_FAILED"|COMPLETED->"COMPLETED"|Non_static_ids->sletof_string=function|"PENDING"->PENDING|"VALIDATION_FAILED"->VALIDATION_FAILED|"COMPLETED"->COMPLETED|x->Non_static_idxletto_valuex=`Enum(to_stringx)letto_queryv=to_queryto_valuevletto_headerx=to_stringxletof_xmlxml_arg0=of_string(string_of_xml~kind:"enumeration BillingAdjustmentStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"BillingAdjustmentStatus"j)letto_json=simple_to_jsonto_valueendmoduleCatalog=structtypenonrect=stringletcontext_="Catalog"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:"Catalog"jletto_json=simple_to_jsonto_valueendmoduleInvoiceId=structtypenonrect=stringletcontext_="InvoiceId"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:255)>>=(fun()->check_string_mini~min:1));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"InvoiceId"jletto_json=simple_to_jsonto_valueendmodulePositiveAmountUpto8Decimals=structtypenonrect=stringletcontext_="PositiveAmountUpto8Decimals"letmakei=letopenResultinok_or_failwith(check_patterni~pattern:"[0-9]*(\\.[0-9]{0,8})?");iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"PositiveAmountUpto8Decimals"jletto_json=simple_to_jsonto_valueendmoduleChargeId=structtypenonrect=stringletcontext_="ChargeId"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:64)>>=(fun()->check_patterni~pattern:"ch-[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:"ChargeId"jletto_json=simple_to_jsonto_valueendmodulePaymentRequestId=structtypenonrect=stringletcontext_="PaymentRequestId"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:64)>>=(fun()->check_patterni~pattern:"pr-[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:"PaymentRequestId"jletto_json=simple_to_jsonto_valueendmodulePaymentRequestName=structtypenonrect=stringletcontext_="PaymentRequestName"letmakei=letopenResultinok_or_failwith((check_string_mini~min:5)>>=(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:"PaymentRequestName"jletto_json=simple_to_jsonto_valueendmodulePaymentRequestStatus=structtypenonrect=|VALIDATING|VALIDATION_FAILED|PENDING_APPROVAL|APPROVED|REJECTED|CANCELLED|Non_static_idofstringletmakei=iletto_string=function|VALIDATING->"VALIDATING"|VALIDATION_FAILED->"VALIDATION_FAILED"|PENDING_APPROVAL->"PENDING_APPROVAL"|APPROVED->"APPROVED"|REJECTED->"REJECTED"|CANCELLED->"CANCELLED"|Non_static_ids->sletof_string=function|"VALIDATING"->VALIDATING|"VALIDATION_FAILED"->VALIDATION_FAILED|"PENDING_APPROVAL"->PENDING_APPROVAL|"APPROVED"->APPROVED|"REJECTED"->REJECTED|"CANCELLED"->CANCELLED|x->Non_static_idxletto_valuex=`Enum(to_stringx)letto_queryv=to_queryto_valuevletto_headerx=to_stringxletof_xmlxml_arg0=of_string(string_of_xml~kind:"enumeration PaymentRequestStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"PaymentRequestStatus"j)letto_json=simple_to_jsonto_valueendmoduleInvoiceBillingPeriod=structtypenonrect={month:InvoiceBillingPeriodMonthInteger.t[@ocaml.doc"The billing period month. Valid range: 1-12."];year:InvoiceBillingPeriodYearInteger.t[@ocaml.doc"The billing period year."]}letcontext_="InvoiceBillingPeriod"letmake~month=fun~year->fun()->{month;year}letto_valuex=structure_to_value[("month",(Some(InvoiceBillingPeriodMonthInteger.to_valuex.month)));("year",(Some(InvoiceBillingPeriodYearInteger.to_valuex.year)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letyear=InvoiceBillingPeriodYearInteger.of_xml(Xml.child_exn~context:context_xml_arg0"year")inletmonth=InvoiceBillingPeriodMonthInteger.of_xml(Xml.child_exn~context:context_xml_arg0"month")inmake~year~month()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letyear=field_map_exnjson__"year"InvoiceBillingPeriodYearInteger.of_jsoninletmonth=field_map_exnjson__"month"InvoiceBillingPeriodMonthInteger.of_jsoninmake~year~month()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The billing period for an invoice, specified by month and year."]moduleInvoiceType=structtypenonrect=|INVOICE|CREDIT_MEMO|Non_static_idofstringletmakei=iletto_string=function|INVOICE->"INVOICE"|CREDIT_MEMO->"CREDIT_MEMO"|Non_static_ids->sletof_string=function|"INVOICE"->INVOICE|"CREDIT_MEMO"->CREDIT_MEMO|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 InvoiceType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"InvoiceType"j)letto_json=simple_to_jsonto_valueendmoduleInvoicingEntity=structtypenonrect={legalName:BoundedString.toption[@ocaml.doc"Legal name of the entity issuing the invoice."];branchName:BoundedString.toption[@ocaml.doc"The branch where the issuing entity is operating from."]}letmake?legalName=fun?branchName->fun()->{legalName;branchName}letto_valuex=structure_to_value[("legalName",(Option.mapx.legalName~f:BoundedString.to_value));("branchName",(Option.mapx.branchName~f:BoundedString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letbranchName=(Option.map~f:BoundedString.of_xml)(Xml.childxml_arg0"branchName")inletlegalName=(Option.map~f:BoundedString.of_xml)(Xml.childxml_arg0"legalName")inmake?branchName?legalName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letbranchName=field_mapjson__"branchName"BoundedString.of_jsoninletlegalName=field_mapjson__"legalName"BoundedString.of_jsoninmake?branchName?legalName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The entity responsible for issuing the invoice."]modulePricingCurrencyAmount=structtypenonrect={amount:BoundedString.toption[@ocaml.doc"The monetary amount before tax."];maxAdjustmentAmount:BoundedString.toption[@ocaml.doc"The maximum refundable amount as a string representation of a decimal number."];currencyCode:CurrencyCode.toption[@ocaml.doc"The 3-letter ISO 4217 currency code (e.g., USD, EUR, JPY)."]}letmake?amount=fun?maxAdjustmentAmount->fun?currencyCode->fun()->{amount;maxAdjustmentAmount;currencyCode}letto_valuex=structure_to_value[("amount",(Option.mapx.amount~f:BoundedString.to_value));("maxAdjustmentAmount",(Option.mapx.maxAdjustmentAmount~f:BoundedString.to_value));("currencyCode",(Option.mapx.currencyCode~f:CurrencyCode.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcurrencyCode=(Option.map~f:CurrencyCode.of_xml)(Xml.childxml_arg0"currencyCode")inletmaxAdjustmentAmount=(Option.map~f:BoundedString.of_xml)(Xml.childxml_arg0"maxAdjustmentAmount")inletamount=(Option.map~f:BoundedString.of_xml)(Xml.childxml_arg0"amount")inmake?currencyCode?maxAdjustmentAmount?amount()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcurrencyCode=field_mapjson__"currencyCode"CurrencyCode.of_jsoninletmaxAdjustmentAmount=field_mapjson__"maxAdjustmentAmount"BoundedString.of_jsoninletamount=field_mapjson__"amount"BoundedString.of_jsoninmake?currencyCode?maxAdjustmentAmount?amount()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Monetary amounts associated with an invoice line item group."]moduleAgreementCancellationRequestId=structtypenonrect=stringletcontext_="AgreementCancellationRequestId"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:64)>>=(fun()->check_patterni~pattern:"acr-[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:"AgreementCancellationRequestId"jletto_json=simple_to_jsonto_valueendmoduleAgreementCancellationRequestReasonCode=structtypenonrect=|INCORRECT_TERMS_ACCEPTED|REPLACING_AGREEMENT|TEST_AGREEMENT|ALTERNATIVE_PROCUREMENT_CHANNEL|PRODUCT_DISCONTINUED|UNINTENDED_RENEWAL|BUYER_DISSATISFACTION|OTHER|Non_static_idofstringletmakei=iletto_string=function|INCORRECT_TERMS_ACCEPTED->"INCORRECT_TERMS_ACCEPTED"|REPLACING_AGREEMENT->"REPLACING_AGREEMENT"|TEST_AGREEMENT->"TEST_AGREEMENT"|ALTERNATIVE_PROCUREMENT_CHANNEL->"ALTERNATIVE_PROCUREMENT_CHANNEL"|PRODUCT_DISCONTINUED->"PRODUCT_DISCONTINUED"|UNINTENDED_RENEWAL->"UNINTENDED_RENEWAL"|BUYER_DISSATISFACTION->"BUYER_DISSATISFACTION"|OTHER->"OTHER"|Non_static_ids->sletof_string=function|"INCORRECT_TERMS_ACCEPTED"->INCORRECT_TERMS_ACCEPTED|"REPLACING_AGREEMENT"->REPLACING_AGREEMENT|"TEST_AGREEMENT"->TEST_AGREEMENT|"ALTERNATIVE_PROCUREMENT_CHANNEL"->ALTERNATIVE_PROCUREMENT_CHANNEL|"PRODUCT_DISCONTINUED"->PRODUCT_DISCONTINUED|"UNINTENDED_RENEWAL"->UNINTENDED_RENEWAL|"BUYER_DISSATISFACTION"->BUYER_DISSATISFACTION|"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 AgreementCancellationRequestReasonCode"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"AgreementCancellationRequestReasonCode"j)letto_json=simple_to_jsonto_valueendmoduleAgreementCancellationRequestStatus=structtypenonrect=|PENDING_APPROVAL|APPROVED|REJECTED|CANCELLED|VALIDATION_FAILED|Non_static_idofstringletmakei=iletto_string=function|PENDING_APPROVAL->"PENDING_APPROVAL"|APPROVED->"APPROVED"|REJECTED->"REJECTED"|CANCELLED->"CANCELLED"|VALIDATION_FAILED->"VALIDATION_FAILED"|Non_static_ids->sletof_string=function|"PENDING_APPROVAL"->PENDING_APPROVAL|"APPROVED"->APPROVED|"REJECTED"->REJECTED|"CANCELLED"->CANCELLED|"VALIDATION_FAILED"->VALIDATION_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 AgreementCancellationRequestStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"AgreementCancellationRequestStatus"j)letto_json=simple_to_jsonto_valueendmoduleByolPricingTerm=structtypenonrect={type_:UnversionedTermType.toption[@ocaml.doc"Type of the term being updated."];id:TermId.toption[@ocaml.doc"The unique identifier for the term."]}letmake?type_=fun?id->fun()->{type_;id}letto_valuex=structure_to_value[("type",(Option.mapx.type_~f:UnversionedTermType.to_value));("id",(Option.mapx.id~f:TermId.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letid=(Option.map~f:TermId.of_xml)(Xml.childxml_arg0"id")inlettype_=(Option.map~f:UnversionedTermType.of_xml)(Xml.childxml_arg0"type")inmake?id?type_()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letid=field_mapjson__"id"TermId.of_jsoninlettype_=field_mapjson__"type"UnversionedTermType.of_jsoninmake?id?type_()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Enables you and your customers to move your existing agreements to AWS Marketplace. The customer won't be charged for product usage in AWS Marketplace because they already paid for the product outside of AWS Marketplace."]moduleConfigurableUpfrontPricingTerm=structtypenonrect={type_:UnversionedTermType.toption[@ocaml.doc"Category of selector."];id:TermId.toption[@ocaml.doc"The unique identifier of the term."];currencyCode:CurrencyCode.toption[@ocaml.doc"Defines the currency for the prices mentioned in the term."];rateCards:ConfigurableUpfrontRateCardList.toption[@ocaml.doc"A rate card defines the per unit rates for product dimensions."];configuration:ConfigurableUpfrontPricingTermConfiguration.toption[@ocaml.doc"Additional parameters specified by the acceptor while accepting the term."]}letmake?type_=fun?id->fun?currencyCode->fun?rateCards->fun?configuration->fun()->{type_;id;currencyCode;rateCards;configuration}letto_valuex=structure_to_value[("type",(Option.mapx.type_~f:UnversionedTermType.to_value));("id",(Option.mapx.id~f:TermId.to_value));("currencyCode",(Option.mapx.currencyCode~f:CurrencyCode.to_value));("rateCards",(Option.mapx.rateCards~f:ConfigurableUpfrontRateCardList.to_value));("configuration",(Option.mapx.configuration~f:ConfigurableUpfrontPricingTermConfiguration.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letconfiguration=(Option.map~f:ConfigurableUpfrontPricingTermConfiguration.of_xml)(Xml.childxml_arg0"configuration")inletrateCards=(Option.map~f:ConfigurableUpfrontRateCardList.of_xml)(Xml.childxml_arg0"rateCards")inletcurrencyCode=(Option.map~f:CurrencyCode.of_xml)(Xml.childxml_arg0"currencyCode")inletid=(Option.map~f:TermId.of_xml)(Xml.childxml_arg0"id")inlettype_=(Option.map~f:UnversionedTermType.of_xml)(Xml.childxml_arg0"type")inmake?configuration?rateCards?currencyCode?id?type_()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letconfiguration=field_mapjson__"configuration"ConfigurableUpfrontPricingTermConfiguration.of_jsoninletrateCards=field_mapjson__"rateCards"ConfigurableUpfrontRateCardList.of_jsoninletcurrencyCode=field_mapjson__"currencyCode"CurrencyCode.of_jsoninletid=field_mapjson__"id"TermId.of_jsoninlettype_=field_mapjson__"type"UnversionedTermType.of_jsoninmake?configuration?rateCards?currencyCode?id?type_()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Defines a prepaid payment model that allows buyers to configure the entitlements they want to purchase and the duration."]moduleFixedUpfrontPricingTerm=structtypenonrect={type_:UnversionedTermType.toption[@ocaml.doc"Category of the term being updated."];id:TermId.toption[@ocaml.doc"The unique identifier for the term."];currencyCode:CurrencyCode.toption[@ocaml.doc"Defines the currency for the prices mentioned in this term."];duration:BoundedString.toption[@ocaml.doc"Contract duration for the terms."];price:BoundedString.toption[@ocaml.doc"Fixed amount to be charged to the customer when this term is accepted."];grants:GrantList.toption[@ocaml.doc"Entitlements granted to the acceptor of fixed upfront as part of agreement execution."]}letmake?type_=fun?id->fun?currencyCode->fun?duration->fun?price->fun?grants->fun()->{type_;id;currencyCode;duration;price;grants}letto_valuex=structure_to_value[("type",(Option.mapx.type_~f:UnversionedTermType.to_value));("id",(Option.mapx.id~f:TermId.to_value));("currencyCode",(Option.mapx.currencyCode~f:CurrencyCode.to_value));("duration",(Option.mapx.duration~f:BoundedString.to_value));("price",(Option.mapx.price~f:BoundedString.to_value));("grants",(Option.mapx.grants~f:GrantList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letgrants=(Option.map~f:GrantList.of_xml)(Xml.childxml_arg0"grants")inletprice=(Option.map~f:BoundedString.of_xml)(Xml.childxml_arg0"price")inletduration=(Option.map~f:BoundedString.of_xml)(Xml.childxml_arg0"duration")inletcurrencyCode=(Option.map~f:CurrencyCode.of_xml)(Xml.childxml_arg0"currencyCode")inletid=(Option.map~f:TermId.of_xml)(Xml.childxml_arg0"id")inlettype_=(Option.map~f:UnversionedTermType.of_xml)(Xml.childxml_arg0"type")inmake?grants?price?duration?currencyCode?id?type_()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letgrants=field_mapjson__"grants"GrantList.of_jsoninletprice=field_mapjson__"price"BoundedString.of_jsoninletduration=field_mapjson__"duration"BoundedString.of_jsoninletcurrencyCode=field_mapjson__"currencyCode"CurrencyCode.of_jsoninletid=field_mapjson__"id"TermId.of_jsoninlettype_=field_mapjson__"type"UnversionedTermType.of_jsoninmake?grants?price?duration?currencyCode?id?type_()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Defines a prepaid pricing model where the customers are charged a fixed upfront amount."]moduleFreeTrialPricingTerm=structtypenonrect={type_:UnversionedTermType.toption[@ocaml.doc"Category of the term."];id:TermId.toption[@ocaml.doc"The unique identifier for the terms."];duration:BoundedString.toption[@ocaml.doc"Duration of the free trial period (5\226\128\14731 days)."];grants:GrantList.toption[@ocaml.doc"Entitlements granted to the acceptor of a free trial as part of an agreement execution."]}letmake?type_=fun?id->fun?duration->fun?grants->fun()->{type_;id;duration;grants}letto_valuex=structure_to_value[("type",(Option.mapx.type_~f:UnversionedTermType.to_value));("id",(Option.mapx.id~f:TermId.to_value));("duration",(Option.mapx.duration~f:BoundedString.to_value));("grants",(Option.mapx.grants~f:GrantList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letgrants=(Option.map~f:GrantList.of_xml)(Xml.childxml_arg0"grants")inletduration=(Option.map~f:BoundedString.of_xml)(Xml.childxml_arg0"duration")inletid=(Option.map~f:TermId.of_xml)(Xml.childxml_arg0"id")inlettype_=(Option.map~f:UnversionedTermType.of_xml)(Xml.childxml_arg0"type")inmake?grants?duration?id?type_()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letgrants=field_mapjson__"grants"GrantList.of_jsoninletduration=field_mapjson__"duration"BoundedString.of_jsoninletid=field_mapjson__"id"TermId.of_jsoninlettype_=field_mapjson__"type"UnversionedTermType.of_jsoninmake?grants?duration?id?type_()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Defines a short-term free pricing model where the buyers aren\226\128\153t charged anything within a specified limit."]moduleLegalTerm=structtypenonrect={type_:UnversionedTermType.toption[@ocaml.doc"Category of the term being updated."];id:TermId.toption[@ocaml.doc"The unique identifer for the term."];documents:DocumentList.toption[@ocaml.doc"List of references to legal resources proposed to the buyers. An example is the EULA."]}letmake?type_=fun?id->fun?documents->fun()->{type_;id;documents}letto_valuex=structure_to_value[("type",(Option.mapx.type_~f:UnversionedTermType.to_value));("id",(Option.mapx.id~f:TermId.to_value));("documents",(Option.mapx.documents~f:DocumentList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdocuments=(Option.map~f:DocumentList.of_xml)(Xml.childxml_arg0"documents")inletid=(Option.map~f:TermId.of_xml)(Xml.childxml_arg0"id")inlettype_=(Option.map~f:UnversionedTermType.of_xml)(Xml.childxml_arg0"type")inmake?documents?id?type_()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdocuments=field_mapjson__"documents"DocumentList.of_jsoninletid=field_mapjson__"id"TermId.of_jsoninlettype_=field_mapjson__"type"UnversionedTermType.of_jsoninmake?documents?id?type_()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Defines the list of text agreements proposed to the acceptors. An example is the end user license agreement (EULA)."]modulePaymentScheduleTerm=structtypenonrect={type_:UnversionedTermType.toption[@ocaml.doc"Type of the term."];id:TermId.toption[@ocaml.doc"The unique identifier for the term."];currencyCode:CurrencyCode.toption[@ocaml.doc"Defines the currency for the prices mentioned in the term."];schedule:ScheduleList.toption[@ocaml.doc"List of the payment schedule where each element defines one installment of payment. It contains the information necessary for calculating the price."]}letmake?type_=fun?id->fun?currencyCode->fun?schedule->fun()->{type_;id;currencyCode;schedule}letto_valuex=structure_to_value[("type",(Option.mapx.type_~f:UnversionedTermType.to_value));("id",(Option.mapx.id~f:TermId.to_value));("currencyCode",(Option.mapx.currencyCode~f:CurrencyCode.to_value));("schedule",(Option.mapx.schedule~f:ScheduleList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letschedule=(Option.map~f:ScheduleList.of_xml)(Xml.childxml_arg0"schedule")inletcurrencyCode=(Option.map~f:CurrencyCode.of_xml)(Xml.childxml_arg0"currencyCode")inletid=(Option.map~f:TermId.of_xml)(Xml.childxml_arg0"id")inlettype_=(Option.map~f:UnversionedTermType.of_xml)(Xml.childxml_arg0"type")inmake?schedule?currencyCode?id?type_()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letschedule=field_mapjson__"schedule"ScheduleList.of_jsoninletcurrencyCode=field_mapjson__"currencyCode"CurrencyCode.of_jsoninletid=field_mapjson__"id"TermId.of_jsoninlettype_=field_mapjson__"type"UnversionedTermType.of_jsoninmake?schedule?currencyCode?id?type_()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Defines an installment-based pricing model where customers are charged a fixed price on different dates during the agreement validity period. This is used most commonly for flexible payment schedule pricing."]moduleRecurringPaymentTerm=structtypenonrect={type_:UnversionedTermType.toption[@ocaml.doc"Type of the term being updated."];id:TermId.toption[@ocaml.doc"The unique identifier for the term."];currencyCode:CurrencyCode.toption[@ocaml.doc"Defines the currency for the prices mentioned in this term."];billingPeriod:BoundedString.toption[@ocaml.doc"Defines the recurrence at which buyers are charged."];price:BoundedString.toption[@ocaml.doc"Amount charged to the buyer every billing period."]}letmake?type_=fun?id->fun?currencyCode->fun?billingPeriod->fun?price->fun()->{type_;id;currencyCode;billingPeriod;price}letto_valuex=structure_to_value[("type",(Option.mapx.type_~f:UnversionedTermType.to_value));("id",(Option.mapx.id~f:TermId.to_value));("currencyCode",(Option.mapx.currencyCode~f:CurrencyCode.to_value));("billingPeriod",(Option.mapx.billingPeriod~f:BoundedString.to_value));("price",(Option.mapx.price~f:BoundedString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letprice=(Option.map~f:BoundedString.of_xml)(Xml.childxml_arg0"price")inletbillingPeriod=(Option.map~f:BoundedString.of_xml)(Xml.childxml_arg0"billingPeriod")inletcurrencyCode=(Option.map~f:CurrencyCode.of_xml)(Xml.childxml_arg0"currencyCode")inletid=(Option.map~f:TermId.of_xml)(Xml.childxml_arg0"id")inlettype_=(Option.map~f:UnversionedTermType.of_xml)(Xml.childxml_arg0"type")inmake?price?billingPeriod?currencyCode?id?type_()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letprice=field_mapjson__"price"BoundedString.of_jsoninletbillingPeriod=field_mapjson__"billingPeriod"BoundedString.of_jsoninletcurrencyCode=field_mapjson__"currencyCode"CurrencyCode.of_jsoninletid=field_mapjson__"id"TermId.of_jsoninlettype_=field_mapjson__"type"UnversionedTermType.of_jsoninmake?price?billingPeriod?currencyCode?id?type_()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Defines a pricing model where customers are charged a fixed recurring price at the end of each billing period."]moduleRenewalTerm=structtypenonrect={type_:UnversionedTermType.toption[@ocaml.doc"Category of the term being updated."];id:TermId.toption[@ocaml.doc"The unique identifier for the term."];configuration:RenewalTermConfiguration.toption[@ocaml.doc"Additional parameters specified by the acceptor while accepting the term."]}letmake?type_=fun?id->fun?configuration->fun()->{type_;id;configuration}letto_valuex=structure_to_value[("type",(Option.mapx.type_~f:UnversionedTermType.to_value));("id",(Option.mapx.id~f:TermId.to_value));("configuration",(Option.mapx.configuration~f:RenewalTermConfiguration.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letconfiguration=(Option.map~f:RenewalTermConfiguration.of_xml)(Xml.childxml_arg0"configuration")inletid=(Option.map~f:TermId.of_xml)(Xml.childxml_arg0"id")inlettype_=(Option.map~f:UnversionedTermType.of_xml)(Xml.childxml_arg0"type")inmake?configuration?id?type_()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letconfiguration=field_mapjson__"configuration"RenewalTermConfiguration.of_jsoninletid=field_mapjson__"id"TermId.of_jsoninlettype_=field_mapjson__"type"UnversionedTermType.of_jsoninmake?configuration?id?type_()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Defines that on graceful expiration of the agreement (when the agreement ends on its pre-defined end date), a new agreement will be created using the accepted terms on the existing agreement. In other words, the agreement will be renewed. The presence of RenewalTerm in the offer document means that auto-renewal is allowed. Buyers will have the option to accept or decline auto-renewal at the offer acceptance/agreement creation. Buyers can also change this flag from True to False or False to True at anytime during the agreement's lifecycle."]moduleSupportTerm=structtypenonrect={type_:UnversionedTermType.toption[@ocaml.doc"Category of the term being updated."];id:TermId.toption[@ocaml.doc"The unique identifier for the term."];refundPolicy:BoundedString.toption[@ocaml.doc"Free-text field about the refund policy description that will be shown to customers as is on the website and console."]}letmake?type_=fun?id->fun?refundPolicy->fun()->{type_;id;refundPolicy}letto_valuex=structure_to_value[("type",(Option.mapx.type_~f:UnversionedTermType.to_value));("id",(Option.mapx.id~f:TermId.to_value));("refundPolicy",(Option.mapx.refundPolicy~f:BoundedString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letrefundPolicy=(Option.map~f:BoundedString.of_xml)(Xml.childxml_arg0"refundPolicy")inletid=(Option.map~f:TermId.of_xml)(Xml.childxml_arg0"id")inlettype_=(Option.map~f:UnversionedTermType.of_xml)(Xml.childxml_arg0"type")inmake?refundPolicy?id?type_()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letrefundPolicy=field_mapjson__"refundPolicy"BoundedString.of_jsoninletid=field_mapjson__"id"TermId.of_jsoninlettype_=field_mapjson__"type"UnversionedTermType.of_jsoninmake?refundPolicy?id?type_()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Defines the customer support available for the acceptors when they purchase the software."]moduleUsageBasedPricingTerm=structtypenonrect={type_:UnversionedTermType.toption[@ocaml.doc"Category of the term."];id:TermId.toption[@ocaml.doc"The unique identifier for the term."];currencyCode:CurrencyCode.toption[@ocaml.doc"Defines the currency for the prices mentioned in the term."];rateCards:UsageBasedRateCardList.toption[@ocaml.doc"List of rate cards."]}letmake?type_=fun?id->fun?currencyCode->fun?rateCards->fun()->{type_;id;currencyCode;rateCards}letto_valuex=structure_to_value[("type",(Option.mapx.type_~f:UnversionedTermType.to_value));("id",(Option.mapx.id~f:TermId.to_value));("currencyCode",(Option.mapx.currencyCode~f:CurrencyCode.to_value));("rateCards",(Option.mapx.rateCards~f:UsageBasedRateCardList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letrateCards=(Option.map~f:UsageBasedRateCardList.of_xml)(Xml.childxml_arg0"rateCards")inletcurrencyCode=(Option.map~f:CurrencyCode.of_xml)(Xml.childxml_arg0"currencyCode")inletid=(Option.map~f:TermId.of_xml)(Xml.childxml_arg0"id")inlettype_=(Option.map~f:UnversionedTermType.of_xml)(Xml.childxml_arg0"type")inmake?rateCards?currencyCode?id?type_()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letrateCards=field_mapjson__"rateCards"UsageBasedRateCardList.of_jsoninletcurrencyCode=field_mapjson__"currencyCode"CurrencyCode.of_jsoninletid=field_mapjson__"id"TermId.of_jsoninlettype_=field_mapjson__"type"UnversionedTermType.of_jsoninmake?rateCards?currencyCode?id?type_()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Defines a usage-based pricing model (typically, pay-as-you-go pricing), where the customers are charged based on product usage."]moduleValidityTerm=structtypenonrect={type_:UnversionedTermType.toption[@ocaml.doc"Category of the term being updated."];id:TermId.toption[@ocaml.doc"The unique identifier for the term."];agreementDuration:BoundedString.toption[@ocaml.doc"Defines the duration that the agreement remains active. If AgreementStartDate isn\226\128\153t provided, the agreement duration is relative to the agreement signature time. The duration is represented in the ISO_8601 format."];agreementStartDate:Timestamp.toption[@ocaml.doc"Defines the date when agreement starts. The agreement starts at 00:00:00.000 UTC on the date provided. If AgreementStartDate isn\226\128\153t provided, the agreement start date is determined based on agreement signature time."];agreementEndDate:Timestamp.toption[@ocaml.doc"Defines the date when the agreement ends. The agreement ends at 23:59:59.999 UTC on the date provided. If AgreementEndDate isn\226\128\153t provided, the agreement end date is determined by the validity of individual terms."]}letmake?type_=fun?id->fun?agreementDuration->fun?agreementStartDate->fun?agreementEndDate->fun()->{type_;id;agreementDuration;agreementStartDate;agreementEndDate}letto_valuex=structure_to_value[("type",(Option.mapx.type_~f:UnversionedTermType.to_value));("id",(Option.mapx.id~f:TermId.to_value));("agreementDuration",(Option.mapx.agreementDuration~f:BoundedString.to_value));("agreementStartDate",(Option.mapx.agreementStartDate~f:Timestamp.to_value));("agreementEndDate",(Option.mapx.agreementEndDate~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letagreementEndDate=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"agreementEndDate")inletagreementStartDate=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"agreementStartDate")inletagreementDuration=(Option.map~f:BoundedString.of_xml)(Xml.childxml_arg0"agreementDuration")inletid=(Option.map~f:TermId.of_xml)(Xml.childxml_arg0"id")inlettype_=(Option.map~f:UnversionedTermType.of_xml)(Xml.childxml_arg0"type")inmake?agreementEndDate?agreementStartDate?agreementDuration?id?type_()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letagreementEndDate=field_mapjson__"agreementEndDate"Timestamp.of_jsoninletagreementStartDate=field_mapjson__"agreementStartDate"Timestamp.of_jsoninletagreementDuration=field_mapjson__"agreementDuration"BoundedString.of_jsoninletid=field_mapjson__"id"TermId.of_jsoninlettype_=field_mapjson__"type"UnversionedTermType.of_jsoninmake?agreementEndDate?agreementStartDate?agreementDuration?id?type_()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Defines the conditions that will keep an agreement created from this offer valid."]moduleVariablePaymentTerm=structtypenonrect={type_:UnversionedTermType.toption[@ocaml.doc"Type of the term."];id:TermId.toption[@ocaml.doc"The unique identifier for the term."];currencyCode:CurrencyCode.toption[@ocaml.doc"Defines the currency for the prices mentioned in the term."];maxTotalChargeAmount:BoundedString.toption[@ocaml.doc"The maximum total amount that can be charged to the customer through variable payment requests under this term."];configuration:VariablePaymentTermConfiguration.toption[@ocaml.doc"Additional parameters specified by the acceptor while accepting the term."]}letmake?type_=fun?id->fun?currencyCode->fun?maxTotalChargeAmount->fun?configuration->fun()->{type_;id;currencyCode;maxTotalChargeAmount;configuration}letto_valuex=structure_to_value[("type",(Option.mapx.type_~f:UnversionedTermType.to_value));("id",(Option.mapx.id~f:TermId.to_value));("currencyCode",(Option.mapx.currencyCode~f:CurrencyCode.to_value));("maxTotalChargeAmount",(Option.mapx.maxTotalChargeAmount~f:BoundedString.to_value));("configuration",(Option.mapx.configuration~f:VariablePaymentTermConfiguration.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letconfiguration=(Option.map~f:VariablePaymentTermConfiguration.of_xml)(Xml.childxml_arg0"configuration")inletmaxTotalChargeAmount=(Option.map~f:BoundedString.of_xml)(Xml.childxml_arg0"maxTotalChargeAmount")inletcurrencyCode=(Option.map~f:CurrencyCode.of_xml)(Xml.childxml_arg0"currencyCode")inletid=(Option.map~f:TermId.of_xml)(Xml.childxml_arg0"id")inlettype_=(Option.map~f:UnversionedTermType.of_xml)(Xml.childxml_arg0"type")inmake?configuration?maxTotalChargeAmount?currencyCode?id?type_()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letconfiguration=field_mapjson__"configuration"VariablePaymentTermConfiguration.of_jsoninletmaxTotalChargeAmount=field_mapjson__"maxTotalChargeAmount"BoundedString.of_jsoninletcurrencyCode=field_mapjson__"currencyCode"CurrencyCode.of_jsoninletid=field_mapjson__"id"TermId.of_jsoninlettype_=field_mapjson__"type"UnversionedTermType.of_jsoninmake?configuration?maxTotalChargeAmount?currencyCode?id?type_()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Defines a payment model where sellers can submit variable payment requests up to a maximum charge amount, with configurable approval strategies and expiration timelines."]moduleAgreementEntitlementStatus=structtypenonrect=|PROVISIONED|SCHEDULED|PENDING|FAILED|DEPROVISIONED|Non_static_idofstringletmakei=iletto_string=function|PROVISIONED->"PROVISIONED"|SCHEDULED->"SCHEDULED"|PENDING->"PENDING"|FAILED->"FAILED"|DEPROVISIONED->"DEPROVISIONED"|Non_static_ids->sletof_string=function|"PROVISIONED"->PROVISIONED|"SCHEDULED"->SCHEDULED|"PENDING"->PENDING|"FAILED"->FAILED|"DEPROVISIONED"->DEPROVISIONED|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 AgreementEntitlementStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"AgreementEntitlementStatus"j)letto_json=simple_to_jsonto_valueendmoduleAgreementEntitlementStatusReasonCode=structtypenonrect=|PROVISIONING_IN_PROGRESS|FUTURE_START_DATE|INVALID_PAYMENT_INSTRUMENT|INCOMPATIBLE_CURRENCY|ACCOUNT_SUSPENDED|UNSUPPORTED_OPERATION|AGREEMENT_INACTIVE|AGREEMENT_ACTIVE|PRODUCT_RESTRICTED|Non_static_idofstringletmakei=iletto_string=function|PROVISIONING_IN_PROGRESS->"PROVISIONING_IN_PROGRESS"|FUTURE_START_DATE->"FUTURE_START_DATE"|INVALID_PAYMENT_INSTRUMENT->"INVALID_PAYMENT_INSTRUMENT"|INCOMPATIBLE_CURRENCY->"INCOMPATIBLE_CURRENCY"|ACCOUNT_SUSPENDED->"ACCOUNT_SUSPENDED"|UNSUPPORTED_OPERATION->"UNSUPPORTED_OPERATION"|AGREEMENT_INACTIVE->"AGREEMENT_INACTIVE"|AGREEMENT_ACTIVE->"AGREEMENT_ACTIVE"|PRODUCT_RESTRICTED->"PRODUCT_RESTRICTED"|Non_static_ids->sletof_string=function|"PROVISIONING_IN_PROGRESS"->PROVISIONING_IN_PROGRESS|"FUTURE_START_DATE"->FUTURE_START_DATE|"INVALID_PAYMENT_INSTRUMENT"->INVALID_PAYMENT_INSTRUMENT|"INCOMPATIBLE_CURRENCY"->INCOMPATIBLE_CURRENCY|"ACCOUNT_SUSPENDED"->ACCOUNT_SUSPENDED|"UNSUPPORTED_OPERATION"->UNSUPPORTED_OPERATION|"AGREEMENT_INACTIVE"->AGREEMENT_INACTIVE|"AGREEMENT_ACTIVE"->AGREEMENT_ACTIVE|"PRODUCT_RESTRICTED"->PRODUCT_RESTRICTED|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 AgreementEntitlementStatusReasonCode"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"AgreementEntitlementStatusReasonCode"j)letto_json=simple_to_jsonto_valueendmoduleAwsArn=structtypenonrect=stringletcontext_="AwsArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:"arn:aws[a-zA-Z-]*:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"AwsArn"jletto_json=simple_to_jsonto_valueendmoduleEntitlementType=structtypenonrect=stringletcontext_="EntitlementType"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:64)>>=(fun()->check_patterni~pattern:"[A-Za-z:]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"EntitlementType"jletto_json=simple_to_jsonto_valueendmoduleRegistrationToken=structtypenonrect=stringletcontext_="RegistrationToken"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:512)>>=(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:"RegistrationToken"jletto_json=simple_to_jsonto_valueendmoduleExpectedCharge=structtypenonrect={id:ResourceId.toption[@ocaml.doc"Unique identifier of the charge for a given agreement."];time:Timestamp.toption[@ocaml.doc"The date and time when the charge is due to be invoiced. This is available only when the charge date is known."];amount:BoundedString.toption[@ocaml.doc"The tax-exclusive amount of the charge. Only available when the charge amount is known."];amountAfterTax:BoundedString.toption[@ocaml.doc"The tax-inclusive amount the acceptor has to pay. The amount is only present for fixed charges."];timing:Timing.toption[@ocaml.doc"Indicates when the charge amount will be incurred. Values include ON_ACCEPTANCE (charged immediately when the agreement request is accepted), BILLING_PERIOD (charged on each billing period), and SCHEDULED (charged at a predetermined future date)."];estimatedTaxes:EstimatedTaxes.toption[@ocaml.doc"Provides an aggregated view of estimated tax information for this specific charge."]}letmake?id=fun?time->fun?amount->fun?amountAfterTax->fun?timing->fun?estimatedTaxes->fun()->{id;time;amount;amountAfterTax;timing;estimatedTaxes}letto_valuex=structure_to_value[("id",(Option.mapx.id~f:ResourceId.to_value));("time",(Option.mapx.time~f:Timestamp.to_value));("amount",(Option.mapx.amount~f:BoundedString.to_value));("amountAfterTax",(Option.mapx.amountAfterTax~f:BoundedString.to_value));("timing",(Option.mapx.timing~f:Timing.to_value));("estimatedTaxes",(Option.mapx.estimatedTaxes~f:EstimatedTaxes.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letestimatedTaxes=(Option.map~f:EstimatedTaxes.of_xml)(Xml.childxml_arg0"estimatedTaxes")inlettiming=(Option.map~f:Timing.of_xml)(Xml.childxml_arg0"timing")inletamountAfterTax=(Option.map~f:BoundedString.of_xml)(Xml.childxml_arg0"amountAfterTax")inletamount=(Option.map~f:BoundedString.of_xml)(Xml.childxml_arg0"amount")inlettime=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"time")inletid=(Option.map~f:ResourceId.of_xml)(Xml.childxml_arg0"id")inmake?estimatedTaxes?timing?amountAfterTax?amount?time?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letestimatedTaxes=field_mapjson__"estimatedTaxes"EstimatedTaxes.of_jsoninlettiming=field_mapjson__"timing"Timing.of_jsoninletamountAfterTax=field_mapjson__"amountAfterTax"BoundedString.of_jsoninletamount=field_mapjson__"amount"BoundedString.of_jsoninlettime=field_mapjson__"time"Timestamp.of_jsoninletid=field_mapjson__"id"ResourceId.of_jsoninmake?estimatedTaxes?timing?amountAfterTax?amount?time?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Estimated charge for the request."]moduleItemizedCharge=structtypenonrect={dimensionKey:BoundedString.toption[@ocaml.doc"The dimension key as specified in the accepted term."];newQuantity:Integer.toption[@ocaml.doc"The requested quantity for this dimension."];oldQuantity:Integer.toption[@ocaml.doc"The existing quantity for this dimension from the source agreement. This value is 0 for NEW intent."];chargeReference:ResourceId.toption[@ocaml.doc"The identifier of the expected charge that this itemized charge contributes to."];incrementalChargeAmount:BoundedString.toption[@ocaml.doc"The total incremental charge amount for this dimension."]}letmake?dimensionKey=fun?newQuantity->fun?oldQuantity->fun?chargeReference->fun?incrementalChargeAmount->fun()->{dimensionKey;newQuantity;oldQuantity;chargeReference;incrementalChargeAmount}letto_valuex=structure_to_value[("dimensionKey",(Option.mapx.dimensionKey~f:BoundedString.to_value));("newQuantity",(Option.mapx.newQuantity~f:Integer.to_value));("oldQuantity",(Option.mapx.oldQuantity~f:Integer.to_value));("chargeReference",(Option.mapx.chargeReference~f:ResourceId.to_value));("incrementalChargeAmount",(Option.mapx.incrementalChargeAmount~f:BoundedString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letincrementalChargeAmount=(Option.map~f:BoundedString.of_xml)(Xml.childxml_arg0"incrementalChargeAmount")inletchargeReference=(Option.map~f:ResourceId.of_xml)(Xml.childxml_arg0"chargeReference")inletoldQuantity=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"oldQuantity")inletnewQuantity=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"newQuantity")inletdimensionKey=(Option.map~f:BoundedString.of_xml)(Xml.childxml_arg0"dimensionKey")inmake?incrementalChargeAmount?chargeReference?oldQuantity?newQuantity?dimensionKey()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letincrementalChargeAmount=field_mapjson__"incrementalChargeAmount"BoundedString.of_jsoninletchargeReference=field_mapjson__"chargeReference"ResourceId.of_jsoninletoldQuantity=field_mapjson__"oldQuantity"Integer.of_jsoninletnewQuantity=field_mapjson__"newQuantity"Integer.of_jsoninletdimensionKey=field_mapjson__"dimensionKey"BoundedString.of_jsoninmake?incrementalChargeAmount?chargeReference?oldQuantity?newQuantity?dimensionKey()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A breakdown of individual charges or line items within a billing or pricing context."]moduleRequestedTermConfiguration=structtypenonrect={configurableUpfrontPricingTermConfiguration:ConfigurableUpfrontPricingTermConfiguration.toption;renewalTermConfiguration:RenewalTermConfiguration.toption;variablePaymentTermConfiguration:VariablePaymentTermConfiguration.toption}letmake?configurableUpfrontPricingTermConfiguration=fun?renewalTermConfiguration->fun?variablePaymentTermConfiguration->fun()->{configurableUpfrontPricingTermConfiguration;renewalTermConfiguration;variablePaymentTermConfiguration}letto_valuex=structure_to_value[("configurableUpfrontPricingTermConfiguration",(Option.mapx.configurableUpfrontPricingTermConfiguration~f:ConfigurableUpfrontPricingTermConfiguration.to_value));("renewalTermConfiguration",(Option.mapx.renewalTermConfiguration~f:RenewalTermConfiguration.to_value));("variablePaymentTermConfiguration",(Option.mapx.variablePaymentTermConfiguration~f:VariablePaymentTermConfiguration.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvariablePaymentTermConfiguration=(Option.map~f:VariablePaymentTermConfiguration.of_xml)(Xml.childxml_arg0"variablePaymentTermConfiguration")inletrenewalTermConfiguration=(Option.map~f:RenewalTermConfiguration.of_xml)(Xml.childxml_arg0"renewalTermConfiguration")inletconfigurableUpfrontPricingTermConfiguration=(Option.map~f:ConfigurableUpfrontPricingTermConfiguration.of_xml)(Xml.childxml_arg0"configurableUpfrontPricingTermConfiguration")inmake?variablePaymentTermConfiguration?renewalTermConfiguration?configurableUpfrontPricingTermConfiguration()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvariablePaymentTermConfiguration=field_mapjson__"variablePaymentTermConfiguration"VariablePaymentTermConfiguration.of_jsoninletrenewalTermConfiguration=field_mapjson__"renewalTermConfiguration"RenewalTermConfiguration.of_jsoninletconfigurableUpfrontPricingTermConfiguration=field_mapjson__"configurableUpfrontPricingTermConfiguration"ConfigurableUpfrontPricingTermConfiguration.of_jsoninmake?variablePaymentTermConfiguration?renewalTermConfiguration?configurableUpfrontPricingTermConfiguration()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A tagged union that represents the term configuration provided by the acceptor. Only one configuration is accepted per term."]moduleBillingAdjustmentErrorCode=structtypenonrect=|CONFLICT_EXCEPTION|VALIDATION_EXCEPTION|RESOURCE_NOT_FOUND_EXCEPTION|INTERNAL_FAILURE|Non_static_idofstringletmakei=iletto_string=function|CONFLICT_EXCEPTION->"CONFLICT_EXCEPTION"|VALIDATION_EXCEPTION->"VALIDATION_EXCEPTION"|RESOURCE_NOT_FOUND_EXCEPTION->"RESOURCE_NOT_FOUND_EXCEPTION"|INTERNAL_FAILURE->"INTERNAL_FAILURE"|Non_static_ids->sletof_string=function|"CONFLICT_EXCEPTION"->CONFLICT_EXCEPTION|"VALIDATION_EXCEPTION"->VALIDATION_EXCEPTION|"RESOURCE_NOT_FOUND_EXCEPTION"->RESOURCE_NOT_FOUND_EXCEPTION|"INTERNAL_FAILURE"->INTERNAL_FAILURE|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 BillingAdjustmentErrorCode"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"BillingAdjustmentErrorCode"j)letto_json=simple_to_jsonto_valueendmoduleClientToken=structtypenonrect=stringletcontext_="ClientToken"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:"ClientToken"jletto_json=simple_to_jsonto_valueendmoduleString_=structtypenonrect=stringletcontext_="String"letmakei=iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"String"jletto_json=simple_to_jsonto_valueendmoduleBillingAdjustmentDescription=structtypenonrect=stringletcontext_="BillingAdjustmentDescription"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:500)>>=(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:"BillingAdjustmentDescription"jletto_json=simple_to_jsonto_valueendmoduleBillingAdjustmentReasonCode=structtypenonrect=|INCORRECT_TERMS_ACCEPTED|INCORRECT_METERING|TEST_ENVIRONMENT_CHARGES|ALTERNATIVE_PROCUREMENT_CHANNEL|UNINTENDED_RENEWAL|BUYER_DISSATISFACTION|OTHER|Non_static_idofstringletmakei=iletto_string=function|INCORRECT_TERMS_ACCEPTED->"INCORRECT_TERMS_ACCEPTED"|INCORRECT_METERING->"INCORRECT_METERING"|TEST_ENVIRONMENT_CHARGES->"TEST_ENVIRONMENT_CHARGES"|ALTERNATIVE_PROCUREMENT_CHANNEL->"ALTERNATIVE_PROCUREMENT_CHANNEL"|UNINTENDED_RENEWAL->"UNINTENDED_RENEWAL"|BUYER_DISSATISFACTION->"BUYER_DISSATISFACTION"|OTHER->"OTHER"|Non_static_ids->sletof_string=function|"INCORRECT_TERMS_ACCEPTED"->INCORRECT_TERMS_ACCEPTED|"INCORRECT_METERING"->INCORRECT_METERING|"TEST_ENVIRONMENT_CHARGES"->TEST_ENVIRONMENT_CHARGES|"ALTERNATIVE_PROCUREMENT_CHANNEL"->ALTERNATIVE_PROCUREMENT_CHANNEL|"UNINTENDED_RENEWAL"->UNINTENDED_RENEWAL|"BUYER_DISSATISFACTION"->BUYER_DISSATISFACTION|"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 BillingAdjustmentReasonCode"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"BillingAdjustmentReasonCode"j)letto_json=simple_to_jsonto_valueendmoduleAccessDeniedExceptionReason=structtypenonrect=|INVALID_ACCOUNT_STATE|DENIED_BY_PRIVATE_MARKETPLACE_POLICY|FAILED_KYC_COMPLIANCE|MISSING_MFA|INVALID_ACCESS|Non_static_idofstringletmakei=iletto_string=function|INVALID_ACCOUNT_STATE->"INVALID_ACCOUNT_STATE"|DENIED_BY_PRIVATE_MARKETPLACE_POLICY->"DENIED_BY_PRIVATE_MARKETPLACE_POLICY"|FAILED_KYC_COMPLIANCE->"FAILED_KYC_COMPLIANCE"|MISSING_MFA->"MISSING_MFA"|INVALID_ACCESS->"INVALID_ACCESS"|Non_static_ids->sletof_string=function|"INVALID_ACCOUNT_STATE"->INVALID_ACCOUNT_STATE|"DENIED_BY_PRIVATE_MARKETPLACE_POLICY"->DENIED_BY_PRIVATE_MARKETPLACE_POLICY|"FAILED_KYC_COMPLIANCE"->FAILED_KYC_COMPLIANCE|"MISSING_MFA"->MISSING_MFA|"INVALID_ACCESS"->INVALID_ACCESS|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_valueendmoduleExceptionMessage=structtypenonrect=stringletcontext_="ExceptionMessage"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:1024)>>=(fun()->check_string_mini~min:1));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ExceptionMessage"jletto_json=simple_to_jsonto_valueendmoduleRequestId=structtypenonrect=stringletcontext_="RequestId"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:"RequestId"jletto_json=simple_to_jsonto_valueendmoduleResourceType=structtypenonrect=|Agreement|AgreementRequest|AgreementProposal|Charge|PaymentRequest|Invoice|AgreementCancellationRequest|BillingAdjustmentRequest|Non_static_idofstringletmakei=iletto_string=function|Agreement->"Agreement"|AgreementRequest->"AgreementRequest"|AgreementProposal->"AgreementProposal"|Charge->"Charge"|PaymentRequest->"PaymentRequest"|Invoice->"Invoice"|AgreementCancellationRequest->"AgreementCancellationRequest"|BillingAdjustmentRequest->"BillingAdjustmentRequest"|Non_static_ids->sletof_string=function|"Agreement"->Agreement|"AgreementRequest"->AgreementRequest|"AgreementProposal"->AgreementProposal|"Charge"->Charge|"PaymentRequest"->PaymentRequest|"Invoice"->Invoice|"AgreementCancellationRequest"->AgreementCancellationRequest|"BillingAdjustmentRequest"->BillingAdjustmentRequest|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=|MISSING_BILLING_ADJUSTMENTS|BILLING_ADJUSTMENTS_LIMIT_EXCEEDED|MISSING_INVOICE_ID|INVALID_ADJUSTMENT_AMOUNT|MISSING_ADJUSTMENT_AMOUNT|INVALID_REASON_CODE|MISSING_REASON_CODE|MISSING_DESCRIPTION|INVALID_INVOICE_ADJUSTMENT_PERIOD|INVALID_CURRENCY_CODE|MISSING_CURRENCY_CODE|EXCEEDED_MAXIMUM_ADJUSTMENT_AMOUNT|MISSING_BILLING_ADJUSTMENT_REQUEST_ENTRY|MULTIPLE_AGREEMENT_IDS|INVALID_AGREEMENT_CANCELLATION_REQUEST_ID|MISSING_AGREEMENT_CANCELLATION_REQUEST_ID|MISSING_REASON|INVALID_REASON|INVALID_STATUS|INVALID_AGREEMENT_ID|MISSING_AGREEMENT_ID|INVALID_CATALOG|INVALID_FILTERS|INVALID_FILTER_NAME|MISSING_FILTER_NAME|INVALID_FILTER_VALUES|MISSING_FILTER_VALUES|INVALID_SORT_BY|INVALID_SORT_ORDER|INVALID_NEXT_TOKEN|INVALID_MAX_RESULTS|INVALID_TERM_ID|MISSING_TERM_ID|MISSING_NAME|INVALID_NAME|INVALID_DESCRIPTION|MISSING_CHARGE_AMOUNT|INVALID_CHARGE_AMOUNT|MISSING_PAYMENT_REQUEST_ID|INVALID_PAYMENT_REQUEST_ID|MISSING_PARTY_TYPE|INVALID_PARTY_TYPE|UNSUPPORTED_FILTERS|INVALID_CLIENT_TOKEN|INVALID_INTENT|MISSING_INTENT|INVALID_SOURCE_AGREEMENT_IDENTIFIER|MISSING_SOURCE_AGREEMENT_IDENTIFIER|INVALID_AGREEMENT_PROPOSAL_IDENTIFIER|MISSING_AGREEMENT_PROPOSAL_IDENTIFIER|INVALID_REQUESTED_TERMS|MISSING_REQUESTED_TERMS|INVALID_REQUESTED_TERM_ID|MISSING_REQUESTED_TERM_ID|INVALID_REQUESTED_TERM_CONFIGURATION|MISSING_REQUESTED_TERM_CONFIGURATION|INVALID_AGREEMENT_REQUEST_ID|MISSING_AGREEMENT_REQUEST_ID|INVALID_PURCHASE_ORDERS|MISSING_PURCHASE_ORDERS|INVALID_CHARGE_ID|MISSING_CHARGE_ID|INVALID_CHARGE_REVISION|MISSING_CHARGE_REVISION|INVALID_AGREEMENT_TYPE|INVALID_PURCHASE_ORDER_REFERENCE|INACTIVE_AGREEMENT|SUPERSEDED_AGREEMENT_PROPOSAL|EXPIRED_AGREEMENT_PROPOSAL|MISSING_MANDATORY_TERMS|INCOMPATIBLE_TERMS|MISSING_USAGE_AGREEMENT|INVALID_INCREMENTAL_CHARGE|MISSING_ACCOUNT_ADDRESS|UNSUPPORTED_ACTION|INVALID_REJECTION_REASON|INVALID_PAYMENT_REQUEST_STATUS|OTHER|DUPLICATE_CHARGES|UNSUPPORTED_ACCOUNT_PLAN|DUPLICATE_AGREEMENT_IN_ORGANIZATION|MISSING_PURCHASE_ORDER_REFERENCE|Non_static_idofstringletmakei=iletto_string=function|MISSING_BILLING_ADJUSTMENTS->"MISSING_BILLING_ADJUSTMENTS"|BILLING_ADJUSTMENTS_LIMIT_EXCEEDED->"BILLING_ADJUSTMENTS_LIMIT_EXCEEDED"|MISSING_INVOICE_ID->"MISSING_INVOICE_ID"|INVALID_ADJUSTMENT_AMOUNT->"INVALID_ADJUSTMENT_AMOUNT"|MISSING_ADJUSTMENT_AMOUNT->"MISSING_ADJUSTMENT_AMOUNT"|INVALID_REASON_CODE->"INVALID_REASON_CODE"|MISSING_REASON_CODE->"MISSING_REASON_CODE"|MISSING_DESCRIPTION->"MISSING_DESCRIPTION"|INVALID_INVOICE_ADJUSTMENT_PERIOD->"INVALID_INVOICE_ADJUSTMENT_PERIOD"|INVALID_CURRENCY_CODE->"INVALID_CURRENCY_CODE"|MISSING_CURRENCY_CODE->"MISSING_CURRENCY_CODE"|EXCEEDED_MAXIMUM_ADJUSTMENT_AMOUNT->"EXCEEDED_MAXIMUM_ADJUSTMENT_AMOUNT"|MISSING_BILLING_ADJUSTMENT_REQUEST_ENTRY->"MISSING_BILLING_ADJUSTMENT_REQUEST_ENTRY"|MULTIPLE_AGREEMENT_IDS->"MULTIPLE_AGREEMENT_IDS"|INVALID_AGREEMENT_CANCELLATION_REQUEST_ID->"INVALID_AGREEMENT_CANCELLATION_REQUEST_ID"|MISSING_AGREEMENT_CANCELLATION_REQUEST_ID->"MISSING_AGREEMENT_CANCELLATION_REQUEST_ID"|MISSING_REASON->"MISSING_REASON"|INVALID_REASON->"INVALID_REASON"|INVALID_STATUS->"INVALID_STATUS"|INVALID_AGREEMENT_ID->"INVALID_AGREEMENT_ID"|MISSING_AGREEMENT_ID->"MISSING_AGREEMENT_ID"|INVALID_CATALOG->"INVALID_CATALOG"|INVALID_FILTERS->"INVALID_FILTERS"|INVALID_FILTER_NAME->"INVALID_FILTER_NAME"|MISSING_FILTER_NAME->"MISSING_FILTER_NAME"|INVALID_FILTER_VALUES->"INVALID_FILTER_VALUES"|MISSING_FILTER_VALUES->"MISSING_FILTER_VALUES"|INVALID_SORT_BY->"INVALID_SORT_BY"|INVALID_SORT_ORDER->"INVALID_SORT_ORDER"|INVALID_NEXT_TOKEN->"INVALID_NEXT_TOKEN"|INVALID_MAX_RESULTS->"INVALID_MAX_RESULTS"|INVALID_TERM_ID->"INVALID_TERM_ID"|MISSING_TERM_ID->"MISSING_TERM_ID"|MISSING_NAME->"MISSING_NAME"|INVALID_NAME->"INVALID_NAME"|INVALID_DESCRIPTION->"INVALID_DESCRIPTION"|MISSING_CHARGE_AMOUNT->"MISSING_CHARGE_AMOUNT"|INVALID_CHARGE_AMOUNT->"INVALID_CHARGE_AMOUNT"|MISSING_PAYMENT_REQUEST_ID->"MISSING_PAYMENT_REQUEST_ID"|INVALID_PAYMENT_REQUEST_ID->"INVALID_PAYMENT_REQUEST_ID"|MISSING_PARTY_TYPE->"MISSING_PARTY_TYPE"|INVALID_PARTY_TYPE->"INVALID_PARTY_TYPE"|UNSUPPORTED_FILTERS->"UNSUPPORTED_FILTERS"|INVALID_CLIENT_TOKEN->"INVALID_CLIENT_TOKEN"|INVALID_INTENT->"INVALID_INTENT"|MISSING_INTENT->"MISSING_INTENT"|INVALID_SOURCE_AGREEMENT_IDENTIFIER->"INVALID_SOURCE_AGREEMENT_IDENTIFIER"|MISSING_SOURCE_AGREEMENT_IDENTIFIER->"MISSING_SOURCE_AGREEMENT_IDENTIFIER"|INVALID_AGREEMENT_PROPOSAL_IDENTIFIER->"INVALID_AGREEMENT_PROPOSAL_IDENTIFIER"|MISSING_AGREEMENT_PROPOSAL_IDENTIFIER->"MISSING_AGREEMENT_PROPOSAL_IDENTIFIER"|INVALID_REQUESTED_TERMS->"INVALID_REQUESTED_TERMS"|MISSING_REQUESTED_TERMS->"MISSING_REQUESTED_TERMS"|INVALID_REQUESTED_TERM_ID->"INVALID_REQUESTED_TERM_ID"|MISSING_REQUESTED_TERM_ID->"MISSING_REQUESTED_TERM_ID"|INVALID_REQUESTED_TERM_CONFIGURATION->"INVALID_REQUESTED_TERM_CONFIGURATION"|MISSING_REQUESTED_TERM_CONFIGURATION->"MISSING_REQUESTED_TERM_CONFIGURATION"|INVALID_AGREEMENT_REQUEST_ID->"INVALID_AGREEMENT_REQUEST_ID"|MISSING_AGREEMENT_REQUEST_ID->"MISSING_AGREEMENT_REQUEST_ID"|INVALID_PURCHASE_ORDERS->"INVALID_PURCHASE_ORDERS"|MISSING_PURCHASE_ORDERS->"MISSING_PURCHASE_ORDERS"|INVALID_CHARGE_ID->"INVALID_CHARGE_ID"|MISSING_CHARGE_ID->"MISSING_CHARGE_ID"|INVALID_CHARGE_REVISION->"INVALID_CHARGE_REVISION"|MISSING_CHARGE_REVISION->"MISSING_CHARGE_REVISION"|INVALID_AGREEMENT_TYPE->"INVALID_AGREEMENT_TYPE"|INVALID_PURCHASE_ORDER_REFERENCE->"INVALID_PURCHASE_ORDER_REFERENCE"|INACTIVE_AGREEMENT->"INACTIVE_AGREEMENT"|SUPERSEDED_AGREEMENT_PROPOSAL->"SUPERSEDED_AGREEMENT_PROPOSAL"|EXPIRED_AGREEMENT_PROPOSAL->"EXPIRED_AGREEMENT_PROPOSAL"|MISSING_MANDATORY_TERMS->"MISSING_MANDATORY_TERMS"|INCOMPATIBLE_TERMS->"INCOMPATIBLE_TERMS"|MISSING_USAGE_AGREEMENT->"MISSING_USAGE_AGREEMENT"|INVALID_INCREMENTAL_CHARGE->"INVALID_INCREMENTAL_CHARGE"|MISSING_ACCOUNT_ADDRESS->"MISSING_ACCOUNT_ADDRESS"|UNSUPPORTED_ACTION->"UNSUPPORTED_ACTION"|INVALID_REJECTION_REASON->"INVALID_REJECTION_REASON"|INVALID_PAYMENT_REQUEST_STATUS->"INVALID_PAYMENT_REQUEST_STATUS"|OTHER->"OTHER"|DUPLICATE_CHARGES->"DUPLICATE_CHARGES"|UNSUPPORTED_ACCOUNT_PLAN->"UNSUPPORTED_ACCOUNT_PLAN"|DUPLICATE_AGREEMENT_IN_ORGANIZATION->"DUPLICATE_AGREEMENT_IN_ORGANIZATION"|MISSING_PURCHASE_ORDER_REFERENCE->"MISSING_PURCHASE_ORDER_REFERENCE"|Non_static_ids->sletof_string=function|"MISSING_BILLING_ADJUSTMENTS"->MISSING_BILLING_ADJUSTMENTS|"BILLING_ADJUSTMENTS_LIMIT_EXCEEDED"->BILLING_ADJUSTMENTS_LIMIT_EXCEEDED|"MISSING_INVOICE_ID"->MISSING_INVOICE_ID|"INVALID_ADJUSTMENT_AMOUNT"->INVALID_ADJUSTMENT_AMOUNT|"MISSING_ADJUSTMENT_AMOUNT"->MISSING_ADJUSTMENT_AMOUNT|"INVALID_REASON_CODE"->INVALID_REASON_CODE|"MISSING_REASON_CODE"->MISSING_REASON_CODE|"MISSING_DESCRIPTION"->MISSING_DESCRIPTION|"INVALID_INVOICE_ADJUSTMENT_PERIOD"->INVALID_INVOICE_ADJUSTMENT_PERIOD|"INVALID_CURRENCY_CODE"->INVALID_CURRENCY_CODE|"MISSING_CURRENCY_CODE"->MISSING_CURRENCY_CODE|"EXCEEDED_MAXIMUM_ADJUSTMENT_AMOUNT"->EXCEEDED_MAXIMUM_ADJUSTMENT_AMOUNT|"MISSING_BILLING_ADJUSTMENT_REQUEST_ENTRY"->MISSING_BILLING_ADJUSTMENT_REQUEST_ENTRY|"MULTIPLE_AGREEMENT_IDS"->MULTIPLE_AGREEMENT_IDS|"INVALID_AGREEMENT_CANCELLATION_REQUEST_ID"->INVALID_AGREEMENT_CANCELLATION_REQUEST_ID|"MISSING_AGREEMENT_CANCELLATION_REQUEST_ID"->MISSING_AGREEMENT_CANCELLATION_REQUEST_ID|"MISSING_REASON"->MISSING_REASON|"INVALID_REASON"->INVALID_REASON|"INVALID_STATUS"->INVALID_STATUS|"INVALID_AGREEMENT_ID"->INVALID_AGREEMENT_ID|"MISSING_AGREEMENT_ID"->MISSING_AGREEMENT_ID|"INVALID_CATALOG"->INVALID_CATALOG|"INVALID_FILTERS"->INVALID_FILTERS|"INVALID_FILTER_NAME"->INVALID_FILTER_NAME|"MISSING_FILTER_NAME"->MISSING_FILTER_NAME|"INVALID_FILTER_VALUES"->INVALID_FILTER_VALUES|"MISSING_FILTER_VALUES"->MISSING_FILTER_VALUES|"INVALID_SORT_BY"->INVALID_SORT_BY|"INVALID_SORT_ORDER"->INVALID_SORT_ORDER|"INVALID_NEXT_TOKEN"->INVALID_NEXT_TOKEN|"INVALID_MAX_RESULTS"->INVALID_MAX_RESULTS|"INVALID_TERM_ID"->INVALID_TERM_ID|"MISSING_TERM_ID"->MISSING_TERM_ID|"MISSING_NAME"->MISSING_NAME|"INVALID_NAME"->INVALID_NAME|"INVALID_DESCRIPTION"->INVALID_DESCRIPTION|"MISSING_CHARGE_AMOUNT"->MISSING_CHARGE_AMOUNT|"INVALID_CHARGE_AMOUNT"->INVALID_CHARGE_AMOUNT|"MISSING_PAYMENT_REQUEST_ID"->MISSING_PAYMENT_REQUEST_ID|"INVALID_PAYMENT_REQUEST_ID"->INVALID_PAYMENT_REQUEST_ID|"MISSING_PARTY_TYPE"->MISSING_PARTY_TYPE|"INVALID_PARTY_TYPE"->INVALID_PARTY_TYPE|"UNSUPPORTED_FILTERS"->UNSUPPORTED_FILTERS|"INVALID_CLIENT_TOKEN"->INVALID_CLIENT_TOKEN|"INVALID_INTENT"->INVALID_INTENT|"MISSING_INTENT"->MISSING_INTENT|"INVALID_SOURCE_AGREEMENT_IDENTIFIER"->INVALID_SOURCE_AGREEMENT_IDENTIFIER|"MISSING_SOURCE_AGREEMENT_IDENTIFIER"->MISSING_SOURCE_AGREEMENT_IDENTIFIER|"INVALID_AGREEMENT_PROPOSAL_IDENTIFIER"->INVALID_AGREEMENT_PROPOSAL_IDENTIFIER|"MISSING_AGREEMENT_PROPOSAL_IDENTIFIER"->MISSING_AGREEMENT_PROPOSAL_IDENTIFIER|"INVALID_REQUESTED_TERMS"->INVALID_REQUESTED_TERMS|"MISSING_REQUESTED_TERMS"->MISSING_REQUESTED_TERMS|"INVALID_REQUESTED_TERM_ID"->INVALID_REQUESTED_TERM_ID|"MISSING_REQUESTED_TERM_ID"->MISSING_REQUESTED_TERM_ID|"INVALID_REQUESTED_TERM_CONFIGURATION"->INVALID_REQUESTED_TERM_CONFIGURATION|"MISSING_REQUESTED_TERM_CONFIGURATION"->MISSING_REQUESTED_TERM_CONFIGURATION|"INVALID_AGREEMENT_REQUEST_ID"->INVALID_AGREEMENT_REQUEST_ID|"MISSING_AGREEMENT_REQUEST_ID"->MISSING_AGREEMENT_REQUEST_ID|"INVALID_PURCHASE_ORDERS"->INVALID_PURCHASE_ORDERS|"MISSING_PURCHASE_ORDERS"->MISSING_PURCHASE_ORDERS|"INVALID_CHARGE_ID"->INVALID_CHARGE_ID|"MISSING_CHARGE_ID"->MISSING_CHARGE_ID|"INVALID_CHARGE_REVISION"->INVALID_CHARGE_REVISION|"MISSING_CHARGE_REVISION"->MISSING_CHARGE_REVISION|"INVALID_AGREEMENT_TYPE"->INVALID_AGREEMENT_TYPE|"INVALID_PURCHASE_ORDER_REFERENCE"->INVALID_PURCHASE_ORDER_REFERENCE|"INACTIVE_AGREEMENT"->INACTIVE_AGREEMENT|"SUPERSEDED_AGREEMENT_PROPOSAL"->SUPERSEDED_AGREEMENT_PROPOSAL|"EXPIRED_AGREEMENT_PROPOSAL"->EXPIRED_AGREEMENT_PROPOSAL|"MISSING_MANDATORY_TERMS"->MISSING_MANDATORY_TERMS|"INCOMPATIBLE_TERMS"->INCOMPATIBLE_TERMS|"MISSING_USAGE_AGREEMENT"->MISSING_USAGE_AGREEMENT|"INVALID_INCREMENTAL_CHARGE"->INVALID_INCREMENTAL_CHARGE|"MISSING_ACCOUNT_ADDRESS"->MISSING_ACCOUNT_ADDRESS|"UNSUPPORTED_ACTION"->UNSUPPORTED_ACTION|"INVALID_REJECTION_REASON"->INVALID_REJECTION_REASON|"INVALID_PAYMENT_REQUEST_STATUS"->INVALID_PAYMENT_REQUEST_STATUS|"OTHER"->OTHER|"DUPLICATE_CHARGES"->DUPLICATE_CHARGES|"UNSUPPORTED_ACCOUNT_PLAN"->UNSUPPORTED_ACCOUNT_PLAN|"DUPLICATE_AGREEMENT_IN_ORGANIZATION"->DUPLICATE_AGREEMENT_IN_ORGANIZATION|"MISSING_PURCHASE_ORDER_REFERENCE"->MISSING_PURCHASE_ORDER_REFERENCE|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_valueendmodulePurchaseOrder=structtypenonrect={chargeId:ResourceId.t[@ocaml.doc"The unique identifier of the charge to associate the purchase order with."];chargeRevision:ChargeRevision.toption[@ocaml.doc"The revision of the charge."];agreementId:ResourceId.toption[@ocaml.doc"The unique identifier of the agreement associated with this charge."];purchaseOrderReference:PurchaseOrderReference.toption[@ocaml.doc"The purchase order reference to associate with the charge."]}letcontext_="PurchaseOrder"letmake?chargeRevision=fun?agreementId->fun?purchaseOrderReference->fun~chargeId->fun()->{chargeRevision;agreementId;purchaseOrderReference;chargeId}letto_valuex=structure_to_value[("chargeId",(Some(ResourceId.to_valuex.chargeId)));("chargeRevision",(Option.mapx.chargeRevision~f:ChargeRevision.to_value));("agreementId",(Option.mapx.agreementId~f:ResourceId.to_value));("purchaseOrderReference",(Option.mapx.purchaseOrderReference~f:PurchaseOrderReference.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letpurchaseOrderReference=(Option.map~f:PurchaseOrderReference.of_xml)(Xml.childxml_arg0"purchaseOrderReference")inletagreementId=(Option.map~f:ResourceId.of_xml)(Xml.childxml_arg0"agreementId")inletchargeRevision=(Option.map~f:ChargeRevision.of_xml)(Xml.childxml_arg0"chargeRevision")inletchargeId=ResourceId.of_xml(Xml.child_exn~context:context_xml_arg0"chargeId")inmake?purchaseOrderReference?agreementId?chargeRevision~chargeId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letpurchaseOrderReference=field_mapjson__"purchaseOrderReference"PurchaseOrderReference.of_jsoninletagreementId=field_mapjson__"agreementId"ResourceId.of_jsoninletchargeRevision=field_mapjson__"chargeRevision"ChargeRevision.of_jsoninletchargeId=field_map_exnjson__"chargeId"ResourceId.of_jsoninmake?purchaseOrderReference?agreementId?chargeRevision~chargeId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Contains information about a purchase order association to a charge within an agreement."]moduleAgreementViewSummary=structtypenonrect={agreementId:ResourceId.toption[@ocaml.doc"The unique identifier of the agreement."];acceptanceTime:Timestamp.toption[@ocaml.doc"The date and time that the agreement was accepted."];startTime:Timestamp.toption[@ocaml.doc"The date and time when the agreement starts."];endTime:Timestamp.toption[@ocaml.doc"The date and time when the agreement ends. The field is null for pay-as-you-go agreements, which don\226\128\153t have end dates."];agreementType:AgreementType.toption[@ocaml.doc"The type of agreement."];acceptor:Acceptor.toption[@ocaml.doc"Details of the party accepting the agreement terms. This is commonly the buyer for PurchaseAgreement."];proposer:Proposer.toption[@ocaml.doc"Details of the party proposing the agreement terms, most commonly the seller for PurchaseAgreement."];proposalSummary:ProposalSummary.toption[@ocaml.doc"A summary of the proposal"];status:AgreementStatus.toption[@ocaml.doc"The current status of the agreement."]}letmake?agreementId=fun?acceptanceTime->fun?startTime->fun?endTime->fun?agreementType->fun?acceptor->fun?proposer->fun?proposalSummary->fun?status->fun()->{agreementId;acceptanceTime;startTime;endTime;agreementType;acceptor;proposer;proposalSummary;status}letto_valuex=structure_to_value[("agreementId",(Option.mapx.agreementId~f:ResourceId.to_value));("acceptanceTime",(Option.mapx.acceptanceTime~f:Timestamp.to_value));("startTime",(Option.mapx.startTime~f:Timestamp.to_value));("endTime",(Option.mapx.endTime~f:Timestamp.to_value));("agreementType",(Option.mapx.agreementType~f:AgreementType.to_value));("acceptor",(Option.mapx.acceptor~f:Acceptor.to_value));("proposer",(Option.mapx.proposer~f:Proposer.to_value));("proposalSummary",(Option.mapx.proposalSummary~f:ProposalSummary.to_value));("status",(Option.mapx.status~f:AgreementStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstatus=(Option.map~f:AgreementStatus.of_xml)(Xml.childxml_arg0"status")inletproposalSummary=(Option.map~f:ProposalSummary.of_xml)(Xml.childxml_arg0"proposalSummary")inletproposer=(Option.map~f:Proposer.of_xml)(Xml.childxml_arg0"proposer")inletacceptor=(Option.map~f:Acceptor.of_xml)(Xml.childxml_arg0"acceptor")inletagreementType=(Option.map~f:AgreementType.of_xml)(Xml.childxml_arg0"agreementType")inletendTime=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"endTime")inletstartTime=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"startTime")inletacceptanceTime=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"acceptanceTime")inletagreementId=(Option.map~f:ResourceId.of_xml)(Xml.childxml_arg0"agreementId")inmake?status?proposalSummary?proposer?acceptor?agreementType?endTime?startTime?acceptanceTime?agreementId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstatus=field_mapjson__"status"AgreementStatus.of_jsoninletproposalSummary=field_mapjson__"proposalSummary"ProposalSummary.of_jsoninletproposer=field_mapjson__"proposer"Proposer.of_jsoninletacceptor=field_mapjson__"acceptor"Acceptor.of_jsoninletagreementType=field_mapjson__"agreementType"AgreementType.of_jsoninletendTime=field_mapjson__"endTime"Timestamp.of_jsoninletstartTime=field_mapjson__"startTime"Timestamp.of_jsoninletacceptanceTime=field_mapjson__"acceptanceTime"Timestamp.of_jsoninletagreementId=field_mapjson__"agreementId"ResourceId.of_jsoninmake?status?proposalSummary?proposer?acceptor?agreementType?endTime?startTime?acceptanceTime?agreementId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A summary of the agreement, including top-level attributes (for example, the agreement ID, proposer, and acceptor)."]moduleFilter=structtypenonrect={name:FilterName.toption[@ocaml.doc"The name of the filter."];values:FilterValueList.toption[@ocaml.doc"The filter value."]}letmake?name=fun?values->fun()->{name;values}letto_valuex=structure_to_value[("name",(Option.mapx.name~f:FilterName.to_value));("values",(Option.mapx.values~f:FilterValueList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvalues=(Option.map~f:FilterValueList.of_xml)(Xml.childxml_arg0"values")inletname=(Option.map~f:FilterName.of_xml)(Xml.childxml_arg0"name")inmake?values?name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvalues=field_mapjson__"values"FilterValueList.of_jsoninletname=field_mapjson__"name"FilterName.of_jsoninmake?values?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The filter name and value pair that is used to return a more specific list of results. Filters can be used to match a set of resources by various criteria, such as offerId or productId."]moduleSortBy=structtypenonrect=stringletcontext_="SortBy"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:255)>>=(fun()->check_patterni~pattern:"[A-Za-z_]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"SortBy"jletto_json=simple_to_jsonto_valueendmoduleSortOrder=structtypenonrect=|ASCENDING|DESCENDING|Non_static_idofstringletmakei=iletto_string=function|ASCENDING->"ASCENDING"|DESCENDING->"DESCENDING"|Non_static_ids->sletof_string=function|"ASCENDING"->ASCENDING|"DESCENDING"->DESCENDING|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 SortOrder"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"SortOrder"j)letto_json=simple_to_jsonto_valueendmoduleBillingAdjustmentSummary=structtypenonrect={billingAdjustmentRequestId:BillingAdjustmentRequestId.toption[@ocaml.doc"The unique identifier of the billing adjustment request."];originalInvoiceId:InvoiceId.toption[@ocaml.doc"The identifier of the original invoice being adjusted."];adjustmentAmount:PositiveAmountUpto8Decimals.toption[@ocaml.doc"The adjustment amount as a string representation of a decimal number."];currencyCode:CurrencyCode.toption[@ocaml.doc"The currency code for the adjustment amount."];status:BillingAdjustmentStatus.toption[@ocaml.doc"The current status of the billing adjustment request."];agreementId:AgreementId.toption[@ocaml.doc"The unique identifier of the agreement associated with this billing adjustment request."];createdAt:Timestamp.toption[@ocaml.doc"The date and time when the billing adjustment request was created."];updatedAt:Timestamp.toption[@ocaml.doc"The date and time when the billing adjustment request was last updated."];agreementType:AgreementType.toption[@ocaml.doc"The type of agreement."];catalog:Catalog.toption[@ocaml.doc"The catalog in which the agreement was created."]}letmake?billingAdjustmentRequestId=fun?originalInvoiceId->fun?adjustmentAmount->fun?currencyCode->fun?status->fun?agreementId->fun?createdAt->fun?updatedAt->fun?agreementType->fun?catalog->fun()->{billingAdjustmentRequestId;originalInvoiceId;adjustmentAmount;currencyCode;status;agreementId;createdAt;updatedAt;agreementType;catalog}letto_valuex=structure_to_value[("billingAdjustmentRequestId",(Option.mapx.billingAdjustmentRequestId~f:BillingAdjustmentRequestId.to_value));("originalInvoiceId",(Option.mapx.originalInvoiceId~f:InvoiceId.to_value));("adjustmentAmount",(Option.mapx.adjustmentAmount~f:PositiveAmountUpto8Decimals.to_value));("currencyCode",(Option.mapx.currencyCode~f:CurrencyCode.to_value));("status",(Option.mapx.status~f:BillingAdjustmentStatus.to_value));("agreementId",(Option.mapx.agreementId~f:AgreementId.to_value));("createdAt",(Option.mapx.createdAt~f:Timestamp.to_value));("updatedAt",(Option.mapx.updatedAt~f:Timestamp.to_value));("agreementType",(Option.mapx.agreementType~f:AgreementType.to_value));("catalog",(Option.mapx.catalog~f:Catalog.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcatalog=(Option.map~f:Catalog.of_xml)(Xml.childxml_arg0"catalog")inletagreementType=(Option.map~f:AgreementType.of_xml)(Xml.childxml_arg0"agreementType")inletupdatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"updatedAt")inletcreatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"createdAt")inletagreementId=(Option.map~f:AgreementId.of_xml)(Xml.childxml_arg0"agreementId")inletstatus=(Option.map~f:BillingAdjustmentStatus.of_xml)(Xml.childxml_arg0"status")inletcurrencyCode=(Option.map~f:CurrencyCode.of_xml)(Xml.childxml_arg0"currencyCode")inletadjustmentAmount=(Option.map~f:PositiveAmountUpto8Decimals.of_xml)(Xml.childxml_arg0"adjustmentAmount")inletoriginalInvoiceId=(Option.map~f:InvoiceId.of_xml)(Xml.childxml_arg0"originalInvoiceId")inletbillingAdjustmentRequestId=(Option.map~f:BillingAdjustmentRequestId.of_xml)(Xml.childxml_arg0"billingAdjustmentRequestId")inmake?catalog?agreementType?updatedAt?createdAt?agreementId?status?currencyCode?adjustmentAmount?originalInvoiceId?billingAdjustmentRequestId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcatalog=field_mapjson__"catalog"Catalog.of_jsoninletagreementType=field_mapjson__"agreementType"AgreementType.of_jsoninletupdatedAt=field_mapjson__"updatedAt"Timestamp.of_jsoninletcreatedAt=field_mapjson__"createdAt"Timestamp.of_jsoninletagreementId=field_mapjson__"agreementId"AgreementId.of_jsoninletstatus=field_mapjson__"status"BillingAdjustmentStatus.of_jsoninletcurrencyCode=field_mapjson__"currencyCode"CurrencyCode.of_jsoninletadjustmentAmount=field_mapjson__"adjustmentAmount"PositiveAmountUpto8Decimals.of_jsoninletoriginalInvoiceId=field_mapjson__"originalInvoiceId"InvoiceId.of_jsoninletbillingAdjustmentRequestId=field_mapjson__"billingAdjustmentRequestId"BillingAdjustmentRequestId.of_jsoninmake?catalog?agreementType?updatedAt?createdAt?agreementId?status?currencyCode?adjustmentAmount?originalInvoiceId?billingAdjustmentRequestId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Summary view of a billing adjustment request."]modulePaymentRequestSummary=structtypenonrect={paymentRequestId:PaymentRequestId.toption[@ocaml.doc"The unique identifier of the payment request."];agreementId:AgreementId.toption[@ocaml.doc"The unique identifier of the agreement associated with this payment request."];status:PaymentRequestStatus.toption[@ocaml.doc"The current status of the payment request. Possible values include VALIDATING, VALIDATION_FAILED, PENDING_APPROVAL, APPROVED, REJECTED, and CANCELLED."];name:PaymentRequestName.toption[@ocaml.doc"The descriptive name of the payment request."];chargeId:ChargeId.toption[@ocaml.doc"The unique identifier of the charge created after the payment request is approved. This field is only present for approved payment requests."];chargeAmount:PositiveAmountUpto8Decimals.toption[@ocaml.doc"The amount charged or to be charged to the buyer."];currencyCode:CurrencyCode.toption[@ocaml.doc"The currency code for the charge amount."];createdAt:Timestamp.toption[@ocaml.doc"The date and time when the payment request was created."];updatedAt:Timestamp.toption[@ocaml.doc"The date and time when the payment request was last updated."]}letmake?paymentRequestId=fun?agreementId->fun?status->fun?name->fun?chargeId->fun?chargeAmount->fun?currencyCode->fun?createdAt->fun?updatedAt->fun()->{paymentRequestId;agreementId;status;name;chargeId;chargeAmount;currencyCode;createdAt;updatedAt}letto_valuex=structure_to_value[("paymentRequestId",(Option.mapx.paymentRequestId~f:PaymentRequestId.to_value));("agreementId",(Option.mapx.agreementId~f:AgreementId.to_value));("status",(Option.mapx.status~f:PaymentRequestStatus.to_value));("name",(Option.mapx.name~f:PaymentRequestName.to_value));("chargeId",(Option.mapx.chargeId~f:ChargeId.to_value));("chargeAmount",(Option.mapx.chargeAmount~f:PositiveAmountUpto8Decimals.to_value));("currencyCode",(Option.mapx.currencyCode~f:CurrencyCode.to_value));("createdAt",(Option.mapx.createdAt~f:Timestamp.to_value));("updatedAt",(Option.mapx.updatedAt~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letupdatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"updatedAt")inletcreatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"createdAt")inletcurrencyCode=(Option.map~f:CurrencyCode.of_xml)(Xml.childxml_arg0"currencyCode")inletchargeAmount=(Option.map~f:PositiveAmountUpto8Decimals.of_xml)(Xml.childxml_arg0"chargeAmount")inletchargeId=(Option.map~f:ChargeId.of_xml)(Xml.childxml_arg0"chargeId")inletname=(Option.map~f:PaymentRequestName.of_xml)(Xml.childxml_arg0"name")inletstatus=(Option.map~f:PaymentRequestStatus.of_xml)(Xml.childxml_arg0"status")inletagreementId=(Option.map~f:AgreementId.of_xml)(Xml.childxml_arg0"agreementId")inletpaymentRequestId=(Option.map~f:PaymentRequestId.of_xml)(Xml.childxml_arg0"paymentRequestId")inmake?updatedAt?createdAt?currencyCode?chargeAmount?chargeId?name?status?agreementId?paymentRequestId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letupdatedAt=field_mapjson__"updatedAt"Timestamp.of_jsoninletcreatedAt=field_mapjson__"createdAt"Timestamp.of_jsoninletcurrencyCode=field_mapjson__"currencyCode"CurrencyCode.of_jsoninletchargeAmount=field_mapjson__"chargeAmount"PositiveAmountUpto8Decimals.of_jsoninletchargeId=field_mapjson__"chargeId"ChargeId.of_jsoninletname=field_mapjson__"name"PaymentRequestName.of_jsoninletstatus=field_mapjson__"status"PaymentRequestStatus.of_jsoninletagreementId=field_mapjson__"agreementId"AgreementId.of_jsoninletpaymentRequestId=field_mapjson__"paymentRequestId"PaymentRequestId.of_jsoninmake?updatedAt?createdAt?currencyCode?chargeAmount?chargeId?name?status?agreementId?paymentRequestId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Summary view of a payment request."]moduleAgreementInvoiceLineItemGroupSummary=structtypenonrect={agreementId:ResourceId.toption[@ocaml.doc"The unique identifier of the agreement."];invoiceId:ResourceId.toption[@ocaml.doc"The identifier of the invoice for this group."];pricingCurrencyAmount:PricingCurrencyAmount.toption[@ocaml.doc"Monetary amounts for this invoice group."];invoiceBillingPeriod:InvoiceBillingPeriod.toption[@ocaml.doc"The billing period associated with this group."];issuedTime:Timestamp.toption[@ocaml.doc"The timestamp when the invoice containing this group was created."];invoiceType:InvoiceType.toption[@ocaml.doc"The type of invoice. Valid values are INVOICE and CREDIT_MEMO."];invoicingEntity:InvoicingEntity.toption[@ocaml.doc"The entity that issues the invoice."]}letmake?agreementId=fun?invoiceId->fun?pricingCurrencyAmount->fun?invoiceBillingPeriod->fun?issuedTime->fun?invoiceType->fun?invoicingEntity->fun()->{agreementId;invoiceId;pricingCurrencyAmount;invoiceBillingPeriod;issuedTime;invoiceType;invoicingEntity}letto_valuex=structure_to_value[("agreementId",(Option.mapx.agreementId~f:ResourceId.to_value));("invoiceId",(Option.mapx.invoiceId~f:ResourceId.to_value));("pricingCurrencyAmount",(Option.mapx.pricingCurrencyAmount~f:PricingCurrencyAmount.to_value));("invoiceBillingPeriod",(Option.mapx.invoiceBillingPeriod~f:InvoiceBillingPeriod.to_value));("issuedTime",(Option.mapx.issuedTime~f:Timestamp.to_value));("invoiceType",(Option.mapx.invoiceType~f:InvoiceType.to_value));("invoicingEntity",(Option.mapx.invoicingEntity~f:InvoicingEntity.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letinvoicingEntity=(Option.map~f:InvoicingEntity.of_xml)(Xml.childxml_arg0"invoicingEntity")inletinvoiceType=(Option.map~f:InvoiceType.of_xml)(Xml.childxml_arg0"invoiceType")inletissuedTime=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"issuedTime")inletinvoiceBillingPeriod=(Option.map~f:InvoiceBillingPeriod.of_xml)(Xml.childxml_arg0"invoiceBillingPeriod")inletpricingCurrencyAmount=(Option.map~f:PricingCurrencyAmount.of_xml)(Xml.childxml_arg0"pricingCurrencyAmount")inletinvoiceId=(Option.map~f:ResourceId.of_xml)(Xml.childxml_arg0"invoiceId")inletagreementId=(Option.map~f:ResourceId.of_xml)(Xml.childxml_arg0"agreementId")inmake?invoicingEntity?invoiceType?issuedTime?invoiceBillingPeriod?pricingCurrencyAmount?invoiceId?agreementId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letinvoicingEntity=field_mapjson__"invoicingEntity"InvoicingEntity.of_jsoninletinvoiceType=field_mapjson__"invoiceType"InvoiceType.of_jsoninletissuedTime=field_mapjson__"issuedTime"Timestamp.of_jsoninletinvoiceBillingPeriod=field_mapjson__"invoiceBillingPeriod"InvoiceBillingPeriod.of_jsoninletpricingCurrencyAmount=field_mapjson__"pricingCurrencyAmount"PricingCurrencyAmount.of_jsoninletinvoiceId=field_mapjson__"invoiceId"ResourceId.of_jsoninletagreementId=field_mapjson__"agreementId"ResourceId.of_jsoninmake?invoicingEntity?invoiceType?issuedTime?invoiceBillingPeriod?pricingCurrencyAmount?invoiceId?agreementId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A summary of grouped billing data for an agreement invoice line item."]moduleCharge=structtypenonrect={id:ResourceId.toption[@ocaml.doc"The unique identifier of the charge."];revision:ChargeRevision.toption[@ocaml.doc"The revision number of the charge."];agreementId:ResourceId.toption[@ocaml.doc"The unique identifier of the agreement that resulted in this charge."];agreementType:AgreementType.toption[@ocaml.doc"The type of agreement that resulted in this charge (for example, PurchaseAgreement)."];purchaseOrderReference:PurchaseOrderReference.toption[@ocaml.doc"The purchase order reference associated with the charge, if any."];currencyCode:CurrencyCode.toption[@ocaml.doc"The currency code for the charge amount."];amount:BoundedString.toption[@ocaml.doc"The amount of the charge."];time:Timestamp.toption[@ocaml.doc"The date and time when the charge will be incurred. This is available only when the charge date is known."]}letmake?id=fun?revision->fun?agreementId->fun?agreementType->fun?purchaseOrderReference->fun?currencyCode->fun?amount->fun?time->fun()->{id;revision;agreementId;agreementType;purchaseOrderReference;currencyCode;amount;time}letto_valuex=structure_to_value[("id",(Option.mapx.id~f:ResourceId.to_value));("revision",(Option.mapx.revision~f:ChargeRevision.to_value));("agreementId",(Option.mapx.agreementId~f:ResourceId.to_value));("agreementType",(Option.mapx.agreementType~f:AgreementType.to_value));("purchaseOrderReference",(Option.mapx.purchaseOrderReference~f:PurchaseOrderReference.to_value));("currencyCode",(Option.mapx.currencyCode~f:CurrencyCode.to_value));("amount",(Option.mapx.amount~f:BoundedString.to_value));("time",(Option.mapx.time~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettime=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"time")inletamount=(Option.map~f:BoundedString.of_xml)(Xml.childxml_arg0"amount")inletcurrencyCode=(Option.map~f:CurrencyCode.of_xml)(Xml.childxml_arg0"currencyCode")inletpurchaseOrderReference=(Option.map~f:PurchaseOrderReference.of_xml)(Xml.childxml_arg0"purchaseOrderReference")inletagreementType=(Option.map~f:AgreementType.of_xml)(Xml.childxml_arg0"agreementType")inletagreementId=(Option.map~f:ResourceId.of_xml)(Xml.childxml_arg0"agreementId")inletrevision=(Option.map~f:ChargeRevision.of_xml)(Xml.childxml_arg0"revision")inletid=(Option.map~f:ResourceId.of_xml)(Xml.childxml_arg0"id")inmake?time?amount?currencyCode?purchaseOrderReference?agreementType?agreementId?revision?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettime=field_mapjson__"time"Timestamp.of_jsoninletamount=field_mapjson__"amount"BoundedString.of_jsoninletcurrencyCode=field_mapjson__"currencyCode"CurrencyCode.of_jsoninletpurchaseOrderReference=field_mapjson__"purchaseOrderReference"PurchaseOrderReference.of_jsoninletagreementType=field_mapjson__"agreementType"AgreementType.of_jsoninletagreementId=field_mapjson__"agreementId"ResourceId.of_jsoninletrevision=field_mapjson__"revision"ChargeRevision.of_jsoninletid=field_mapjson__"id"ResourceId.of_jsoninmake?time?amount?currencyCode?purchaseOrderReference?agreementType?agreementId?revision?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Represents a charge associated with an agreement, including amount, timing, and purchase order details."]moduleAgreementCancellationRequestSummary=structtypenonrect={agreementCancellationRequestId:AgreementCancellationRequestId.toption[@ocaml.doc"The unique identifier of the cancellation request."];agreementId:AgreementId.toption[@ocaml.doc"The unique identifier of the agreement associated with this cancellation request."];status:AgreementCancellationRequestStatus.toption[@ocaml.doc"The current status of the cancellation request. Possible values include PENDING_APPROVAL, APPROVED, REJECTED, CANCELLED, and VALIDATION_FAILED."];reasonCode:AgreementCancellationRequestReasonCode.toption[@ocaml.doc"The reason code provided for the cancellation."];agreementType:AgreementType.toption[@ocaml.doc"The type of agreement."];catalog:Catalog.toption[@ocaml.doc"The catalog in which the agreement was created."];createdAt:Timestamp.toption[@ocaml.doc"The date and time when the cancellation request was created."];updatedAt:Timestamp.toption[@ocaml.doc"The date and time when the cancellation request was last updated."]}letmake?agreementCancellationRequestId=fun?agreementId->fun?status->fun?reasonCode->fun?agreementType->fun?catalog->fun?createdAt->fun?updatedAt->fun()->{agreementCancellationRequestId;agreementId;status;reasonCode;agreementType;catalog;createdAt;updatedAt}letto_valuex=structure_to_value[("agreementCancellationRequestId",(Option.mapx.agreementCancellationRequestId~f:AgreementCancellationRequestId.to_value));("agreementId",(Option.mapx.agreementId~f:AgreementId.to_value));("status",(Option.mapx.status~f:AgreementCancellationRequestStatus.to_value));("reasonCode",(Option.mapx.reasonCode~f:AgreementCancellationRequestReasonCode.to_value));("agreementType",(Option.mapx.agreementType~f:AgreementType.to_value));("catalog",(Option.mapx.catalog~f:Catalog.to_value));("createdAt",(Option.mapx.createdAt~f:Timestamp.to_value));("updatedAt",(Option.mapx.updatedAt~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letupdatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"updatedAt")inletcreatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"createdAt")inletcatalog=(Option.map~f:Catalog.of_xml)(Xml.childxml_arg0"catalog")inletagreementType=(Option.map~f:AgreementType.of_xml)(Xml.childxml_arg0"agreementType")inletreasonCode=(Option.map~f:AgreementCancellationRequestReasonCode.of_xml)(Xml.childxml_arg0"reasonCode")inletstatus=(Option.map~f:AgreementCancellationRequestStatus.of_xml)(Xml.childxml_arg0"status")inletagreementId=(Option.map~f:AgreementId.of_xml)(Xml.childxml_arg0"agreementId")inletagreementCancellationRequestId=(Option.map~f:AgreementCancellationRequestId.of_xml)(Xml.childxml_arg0"agreementCancellationRequestId")inmake?updatedAt?createdAt?catalog?agreementType?reasonCode?status?agreementId?agreementCancellationRequestId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letupdatedAt=field_mapjson__"updatedAt"Timestamp.of_jsoninletcreatedAt=field_mapjson__"createdAt"Timestamp.of_jsoninletcatalog=field_mapjson__"catalog"Catalog.of_jsoninletagreementType=field_mapjson__"agreementType"AgreementType.of_jsoninletreasonCode=field_mapjson__"reasonCode"AgreementCancellationRequestReasonCode.of_jsoninletstatus=field_mapjson__"status"AgreementCancellationRequestStatus.of_jsoninletagreementId=field_mapjson__"agreementId"AgreementId.of_jsoninletagreementCancellationRequestId=field_mapjson__"agreementCancellationRequestId"AgreementCancellationRequestId.of_jsoninmake?updatedAt?createdAt?catalog?agreementType?reasonCode?status?agreementId?agreementCancellationRequestId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Summary view of an agreement cancellation request."]moduleAcceptedTerm=structtypenonrect={legalTerm:LegalTerm.toption[@ocaml.doc"Defines the list of text agreements proposed to the acceptors. An example is the end user license agreement (EULA)."];supportTerm:SupportTerm.toption[@ocaml.doc"Defines the customer support available for the acceptors when they purchase the software."];renewalTerm:RenewalTerm.toption[@ocaml.doc"Defines that on graceful expiration of the agreement (when the agreement ends on its pre-defined end date), a new agreement will be created using the accepted terms on the existing agreement. In other words, the agreement will be renewed. Presence of RenewalTerm in the offer document means that auto-renewal is allowed. Buyers will have the option to accept or decline auto-renewal at the offer acceptance/agreement creation. Buyers can also change this flag from True to False or False to True at anytime during the agreement's lifecycle."];usageBasedPricingTerm:UsageBasedPricingTerm.toption[@ocaml.doc"Defines a usage-based pricing model (typically, pay-as-you-go pricing), where the customers are charged based on product usage."];configurableUpfrontPricingTerm:ConfigurableUpfrontPricingTerm.toption[@ocaml.doc"Defines a prepaid payment model that allows buyers to configure the entitlements they want to purchase and the duration."];byolPricingTerm:ByolPricingTerm.toption[@ocaml.doc"Enables you and your customers to move your existing agreements to AWS Marketplace. The customer won't be charged for product usage in AWS Marketplace because they already paid for the product outside of AWS Marketplace."];recurringPaymentTerm:RecurringPaymentTerm.toption[@ocaml.doc"Defines a pricing model where customers are charged a fixed recurring price at the end of each billing period."];validityTerm:ValidityTerm.toption[@ocaml.doc"Defines the conditions that will keep an agreement created from this offer valid."];paymentScheduleTerm:PaymentScheduleTerm.toption[@ocaml.doc"Defines an installment-based pricing model where customers are charged a fixed price on different dates during the agreement validity period. This is used most commonly for flexible payment schedule pricing."];freeTrialPricingTerm:FreeTrialPricingTerm.toption[@ocaml.doc"Defines a short-term free pricing model where the buyers aren\226\128\153t charged anything within a specified limit."];fixedUpfrontPricingTerm:FixedUpfrontPricingTerm.toption[@ocaml.doc"Defines a pre-paid pricing model where the customers are charged a fixed upfront amount."];variablePaymentTerm:VariablePaymentTerm.toption[@ocaml.doc"Defines a payment model where sellers can submit variable payment requests up to a maximum charge amount, with configurable approval strategies and expiration timelines."]}letmake?legalTerm=fun?supportTerm->fun?renewalTerm->fun?usageBasedPricingTerm->fun?configurableUpfrontPricingTerm->fun?byolPricingTerm->fun?recurringPaymentTerm->fun?validityTerm->fun?paymentScheduleTerm->fun?freeTrialPricingTerm->fun?fixedUpfrontPricingTerm->fun?variablePaymentTerm->fun()->{legalTerm;supportTerm;renewalTerm;usageBasedPricingTerm;configurableUpfrontPricingTerm;byolPricingTerm;recurringPaymentTerm;validityTerm;paymentScheduleTerm;freeTrialPricingTerm;fixedUpfrontPricingTerm;variablePaymentTerm}letto_valuex=structure_to_value[("legalTerm",(Option.mapx.legalTerm~f:LegalTerm.to_value));("supportTerm",(Option.mapx.supportTerm~f:SupportTerm.to_value));("renewalTerm",(Option.mapx.renewalTerm~f:RenewalTerm.to_value));("usageBasedPricingTerm",(Option.mapx.usageBasedPricingTerm~f:UsageBasedPricingTerm.to_value));("configurableUpfrontPricingTerm",(Option.mapx.configurableUpfrontPricingTerm~f:ConfigurableUpfrontPricingTerm.to_value));("byolPricingTerm",(Option.mapx.byolPricingTerm~f:ByolPricingTerm.to_value));("recurringPaymentTerm",(Option.mapx.recurringPaymentTerm~f:RecurringPaymentTerm.to_value));("validityTerm",(Option.mapx.validityTerm~f:ValidityTerm.to_value));("paymentScheduleTerm",(Option.mapx.paymentScheduleTerm~f:PaymentScheduleTerm.to_value));("freeTrialPricingTerm",(Option.mapx.freeTrialPricingTerm~f:FreeTrialPricingTerm.to_value));("fixedUpfrontPricingTerm",(Option.mapx.fixedUpfrontPricingTerm~f:FixedUpfrontPricingTerm.to_value));("variablePaymentTerm",(Option.mapx.variablePaymentTerm~f:VariablePaymentTerm.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvariablePaymentTerm=(Option.map~f:VariablePaymentTerm.of_xml)(Xml.childxml_arg0"variablePaymentTerm")inletfixedUpfrontPricingTerm=(Option.map~f:FixedUpfrontPricingTerm.of_xml)(Xml.childxml_arg0"fixedUpfrontPricingTerm")inletfreeTrialPricingTerm=(Option.map~f:FreeTrialPricingTerm.of_xml)(Xml.childxml_arg0"freeTrialPricingTerm")inletpaymentScheduleTerm=(Option.map~f:PaymentScheduleTerm.of_xml)(Xml.childxml_arg0"paymentScheduleTerm")inletvalidityTerm=(Option.map~f:ValidityTerm.of_xml)(Xml.childxml_arg0"validityTerm")inletrecurringPaymentTerm=(Option.map~f:RecurringPaymentTerm.of_xml)(Xml.childxml_arg0"recurringPaymentTerm")inletbyolPricingTerm=(Option.map~f:ByolPricingTerm.of_xml)(Xml.childxml_arg0"byolPricingTerm")inletconfigurableUpfrontPricingTerm=(Option.map~f:ConfigurableUpfrontPricingTerm.of_xml)(Xml.childxml_arg0"configurableUpfrontPricingTerm")inletusageBasedPricingTerm=(Option.map~f:UsageBasedPricingTerm.of_xml)(Xml.childxml_arg0"usageBasedPricingTerm")inletrenewalTerm=(Option.map~f:RenewalTerm.of_xml)(Xml.childxml_arg0"renewalTerm")inletsupportTerm=(Option.map~f:SupportTerm.of_xml)(Xml.childxml_arg0"supportTerm")inletlegalTerm=(Option.map~f:LegalTerm.of_xml)(Xml.childxml_arg0"legalTerm")inmake?variablePaymentTerm?fixedUpfrontPricingTerm?freeTrialPricingTerm?paymentScheduleTerm?validityTerm?recurringPaymentTerm?byolPricingTerm?configurableUpfrontPricingTerm?usageBasedPricingTerm?renewalTerm?supportTerm?legalTerm()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvariablePaymentTerm=field_mapjson__"variablePaymentTerm"VariablePaymentTerm.of_jsoninletfixedUpfrontPricingTerm=field_mapjson__"fixedUpfrontPricingTerm"FixedUpfrontPricingTerm.of_jsoninletfreeTrialPricingTerm=field_mapjson__"freeTrialPricingTerm"FreeTrialPricingTerm.of_jsoninletpaymentScheduleTerm=field_mapjson__"paymentScheduleTerm"PaymentScheduleTerm.of_jsoninletvalidityTerm=field_mapjson__"validityTerm"ValidityTerm.of_jsoninletrecurringPaymentTerm=field_mapjson__"recurringPaymentTerm"RecurringPaymentTerm.of_jsoninletbyolPricingTerm=field_mapjson__"byolPricingTerm"ByolPricingTerm.of_jsoninletconfigurableUpfrontPricingTerm=field_mapjson__"configurableUpfrontPricingTerm"ConfigurableUpfrontPricingTerm.of_jsoninletusageBasedPricingTerm=field_mapjson__"usageBasedPricingTerm"UsageBasedPricingTerm.of_jsoninletrenewalTerm=field_mapjson__"renewalTerm"RenewalTerm.of_jsoninletsupportTerm=field_mapjson__"supportTerm"SupportTerm.of_jsoninletlegalTerm=field_mapjson__"legalTerm"LegalTerm.of_jsoninmake?variablePaymentTerm?fixedUpfrontPricingTerm?freeTrialPricingTerm?paymentScheduleTerm?validityTerm?recurringPaymentTerm?byolPricingTerm?configurableUpfrontPricingTerm?usageBasedPricingTerm?renewalTerm?supportTerm?legalTerm()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A subset of terms proposed by the proposer, which have been accepted by the acceptor as part of agreement creation."]moduleAgreementEntitlement=structtypenonrect={resource:Resource.toption[@ocaml.doc"The resource that the entitlement is provisioned to, such as a product."];type_:EntitlementType.toption[@ocaml.doc"The type of entitlement."];registrationToken:RegistrationToken.toption[@ocaml.doc"A short-lived token required by acceptors to register their account with the product provider. The token is only valid for 30 minutes after creation and is only applicable for purchase agreements."];status:AgreementEntitlementStatus.toption[@ocaml.doc"The current state of an entitlement."];statusReasonCode:AgreementEntitlementStatusReasonCode.toption[@ocaml.doc"Provides more information about the status of an entitlement."];licenseArn:AwsArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the AWS License Manager license associated with the entitlement."]}letmake?resource=fun?type_->fun?registrationToken->fun?status->fun?statusReasonCode->fun?licenseArn->fun()->{resource;type_;registrationToken;status;statusReasonCode;licenseArn}letto_valuex=structure_to_value[("resource",(Option.mapx.resource~f:Resource.to_value));("type",(Option.mapx.type_~f:EntitlementType.to_value));("registrationToken",(Option.mapx.registrationToken~f:RegistrationToken.to_value));("status",(Option.mapx.status~f:AgreementEntitlementStatus.to_value));("statusReasonCode",(Option.mapx.statusReasonCode~f:AgreementEntitlementStatusReasonCode.to_value));("licenseArn",(Option.mapx.licenseArn~f:AwsArn.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlicenseArn=(Option.map~f:AwsArn.of_xml)(Xml.childxml_arg0"licenseArn")inletstatusReasonCode=(Option.map~f:AgreementEntitlementStatusReasonCode.of_xml)(Xml.childxml_arg0"statusReasonCode")inletstatus=(Option.map~f:AgreementEntitlementStatus.of_xml)(Xml.childxml_arg0"status")inletregistrationToken=(Option.map~f:RegistrationToken.of_xml)(Xml.childxml_arg0"registrationToken")inlettype_=(Option.map~f:EntitlementType.of_xml)(Xml.childxml_arg0"type")inletresource=(Option.map~f:Resource.of_xml)(Xml.childxml_arg0"resource")inmake?licenseArn?statusReasonCode?status?registrationToken?type_?resource()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlicenseArn=field_mapjson__"licenseArn"AwsArn.of_jsoninletstatusReasonCode=field_mapjson__"statusReasonCode"AgreementEntitlementStatusReasonCode.of_jsoninletstatus=field_mapjson__"status"AgreementEntitlementStatus.of_jsoninletregistrationToken=field_mapjson__"registrationToken"RegistrationToken.of_jsoninlettype_=field_mapjson__"type"EntitlementType.of_jsoninletresource=field_mapjson__"resource"Resource.of_jsoninmake?licenseArn?statusReasonCode?status?registrationToken?type_?resource()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Represents an entitlement associated with an agreement, including the provisioning status, resource, and type."]moduleExpectedChargeList=structtypenonrect=ExpectedCharge.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ExpectedCharge.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:ExpectedCharge.of_xml)letof_jsonj=list_of_json~kind:"ExpectedChargeList"~of_json:ExpectedCharge.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleItemizedChargeList=structtypenonrect=ItemizedCharge.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ItemizedCharge.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:ItemizedCharge.of_xml)letof_jsonj=list_of_json~kind:"ItemizedChargeList"~of_json:ItemizedCharge.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleRequestedTerm=structtypenonrect={id:TermId.t[@ocaml.doc"The unique identifier of the term in the agreement proposal."];configuration:RequestedTermConfiguration.toption[@ocaml.doc"Additional configuration for the requested terms. This configuration is applicable only to the terms that accept a customer-provided configuration, such as ConfigurableUpfrontPricingTerm."]}letcontext_="RequestedTerm"letmake?configuration=fun~id->fun()->{configuration;id}letto_valuex=structure_to_value[("id",(Some(TermId.to_valuex.id)));("configuration",(Option.mapx.configuration~f:RequestedTermConfiguration.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letconfiguration=(Option.map~f:RequestedTermConfiguration.of_xml)(Xml.childxml_arg0"configuration")inletid=TermId.of_xml(Xml.child_exn~context:context_xml_arg0"id")inmake?configuration~id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letconfiguration=field_mapjson__"configuration"RequestedTermConfiguration.of_jsoninletid=field_map_exnjson__"id"TermId.of_jsoninmake?configuration~id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Defines what is being accepted as part of the agreement creation or update request, and it includes their configurations."]moduleTaxEstimation=structtypenonrect=|DISABLED|ENABLED|Non_static_idofstringletmakei=iletto_string=function|DISABLED->"DISABLED"|ENABLED->"ENABLED"|Non_static_ids->sletof_string=function|"DISABLED"->DISABLED|"ENABLED"->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 TaxEstimation"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"TaxEstimation"j)letto_json=simple_to_jsonto_valueendmoduleBatchCreateBillingAdjustmentError=structtypenonrect={code:BillingAdjustmentErrorCode.toption[@ocaml.doc"The error code indicating the reason for failure."];message:String_.toption[@ocaml.doc"A human-readable message describing the error."];clientToken:ClientToken.toption[@ocaml.doc"The client token of the request entry that failed."]}letmake?code=fun?message->fun?clientToken->fun()->{code;message;clientToken}letto_valuex=structure_to_value[("code",(Option.mapx.code~f:BillingAdjustmentErrorCode.to_value));("message",(Option.mapx.message~f:String_.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")inletmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"message")inletcode=(Option.map~f:BillingAdjustmentErrorCode.of_xml)(Xml.childxml_arg0"code")inmake?clientToken?message?code()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letclientToken=field_mapjson__"clientToken"ClientToken.of_jsoninletmessage=field_mapjson__"message"String_.of_jsoninletcode=field_mapjson__"code"BillingAdjustmentErrorCode.of_jsoninmake?clientToken?message?code()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"An error for a billing adjustment request entry that failed validation."]moduleBatchCreateBillingAdjustmentItem=structtypenonrect={billingAdjustmentRequestId:BillingAdjustmentRequestId.toption[@ocaml.doc"The unique identifier of the created billing adjustment request."];clientToken:ClientToken.toption[@ocaml.doc"The client token provided in the corresponding request entry."]}letmake?billingAdjustmentRequestId=fun?clientToken->fun()->{billingAdjustmentRequestId;clientToken}letto_valuex=structure_to_value[("billingAdjustmentRequestId",(Option.mapx.billingAdjustmentRequestId~f:BillingAdjustmentRequestId.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")inletbillingAdjustmentRequestId=(Option.map~f:BillingAdjustmentRequestId.of_xml)(Xml.childxml_arg0"billingAdjustmentRequestId")inmake?clientToken?billingAdjustmentRequestId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letclientToken=field_mapjson__"clientToken"ClientToken.of_jsoninletbillingAdjustmentRequestId=field_mapjson__"billingAdjustmentRequestId"BillingAdjustmentRequestId.of_jsoninmake?clientToken?billingAdjustmentRequestId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A successfully created billing adjustment request item."]moduleBatchCreateBillingAdjustmentRequestEntry=structtypenonrect={agreementId:AgreementId.t[@ocaml.doc"The unique identifier of the agreement associated with the invoice."];originalInvoiceId:InvoiceId.t[@ocaml.doc"The identifier of the original invoice to adjust."];adjustmentAmount:PositiveAmountUpto8Decimals.t[@ocaml.doc"The adjustment amount as a string representation of a decimal number in the currency of the invoice."];currencyCode:CurrencyCode.t[@ocaml.doc"The 3-letter ISO 4217 currency code for the adjustment amount. Must match the currency code of the offer associated with the agreement (e.g., USD)."];adjustmentReasonCode:BillingAdjustmentReasonCode.t[@ocaml.doc"The reason code for the billing adjustment."];description:BillingAdjustmentDescription.toption[@ocaml.doc"An optional detailed description of the adjustment reason."];clientToken:ClientToken.t[@ocaml.doc"A unique, case-sensitive identifier that you provide to ensure the idempotency of the request."]}letcontext_="BatchCreateBillingAdjustmentRequestEntry"letmake?description=fun~agreementId->fun~originalInvoiceId->fun~adjustmentAmount->fun~currencyCode->fun~adjustmentReasonCode->fun~clientToken->fun()->{description;agreementId;originalInvoiceId;adjustmentAmount;currencyCode;adjustmentReasonCode;clientToken}letto_valuex=structure_to_value[("agreementId",(Some(AgreementId.to_valuex.agreementId)));("originalInvoiceId",(Some(InvoiceId.to_valuex.originalInvoiceId)));("adjustmentAmount",(Some(PositiveAmountUpto8Decimals.to_valuex.adjustmentAmount)));("currencyCode",(Some(CurrencyCode.to_valuex.currencyCode)));("adjustmentReasonCode",(Some(BillingAdjustmentReasonCode.to_valuex.adjustmentReasonCode)));("description",(Option.mapx.description~f:BillingAdjustmentDescription.to_value));("clientToken",(Some(ClientToken.to_valuex.clientToken)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letclientToken=ClientToken.of_xml(Xml.child_exn~context:context_xml_arg0"clientToken")inletdescription=(Option.map~f:BillingAdjustmentDescription.of_xml)(Xml.childxml_arg0"description")inletadjustmentReasonCode=BillingAdjustmentReasonCode.of_xml(Xml.child_exn~context:context_xml_arg0"adjustmentReasonCode")inletcurrencyCode=CurrencyCode.of_xml(Xml.child_exn~context:context_xml_arg0"currencyCode")inletadjustmentAmount=PositiveAmountUpto8Decimals.of_xml(Xml.child_exn~context:context_xml_arg0"adjustmentAmount")inletoriginalInvoiceId=InvoiceId.of_xml(Xml.child_exn~context:context_xml_arg0"originalInvoiceId")inletagreementId=AgreementId.of_xml(Xml.child_exn~context:context_xml_arg0"agreementId")inmake~clientToken?description~adjustmentReasonCode~currencyCode~adjustmentAmount~originalInvoiceId~agreementId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letclientToken=field_map_exnjson__"clientToken"ClientToken.of_jsoninletdescription=field_mapjson__"description"BillingAdjustmentDescription.of_jsoninletadjustmentReasonCode=field_map_exnjson__"adjustmentReasonCode"BillingAdjustmentReasonCode.of_jsoninletcurrencyCode=field_map_exnjson__"currencyCode"CurrencyCode.of_jsoninletadjustmentAmount=field_map_exnjson__"adjustmentAmount"PositiveAmountUpto8Decimals.of_jsoninletoriginalInvoiceId=field_map_exnjson__"originalInvoiceId"InvoiceId.of_jsoninletagreementId=field_map_exnjson__"agreementId"AgreementId.of_jsoninmake~clientToken?description~adjustmentReasonCode~currencyCode~adjustmentAmount~originalInvoiceId~agreementId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"An individual entry in a batch billing adjustment request, specifying the invoice and adjustment details."]moduleAccessDeniedException=structtypenonrect={requestId:RequestId.toption[@ocaml.doc"The unique identifier for the error."];message:ExceptionMessage.toption[@ocaml.doc"Description of the error."];reason:AccessDeniedExceptionReason.toption[@ocaml.doc"The reason for the access denied exception."]}letmake?requestId=fun?message->fun?reason->fun()->{requestId;message;reason}letto_valuex=structure_to_value[("requestId",(Option.mapx.requestId~f:RequestId.to_value));("message",(Option.mapx.message~f:ExceptionMessage.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:ExceptionMessage.of_xml)(Xml.childxml_arg0"message")inletrequestId=(Option.map~f:RequestId.of_xml)(Xml.childxml_arg0"requestId")inmake?reason?message?requestId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letreason=field_mapjson__"reason"AccessDeniedExceptionReason.of_jsoninletmessage=field_mapjson__"message"ExceptionMessage.of_jsoninletrequestId=field_mapjson__"requestId"RequestId.of_jsoninmake?reason?message?requestId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"User does not have sufficient access to perform this action."]moduleConflictException=structtypenonrect={requestId:RequestId.toption[@ocaml.doc"The unique identifier for the error."];message:ExceptionMessage.toption[@ocaml.doc"Description of the error."];resourceId:ResourceId.toption[@ocaml.doc"The unique identifier of the resource involved in the conflict."];resourceType:ResourceType.toption[@ocaml.doc"The type of the resource involved in the conflict."]}letmake?requestId=fun?message->fun?resourceId->fun?resourceType->fun()->{requestId;message;resourceId;resourceType}letto_valuex=structure_to_value[("requestId",(Option.mapx.requestId~f:RequestId.to_value));("message",(Option.mapx.message~f:ExceptionMessage.to_value));("resourceId",(Option.mapx.resourceId~f:ResourceId.to_value));("resourceType",(Option.mapx.resourceType~f:ResourceType.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresourceType=(Option.map~f:ResourceType.of_xml)(Xml.childxml_arg0"resourceType")inletresourceId=(Option.map~f:ResourceId.of_xml)(Xml.childxml_arg0"resourceId")inletmessage=(Option.map~f:ExceptionMessage.of_xml)(Xml.childxml_arg0"message")inletrequestId=(Option.map~f:RequestId.of_xml)(Xml.childxml_arg0"requestId")inmake?resourceType?resourceId?message?requestId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresourceType=field_mapjson__"resourceType"ResourceType.of_jsoninletresourceId=field_mapjson__"resourceId"ResourceId.of_jsoninletmessage=field_mapjson__"message"ExceptionMessage.of_jsoninletrequestId=field_mapjson__"requestId"RequestId.of_jsoninmake?resourceType?resourceId?message?requestId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Request was denied due to a resource conflict."]moduleInternalServerException=structtypenonrect={requestId:RequestId.toption[@ocaml.doc"The unique identifier for the error."];message:ExceptionMessage.toption[@ocaml.doc"Description of the error."]}letmake?requestId=fun?message->fun()->{requestId;message}letto_valuex=structure_to_value[("requestId",(Option.mapx.requestId~f:RequestId.to_value));("message",(Option.mapx.message~f:ExceptionMessage.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:ExceptionMessage.of_xml)(Xml.childxml_arg0"message")inletrequestId=(Option.map~f:RequestId.of_xml)(Xml.childxml_arg0"requestId")inmake?message?requestId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"ExceptionMessage.of_jsoninletrequestId=field_mapjson__"requestId"RequestId.of_jsoninmake?message?requestId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Unexpected error during processing of request."]moduleResourceNotFoundException=structtypenonrect={requestId:RequestId.toption[@ocaml.doc"The unique identifier for the error."];message:ExceptionMessage.toption[@ocaml.doc"Description of the error."];resourceId:ResourceId.toption[@ocaml.doc"The unique identifier for the resource."];resourceType:ResourceType.toption[@ocaml.doc"The type of resource."]}letmake?requestId=fun?message->fun?resourceId->fun?resourceType->fun()->{requestId;message;resourceId;resourceType}letto_valuex=structure_to_value[("requestId",(Option.mapx.requestId~f:RequestId.to_value));("message",(Option.mapx.message~f:ExceptionMessage.to_value));("resourceId",(Option.mapx.resourceId~f:ResourceId.to_value));("resourceType",(Option.mapx.resourceType~f:ResourceType.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresourceType=(Option.map~f:ResourceType.of_xml)(Xml.childxml_arg0"resourceType")inletresourceId=(Option.map~f:ResourceId.of_xml)(Xml.childxml_arg0"resourceId")inletmessage=(Option.map~f:ExceptionMessage.of_xml)(Xml.childxml_arg0"message")inletrequestId=(Option.map~f:RequestId.of_xml)(Xml.childxml_arg0"requestId")inmake?resourceType?resourceId?message?requestId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresourceType=field_mapjson__"resourceType"ResourceType.of_jsoninletresourceId=field_mapjson__"resourceId"ResourceId.of_jsoninletmessage=field_mapjson__"message"ExceptionMessage.of_jsoninletrequestId=field_mapjson__"requestId"RequestId.of_jsoninmake?resourceType?resourceId?message?requestId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Request references a resource which does not exist."]moduleThrottlingException=structtypenonrect={requestId:RequestId.toption[@ocaml.doc"The unique identifier for the error."];message:ExceptionMessage.toption[@ocaml.doc"Description of the error."]}letmake?requestId=fun?message->fun()->{requestId;message}letto_valuex=structure_to_value[("requestId",(Option.mapx.requestId~f:RequestId.to_value));("message",(Option.mapx.message~f:ExceptionMessage.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:ExceptionMessage.of_xml)(Xml.childxml_arg0"message")inletrequestId=(Option.map~f:RequestId.of_xml)(Xml.childxml_arg0"requestId")inmake?message?requestId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"ExceptionMessage.of_jsoninletrequestId=field_mapjson__"requestId"RequestId.of_jsoninmake?message?requestId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Request was denied due to request throttling."]moduleValidationException=structtypenonrect={requestId:RequestId.toption[@ocaml.doc"The unique identifier associated with the error."];message:ExceptionMessage.toption[@ocaml.doc"Description of the error."];reason:ValidationExceptionReason.toption[@ocaml.doc"The reason associated with the error."];fields:ValidationExceptionFieldList.toption[@ocaml.doc"The fields associated with the error."]}letmake?requestId=fun?message->fun?reason->fun?fields->fun()->{requestId;message;reason;fields}letto_valuex=structure_to_value[("requestId",(Option.mapx.requestId~f:RequestId.to_value));("message",(Option.mapx.message~f:ExceptionMessage.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:ExceptionMessage.of_xml)(Xml.childxml_arg0"message")inletrequestId=(Option.map~f:RequestId.of_xml)(Xml.childxml_arg0"requestId")inmake?fields?reason?message?requestId()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"ExceptionMessage.of_jsoninletrequestId=field_mapjson__"requestId"RequestId.of_jsoninmake?fields?reason?message?requestId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The input fails to satisfy the constraints specified by the service."]modulePurchaseOrders=structtypenonrect=PurchaseOrder.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:86)>>=(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:PurchaseOrder.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:PurchaseOrder.of_xml)letof_jsonj=list_of_json~kind:"PurchaseOrders"~of_json:PurchaseOrder.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmodulePaymentRequestDescription=structtypenonrect=stringletcontext_="PaymentRequestDescription"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:2000)>>=(fun()->check_string_mini~min:1));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"PaymentRequestDescription"jletto_json=simple_to_jsonto_valueendmoduleAgreementCancellationRequestDescription=structtypenonrect=stringletcontext_="AgreementCancellationRequestDescription"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:2000)>>=(fun()->check_string_mini~min:1));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"AgreementCancellationRequestDescription"jletto_json=simple_to_jsonto_valueendmoduleAgreementViewSummaryList=structtypenonrect=AgreementViewSummary.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:AgreementViewSummary.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:AgreementViewSummary.of_xml)letof_jsonj=list_of_json~kind:"AgreementViewSummaryList"~of_json:AgreementViewSummary.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleNextToken=structtypenonrect=stringletcontext_="NextToken"letmakei=letopenResultinok_or_failwith((check_string_mini~min:0)>>=(fun()->(check_string_maxi~max:8192)>>=(fun()->check_patterni~pattern:"[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:"NextToken"jletto_json=simple_to_jsonto_valueendmoduleFilterList=structtypenonrect=Filter.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:Filter.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:Filter.of_xml)letof_jsonj=list_of_json~kind:"FilterList"~of_json:Filter.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleMaxResults=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:50)>>=(fun()->check_int_mini~min:1));iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for MaxResults"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleSort=structtypenonrect={sortBy:SortBy.toption[@ocaml.doc"The attribute on which the data is grouped, which can be by StartTime and EndTime. The default value is EndTime."];sortOrder:SortOrder.toption[@ocaml.doc"The sorting order, which can be ASCENDING or DESCENDING. The default value is DESCENDING."]}letmake?sortBy=fun?sortOrder->fun()->{sortBy;sortOrder}letto_valuex=structure_to_value[("sortBy",(Option.mapx.sortBy~f:SortBy.to_value));("sortOrder",(Option.mapx.sortOrder~f:SortOrder.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letsortOrder=(Option.map~f:SortOrder.of_xml)(Xml.childxml_arg0"sortOrder")inletsortBy=(Option.map~f:SortBy.of_xml)(Xml.childxml_arg0"sortBy")inmake?sortOrder?sortBy()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letsortOrder=field_mapjson__"sortOrder"SortOrder.of_jsoninletsortBy=field_mapjson__"sortBy"SortBy.of_jsoninmake?sortOrder?sortBy()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"An object that contains the SortBy and SortOrder attributes."]modulePaymentRequestStatusMessage=structtypenonrect=stringletcontext_="PaymentRequestStatusMessage"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:"PaymentRequestStatusMessage"jletto_json=simple_to_jsonto_valueendmodulePaymentRequestRejectionReason=structtypenonrect=stringletcontext_="PaymentRequestRejectionReason"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:250)>>=(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:"PaymentRequestRejectionReason"jletto_json=simple_to_jsonto_valueendmoduleAgreementCancellationRequestStatusMessage=structtypenonrect=stringletcontext_="AgreementCancellationRequestStatusMessage"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:2000)>>=(fun()->check_string_mini~min:1));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"AgreementCancellationRequestStatusMessage"jletto_json=simple_to_jsonto_valueendmoduleAgreementCancellationRequestRejectionReason=structtypenonrect=stringletcontext_="AgreementCancellationRequestRejectionReason"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:2000)>>=(fun()->check_string_mini~min:1));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"AgreementCancellationRequestRejectionReason"jletto_json=simple_to_jsonto_valueendmoduleBillingAdjustmentSummaryList=structtypenonrect=BillingAdjustmentSummary.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:BillingAdjustmentSummary.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:BillingAdjustmentSummary.of_xml)letof_jsonj=list_of_json~kind:"BillingAdjustmentSummaryList"~of_json:BillingAdjustmentSummary.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmodulePaymentRequestSummaryList=structtypenonrect=PaymentRequestSummary.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:PaymentRequestSummary.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:PaymentRequestSummary.of_xml)letof_jsonj=list_of_json~kind:"PaymentRequestSummaryList"~of_json:PaymentRequestSummary.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmodulePartyType=structtypenonrect=stringletcontext_="PartyType"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:32)>>=(fun()->check_patterni~pattern:"[A-Za-z]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"PartyType"jletto_json=simple_to_jsonto_valueendmoduleAgreementInvoiceLineItemGroupSummaries=structtypenonrect=AgreementInvoiceLineItemGroupSummary.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:AgreementInvoiceLineItemGroupSummary.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:AgreementInvoiceLineItemGroupSummary.of_xml)letof_jsonj=list_of_json~kind:"AgreementInvoiceLineItemGroupSummaries"~of_json:AgreementInvoiceLineItemGroupSummary.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleLineItemGroupBy=structtypenonrect=|INVOICE_ID|Non_static_idofstringletmakei=iletto_string=function|INVOICE_ID->"INVOICE_ID"|Non_static_ids->sletof_string=function|"INVOICE_ID"->INVOICE_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 LineItemGroupBy"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"LineItemGroupBy"j)letto_json=simple_to_jsonto_valueendmoduleCharges=structtypenonrect=Charge.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:Charge.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:Charge.of_xml)letof_jsonj=list_of_json~kind:"Charges"~of_json:Charge.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleAgreementCancellationRequestSummaryList=structtypenonrect=AgreementCancellationRequestSummary.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:AgreementCancellationRequestSummary.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:AgreementCancellationRequestSummary.of_xml)letof_jsonj=list_of_json~kind:"AgreementCancellationRequestSummaryList"~of_json:AgreementCancellationRequestSummary.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleBillingAdjustmentStatusMessage=structtypenonrect=stringletcontext_="BillingAdjustmentStatusMessage"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:500)>>=(fun()->check_string_mini~min:0));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"BillingAdjustmentStatusMessage"jletto_json=simple_to_jsonto_valueendmoduleAcceptedTermList=structtypenonrect=AcceptedTerm.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:AcceptedTerm.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:AcceptedTerm.of_xml)letof_jsonj=list_of_json~kind:"AcceptedTermList"~of_json:AcceptedTerm.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleAgreementEntitlementList=structtypenonrect=AgreementEntitlement.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:AgreementEntitlement.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:AgreementEntitlement.of_xml)letof_jsonj=list_of_json~kind:"AgreementEntitlementList"~of_json:AgreementEntitlement.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleEstimatedCharges=structtypenonrect={currencyCode:CurrencyCode.toption[@ocaml.doc"Defines the currency code for the charge."];agreementValue:BoundedString.toption[@ocaml.doc"The total known amount customer has to pay across the lifecycle of the agreement. This is the total contract value if accepted terms contain ConfigurableUpfrontPricingTerm or FixedUpfrontPricingTerm. In the case of pure contract pricing, this will be the total value of the contract. In the case of contracts with consumption pricing, this will only include the committed value and not include any overages that occur. If the accepted terms contain PaymentScheduleTerm, it will be the total payment schedule amount. This occurs when flexible payment schedule is used, and is the sum of all invoice charges in the payment schedule. In case a customer has amended an agreement, by purchasing more units of any dimension, this will include both the original cost as well as the added cost incurred due to addition of new units. This is 0 if the accepted terms contain UsageBasedPricingTerm without ConfigurableUpfrontPricingTerm or RecurringPaymentTerm. This occurs for usage-based pricing (such as SaaS metered or AMI/container hourly or monthly), because the exact usage is not known upfront."]}letmake?currencyCode=fun?agreementValue->fun()->{currencyCode;agreementValue}letto_valuex=structure_to_value[("currencyCode",(Option.mapx.currencyCode~f:CurrencyCode.to_value));("agreementValue",(Option.mapx.agreementValue~f:BoundedString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letagreementValue=(Option.map~f:BoundedString.of_xml)(Xml.childxml_arg0"agreementValue")inletcurrencyCode=(Option.map~f:CurrencyCode.of_xml)(Xml.childxml_arg0"currencyCode")inmake?agreementValue?currencyCode()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letagreementValue=field_mapjson__"agreementValue"BoundedString.of_jsoninletcurrencyCode=field_mapjson__"currencyCode"CurrencyCode.of_jsoninmake?agreementValue?currencyCode()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Estimated cost of the agreement."]moduleAgreementRequestId=structtypenonrect=stringletcontext_="AgreementRequestId"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:64)>>=(fun()->check_patterni~pattern:"ar-[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:"AgreementRequestId"jletto_json=simple_to_jsonto_valueendmoduleChargeSummary=structtypenonrect={currencyCode:CurrencyCode.toption[@ocaml.doc"The three-letter currency code for all charges (e.g., USD)."];newAgreementValue:BoundedString.toption[@ocaml.doc"The total value of the agreement, which includes any amendments."];newAgreementValueAfterTax:BoundedString.toption[@ocaml.doc"Expected new agreement value after estimated taxes are applied."];expectedCharges:ExpectedChargeList.toption[@ocaml.doc"A list of expected charges for the agreement request."];estimatedTaxes:EstimatedTaxes.toption[@ocaml.doc"Provides an aggregated view of estimated tax information for the agreement."];itemizedCharges:ItemizedChargeList.toption[@ocaml.doc"An itemized list of charges for the agreement request."];invoicingEntity:InvoicingEntity.toption[@ocaml.doc"The entity responsible for issuing the invoice."]}letmake?currencyCode=fun?newAgreementValue->fun?newAgreementValueAfterTax->fun?expectedCharges->fun?estimatedTaxes->fun?itemizedCharges->fun?invoicingEntity->fun()->{currencyCode;newAgreementValue;newAgreementValueAfterTax;expectedCharges;estimatedTaxes;itemizedCharges;invoicingEntity}letto_valuex=structure_to_value[("currencyCode",(Option.mapx.currencyCode~f:CurrencyCode.to_value));("newAgreementValue",(Option.mapx.newAgreementValue~f:BoundedString.to_value));("newAgreementValueAfterTax",(Option.mapx.newAgreementValueAfterTax~f:BoundedString.to_value));("expectedCharges",(Option.mapx.expectedCharges~f:ExpectedChargeList.to_value));("estimatedTaxes",(Option.mapx.estimatedTaxes~f:EstimatedTaxes.to_value));("itemizedCharges",(Option.mapx.itemizedCharges~f:ItemizedChargeList.to_value));("invoicingEntity",(Option.mapx.invoicingEntity~f:InvoicingEntity.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letinvoicingEntity=(Option.map~f:InvoicingEntity.of_xml)(Xml.childxml_arg0"invoicingEntity")inletitemizedCharges=(Option.map~f:ItemizedChargeList.of_xml)(Xml.childxml_arg0"itemizedCharges")inletestimatedTaxes=(Option.map~f:EstimatedTaxes.of_xml)(Xml.childxml_arg0"estimatedTaxes")inletexpectedCharges=(Option.map~f:ExpectedChargeList.of_xml)(Xml.childxml_arg0"expectedCharges")inletnewAgreementValueAfterTax=(Option.map~f:BoundedString.of_xml)(Xml.childxml_arg0"newAgreementValueAfterTax")inletnewAgreementValue=(Option.map~f:BoundedString.of_xml)(Xml.childxml_arg0"newAgreementValue")inletcurrencyCode=(Option.map~f:CurrencyCode.of_xml)(Xml.childxml_arg0"currencyCode")inmake?invoicingEntity?itemizedCharges?estimatedTaxes?expectedCharges?newAgreementValueAfterTax?newAgreementValue?currencyCode()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letinvoicingEntity=field_mapjson__"invoicingEntity"InvoicingEntity.of_jsoninletitemizedCharges=field_mapjson__"itemizedCharges"ItemizedChargeList.of_jsoninletestimatedTaxes=field_mapjson__"estimatedTaxes"EstimatedTaxes.of_jsoninletexpectedCharges=field_mapjson__"expectedCharges"ExpectedChargeList.of_jsoninletnewAgreementValueAfterTax=field_mapjson__"newAgreementValueAfterTax"BoundedString.of_jsoninletnewAgreementValue=field_mapjson__"newAgreementValue"BoundedString.of_jsoninletcurrencyCode=field_mapjson__"currencyCode"CurrencyCode.of_jsoninmake?invoicingEntity?itemizedCharges?estimatedTaxes?expectedCharges?newAgreementValueAfterTax?newAgreementValue?currencyCode()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The ChargeSummary provides a detailed breakdown of charges that are associated with an agreement request. This is applicable only when a request is created for a PurchaseAgreement. Tax and invoicing fields (such as estimatedTaxes, amountAfterTax, newAgreementValueAfterTax, and invoicingEntity) are returned on a best-effort basis and do not cause the request to fail if unavailable. A null tax amount can have two meanings: Tax estimation was unavailable at the time of the request. The charge timing is BILLING_PERIOD, so the charge amount is not determined at request time. In this case, the tax breakdown may still include the tax rate and type."]moduleServiceQuotaExceededException=structtypenonrect={requestId:RequestId.toption[@ocaml.doc"The unique identifier for the error."];message:ExceptionMessage.toption[@ocaml.doc"Description of the error."];quotaCode:BoundedString.toption[@ocaml.doc"The code of the quota that was exceeded."];serviceCode:BoundedString.toption[@ocaml.doc"The code of the service whose quota was exceeded."];resourceType:BoundedString.toption[@ocaml.doc"The type of the resource that exceeded the quota."];resourceId:ResourceId.toption[@ocaml.doc"The unique identifier of the resource that exceeded the quota."]}letmake?requestId=fun?message->fun?quotaCode->fun?serviceCode->fun?resourceType->fun?resourceId->fun()->{requestId;message;quotaCode;serviceCode;resourceType;resourceId}letto_valuex=structure_to_value[("requestId",(Option.mapx.requestId~f:RequestId.to_value));("message",(Option.mapx.message~f:ExceptionMessage.to_value));("quotaCode",(Option.mapx.quotaCode~f:BoundedString.to_value));("serviceCode",(Option.mapx.serviceCode~f:BoundedString.to_value));("resourceType",(Option.mapx.resourceType~f:BoundedString.to_value));("resourceId",(Option.mapx.resourceId~f:ResourceId.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresourceId=(Option.map~f:ResourceId.of_xml)(Xml.childxml_arg0"resourceId")inletresourceType=(Option.map~f:BoundedString.of_xml)(Xml.childxml_arg0"resourceType")inletserviceCode=(Option.map~f:BoundedString.of_xml)(Xml.childxml_arg0"serviceCode")inletquotaCode=(Option.map~f:BoundedString.of_xml)(Xml.childxml_arg0"quotaCode")inletmessage=(Option.map~f:ExceptionMessage.of_xml)(Xml.childxml_arg0"message")inletrequestId=(Option.map~f:RequestId.of_xml)(Xml.childxml_arg0"requestId")inmake?resourceId?resourceType?serviceCode?quotaCode?message?requestId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresourceId=field_mapjson__"resourceId"ResourceId.of_jsoninletresourceType=field_mapjson__"resourceType"BoundedString.of_jsoninletserviceCode=field_mapjson__"serviceCode"BoundedString.of_jsoninletquotaCode=field_mapjson__"quotaCode"BoundedString.of_jsoninletmessage=field_mapjson__"message"ExceptionMessage.of_jsoninletrequestId=field_mapjson__"requestId"RequestId.of_jsoninmake?resourceId?resourceType?serviceCode?quotaCode?message?requestId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Request exceeded the maximum allowed limit (quota) for a specific resource or API operation."]moduleAgreementProposalId=structtypenonrect=stringletcontext_="AgreementProposalId"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:64)>>=(fun()->check_patterni~pattern:"(at-|ap-)[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:"AgreementProposalId"jletto_json=simple_to_jsonto_valueendmoduleIntent=structtypenonrect=|NEW|AMEND|REPLACE|Non_static_idofstringletmakei=iletto_string=function|NEW->"NEW"|AMEND->"AMEND"|REPLACE->"REPLACE"|Non_static_ids->sletof_string=function|"NEW"->NEW|"AMEND"->AMEND|"REPLACE"->REPLACE|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 Intent"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"Intent"j)letto_json=simple_to_jsonto_valueendmoduleRequestedTermList=structtypenonrect=RequestedTerm.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:30)>>=(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:RequestedTerm.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:RequestedTerm.of_xml)letof_jsonj=list_of_json~kind:"RequestedTermList"~of_json:RequestedTerm.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleTaxConfiguration=structtypenonrect={taxEstimation:TaxEstimation.toption[@ocaml.doc"Toggle to estimate tax as part of the response. Values include ENABLED and DISABLED. Default is DISABLED."]}letmake?taxEstimation=fun()->{taxEstimation}letto_valuex=structure_to_value[("taxEstimation",(Option.mapx.taxEstimation~f:TaxEstimation.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettaxEstimation=(Option.map~f:TaxEstimation.of_xml)(Xml.childxml_arg0"taxEstimation")inmake?taxEstimation()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettaxEstimation=field_mapjson__"taxEstimation"TaxEstimation.of_jsoninmake?taxEstimation()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Configuration controls for tax estimation in the agreement request."]moduleAgreementCancellationRequestCancellationReason=structtypenonrect=stringletcontext_="AgreementCancellationRequestCancellationReason"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:2000)>>=(fun()->check_string_mini~min:1));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"AgreementCancellationRequestCancellationReason"jletto_json=simple_to_jsonto_valueendmoduleBatchCreateBillingAdjustmentErrorList=structtypenonrect=BatchCreateBillingAdjustmentError.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:BatchCreateBillingAdjustmentError.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:BatchCreateBillingAdjustmentError.of_xml)letof_jsonj=list_of_json~kind:"BatchCreateBillingAdjustmentErrorList"~of_json:BatchCreateBillingAdjustmentError.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleBatchCreateBillingAdjustmentItemList=structtypenonrect=BatchCreateBillingAdjustmentItem.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:BatchCreateBillingAdjustmentItem.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:BatchCreateBillingAdjustmentItem.of_xml)letof_jsonj=list_of_json~kind:"BatchCreateBillingAdjustmentItemList"~of_json:BatchCreateBillingAdjustmentItem.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleBatchCreateBillingAdjustmentRequestEntryList=structtypenonrect=BatchCreateBillingAdjustmentRequestEntry.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:BatchCreateBillingAdjustmentRequestEntry.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:BatchCreateBillingAdjustmentRequestEntry.of_xml)letof_jsonj=list_of_json~kind:"BatchCreateBillingAdjustmentRequestEntryList"~of_json:BatchCreateBillingAdjustmentRequestEntry.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleUpdatePurchaseOrdersOutput=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Allows acceptors to associate purchase orders with agreement charges after an agreement is created."]moduleUpdatePurchaseOrdersInput=structtypenonrect={purchaseOrders:PurchaseOrders.t[@ocaml.doc"Contains information about purchase order associations."]}letcontext_="UpdatePurchaseOrdersInput"letmake~purchaseOrders=fun()->{purchaseOrders}letto_valuex=structure_to_value[("purchaseOrders",(Some(PurchaseOrders.to_valuex.purchaseOrders)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letpurchaseOrders=PurchaseOrders.of_xml(Xml.child_exn~context:context_xml_arg0"purchaseOrders")inmake~purchaseOrders()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letpurchaseOrders=field_map_exnjson__"purchaseOrders"PurchaseOrders.of_jsoninmake~purchaseOrders()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Allows acceptors to associate purchase orders with agreement charges after an agreement is created."]moduleSendAgreementPaymentRequestOutput=structtypenonrect={paymentRequestId:PaymentRequestId.toption[@ocaml.doc"The unique identifier for the sent payment request."];agreementId:AgreementId.toption[@ocaml.doc"The agreement identifier for this payment request."];status:PaymentRequestStatus.toption[@ocaml.doc"The current status of the payment request. The initial status is PENDING_APPROVAL."];name:PaymentRequestName.toption[@ocaml.doc"The descriptive name of the payment request."];description:PaymentRequestDescription.toption[@ocaml.doc"The detailed description of the payment request, if provided."];chargeAmount:PositiveAmountUpto8Decimals.toption[@ocaml.doc"The amount being charged to the buyer."];currencyCode:CurrencyCode.toption[@ocaml.doc"The currency code for the charge amount (e.g., USD)."];createdAt:Timestamp.toption[@ocaml.doc"The time when the payment request was created."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?paymentRequestId=fun?agreementId->fun?status->fun?name->fun?description->fun?chargeAmount->fun?currencyCode->fun?createdAt->fun()->{paymentRequestId;agreementId;status;name;description;chargeAmount;currencyCode;createdAt}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[("paymentRequestId",(Option.mapx.paymentRequestId~f:PaymentRequestId.to_value));("agreementId",(Option.mapx.agreementId~f:AgreementId.to_value));("status",(Option.mapx.status~f:PaymentRequestStatus.to_value));("name",(Option.mapx.name~f:PaymentRequestName.to_value));("description",(Option.mapx.description~f:PaymentRequestDescription.to_value));("chargeAmount",(Option.mapx.chargeAmount~f:PositiveAmountUpto8Decimals.to_value));("currencyCode",(Option.mapx.currencyCode~f:CurrencyCode.to_value));("createdAt",(Option.mapx.createdAt~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcreatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"createdAt")inletcurrencyCode=(Option.map~f:CurrencyCode.of_xml)(Xml.childxml_arg0"currencyCode")inletchargeAmount=(Option.map~f:PositiveAmountUpto8Decimals.of_xml)(Xml.childxml_arg0"chargeAmount")inletdescription=(Option.map~f:PaymentRequestDescription.of_xml)(Xml.childxml_arg0"description")inletname=(Option.map~f:PaymentRequestName.of_xml)(Xml.childxml_arg0"name")inletstatus=(Option.map~f:PaymentRequestStatus.of_xml)(Xml.childxml_arg0"status")inletagreementId=(Option.map~f:AgreementId.of_xml)(Xml.childxml_arg0"agreementId")inletpaymentRequestId=(Option.map~f:PaymentRequestId.of_xml)(Xml.childxml_arg0"paymentRequestId")inmake?createdAt?currencyCode?chargeAmount?description?name?status?agreementId?paymentRequestId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcreatedAt=field_mapjson__"createdAt"Timestamp.of_jsoninletcurrencyCode=field_mapjson__"currencyCode"CurrencyCode.of_jsoninletchargeAmount=field_mapjson__"chargeAmount"PositiveAmountUpto8Decimals.of_jsoninletdescription=field_mapjson__"description"PaymentRequestDescription.of_jsoninletname=field_mapjson__"name"PaymentRequestName.of_jsoninletstatus=field_mapjson__"status"PaymentRequestStatus.of_jsoninletagreementId=field_mapjson__"agreementId"AgreementId.of_jsoninletpaymentRequestId=field_mapjson__"paymentRequestId"PaymentRequestId.of_jsoninmake?createdAt?currencyCode?chargeAmount?description?name?status?agreementId?paymentRequestId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Allows sellers (proposers) to submit a payment request to buyers (acceptors) for a specific charge amount for an agreement that includes a VariablePaymentTerm. The payment request is created in PENDING_APPROVAL status, at which point the buyer can accept or reject it. The agreement must be active and have a VariablePaymentTerm to support payment requests. The chargeAmount must not exceed the remaining available balance under the VariablePaymentTerm maxTotalChargeAmount."]moduleSendAgreementPaymentRequestInput=structtypenonrect={clientToken:ClientToken.toption[@ocaml.doc"A unique, case-sensitive identifier that you provide to ensure the idempotency of the request."];agreementId:AgreementId.t[@ocaml.doc"The unique identifier of the agreement for which the payment request is being submitted. Use GetAgreementTerms to retrieve agreement term details."];termId:TermId.t[@ocaml.doc"The unique identifier of the VariablePaymentTerm for the agreement that the payment request is being sent for."];name:PaymentRequestName.t[@ocaml.doc"A descriptive name for the payment request (5-64 characters)."];chargeAmount:PositiveAmountUpto8Decimals.t[@ocaml.doc"The amount requested to be charged to the buyer, positive decimal value in the currency of the accepted term. A ValidationException is returned if the chargeAmount exceeds the available balance, if the agreement doesn't have an active VariablePaymentTerm, or if the termId is invalid."];description:PaymentRequestDescription.toption[@ocaml.doc"An optional detailed description of the payment request (1-2000 characters)."]}letcontext_="SendAgreementPaymentRequestInput"letmake?clientToken=fun?description->fun~agreementId->fun~termId->fun~name->fun~chargeAmount->fun()->{clientToken;description;agreementId;termId;name;chargeAmount}letto_valuex=structure_to_value[("clientToken",(Option.mapx.clientToken~f:ClientToken.to_value));("agreementId",(Some(AgreementId.to_valuex.agreementId)));("termId",(Some(TermId.to_valuex.termId)));("name",(Some(PaymentRequestName.to_valuex.name)));("chargeAmount",(Some(PositiveAmountUpto8Decimals.to_valuex.chargeAmount)));("description",(Option.mapx.description~f:PaymentRequestDescription.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdescription=(Option.map~f:PaymentRequestDescription.of_xml)(Xml.childxml_arg0"description")inletchargeAmount=PositiveAmountUpto8Decimals.of_xml(Xml.child_exn~context:context_xml_arg0"chargeAmount")inletname=PaymentRequestName.of_xml(Xml.child_exn~context:context_xml_arg0"name")inlettermId=TermId.of_xml(Xml.child_exn~context:context_xml_arg0"termId")inletagreementId=AgreementId.of_xml(Xml.child_exn~context:context_xml_arg0"agreementId")inletclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"clientToken")inmake?description~chargeAmount~name~termId~agreementId?clientToken()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdescription=field_mapjson__"description"PaymentRequestDescription.of_jsoninletchargeAmount=field_map_exnjson__"chargeAmount"PositiveAmountUpto8Decimals.of_jsoninletname=field_map_exnjson__"name"PaymentRequestName.of_jsoninlettermId=field_map_exnjson__"termId"TermId.of_jsoninletagreementId=field_map_exnjson__"agreementId"AgreementId.of_jsoninletclientToken=field_mapjson__"clientToken"ClientToken.of_jsoninmake?description~chargeAmount~name~termId~agreementId?clientToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Allows sellers (proposers) to submit a payment request to buyers (acceptors) for a specific charge amount for an agreement that includes a VariablePaymentTerm. The payment request is created in PENDING_APPROVAL status, at which point the buyer can accept or reject it. The agreement must be active and have a VariablePaymentTerm to support payment requests. The chargeAmount must not exceed the remaining available balance under the VariablePaymentTerm maxTotalChargeAmount."]moduleSendAgreementCancellationRequestOutput=structtypenonrect={agreementId:AgreementId.toption[@ocaml.doc"The unique identifier of the agreement."];agreementCancellationRequestId:AgreementCancellationRequestId.toption[@ocaml.doc"The unique identifier for the created cancellation request."];status:AgreementCancellationRequestStatus.toption[@ocaml.doc"The current status of the cancellation request. The initial status is PENDING_APPROVAL."];reasonCode:AgreementCancellationRequestReasonCode.toption[@ocaml.doc"The reason code provided for the cancellation."];description:AgreementCancellationRequestDescription.toption[@ocaml.doc"The detailed description of the cancellation reason, if provided."];createdAt:Timestamp.toption[@ocaml.doc"The time when the cancellation request was created."];updatedAt:Timestamp.toption[@ocaml.doc"The time when the cancellation request was last updated."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?agreementId=fun?agreementCancellationRequestId->fun?status->fun?reasonCode->fun?description->fun?createdAt->fun?updatedAt->fun()->{agreementId;agreementCancellationRequestId;status;reasonCode;description;createdAt;updatedAt}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[("agreementId",(Option.mapx.agreementId~f:AgreementId.to_value));("agreementCancellationRequestId",(Option.mapx.agreementCancellationRequestId~f:AgreementCancellationRequestId.to_value));("status",(Option.mapx.status~f:AgreementCancellationRequestStatus.to_value));("reasonCode",(Option.mapx.reasonCode~f:AgreementCancellationRequestReasonCode.to_value));("description",(Option.mapx.description~f:AgreementCancellationRequestDescription.to_value));("createdAt",(Option.mapx.createdAt~f:Timestamp.to_value));("updatedAt",(Option.mapx.updatedAt~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letupdatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"updatedAt")inletcreatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"createdAt")inletdescription=(Option.map~f:AgreementCancellationRequestDescription.of_xml)(Xml.childxml_arg0"description")inletreasonCode=(Option.map~f:AgreementCancellationRequestReasonCode.of_xml)(Xml.childxml_arg0"reasonCode")inletstatus=(Option.map~f:AgreementCancellationRequestStatus.of_xml)(Xml.childxml_arg0"status")inletagreementCancellationRequestId=(Option.map~f:AgreementCancellationRequestId.of_xml)(Xml.childxml_arg0"agreementCancellationRequestId")inletagreementId=(Option.map~f:AgreementId.of_xml)(Xml.childxml_arg0"agreementId")inmake?updatedAt?createdAt?description?reasonCode?status?agreementCancellationRequestId?agreementId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letupdatedAt=field_mapjson__"updatedAt"Timestamp.of_jsoninletcreatedAt=field_mapjson__"createdAt"Timestamp.of_jsoninletdescription=field_mapjson__"description"AgreementCancellationRequestDescription.of_jsoninletreasonCode=field_mapjson__"reasonCode"AgreementCancellationRequestReasonCode.of_jsoninletstatus=field_mapjson__"status"AgreementCancellationRequestStatus.of_jsoninletagreementCancellationRequestId=field_mapjson__"agreementCancellationRequestId"AgreementCancellationRequestId.of_jsoninletagreementId=field_mapjson__"agreementId"AgreementId.of_jsoninmake?updatedAt?createdAt?description?reasonCode?status?agreementCancellationRequestId?agreementId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Allows sellers (proposers) to submit a cancellation request for an active agreement. The cancellation request is created in PENDING_APPROVAL status, at which point the buyer can review it."]moduleSendAgreementCancellationRequestInput=structtypenonrect={agreementId:AgreementId.t[@ocaml.doc"The unique identifier of the agreement for which the cancellation request is being submitted."];reasonCode:AgreementCancellationRequestReasonCode.t[@ocaml.doc"The reason code for the cancellation request."];clientToken:ClientToken.toption[@ocaml.doc"A unique, case-sensitive identifier that you provide to ensure the idempotency of the request."];description:AgreementCancellationRequestDescription.toption[@ocaml.doc"An optional detailed description of the cancellation reason (1-2000 characters)."]}letcontext_="SendAgreementCancellationRequestInput"letmake?clientToken=fun?description->fun~agreementId->fun~reasonCode->fun()->{clientToken;description;agreementId;reasonCode}letto_valuex=structure_to_value[("agreementId",(Some(AgreementId.to_valuex.agreementId)));("reasonCode",(Some(AgreementCancellationRequestReasonCode.to_valuex.reasonCode)));("clientToken",(Option.mapx.clientToken~f:ClientToken.to_value));("description",(Option.mapx.description~f:AgreementCancellationRequestDescription.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdescription=(Option.map~f:AgreementCancellationRequestDescription.of_xml)(Xml.childxml_arg0"description")inletclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"clientToken")inletreasonCode=AgreementCancellationRequestReasonCode.of_xml(Xml.child_exn~context:context_xml_arg0"reasonCode")inletagreementId=AgreementId.of_xml(Xml.child_exn~context:context_xml_arg0"agreementId")inmake?description?clientToken~reasonCode~agreementId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdescription=field_mapjson__"description"AgreementCancellationRequestDescription.of_jsoninletclientToken=field_mapjson__"clientToken"ClientToken.of_jsoninletreasonCode=field_map_exnjson__"reasonCode"AgreementCancellationRequestReasonCode.of_jsoninletagreementId=field_map_exnjson__"agreementId"AgreementId.of_jsoninmake?description?clientToken~reasonCode~agreementId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Allows sellers (proposers) to submit a cancellation request for an active agreement. The cancellation request is created in PENDING_APPROVAL status, at which point the buyer can review it."]moduleSearchAgreementsOutput=structtypenonrect={agreementViewSummaries:AgreementViewSummaryList.toption[@ocaml.doc"A summary of the agreement, including top-level attributes (for example, the agreement ID, proposer, and acceptor)."];nextToken:NextToken.toption[@ocaml.doc"The token used for pagination. The field is null if there are no more results."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?agreementViewSummaries=fun?nextToken->fun()->{agreementViewSummaries;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[("agreementViewSummaries",(Option.mapx.agreementViewSummaries~f:AgreementViewSummaryList.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")inletagreementViewSummaries=(Option.map~f:AgreementViewSummaryList.of_xml)(Xml.childxml_arg0"agreementViewSummaries")inmake?nextToken?agreementViewSummaries()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"NextToken.of_jsoninletagreementViewSummaries=field_mapjson__"agreementViewSummaries"AgreementViewSummaryList.of_jsoninmake?nextToken?agreementViewSummaries()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Searches across all agreements that a proposer or an acceptor has in AWS Marketplace. The search returns a list of agreements with basic agreement information. The following filter combinations are supported when the PartyType is Proposer: AgreementType AgreementType + EndTime AgreementType + ResourceType AgreementType + ResourceType + EndTime AgreementType + ResourceType + Status AgreementType + ResourceType + Status + EndTime AgreementType + ResourceIdentifier AgreementType + ResourceIdentifier + EndTime AgreementType + ResourceIdentifier + Status AgreementType + ResourceIdentifier + Status + EndTime AgreementType + AcceptorAccountId AgreementType + AcceptorAccountId + EndTime AgreementType + AcceptorAccountId + Status AgreementType + AcceptorAccountId + Status + EndTime AgreementType + AcceptorAccountId + OfferId AgreementType + AcceptorAccountId + OfferId + Status AgreementType + AcceptorAccountId + OfferId + EndTime AgreementType + AcceptorAccountId + OfferId + Status + EndTime AgreementType + AcceptorAccountId + ResourceIdentifier AgreementType + AcceptorAccountId + ResourceIdentifier + Status AgreementType + AcceptorAccountId + ResourceIdentifier + EndTime AgreementType + AcceptorAccountId + ResourceIdentifier + Status + EndTime AgreementType + AcceptorAccountId + ResourceType AgreementType + AcceptorAccountId + ResourceType + EndTime AgreementType + AcceptorAccountId + ResourceType + Status AgreementType + AcceptorAccountId + ResourceType + Status + EndTime AgreementType + Status AgreementType + Status + EndTime AgreementType + OfferId AgreementType + OfferId + EndTime AgreementType + OfferId + Status AgreementType + OfferId + Status + EndTime AgreementType + OfferSetId AgreementType + OfferSetId + EndTime AgreementType + OfferSetId + Status AgreementType + OfferSetId + Status + EndTime To filter by EndTime, you can use BeforeEndTime and/or AfterEndTime. Only EndTime is supported for sorting. The following filter combinations are supported when the PartyType is Acceptor: AgreementType AgreementType + Status AgreementType + EndTime AgreementType + Status + EndTime AgreementType + ResourceIdentifier AgreementType + ResourceIdentifier + EndTime AgreementType + ResourceIdentifier + Status AgreementType + ResourceIdentifier + Status + EndTime AgreementType + ResourceType AgreementType + ResourceType + EndTime AgreementType + OfferId AgreementType + OfferId + EndTime AgreementType + OfferId + Status AgreementType + OfferId + Status + EndTime AgreementType + OfferSetId AgreementType + OfferSetId + EndTime AgreementType + OfferSetId + Status AgreementType + OfferSetId + Status + EndTime"]moduleSearchAgreementsInput=structtypenonrect={catalog:Catalog.toption[@ocaml.doc"The catalog in which the agreement was created."];filters:FilterList.toption[@ocaml.doc"The filter name and value pair used to return a specific list of results. The following filters are supported: ResourceIdentifier \226\128\147 The unique identifier of the resource. ResourceType \226\128\147 Type of the resource, which is the product (AmiProduct, ContainerProduct, SaaSProduct, ProfessionalServicesProduct, or MachineLearningProduct). PartyType \226\128\147 The party type of the caller. Use Proposer or Acceptor. AcceptorAccountId \226\128\147 The AWS account ID of the party accepting the agreement terms. OfferId \226\128\147 The unique identifier of the offer in which the terms are registered in the agreement token. Status \226\128\147 The current status of the agreement. Values include ACTIVE, ARCHIVED, CANCELLED, EXPIRED, RENEWED, REPLACED, and TERMINATED. BeforeEndTime \226\128\147 A date used to filter agreements with a date before the endTime of an agreement. AfterEndTime \226\128\147 A date used to filter agreements with a date after the endTime of an agreement. AgreementType \226\128\147 The type of agreement. Supported value includes PurchaseAgreement. OfferSetId \226\128\147 A unique identifier for the offer set containing this offer. All agreements created from offers in this set include this identifier as context."];sort:Sort.toption[@ocaml.doc"An object that contains the SortBy and SortOrder attributes. Only EndTime is supported for SearchAgreements. The default sort is EndTime descending."];maxResults:MaxResults.toption[@ocaml.doc"The maximum number of agreements to return in the response."];nextToken:NextToken.toption[@ocaml.doc"A token to specify where to start pagination."]}letmake?catalog=fun?filters->fun?sort->fun?maxResults->fun?nextToken->fun()->{catalog;filters;sort;maxResults;nextToken}letto_valuex=structure_to_value[("catalog",(Option.mapx.catalog~f:Catalog.to_value));("filters",(Option.mapx.filters~f:FilterList.to_value));("sort",(Option.mapx.sort~f:Sort.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")inletsort=(Option.map~f:Sort.of_xml)(Xml.childxml_arg0"sort")inletfilters=(Option.map~f:FilterList.of_xml)(Xml.childxml_arg0"filters")inletcatalog=(Option.map~f:Catalog.of_xml)(Xml.childxml_arg0"catalog")inmake?nextToken?maxResults?sort?filters?catalog()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"NextToken.of_jsoninletmaxResults=field_mapjson__"maxResults"MaxResults.of_jsoninletsort=field_mapjson__"sort"Sort.of_jsoninletfilters=field_mapjson__"filters"FilterList.of_jsoninletcatalog=field_mapjson__"catalog"Catalog.of_jsoninmake?nextToken?maxResults?sort?filters?catalog()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Searches across all agreements that a proposer or an acceptor has in AWS Marketplace. The search returns a list of agreements with basic agreement information. The following filter combinations are supported when the PartyType is Proposer: AgreementType AgreementType + EndTime AgreementType + ResourceType AgreementType + ResourceType + EndTime AgreementType + ResourceType + Status AgreementType + ResourceType + Status + EndTime AgreementType + ResourceIdentifier AgreementType + ResourceIdentifier + EndTime AgreementType + ResourceIdentifier + Status AgreementType + ResourceIdentifier + Status + EndTime AgreementType + AcceptorAccountId AgreementType + AcceptorAccountId + EndTime AgreementType + AcceptorAccountId + Status AgreementType + AcceptorAccountId + Status + EndTime AgreementType + AcceptorAccountId + OfferId AgreementType + AcceptorAccountId + OfferId + Status AgreementType + AcceptorAccountId + OfferId + EndTime AgreementType + AcceptorAccountId + OfferId + Status + EndTime AgreementType + AcceptorAccountId + ResourceIdentifier AgreementType + AcceptorAccountId + ResourceIdentifier + Status AgreementType + AcceptorAccountId + ResourceIdentifier + EndTime AgreementType + AcceptorAccountId + ResourceIdentifier + Status + EndTime AgreementType + AcceptorAccountId + ResourceType AgreementType + AcceptorAccountId + ResourceType + EndTime AgreementType + AcceptorAccountId + ResourceType + Status AgreementType + AcceptorAccountId + ResourceType + Status + EndTime AgreementType + Status AgreementType + Status + EndTime AgreementType + OfferId AgreementType + OfferId + EndTime AgreementType + OfferId + Status AgreementType + OfferId + Status + EndTime AgreementType + OfferSetId AgreementType + OfferSetId + EndTime AgreementType + OfferSetId + Status AgreementType + OfferSetId + Status + EndTime To filter by EndTime, you can use BeforeEndTime and/or AfterEndTime. Only EndTime is supported for sorting. The following filter combinations are supported when the PartyType is Acceptor: AgreementType AgreementType + Status AgreementType + EndTime AgreementType + Status + EndTime AgreementType + ResourceIdentifier AgreementType + ResourceIdentifier + EndTime AgreementType + ResourceIdentifier + Status AgreementType + ResourceIdentifier + Status + EndTime AgreementType + ResourceType AgreementType + ResourceType + EndTime AgreementType + OfferId AgreementType + OfferId + EndTime AgreementType + OfferId + Status AgreementType + OfferId + Status + EndTime AgreementType + OfferSetId AgreementType + OfferSetId + EndTime AgreementType + OfferSetId + Status AgreementType + OfferSetId + Status + EndTime"]moduleRejectAgreementPaymentRequestOutput=structtypenonrect={paymentRequestId:PaymentRequestId.toption[@ocaml.doc"The unique identifier of the rejected payment request."];agreementId:AgreementId.toption[@ocaml.doc"The unique identifier of the agreement associated with this payment request."];status:PaymentRequestStatus.toption[@ocaml.doc"The updated status of the payment request, which is REJECTED."];statusMessage:PaymentRequestStatusMessage.toption[@ocaml.doc"The rejection reason provided by the buyer, if any."];name:PaymentRequestName.toption[@ocaml.doc"The descriptive name of the payment request."];description:PaymentRequestDescription.toption[@ocaml.doc"The detailed description of the payment request, if provided."];chargeAmount:PositiveAmountUpto8Decimals.toption[@ocaml.doc"The amount that was requested to be charged."];currencyCode:CurrencyCode.toption[@ocaml.doc"The currency code for the charge amount."];createdAt:Timestamp.toption[@ocaml.doc"The date and time when the payment request was originally created."];updatedAt:Timestamp.toption[@ocaml.doc"The date and time when the payment request was rejected."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?paymentRequestId=fun?agreementId->fun?status->fun?statusMessage->fun?name->fun?description->fun?chargeAmount->fun?currencyCode->fun?createdAt->fun?updatedAt->fun()->{paymentRequestId;agreementId;status;statusMessage;name;description;chargeAmount;currencyCode;createdAt;updatedAt}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[("paymentRequestId",(Option.mapx.paymentRequestId~f:PaymentRequestId.to_value));("agreementId",(Option.mapx.agreementId~f:AgreementId.to_value));("status",(Option.mapx.status~f:PaymentRequestStatus.to_value));("statusMessage",(Option.mapx.statusMessage~f:PaymentRequestStatusMessage.to_value));("name",(Option.mapx.name~f:PaymentRequestName.to_value));("description",(Option.mapx.description~f:PaymentRequestDescription.to_value));("chargeAmount",(Option.mapx.chargeAmount~f:PositiveAmountUpto8Decimals.to_value));("currencyCode",(Option.mapx.currencyCode~f:CurrencyCode.to_value));("createdAt",(Option.mapx.createdAt~f:Timestamp.to_value));("updatedAt",(Option.mapx.updatedAt~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letupdatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"updatedAt")inletcreatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"createdAt")inletcurrencyCode=(Option.map~f:CurrencyCode.of_xml)(Xml.childxml_arg0"currencyCode")inletchargeAmount=(Option.map~f:PositiveAmountUpto8Decimals.of_xml)(Xml.childxml_arg0"chargeAmount")inletdescription=(Option.map~f:PaymentRequestDescription.of_xml)(Xml.childxml_arg0"description")inletname=(Option.map~f:PaymentRequestName.of_xml)(Xml.childxml_arg0"name")inletstatusMessage=(Option.map~f:PaymentRequestStatusMessage.of_xml)(Xml.childxml_arg0"statusMessage")inletstatus=(Option.map~f:PaymentRequestStatus.of_xml)(Xml.childxml_arg0"status")inletagreementId=(Option.map~f:AgreementId.of_xml)(Xml.childxml_arg0"agreementId")inletpaymentRequestId=(Option.map~f:PaymentRequestId.of_xml)(Xml.childxml_arg0"paymentRequestId")inmake?updatedAt?createdAt?currencyCode?chargeAmount?description?name?statusMessage?status?agreementId?paymentRequestId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letupdatedAt=field_mapjson__"updatedAt"Timestamp.of_jsoninletcreatedAt=field_mapjson__"createdAt"Timestamp.of_jsoninletcurrencyCode=field_mapjson__"currencyCode"CurrencyCode.of_jsoninletchargeAmount=field_mapjson__"chargeAmount"PositiveAmountUpto8Decimals.of_jsoninletdescription=field_mapjson__"description"PaymentRequestDescription.of_jsoninletname=field_mapjson__"name"PaymentRequestName.of_jsoninletstatusMessage=field_mapjson__"statusMessage"PaymentRequestStatusMessage.of_jsoninletstatus=field_mapjson__"status"PaymentRequestStatus.of_jsoninletagreementId=field_mapjson__"agreementId"AgreementId.of_jsoninletpaymentRequestId=field_mapjson__"paymentRequestId"PaymentRequestId.of_jsoninmake?updatedAt?createdAt?currencyCode?chargeAmount?description?name?statusMessage?status?agreementId?paymentRequestId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Allows buyers (acceptors) to reject a payment request that is in PENDING_APPROVAL status. Once rejected, the payment request transitions to REJECTED status and cannot be accepted. Buyers can optionally provide a reason for the rejection. Only payment requests in PENDING_APPROVAL status can be rejected. A ConflictException is thrown if the payment request is in any other status."]moduleRejectAgreementPaymentRequestInput=structtypenonrect={paymentRequestId:PaymentRequestId.t[@ocaml.doc"The unique identifier of the payment request to reject."];agreementId:AgreementId.t[@ocaml.doc"The unique identifier of the agreement associated with the payment request."];rejectionReason:PaymentRequestRejectionReason.toption[@ocaml.doc"An optional reason for rejecting the payment request (1-250 characters). This message is visible to the seller."]}letcontext_="RejectAgreementPaymentRequestInput"letmake?rejectionReason=fun~paymentRequestId->fun~agreementId->fun()->{rejectionReason;paymentRequestId;agreementId}letto_valuex=structure_to_value[("paymentRequestId",(Some(PaymentRequestId.to_valuex.paymentRequestId)));("agreementId",(Some(AgreementId.to_valuex.agreementId)));("rejectionReason",(Option.mapx.rejectionReason~f:PaymentRequestRejectionReason.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letrejectionReason=(Option.map~f:PaymentRequestRejectionReason.of_xml)(Xml.childxml_arg0"rejectionReason")inletagreementId=AgreementId.of_xml(Xml.child_exn~context:context_xml_arg0"agreementId")inletpaymentRequestId=PaymentRequestId.of_xml(Xml.child_exn~context:context_xml_arg0"paymentRequestId")inmake?rejectionReason~agreementId~paymentRequestId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letrejectionReason=field_mapjson__"rejectionReason"PaymentRequestRejectionReason.of_jsoninletagreementId=field_map_exnjson__"agreementId"AgreementId.of_jsoninletpaymentRequestId=field_map_exnjson__"paymentRequestId"PaymentRequestId.of_jsoninmake?rejectionReason~agreementId~paymentRequestId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Allows buyers (acceptors) to reject a payment request that is in PENDING_APPROVAL status. Once rejected, the payment request transitions to REJECTED status and cannot be accepted. Buyers can optionally provide a reason for the rejection. Only payment requests in PENDING_APPROVAL status can be rejected. A ConflictException is thrown if the payment request is in any other status."]moduleRejectAgreementCancellationRequestOutput=structtypenonrect={agreementId:AgreementId.toption[@ocaml.doc"The unique identifier of the agreement associated with this cancellation request."];agreementCancellationRequestId:AgreementCancellationRequestId.toption[@ocaml.doc"The unique identifier of the rejected cancellation request."];status:AgreementCancellationRequestStatus.toption[@ocaml.doc"The updated status of the cancellation request, which is REJECTED."];statusMessage:AgreementCancellationRequestStatusMessage.toption[@ocaml.doc"The rejection reason provided by the buyer."];reasonCode:AgreementCancellationRequestReasonCode.toption[@ocaml.doc"The original reason code provided when the cancellation request was created."];description:AgreementCancellationRequestDescription.toption[@ocaml.doc"The detailed description of the cancellation reason, if provided."];createdAt:Timestamp.toption[@ocaml.doc"The date and time when the cancellation request was originally created."];updatedAt:Timestamp.toption[@ocaml.doc"The date and time when the cancellation request was rejected."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?agreementId=fun?agreementCancellationRequestId->fun?status->fun?statusMessage->fun?reasonCode->fun?description->fun?createdAt->fun?updatedAt->fun()->{agreementId;agreementCancellationRequestId;status;statusMessage;reasonCode;description;createdAt;updatedAt}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[("agreementId",(Option.mapx.agreementId~f:AgreementId.to_value));("agreementCancellationRequestId",(Option.mapx.agreementCancellationRequestId~f:AgreementCancellationRequestId.to_value));("status",(Option.mapx.status~f:AgreementCancellationRequestStatus.to_value));("statusMessage",(Option.mapx.statusMessage~f:AgreementCancellationRequestStatusMessage.to_value));("reasonCode",(Option.mapx.reasonCode~f:AgreementCancellationRequestReasonCode.to_value));("description",(Option.mapx.description~f:AgreementCancellationRequestDescription.to_value));("createdAt",(Option.mapx.createdAt~f:Timestamp.to_value));("updatedAt",(Option.mapx.updatedAt~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letupdatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"updatedAt")inletcreatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"createdAt")inletdescription=(Option.map~f:AgreementCancellationRequestDescription.of_xml)(Xml.childxml_arg0"description")inletreasonCode=(Option.map~f:AgreementCancellationRequestReasonCode.of_xml)(Xml.childxml_arg0"reasonCode")inletstatusMessage=(Option.map~f:AgreementCancellationRequestStatusMessage.of_xml)(Xml.childxml_arg0"statusMessage")inletstatus=(Option.map~f:AgreementCancellationRequestStatus.of_xml)(Xml.childxml_arg0"status")inletagreementCancellationRequestId=(Option.map~f:AgreementCancellationRequestId.of_xml)(Xml.childxml_arg0"agreementCancellationRequestId")inletagreementId=(Option.map~f:AgreementId.of_xml)(Xml.childxml_arg0"agreementId")inmake?updatedAt?createdAt?description?reasonCode?statusMessage?status?agreementCancellationRequestId?agreementId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letupdatedAt=field_mapjson__"updatedAt"Timestamp.of_jsoninletcreatedAt=field_mapjson__"createdAt"Timestamp.of_jsoninletdescription=field_mapjson__"description"AgreementCancellationRequestDescription.of_jsoninletreasonCode=field_mapjson__"reasonCode"AgreementCancellationRequestReasonCode.of_jsoninletstatusMessage=field_mapjson__"statusMessage"AgreementCancellationRequestStatusMessage.of_jsoninletstatus=field_mapjson__"status"AgreementCancellationRequestStatus.of_jsoninletagreementCancellationRequestId=field_mapjson__"agreementCancellationRequestId"AgreementCancellationRequestId.of_jsoninletagreementId=field_mapjson__"agreementId"AgreementId.of_jsoninmake?updatedAt?createdAt?description?reasonCode?statusMessage?status?agreementCancellationRequestId?agreementId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Allows buyers (acceptors) to reject a cancellation request that is in PENDING_APPROVAL status. Once rejected, the cancellation request transitions to REJECTED status and the agreement remains active. Buyers must provide a reason for the rejection. Only cancellation requests in PENDING_APPROVAL status can be rejected. A ConflictException is thrown if the cancellation request is in any other status."]moduleRejectAgreementCancellationRequestInput=structtypenonrect={agreementId:AgreementId.t[@ocaml.doc"The unique identifier of the agreement associated with the cancellation request."];agreementCancellationRequestId:AgreementCancellationRequestId.t[@ocaml.doc"The unique identifier of the cancellation request to reject."];rejectionReason:AgreementCancellationRequestRejectionReason.t[@ocaml.doc"The reason for rejecting the cancellation request (1-2000 characters). This message is visible to the seller."]}letcontext_="RejectAgreementCancellationRequestInput"letmake~agreementId=fun~agreementCancellationRequestId->fun~rejectionReason->fun()->{agreementId;agreementCancellationRequestId;rejectionReason}letto_valuex=structure_to_value[("agreementId",(Some(AgreementId.to_valuex.agreementId)));("agreementCancellationRequestId",(Some(AgreementCancellationRequestId.to_valuex.agreementCancellationRequestId)));("rejectionReason",(Some(AgreementCancellationRequestRejectionReason.to_valuex.rejectionReason)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letrejectionReason=AgreementCancellationRequestRejectionReason.of_xml(Xml.child_exn~context:context_xml_arg0"rejectionReason")inletagreementCancellationRequestId=AgreementCancellationRequestId.of_xml(Xml.child_exn~context:context_xml_arg0"agreementCancellationRequestId")inletagreementId=AgreementId.of_xml(Xml.child_exn~context:context_xml_arg0"agreementId")inmake~rejectionReason~agreementCancellationRequestId~agreementId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letrejectionReason=field_map_exnjson__"rejectionReason"AgreementCancellationRequestRejectionReason.of_jsoninletagreementCancellationRequestId=field_map_exnjson__"agreementCancellationRequestId"AgreementCancellationRequestId.of_jsoninletagreementId=field_map_exnjson__"agreementId"AgreementId.of_jsoninmake~rejectionReason~agreementCancellationRequestId~agreementId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Allows buyers (acceptors) to reject a cancellation request that is in PENDING_APPROVAL status. Once rejected, the cancellation request transitions to REJECTED status and the agreement remains active. Buyers must provide a reason for the rejection. Only cancellation requests in PENDING_APPROVAL status can be rejected. A ConflictException is thrown if the cancellation request is in any other status."]moduleListBillingAdjustmentRequestsOutput=structtypenonrect={nextToken:NextToken.toption[@ocaml.doc"The token used for pagination. The field is null if there are no more results."];items:BillingAdjustmentSummaryList.toption[@ocaml.doc"An array of BillingAdjustmentSummary objects containing summary information about each billing adjustment request."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?nextToken=fun?items->fun()->{nextToken;items}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[("nextToken",(Option.mapx.nextToken~f:NextToken.to_value));("items",(Option.mapx.items~f:BillingAdjustmentSummaryList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letitems=(Option.map~f:BillingAdjustmentSummaryList.of_xml)(Xml.childxml_arg0"items")inletnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"nextToken")inmake?items?nextToken()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letitems=field_mapjson__"items"BillingAdjustmentSummaryList.of_jsoninletnextToken=field_mapjson__"nextToken"NextToken.of_jsoninmake?items?nextToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists billing adjustment requests for a specific agreement. Sellers (proposers) can use this operation to view all billing adjustment requests associated with an agreement."]moduleListBillingAdjustmentRequestsInput=structtypenonrect={agreementId:AgreementId.toption[@ocaml.doc"The unique identifier of the agreement to list billing adjustment requests for."];status:BillingAdjustmentStatus.toption[@ocaml.doc"An optional filter to return billing adjustment requests with the specified status."];createdAfter:Timestamp.toption[@ocaml.doc"An optional filter to return billing adjustment requests created after the specified timestamp."];createdBefore:Timestamp.toption[@ocaml.doc"An optional filter to return billing adjustment requests created before the specified timestamp."];maxResults:MaxResults.toption[@ocaml.doc"The maximum number of billing adjustment requests to return in the response."];catalog:Catalog.toption[@ocaml.doc"An optional filter to return billing adjustment requests by catalog (e.g., AWSMarketplace)."];agreementType:AgreementType.toption[@ocaml.doc"An optional filter to return billing adjustment requests by agreement type (e.g., PurchaseAgreement)."];nextToken:NextToken.toption[@ocaml.doc"A token to specify where to start pagination."]}letmake?agreementId=fun?status->fun?createdAfter->fun?createdBefore->fun?maxResults->fun?catalog->fun?agreementType->fun?nextToken->fun()->{agreementId;status;createdAfter;createdBefore;maxResults;catalog;agreementType;nextToken}letto_valuex=structure_to_value[("agreementId",(Option.mapx.agreementId~f:AgreementId.to_value));("status",(Option.mapx.status~f:BillingAdjustmentStatus.to_value));("createdAfter",(Option.mapx.createdAfter~f:Timestamp.to_value));("createdBefore",(Option.mapx.createdBefore~f:Timestamp.to_value));("maxResults",(Option.mapx.maxResults~f:MaxResults.to_value));("catalog",(Option.mapx.catalog~f:Catalog.to_value));("agreementType",(Option.mapx.agreementType~f:AgreementType.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")inletagreementType=(Option.map~f:AgreementType.of_xml)(Xml.childxml_arg0"agreementType")inletcatalog=(Option.map~f:Catalog.of_xml)(Xml.childxml_arg0"catalog")inletmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"maxResults")inletcreatedBefore=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"createdBefore")inletcreatedAfter=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"createdAfter")inletstatus=(Option.map~f:BillingAdjustmentStatus.of_xml)(Xml.childxml_arg0"status")inletagreementId=(Option.map~f:AgreementId.of_xml)(Xml.childxml_arg0"agreementId")inmake?nextToken?agreementType?catalog?maxResults?createdBefore?createdAfter?status?agreementId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"NextToken.of_jsoninletagreementType=field_mapjson__"agreementType"AgreementType.of_jsoninletcatalog=field_mapjson__"catalog"Catalog.of_jsoninletmaxResults=field_mapjson__"maxResults"MaxResults.of_jsoninletcreatedBefore=field_mapjson__"createdBefore"Timestamp.of_jsoninletcreatedAfter=field_mapjson__"createdAfter"Timestamp.of_jsoninletstatus=field_mapjson__"status"BillingAdjustmentStatus.of_jsoninletagreementId=field_mapjson__"agreementId"AgreementId.of_jsoninmake?nextToken?agreementType?catalog?maxResults?createdBefore?createdAfter?status?agreementId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists billing adjustment requests for a specific agreement. Sellers (proposers) can use this operation to view all billing adjustment requests associated with an agreement."]moduleListAgreementPaymentRequestsOutput=structtypenonrect={nextToken:NextToken.toption[@ocaml.doc"The token used for pagination. The field is null if there are no more results."];items:PaymentRequestSummaryList.toption[@ocaml.doc"An array of PaymentRequestSummary objects containing summary information about each payment request."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?nextToken=fun?items->fun()->{nextToken;items}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[("nextToken",(Option.mapx.nextToken~f:NextToken.to_value));("items",(Option.mapx.items~f:PaymentRequestSummaryList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letitems=(Option.map~f:PaymentRequestSummaryList.of_xml)(Xml.childxml_arg0"items")inletnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"nextToken")inmake?items?nextToken()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letitems=field_mapjson__"items"PaymentRequestSummaryList.of_jsoninletnextToken=field_mapjson__"nextToken"NextToken.of_jsoninmake?items?nextToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists payment requests available to you as a seller or buyer. Both sellers (proposers) and buyers (acceptors) can use this operation to find payment requests by specifying their party type and applying optional parameters. PartyType is a required parameter. A ValidationException is returned if PartyType is not provided. Pagination is supported through maxResults (1-50, default 50) and nextToken parameters."]moduleListAgreementPaymentRequestsInput=structtypenonrect={partyType:PartyType.t[@ocaml.doc"The party type for the payment requests. Required parameter. Use Proposer to list payment requests where you are the seller, or Acceptor to list payment requests where you are the buyer."];agreementType:AgreementType.toption[@ocaml.doc"An optional parameter to list payment requests by agreement type (e.g., PurchaseAgreement)."];catalog:Catalog.toption[@ocaml.doc"An optional parameter to list payment requests by catalog (e.g., AWSMarketplace)."];agreementId:AgreementId.toption[@ocaml.doc"An optional parameter to list payment requests for a specific agreement."];status:PaymentRequestStatus.toption[@ocaml.doc"An optional parameter to list payment requests by status. Valid values include VALIDATING, VALIDATION_FAILED, PENDING_APPROVAL, APPROVED, REJECTED, and CANCELLED."];maxResults:MaxResults.toption[@ocaml.doc"The maximum number of payment requests to return in a single response (1-50). Default is 50."];nextToken:NextToken.toption[@ocaml.doc"A token to specify where to start pagination."]}letcontext_="ListAgreementPaymentRequestsInput"letmake?agreementType=fun?catalog->fun?agreementId->fun?status->fun?maxResults->fun?nextToken->fun~partyType->fun()->{agreementType;catalog;agreementId;status;maxResults;nextToken;partyType}letto_valuex=structure_to_value[("partyType",(Some(PartyType.to_valuex.partyType)));("agreementType",(Option.mapx.agreementType~f:AgreementType.to_value));("catalog",(Option.mapx.catalog~f:Catalog.to_value));("agreementId",(Option.mapx.agreementId~f:AgreementId.to_value));("status",(Option.mapx.status~f:PaymentRequestStatus.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")inletstatus=(Option.map~f:PaymentRequestStatus.of_xml)(Xml.childxml_arg0"status")inletagreementId=(Option.map~f:AgreementId.of_xml)(Xml.childxml_arg0"agreementId")inletcatalog=(Option.map~f:Catalog.of_xml)(Xml.childxml_arg0"catalog")inletagreementType=(Option.map~f:AgreementType.of_xml)(Xml.childxml_arg0"agreementType")inletpartyType=PartyType.of_xml(Xml.child_exn~context:context_xml_arg0"partyType")inmake?nextToken?maxResults?status?agreementId?catalog?agreementType~partyType()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"NextToken.of_jsoninletmaxResults=field_mapjson__"maxResults"MaxResults.of_jsoninletstatus=field_mapjson__"status"PaymentRequestStatus.of_jsoninletagreementId=field_mapjson__"agreementId"AgreementId.of_jsoninletcatalog=field_mapjson__"catalog"Catalog.of_jsoninletagreementType=field_mapjson__"agreementType"AgreementType.of_jsoninletpartyType=field_map_exnjson__"partyType"PartyType.of_jsoninmake?nextToken?maxResults?status?agreementId?catalog?agreementType~partyType()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists payment requests available to you as a seller or buyer. Both sellers (proposers) and buyers (acceptors) can use this operation to find payment requests by specifying their party type and applying optional parameters. PartyType is a required parameter. A ValidationException is returned if PartyType is not provided. Pagination is supported through maxResults (1-50, default 50) and nextToken parameters."]moduleListAgreementInvoiceLineItemsOutput=structtypenonrect={agreementInvoiceLineItemGroupSummaries:AgreementInvoiceLineItemGroupSummaries.toption[@ocaml.doc"A list of grouped billing data objects."];nextToken:NextToken.toption[@ocaml.doc"The token used for pagination. The field is null if there are no more results."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?agreementInvoiceLineItemGroupSummaries=fun?nextToken->fun()->{agreementInvoiceLineItemGroupSummaries;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[("agreementInvoiceLineItemGroupSummaries",(Option.mapx.agreementInvoiceLineItemGroupSummaries~f:AgreementInvoiceLineItemGroupSummaries.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")inletagreementInvoiceLineItemGroupSummaries=(Option.map~f:AgreementInvoiceLineItemGroupSummaries.of_xml)(Xml.childxml_arg0"agreementInvoiceLineItemGroupSummaries")inmake?nextToken?agreementInvoiceLineItemGroupSummaries()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"NextToken.of_jsoninletagreementInvoiceLineItemGroupSummaries=field_mapjson__"agreementInvoiceLineItemGroupSummaries"AgreementInvoiceLineItemGroupSummaries.of_jsoninmake?nextToken?agreementInvoiceLineItemGroupSummaries()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Allows sellers (proposers) to retrieve aggregated billing data from AWS Marketplace agreements using flexible grouping. Supports invoice-level aggregation with filtering by billing period, invoice type, and issued date. The groupBy parameter is required and supports only INVOICE_ID as a value. The agreementId parameter is required."]moduleListAgreementInvoiceLineItemsInput=structtypenonrect={agreementId:ResourceId.t[@ocaml.doc"The unique identifier of the agreement."];groupBy:LineItemGroupBy.t[@ocaml.doc"Specifies a grouping strategy for line items. Currently supports INVOICE_ID."];invoiceId:ResourceId.toption[@ocaml.doc"An optional filter to retrieve invoice information for a specific invoice."];invoiceType:InvoiceType.toption[@ocaml.doc"An optional filter for the type of invoice. Valid values are INVOICE and CREDIT_MEMO."];invoiceBillingPeriod:InvoiceBillingPeriod.toption[@ocaml.doc"An optional filter for the billing period associated with the invoice."];beforeIssuedTime:Timestamp.toption[@ocaml.doc"An optional filter for invoices issued before the specified timestamp."];afterIssuedTime:Timestamp.toption[@ocaml.doc"An optional filter for invoices issued after the specified timestamp."];maxResults:MaxResults.toption[@ocaml.doc"The maximum number of results to return in the response."];nextToken:NextToken.toption[@ocaml.doc"A token to specify where to start pagination."]}letcontext_="ListAgreementInvoiceLineItemsInput"letmake?invoiceId=fun?invoiceType->fun?invoiceBillingPeriod->fun?beforeIssuedTime->fun?afterIssuedTime->fun?maxResults->fun?nextToken->fun~agreementId->fun~groupBy->fun()->{invoiceId;invoiceType;invoiceBillingPeriod;beforeIssuedTime;afterIssuedTime;maxResults;nextToken;agreementId;groupBy}letto_valuex=structure_to_value[("agreementId",(Some(ResourceId.to_valuex.agreementId)));("groupBy",(Some(LineItemGroupBy.to_valuex.groupBy)));("invoiceId",(Option.mapx.invoiceId~f:ResourceId.to_value));("invoiceType",(Option.mapx.invoiceType~f:InvoiceType.to_value));("invoiceBillingPeriod",(Option.mapx.invoiceBillingPeriod~f:InvoiceBillingPeriod.to_value));("beforeIssuedTime",(Option.mapx.beforeIssuedTime~f:Timestamp.to_value));("afterIssuedTime",(Option.mapx.afterIssuedTime~f:Timestamp.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")inletafterIssuedTime=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"afterIssuedTime")inletbeforeIssuedTime=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"beforeIssuedTime")inletinvoiceBillingPeriod=(Option.map~f:InvoiceBillingPeriod.of_xml)(Xml.childxml_arg0"invoiceBillingPeriod")inletinvoiceType=(Option.map~f:InvoiceType.of_xml)(Xml.childxml_arg0"invoiceType")inletinvoiceId=(Option.map~f:ResourceId.of_xml)(Xml.childxml_arg0"invoiceId")inletgroupBy=LineItemGroupBy.of_xml(Xml.child_exn~context:context_xml_arg0"groupBy")inletagreementId=ResourceId.of_xml(Xml.child_exn~context:context_xml_arg0"agreementId")inmake?nextToken?maxResults?afterIssuedTime?beforeIssuedTime?invoiceBillingPeriod?invoiceType?invoiceId~groupBy~agreementId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"NextToken.of_jsoninletmaxResults=field_mapjson__"maxResults"MaxResults.of_jsoninletafterIssuedTime=field_mapjson__"afterIssuedTime"Timestamp.of_jsoninletbeforeIssuedTime=field_mapjson__"beforeIssuedTime"Timestamp.of_jsoninletinvoiceBillingPeriod=field_mapjson__"invoiceBillingPeriod"InvoiceBillingPeriod.of_jsoninletinvoiceType=field_mapjson__"invoiceType"InvoiceType.of_jsoninletinvoiceId=field_mapjson__"invoiceId"ResourceId.of_jsoninletgroupBy=field_map_exnjson__"groupBy"LineItemGroupBy.of_jsoninletagreementId=field_map_exnjson__"agreementId"ResourceId.of_jsoninmake?nextToken?maxResults?afterIssuedTime?beforeIssuedTime?invoiceBillingPeriod?invoiceType?invoiceId~groupBy~agreementId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Allows sellers (proposers) to retrieve aggregated billing data from AWS Marketplace agreements using flexible grouping. Supports invoice-level aggregation with filtering by billing period, invoice type, and issued date. The groupBy parameter is required and supports only INVOICE_ID as a value. The agreementId parameter is required."]moduleListAgreementChargesOutput=structtypenonrect={items:Charges.toption[@ocaml.doc"A list of agreement charges."];nextToken:NextToken.toption[@ocaml.doc"The token used for pagination. The field is null if there are no more results."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?items=fun?nextToken->fun()->{items;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[("items",(Option.mapx.items~f:Charges.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")inletitems=(Option.map~f:Charges.of_xml)(Xml.childxml_arg0"items")inmake?nextToken?items()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"NextToken.of_jsoninletitems=field_mapjson__"items"Charges.of_jsoninmake?nextToken?items()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Allows acceptors to view charges and purchase orders that are associated with an agreement. The response includes details about all charges regardless of whether a purchase order is linked to each charge."]moduleListAgreementChargesInput=structtypenonrect={catalog:Catalog.toption[@ocaml.doc"The catalog in which the charges were created."];agreementId:ResourceId.toption[@ocaml.doc"The unique identifier of the agreement."];agreementType:AgreementType.toption[@ocaml.doc"Filter to retrieve charges of a specific agreement type (for example, PurchaseAgreement)."];maxResults:MaxResults.toption[@ocaml.doc"The maximum number of charges to return in the response."];nextToken:NextToken.toption[@ocaml.doc"A token to specify where to start pagination."]}letmake?catalog=fun?agreementId->fun?agreementType->fun?maxResults->fun?nextToken->fun()->{catalog;agreementId;agreementType;maxResults;nextToken}letto_valuex=structure_to_value[("catalog",(Option.mapx.catalog~f:Catalog.to_value));("agreementId",(Option.mapx.agreementId~f:ResourceId.to_value));("agreementType",(Option.mapx.agreementType~f:AgreementType.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")inletagreementType=(Option.map~f:AgreementType.of_xml)(Xml.childxml_arg0"agreementType")inletagreementId=(Option.map~f:ResourceId.of_xml)(Xml.childxml_arg0"agreementId")inletcatalog=(Option.map~f:Catalog.of_xml)(Xml.childxml_arg0"catalog")inmake?nextToken?maxResults?agreementType?agreementId?catalog()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"NextToken.of_jsoninletmaxResults=field_mapjson__"maxResults"MaxResults.of_jsoninletagreementType=field_mapjson__"agreementType"AgreementType.of_jsoninletagreementId=field_mapjson__"agreementId"ResourceId.of_jsoninletcatalog=field_mapjson__"catalog"Catalog.of_jsoninmake?nextToken?maxResults?agreementType?agreementId?catalog()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Allows acceptors to view charges and purchase orders that are associated with an agreement. The response includes details about all charges regardless of whether a purchase order is linked to each charge."]moduleListAgreementCancellationRequestsOutput=structtypenonrect={nextToken:NextToken.toption[@ocaml.doc"The token used for pagination. The field is null if there are no more results."];items:AgreementCancellationRequestSummaryList.toption[@ocaml.doc"An array of AgreementCancellationRequestSummary objects containing summary information about each cancellation request."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?nextToken=fun?items->fun()->{nextToken;items}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[("nextToken",(Option.mapx.nextToken~f:NextToken.to_value));("items",(Option.mapx.items~f:AgreementCancellationRequestSummaryList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letitems=(Option.map~f:AgreementCancellationRequestSummaryList.of_xml)(Xml.childxml_arg0"items")inletnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"nextToken")inmake?items?nextToken()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letitems=field_mapjson__"items"AgreementCancellationRequestSummaryList.of_jsoninletnextToken=field_mapjson__"nextToken"NextToken.of_jsoninmake?items?nextToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists agreement cancellation requests available to you as a seller or buyer. Both sellers (proposers) and buyers (acceptors) can use this operation to find cancellation requests by specifying their party type and applying optional filters. PartyType is a required parameter. A ValidationException is returned if PartyType is not provided."]moduleListAgreementCancellationRequestsInput=structtypenonrect={partyType:PartyType.t[@ocaml.doc"The party type for the cancellation requests. Required parameter. Use Proposer to list cancellation requests where you are the seller, or Acceptor to list cancellation requests where you are the buyer."];agreementId:AgreementId.toption[@ocaml.doc"An optional parameter to filter cancellation requests for a specific agreement."];status:AgreementCancellationRequestStatus.toption[@ocaml.doc"An optional parameter to filter cancellation requests by status."];agreementType:AgreementType.toption[@ocaml.doc"An optional parameter to filter cancellation requests by agreement type (e.g., PurchaseAgreement)."];catalog:Catalog.toption[@ocaml.doc"An optional parameter to filter cancellation requests by catalog (e.g., AWSMarketplace)."];maxResults:MaxResults.toption[@ocaml.doc"The maximum number of cancellation requests to return in the response."];nextToken:NextToken.toption[@ocaml.doc"A token to specify where to start pagination."]}letcontext_="ListAgreementCancellationRequestsInput"letmake?agreementId=fun?status->fun?agreementType->fun?catalog->fun?maxResults->fun?nextToken->fun~partyType->fun()->{agreementId;status;agreementType;catalog;maxResults;nextToken;partyType}letto_valuex=structure_to_value[("partyType",(Some(PartyType.to_valuex.partyType)));("agreementId",(Option.mapx.agreementId~f:AgreementId.to_value));("status",(Option.mapx.status~f:AgreementCancellationRequestStatus.to_value));("agreementType",(Option.mapx.agreementType~f:AgreementType.to_value));("catalog",(Option.mapx.catalog~f:Catalog.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")inletcatalog=(Option.map~f:Catalog.of_xml)(Xml.childxml_arg0"catalog")inletagreementType=(Option.map~f:AgreementType.of_xml)(Xml.childxml_arg0"agreementType")inletstatus=(Option.map~f:AgreementCancellationRequestStatus.of_xml)(Xml.childxml_arg0"status")inletagreementId=(Option.map~f:AgreementId.of_xml)(Xml.childxml_arg0"agreementId")inletpartyType=PartyType.of_xml(Xml.child_exn~context:context_xml_arg0"partyType")inmake?nextToken?maxResults?catalog?agreementType?status?agreementId~partyType()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"NextToken.of_jsoninletmaxResults=field_mapjson__"maxResults"MaxResults.of_jsoninletcatalog=field_mapjson__"catalog"Catalog.of_jsoninletagreementType=field_mapjson__"agreementType"AgreementType.of_jsoninletstatus=field_mapjson__"status"AgreementCancellationRequestStatus.of_jsoninletagreementId=field_mapjson__"agreementId"AgreementId.of_jsoninletpartyType=field_map_exnjson__"partyType"PartyType.of_jsoninmake?nextToken?maxResults?catalog?agreementType?status?agreementId~partyType()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists agreement cancellation requests available to you as a seller or buyer. Both sellers (proposers) and buyers (acceptors) can use this operation to find cancellation requests by specifying their party type and applying optional filters. PartyType is a required parameter. A ValidationException is returned if PartyType is not provided."]moduleGetBillingAdjustmentRequestOutput=structtypenonrect={billingAdjustmentRequestId:BillingAdjustmentRequestId.toption[@ocaml.doc"The unique identifier of the billing adjustment request."];agreementId:AgreementId.toption[@ocaml.doc"The unique identifier of the agreement associated with this billing adjustment request."];adjustmentReasonCode:BillingAdjustmentReasonCode.toption[@ocaml.doc"The reason code for the billing adjustment."];description:String_.toption[@ocaml.doc"The detailed description of the billing adjustment reason, if provided."];originalInvoiceId:InvoiceId.toption[@ocaml.doc"The identifier of the original invoice being adjusted."];adjustmentAmount:PositiveAmountUpto8Decimals.toption[@ocaml.doc"The adjustment amount as a string representation of a decimal number."];currencyCode:CurrencyCode.toption[@ocaml.doc"The currency code for the adjustment amount (e.g., USD)."];status:BillingAdjustmentStatus.toption[@ocaml.doc"The current status of the billing adjustment request."];statusMessage:BillingAdjustmentStatusMessage.toption[@ocaml.doc"A message providing additional context about the billing adjustment request status. This field is populated only when the status is VALIDATION_FAILED."];createdAt:Timestamp.toption[@ocaml.doc"The date and time when the billing adjustment request was created."];updatedAt:Timestamp.toption[@ocaml.doc"The date and time when the billing adjustment request was last updated."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?billingAdjustmentRequestId=fun?agreementId->fun?adjustmentReasonCode->fun?description->fun?originalInvoiceId->fun?adjustmentAmount->fun?currencyCode->fun?status->fun?statusMessage->fun?createdAt->fun?updatedAt->fun()->{billingAdjustmentRequestId;agreementId;adjustmentReasonCode;description;originalInvoiceId;adjustmentAmount;currencyCode;status;statusMessage;createdAt;updatedAt}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[("billingAdjustmentRequestId",(Option.mapx.billingAdjustmentRequestId~f:BillingAdjustmentRequestId.to_value));("agreementId",(Option.mapx.agreementId~f:AgreementId.to_value));("adjustmentReasonCode",(Option.mapx.adjustmentReasonCode~f:BillingAdjustmentReasonCode.to_value));("description",(Option.mapx.description~f:String_.to_value));("originalInvoiceId",(Option.mapx.originalInvoiceId~f:InvoiceId.to_value));("adjustmentAmount",(Option.mapx.adjustmentAmount~f:PositiveAmountUpto8Decimals.to_value));("currencyCode",(Option.mapx.currencyCode~f:CurrencyCode.to_value));("status",(Option.mapx.status~f:BillingAdjustmentStatus.to_value));("statusMessage",(Option.mapx.statusMessage~f:BillingAdjustmentStatusMessage.to_value));("createdAt",(Option.mapx.createdAt~f:Timestamp.to_value));("updatedAt",(Option.mapx.updatedAt~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letupdatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"updatedAt")inletcreatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"createdAt")inletstatusMessage=(Option.map~f:BillingAdjustmentStatusMessage.of_xml)(Xml.childxml_arg0"statusMessage")inletstatus=(Option.map~f:BillingAdjustmentStatus.of_xml)(Xml.childxml_arg0"status")inletcurrencyCode=(Option.map~f:CurrencyCode.of_xml)(Xml.childxml_arg0"currencyCode")inletadjustmentAmount=(Option.map~f:PositiveAmountUpto8Decimals.of_xml)(Xml.childxml_arg0"adjustmentAmount")inletoriginalInvoiceId=(Option.map~f:InvoiceId.of_xml)(Xml.childxml_arg0"originalInvoiceId")inletdescription=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"description")inletadjustmentReasonCode=(Option.map~f:BillingAdjustmentReasonCode.of_xml)(Xml.childxml_arg0"adjustmentReasonCode")inletagreementId=(Option.map~f:AgreementId.of_xml)(Xml.childxml_arg0"agreementId")inletbillingAdjustmentRequestId=(Option.map~f:BillingAdjustmentRequestId.of_xml)(Xml.childxml_arg0"billingAdjustmentRequestId")inmake?updatedAt?createdAt?statusMessage?status?currencyCode?adjustmentAmount?originalInvoiceId?description?adjustmentReasonCode?agreementId?billingAdjustmentRequestId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letupdatedAt=field_mapjson__"updatedAt"Timestamp.of_jsoninletcreatedAt=field_mapjson__"createdAt"Timestamp.of_jsoninletstatusMessage=field_mapjson__"statusMessage"BillingAdjustmentStatusMessage.of_jsoninletstatus=field_mapjson__"status"BillingAdjustmentStatus.of_jsoninletcurrencyCode=field_mapjson__"currencyCode"CurrencyCode.of_jsoninletadjustmentAmount=field_mapjson__"adjustmentAmount"PositiveAmountUpto8Decimals.of_jsoninletoriginalInvoiceId=field_mapjson__"originalInvoiceId"InvoiceId.of_jsoninletdescription=field_mapjson__"description"String_.of_jsoninletadjustmentReasonCode=field_mapjson__"adjustmentReasonCode"BillingAdjustmentReasonCode.of_jsoninletagreementId=field_mapjson__"agreementId"AgreementId.of_jsoninletbillingAdjustmentRequestId=field_mapjson__"billingAdjustmentRequestId"BillingAdjustmentRequestId.of_jsoninmake?updatedAt?createdAt?statusMessage?status?currencyCode?adjustmentAmount?originalInvoiceId?description?adjustmentReasonCode?agreementId?billingAdjustmentRequestId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves detailed information about a specific billing adjustment request. Sellers (proposers) can use this operation to view the status and details of a billing adjustment request they submitted."]moduleGetBillingAdjustmentRequestInput=structtypenonrect={agreementId:AgreementId.t[@ocaml.doc"The unique identifier of the agreement associated with the billing adjustment request."];billingAdjustmentRequestId:BillingAdjustmentRequestId.t[@ocaml.doc"The unique identifier of the billing adjustment request."]}letcontext_="GetBillingAdjustmentRequestInput"letmake~agreementId=fun~billingAdjustmentRequestId->fun()->{agreementId;billingAdjustmentRequestId}letto_valuex=structure_to_value[("agreementId",(Some(AgreementId.to_valuex.agreementId)));("billingAdjustmentRequestId",(Some(BillingAdjustmentRequestId.to_valuex.billingAdjustmentRequestId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letbillingAdjustmentRequestId=BillingAdjustmentRequestId.of_xml(Xml.child_exn~context:context_xml_arg0"billingAdjustmentRequestId")inletagreementId=AgreementId.of_xml(Xml.child_exn~context:context_xml_arg0"agreementId")inmake~billingAdjustmentRequestId~agreementId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letbillingAdjustmentRequestId=field_map_exnjson__"billingAdjustmentRequestId"BillingAdjustmentRequestId.of_jsoninletagreementId=field_map_exnjson__"agreementId"AgreementId.of_jsoninmake~billingAdjustmentRequestId~agreementId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves detailed information about a specific billing adjustment request. Sellers (proposers) can use this operation to view the status and details of a billing adjustment request they submitted."]moduleGetAgreementTermsOutput=structtypenonrect={acceptedTerms:AcceptedTermList.toption[@ocaml.doc"A subset of terms proposed by the proposer that have been accepted by the acceptor as part of the agreement creation."];nextToken:NextToken.toption[@ocaml.doc"The token used for pagination. The field is null if there are no more results."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?acceptedTerms=fun?nextToken->fun()->{acceptedTerms;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[("acceptedTerms",(Option.mapx.acceptedTerms~f:AcceptedTermList.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")inletacceptedTerms=(Option.map~f:AcceptedTermList.of_xml)(Xml.childxml_arg0"acceptedTerms")inmake?nextToken?acceptedTerms()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"NextToken.of_jsoninletacceptedTerms=field_mapjson__"acceptedTerms"AcceptedTermList.of_jsoninmake?nextToken?acceptedTerms()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Obtains details about the terms in an agreement that you participated in as proposer or acceptor. The details include: TermType \226\128\147 The type of term, such as LegalTerm, RenewalTerm, or ConfigurableUpfrontPricingTerm. TermID \226\128\147 The ID of the particular term, which is common between offer and agreement. TermPayload \226\128\147 The key information contained in the term, such as the EULA for LegalTerm or pricing and dimensions for various pricing terms, such as ConfigurableUpfrontPricingTerm or UsageBasedPricingTerm. Configuration \226\128\147 The buyer/acceptor's selection at the time of agreement creation, such as the number of units purchased for a dimension or setting the EnableAutoRenew flag."]moduleGetAgreementTermsInput=structtypenonrect={agreementId:ResourceId.t[@ocaml.doc"The unique identifier of the agreement."];maxResults:MaxResults.toption[@ocaml.doc"The maximum number of agreements to return in the response."];nextToken:NextToken.toption[@ocaml.doc"A token to specify where to start pagination."]}letcontext_="GetAgreementTermsInput"letmake?maxResults=fun?nextToken->fun~agreementId->fun()->{maxResults;nextToken;agreementId}letto_valuex=structure_to_value[("agreementId",(Some(ResourceId.to_valuex.agreementId)));("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")inletagreementId=ResourceId.of_xml(Xml.child_exn~context:context_xml_arg0"agreementId")inmake?nextToken?maxResults~agreementId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"NextToken.of_jsoninletmaxResults=field_mapjson__"maxResults"MaxResults.of_jsoninletagreementId=field_map_exnjson__"agreementId"ResourceId.of_jsoninmake?nextToken?maxResults~agreementId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Obtains details about the terms in an agreement that you participated in as proposer or acceptor. The details include: TermType \226\128\147 The type of term, such as LegalTerm, RenewalTerm, or ConfigurableUpfrontPricingTerm. TermID \226\128\147 The ID of the particular term, which is common between offer and agreement. TermPayload \226\128\147 The key information contained in the term, such as the EULA for LegalTerm or pricing and dimensions for various pricing terms, such as ConfigurableUpfrontPricingTerm or UsageBasedPricingTerm. Configuration \226\128\147 The buyer/acceptor's selection at the time of agreement creation, such as the number of units purchased for a dimension or setting the EnableAutoRenew flag."]moduleGetAgreementPaymentRequestOutput=structtypenonrect={paymentRequestId:PaymentRequestId.toption[@ocaml.doc"The unique identifier of the payment request."];agreementId:AgreementId.toption[@ocaml.doc"The unique identifier of the agreement associated with this payment request. Use DescribeAgreement to retrieve full agreement details."];status:PaymentRequestStatus.toption[@ocaml.doc"The current status of the payment request. Possible values include: VALIDATING \226\128\147 The payment request is being validated against agreement terms. VALIDATION_FAILED \226\128\147 The payment request failed validation. PENDING_APPROVAL \226\128\147 The payment request is awaiting buyer action. APPROVED \226\128\147 The buyer has approved the payment request. REJECTED \226\128\147 The buyer has rejected the payment request. CANCELLED \226\128\147 The seller has cancelled the payment request."];statusMessage:PaymentRequestStatusMessage.toption[@ocaml.doc"An optional message providing additional context about the payment request status, such as a rejection reason or validation failure details."];name:PaymentRequestName.toption[@ocaml.doc"The descriptive name of the payment request."];description:PaymentRequestDescription.toption[@ocaml.doc"The detailed description of the payment request, if provided."];chargeId:ChargeId.toption[@ocaml.doc"The unique identifier of the charge created after the payment request is approved. This field is only present for approved payment requests and follows the pattern ch-\\[a-zA-Z0-9\\]+."];chargeAmount:PositiveAmountUpto8Decimals.toption[@ocaml.doc"The amount charged or to be charged to the buyer."];currencyCode:CurrencyCode.toption[@ocaml.doc"The currency code for the charge amount."];createdAt:Timestamp.toption[@ocaml.doc"The date and time when the payment request was created."];updatedAt:Timestamp.toption[@ocaml.doc"The date and time when the payment request was last updated."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?paymentRequestId=fun?agreementId->fun?status->fun?statusMessage->fun?name->fun?description->fun?chargeId->fun?chargeAmount->fun?currencyCode->fun?createdAt->fun?updatedAt->fun()->{paymentRequestId;agreementId;status;statusMessage;name;description;chargeId;chargeAmount;currencyCode;createdAt;updatedAt}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[("paymentRequestId",(Option.mapx.paymentRequestId~f:PaymentRequestId.to_value));("agreementId",(Option.mapx.agreementId~f:AgreementId.to_value));("status",(Option.mapx.status~f:PaymentRequestStatus.to_value));("statusMessage",(Option.mapx.statusMessage~f:PaymentRequestStatusMessage.to_value));("name",(Option.mapx.name~f:PaymentRequestName.to_value));("description",(Option.mapx.description~f:PaymentRequestDescription.to_value));("chargeId",(Option.mapx.chargeId~f:ChargeId.to_value));("chargeAmount",(Option.mapx.chargeAmount~f:PositiveAmountUpto8Decimals.to_value));("currencyCode",(Option.mapx.currencyCode~f:CurrencyCode.to_value));("createdAt",(Option.mapx.createdAt~f:Timestamp.to_value));("updatedAt",(Option.mapx.updatedAt~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letupdatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"updatedAt")inletcreatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"createdAt")inletcurrencyCode=(Option.map~f:CurrencyCode.of_xml)(Xml.childxml_arg0"currencyCode")inletchargeAmount=(Option.map~f:PositiveAmountUpto8Decimals.of_xml)(Xml.childxml_arg0"chargeAmount")inletchargeId=(Option.map~f:ChargeId.of_xml)(Xml.childxml_arg0"chargeId")inletdescription=(Option.map~f:PaymentRequestDescription.of_xml)(Xml.childxml_arg0"description")inletname=(Option.map~f:PaymentRequestName.of_xml)(Xml.childxml_arg0"name")inletstatusMessage=(Option.map~f:PaymentRequestStatusMessage.of_xml)(Xml.childxml_arg0"statusMessage")inletstatus=(Option.map~f:PaymentRequestStatus.of_xml)(Xml.childxml_arg0"status")inletagreementId=(Option.map~f:AgreementId.of_xml)(Xml.childxml_arg0"agreementId")inletpaymentRequestId=(Option.map~f:PaymentRequestId.of_xml)(Xml.childxml_arg0"paymentRequestId")inmake?updatedAt?createdAt?currencyCode?chargeAmount?chargeId?description?name?statusMessage?status?agreementId?paymentRequestId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letupdatedAt=field_mapjson__"updatedAt"Timestamp.of_jsoninletcreatedAt=field_mapjson__"createdAt"Timestamp.of_jsoninletcurrencyCode=field_mapjson__"currencyCode"CurrencyCode.of_jsoninletchargeAmount=field_mapjson__"chargeAmount"PositiveAmountUpto8Decimals.of_jsoninletchargeId=field_mapjson__"chargeId"ChargeId.of_jsoninletdescription=field_mapjson__"description"PaymentRequestDescription.of_jsoninletname=field_mapjson__"name"PaymentRequestName.of_jsoninletstatusMessage=field_mapjson__"statusMessage"PaymentRequestStatusMessage.of_jsoninletstatus=field_mapjson__"status"PaymentRequestStatus.of_jsoninletagreementId=field_mapjson__"agreementId"AgreementId.of_jsoninletpaymentRequestId=field_mapjson__"paymentRequestId"PaymentRequestId.of_jsoninmake?updatedAt?createdAt?currencyCode?chargeAmount?chargeId?description?name?statusMessage?status?agreementId?paymentRequestId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves detailed information about a specific payment request. Both sellers (proposers) and buyers (acceptors) can use this operation to view payment requests associated with their agreements. The response includes the current status, charge details, timestamps, and the charge ID if the request has been approved. The calling identity must be either the acceptor or proposer of the payment request. A ResourceNotFoundException is returned if the payment request does not exist."]moduleGetAgreementPaymentRequestInput=structtypenonrect={paymentRequestId:PaymentRequestId.t[@ocaml.doc"The identifier of the payment request."];agreementId:AgreementId.t[@ocaml.doc"The unique identifier of the agreement associated with the payment request."]}letcontext_="GetAgreementPaymentRequestInput"letmake~paymentRequestId=fun~agreementId->fun()->{paymentRequestId;agreementId}letto_valuex=structure_to_value[("paymentRequestId",(Some(PaymentRequestId.to_valuex.paymentRequestId)));("agreementId",(Some(AgreementId.to_valuex.agreementId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letagreementId=AgreementId.of_xml(Xml.child_exn~context:context_xml_arg0"agreementId")inletpaymentRequestId=PaymentRequestId.of_xml(Xml.child_exn~context:context_xml_arg0"paymentRequestId")inmake~agreementId~paymentRequestId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letagreementId=field_map_exnjson__"agreementId"AgreementId.of_jsoninletpaymentRequestId=field_map_exnjson__"paymentRequestId"PaymentRequestId.of_jsoninmake~agreementId~paymentRequestId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves detailed information about a specific payment request. Both sellers (proposers) and buyers (acceptors) can use this operation to view payment requests associated with their agreements. The response includes the current status, charge details, timestamps, and the charge ID if the request has been approved. The calling identity must be either the acceptor or proposer of the payment request. A ResourceNotFoundException is returned if the payment request does not exist."]moduleGetAgreementEntitlementsOutput=structtypenonrect={agreementEntitlements:AgreementEntitlementList.toption[@ocaml.doc"A list of agreement entitlements which are part of the latest agreement."];nextToken:NextToken.toption[@ocaml.doc"The token used for pagination. The field is null if there are no more results."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?agreementEntitlements=fun?nextToken->fun()->{agreementEntitlements;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[("agreementEntitlements",(Option.mapx.agreementEntitlements~f:AgreementEntitlementList.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")inletagreementEntitlements=(Option.map~f:AgreementEntitlementList.of_xml)(Xml.childxml_arg0"agreementEntitlements")inmake?nextToken?agreementEntitlements()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"NextToken.of_jsoninletagreementEntitlements=field_mapjson__"agreementEntitlements"AgreementEntitlementList.of_jsoninmake?nextToken?agreementEntitlements()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Obtains details about the entitlements of an agreement."]moduleGetAgreementEntitlementsInput=structtypenonrect={agreementId:ResourceId.t[@ocaml.doc"The unique identifier of the agreement."];maxResults:MaxResults.toption[@ocaml.doc"The maximum number of agreement entitlements to return in the response."];nextToken:NextToken.toption[@ocaml.doc"A token to specify where to start pagination."]}letcontext_="GetAgreementEntitlementsInput"letmake?maxResults=fun?nextToken->fun~agreementId->fun()->{maxResults;nextToken;agreementId}letto_valuex=structure_to_value[("agreementId",(Some(ResourceId.to_valuex.agreementId)));("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")inletagreementId=ResourceId.of_xml(Xml.child_exn~context:context_xml_arg0"agreementId")inmake?nextToken?maxResults~agreementId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"NextToken.of_jsoninletmaxResults=field_mapjson__"maxResults"MaxResults.of_jsoninletagreementId=field_map_exnjson__"agreementId"ResourceId.of_jsoninmake?nextToken?maxResults~agreementId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Obtains details about the entitlements of an agreement."]moduleGetAgreementCancellationRequestOutput=structtypenonrect={agreementCancellationRequestId:AgreementCancellationRequestId.toption[@ocaml.doc"The unique identifier of the cancellation request."];agreementId:AgreementId.toption[@ocaml.doc"The unique identifier of the agreement associated with this cancellation request. Use DescribeAgreement to retrieve full agreement details."];reasonCode:AgreementCancellationRequestReasonCode.toption[@ocaml.doc"The reason code provided for the cancellation."];description:AgreementCancellationRequestDescription.toption[@ocaml.doc"The detailed description of the cancellation reason, if provided."];status:AgreementCancellationRequestStatus.toption[@ocaml.doc"The current status of the cancellation request."];statusMessage:AgreementCancellationRequestStatusMessage.toption[@ocaml.doc"A message providing additional context about the cancellation request status."];createdAt:Timestamp.toption[@ocaml.doc"The date and time when the cancellation request was created."];updatedAt:Timestamp.toption[@ocaml.doc"The date and time when the cancellation request was last updated."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?agreementCancellationRequestId=fun?agreementId->fun?reasonCode->fun?description->fun?status->fun?statusMessage->fun?createdAt->fun?updatedAt->fun()->{agreementCancellationRequestId;agreementId;reasonCode;description;status;statusMessage;createdAt;updatedAt}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[("agreementCancellationRequestId",(Option.mapx.agreementCancellationRequestId~f:AgreementCancellationRequestId.to_value));("agreementId",(Option.mapx.agreementId~f:AgreementId.to_value));("reasonCode",(Option.mapx.reasonCode~f:AgreementCancellationRequestReasonCode.to_value));("description",(Option.mapx.description~f:AgreementCancellationRequestDescription.to_value));("status",(Option.mapx.status~f:AgreementCancellationRequestStatus.to_value));("statusMessage",(Option.mapx.statusMessage~f:AgreementCancellationRequestStatusMessage.to_value));("createdAt",(Option.mapx.createdAt~f:Timestamp.to_value));("updatedAt",(Option.mapx.updatedAt~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letupdatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"updatedAt")inletcreatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"createdAt")inletstatusMessage=(Option.map~f:AgreementCancellationRequestStatusMessage.of_xml)(Xml.childxml_arg0"statusMessage")inletstatus=(Option.map~f:AgreementCancellationRequestStatus.of_xml)(Xml.childxml_arg0"status")inletdescription=(Option.map~f:AgreementCancellationRequestDescription.of_xml)(Xml.childxml_arg0"description")inletreasonCode=(Option.map~f:AgreementCancellationRequestReasonCode.of_xml)(Xml.childxml_arg0"reasonCode")inletagreementId=(Option.map~f:AgreementId.of_xml)(Xml.childxml_arg0"agreementId")inletagreementCancellationRequestId=(Option.map~f:AgreementCancellationRequestId.of_xml)(Xml.childxml_arg0"agreementCancellationRequestId")inmake?updatedAt?createdAt?statusMessage?status?description?reasonCode?agreementId?agreementCancellationRequestId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letupdatedAt=field_mapjson__"updatedAt"Timestamp.of_jsoninletcreatedAt=field_mapjson__"createdAt"Timestamp.of_jsoninletstatusMessage=field_mapjson__"statusMessage"AgreementCancellationRequestStatusMessage.of_jsoninletstatus=field_mapjson__"status"AgreementCancellationRequestStatus.of_jsoninletdescription=field_mapjson__"description"AgreementCancellationRequestDescription.of_jsoninletreasonCode=field_mapjson__"reasonCode"AgreementCancellationRequestReasonCode.of_jsoninletagreementId=field_mapjson__"agreementId"AgreementId.of_jsoninletagreementCancellationRequestId=field_mapjson__"agreementCancellationRequestId"AgreementCancellationRequestId.of_jsoninmake?updatedAt?createdAt?statusMessage?status?description?reasonCode?agreementId?agreementCancellationRequestId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves detailed information about a specific agreement cancellation request. Both sellers (proposers) and buyers (acceptors) can use this operation to view cancellation requests associated with their agreements."]moduleGetAgreementCancellationRequestInput=structtypenonrect={agreementCancellationRequestId:AgreementCancellationRequestId.t[@ocaml.doc"The unique identifier of the cancellation request."];agreementId:AgreementId.t[@ocaml.doc"The unique identifier of the agreement associated with the cancellation request."]}letcontext_="GetAgreementCancellationRequestInput"letmake~agreementCancellationRequestId=fun~agreementId->fun()->{agreementCancellationRequestId;agreementId}letto_valuex=structure_to_value[("agreementCancellationRequestId",(Some(AgreementCancellationRequestId.to_valuex.agreementCancellationRequestId)));("agreementId",(Some(AgreementId.to_valuex.agreementId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letagreementId=AgreementId.of_xml(Xml.child_exn~context:context_xml_arg0"agreementId")inletagreementCancellationRequestId=AgreementCancellationRequestId.of_xml(Xml.child_exn~context:context_xml_arg0"agreementCancellationRequestId")inmake~agreementId~agreementCancellationRequestId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letagreementId=field_map_exnjson__"agreementId"AgreementId.of_jsoninletagreementCancellationRequestId=field_map_exnjson__"agreementCancellationRequestId"AgreementCancellationRequestId.of_jsoninmake~agreementId~agreementCancellationRequestId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves detailed information about a specific agreement cancellation request. Both sellers (proposers) and buyers (acceptors) can use this operation to view cancellation requests associated with their agreements."]moduleDescribeAgreementOutput=structtypenonrect={agreementId:ResourceId.toption[@ocaml.doc"The unique identifier of the agreement."];acceptor:Acceptor.toption[@ocaml.doc"The details of the party accepting the agreement terms. This is commonly the buyer for PurchaseAgreement."];proposer:Proposer.toption[@ocaml.doc"The details of the party proposing the agreement terms. This is commonly the seller for PurchaseAgreement."];startTime:Timestamp.toption[@ocaml.doc"The date and time when the agreement starts."];endTime:Timestamp.toption[@ocaml.doc"The date and time when the agreement ends. The field is null for pay-as-you-go agreements, which don\226\128\153t have end dates."];acceptanceTime:Timestamp.toption[@ocaml.doc"The date and time the offer was accepted or the agreement was created. AcceptanceTime and StartTime can differ for future dated agreements (FDAs)."];agreementType:AgreementType.toption[@ocaml.doc"The type of agreement. Values are PurchaseAgreement or VendorInsightsAgreement."];estimatedCharges:EstimatedCharges.toption[@ocaml.doc"The estimated cost of the agreement."];proposalSummary:ProposalSummary.toption[@ocaml.doc"A summary of the proposal received from the proposer."];status:AgreementStatus.toption[@ocaml.doc"The current status of the agreement. Statuses include: ACTIVE \226\128\147 The terms of the agreement are active. ARCHIVED \226\128\147 The agreement ended without a specified reason. CANCELLED \226\128\147 The acceptor ended the agreement before the defined end date. EXPIRED \226\128\147 The agreement ended on the defined end date. RENEWED \226\128\147 The agreement was renewed into a new agreement (for example, an auto-renewal). REPLACED \226\128\147 The agreement was replaced using an agreement replacement offer. TERMINATED \226\128\147 The agreement ended before the defined end date because of an AWS termination (for example, a payment failure)."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?agreementId=fun?acceptor->fun?proposer->fun?startTime->fun?endTime->fun?acceptanceTime->fun?agreementType->fun?estimatedCharges->fun?proposalSummary->fun?status->fun()->{agreementId;acceptor;proposer;startTime;endTime;acceptanceTime;agreementType;estimatedCharges;proposalSummary;status}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("agreementId",(Option.mapx.agreementId~f:ResourceId.to_value));("acceptor",(Option.mapx.acceptor~f:Acceptor.to_value));("proposer",(Option.mapx.proposer~f:Proposer.to_value));("startTime",(Option.mapx.startTime~f:Timestamp.to_value));("endTime",(Option.mapx.endTime~f:Timestamp.to_value));("acceptanceTime",(Option.mapx.acceptanceTime~f:Timestamp.to_value));("agreementType",(Option.mapx.agreementType~f:AgreementType.to_value));("estimatedCharges",(Option.mapx.estimatedCharges~f:EstimatedCharges.to_value));("proposalSummary",(Option.mapx.proposalSummary~f:ProposalSummary.to_value));("status",(Option.mapx.status~f:AgreementStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstatus=(Option.map~f:AgreementStatus.of_xml)(Xml.childxml_arg0"status")inletproposalSummary=(Option.map~f:ProposalSummary.of_xml)(Xml.childxml_arg0"proposalSummary")inletestimatedCharges=(Option.map~f:EstimatedCharges.of_xml)(Xml.childxml_arg0"estimatedCharges")inletagreementType=(Option.map~f:AgreementType.of_xml)(Xml.childxml_arg0"agreementType")inletacceptanceTime=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"acceptanceTime")inletendTime=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"endTime")inletstartTime=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"startTime")inletproposer=(Option.map~f:Proposer.of_xml)(Xml.childxml_arg0"proposer")inletacceptor=(Option.map~f:Acceptor.of_xml)(Xml.childxml_arg0"acceptor")inletagreementId=(Option.map~f:ResourceId.of_xml)(Xml.childxml_arg0"agreementId")inmake?status?proposalSummary?estimatedCharges?agreementType?acceptanceTime?endTime?startTime?proposer?acceptor?agreementId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstatus=field_mapjson__"status"AgreementStatus.of_jsoninletproposalSummary=field_mapjson__"proposalSummary"ProposalSummary.of_jsoninletestimatedCharges=field_mapjson__"estimatedCharges"EstimatedCharges.of_jsoninletagreementType=field_mapjson__"agreementType"AgreementType.of_jsoninletacceptanceTime=field_mapjson__"acceptanceTime"Timestamp.of_jsoninletendTime=field_mapjson__"endTime"Timestamp.of_jsoninletstartTime=field_mapjson__"startTime"Timestamp.of_jsoninletproposer=field_mapjson__"proposer"Proposer.of_jsoninletacceptor=field_mapjson__"acceptor"Acceptor.of_jsoninletagreementId=field_mapjson__"agreementId"ResourceId.of_jsoninmake?status?proposalSummary?estimatedCharges?agreementType?acceptanceTime?endTime?startTime?proposer?acceptor?agreementId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Provides details about an agreement, such as the proposer, acceptor, start date, and end date."]moduleDescribeAgreementInput=structtypenonrect={agreementId:ResourceId.t[@ocaml.doc"The unique identifier of the agreement."]}letcontext_="DescribeAgreementInput"letmake~agreementId=fun()->{agreementId}letto_valuex=structure_to_value[("agreementId",(Some(ResourceId.to_valuex.agreementId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letagreementId=ResourceId.of_xml(Xml.child_exn~context:context_xml_arg0"agreementId")inmake~agreementId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letagreementId=field_map_exnjson__"agreementId"ResourceId.of_jsoninmake~agreementId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Provides details about an agreement, such as the proposer, acceptor, start date, and end date."]moduleCreateAgreementRequestOutput=structtypenonrect={agreementRequestId:AgreementRequestId.toption[@ocaml.doc"The unique identifier of the agreement request created. Use this identifier with AcceptAgreementRequest to accept the agreement."];chargeSummary:ChargeSummary.toption[@ocaml.doc"Provides details of the charges associated with the agreement request. This is only applicable when a request is created for PurchaseAgreement."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?agreementRequestId=fun?chargeSummary->fun()->{agreementRequestId;chargeSummary}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[("agreementRequestId",(Option.mapx.agreementRequestId~f:AgreementRequestId.to_value));("chargeSummary",(Option.mapx.chargeSummary~f:ChargeSummary.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letchargeSummary=(Option.map~f:ChargeSummary.of_xml)(Xml.childxml_arg0"chargeSummary")inletagreementRequestId=(Option.map~f:AgreementRequestId.of_xml)(Xml.childxml_arg0"agreementRequestId")inmake?chargeSummary?agreementRequestId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letchargeSummary=field_mapjson__"chargeSummary"ChargeSummary.of_jsoninletagreementRequestId=field_mapjson__"agreementRequestId"AgreementRequestId.of_jsoninmake?chargeSummary?agreementRequestId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates an agreement request that acts as a quote for the terms you want to accept. The agreement request captures the requested terms, calculates charges, and returns a summary. Use AcceptAgreementRequest with the returned agreementRequestId to finalize the agreement."]moduleCreateAgreementRequestInput=structtypenonrect={clientToken:ClientToken.toption[@ocaml.doc"A unique, case-sensitive identifier that you provide to ensure the idempotency of the request."];intent:Intent.t[@ocaml.doc"The purpose and desired outcome of the agreement request. This is a required parameter that determines how the agreement request is processed. NEW \226\128\147 Creates a new agreement for terms in the request. AMEND \226\128\147 Modifies an existing agreement with terms that are accepted in the request. REPLACE \226\128\147 Creates a new agreement with accepted terms and replaces the existing agreement."];requestedTerms:RequestedTermList.t[@ocaml.doc"A list of terms that define what is being accepted as part of the agreement. Some terms require configuration."];sourceAgreementIdentifier:ResourceId.toption[@ocaml.doc"The agreement's identifier that the request acts upon. This parameter is required for all non-NEW intents (i.e., AMEND or REPLACE). Don't provide this parameter if the intent is NEW."];agreementProposalIdentifier:AgreementProposalId.toption[@ocaml.doc"The agreement proposal signed by the proposer. The proposal includes the requested resources and the terms that outline an agreement outcome. This parameter is required if the intent is not AMEND."];taxConfiguration:TaxConfiguration.toption[@ocaml.doc"Configuration for tax estimation in the agreement request response."]}letcontext_="CreateAgreementRequestInput"letmake?clientToken=fun?sourceAgreementIdentifier->fun?agreementProposalIdentifier->fun?taxConfiguration->fun~intent->fun~requestedTerms->fun()->{clientToken;sourceAgreementIdentifier;agreementProposalIdentifier;taxConfiguration;intent;requestedTerms}letto_valuex=structure_to_value[("clientToken",(Option.mapx.clientToken~f:ClientToken.to_value));("intent",(Some(Intent.to_valuex.intent)));("requestedTerms",(Some(RequestedTermList.to_valuex.requestedTerms)));("sourceAgreementIdentifier",(Option.mapx.sourceAgreementIdentifier~f:ResourceId.to_value));("agreementProposalIdentifier",(Option.mapx.agreementProposalIdentifier~f:AgreementProposalId.to_value));("taxConfiguration",(Option.mapx.taxConfiguration~f:TaxConfiguration.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettaxConfiguration=(Option.map~f:TaxConfiguration.of_xml)(Xml.childxml_arg0"taxConfiguration")inletagreementProposalIdentifier=(Option.map~f:AgreementProposalId.of_xml)(Xml.childxml_arg0"agreementProposalIdentifier")inletsourceAgreementIdentifier=(Option.map~f:ResourceId.of_xml)(Xml.childxml_arg0"sourceAgreementIdentifier")inletrequestedTerms=RequestedTermList.of_xml(Xml.child_exn~context:context_xml_arg0"requestedTerms")inletintent=Intent.of_xml(Xml.child_exn~context:context_xml_arg0"intent")inletclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"clientToken")inmake?taxConfiguration?agreementProposalIdentifier?sourceAgreementIdentifier~requestedTerms~intent?clientToken()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettaxConfiguration=field_mapjson__"taxConfiguration"TaxConfiguration.of_jsoninletagreementProposalIdentifier=field_mapjson__"agreementProposalIdentifier"AgreementProposalId.of_jsoninletsourceAgreementIdentifier=field_mapjson__"sourceAgreementIdentifier"ResourceId.of_jsoninletrequestedTerms=field_map_exnjson__"requestedTerms"RequestedTermList.of_jsoninletintent=field_map_exnjson__"intent"Intent.of_jsoninletclientToken=field_mapjson__"clientToken"ClientToken.of_jsoninmake?taxConfiguration?agreementProposalIdentifier?sourceAgreementIdentifier~requestedTerms~intent?clientToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates an agreement request that acts as a quote for the terms you want to accept. The agreement request captures the requested terms, calculates charges, and returns a summary. Use AcceptAgreementRequest with the returned agreementRequestId to finalize the agreement."]moduleCancelAgreementPaymentRequestOutput=structtypenonrect={paymentRequestId:PaymentRequestId.toption[@ocaml.doc"The unique identifier of the cancelled payment request."];agreementId:AgreementId.toption[@ocaml.doc"The unique identifier of the agreement associated with this payment request."];status:PaymentRequestStatus.toption[@ocaml.doc"The updated status of the payment request, which is CANCELLED."];name:PaymentRequestName.toption[@ocaml.doc"The descriptive name of the payment request."];description:PaymentRequestDescription.toption[@ocaml.doc"The detailed description of the payment request, if provided."];chargeAmount:PositiveAmountUpto8Decimals.toption[@ocaml.doc"The amount that was requested to be charged."];currencyCode:CurrencyCode.toption[@ocaml.doc"The currency code for the charge amount."];createdAt:Timestamp.toption[@ocaml.doc"The date and time when the payment request was originally created."];updatedAt:Timestamp.toption[@ocaml.doc"The date and time when the payment request was cancelled."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?paymentRequestId=fun?agreementId->fun?status->fun?name->fun?description->fun?chargeAmount->fun?currencyCode->fun?createdAt->fun?updatedAt->fun()->{paymentRequestId;agreementId;status;name;description;chargeAmount;currencyCode;createdAt;updatedAt}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[("paymentRequestId",(Option.mapx.paymentRequestId~f:PaymentRequestId.to_value));("agreementId",(Option.mapx.agreementId~f:AgreementId.to_value));("status",(Option.mapx.status~f:PaymentRequestStatus.to_value));("name",(Option.mapx.name~f:PaymentRequestName.to_value));("description",(Option.mapx.description~f:PaymentRequestDescription.to_value));("chargeAmount",(Option.mapx.chargeAmount~f:PositiveAmountUpto8Decimals.to_value));("currencyCode",(Option.mapx.currencyCode~f:CurrencyCode.to_value));("createdAt",(Option.mapx.createdAt~f:Timestamp.to_value));("updatedAt",(Option.mapx.updatedAt~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letupdatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"updatedAt")inletcreatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"createdAt")inletcurrencyCode=(Option.map~f:CurrencyCode.of_xml)(Xml.childxml_arg0"currencyCode")inletchargeAmount=(Option.map~f:PositiveAmountUpto8Decimals.of_xml)(Xml.childxml_arg0"chargeAmount")inletdescription=(Option.map~f:PaymentRequestDescription.of_xml)(Xml.childxml_arg0"description")inletname=(Option.map~f:PaymentRequestName.of_xml)(Xml.childxml_arg0"name")inletstatus=(Option.map~f:PaymentRequestStatus.of_xml)(Xml.childxml_arg0"status")inletagreementId=(Option.map~f:AgreementId.of_xml)(Xml.childxml_arg0"agreementId")inletpaymentRequestId=(Option.map~f:PaymentRequestId.of_xml)(Xml.childxml_arg0"paymentRequestId")inmake?updatedAt?createdAt?currencyCode?chargeAmount?description?name?status?agreementId?paymentRequestId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letupdatedAt=field_mapjson__"updatedAt"Timestamp.of_jsoninletcreatedAt=field_mapjson__"createdAt"Timestamp.of_jsoninletcurrencyCode=field_mapjson__"currencyCode"CurrencyCode.of_jsoninletchargeAmount=field_mapjson__"chargeAmount"PositiveAmountUpto8Decimals.of_jsoninletdescription=field_mapjson__"description"PaymentRequestDescription.of_jsoninletname=field_mapjson__"name"PaymentRequestName.of_jsoninletstatus=field_mapjson__"status"PaymentRequestStatus.of_jsoninletagreementId=field_mapjson__"agreementId"AgreementId.of_jsoninletpaymentRequestId=field_mapjson__"paymentRequestId"PaymentRequestId.of_jsoninmake?updatedAt?createdAt?currencyCode?chargeAmount?description?name?status?agreementId?paymentRequestId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Allows sellers (proposers) to cancel a payment request that is in PENDING_APPROVAL status. Once cancelled, the payment request transitions to CANCELLED status and can no longer be accepted or rejected by the buyer. Only payment requests in PENDING_APPROVAL status can be cancelled. A ConflictException is thrown if the payment request is in any other status."]moduleCancelAgreementPaymentRequestInput=structtypenonrect={paymentRequestId:PaymentRequestId.t[@ocaml.doc"The unique identifier of the payment request to cancel."];agreementId:AgreementId.t[@ocaml.doc"The unique identifier of the agreement associated with the payment request."]}letcontext_="CancelAgreementPaymentRequestInput"letmake~paymentRequestId=fun~agreementId->fun()->{paymentRequestId;agreementId}letto_valuex=structure_to_value[("paymentRequestId",(Some(PaymentRequestId.to_valuex.paymentRequestId)));("agreementId",(Some(AgreementId.to_valuex.agreementId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letagreementId=AgreementId.of_xml(Xml.child_exn~context:context_xml_arg0"agreementId")inletpaymentRequestId=PaymentRequestId.of_xml(Xml.child_exn~context:context_xml_arg0"paymentRequestId")inmake~agreementId~paymentRequestId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letagreementId=field_map_exnjson__"agreementId"AgreementId.of_jsoninletpaymentRequestId=field_map_exnjson__"paymentRequestId"PaymentRequestId.of_jsoninmake~agreementId~paymentRequestId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Allows sellers (proposers) to cancel a payment request that is in PENDING_APPROVAL status. Once cancelled, the payment request transitions to CANCELLED status and can no longer be accepted or rejected by the buyer. Only payment requests in PENDING_APPROVAL status can be cancelled. A ConflictException is thrown if the payment request is in any other status."]moduleCancelAgreementOutput=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Allows an acceptor to cancel an active agreement. Not all agreements are eligible for cancellation. Use the error response to determine why a cancellation request was rejected."]moduleCancelAgreementInput=structtypenonrect={agreementId:ResourceId.t[@ocaml.doc"The unique identifier of the agreement."]}letcontext_="CancelAgreementInput"letmake~agreementId=fun()->{agreementId}letto_valuex=structure_to_value[("agreementId",(Some(ResourceId.to_valuex.agreementId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letagreementId=ResourceId.of_xml(Xml.child_exn~context:context_xml_arg0"agreementId")inmake~agreementId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letagreementId=field_map_exnjson__"agreementId"ResourceId.of_jsoninmake~agreementId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Allows an acceptor to cancel an active agreement. Not all agreements are eligible for cancellation. Use the error response to determine why a cancellation request was rejected."]moduleCancelAgreementCancellationRequestOutput=structtypenonrect={agreementCancellationRequestId:AgreementCancellationRequestId.toption[@ocaml.doc"The unique identifier of the cancelled cancellation request."];agreementId:AgreementId.toption[@ocaml.doc"The unique identifier of the agreement associated with this cancellation request."];reasonCode:AgreementCancellationRequestReasonCode.toption[@ocaml.doc"The original reason code provided when the cancellation request was created."];description:AgreementCancellationRequestDescription.toption[@ocaml.doc"The detailed description of the original cancellation reason, if provided."];status:AgreementCancellationRequestStatus.toption[@ocaml.doc"The updated status of the cancellation request, which is CANCELLED."];statusMessage:AgreementCancellationRequestStatusMessage.toption[@ocaml.doc"A message providing additional context about the cancellation request status."];createdAt:Timestamp.toption[@ocaml.doc"The date and time when the cancellation request was originally created."];updatedAt:Timestamp.toption[@ocaml.doc"The date and time when the cancellation request was cancelled."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?agreementCancellationRequestId=fun?agreementId->fun?reasonCode->fun?description->fun?status->fun?statusMessage->fun?createdAt->fun?updatedAt->fun()->{agreementCancellationRequestId;agreementId;reasonCode;description;status;statusMessage;createdAt;updatedAt}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[("agreementCancellationRequestId",(Option.mapx.agreementCancellationRequestId~f:AgreementCancellationRequestId.to_value));("agreementId",(Option.mapx.agreementId~f:AgreementId.to_value));("reasonCode",(Option.mapx.reasonCode~f:AgreementCancellationRequestReasonCode.to_value));("description",(Option.mapx.description~f:AgreementCancellationRequestDescription.to_value));("status",(Option.mapx.status~f:AgreementCancellationRequestStatus.to_value));("statusMessage",(Option.mapx.statusMessage~f:AgreementCancellationRequestStatusMessage.to_value));("createdAt",(Option.mapx.createdAt~f:Timestamp.to_value));("updatedAt",(Option.mapx.updatedAt~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letupdatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"updatedAt")inletcreatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"createdAt")inletstatusMessage=(Option.map~f:AgreementCancellationRequestStatusMessage.of_xml)(Xml.childxml_arg0"statusMessage")inletstatus=(Option.map~f:AgreementCancellationRequestStatus.of_xml)(Xml.childxml_arg0"status")inletdescription=(Option.map~f:AgreementCancellationRequestDescription.of_xml)(Xml.childxml_arg0"description")inletreasonCode=(Option.map~f:AgreementCancellationRequestReasonCode.of_xml)(Xml.childxml_arg0"reasonCode")inletagreementId=(Option.map~f:AgreementId.of_xml)(Xml.childxml_arg0"agreementId")inletagreementCancellationRequestId=(Option.map~f:AgreementCancellationRequestId.of_xml)(Xml.childxml_arg0"agreementCancellationRequestId")inmake?updatedAt?createdAt?statusMessage?status?description?reasonCode?agreementId?agreementCancellationRequestId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letupdatedAt=field_mapjson__"updatedAt"Timestamp.of_jsoninletcreatedAt=field_mapjson__"createdAt"Timestamp.of_jsoninletstatusMessage=field_mapjson__"statusMessage"AgreementCancellationRequestStatusMessage.of_jsoninletstatus=field_mapjson__"status"AgreementCancellationRequestStatus.of_jsoninletdescription=field_mapjson__"description"AgreementCancellationRequestDescription.of_jsoninletreasonCode=field_mapjson__"reasonCode"AgreementCancellationRequestReasonCode.of_jsoninletagreementId=field_mapjson__"agreementId"AgreementId.of_jsoninletagreementCancellationRequestId=field_mapjson__"agreementCancellationRequestId"AgreementCancellationRequestId.of_jsoninmake?updatedAt?createdAt?statusMessage?status?description?reasonCode?agreementId?agreementCancellationRequestId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Allows sellers (proposers) to withdraw an existing agreement cancellation request that is in a pending state. Once cancelled, the cancellation request transitions to CANCELLED status and can no longer be approved or rejected by the buyer. Only cancellation requests in PENDING_APPROVAL status can be cancelled. A ConflictException is thrown if the cancellation request is in any other status."]moduleCancelAgreementCancellationRequestInput=structtypenonrect={agreementId:AgreementId.t[@ocaml.doc"The unique identifier of the agreement associated with the cancellation request."];agreementCancellationRequestId:AgreementCancellationRequestId.t[@ocaml.doc"The unique identifier of the cancellation request to cancel."];cancellationReason:AgreementCancellationRequestCancellationReason.t[@ocaml.doc"A required message explaining why the cancellation request is being withdrawn (1-2000 characters)."]}letcontext_="CancelAgreementCancellationRequestInput"letmake~agreementId=fun~agreementCancellationRequestId->fun~cancellationReason->fun()->{agreementId;agreementCancellationRequestId;cancellationReason}letto_valuex=structure_to_value[("agreementId",(Some(AgreementId.to_valuex.agreementId)));("agreementCancellationRequestId",(Some(AgreementCancellationRequestId.to_valuex.agreementCancellationRequestId)));("cancellationReason",(Some(AgreementCancellationRequestCancellationReason.to_valuex.cancellationReason)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcancellationReason=AgreementCancellationRequestCancellationReason.of_xml(Xml.child_exn~context:context_xml_arg0"cancellationReason")inletagreementCancellationRequestId=AgreementCancellationRequestId.of_xml(Xml.child_exn~context:context_xml_arg0"agreementCancellationRequestId")inletagreementId=AgreementId.of_xml(Xml.child_exn~context:context_xml_arg0"agreementId")inmake~cancellationReason~agreementCancellationRequestId~agreementId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcancellationReason=field_map_exnjson__"cancellationReason"AgreementCancellationRequestCancellationReason.of_jsoninletagreementCancellationRequestId=field_map_exnjson__"agreementCancellationRequestId"AgreementCancellationRequestId.of_jsoninletagreementId=field_map_exnjson__"agreementId"AgreementId.of_jsoninmake~cancellationReason~agreementCancellationRequestId~agreementId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Allows sellers (proposers) to withdraw an existing agreement cancellation request that is in a pending state. Once cancelled, the cancellation request transitions to CANCELLED status and can no longer be approved or rejected by the buyer. Only cancellation requests in PENDING_APPROVAL status can be cancelled. A ConflictException is thrown if the cancellation request is in any other status."]moduleBatchCreateBillingAdjustmentRequestOutput=structtypenonrect={items:BatchCreateBillingAdjustmentItemList.toption[@ocaml.doc"A list of successfully created billing adjustment items, each containing the billingAdjustmentRequestId and clientToken."];errors:BatchCreateBillingAdjustmentErrorList.toption[@ocaml.doc"A list of errors for entries that failed validation, each containing the clientToken, error code, and message."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?items=fun?errors->fun()->{items;errors}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("items",(Option.mapx.items~f:BatchCreateBillingAdjustmentItemList.to_value));("errors",(Option.mapx.errors~f:BatchCreateBillingAdjustmentErrorList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=leterrors=(Option.map~f:BatchCreateBillingAdjustmentErrorList.of_xml)(Xml.childxml_arg0"errors")inletitems=(Option.map~f:BatchCreateBillingAdjustmentItemList.of_xml)(Xml.childxml_arg0"items")inmake?errors?items()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=leterrors=field_mapjson__"errors"BatchCreateBillingAdjustmentErrorList.of_jsoninletitems=field_mapjson__"items"BatchCreateBillingAdjustmentItemList.of_jsoninmake?errors?items()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Allows sellers (proposers) to submit billing adjustment requests for one or more invoices within an agreement. Each entry in the batch specifies an invoice and the adjustment amount. The operation returns successfully created adjustment request IDs and any errors for entries that failed to process. Each entry requires a unique clientToken for idempotency."]moduleBatchCreateBillingAdjustmentRequestInput=structtypenonrect={billingAdjustmentRequestEntries:BatchCreateBillingAdjustmentRequestEntryList.t[@ocaml.doc"A list of billing adjustment request entries. Each entry specifies the invoice and adjustment details."]}letcontext_="BatchCreateBillingAdjustmentRequestInput"letmake~billingAdjustmentRequestEntries=fun()->{billingAdjustmentRequestEntries}letto_valuex=structure_to_value[("billingAdjustmentRequestEntries",(Some(BatchCreateBillingAdjustmentRequestEntryList.to_valuex.billingAdjustmentRequestEntries)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letbillingAdjustmentRequestEntries=BatchCreateBillingAdjustmentRequestEntryList.of_xml(Xml.child_exn~context:context_xml_arg0"billingAdjustmentRequestEntries")inmake~billingAdjustmentRequestEntries()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letbillingAdjustmentRequestEntries=field_map_exnjson__"billingAdjustmentRequestEntries"BatchCreateBillingAdjustmentRequestEntryList.of_jsoninmake~billingAdjustmentRequestEntries()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Allows sellers (proposers) to submit billing adjustment requests for one or more invoices within an agreement. Each entry in the batch specifies an invoice and the adjustment amount. The operation returns successfully created adjustment request IDs and any errors for entries that failed to process. Each entry requires a unique clientToken for idempotency."]moduleAcceptAgreementRequestOutput=structtypenonrect={agreementId:ResourceId.toption[@ocaml.doc"The unique identifier of the agreement created or modified by accepting the agreement request."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?agreementId=fun()->{agreementId}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[("agreementId",(Option.mapx.agreementId~f:ResourceId.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letagreementId=(Option.map~f:ResourceId.of_xml)(Xml.childxml_arg0"agreementId")inmake?agreementId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letagreementId=field_mapjson__"agreementId"ResourceId.of_jsoninmake?agreementId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Accepts an agreement request to finalize the agreement. The acceptor can optionally provide purchase orders to associate with the agreement charges."]moduleAcceptAgreementRequestInput=structtypenonrect={agreementRequestId:AgreementRequestId.t[@ocaml.doc"The unique identifier of the agreement request."];purchaseOrders:PurchaseOrders.toption[@ocaml.doc"A list of purchase orders associated with accepting a marketplace agreement request."]}letcontext_="AcceptAgreementRequestInput"letmake?purchaseOrders=fun~agreementRequestId->fun()->{purchaseOrders;agreementRequestId}letto_valuex=structure_to_value[("agreementRequestId",(Some(AgreementRequestId.to_valuex.agreementRequestId)));("purchaseOrders",(Option.mapx.purchaseOrders~f:PurchaseOrders.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letpurchaseOrders=(Option.map~f:PurchaseOrders.of_xml)(Xml.childxml_arg0"purchaseOrders")inletagreementRequestId=AgreementRequestId.of_xml(Xml.child_exn~context:context_xml_arg0"agreementRequestId")inmake?purchaseOrders~agreementRequestId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letpurchaseOrders=field_mapjson__"purchaseOrders"PurchaseOrders.of_jsoninletagreementRequestId=field_map_exnjson__"agreementRequestId"AgreementRequestId.of_jsoninmake?purchaseOrders~agreementRequestId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Accepts an agreement request to finalize the agreement. The acceptor can optionally provide purchase orders to associate with the agreement charges."]moduleAcceptAgreementPaymentRequestOutput=structtypenonrect={paymentRequestId:PaymentRequestId.toption[@ocaml.doc"The unique identifier of the accepted payment request."];agreementId:AgreementId.toption[@ocaml.doc"The unique identifier of the agreement associated with this payment request."];status:PaymentRequestStatus.toption[@ocaml.doc"The updated status of the payment request, which is APPROVED."];name:PaymentRequestName.toption[@ocaml.doc"The descriptive name of the payment request."];description:PaymentRequestDescription.toption[@ocaml.doc"The detailed description of the payment request, if provided."];chargeAmount:PositiveAmountUpto8Decimals.toption[@ocaml.doc"The amount that was approved to be charged."];currencyCode:CurrencyCode.toption[@ocaml.doc"The currency code for the charge amount."];createdAt:Timestamp.toption[@ocaml.doc"The date and time when the payment request was originally created."];updatedAt:Timestamp.toption[@ocaml.doc"The date and time when the payment request was accepted."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?paymentRequestId=fun?agreementId->fun?status->fun?name->fun?description->fun?chargeAmount->fun?currencyCode->fun?createdAt->fun?updatedAt->fun()->{paymentRequestId;agreementId;status;name;description;chargeAmount;currencyCode;createdAt;updatedAt}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[("paymentRequestId",(Option.mapx.paymentRequestId~f:PaymentRequestId.to_value));("agreementId",(Option.mapx.agreementId~f:AgreementId.to_value));("status",(Option.mapx.status~f:PaymentRequestStatus.to_value));("name",(Option.mapx.name~f:PaymentRequestName.to_value));("description",(Option.mapx.description~f:PaymentRequestDescription.to_value));("chargeAmount",(Option.mapx.chargeAmount~f:PositiveAmountUpto8Decimals.to_value));("currencyCode",(Option.mapx.currencyCode~f:CurrencyCode.to_value));("createdAt",(Option.mapx.createdAt~f:Timestamp.to_value));("updatedAt",(Option.mapx.updatedAt~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letupdatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"updatedAt")inletcreatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"createdAt")inletcurrencyCode=(Option.map~f:CurrencyCode.of_xml)(Xml.childxml_arg0"currencyCode")inletchargeAmount=(Option.map~f:PositiveAmountUpto8Decimals.of_xml)(Xml.childxml_arg0"chargeAmount")inletdescription=(Option.map~f:PaymentRequestDescription.of_xml)(Xml.childxml_arg0"description")inletname=(Option.map~f:PaymentRequestName.of_xml)(Xml.childxml_arg0"name")inletstatus=(Option.map~f:PaymentRequestStatus.of_xml)(Xml.childxml_arg0"status")inletagreementId=(Option.map~f:AgreementId.of_xml)(Xml.childxml_arg0"agreementId")inletpaymentRequestId=(Option.map~f:PaymentRequestId.of_xml)(Xml.childxml_arg0"paymentRequestId")inmake?updatedAt?createdAt?currencyCode?chargeAmount?description?name?status?agreementId?paymentRequestId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letupdatedAt=field_mapjson__"updatedAt"Timestamp.of_jsoninletcreatedAt=field_mapjson__"createdAt"Timestamp.of_jsoninletcurrencyCode=field_mapjson__"currencyCode"CurrencyCode.of_jsoninletchargeAmount=field_mapjson__"chargeAmount"PositiveAmountUpto8Decimals.of_jsoninletdescription=field_mapjson__"description"PaymentRequestDescription.of_jsoninletname=field_mapjson__"name"PaymentRequestName.of_jsoninletstatus=field_mapjson__"status"PaymentRequestStatus.of_jsoninletagreementId=field_mapjson__"agreementId"AgreementId.of_jsoninletpaymentRequestId=field_mapjson__"paymentRequestId"PaymentRequestId.of_jsoninmake?updatedAt?createdAt?currencyCode?chargeAmount?description?name?status?agreementId?paymentRequestId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Allows buyers (acceptors) to accept a payment request that is in PENDING_APPROVAL status. Once accepted, the payment request transitions to APPROVED status and the charge will be processed. Buyers can optionally provide a purchase order reference for their internal tracking. Only payment requests in PENDING_APPROVAL status can be accepted. A ConflictException is thrown if the payment request is in any other status."]moduleAcceptAgreementPaymentRequestInput=structtypenonrect={paymentRequestId:PaymentRequestId.t[@ocaml.doc"The unique identifier of the payment request to accept."];agreementId:AgreementId.t[@ocaml.doc"The unique identifier of the agreement associated with the payment request."];purchaseOrderReference:PurchaseOrderReference.toption[@ocaml.doc"An optional purchase order reference that buyers can provide to associate the payment request with their internal purchase order system."]}letcontext_="AcceptAgreementPaymentRequestInput"letmake?purchaseOrderReference=fun~paymentRequestId->fun~agreementId->fun()->{purchaseOrderReference;paymentRequestId;agreementId}letto_valuex=structure_to_value[("paymentRequestId",(Some(PaymentRequestId.to_valuex.paymentRequestId)));("agreementId",(Some(AgreementId.to_valuex.agreementId)));("purchaseOrderReference",(Option.mapx.purchaseOrderReference~f:PurchaseOrderReference.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letpurchaseOrderReference=(Option.map~f:PurchaseOrderReference.of_xml)(Xml.childxml_arg0"purchaseOrderReference")inletagreementId=AgreementId.of_xml(Xml.child_exn~context:context_xml_arg0"agreementId")inletpaymentRequestId=PaymentRequestId.of_xml(Xml.child_exn~context:context_xml_arg0"paymentRequestId")inmake?purchaseOrderReference~agreementId~paymentRequestId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letpurchaseOrderReference=field_mapjson__"purchaseOrderReference"PurchaseOrderReference.of_jsoninletagreementId=field_map_exnjson__"agreementId"AgreementId.of_jsoninletpaymentRequestId=field_map_exnjson__"paymentRequestId"PaymentRequestId.of_jsoninmake?purchaseOrderReference~agreementId~paymentRequestId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Allows buyers (acceptors) to accept a payment request that is in PENDING_APPROVAL status. Once accepted, the payment request transitions to APPROVED status and the charge will be processed. Buyers can optionally provide a purchase order reference for their internal tracking. Only payment requests in PENDING_APPROVAL status can be accepted. A ConflictException is thrown if the payment request is in any other status."]moduleAcceptAgreementCancellationRequestOutput=structtypenonrect={agreementId:AgreementId.toption[@ocaml.doc"The unique identifier of the agreement associated with this cancellation request."];agreementCancellationRequestId:AgreementCancellationRequestId.toption[@ocaml.doc"The unique identifier of the accepted cancellation request."];status:AgreementCancellationRequestStatus.toption[@ocaml.doc"The updated status of the cancellation request, which is APPROVED."];reasonCode:AgreementCancellationRequestReasonCode.toption[@ocaml.doc"The original reason code provided when the cancellation request was created."];description:AgreementCancellationRequestDescription.toption[@ocaml.doc"The detailed description of the cancellation reason, if provided."];createdAt:Timestamp.toption[@ocaml.doc"The date and time when the cancellation request was originally created."];updatedAt:Timestamp.toption[@ocaml.doc"The date and time when the cancellation request was accepted."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?agreementId=fun?agreementCancellationRequestId->fun?status->fun?reasonCode->fun?description->fun?createdAt->fun?updatedAt->fun()->{agreementId;agreementCancellationRequestId;status;reasonCode;description;createdAt;updatedAt}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[("agreementId",(Option.mapx.agreementId~f:AgreementId.to_value));("agreementCancellationRequestId",(Option.mapx.agreementCancellationRequestId~f:AgreementCancellationRequestId.to_value));("status",(Option.mapx.status~f:AgreementCancellationRequestStatus.to_value));("reasonCode",(Option.mapx.reasonCode~f:AgreementCancellationRequestReasonCode.to_value));("description",(Option.mapx.description~f:AgreementCancellationRequestDescription.to_value));("createdAt",(Option.mapx.createdAt~f:Timestamp.to_value));("updatedAt",(Option.mapx.updatedAt~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letupdatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"updatedAt")inletcreatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"createdAt")inletdescription=(Option.map~f:AgreementCancellationRequestDescription.of_xml)(Xml.childxml_arg0"description")inletreasonCode=(Option.map~f:AgreementCancellationRequestReasonCode.of_xml)(Xml.childxml_arg0"reasonCode")inletstatus=(Option.map~f:AgreementCancellationRequestStatus.of_xml)(Xml.childxml_arg0"status")inletagreementCancellationRequestId=(Option.map~f:AgreementCancellationRequestId.of_xml)(Xml.childxml_arg0"agreementCancellationRequestId")inletagreementId=(Option.map~f:AgreementId.of_xml)(Xml.childxml_arg0"agreementId")inmake?updatedAt?createdAt?description?reasonCode?status?agreementCancellationRequestId?agreementId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letupdatedAt=field_mapjson__"updatedAt"Timestamp.of_jsoninletcreatedAt=field_mapjson__"createdAt"Timestamp.of_jsoninletdescription=field_mapjson__"description"AgreementCancellationRequestDescription.of_jsoninletreasonCode=field_mapjson__"reasonCode"AgreementCancellationRequestReasonCode.of_jsoninletstatus=field_mapjson__"status"AgreementCancellationRequestStatus.of_jsoninletagreementCancellationRequestId=field_mapjson__"agreementCancellationRequestId"AgreementCancellationRequestId.of_jsoninletagreementId=field_mapjson__"agreementId"AgreementId.of_jsoninmake?updatedAt?createdAt?description?reasonCode?status?agreementCancellationRequestId?agreementId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Allows buyers (acceptors) to accept a cancellation request that is in PENDING_APPROVAL status. Once accepted, the cancellation request transitions to APPROVED status and the agreement cancellation will be processed. Only cancellation requests in PENDING_APPROVAL status can be accepted. A ConflictException is thrown if the cancellation request is in any other status."]moduleAcceptAgreementCancellationRequestInput=structtypenonrect={agreementId:AgreementId.t[@ocaml.doc"The unique identifier of the agreement associated with the cancellation request."];agreementCancellationRequestId:AgreementCancellationRequestId.t[@ocaml.doc"The unique identifier of the cancellation request to accept."]}letcontext_="AcceptAgreementCancellationRequestInput"letmake~agreementId=fun~agreementCancellationRequestId->fun()->{agreementId;agreementCancellationRequestId}letto_valuex=structure_to_value[("agreementId",(Some(AgreementId.to_valuex.agreementId)));("agreementCancellationRequestId",(Some(AgreementCancellationRequestId.to_valuex.agreementCancellationRequestId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letagreementCancellationRequestId=AgreementCancellationRequestId.of_xml(Xml.child_exn~context:context_xml_arg0"agreementCancellationRequestId")inletagreementId=AgreementId.of_xml(Xml.child_exn~context:context_xml_arg0"agreementId")inmake~agreementCancellationRequestId~agreementId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letagreementCancellationRequestId=field_map_exnjson__"agreementCancellationRequestId"AgreementCancellationRequestId.of_jsoninletagreementId=field_map_exnjson__"agreementId"AgreementId.of_jsoninmake~agreementCancellationRequestId~agreementId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Allows buyers (acceptors) to accept a cancellation request that is in PENDING_APPROVAL status. Once accepted, the cancellation request transitions to APPROVED status and the agreement cancellation will be processed. Only cancellation requests in PENDING_APPROVAL status can be accepted. A ConflictException is thrown if the cancellation request is in any other status."]