123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936(* 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.invoicingletapiVersion="2024-12-01"letendpointPrefix="invoicing"letserviceFullName="AWS Invoicing"letsignatureVersion="v4"letprotocol="json"letglobalEndpoint=endpointPrefix^".amazonaws.com"lettargetPrefix="Invoicing"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[]))])moduleBasicString=structtypenonrect=stringletcontext_="BasicString"letmakei=letopenResultinok_or_failwith((check_string_mini~min:0)>>=(fun()->(check_string_maxi~max:1024)>>=(fun()->check_patterni~pattern:"[\\s\\S]*")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"BasicString"jletto_json=simple_to_jsonto_valueendmoduleDiscountsBreakdownAmount=structtypenonrect={description:BasicString.toption[@ocaml.doc"The list of discounts information."];amount:BasicString.toption[@ocaml.doc"The discounted amount."];rate:BasicString.toption[@ocaml.doc"The details for the discount rate.."]}letmake?description=fun?amount->fun?rate->fun()->{description;amount;rate}letto_valuex=structure_to_value[("Description",(Option.mapx.description~f:BasicString.to_value));("Amount",(Option.mapx.amount~f:BasicString.to_value));("Rate",(Option.mapx.rate~f:BasicString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letrate=(Option.map~f:BasicString.of_xml)(Xml.childxml_arg0"Rate")inletamount=(Option.map~f:BasicString.of_xml)(Xml.childxml_arg0"Amount")inletdescription=(Option.map~f:BasicString.of_xml)(Xml.childxml_arg0"Description")inmake?rate?amount?description()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letrate=field_mapjson__"Rate"BasicString.of_jsoninletamount=field_mapjson__"Amount"BasicString.of_jsoninletdescription=field_mapjson__"Description"BasicString.of_jsoninmake?rate?amount?description()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The discounted amount."]moduleFeesBreakdownAmount=structtypenonrect={description:BasicString.toption[@ocaml.doc"The list of fees information."];amount:BasicString.toption[@ocaml.doc"The fee amount."];rate:BasicString.toption[@ocaml.doc"Details about the rate amount."]}letmake?description=fun?amount->fun?rate->fun()->{description;amount;rate}letto_valuex=structure_to_value[("Description",(Option.mapx.description~f:BasicString.to_value));("Amount",(Option.mapx.amount~f:BasicString.to_value));("Rate",(Option.mapx.rate~f:BasicString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letrate=(Option.map~f:BasicString.of_xml)(Xml.childxml_arg0"Rate")inletamount=(Option.map~f:BasicString.of_xml)(Xml.childxml_arg0"Amount")inletdescription=(Option.map~f:BasicString.of_xml)(Xml.childxml_arg0"Description")inmake?rate?amount?description()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letrate=field_mapjson__"Rate"BasicString.of_jsoninletamount=field_mapjson__"Amount"BasicString.of_jsoninletdescription=field_mapjson__"Description"BasicString.of_jsoninmake?rate?amount?description()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The fee amount."]moduleTaxesBreakdownAmount=structtypenonrect={description:BasicString.toption[@ocaml.doc"The details of the taxes."];amount:BasicString.toption[@ocaml.doc"The tax amount."];rate:BasicString.toption[@ocaml.doc"The details of the tax rate."]}letmake?description=fun?amount->fun?rate->fun()->{description;amount;rate}letto_valuex=structure_to_value[("Description",(Option.mapx.description~f:BasicString.to_value));("Amount",(Option.mapx.amount~f:BasicString.to_value));("Rate",(Option.mapx.rate~f:BasicString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letrate=(Option.map~f:BasicString.of_xml)(Xml.childxml_arg0"Rate")inletamount=(Option.map~f:BasicString.of_xml)(Xml.childxml_arg0"Amount")inletdescription=(Option.map~f:BasicString.of_xml)(Xml.childxml_arg0"Description")inmake?rate?amount?description()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letrate=field_mapjson__"Rate"BasicString.of_jsoninletamount=field_mapjson__"Amount"BasicString.of_jsoninletdescription=field_mapjson__"Description"BasicString.of_jsoninmake?rate?amount?description()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The tax amount."]moduleDiscountsBreakdownAmountList=structtypenonrect=DiscountsBreakdownAmount.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:DiscountsBreakdownAmount.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:DiscountsBreakdownAmount.of_xml)letof_jsonj=list_of_json~kind:"DiscountsBreakdownAmountList"~of_json:DiscountsBreakdownAmount.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleFeesBreakdownAmountList=structtypenonrect=FeesBreakdownAmount.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:FeesBreakdownAmount.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:FeesBreakdownAmount.of_xml)letof_jsonj=list_of_json~kind:"FeesBreakdownAmountList"~of_json:FeesBreakdownAmount.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleTaxesBreakdownAmountList=structtypenonrect=TaxesBreakdownAmount.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:TaxesBreakdownAmount.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:TaxesBreakdownAmount.of_xml)letof_jsonj=list_of_json~kind:"TaxesBreakdownAmountList"~of_json:TaxesBreakdownAmount.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleInvoiceUnitArnString=structtypenonrect=stringletcontext_="InvoiceUnitArnString"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:256)>>=(fun()->check_patterni~pattern:"arn:aws[-a-z0-9]*:[a-z0-9]+:[-a-z0-9]*:[0-9]{12}:[-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:"InvoiceUnitArnString"jletto_json=simple_to_jsonto_valueendmoduleBasicStringWithoutSpace=structtypenonrect=stringletcontext_="BasicStringWithoutSpace"letmakei=letopenResultinok_or_failwith((check_string_mini~min:0)>>=(fun()->(check_string_maxi~max:1024)>>=(fun()->check_patterni~pattern:"\\S+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"BasicStringWithoutSpace"jletto_json=simple_to_jsonto_valueendmoduleAccountIdString=structtypenonrect=stringletcontext_="AccountIdString"letmakei=letopenResultinok_or_failwith(check_patterni~pattern:"\\d{12}");iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"AccountIdString"jletto_json=simple_to_jsonto_valueendmoduleDiscountsBreakdown=structtypenonrect={breakdown:DiscountsBreakdownAmountList.toption[@ocaml.doc"The list of discounts information."];totalAmount:BasicString.toption[@ocaml.doc"The discount's total amount."]}letmake?breakdown=fun?totalAmount->fun()->{breakdown;totalAmount}letto_valuex=structure_to_value[("Breakdown",(Option.mapx.breakdown~f:DiscountsBreakdownAmountList.to_value));("TotalAmount",(Option.mapx.totalAmount~f:BasicString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettotalAmount=(Option.map~f:BasicString.of_xml)(Xml.childxml_arg0"TotalAmount")inletbreakdown=(Option.map~f:DiscountsBreakdownAmountList.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"BasicString.of_jsoninletbreakdown=field_mapjson__"Breakdown"DiscountsBreakdownAmountList.of_jsoninmake?totalAmount?breakdown()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The discounts details."]moduleFeesBreakdown=structtypenonrect={breakdown:FeesBreakdownAmountList.toption[@ocaml.doc"The list of fees information."];totalAmount:BasicString.toption[@ocaml.doc"The total amount of fees."]}letmake?breakdown=fun?totalAmount->fun()->{breakdown;totalAmount}letto_valuex=structure_to_value[("Breakdown",(Option.mapx.breakdown~f:FeesBreakdownAmountList.to_value));("TotalAmount",(Option.mapx.totalAmount~f:BasicString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettotalAmount=(Option.map~f:BasicString.of_xml)(Xml.childxml_arg0"TotalAmount")inletbreakdown=(Option.map~f:FeesBreakdownAmountList.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"BasicString.of_jsoninletbreakdown=field_mapjson__"Breakdown"FeesBreakdownAmountList.of_jsoninmake?totalAmount?breakdown()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The details of fees."]moduleTaxesBreakdown=structtypenonrect={breakdown:TaxesBreakdownAmountList.toption[@ocaml.doc"A list of tax information."];totalAmount:BasicString.toption[@ocaml.doc"The total amount for your taxes."]}letmake?breakdown=fun?totalAmount->fun()->{breakdown;totalAmount}letto_valuex=structure_to_value[("Breakdown",(Option.mapx.breakdown~f:TaxesBreakdownAmountList.to_value));("TotalAmount",(Option.mapx.totalAmount~f:BasicString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettotalAmount=(Option.map~f:BasicString.of_xml)(Xml.childxml_arg0"TotalAmount")inletbreakdown=(Option.map~f:TaxesBreakdownAmountList.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"BasicString.of_jsoninletbreakdown=field_mapjson__"Breakdown"TaxesBreakdownAmountList.of_jsoninmake?totalAmount?breakdown()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The details of the taxes."]moduleEinvoiceDeliveryDocumentType=structtypenonrect=|AWS_CLOUD_INVOICE|AWS_CLOUD_CREDIT_MEMO|AWS_MARKETPLACE_INVOICE|AWS_MARKETPLACE_CREDIT_MEMO|AWS_REQUEST_FOR_PAYMENT|Non_static_idofstringletmakei=iletto_string=function|AWS_CLOUD_INVOICE->"AWS_CLOUD_INVOICE"|AWS_CLOUD_CREDIT_MEMO->"AWS_CLOUD_CREDIT_MEMO"|AWS_MARKETPLACE_INVOICE->"AWS_MARKETPLACE_INVOICE"|AWS_MARKETPLACE_CREDIT_MEMO->"AWS_MARKETPLACE_CREDIT_MEMO"|AWS_REQUEST_FOR_PAYMENT->"AWS_REQUEST_FOR_PAYMENT"|Non_static_ids->sletof_string=function|"AWS_CLOUD_INVOICE"->AWS_CLOUD_INVOICE|"AWS_CLOUD_CREDIT_MEMO"->AWS_CLOUD_CREDIT_MEMO|"AWS_MARKETPLACE_INVOICE"->AWS_MARKETPLACE_INVOICE|"AWS_MARKETPLACE_CREDIT_MEMO"->AWS_MARKETPLACE_CREDIT_MEMO|"AWS_REQUEST_FOR_PAYMENT"->AWS_REQUEST_FOR_PAYMENT|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 EinvoiceDeliveryDocumentType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"EinvoiceDeliveryDocumentType"j)letto_json=simple_to_jsonto_valueendmodulePurchaseOrderDataSourceType=structtypenonrect=|ASSOCIATED_PURCHASE_ORDER_REQUIRED|PURCHASE_ORDER_NOT_REQUIRED|Non_static_idofstringletmakei=iletto_string=function|ASSOCIATED_PURCHASE_ORDER_REQUIRED->"ASSOCIATED_PURCHASE_ORDER_REQUIRED"|PURCHASE_ORDER_NOT_REQUIRED->"PURCHASE_ORDER_NOT_REQUIRED"|Non_static_ids->sletof_string=function|"ASSOCIATED_PURCHASE_ORDER_REQUIRED"->ASSOCIATED_PURCHASE_ORDER_REQUIRED|"PURCHASE_ORDER_NOT_REQUIRED"->PURCHASE_ORDER_NOT_REQUIRED|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 PurchaseOrderDataSourceType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"PurchaseOrderDataSourceType"j)letto_json=simple_to_jsonto_valueendmoduleInvoiceUnitArns=structtypenonrect=InvoiceUnitArnString.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:500)>>=(fun()->check_list_mini~min:0));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:InvoiceUnitArnString.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:InvoiceUnitArnString.of_xml)letof_jsonj=list_of_json~kind:"InvoiceUnitArns"~of_json:InvoiceUnitArnString.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleSellerOfRecords=structtypenonrect=BasicStringWithoutSpace.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:100)>>=(fun()->check_list_mini~min:0));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:BasicStringWithoutSpace.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:BasicStringWithoutSpace.of_xml)letof_jsonj=list_of_json~kind:"SellerOfRecords"~of_json:BasicStringWithoutSpace.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleRuleAccountIdList=structtypenonrect=AccountIdString.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:1000)>>=(fun()->check_list_mini~min:0));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:AccountIdString.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:AccountIdString.of_xml)letof_jsonj=list_of_json~kind:"RuleAccountIdList"~of_json:AccountIdString.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleMonth=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 Month"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleYear=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:2050)>>=(fun()->check_int_mini~min:2005));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 Year"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleBillingEntity=structtypenonrect=|AWS|AWS_MARKETPLACE|Non_static_idofstringletmakei=iletto_string=function|AWS->"AWS"|AWS_MARKETPLACE->"AWS_MARKETPLACE"|Non_static_ids->sletof_string=function|"AWS"->AWS|"AWS_MARKETPLACE"->AWS_MARKETPLACE|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 BillingEntity"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"BillingEntity"j)letto_json=simple_to_jsonto_valueendmoduleAmountBreakdown=structtypenonrect={subTotalAmount:BasicString.toption[@ocaml.doc"The total of a set of the breakdown."];discounts:DiscountsBreakdown.toption[@ocaml.doc"The discounted amount."];taxes:TaxesBreakdown.toption[@ocaml.doc"The tax amount."];fees:FeesBreakdown.toption[@ocaml.doc"The fee amount."]}letmake?subTotalAmount=fun?discounts->fun?taxes->fun?fees->fun()->{subTotalAmount;discounts;taxes;fees}letto_valuex=structure_to_value[("SubTotalAmount",(Option.mapx.subTotalAmount~f:BasicString.to_value));("Discounts",(Option.mapx.discounts~f:DiscountsBreakdown.to_value));("Taxes",(Option.mapx.taxes~f:TaxesBreakdown.to_value));("Fees",(Option.mapx.fees~f:FeesBreakdown.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letfees=(Option.map~f:FeesBreakdown.of_xml)(Xml.childxml_arg0"Fees")inlettaxes=(Option.map~f:TaxesBreakdown.of_xml)(Xml.childxml_arg0"Taxes")inletdiscounts=(Option.map~f:DiscountsBreakdown.of_xml)(Xml.childxml_arg0"Discounts")inletsubTotalAmount=(Option.map~f:BasicString.of_xml)(Xml.childxml_arg0"SubTotalAmount")inmake?fees?taxes?discounts?subTotalAmount()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letfees=field_mapjson__"Fees"FeesBreakdown.of_jsoninlettaxes=field_mapjson__"Taxes"TaxesBreakdown.of_jsoninletdiscounts=field_mapjson__"Discounts"DiscountsBreakdown.of_jsoninletsubTotalAmount=field_mapjson__"SubTotalAmount"BasicString.of_jsoninmake?fees?taxes?discounts?subTotalAmount()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Details about how the total amount was calculated and categorized."]moduleCurrencyCode=structtypenonrect=stringletcontext_="CurrencyCode"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:3)>>=(fun()->check_string_mini~min:3));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"CurrencyCode"jletto_json=simple_to_jsonto_valueendmoduleCurrencyExchangeDetails=structtypenonrect={sourceCurrencyCode:BasicString.toption[@ocaml.doc"The exchange source currency."];targetCurrencyCode:BasicString.toption[@ocaml.doc"The exchange target currency."];rate:BasicString.toption[@ocaml.doc"The currency exchange rate."]}letmake?sourceCurrencyCode=fun?targetCurrencyCode->fun?rate->fun()->{sourceCurrencyCode;targetCurrencyCode;rate}letto_valuex=structure_to_value[("SourceCurrencyCode",(Option.mapx.sourceCurrencyCode~f:BasicString.to_value));("TargetCurrencyCode",(Option.mapx.targetCurrencyCode~f:BasicString.to_value));("Rate",(Option.mapx.rate~f:BasicString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letrate=(Option.map~f:BasicString.of_xml)(Xml.childxml_arg0"Rate")inlettargetCurrencyCode=(Option.map~f:BasicString.of_xml)(Xml.childxml_arg0"TargetCurrencyCode")inletsourceCurrencyCode=(Option.map~f:BasicString.of_xml)(Xml.childxml_arg0"SourceCurrencyCode")inmake?rate?targetCurrencyCode?sourceCurrencyCode()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letrate=field_mapjson__"Rate"BasicString.of_jsoninlettargetCurrencyCode=field_mapjson__"TargetCurrencyCode"BasicString.of_jsoninletsourceCurrencyCode=field_mapjson__"SourceCurrencyCode"BasicString.of_jsoninmake?rate?targetCurrencyCode?sourceCurrencyCode()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The details of currency exchange."]moduleEmailString=structtypenonrect=stringletcontext_="EmailString"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:1024)>>=(fun()->check_patterni~pattern:"[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"EmailString"jletto_json=simple_to_jsonto_valueendmoduleEinvoiceDeliveryAttachmentType=structtypenonrect=|INVOICE_PDF|RFP_PDF|Non_static_idofstringletmakei=iletto_string=function|INVOICE_PDF->"INVOICE_PDF"|RFP_PDF->"RFP_PDF"|Non_static_ids->sletof_string=function|"INVOICE_PDF"->INVOICE_PDF|"RFP_PDF"->RFP_PDF|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 EinvoiceDeliveryAttachmentType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"EinvoiceDeliveryAttachmentType"j)letto_json=simple_to_jsonto_valueendmodulePurchaseOrderDataSource=structtypenonrect={einvoiceDeliveryDocumentType:EinvoiceDeliveryDocumentType.toption[@ocaml.doc"The type of e-invoice document that requires purchase order data."];purchaseOrderDataSourceType:PurchaseOrderDataSourceType.toption[@ocaml.doc"The type of source for purchase order data."]}letmake?einvoiceDeliveryDocumentType=fun?purchaseOrderDataSourceType->fun()->{einvoiceDeliveryDocumentType;purchaseOrderDataSourceType}letto_valuex=structure_to_value[("EinvoiceDeliveryDocumentType",(Option.mapx.einvoiceDeliveryDocumentType~f:EinvoiceDeliveryDocumentType.to_value));("PurchaseOrderDataSourceType",(Option.mapx.purchaseOrderDataSourceType~f:PurchaseOrderDataSourceType.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letpurchaseOrderDataSourceType=(Option.map~f:PurchaseOrderDataSourceType.of_xml)(Xml.childxml_arg0"PurchaseOrderDataSourceType")inleteinvoiceDeliveryDocumentType=(Option.map~f:EinvoiceDeliveryDocumentType.of_xml)(Xml.childxml_arg0"EinvoiceDeliveryDocumentType")inmake?purchaseOrderDataSourceType?einvoiceDeliveryDocumentType()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letpurchaseOrderDataSourceType=field_mapjson__"PurchaseOrderDataSourceType"PurchaseOrderDataSourceType.of_jsoninleteinvoiceDeliveryDocumentType=field_mapjson__"EinvoiceDeliveryDocumentType"EinvoiceDeliveryDocumentType.of_jsoninmake?purchaseOrderDataSourceType?einvoiceDeliveryDocumentType()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Specifies the source configuration for retrieving purchase order data."]moduleStringWithoutNewLine=structtypenonrect=stringletcontext_="StringWithoutNewLine"letmakei=letopenResultinok_or_failwith((check_string_mini~min:0)>>=(fun()->(check_string_maxi~max:1024)>>=(fun()->check_patterni~pattern:".*")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"StringWithoutNewLine"jletto_json=simple_to_jsonto_valueendmoduleSupplementalDocumentType=structtypenonrect=|GOVERNMENT_INVOICE|TAX_E_INVOICE|PAYMENT_RECEIPT|SUPPLEMENT|Non_static_idofstringletmakei=iletto_string=function|GOVERNMENT_INVOICE->"GOVERNMENT_INVOICE"|TAX_E_INVOICE->"TAX_E_INVOICE"|PAYMENT_RECEIPT->"PAYMENT_RECEIPT"|SUPPLEMENT->"SUPPLEMENT"|Non_static_ids->sletof_string=function|"GOVERNMENT_INVOICE"->GOVERNMENT_INVOICE|"TAX_E_INVOICE"->TAX_E_INVOICE|"PAYMENT_RECEIPT"->PAYMENT_RECEIPT|"SUPPLEMENT"->SUPPLEMENT|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 SupplementalDocumentType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"SupplementalDocumentType"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_valueendmoduleValidationExceptionField=structtypenonrect={name:BasicString.toption[@ocaml.doc"The input fails to satisfy the constraints specified by an Amazon Web Services service."];message:BasicString.toption[@ocaml.doc"The input fails to satisfy the constraints specified by an Amazon Web Services service."]}letmake?name=fun?message->fun()->{name;message}letto_valuex=structure_to_value[("name",(Option.mapx.name~f:BasicString.to_value));("message",(Option.mapx.message~f:BasicString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:BasicString.of_xml)(Xml.childxml_arg0"message")inletname=(Option.map~f:BasicString.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"BasicString.of_jsoninletname=field_mapjson__"name"BasicString.of_jsoninmake?message?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The input fails to satisfy the constraints specified by an Amazon Web Services service."]moduleResourceTagKey=structtypenonrect=stringletcontext_="ResourceTagKey"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:128)>>=(fun()->check_string_mini~min:1));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ResourceTagKey"jletto_json=simple_to_jsonto_valueendmoduleResourceTagValue=structtypenonrect=stringletcontext_="ResourceTagValue"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:256)>>=(fun()->check_string_mini~min:0));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ResourceTagValue"jletto_json=simple_to_jsonto_valueendmoduleBoolean=structtypenonrect=boolletmakei=iletof_string=Bool.of_stringletto_valuex=`Booleanxletto_queryv=to_queryto_valuevletto_headerx=Bool.to_stringxletof_xmlxml_arg0=Bool.of_string(string_of_xml~kind:"a boolean"xml_arg0)letof_json=bool_of_jsonletto_json=simple_to_jsonto_valueendmoduleBuyerDomain=structtypenonrect=|NetworkID|Non_static_idofstringletmakei=iletto_string=function|NetworkID->"NetworkID"|Non_static_ids->sletof_string=function|"NetworkID"->NetworkID|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 BuyerDomain"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"BuyerDomain"j)letto_json=simple_to_jsonto_valueendmoduleLong=structtypenonrect=Int64.tletmakei=iletof_string=Int64.of_stringletto_valuex=`Longxletto_queryv=to_queryto_valuevletto_headerx=Int64.to_stringxletof_xmlxml_arg0=Int64.of_string(string_of_xml~kind:"a long"xml_arg0)letof_jsonj=Int64.of_float(float_of_json~kind:"a long"j)letto_json=simple_to_jsonto_valueendmoduleProcurementPortalName=structtypenonrect=|SAP_BUSINESS_NETWORK|COUPA|Non_static_idofstringletmakei=iletto_string=function|SAP_BUSINESS_NETWORK->"SAP_BUSINESS_NETWORK"|COUPA->"COUPA"|Non_static_ids->sletof_string=function|"SAP_BUSINESS_NETWORK"->SAP_BUSINESS_NETWORK|"COUPA"->COUPA|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 ProcurementPortalName"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ProcurementPortalName"j)letto_json=simple_to_jsonto_valueendmoduleProcurementPortalPreferenceArnString=structtypenonrect=stringletcontext_="ProcurementPortalPreferenceArnString"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:256)>>=(fun()->check_patterni~pattern:"arn:aws:invoicing::[0-9]{12}:procurement-portal-preference/[-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:"ProcurementPortalPreferenceArnString"jletto_json=simple_to_jsonto_valueendmoduleProcurementPortalPreferenceSelector=structtypenonrect={invoiceUnitArns:InvoiceUnitArns.toption[@ocaml.doc"The Amazon Resource Name (ARN) of invoice unit identifiers to which this preference applies."];sellerOfRecords:SellerOfRecords.toption[@ocaml.doc"The list of seller of record IDs to which this preference applies."]}letmake?invoiceUnitArns=fun?sellerOfRecords->fun()->{invoiceUnitArns;sellerOfRecords}letto_valuex=structure_to_value[("InvoiceUnitArns",(Option.mapx.invoiceUnitArns~f:InvoiceUnitArns.to_value));("SellerOfRecords",(Option.mapx.sellerOfRecords~f:SellerOfRecords.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letsellerOfRecords=(Option.map~f:SellerOfRecords.of_xml)(Xml.childxml_arg0"SellerOfRecords")inletinvoiceUnitArns=(Option.map~f:InvoiceUnitArns.of_xml)(Xml.childxml_arg0"InvoiceUnitArns")inmake?sellerOfRecords?invoiceUnitArns()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letsellerOfRecords=field_mapjson__"SellerOfRecords"SellerOfRecords.of_jsoninletinvoiceUnitArns=field_mapjson__"InvoiceUnitArns"InvoiceUnitArns.of_jsoninmake?sellerOfRecords?invoiceUnitArns()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Specifies criteria for selecting which invoices should be processed using a particular procurement portal preference."]moduleProcurementPortalPreferenceStatus=structtypenonrect=|PENDING_VERIFICATION|TEST_INITIALIZED|TEST_INITIALIZATION_FAILED|TEST_FAILED|ACTIVE|SUSPENDED|Non_static_idofstringletmakei=iletto_string=function|PENDING_VERIFICATION->"PENDING_VERIFICATION"|TEST_INITIALIZED->"TEST_INITIALIZED"|TEST_INITIALIZATION_FAILED->"TEST_INITIALIZATION_FAILED"|TEST_FAILED->"TEST_FAILED"|ACTIVE->"ACTIVE"|SUSPENDED->"SUSPENDED"|Non_static_ids->sletof_string=function|"PENDING_VERIFICATION"->PENDING_VERIFICATION|"TEST_INITIALIZED"->TEST_INITIALIZED|"TEST_INITIALIZATION_FAILED"->TEST_INITIALIZATION_FAILED|"TEST_FAILED"->TEST_FAILED|"ACTIVE"->ACTIVE|"SUSPENDED"->SUSPENDED|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 ProcurementPortalPreferenceStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ProcurementPortalPreferenceStatus"j)letto_json=simple_to_jsonto_valueendmoduleSupplierDomain=structtypenonrect=|NetworkID|Non_static_idofstringletmakei=iletto_string=function|NetworkID->"NetworkID"|Non_static_ids->sletof_string=function|"NetworkID"->NetworkID|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 SupplierDomain"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"SupplierDomain"j)letto_json=simple_to_jsonto_valueendmoduleDescriptionString=structtypenonrect=stringletcontext_="DescriptionString"letmakei=letopenResultinok_or_failwith((check_string_mini~min:0)>>=(fun()->(check_string_maxi~max:500)>>=(fun()->check_patterni~pattern:"[\\S\\s]*")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"DescriptionString"jletto_json=simple_to_jsonto_valueendmoduleInvoiceUnitName=structtypenonrect=stringletcontext_="InvoiceUnitName"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:50)>>=(fun()->check_patterni~pattern:"(?! )[\\p{L}\\p{N}\\p{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:"InvoiceUnitName"jletto_json=simple_to_jsonto_valueendmoduleInvoiceUnitRule=structtypenonrect={linkedAccounts:RuleAccountIdList.toption[@ocaml.doc"The list of LINKED_ACCOUNT IDs where charges are included within the invoice unit."];billSourceAccounts:RuleAccountIdList.toption[@ocaml.doc"A list of Amazon Web Services account IDs that have delegated their billing responsibility to the receiver account through transfer billing. Unlike linked accounts, these bill source accounts can be payer accounts from other organizations that have authorized billing transfer to this account."]}letmake?linkedAccounts=fun?billSourceAccounts->fun()->{linkedAccounts;billSourceAccounts}letto_valuex=structure_to_value[("LinkedAccounts",(Option.mapx.linkedAccounts~f:RuleAccountIdList.to_value));("BillSourceAccounts",(Option.mapx.billSourceAccounts~f:RuleAccountIdList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letbillSourceAccounts=(Option.map~f:RuleAccountIdList.of_xml)(Xml.childxml_arg0"BillSourceAccounts")inletlinkedAccounts=(Option.map~f:RuleAccountIdList.of_xml)(Xml.childxml_arg0"LinkedAccounts")inmake?billSourceAccounts?linkedAccounts()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letbillSourceAccounts=field_mapjson__"BillSourceAccounts"RuleAccountIdList.of_jsoninletlinkedAccounts=field_mapjson__"LinkedAccounts"RuleAccountIdList.of_jsoninmake?billSourceAccounts?linkedAccounts()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"This is used to categorize the invoice unit. Values are Amazon Web Services account IDs. Currently, the only supported rule is LINKED_ACCOUNT."]moduleLastModifiedTimestamp=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_valueendmoduleTaxInheritanceDisabledFlag=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_valueendmoduleBillSourceAccountList=structtypenonrect=AccountIdString.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:AccountIdString.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:AccountIdString.of_xml)letof_jsonj=list_of_json~kind:"BillSourceAccountList"~of_json:AccountIdString.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleBillType=structtypenonrect=|ANNIVERSARY|PURCHASE|REFUND|Non_static_idofstringletmakei=iletto_string=function|ANNIVERSARY->"ANNIVERSARY"|PURCHASE->"PURCHASE"|REFUND->"REFUND"|Non_static_ids->sletof_string=function|"ANNIVERSARY"->ANNIVERSARY|"PURCHASE"->PURCHASE|"REFUND"->REFUND|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 BillType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"BillType"j)letto_json=simple_to_jsonto_valueendmoduleBillingPeriod=structtypenonrect={month:Month.t[@ocaml.doc"The billing period month."];year:Year.t[@ocaml.doc"The billing period year."]}letcontext_="BillingPeriod"letmake~month=fun~year->fun()->{month;year}letto_valuex=structure_to_value[("Month",(Some(Month.to_valuex.month)));("Year",(Some(Year.to_valuex.year)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letyear=Year.of_xml(Xml.child_exn~context:context_xml_arg0"Year")inletmonth=Month.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"Year.of_jsoninletmonth=field_map_exnjson__"Month"Month.of_jsoninmake~year~month()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The billing period for which you want to retrieve invoice-related documents."]moduleEinvoiceDeliveryStatus=structtypenonrect=|DELIVERED|NOT_DELIVERED|Non_static_idofstringletmakei=iletto_string=function|DELIVERED->"DELIVERED"|NOT_DELIVERED->"NOT_DELIVERED"|Non_static_ids->sletof_string=function|"DELIVERED"->DELIVERED|"NOT_DELIVERED"->NOT_DELIVERED|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 EinvoiceDeliveryStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"EinvoiceDeliveryStatus"j)letto_json=simple_to_jsonto_valueendmoduleEntity=structtypenonrect={invoicingEntity:BasicString.toption[@ocaml.doc"The name of the entity that issues the Amazon Web Services invoice."];billingEntity:BillingEntity.toption[@ocaml.doc"Helps you identify whether your invoices are for Amazon Web Services Marketplace or for purchases of other Amazon Web Services services."]}letmake?invoicingEntity=fun?billingEntity->fun()->{invoicingEntity;billingEntity}letto_valuex=structure_to_value[("InvoicingEntity",(Option.mapx.invoicingEntity~f:BasicString.to_value));("BillingEntity",(Option.mapx.billingEntity~f:BillingEntity.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letbillingEntity=(Option.map~f:BillingEntity.of_xml)(Xml.childxml_arg0"BillingEntity")inletinvoicingEntity=(Option.map~f:BasicString.of_xml)(Xml.childxml_arg0"InvoicingEntity")inmake?billingEntity?invoicingEntity()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letbillingEntity=field_mapjson__"BillingEntity"BillingEntity.of_jsoninletinvoicingEntity=field_mapjson__"InvoicingEntity"BasicString.of_jsoninmake?billingEntity?invoicingEntity()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The organization name providing Amazon Web Services services."]moduleInteger=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_valueendmoduleInvoiceCurrencyAmount=structtypenonrect={totalAmount:BasicString.toption[@ocaml.doc"The invoice currency amount."];totalAmountBeforeTax:BasicString.toption[@ocaml.doc"Details about the invoice total amount before tax."];currencyCode:CurrencyCode.toption[@ocaml.doc"The currency dominion of the invoice document."];amountBreakdown:AmountBreakdown.toption[@ocaml.doc"Details about the invoice currency amount."];currencyExchangeDetails:CurrencyExchangeDetails.toption[@ocaml.doc"The details of currency exchange."]}letmake?totalAmount=fun?totalAmountBeforeTax->fun?currencyCode->fun?amountBreakdown->fun?currencyExchangeDetails->fun()->{totalAmount;totalAmountBeforeTax;currencyCode;amountBreakdown;currencyExchangeDetails}letto_valuex=structure_to_value[("TotalAmount",(Option.mapx.totalAmount~f:BasicString.to_value));("TotalAmountBeforeTax",(Option.mapx.totalAmountBeforeTax~f:BasicString.to_value));("CurrencyCode",(Option.mapx.currencyCode~f:CurrencyCode.to_value));("AmountBreakdown",(Option.mapx.amountBreakdown~f:AmountBreakdown.to_value));("CurrencyExchangeDetails",(Option.mapx.currencyExchangeDetails~f:CurrencyExchangeDetails.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcurrencyExchangeDetails=(Option.map~f:CurrencyExchangeDetails.of_xml)(Xml.childxml_arg0"CurrencyExchangeDetails")inletamountBreakdown=(Option.map~f:AmountBreakdown.of_xml)(Xml.childxml_arg0"AmountBreakdown")inletcurrencyCode=(Option.map~f:CurrencyCode.of_xml)(Xml.childxml_arg0"CurrencyCode")inlettotalAmountBeforeTax=(Option.map~f:BasicString.of_xml)(Xml.childxml_arg0"TotalAmountBeforeTax")inlettotalAmount=(Option.map~f:BasicString.of_xml)(Xml.childxml_arg0"TotalAmount")inmake?currencyExchangeDetails?amountBreakdown?currencyCode?totalAmountBeforeTax?totalAmount()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcurrencyExchangeDetails=field_mapjson__"CurrencyExchangeDetails"CurrencyExchangeDetails.of_jsoninletamountBreakdown=field_mapjson__"AmountBreakdown"AmountBreakdown.of_jsoninletcurrencyCode=field_mapjson__"CurrencyCode"CurrencyCode.of_jsoninlettotalAmountBeforeTax=field_mapjson__"TotalAmountBeforeTax"BasicString.of_jsoninlettotalAmount=field_mapjson__"TotalAmount"BasicString.of_jsoninmake?currencyExchangeDetails?amountBreakdown?currencyCode?totalAmountBeforeTax?totalAmount()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The amount charged after taxes, in the preferred currency."]moduleInvoiceFrequency=structtypenonrect=|ONE_TIME|RECURRING|Non_static_idofstringletmakei=iletto_string=function|ONE_TIME->"ONE_TIME"|RECURRING->"RECURRING"|Non_static_ids->sletof_string=function|"ONE_TIME"->ONE_TIME|"RECURRING"->RECURRING|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 InvoiceFrequency"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"InvoiceFrequency"j)letto_json=simple_to_jsonto_valueendmoduleInvoiceType=structtypenonrect=|INVOICE|CREDIT_MEMO|PAYMENT_RECEIPT|Non_static_idofstringletmakei=iletto_string=function|INVOICE->"INVOICE"|CREDIT_MEMO->"CREDIT_MEMO"|PAYMENT_RECEIPT->"PAYMENT_RECEIPT"|Non_static_ids->sletof_string=function|"INVOICE"->INVOICE|"CREDIT_MEMO"->CREDIT_MEMO|"PAYMENT_RECEIPT"->PAYMENT_RECEIPT|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_valueendmoduleReceiverRole=structtypenonrect=|SELLER|RESELLER|BUYER|Non_static_idofstringletmakei=iletto_string=function|SELLER->"SELLER"|RESELLER->"RESELLER"|BUYER->"BUYER"|Non_static_ids->sletof_string=function|"SELLER"->SELLER|"RESELLER"->RESELLER|"BUYER"->BUYER|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 ReceiverRole"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ReceiverRole"j)letto_json=simple_to_jsonto_valueendmoduleTaxAuthorityStatus=structtypenonrect=|ISSUED|CANCELLED|Non_static_idofstringletmakei=iletto_string=function|ISSUED->"ISSUED"|CANCELLED->"CANCELLED"|Non_static_ids->sletof_string=function|"ISSUED"->ISSUED|"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 TaxAuthorityStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"TaxAuthorityStatus"j)letto_json=simple_to_jsonto_valueendmoduleContact=structtypenonrect={name:BasicString.toption[@ocaml.doc"The name of the contact person or role."];email:EmailString.toption[@ocaml.doc"The email address of the contact person or role."]}letmake?name=fun?email->fun()->{name;email}letto_valuex=structure_to_value[("Name",(Option.mapx.name~f:BasicString.to_value));("Email",(Option.mapx.email~f:EmailString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letemail=(Option.map~f:EmailString.of_xml)(Xml.childxml_arg0"Email")inletname=(Option.map~f:BasicString.of_xml)(Xml.childxml_arg0"Name")inmake?email?name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letemail=field_mapjson__"Email"EmailString.of_jsoninletname=field_mapjson__"Name"BasicString.of_jsoninmake?email?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Represents contact information for a person or role associated with the procurement portal preference."]moduleConnectionTestingMethod=structtypenonrect=|PROD_ENV_DOLLAR_TEST|TEST_ENV_REPLAY_TEST|Non_static_idofstringletmakei=iletto_string=function|PROD_ENV_DOLLAR_TEST->"PROD_ENV_DOLLAR_TEST"|TEST_ENV_REPLAY_TEST->"TEST_ENV_REPLAY_TEST"|Non_static_ids->sletof_string=function|"PROD_ENV_DOLLAR_TEST"->PROD_ENV_DOLLAR_TEST|"TEST_ENV_REPLAY_TEST"->TEST_ENV_REPLAY_TEST|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 ConnectionTestingMethod"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ConnectionTestingMethod"j)letto_json=simple_to_jsonto_valueendmoduleEinvoiceDeliveryAttachmentTypes=structtypenonrect=EinvoiceDeliveryAttachmentType.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:EinvoiceDeliveryAttachmentType.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:EinvoiceDeliveryAttachmentType.of_xml)letof_jsonj=list_of_json~kind:"EinvoiceDeliveryAttachmentTypes"~of_json:EinvoiceDeliveryAttachmentType.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleEinvoiceDeliveryDocumentTypes=structtypenonrect=EinvoiceDeliveryDocumentType.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:10)>>=(fun()->check_list_mini~min:0));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:EinvoiceDeliveryDocumentType.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:EinvoiceDeliveryDocumentType.of_xml)letof_jsonj=list_of_json~kind:"EinvoiceDeliveryDocumentTypes"~of_json:EinvoiceDeliveryDocumentType.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleProtocol=structtypenonrect=|CXML|Non_static_idofstringletmakei=iletto_string=function|CXML->"CXML"|Non_static_ids->sletof_string=function|"CXML"->CXML|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 Protocol"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"Protocol"j)letto_json=simple_to_jsonto_valueendmodulePurchaseOrderDataSources=structtypenonrect=PurchaseOrderDataSource.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:PurchaseOrderDataSource.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:PurchaseOrderDataSource.of_xml)letof_jsonj=list_of_json~kind:"PurchaseOrderDataSources"~of_json:PurchaseOrderDataSource.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleSupplementalDocument=structtypenonrect={documentType:SupplementalDocumentType.toption[@ocaml.doc"The type of supplemental document."];documentId:StringWithoutNewLine.toption[@ocaml.doc"The ID of the supplemental document."];documentUrl:StringWithoutNewLine.toption[@ocaml.doc"The pre-signed URL to download invoice supplemental document."];documentUrlExpirationDate:Timestamp.toption[@ocaml.doc"The pre-signed URL expiration date of invoice supplemental document."]}letmake?documentType=fun?documentId->fun?documentUrl->fun?documentUrlExpirationDate->fun()->{documentType;documentId;documentUrl;documentUrlExpirationDate}letto_valuex=structure_to_value[("DocumentType",(Option.mapx.documentType~f:SupplementalDocumentType.to_value));("DocumentId",(Option.mapx.documentId~f:StringWithoutNewLine.to_value));("DocumentUrl",(Option.mapx.documentUrl~f:StringWithoutNewLine.to_value));("DocumentUrlExpirationDate",(Option.mapx.documentUrlExpirationDate~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdocumentUrlExpirationDate=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"DocumentUrlExpirationDate")inletdocumentUrl=(Option.map~f:StringWithoutNewLine.of_xml)(Xml.childxml_arg0"DocumentUrl")inletdocumentId=(Option.map~f:StringWithoutNewLine.of_xml)(Xml.childxml_arg0"DocumentId")inletdocumentType=(Option.map~f:SupplementalDocumentType.of_xml)(Xml.childxml_arg0"DocumentType")inmake?documentUrlExpirationDate?documentUrl?documentId?documentType()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdocumentUrlExpirationDate=field_mapjson__"DocumentUrlExpirationDate"Timestamp.of_jsoninletdocumentUrl=field_mapjson__"DocumentUrl"StringWithoutNewLine.of_jsoninletdocumentId=field_mapjson__"DocumentId"StringWithoutNewLine.of_jsoninletdocumentType=field_mapjson__"DocumentType"SupplementalDocumentType.of_jsoninmake?documentUrlExpirationDate?documentUrl?documentId?documentType()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Supplemental document associated with the invoice."]moduleReceiverAddress=structtypenonrect={addressLine1:BasicString.toption[@ocaml.doc"The first line of the address."];addressLine2:BasicString.toption[@ocaml.doc"The second line of the address, if applicable."];addressLine3:BasicString.toption[@ocaml.doc"The third line of the address, if applicable."];districtOrCounty:BasicString.toption[@ocaml.doc"The district or country the address is located in."];city:BasicString.toption[@ocaml.doc"The city that the address is in."];stateOrRegion:BasicString.toption[@ocaml.doc"The state, region, or province the address is located."];countryCode:BasicString.toption[@ocaml.doc"The country code for the country the address is in."];companyName:BasicString.toption[@ocaml.doc"A unique company name."];postalCode:BasicString.toption[@ocaml.doc"The postal code associated with the address."]}letmake?addressLine1=fun?addressLine2->fun?addressLine3->fun?districtOrCounty->fun?city->fun?stateOrRegion->fun?countryCode->fun?companyName->fun?postalCode->fun()->{addressLine1;addressLine2;addressLine3;districtOrCounty;city;stateOrRegion;countryCode;companyName;postalCode}letto_valuex=structure_to_value[("AddressLine1",(Option.mapx.addressLine1~f:BasicString.to_value));("AddressLine2",(Option.mapx.addressLine2~f:BasicString.to_value));("AddressLine3",(Option.mapx.addressLine3~f:BasicString.to_value));("DistrictOrCounty",(Option.mapx.districtOrCounty~f:BasicString.to_value));("City",(Option.mapx.city~f:BasicString.to_value));("StateOrRegion",(Option.mapx.stateOrRegion~f:BasicString.to_value));("CountryCode",(Option.mapx.countryCode~f:BasicString.to_value));("CompanyName",(Option.mapx.companyName~f:BasicString.to_value));("PostalCode",(Option.mapx.postalCode~f:BasicString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letpostalCode=(Option.map~f:BasicString.of_xml)(Xml.childxml_arg0"PostalCode")inletcompanyName=(Option.map~f:BasicString.of_xml)(Xml.childxml_arg0"CompanyName")inletcountryCode=(Option.map~f:BasicString.of_xml)(Xml.childxml_arg0"CountryCode")inletstateOrRegion=(Option.map~f:BasicString.of_xml)(Xml.childxml_arg0"StateOrRegion")inletcity=(Option.map~f:BasicString.of_xml)(Xml.childxml_arg0"City")inletdistrictOrCounty=(Option.map~f:BasicString.of_xml)(Xml.childxml_arg0"DistrictOrCounty")inletaddressLine3=(Option.map~f:BasicString.of_xml)(Xml.childxml_arg0"AddressLine3")inletaddressLine2=(Option.map~f:BasicString.of_xml)(Xml.childxml_arg0"AddressLine2")inletaddressLine1=(Option.map~f:BasicString.of_xml)(Xml.childxml_arg0"AddressLine1")inmake?postalCode?companyName?countryCode?stateOrRegion?city?districtOrCounty?addressLine3?addressLine2?addressLine1()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letpostalCode=field_mapjson__"PostalCode"BasicString.of_jsoninletcompanyName=field_mapjson__"CompanyName"BasicString.of_jsoninletcountryCode=field_mapjson__"CountryCode"BasicString.of_jsoninletstateOrRegion=field_mapjson__"StateOrRegion"BasicString.of_jsoninletcity=field_mapjson__"City"BasicString.of_jsoninletdistrictOrCounty=field_mapjson__"DistrictOrCounty"BasicString.of_jsoninletaddressLine3=field_mapjson__"AddressLine3"BasicString.of_jsoninletaddressLine2=field_mapjson__"AddressLine2"BasicString.of_jsoninletaddressLine1=field_mapjson__"AddressLine1"BasicString.of_jsoninmake?postalCode?companyName?countryCode?stateOrRegion?city?districtOrCounty?addressLine3?addressLine2?addressLine1()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The details of the address associated with the receiver."]moduleSensitiveBasicStringWithoutSpace=structtypenonrect=stringletcontext_="SensitiveBasicStringWithoutSpace"letmakei=letopenResultinok_or_failwith((check_string_mini~min:0)>>=(fun()->(check_string_maxi~max:1024)>>=(fun()->check_patterni~pattern:"\\S+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"SensitiveBasicStringWithoutSpace"jletto_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=|NonMemberPresent|MaxAccountsExceeded|MaxInvoiceUnitsExceeded|DuplicateInvoiceUnit|MutualExclusionError|AccountMembershipError|TaxSettingsError|ExpiredNextToken|InvalidNextToken|InvalidInput|FieldValidationFailed|CannotParse|UnknownOperation|Other|Non_static_idofstringletmakei=iletto_string=function|NonMemberPresent->"nonMemberPresent"|MaxAccountsExceeded->"maxAccountsExceeded"|MaxInvoiceUnitsExceeded->"maxInvoiceUnitsExceeded"|DuplicateInvoiceUnit->"duplicateInvoiceUnit"|MutualExclusionError->"mutualExclusionError"|AccountMembershipError->"accountMembershipError"|TaxSettingsError->"taxSettingsError"|ExpiredNextToken->"expiredNextToken"|InvalidNextToken->"invalidNextToken"|InvalidInput->"invalidInput"|FieldValidationFailed->"fieldValidationFailed"|CannotParse->"cannotParse"|UnknownOperation->"unknownOperation"|Other->"other"|Non_static_ids->sletof_string=function|"nonMemberPresent"->NonMemberPresent|"maxAccountsExceeded"->MaxAccountsExceeded|"maxInvoiceUnitsExceeded"->MaxInvoiceUnitsExceeded|"duplicateInvoiceUnit"->DuplicateInvoiceUnit|"mutualExclusionError"->MutualExclusionError|"accountMembershipError"->AccountMembershipError|"taxSettingsError"->TaxSettingsError|"expiredNextToken"->ExpiredNextToken|"invalidNextToken"->InvalidNextToken|"invalidInput"->InvalidInput|"fieldValidationFailed"->FieldValidationFailed|"cannotParse"->CannotParse|"unknownOperation"->UnknownOperation|"other"->Other|x->Non_static_idxletto_valuex=`Enum(to_stringx)letto_queryv=to_queryto_valuevletto_headerx=to_stringxletof_xmlxml_arg0=of_string(string_of_xml~kind:"enumeration ValidationExceptionReason"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ValidationExceptionReason"j)letto_json=simple_to_jsonto_valueendmoduleResourceTag=structtypenonrect={key:ResourceTagKey.t[@ocaml.doc"The object key of your of your resource tag."];value:ResourceTagValue.t[@ocaml.doc"The specific value of the resource tag."]}letcontext_="ResourceTag"letmake~key=fun~value->fun()->{key;value}letto_valuex=structure_to_value[("Key",(Some(ResourceTagKey.to_valuex.key)));("Value",(Some(ResourceTagValue.to_valuex.value)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvalue=ResourceTagValue.of_xml(Xml.child_exn~context:context_xml_arg0"Value")inletkey=ResourceTagKey.of_xml(Xml.child_exn~context:context_xml_arg0"Key")inmake~value~key()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvalue=field_map_exnjson__"Value"ResourceTagValue.of_jsoninletkey=field_map_exnjson__"Key"ResourceTagKey.of_jsoninmake~value~key()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The tag structure that contains a tag key and value."]moduleProcurementPortalPreferenceSummary=structtypenonrect={awsAccountId:AccountIdString.toption[@ocaml.doc"The Amazon Web Services account ID associated with this procurement portal preference summary."];procurementPortalPreferenceArn:ProcurementPortalPreferenceArnString.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the procurement portal preference."];procurementPortalName:ProcurementPortalName.toption[@ocaml.doc"The name of the procurement portal."];buyerDomain:BuyerDomain.toption[@ocaml.doc"The domain identifier for the buyer in the procurement portal."];buyerIdentifier:BasicStringWithoutSpace.toption[@ocaml.doc"The unique identifier for the buyer in the procurement portal."];supplierDomain:SupplierDomain.toption[@ocaml.doc"The domain identifier for the supplier in the procurement portal."];supplierIdentifier:BasicStringWithoutSpace.toption[@ocaml.doc"The unique identifier for the supplier in the procurement portal."];selector:ProcurementPortalPreferenceSelector.toption;einvoiceDeliveryEnabled:Boolean.toption[@ocaml.doc"Indicates whether e-invoice delivery is enabled for this procurement portal preference."];purchaseOrderRetrievalEnabled:Boolean.toption[@ocaml.doc"Indicates whether purchase order retrieval is enabled for this procurement portal preference."];einvoiceDeliveryPreferenceStatus:ProcurementPortalPreferenceStatus.toption[@ocaml.doc"The current status of the e-invoice delivery preference in this summary."];einvoiceDeliveryPreferenceStatusReason:BasicString.toption[@ocaml.doc"The reason for the current e-invoice delivery preference status in this summary."];purchaseOrderRetrievalPreferenceStatus:ProcurementPortalPreferenceStatus.toption[@ocaml.doc"The current status of the purchase order retrieval preference in this summary."];purchaseOrderRetrievalPreferenceStatusReason:BasicString.toption[@ocaml.doc"The reason for the current purchase order retrieval preference status in this summary."];version:Long.toption[@ocaml.doc"The version number of the procurement portal preference configuration in this summary."];createDate:Timestamp.toption[@ocaml.doc"The date and time when the procurement portal preference was created."];lastUpdateDate:Timestamp.toption[@ocaml.doc"The date and time when the procurement portal preference was last updated."]}letmake?awsAccountId=fun?procurementPortalPreferenceArn->fun?procurementPortalName->fun?buyerDomain->fun?buyerIdentifier->fun?supplierDomain->fun?supplierIdentifier->fun?selector->fun?einvoiceDeliveryEnabled->fun?purchaseOrderRetrievalEnabled->fun?einvoiceDeliveryPreferenceStatus->fun?einvoiceDeliveryPreferenceStatusReason->fun?purchaseOrderRetrievalPreferenceStatus->fun?purchaseOrderRetrievalPreferenceStatusReason->fun?version->fun?createDate->fun?lastUpdateDate->fun()->{awsAccountId;procurementPortalPreferenceArn;procurementPortalName;buyerDomain;buyerIdentifier;supplierDomain;supplierIdentifier;selector;einvoiceDeliveryEnabled;purchaseOrderRetrievalEnabled;einvoiceDeliveryPreferenceStatus;einvoiceDeliveryPreferenceStatusReason;purchaseOrderRetrievalPreferenceStatus;purchaseOrderRetrievalPreferenceStatusReason;version;createDate;lastUpdateDate}letto_valuex=structure_to_value[("AwsAccountId",(Option.mapx.awsAccountId~f:AccountIdString.to_value));("ProcurementPortalPreferenceArn",(Option.mapx.procurementPortalPreferenceArn~f:ProcurementPortalPreferenceArnString.to_value));("ProcurementPortalName",(Option.mapx.procurementPortalName~f:ProcurementPortalName.to_value));("BuyerDomain",(Option.mapx.buyerDomain~f:BuyerDomain.to_value));("BuyerIdentifier",(Option.mapx.buyerIdentifier~f:BasicStringWithoutSpace.to_value));("SupplierDomain",(Option.mapx.supplierDomain~f:SupplierDomain.to_value));("SupplierIdentifier",(Option.mapx.supplierIdentifier~f:BasicStringWithoutSpace.to_value));("Selector",(Option.mapx.selector~f:ProcurementPortalPreferenceSelector.to_value));("EinvoiceDeliveryEnabled",(Option.mapx.einvoiceDeliveryEnabled~f:Boolean.to_value));("PurchaseOrderRetrievalEnabled",(Option.mapx.purchaseOrderRetrievalEnabled~f:Boolean.to_value));("EinvoiceDeliveryPreferenceStatus",(Option.mapx.einvoiceDeliveryPreferenceStatus~f:ProcurementPortalPreferenceStatus.to_value));("EinvoiceDeliveryPreferenceStatusReason",(Option.mapx.einvoiceDeliveryPreferenceStatusReason~f:BasicString.to_value));("PurchaseOrderRetrievalPreferenceStatus",(Option.mapx.purchaseOrderRetrievalPreferenceStatus~f:ProcurementPortalPreferenceStatus.to_value));("PurchaseOrderRetrievalPreferenceStatusReason",(Option.mapx.purchaseOrderRetrievalPreferenceStatusReason~f:BasicString.to_value));("Version",(Option.mapx.version~f:Long.to_value));("CreateDate",(Option.mapx.createDate~f:Timestamp.to_value));("LastUpdateDate",(Option.mapx.lastUpdateDate~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlastUpdateDate=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"LastUpdateDate")inletcreateDate=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"CreateDate")inletversion=(Option.map~f:Long.of_xml)(Xml.childxml_arg0"Version")inletpurchaseOrderRetrievalPreferenceStatusReason=(Option.map~f:BasicString.of_xml)(Xml.childxml_arg0"PurchaseOrderRetrievalPreferenceStatusReason")inletpurchaseOrderRetrievalPreferenceStatus=(Option.map~f:ProcurementPortalPreferenceStatus.of_xml)(Xml.childxml_arg0"PurchaseOrderRetrievalPreferenceStatus")inleteinvoiceDeliveryPreferenceStatusReason=(Option.map~f:BasicString.of_xml)(Xml.childxml_arg0"EinvoiceDeliveryPreferenceStatusReason")inleteinvoiceDeliveryPreferenceStatus=(Option.map~f:ProcurementPortalPreferenceStatus.of_xml)(Xml.childxml_arg0"EinvoiceDeliveryPreferenceStatus")inletpurchaseOrderRetrievalEnabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"PurchaseOrderRetrievalEnabled")inleteinvoiceDeliveryEnabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"EinvoiceDeliveryEnabled")inletselector=(Option.map~f:ProcurementPortalPreferenceSelector.of_xml)(Xml.childxml_arg0"Selector")inletsupplierIdentifier=(Option.map~f:BasicStringWithoutSpace.of_xml)(Xml.childxml_arg0"SupplierIdentifier")inletsupplierDomain=(Option.map~f:SupplierDomain.of_xml)(Xml.childxml_arg0"SupplierDomain")inletbuyerIdentifier=(Option.map~f:BasicStringWithoutSpace.of_xml)(Xml.childxml_arg0"BuyerIdentifier")inletbuyerDomain=(Option.map~f:BuyerDomain.of_xml)(Xml.childxml_arg0"BuyerDomain")inletprocurementPortalName=(Option.map~f:ProcurementPortalName.of_xml)(Xml.childxml_arg0"ProcurementPortalName")inletprocurementPortalPreferenceArn=(Option.map~f:ProcurementPortalPreferenceArnString.of_xml)(Xml.childxml_arg0"ProcurementPortalPreferenceArn")inletawsAccountId=(Option.map~f:AccountIdString.of_xml)(Xml.childxml_arg0"AwsAccountId")inmake?lastUpdateDate?createDate?version?purchaseOrderRetrievalPreferenceStatusReason?purchaseOrderRetrievalPreferenceStatus?einvoiceDeliveryPreferenceStatusReason?einvoiceDeliveryPreferenceStatus?purchaseOrderRetrievalEnabled?einvoiceDeliveryEnabled?selector?supplierIdentifier?supplierDomain?buyerIdentifier?buyerDomain?procurementPortalName?procurementPortalPreferenceArn?awsAccountId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlastUpdateDate=field_mapjson__"LastUpdateDate"Timestamp.of_jsoninletcreateDate=field_mapjson__"CreateDate"Timestamp.of_jsoninletversion=field_mapjson__"Version"Long.of_jsoninletpurchaseOrderRetrievalPreferenceStatusReason=field_mapjson__"PurchaseOrderRetrievalPreferenceStatusReason"BasicString.of_jsoninletpurchaseOrderRetrievalPreferenceStatus=field_mapjson__"PurchaseOrderRetrievalPreferenceStatus"ProcurementPortalPreferenceStatus.of_jsoninleteinvoiceDeliveryPreferenceStatusReason=field_mapjson__"EinvoiceDeliveryPreferenceStatusReason"BasicString.of_jsoninleteinvoiceDeliveryPreferenceStatus=field_mapjson__"EinvoiceDeliveryPreferenceStatus"ProcurementPortalPreferenceStatus.of_jsoninletpurchaseOrderRetrievalEnabled=field_mapjson__"PurchaseOrderRetrievalEnabled"Boolean.of_jsoninleteinvoiceDeliveryEnabled=field_mapjson__"EinvoiceDeliveryEnabled"Boolean.of_jsoninletselector=field_mapjson__"Selector"ProcurementPortalPreferenceSelector.of_jsoninletsupplierIdentifier=field_mapjson__"SupplierIdentifier"BasicStringWithoutSpace.of_jsoninletsupplierDomain=field_mapjson__"SupplierDomain"SupplierDomain.of_jsoninletbuyerIdentifier=field_mapjson__"BuyerIdentifier"BasicStringWithoutSpace.of_jsoninletbuyerDomain=field_mapjson__"BuyerDomain"BuyerDomain.of_jsoninletprocurementPortalName=field_mapjson__"ProcurementPortalName"ProcurementPortalName.of_jsoninletprocurementPortalPreferenceArn=field_mapjson__"ProcurementPortalPreferenceArn"ProcurementPortalPreferenceArnString.of_jsoninletawsAccountId=field_mapjson__"AwsAccountId"AccountIdString.of_jsoninmake?lastUpdateDate?createDate?version?purchaseOrderRetrievalPreferenceStatusReason?purchaseOrderRetrievalPreferenceStatus?einvoiceDeliveryPreferenceStatusReason?einvoiceDeliveryPreferenceStatus?purchaseOrderRetrievalEnabled?einvoiceDeliveryEnabled?selector?supplierIdentifier?supplierDomain?buyerIdentifier?buyerDomain?procurementPortalName?procurementPortalPreferenceArn?awsAccountId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Provides a summary of a procurement portal preference, including key identifiers and status information."]moduleInvoiceUnit=structtypenonrect={invoiceUnitArn:InvoiceUnitArnString.toption[@ocaml.doc"ARN to identify an invoice unit. This information can't be modified or deleted."];invoiceReceiver:AccountIdString.toption[@ocaml.doc"The account that receives invoices related to the invoice unit."];name:InvoiceUnitName.toption[@ocaml.doc"A unique name that is distinctive within your Amazon Web Services."];description:DescriptionString.toption[@ocaml.doc"The assigned description for an invoice unit. This information can't be modified or deleted."];taxInheritanceDisabled:TaxInheritanceDisabledFlag.toption[@ocaml.doc"Whether the invoice unit based tax inheritance is/ should be enabled or disabled."];rule:InvoiceUnitRule.toption[@ocaml.doc"An InvoiceUnitRule object used the categorize invoice units."];lastModified:LastModifiedTimestamp.toption[@ocaml.doc"The last time the invoice unit was updated. This is important to determine the version of invoice unit configuration used to create the invoices. Any invoice created after this modified time will use this invoice unit configuration."]}letmake?invoiceUnitArn=fun?invoiceReceiver->fun?name->fun?description->fun?taxInheritanceDisabled->fun?rule->fun?lastModified->fun()->{invoiceUnitArn;invoiceReceiver;name;description;taxInheritanceDisabled;rule;lastModified}letto_valuex=structure_to_value[("InvoiceUnitArn",(Option.mapx.invoiceUnitArn~f:InvoiceUnitArnString.to_value));("InvoiceReceiver",(Option.mapx.invoiceReceiver~f:AccountIdString.to_value));("Name",(Option.mapx.name~f:InvoiceUnitName.to_value));("Description",(Option.mapx.description~f:DescriptionString.to_value));("TaxInheritanceDisabled",(Option.mapx.taxInheritanceDisabled~f:TaxInheritanceDisabledFlag.to_value));("Rule",(Option.mapx.rule~f:InvoiceUnitRule.to_value));("LastModified",(Option.mapx.lastModified~f:LastModifiedTimestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlastModified=(Option.map~f:LastModifiedTimestamp.of_xml)(Xml.childxml_arg0"LastModified")inletrule=(Option.map~f:InvoiceUnitRule.of_xml)(Xml.childxml_arg0"Rule")inlettaxInheritanceDisabled=(Option.map~f:TaxInheritanceDisabledFlag.of_xml)(Xml.childxml_arg0"TaxInheritanceDisabled")inletdescription=(Option.map~f:DescriptionString.of_xml)(Xml.childxml_arg0"Description")inletname=(Option.map~f:InvoiceUnitName.of_xml)(Xml.childxml_arg0"Name")inletinvoiceReceiver=(Option.map~f:AccountIdString.of_xml)(Xml.childxml_arg0"InvoiceReceiver")inletinvoiceUnitArn=(Option.map~f:InvoiceUnitArnString.of_xml)(Xml.childxml_arg0"InvoiceUnitArn")inmake?lastModified?rule?taxInheritanceDisabled?description?name?invoiceReceiver?invoiceUnitArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlastModified=field_mapjson__"LastModified"LastModifiedTimestamp.of_jsoninletrule=field_mapjson__"Rule"InvoiceUnitRule.of_jsoninlettaxInheritanceDisabled=field_mapjson__"TaxInheritanceDisabled"TaxInheritanceDisabledFlag.of_jsoninletdescription=field_mapjson__"Description"DescriptionString.of_jsoninletname=field_mapjson__"Name"InvoiceUnitName.of_jsoninletinvoiceReceiver=field_mapjson__"InvoiceReceiver"AccountIdString.of_jsoninletinvoiceUnitArn=field_mapjson__"InvoiceUnitArn"InvoiceUnitArnString.of_jsoninmake?lastModified?rule?taxInheritanceDisabled?description?name?invoiceReceiver?invoiceUnitArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"An invoice unit is a set of mutually exclusive accounts that correspond to your business entity. Invoice units allow you separate Amazon Web Services account costs and configures your invoice for each business entity going forward."]moduleAccountIdList=structtypenonrect=AccountIdString.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:1000)>>=(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:AccountIdString.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:AccountIdString.of_xml)letof_jsonj=list_of_json~kind:"AccountIdList"~of_json:AccountIdString.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleInvoiceUnitNames=structtypenonrect=InvoiceUnitName.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:InvoiceUnitName.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:InvoiceUnitName.of_xml)letof_jsonj=list_of_json~kind:"InvoiceUnitNames"~of_json:InvoiceUnitName.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleInvoiceSummary=structtypenonrect={accountId:AccountIdString.toption[@ocaml.doc"The Amazon Web Services account ID."];invoiceId:BasicString.toption[@ocaml.doc"The invoice ID."];issuedDate:Timestamp.toption[@ocaml.doc"The issued date of the invoice."];dueDate:Timestamp.toption[@ocaml.doc"The invoice due date."];billSourceAccounts:BillSourceAccountList.toption[@ocaml.doc"The list of Amazon Web Services account IDs that are the bill source of the invoice. Currently, only a single bill source account is returned."];billSourceAccountsTotalCount:Integer.toption[@ocaml.doc"The total number of accounts that are the bill source of the invoice."];receiverRole:ReceiverRole.toption[@ocaml.doc"The role of the invoice receiver."];entity:Entity.toption[@ocaml.doc"The organization name providing Amazon Web Services services."];billingPeriod:BillingPeriod.toption[@ocaml.doc"The billing period of the invoice-related document."];invoiceFrequency:InvoiceFrequency.toption[@ocaml.doc"The frequency of the invoice."];billType:BillType.toption[@ocaml.doc"The type of the bill."];invoiceType:InvoiceType.toption[@ocaml.doc"The type of invoice."];commercialInvoiceId:BasicString.toption[@ocaml.doc"The commercial invoice ID. This is only applicable for tax invoices and identifies the associated commercial invoice."];originalInvoiceId:BasicString.toption[@ocaml.doc"The initial or original invoice ID."];purchaseOrderNumber:BasicString.toption[@ocaml.doc"The purchase order number associated to the invoice."];einvoiceDeliveryStatus:EinvoiceDeliveryStatus.toption[@ocaml.doc"The e-invoice delivery status."];taxAuthorityStatus:TaxAuthorityStatus.toption[@ocaml.doc"The current status of an invoice as reported to the tax authority. This captures scenarios where an invoice may be cancelled after issuance."];baseCurrencyAmount:InvoiceCurrencyAmount.toption[@ocaml.doc"The summary with the product and service currency."];taxCurrencyAmount:InvoiceCurrencyAmount.toption[@ocaml.doc"The summary with the tax currency."];paymentCurrencyAmount:InvoiceCurrencyAmount.toption[@ocaml.doc"The summary with the customer configured currency."]}letmake?accountId=fun?invoiceId->fun?issuedDate->fun?dueDate->fun?billSourceAccounts->fun?billSourceAccountsTotalCount->fun?receiverRole->fun?entity->fun?billingPeriod->fun?invoiceFrequency->fun?billType->fun?invoiceType->fun?commercialInvoiceId->fun?originalInvoiceId->fun?purchaseOrderNumber->fun?einvoiceDeliveryStatus->fun?taxAuthorityStatus->fun?baseCurrencyAmount->fun?taxCurrencyAmount->fun?paymentCurrencyAmount->fun()->{accountId;invoiceId;issuedDate;dueDate;billSourceAccounts;billSourceAccountsTotalCount;receiverRole;entity;billingPeriod;invoiceFrequency;billType;invoiceType;commercialInvoiceId;originalInvoiceId;purchaseOrderNumber;einvoiceDeliveryStatus;taxAuthorityStatus;baseCurrencyAmount;taxCurrencyAmount;paymentCurrencyAmount}letto_valuex=structure_to_value[("AccountId",(Option.mapx.accountId~f:AccountIdString.to_value));("InvoiceId",(Option.mapx.invoiceId~f:BasicString.to_value));("IssuedDate",(Option.mapx.issuedDate~f:Timestamp.to_value));("DueDate",(Option.mapx.dueDate~f:Timestamp.to_value));("BillSourceAccounts",(Option.mapx.billSourceAccounts~f:BillSourceAccountList.to_value));("BillSourceAccountsTotalCount",(Option.mapx.billSourceAccountsTotalCount~f:Integer.to_value));("ReceiverRole",(Option.mapx.receiverRole~f:ReceiverRole.to_value));("Entity",(Option.mapx.entity~f:Entity.to_value));("BillingPeriod",(Option.mapx.billingPeriod~f:BillingPeriod.to_value));("InvoiceFrequency",(Option.mapx.invoiceFrequency~f:InvoiceFrequency.to_value));("BillType",(Option.mapx.billType~f:BillType.to_value));("InvoiceType",(Option.mapx.invoiceType~f:InvoiceType.to_value));("CommercialInvoiceId",(Option.mapx.commercialInvoiceId~f:BasicString.to_value));("OriginalInvoiceId",(Option.mapx.originalInvoiceId~f:BasicString.to_value));("PurchaseOrderNumber",(Option.mapx.purchaseOrderNumber~f:BasicString.to_value));("EinvoiceDeliveryStatus",(Option.mapx.einvoiceDeliveryStatus~f:EinvoiceDeliveryStatus.to_value));("TaxAuthorityStatus",(Option.mapx.taxAuthorityStatus~f:TaxAuthorityStatus.to_value));("BaseCurrencyAmount",(Option.mapx.baseCurrencyAmount~f:InvoiceCurrencyAmount.to_value));("TaxCurrencyAmount",(Option.mapx.taxCurrencyAmount~f:InvoiceCurrencyAmount.to_value));("PaymentCurrencyAmount",(Option.mapx.paymentCurrencyAmount~f:InvoiceCurrencyAmount.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letpaymentCurrencyAmount=(Option.map~f:InvoiceCurrencyAmount.of_xml)(Xml.childxml_arg0"PaymentCurrencyAmount")inlettaxCurrencyAmount=(Option.map~f:InvoiceCurrencyAmount.of_xml)(Xml.childxml_arg0"TaxCurrencyAmount")inletbaseCurrencyAmount=(Option.map~f:InvoiceCurrencyAmount.of_xml)(Xml.childxml_arg0"BaseCurrencyAmount")inlettaxAuthorityStatus=(Option.map~f:TaxAuthorityStatus.of_xml)(Xml.childxml_arg0"TaxAuthorityStatus")inleteinvoiceDeliveryStatus=(Option.map~f:EinvoiceDeliveryStatus.of_xml)(Xml.childxml_arg0"EinvoiceDeliveryStatus")inletpurchaseOrderNumber=(Option.map~f:BasicString.of_xml)(Xml.childxml_arg0"PurchaseOrderNumber")inletoriginalInvoiceId=(Option.map~f:BasicString.of_xml)(Xml.childxml_arg0"OriginalInvoiceId")inletcommercialInvoiceId=(Option.map~f:BasicString.of_xml)(Xml.childxml_arg0"CommercialInvoiceId")inletinvoiceType=(Option.map~f:InvoiceType.of_xml)(Xml.childxml_arg0"InvoiceType")inletbillType=(Option.map~f:BillType.of_xml)(Xml.childxml_arg0"BillType")inletinvoiceFrequency=(Option.map~f:InvoiceFrequency.of_xml)(Xml.childxml_arg0"InvoiceFrequency")inletbillingPeriod=(Option.map~f:BillingPeriod.of_xml)(Xml.childxml_arg0"BillingPeriod")inletentity=(Option.map~f:Entity.of_xml)(Xml.childxml_arg0"Entity")inletreceiverRole=(Option.map~f:ReceiverRole.of_xml)(Xml.childxml_arg0"ReceiverRole")inletbillSourceAccountsTotalCount=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"BillSourceAccountsTotalCount")inletbillSourceAccounts=(Option.map~f:BillSourceAccountList.of_xml)(Xml.childxml_arg0"BillSourceAccounts")inletdueDate=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"DueDate")inletissuedDate=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"IssuedDate")inletinvoiceId=(Option.map~f:BasicString.of_xml)(Xml.childxml_arg0"InvoiceId")inletaccountId=(Option.map~f:AccountIdString.of_xml)(Xml.childxml_arg0"AccountId")inmake?paymentCurrencyAmount?taxCurrencyAmount?baseCurrencyAmount?taxAuthorityStatus?einvoiceDeliveryStatus?purchaseOrderNumber?originalInvoiceId?commercialInvoiceId?invoiceType?billType?invoiceFrequency?billingPeriod?entity?receiverRole?billSourceAccountsTotalCount?billSourceAccounts?dueDate?issuedDate?invoiceId?accountId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letpaymentCurrencyAmount=field_mapjson__"PaymentCurrencyAmount"InvoiceCurrencyAmount.of_jsoninlettaxCurrencyAmount=field_mapjson__"TaxCurrencyAmount"InvoiceCurrencyAmount.of_jsoninletbaseCurrencyAmount=field_mapjson__"BaseCurrencyAmount"InvoiceCurrencyAmount.of_jsoninlettaxAuthorityStatus=field_mapjson__"TaxAuthorityStatus"TaxAuthorityStatus.of_jsoninleteinvoiceDeliveryStatus=field_mapjson__"EinvoiceDeliveryStatus"EinvoiceDeliveryStatus.of_jsoninletpurchaseOrderNumber=field_mapjson__"PurchaseOrderNumber"BasicString.of_jsoninletoriginalInvoiceId=field_mapjson__"OriginalInvoiceId"BasicString.of_jsoninletcommercialInvoiceId=field_mapjson__"CommercialInvoiceId"BasicString.of_jsoninletinvoiceType=field_mapjson__"InvoiceType"InvoiceType.of_jsoninletbillType=field_mapjson__"BillType"BillType.of_jsoninletinvoiceFrequency=field_mapjson__"InvoiceFrequency"InvoiceFrequency.of_jsoninletbillingPeriod=field_mapjson__"BillingPeriod"BillingPeriod.of_jsoninletentity=field_mapjson__"Entity"Entity.of_jsoninletreceiverRole=field_mapjson__"ReceiverRole"ReceiverRole.of_jsoninletbillSourceAccountsTotalCount=field_mapjson__"BillSourceAccountsTotalCount"Integer.of_jsoninletbillSourceAccounts=field_mapjson__"BillSourceAccounts"BillSourceAccountList.of_jsoninletdueDate=field_mapjson__"DueDate"Timestamp.of_jsoninletissuedDate=field_mapjson__"IssuedDate"Timestamp.of_jsoninletinvoiceId=field_mapjson__"InvoiceId"BasicString.of_jsoninletaccountId=field_mapjson__"AccountId"AccountIdString.of_jsoninmake?paymentCurrencyAmount?taxCurrencyAmount?baseCurrencyAmount?taxAuthorityStatus?einvoiceDeliveryStatus?purchaseOrderNumber?originalInvoiceId?commercialInvoiceId?invoiceType?billType?invoiceFrequency?billingPeriod?entity?receiverRole?billSourceAccountsTotalCount?billSourceAccounts?dueDate?issuedDate?invoiceId?accountId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The invoice that the API retrieved."]moduleDateInterval=structtypenonrect={startDate:Timestamp.t[@ocaml.doc"The beginning of the time period that you want invoice-related documents for. The start date is inclusive. For example, if start is 2019-01-01, AWS retrieves invoices starting at 2019-01-01 up to the end date."];endDate:Timestamp.t[@ocaml.doc"The end of the time period that you want invoice-related documents for. The end date is exclusive. For example, if end is 2019-01-10, Amazon Web Services retrieves invoice-related documents from the start date up to, but not including, 2018-01-10."]}letcontext_="DateInterval"letmake~startDate=fun~endDate->fun()->{startDate;endDate}letto_valuex=structure_to_value[("StartDate",(Some(Timestamp.to_valuex.startDate)));("EndDate",(Some(Timestamp.to_valuex.endDate)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letendDate=Timestamp.of_xml(Xml.child_exn~context:context_xml_arg0"EndDate")inletstartDate=Timestamp.of_xml(Xml.child_exn~context:context_xml_arg0"StartDate")inmake~endDate~startDate()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letendDate=field_map_exnjson__"EndDate"Timestamp.of_jsoninletstartDate=field_map_exnjson__"StartDate"Timestamp.of_jsoninmake~endDate~startDate()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The time period that you want invoice-related documents for."]moduleListInvoiceSummariesResourceType=structtypenonrect=|ACCOUNT_ID|INVOICE_ID|Non_static_idofstringletmakei=iletto_string=function|ACCOUNT_ID->"ACCOUNT_ID"|INVOICE_ID->"INVOICE_ID"|Non_static_ids->sletof_string=function|"ACCOUNT_ID"->ACCOUNT_ID|"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 ListInvoiceSummariesResourceType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ListInvoiceSummariesResourceType"j)letto_json=simple_to_jsonto_valueendmoduleContacts=structtypenonrect=Contact.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:Contact.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:Contact.of_xml)letof_jsonj=list_of_json~kind:"Contacts"~of_json:Contact.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleEinvoiceDeliveryPreference=structtypenonrect={einvoiceDeliveryDocumentTypes:EinvoiceDeliveryDocumentTypes.t[@ocaml.doc"The types of e-invoice documents to be delivered."];einvoiceDeliveryAttachmentTypes:EinvoiceDeliveryAttachmentTypes.toption[@ocaml.doc"The types of attachments to include with the e-invoice delivery."];protocol:Protocol.t[@ocaml.doc"The communication protocol to use for e-invoice delivery."];purchaseOrderDataSources:PurchaseOrderDataSources.t[@ocaml.doc"The sources of purchase order data to use for e-invoice generation and delivery."];connectionTestingMethod:ConnectionTestingMethod.t[@ocaml.doc"The method to use for testing the connection to the procurement portal."];einvoiceDeliveryActivationDate:Timestamp.t[@ocaml.doc"The date when e-invoice delivery should be activated for this preference."]}letcontext_="EinvoiceDeliveryPreference"letmake?einvoiceDeliveryAttachmentTypes=fun~einvoiceDeliveryDocumentTypes->fun~protocol->fun~purchaseOrderDataSources->fun~connectionTestingMethod->fun~einvoiceDeliveryActivationDate->fun()->{einvoiceDeliveryAttachmentTypes;einvoiceDeliveryDocumentTypes;protocol;purchaseOrderDataSources;connectionTestingMethod;einvoiceDeliveryActivationDate}letto_valuex=structure_to_value[("EinvoiceDeliveryDocumentTypes",(Some(EinvoiceDeliveryDocumentTypes.to_valuex.einvoiceDeliveryDocumentTypes)));("EinvoiceDeliveryAttachmentTypes",(Option.mapx.einvoiceDeliveryAttachmentTypes~f:EinvoiceDeliveryAttachmentTypes.to_value));("Protocol",(Some(Protocol.to_valuex.protocol)));("PurchaseOrderDataSources",(Some(PurchaseOrderDataSources.to_valuex.purchaseOrderDataSources)));("ConnectionTestingMethod",(Some(ConnectionTestingMethod.to_valuex.connectionTestingMethod)));("EinvoiceDeliveryActivationDate",(Some(Timestamp.to_valuex.einvoiceDeliveryActivationDate)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=leteinvoiceDeliveryActivationDate=Timestamp.of_xml(Xml.child_exn~context:context_xml_arg0"EinvoiceDeliveryActivationDate")inletconnectionTestingMethod=ConnectionTestingMethod.of_xml(Xml.child_exn~context:context_xml_arg0"ConnectionTestingMethod")inletpurchaseOrderDataSources=PurchaseOrderDataSources.of_xml(Xml.child_exn~context:context_xml_arg0"PurchaseOrderDataSources")inletprotocol=Protocol.of_xml(Xml.child_exn~context:context_xml_arg0"Protocol")inleteinvoiceDeliveryAttachmentTypes=(Option.map~f:EinvoiceDeliveryAttachmentTypes.of_xml)(Xml.childxml_arg0"EinvoiceDeliveryAttachmentTypes")inleteinvoiceDeliveryDocumentTypes=EinvoiceDeliveryDocumentTypes.of_xml(Xml.child_exn~context:context_xml_arg0"EinvoiceDeliveryDocumentTypes")inmake~einvoiceDeliveryActivationDate~connectionTestingMethod~purchaseOrderDataSources~protocol?einvoiceDeliveryAttachmentTypes~einvoiceDeliveryDocumentTypes()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=leteinvoiceDeliveryActivationDate=field_map_exnjson__"EinvoiceDeliveryActivationDate"Timestamp.of_jsoninletconnectionTestingMethod=field_map_exnjson__"ConnectionTestingMethod"ConnectionTestingMethod.of_jsoninletpurchaseOrderDataSources=field_map_exnjson__"PurchaseOrderDataSources"PurchaseOrderDataSources.of_jsoninletprotocol=field_map_exnjson__"Protocol"Protocol.of_jsoninleteinvoiceDeliveryAttachmentTypes=field_mapjson__"EinvoiceDeliveryAttachmentTypes"EinvoiceDeliveryAttachmentTypes.of_jsoninleteinvoiceDeliveryDocumentTypes=field_map_exnjson__"EinvoiceDeliveryDocumentTypes"EinvoiceDeliveryDocumentTypes.of_jsoninmake~einvoiceDeliveryActivationDate~connectionTestingMethod~purchaseOrderDataSources~protocol?einvoiceDeliveryAttachmentTypes~einvoiceDeliveryDocumentTypes()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Specifies the preferences for e-invoice delivery, including document types, attachment types, and customization settings."]moduleTestEnvPreference=structtypenonrect={buyerDomain:BuyerDomain.toption[@ocaml.doc"The domain identifier for the buyer in the test environment of the procurement portal."];buyerIdentifier:BasicStringWithoutSpace.toption[@ocaml.doc"The unique identifier for the buyer in the test environment of the procurement portal."];supplierDomain:SupplierDomain.toption[@ocaml.doc"The domain identifier for the supplier in the test environment of the procurement portal."];supplierIdentifier:BasicStringWithoutSpace.toption[@ocaml.doc"The unique identifier for the supplier in the test environment of the procurement portal."];procurementPortalSharedSecret:BasicStringWithoutSpace.toption[@ocaml.doc"The shared secret or authentication credential used for secure communication with the test environment."];procurementPortalInstanceEndpoint:BasicStringWithoutSpace.toption[@ocaml.doc"The endpoint URL where e-invoices are delivered in the test environment."];purchaseOrderRetrievalEndpoint:BasicStringWithoutSpace.toption[@ocaml.doc"The endpoint URL used for retrieving purchase orders in the test environment."]}letmake?buyerDomain=fun?buyerIdentifier->fun?supplierDomain->fun?supplierIdentifier->fun?procurementPortalSharedSecret->fun?procurementPortalInstanceEndpoint->fun?purchaseOrderRetrievalEndpoint->fun()->{buyerDomain;buyerIdentifier;supplierDomain;supplierIdentifier;procurementPortalSharedSecret;procurementPortalInstanceEndpoint;purchaseOrderRetrievalEndpoint}letto_valuex=structure_to_value[("BuyerDomain",(Option.mapx.buyerDomain~f:BuyerDomain.to_value));("BuyerIdentifier",(Option.mapx.buyerIdentifier~f:BasicStringWithoutSpace.to_value));("SupplierDomain",(Option.mapx.supplierDomain~f:SupplierDomain.to_value));("SupplierIdentifier",(Option.mapx.supplierIdentifier~f:BasicStringWithoutSpace.to_value));("ProcurementPortalSharedSecret",(Option.mapx.procurementPortalSharedSecret~f:BasicStringWithoutSpace.to_value));("ProcurementPortalInstanceEndpoint",(Option.mapx.procurementPortalInstanceEndpoint~f:BasicStringWithoutSpace.to_value));("PurchaseOrderRetrievalEndpoint",(Option.mapx.purchaseOrderRetrievalEndpoint~f:BasicStringWithoutSpace.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letpurchaseOrderRetrievalEndpoint=(Option.map~f:BasicStringWithoutSpace.of_xml)(Xml.childxml_arg0"PurchaseOrderRetrievalEndpoint")inletprocurementPortalInstanceEndpoint=(Option.map~f:BasicStringWithoutSpace.of_xml)(Xml.childxml_arg0"ProcurementPortalInstanceEndpoint")inletprocurementPortalSharedSecret=(Option.map~f:BasicStringWithoutSpace.of_xml)(Xml.childxml_arg0"ProcurementPortalSharedSecret")inletsupplierIdentifier=(Option.map~f:BasicStringWithoutSpace.of_xml)(Xml.childxml_arg0"SupplierIdentifier")inletsupplierDomain=(Option.map~f:SupplierDomain.of_xml)(Xml.childxml_arg0"SupplierDomain")inletbuyerIdentifier=(Option.map~f:BasicStringWithoutSpace.of_xml)(Xml.childxml_arg0"BuyerIdentifier")inletbuyerDomain=(Option.map~f:BuyerDomain.of_xml)(Xml.childxml_arg0"BuyerDomain")inmake?purchaseOrderRetrievalEndpoint?procurementPortalInstanceEndpoint?procurementPortalSharedSecret?supplierIdentifier?supplierDomain?buyerIdentifier?buyerDomain()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letpurchaseOrderRetrievalEndpoint=field_mapjson__"PurchaseOrderRetrievalEndpoint"BasicStringWithoutSpace.of_jsoninletprocurementPortalInstanceEndpoint=field_mapjson__"ProcurementPortalInstanceEndpoint"BasicStringWithoutSpace.of_jsoninletprocurementPortalSharedSecret=field_mapjson__"ProcurementPortalSharedSecret"BasicStringWithoutSpace.of_jsoninletsupplierIdentifier=field_mapjson__"SupplierIdentifier"BasicStringWithoutSpace.of_jsoninletsupplierDomain=field_mapjson__"SupplierDomain"SupplierDomain.of_jsoninletbuyerIdentifier=field_mapjson__"BuyerIdentifier"BasicStringWithoutSpace.of_jsoninletbuyerDomain=field_mapjson__"BuyerDomain"BuyerDomain.of_jsoninmake?purchaseOrderRetrievalEndpoint?procurementPortalInstanceEndpoint?procurementPortalSharedSecret?supplierIdentifier?supplierDomain?buyerIdentifier?buyerDomain()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Contains configuration settings for testing the procurement portal integration in a non-production environment."]moduleSupplementalDocuments=structtypenonrect=SupplementalDocument.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:SupplementalDocument.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:SupplementalDocument.of_xml)letof_jsonj=list_of_json~kind:"SupplementalDocuments"~of_json:SupplementalDocument.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleInvoiceProfile=structtypenonrect={accountId:AccountIdString.toption[@ocaml.doc"The account ID the invoice profile is generated for."];receiverName:BasicStringWithoutSpace.toption[@ocaml.doc"The name of the person receiving the invoice profile."];receiverAddress:ReceiverAddress.toption[@ocaml.doc"The address of the receiver that will be printed on the invoice."];receiverEmail:SensitiveBasicStringWithoutSpace.toption[@ocaml.doc"The email address for the invoice profile receiver."];issuer:BasicStringWithoutSpace.toption[@ocaml.doc"This specifies the issuing entity of the invoice."];taxRegistrationNumber:SensitiveBasicStringWithoutSpace.toption[@ocaml.doc"Your Tax Registration Number (TRN) information."]}letmake?accountId=fun?receiverName->fun?receiverAddress->fun?receiverEmail->fun?issuer->fun?taxRegistrationNumber->fun()->{accountId;receiverName;receiverAddress;receiverEmail;issuer;taxRegistrationNumber}letto_valuex=structure_to_value[("AccountId",(Option.mapx.accountId~f:AccountIdString.to_value));("ReceiverName",(Option.mapx.receiverName~f:BasicStringWithoutSpace.to_value));("ReceiverAddress",(Option.mapx.receiverAddress~f:ReceiverAddress.to_value));("ReceiverEmail",(Option.mapx.receiverEmail~f:SensitiveBasicStringWithoutSpace.to_value));("Issuer",(Option.mapx.issuer~f:BasicStringWithoutSpace.to_value));("TaxRegistrationNumber",(Option.mapx.taxRegistrationNumber~f:SensitiveBasicStringWithoutSpace.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettaxRegistrationNumber=(Option.map~f:SensitiveBasicStringWithoutSpace.of_xml)(Xml.childxml_arg0"TaxRegistrationNumber")inletissuer=(Option.map~f:BasicStringWithoutSpace.of_xml)(Xml.childxml_arg0"Issuer")inletreceiverEmail=(Option.map~f:SensitiveBasicStringWithoutSpace.of_xml)(Xml.childxml_arg0"ReceiverEmail")inletreceiverAddress=(Option.map~f:ReceiverAddress.of_xml)(Xml.childxml_arg0"ReceiverAddress")inletreceiverName=(Option.map~f:BasicStringWithoutSpace.of_xml)(Xml.childxml_arg0"ReceiverName")inletaccountId=(Option.map~f:AccountIdString.of_xml)(Xml.childxml_arg0"AccountId")inmake?taxRegistrationNumber?issuer?receiverEmail?receiverAddress?receiverName?accountId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettaxRegistrationNumber=field_mapjson__"TaxRegistrationNumber"SensitiveBasicStringWithoutSpace.of_jsoninletissuer=field_mapjson__"Issuer"BasicStringWithoutSpace.of_jsoninletreceiverEmail=field_mapjson__"ReceiverEmail"SensitiveBasicStringWithoutSpace.of_jsoninletreceiverAddress=field_mapjson__"ReceiverAddress"ReceiverAddress.of_jsoninletreceiverName=field_mapjson__"ReceiverName"BasicStringWithoutSpace.of_jsoninletaccountId=field_mapjson__"AccountId"AccountIdString.of_jsoninmake?taxRegistrationNumber?issuer?receiverEmail?receiverAddress?receiverName?accountId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Contains high-level information about the invoice receiver."]moduleAccessDeniedException=structtypenonrect={message:BasicString.toption;resourceName:InvoiceUnitArnString.toption[@ocaml.doc"You don't have sufficient access to perform this action."]}letmake?message=fun?resourceName->fun()->{message;resourceName}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:BasicString.to_value));("resourceName",(Option.mapx.resourceName~f:InvoiceUnitArnString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresourceName=(Option.map~f:InvoiceUnitArnString.of_xml)(Xml.childxml_arg0"resourceName")inletmessage=(Option.map~f:BasicString.of_xml)(Xml.childxml_arg0"message")inmake?resourceName?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresourceName=field_mapjson__"resourceName"InvoiceUnitArnString.of_jsoninletmessage=field_mapjson__"message"BasicString.of_jsoninmake?resourceName?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"You don't have sufficient access to perform this action."]moduleConflictException=structtypenonrect={message:BasicString.toption;resourceId:BasicString.toption[@ocaml.doc"The identifier of the resource that caused the conflict."];resourceType:BasicString.toption[@ocaml.doc"The type of resource that caused the conflict."]}letmake?message=fun?resourceId->fun?resourceType->fun()->{message;resourceId;resourceType}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:BasicString.to_value));("resourceId",(Option.mapx.resourceId~f:BasicString.to_value));("resourceType",(Option.mapx.resourceType~f:BasicString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresourceType=(Option.map~f:BasicString.of_xml)(Xml.childxml_arg0"resourceType")inletresourceId=(Option.map~f:BasicString.of_xml)(Xml.childxml_arg0"resourceId")inletmessage=(Option.map~f:BasicString.of_xml)(Xml.childxml_arg0"message")inmake?resourceType?resourceId?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresourceType=field_mapjson__"resourceType"BasicString.of_jsoninletresourceId=field_mapjson__"resourceId"BasicString.of_jsoninletmessage=field_mapjson__"message"BasicString.of_jsoninmake?resourceType?resourceId?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The request could not be completed due to a conflict with the current state of the resource. This exception occurs when a concurrent modification is detected during an update operation, or when attempting to create a resource that already exists."]moduleInternalServerException=structtypenonrect={retryAfterSeconds:Integer.toption[@ocaml.doc"The processing request failed because of an unknown error, exception, or failure."];message:BasicString.toption}letmake?retryAfterSeconds=fun?message->fun()->{retryAfterSeconds;message}letto_valuex=structure_to_value[("retryAfterSeconds",(Option.mapx.retryAfterSeconds~f:Integer.to_value));("message",(Option.mapx.message~f:BasicString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:BasicString.of_xml)(Xml.childxml_arg0"message")inletretryAfterSeconds=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"retryAfterSeconds")inmake?message?retryAfterSeconds()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"BasicString.of_jsoninletretryAfterSeconds=field_mapjson__"retryAfterSeconds"Integer.of_jsoninmake?message?retryAfterSeconds()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The processing request failed because of an unknown error, exception, or failure."]moduleResourceNotFoundException=structtypenonrect={message:BasicString.toption;resourceName:InvoiceUnitArnString.toption[@ocaml.doc"The resource could not be found."]}letmake?message=fun?resourceName->fun()->{message;resourceName}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:BasicString.to_value));("resourceName",(Option.mapx.resourceName~f:InvoiceUnitArnString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresourceName=(Option.map~f:InvoiceUnitArnString.of_xml)(Xml.childxml_arg0"resourceName")inletmessage=(Option.map~f:BasicString.of_xml)(Xml.childxml_arg0"message")inmake?resourceName?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresourceName=field_mapjson__"resourceName"InvoiceUnitArnString.of_jsoninletmessage=field_mapjson__"message"BasicString.of_jsoninmake?resourceName?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The resource could not be found."]moduleServiceQuotaExceededException=structtypenonrect={message:BasicString.toption}letmake?message=fun()->{message}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:BasicString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:BasicString.of_xml)(Xml.childxml_arg0"message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"BasicString.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The request was rejected because it attempted to create resources beyond the current Amazon Web Services account limits. The error message describes the limit exceeded."]moduleThrottlingException=structtypenonrect={message:BasicString.toption}letmake?message=fun()->{message}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:BasicString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:BasicString.of_xml)(Xml.childxml_arg0"message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"BasicString.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The request was denied due to request throttling."]moduleValidationException=structtypenonrect={message:BasicString.toption;resourceName:InvoiceUnitArnString.toption[@ocaml.doc"You don't have sufficient access to perform this action."];reason:ValidationExceptionReason.toption[@ocaml.doc"You don't have sufficient access to perform this action."];fieldList:ValidationExceptionFieldList.toption[@ocaml.doc"The input fails to satisfy the constraints specified by an Amazon Web Services service."]}letmake?message=fun?resourceName->fun?reason->fun?fieldList->fun()->{message;resourceName;reason;fieldList}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:BasicString.to_value));("resourceName",(Option.mapx.resourceName~f:InvoiceUnitArnString.to_value));("reason",(Option.mapx.reason~f:ValidationExceptionReason.to_value));("fieldList",(Option.mapx.fieldList~f:ValidationExceptionFieldList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letfieldList=(Option.map~f:ValidationExceptionFieldList.of_xml)(Xml.childxml_arg0"fieldList")inletreason=(Option.map~f:ValidationExceptionReason.of_xml)(Xml.childxml_arg0"reason")inletresourceName=(Option.map~f:InvoiceUnitArnString.of_xml)(Xml.childxml_arg0"resourceName")inletmessage=(Option.map~f:BasicString.of_xml)(Xml.childxml_arg0"message")inmake?fieldList?reason?resourceName?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letfieldList=field_mapjson__"fieldList"ValidationExceptionFieldList.of_jsoninletreason=field_mapjson__"reason"ValidationExceptionReason.of_jsoninletresourceName=field_mapjson__"resourceName"InvoiceUnitArnString.of_jsoninletmessage=field_mapjson__"message"BasicString.of_jsoninmake?fieldList?reason?resourceName?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The input fails to satisfy the constraints specified by an Amazon Web Services service."]moduleResourceTagKeyList=structtypenonrect=ResourceTagKey.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:200)>>=(fun()->check_list_mini~min:0));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ResourceTagKey.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:ResourceTagKey.of_xml)letof_jsonj=list_of_json~kind:"ResourceTagKeyList"~of_json:ResourceTagKey.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleTagrisArn=structtypenonrect=stringletcontext_="TagrisArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:20)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:"arn:aws[-a-z0-9]*:(invoicing)::[0-9]{12}:[-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:"TagrisArn"jletto_json=simple_to_jsonto_valueendmoduleResourceTagList=structtypenonrect=ResourceTag.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:200)>>=(fun()->check_list_mini~min:0));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ResourceTag.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:ResourceTag.of_xml)letof_jsonj=list_of_json~kind:"ResourceTagList"~of_json:ResourceTag.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleTestEnvPreferenceInput=structtypenonrect={buyerDomain:BuyerDomain.t[@ocaml.doc"The domain identifier to use for the buyer in the test environment."];buyerIdentifier:BasicStringWithoutSpace.t[@ocaml.doc"The unique identifier to use for the buyer in the test environment."];supplierDomain:SupplierDomain.t[@ocaml.doc"The domain identifier to use for the supplier in the test environment."];supplierIdentifier:BasicStringWithoutSpace.t[@ocaml.doc"The unique identifier to use for the supplier in the test environment."];procurementPortalSharedSecret:BasicStringWithoutSpace.toption[@ocaml.doc"The shared secret or authentication credential to use for secure communication in the test environment."];procurementPortalInstanceEndpoint:BasicStringWithoutSpace.toption[@ocaml.doc"The endpoint URL where e-invoices will be delivered in the test environment."]}letcontext_="TestEnvPreferenceInput"letmake?procurementPortalSharedSecret=fun?procurementPortalInstanceEndpoint->fun~buyerDomain->fun~buyerIdentifier->fun~supplierDomain->fun~supplierIdentifier->fun()->{procurementPortalSharedSecret;procurementPortalInstanceEndpoint;buyerDomain;buyerIdentifier;supplierDomain;supplierIdentifier}letto_valuex=structure_to_value[("BuyerDomain",(Some(BuyerDomain.to_valuex.buyerDomain)));("BuyerIdentifier",(Some(BasicStringWithoutSpace.to_valuex.buyerIdentifier)));("SupplierDomain",(Some(SupplierDomain.to_valuex.supplierDomain)));("SupplierIdentifier",(Some(BasicStringWithoutSpace.to_valuex.supplierIdentifier)));("ProcurementPortalSharedSecret",(Option.mapx.procurementPortalSharedSecret~f:BasicStringWithoutSpace.to_value));("ProcurementPortalInstanceEndpoint",(Option.mapx.procurementPortalInstanceEndpoint~f:BasicStringWithoutSpace.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letprocurementPortalInstanceEndpoint=(Option.map~f:BasicStringWithoutSpace.of_xml)(Xml.childxml_arg0"ProcurementPortalInstanceEndpoint")inletprocurementPortalSharedSecret=(Option.map~f:BasicStringWithoutSpace.of_xml)(Xml.childxml_arg0"ProcurementPortalSharedSecret")inletsupplierIdentifier=BasicStringWithoutSpace.of_xml(Xml.child_exn~context:context_xml_arg0"SupplierIdentifier")inletsupplierDomain=SupplierDomain.of_xml(Xml.child_exn~context:context_xml_arg0"SupplierDomain")inletbuyerIdentifier=BasicStringWithoutSpace.of_xml(Xml.child_exn~context:context_xml_arg0"BuyerIdentifier")inletbuyerDomain=BuyerDomain.of_xml(Xml.child_exn~context:context_xml_arg0"BuyerDomain")inmake?procurementPortalInstanceEndpoint?procurementPortalSharedSecret~supplierIdentifier~supplierDomain~buyerIdentifier~buyerDomain()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letprocurementPortalInstanceEndpoint=field_mapjson__"ProcurementPortalInstanceEndpoint"BasicStringWithoutSpace.of_jsoninletprocurementPortalSharedSecret=field_mapjson__"ProcurementPortalSharedSecret"BasicStringWithoutSpace.of_jsoninletsupplierIdentifier=field_map_exnjson__"SupplierIdentifier"BasicStringWithoutSpace.of_jsoninletsupplierDomain=field_map_exnjson__"SupplierDomain"SupplierDomain.of_jsoninletbuyerIdentifier=field_map_exnjson__"BuyerIdentifier"BasicStringWithoutSpace.of_jsoninletbuyerDomain=field_map_exnjson__"BuyerDomain"BuyerDomain.of_jsoninmake?procurementPortalInstanceEndpoint?procurementPortalSharedSecret~supplierIdentifier~supplierDomain~buyerIdentifier~buyerDomain()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Input parameters for configuring test environment preferences for a procurement portal."]moduleProcurementPortalPreferenceSummaries=structtypenonrect=ProcurementPortalPreferenceSummary.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ProcurementPortalPreferenceSummary.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:ProcurementPortalPreferenceSummary.of_xml)letof_jsonj=list_of_json~kind:"ProcurementPortalPreferenceSummaries"~of_json:ProcurementPortalPreferenceSummary.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleMaxResults=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:100)>>=(fun()->check_int_mini~min:1));iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for MaxResults"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleInvoiceUnits=structtypenonrect=InvoiceUnit.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:InvoiceUnit.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:InvoiceUnit.of_xml)letof_jsonj=list_of_json~kind:"InvoiceUnits"~of_json:InvoiceUnit.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleNextTokenString=structtypenonrect=stringletcontext_="NextTokenString"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->check_patterni~pattern:"[\\S\\s]*"));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"NextTokenString"jletto_json=simple_to_jsonto_valueendmoduleAsOfTimestamp=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_valueendmoduleFilters=structtypenonrect={names:InvoiceUnitNames.toption[@ocaml.doc"An optional input to the list API. You can specify a list of invoice unit names inside filters to return invoice units that match only the specified invoice unit names. If multiple names are provided, the result is an OR condition (match any) of the specified invoice unit names."];invoiceReceivers:AccountIdList.toption[@ocaml.doc"You can specify a list of Amazon Web Services account IDs inside filters to return invoice units that match only the specified accounts. If multiple accounts are provided, the result is an OR condition (match any) of the specified accounts. This filter only matches the specified accounts on the invoice receivers of the invoice units."];accounts:AccountIdList.toption[@ocaml.doc"You can specify a list of Amazon Web Services account IDs inside filters to return invoice units that match only the specified accounts. If multiple accounts are provided, the result is an OR condition (match any) of the specified accounts. The specified account IDs are matched with either the receiver or the linked accounts in the rules."];billSourceAccounts:AccountIdList.toption[@ocaml.doc"A list of Amazon Web Services account IDs used to filter invoice units. These are payer accounts from other Organizations that have delegated their billing responsibility to the receiver account through the billing transfer feature."]}letmake?names=fun?invoiceReceivers->fun?accounts->fun?billSourceAccounts->fun()->{names;invoiceReceivers;accounts;billSourceAccounts}letto_valuex=structure_to_value[("Names",(Option.mapx.names~f:InvoiceUnitNames.to_value));("InvoiceReceivers",(Option.mapx.invoiceReceivers~f:AccountIdList.to_value));("Accounts",(Option.mapx.accounts~f:AccountIdList.to_value));("BillSourceAccounts",(Option.mapx.billSourceAccounts~f:AccountIdList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letbillSourceAccounts=(Option.map~f:AccountIdList.of_xml)(Xml.childxml_arg0"BillSourceAccounts")inletaccounts=(Option.map~f:AccountIdList.of_xml)(Xml.childxml_arg0"Accounts")inletinvoiceReceivers=(Option.map~f:AccountIdList.of_xml)(Xml.childxml_arg0"InvoiceReceivers")inletnames=(Option.map~f:InvoiceUnitNames.of_xml)(Xml.childxml_arg0"Names")inmake?billSourceAccounts?accounts?invoiceReceivers?names()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letbillSourceAccounts=field_mapjson__"BillSourceAccounts"AccountIdList.of_jsoninletaccounts=field_mapjson__"Accounts"AccountIdList.of_jsoninletinvoiceReceivers=field_mapjson__"InvoiceReceivers"AccountIdList.of_jsoninletnames=field_mapjson__"Names"InvoiceUnitNames.of_jsoninmake?billSourceAccounts?accounts?invoiceReceivers?names()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"An optional input to the list API. If multiple filters are specified, the returned list will be a configuration that match all of the provided filters. Supported filter types are InvoiceReceivers, Names, and Accounts."]moduleMaxResultsInteger=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:500)>>=(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 MaxResultsInteger"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleInvoiceSummaries=structtypenonrect=InvoiceSummary.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:InvoiceSummary.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:InvoiceSummary.of_xml)letof_jsonj=list_of_json~kind:"InvoiceSummaries"~of_json:InvoiceSummary.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleInvoiceSummariesFilter=structtypenonrect={timeInterval:DateInterval.toption[@ocaml.doc"The date range for invoice summary retrieval."];billingPeriod:BillingPeriod.toption[@ocaml.doc"The billing period associated with the invoice documents."];invoicingEntity:BasicString.toption[@ocaml.doc"The name of the entity that issues the Amazon Web Services invoice."];receiverRole:ReceiverRole.toption[@ocaml.doc"The role of the invoice receiver to filter by. When ReceiverRole is specified: Data is available starting 2025-06-01. Queries for periods before 2025-06-01 return a validation error. TimeInterval supports a time interval of up to 5 years. Without ReceiverRole, TimeInterval is limited to one month."]}letmake?timeInterval=fun?billingPeriod->fun?invoicingEntity->fun?receiverRole->fun()->{timeInterval;billingPeriod;invoicingEntity;receiverRole}letto_valuex=structure_to_value[("TimeInterval",(Option.mapx.timeInterval~f:DateInterval.to_value));("BillingPeriod",(Option.mapx.billingPeriod~f:BillingPeriod.to_value));("InvoicingEntity",(Option.mapx.invoicingEntity~f:BasicString.to_value));("ReceiverRole",(Option.mapx.receiverRole~f:ReceiverRole.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letreceiverRole=(Option.map~f:ReceiverRole.of_xml)(Xml.childxml_arg0"ReceiverRole")inletinvoicingEntity=(Option.map~f:BasicString.of_xml)(Xml.childxml_arg0"InvoicingEntity")inletbillingPeriod=(Option.map~f:BillingPeriod.of_xml)(Xml.childxml_arg0"BillingPeriod")inlettimeInterval=(Option.map~f:DateInterval.of_xml)(Xml.childxml_arg0"TimeInterval")inmake?receiverRole?invoicingEntity?billingPeriod?timeInterval()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letreceiverRole=field_mapjson__"ReceiverRole"ReceiverRole.of_jsoninletinvoicingEntity=field_mapjson__"InvoicingEntity"BasicString.of_jsoninletbillingPeriod=field_mapjson__"BillingPeriod"BillingPeriod.of_jsoninlettimeInterval=field_mapjson__"TimeInterval"DateInterval.of_jsoninmake?receiverRole?invoicingEntity?billingPeriod?timeInterval()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Filters for your invoice summaries."]moduleInvoiceSummariesMaxResults=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:100)>>=(fun()->check_int_mini~min:1));iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for InvoiceSummariesMaxResults"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleInvoiceSummariesSelector=structtypenonrect={resourceType:ListInvoiceSummariesResourceType.t[@ocaml.doc"The query identifier type (INVOICE_ID or ACCOUNT_ID)."];value:StringWithoutNewLine.t[@ocaml.doc"The value of the query identifier."]}letcontext_="InvoiceSummariesSelector"letmake~resourceType=fun~value->fun()->{resourceType;value}letto_valuex=structure_to_value[("ResourceType",(Some(ListInvoiceSummariesResourceType.to_valuex.resourceType)));("Value",(Some(StringWithoutNewLine.to_valuex.value)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvalue=StringWithoutNewLine.of_xml(Xml.child_exn~context:context_xml_arg0"Value")inletresourceType=ListInvoiceSummariesResourceType.of_xml(Xml.child_exn~context:context_xml_arg0"ResourceType")inmake~value~resourceType()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvalue=field_map_exnjson__"Value"StringWithoutNewLine.of_jsoninletresourceType=field_map_exnjson__"ResourceType"ListInvoiceSummariesResourceType.of_jsoninmake~value~resourceType()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Specifies the invoice summary."]moduleProcurementPortalPreference=structtypenonrect={awsAccountId:AccountIdString.toption[@ocaml.doc"The Amazon Web Services account ID associated with this procurement portal preference."];procurementPortalPreferenceArn:ProcurementPortalPreferenceArnString.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the procurement portal preference."];procurementPortalName:ProcurementPortalName.toption[@ocaml.doc"The name of the procurement portal."];buyerDomain:BuyerDomain.toption[@ocaml.doc"The domain identifier for the buyer in the procurement portal."];buyerIdentifier:BasicStringWithoutSpace.toption[@ocaml.doc"The unique identifier for the buyer in the procurement portal."];supplierDomain:SupplierDomain.toption[@ocaml.doc"The domain identifier for the supplier in the procurement portal."];supplierIdentifier:BasicStringWithoutSpace.toption[@ocaml.doc"The unique identifier for the supplier in the procurement portal."];selector:ProcurementPortalPreferenceSelector.toption;procurementPortalSharedSecret:BasicStringWithoutSpace.toption[@ocaml.doc"The shared secret or authentication credential used for secure communication with the procurement portal."];procurementPortalInstanceEndpoint:BasicStringWithoutSpace.toption[@ocaml.doc"The endpoint URL where e-invoices are delivered to the procurement portal."];purchaseOrderRetrievalEndpoint:BasicStringWithoutSpace.toption[@ocaml.doc"The endpoint URL used for retrieving purchase orders from the procurement portal."];testEnvPreference:TestEnvPreference.toption[@ocaml.doc"Configuration on settings for the test environment of the procurement portal."];einvoiceDeliveryEnabled:Boolean.toption[@ocaml.doc"Indicates whether e-invoice delivery is enabled for this procurement portal preference."];einvoiceDeliveryPreference:EinvoiceDeliveryPreference.toption[@ocaml.doc"The configuration settings that specify how e-invoices are delivered to the procurement portal."];purchaseOrderRetrievalEnabled:Boolean.toption[@ocaml.doc"Indicates whether purchase order retrieval is enabled for this procurement portal preference."];contacts:Contacts.toption[@ocaml.doc"List of contact information for portal administrators and technical contacts."];einvoiceDeliveryPreferenceStatus:ProcurementPortalPreferenceStatus.toption[@ocaml.doc"The current status of the e-invoice delivery preference."];einvoiceDeliveryPreferenceStatusReason:BasicString.toption[@ocaml.doc"The reason for the current e-invoice delivery preference status."];purchaseOrderRetrievalPreferenceStatus:ProcurementPortalPreferenceStatus.toption[@ocaml.doc"The current status of the purchase order retrieval preference."];purchaseOrderRetrievalPreferenceStatusReason:BasicString.toption[@ocaml.doc"The reason for the current purchase order retrieval preference status."];version:Long.toption[@ocaml.doc"The version number of the procurement portal preference configuration."];createDate:Timestamp.toption[@ocaml.doc"The date and time when the procurement portal preference was created."];lastUpdateDate:Timestamp.toption[@ocaml.doc"The date and time when the procurement portal preference was last updated."]}letmake?awsAccountId=fun?procurementPortalPreferenceArn->fun?procurementPortalName->fun?buyerDomain->fun?buyerIdentifier->fun?supplierDomain->fun?supplierIdentifier->fun?selector->fun?procurementPortalSharedSecret->fun?procurementPortalInstanceEndpoint->fun?purchaseOrderRetrievalEndpoint->fun?testEnvPreference->fun?einvoiceDeliveryEnabled->fun?einvoiceDeliveryPreference->fun?purchaseOrderRetrievalEnabled->fun?contacts->fun?einvoiceDeliveryPreferenceStatus->fun?einvoiceDeliveryPreferenceStatusReason->fun?purchaseOrderRetrievalPreferenceStatus->fun?purchaseOrderRetrievalPreferenceStatusReason->fun?version->fun?createDate->fun?lastUpdateDate->fun()->{awsAccountId;procurementPortalPreferenceArn;procurementPortalName;buyerDomain;buyerIdentifier;supplierDomain;supplierIdentifier;selector;procurementPortalSharedSecret;procurementPortalInstanceEndpoint;purchaseOrderRetrievalEndpoint;testEnvPreference;einvoiceDeliveryEnabled;einvoiceDeliveryPreference;purchaseOrderRetrievalEnabled;contacts;einvoiceDeliveryPreferenceStatus;einvoiceDeliveryPreferenceStatusReason;purchaseOrderRetrievalPreferenceStatus;purchaseOrderRetrievalPreferenceStatusReason;version;createDate;lastUpdateDate}letto_valuex=structure_to_value[("AwsAccountId",(Option.mapx.awsAccountId~f:AccountIdString.to_value));("ProcurementPortalPreferenceArn",(Option.mapx.procurementPortalPreferenceArn~f:ProcurementPortalPreferenceArnString.to_value));("ProcurementPortalName",(Option.mapx.procurementPortalName~f:ProcurementPortalName.to_value));("BuyerDomain",(Option.mapx.buyerDomain~f:BuyerDomain.to_value));("BuyerIdentifier",(Option.mapx.buyerIdentifier~f:BasicStringWithoutSpace.to_value));("SupplierDomain",(Option.mapx.supplierDomain~f:SupplierDomain.to_value));("SupplierIdentifier",(Option.mapx.supplierIdentifier~f:BasicStringWithoutSpace.to_value));("Selector",(Option.mapx.selector~f:ProcurementPortalPreferenceSelector.to_value));("ProcurementPortalSharedSecret",(Option.mapx.procurementPortalSharedSecret~f:BasicStringWithoutSpace.to_value));("ProcurementPortalInstanceEndpoint",(Option.mapx.procurementPortalInstanceEndpoint~f:BasicStringWithoutSpace.to_value));("PurchaseOrderRetrievalEndpoint",(Option.mapx.purchaseOrderRetrievalEndpoint~f:BasicStringWithoutSpace.to_value));("TestEnvPreference",(Option.mapx.testEnvPreference~f:TestEnvPreference.to_value));("EinvoiceDeliveryEnabled",(Option.mapx.einvoiceDeliveryEnabled~f:Boolean.to_value));("EinvoiceDeliveryPreference",(Option.mapx.einvoiceDeliveryPreference~f:EinvoiceDeliveryPreference.to_value));("PurchaseOrderRetrievalEnabled",(Option.mapx.purchaseOrderRetrievalEnabled~f:Boolean.to_value));("Contacts",(Option.mapx.contacts~f:Contacts.to_value));("EinvoiceDeliveryPreferenceStatus",(Option.mapx.einvoiceDeliveryPreferenceStatus~f:ProcurementPortalPreferenceStatus.to_value));("EinvoiceDeliveryPreferenceStatusReason",(Option.mapx.einvoiceDeliveryPreferenceStatusReason~f:BasicString.to_value));("PurchaseOrderRetrievalPreferenceStatus",(Option.mapx.purchaseOrderRetrievalPreferenceStatus~f:ProcurementPortalPreferenceStatus.to_value));("PurchaseOrderRetrievalPreferenceStatusReason",(Option.mapx.purchaseOrderRetrievalPreferenceStatusReason~f:BasicString.to_value));("Version",(Option.mapx.version~f:Long.to_value));("CreateDate",(Option.mapx.createDate~f:Timestamp.to_value));("LastUpdateDate",(Option.mapx.lastUpdateDate~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlastUpdateDate=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"LastUpdateDate")inletcreateDate=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"CreateDate")inletversion=(Option.map~f:Long.of_xml)(Xml.childxml_arg0"Version")inletpurchaseOrderRetrievalPreferenceStatusReason=(Option.map~f:BasicString.of_xml)(Xml.childxml_arg0"PurchaseOrderRetrievalPreferenceStatusReason")inletpurchaseOrderRetrievalPreferenceStatus=(Option.map~f:ProcurementPortalPreferenceStatus.of_xml)(Xml.childxml_arg0"PurchaseOrderRetrievalPreferenceStatus")inleteinvoiceDeliveryPreferenceStatusReason=(Option.map~f:BasicString.of_xml)(Xml.childxml_arg0"EinvoiceDeliveryPreferenceStatusReason")inleteinvoiceDeliveryPreferenceStatus=(Option.map~f:ProcurementPortalPreferenceStatus.of_xml)(Xml.childxml_arg0"EinvoiceDeliveryPreferenceStatus")inletcontacts=(Option.map~f:Contacts.of_xml)(Xml.childxml_arg0"Contacts")inletpurchaseOrderRetrievalEnabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"PurchaseOrderRetrievalEnabled")inleteinvoiceDeliveryPreference=(Option.map~f:EinvoiceDeliveryPreference.of_xml)(Xml.childxml_arg0"EinvoiceDeliveryPreference")inleteinvoiceDeliveryEnabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"EinvoiceDeliveryEnabled")inlettestEnvPreference=(Option.map~f:TestEnvPreference.of_xml)(Xml.childxml_arg0"TestEnvPreference")inletpurchaseOrderRetrievalEndpoint=(Option.map~f:BasicStringWithoutSpace.of_xml)(Xml.childxml_arg0"PurchaseOrderRetrievalEndpoint")inletprocurementPortalInstanceEndpoint=(Option.map~f:BasicStringWithoutSpace.of_xml)(Xml.childxml_arg0"ProcurementPortalInstanceEndpoint")inletprocurementPortalSharedSecret=(Option.map~f:BasicStringWithoutSpace.of_xml)(Xml.childxml_arg0"ProcurementPortalSharedSecret")inletselector=(Option.map~f:ProcurementPortalPreferenceSelector.of_xml)(Xml.childxml_arg0"Selector")inletsupplierIdentifier=(Option.map~f:BasicStringWithoutSpace.of_xml)(Xml.childxml_arg0"SupplierIdentifier")inletsupplierDomain=(Option.map~f:SupplierDomain.of_xml)(Xml.childxml_arg0"SupplierDomain")inletbuyerIdentifier=(Option.map~f:BasicStringWithoutSpace.of_xml)(Xml.childxml_arg0"BuyerIdentifier")inletbuyerDomain=(Option.map~f:BuyerDomain.of_xml)(Xml.childxml_arg0"BuyerDomain")inletprocurementPortalName=(Option.map~f:ProcurementPortalName.of_xml)(Xml.childxml_arg0"ProcurementPortalName")inletprocurementPortalPreferenceArn=(Option.map~f:ProcurementPortalPreferenceArnString.of_xml)(Xml.childxml_arg0"ProcurementPortalPreferenceArn")inletawsAccountId=(Option.map~f:AccountIdString.of_xml)(Xml.childxml_arg0"AwsAccountId")inmake?lastUpdateDate?createDate?version?purchaseOrderRetrievalPreferenceStatusReason?purchaseOrderRetrievalPreferenceStatus?einvoiceDeliveryPreferenceStatusReason?einvoiceDeliveryPreferenceStatus?contacts?purchaseOrderRetrievalEnabled?einvoiceDeliveryPreference?einvoiceDeliveryEnabled?testEnvPreference?purchaseOrderRetrievalEndpoint?procurementPortalInstanceEndpoint?procurementPortalSharedSecret?selector?supplierIdentifier?supplierDomain?buyerIdentifier?buyerDomain?procurementPortalName?procurementPortalPreferenceArn?awsAccountId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlastUpdateDate=field_mapjson__"LastUpdateDate"Timestamp.of_jsoninletcreateDate=field_mapjson__"CreateDate"Timestamp.of_jsoninletversion=field_mapjson__"Version"Long.of_jsoninletpurchaseOrderRetrievalPreferenceStatusReason=field_mapjson__"PurchaseOrderRetrievalPreferenceStatusReason"BasicString.of_jsoninletpurchaseOrderRetrievalPreferenceStatus=field_mapjson__"PurchaseOrderRetrievalPreferenceStatus"ProcurementPortalPreferenceStatus.of_jsoninleteinvoiceDeliveryPreferenceStatusReason=field_mapjson__"EinvoiceDeliveryPreferenceStatusReason"BasicString.of_jsoninleteinvoiceDeliveryPreferenceStatus=field_mapjson__"EinvoiceDeliveryPreferenceStatus"ProcurementPortalPreferenceStatus.of_jsoninletcontacts=field_mapjson__"Contacts"Contacts.of_jsoninletpurchaseOrderRetrievalEnabled=field_mapjson__"PurchaseOrderRetrievalEnabled"Boolean.of_jsoninleteinvoiceDeliveryPreference=field_mapjson__"EinvoiceDeliveryPreference"EinvoiceDeliveryPreference.of_jsoninleteinvoiceDeliveryEnabled=field_mapjson__"EinvoiceDeliveryEnabled"Boolean.of_jsoninlettestEnvPreference=field_mapjson__"TestEnvPreference"TestEnvPreference.of_jsoninletpurchaseOrderRetrievalEndpoint=field_mapjson__"PurchaseOrderRetrievalEndpoint"BasicStringWithoutSpace.of_jsoninletprocurementPortalInstanceEndpoint=field_mapjson__"ProcurementPortalInstanceEndpoint"BasicStringWithoutSpace.of_jsoninletprocurementPortalSharedSecret=field_mapjson__"ProcurementPortalSharedSecret"BasicStringWithoutSpace.of_jsoninletselector=field_mapjson__"Selector"ProcurementPortalPreferenceSelector.of_jsoninletsupplierIdentifier=field_mapjson__"SupplierIdentifier"BasicStringWithoutSpace.of_jsoninletsupplierDomain=field_mapjson__"SupplierDomain"SupplierDomain.of_jsoninletbuyerIdentifier=field_mapjson__"BuyerIdentifier"BasicStringWithoutSpace.of_jsoninletbuyerDomain=field_mapjson__"BuyerDomain"BuyerDomain.of_jsoninletprocurementPortalName=field_mapjson__"ProcurementPortalName"ProcurementPortalName.of_jsoninletprocurementPortalPreferenceArn=field_mapjson__"ProcurementPortalPreferenceArn"ProcurementPortalPreferenceArnString.of_jsoninletawsAccountId=field_mapjson__"AwsAccountId"AccountIdString.of_jsoninmake?lastUpdateDate?createDate?version?purchaseOrderRetrievalPreferenceStatusReason?purchaseOrderRetrievalPreferenceStatus?einvoiceDeliveryPreferenceStatusReason?einvoiceDeliveryPreferenceStatus?contacts?purchaseOrderRetrievalEnabled?einvoiceDeliveryPreference?einvoiceDeliveryEnabled?testEnvPreference?purchaseOrderRetrievalEndpoint?procurementPortalInstanceEndpoint?procurementPortalSharedSecret?selector?supplierIdentifier?supplierDomain?buyerIdentifier?buyerDomain?procurementPortalName?procurementPortalPreferenceArn?awsAccountId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Represents the full configuration of a procurement portal preference, including settings for e-invoice delivery and purchase order retrieval."]moduleInvoicePDF=structtypenonrect={invoiceId:StringWithoutNewLine.toption[@ocaml.doc"Your unique invoice ID."];documentUrl:StringWithoutNewLine.toption[@ocaml.doc"The pre-signed URL to download the invoice document."];documentUrlExpirationDate:Timestamp.toption[@ocaml.doc"The pre-signed URL expiration date of the invoice document."];supplementalDocuments:SupplementalDocuments.toption[@ocaml.doc"List of supplemental documents associated with the invoice."]}letmake?invoiceId=fun?documentUrl->fun?documentUrlExpirationDate->fun?supplementalDocuments->fun()->{invoiceId;documentUrl;documentUrlExpirationDate;supplementalDocuments}letto_valuex=structure_to_value[("InvoiceId",(Option.mapx.invoiceId~f:StringWithoutNewLine.to_value));("DocumentUrl",(Option.mapx.documentUrl~f:StringWithoutNewLine.to_value));("DocumentUrlExpirationDate",(Option.mapx.documentUrlExpirationDate~f:Timestamp.to_value));("SupplementalDocuments",(Option.mapx.supplementalDocuments~f:SupplementalDocuments.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letsupplementalDocuments=(Option.map~f:SupplementalDocuments.of_xml)(Xml.childxml_arg0"SupplementalDocuments")inletdocumentUrlExpirationDate=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"DocumentUrlExpirationDate")inletdocumentUrl=(Option.map~f:StringWithoutNewLine.of_xml)(Xml.childxml_arg0"DocumentUrl")inletinvoiceId=(Option.map~f:StringWithoutNewLine.of_xml)(Xml.childxml_arg0"InvoiceId")inmake?supplementalDocuments?documentUrlExpirationDate?documentUrl?invoiceId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letsupplementalDocuments=field_mapjson__"SupplementalDocuments"SupplementalDocuments.of_jsoninletdocumentUrlExpirationDate=field_mapjson__"DocumentUrlExpirationDate"Timestamp.of_jsoninletdocumentUrl=field_mapjson__"DocumentUrl"StringWithoutNewLine.of_jsoninletinvoiceId=field_mapjson__"InvoiceId"StringWithoutNewLine.of_jsoninmake?supplementalDocuments?documentUrlExpirationDate?documentUrl?invoiceId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Invoice document data."]moduleProfileList=structtypenonrect=InvoiceProfile.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:InvoiceProfile.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:InvoiceProfile.of_xml)letof_jsonj=list_of_json~kind:"ProfileList"~of_json:InvoiceProfile.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleUpdateProcurementPortalPreferenceStatusResponse=structtypenonrect={procurementPortalPreferenceArn:ProcurementPortalPreferenceArnString.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the procurement portal preference with updated status."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?procurementPortalPreferenceArn=fun()->{procurementPortalPreferenceArn}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[("ProcurementPortalPreferenceArn",(Option.mapx.procurementPortalPreferenceArn~f:ProcurementPortalPreferenceArnString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letprocurementPortalPreferenceArn=(Option.map~f:ProcurementPortalPreferenceArnString.of_xml)(Xml.childxml_arg0"ProcurementPortalPreferenceArn")inmake?procurementPortalPreferenceArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letprocurementPortalPreferenceArn=field_mapjson__"ProcurementPortalPreferenceArn"ProcurementPortalPreferenceArnString.of_jsoninmake?procurementPortalPreferenceArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"This feature API is subject to changing at any time. For more information, see the Amazon Web Services Service Terms (Betas and Previews). Updates the status of a procurement portal preference, including the activation state of e-invoice delivery and purchase order retrieval features."]moduleUpdateProcurementPortalPreferenceStatusRequest=structtypenonrect={procurementPortalPreferenceArn:ProcurementPortalPreferenceArnString.t[@ocaml.doc"The Amazon Resource Name (ARN) of the procurement portal preference to update."];einvoiceDeliveryPreferenceStatus:ProcurementPortalPreferenceStatus.toption[@ocaml.doc"The updated status of the e-invoice delivery preference."];einvoiceDeliveryPreferenceStatusReason:BasicString.toption[@ocaml.doc"The reason for the e-invoice delivery preference status update, providing context for the change."];purchaseOrderRetrievalPreferenceStatus:ProcurementPortalPreferenceStatus.toption[@ocaml.doc"The updated status of the purchase order retrieval preference."];purchaseOrderRetrievalPreferenceStatusReason:BasicString.toption[@ocaml.doc"The reason for the purchase order retrieval preference status update, providing context for the change."]}letcontext_="UpdateProcurementPortalPreferenceStatusRequest"letmake?einvoiceDeliveryPreferenceStatus=fun?einvoiceDeliveryPreferenceStatusReason->fun?purchaseOrderRetrievalPreferenceStatus->fun?purchaseOrderRetrievalPreferenceStatusReason->fun~procurementPortalPreferenceArn->fun()->{einvoiceDeliveryPreferenceStatus;einvoiceDeliveryPreferenceStatusReason;purchaseOrderRetrievalPreferenceStatus;purchaseOrderRetrievalPreferenceStatusReason;procurementPortalPreferenceArn}letto_valuex=structure_to_value[("ProcurementPortalPreferenceArn",(Some(ProcurementPortalPreferenceArnString.to_valuex.procurementPortalPreferenceArn)));("EinvoiceDeliveryPreferenceStatus",(Option.mapx.einvoiceDeliveryPreferenceStatus~f:ProcurementPortalPreferenceStatus.to_value));("EinvoiceDeliveryPreferenceStatusReason",(Option.mapx.einvoiceDeliveryPreferenceStatusReason~f:BasicString.to_value));("PurchaseOrderRetrievalPreferenceStatus",(Option.mapx.purchaseOrderRetrievalPreferenceStatus~f:ProcurementPortalPreferenceStatus.to_value));("PurchaseOrderRetrievalPreferenceStatusReason",(Option.mapx.purchaseOrderRetrievalPreferenceStatusReason~f:BasicString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letpurchaseOrderRetrievalPreferenceStatusReason=(Option.map~f:BasicString.of_xml)(Xml.childxml_arg0"PurchaseOrderRetrievalPreferenceStatusReason")inletpurchaseOrderRetrievalPreferenceStatus=(Option.map~f:ProcurementPortalPreferenceStatus.of_xml)(Xml.childxml_arg0"PurchaseOrderRetrievalPreferenceStatus")inleteinvoiceDeliveryPreferenceStatusReason=(Option.map~f:BasicString.of_xml)(Xml.childxml_arg0"EinvoiceDeliveryPreferenceStatusReason")inleteinvoiceDeliveryPreferenceStatus=(Option.map~f:ProcurementPortalPreferenceStatus.of_xml)(Xml.childxml_arg0"EinvoiceDeliveryPreferenceStatus")inletprocurementPortalPreferenceArn=ProcurementPortalPreferenceArnString.of_xml(Xml.child_exn~context:context_xml_arg0"ProcurementPortalPreferenceArn")inmake?purchaseOrderRetrievalPreferenceStatusReason?purchaseOrderRetrievalPreferenceStatus?einvoiceDeliveryPreferenceStatusReason?einvoiceDeliveryPreferenceStatus~procurementPortalPreferenceArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letpurchaseOrderRetrievalPreferenceStatusReason=field_mapjson__"PurchaseOrderRetrievalPreferenceStatusReason"BasicString.of_jsoninletpurchaseOrderRetrievalPreferenceStatus=field_mapjson__"PurchaseOrderRetrievalPreferenceStatus"ProcurementPortalPreferenceStatus.of_jsoninleteinvoiceDeliveryPreferenceStatusReason=field_mapjson__"EinvoiceDeliveryPreferenceStatusReason"BasicString.of_jsoninleteinvoiceDeliveryPreferenceStatus=field_mapjson__"EinvoiceDeliveryPreferenceStatus"ProcurementPortalPreferenceStatus.of_jsoninletprocurementPortalPreferenceArn=field_map_exnjson__"ProcurementPortalPreferenceArn"ProcurementPortalPreferenceArnString.of_jsoninmake?purchaseOrderRetrievalPreferenceStatusReason?purchaseOrderRetrievalPreferenceStatus?einvoiceDeliveryPreferenceStatusReason?einvoiceDeliveryPreferenceStatus~procurementPortalPreferenceArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"This feature API is subject to changing at any time. For more information, see the Amazon Web Services Service Terms (Betas and Previews). Updates the status of a procurement portal preference, including the activation state of e-invoice delivery and purchase order retrieval features."]moduleUpdateInvoiceUnitResponse=structtypenonrect={invoiceUnitArn:InvoiceUnitArnString.toption[@ocaml.doc"The ARN to identify an invoice unit. This information can't be modified or deleted."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?invoiceUnitArn=fun()->{invoiceUnitArn}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[("InvoiceUnitArn",(Option.mapx.invoiceUnitArn~f:InvoiceUnitArnString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letinvoiceUnitArn=(Option.map~f:InvoiceUnitArnString.of_xml)(Xml.childxml_arg0"InvoiceUnitArn")inmake?invoiceUnitArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letinvoiceUnitArn=field_mapjson__"InvoiceUnitArn"InvoiceUnitArnString.of_jsoninmake?invoiceUnitArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"You can update the invoice unit configuration at any time, and Amazon Web Services will use the latest configuration at the end of the month."]moduleUpdateInvoiceUnitRequest=structtypenonrect={invoiceUnitArn:InvoiceUnitArnString.t[@ocaml.doc"The ARN to identify an invoice unit. This information can't be modified or deleted."];description:DescriptionString.toption[@ocaml.doc"The assigned description for an invoice unit. This information can't be modified or deleted."];taxInheritanceDisabled:TaxInheritanceDisabledFlag.toption[@ocaml.doc"Whether the invoice unit based tax inheritance is/ should be enabled or disabled."];rule:InvoiceUnitRule.toption[@ocaml.doc"The InvoiceUnitRule object used to update invoice units."]}letcontext_="UpdateInvoiceUnitRequest"letmake?description=fun?taxInheritanceDisabled->fun?rule->fun~invoiceUnitArn->fun()->{description;taxInheritanceDisabled;rule;invoiceUnitArn}letto_valuex=structure_to_value[("InvoiceUnitArn",(Some(InvoiceUnitArnString.to_valuex.invoiceUnitArn)));("Description",(Option.mapx.description~f:DescriptionString.to_value));("TaxInheritanceDisabled",(Option.mapx.taxInheritanceDisabled~f:TaxInheritanceDisabledFlag.to_value));("Rule",(Option.mapx.rule~f:InvoiceUnitRule.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letrule=(Option.map~f:InvoiceUnitRule.of_xml)(Xml.childxml_arg0"Rule")inlettaxInheritanceDisabled=(Option.map~f:TaxInheritanceDisabledFlag.of_xml)(Xml.childxml_arg0"TaxInheritanceDisabled")inletdescription=(Option.map~f:DescriptionString.of_xml)(Xml.childxml_arg0"Description")inletinvoiceUnitArn=InvoiceUnitArnString.of_xml(Xml.child_exn~context:context_xml_arg0"InvoiceUnitArn")inmake?rule?taxInheritanceDisabled?description~invoiceUnitArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letrule=field_mapjson__"Rule"InvoiceUnitRule.of_jsoninlettaxInheritanceDisabled=field_mapjson__"TaxInheritanceDisabled"TaxInheritanceDisabledFlag.of_jsoninletdescription=field_mapjson__"Description"DescriptionString.of_jsoninletinvoiceUnitArn=field_map_exnjson__"InvoiceUnitArn"InvoiceUnitArnString.of_jsoninmake?rule?taxInheritanceDisabled?description~invoiceUnitArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"You can update the invoice unit configuration at any time, and Amazon Web Services will use the latest configuration at the end of the month."]moduleUntagResourceResponse=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Removes a tag from a resource."]moduleUntagResourceRequest=structtypenonrect={resourceArn:TagrisArn.t[@ocaml.doc"The Amazon Resource Name (ARN) to untag."];resourceTagKeys:ResourceTagKeyList.t[@ocaml.doc"Keys for the tags to be removed."]}letcontext_="UntagResourceRequest"letmake~resourceArn=fun~resourceTagKeys->fun()->{resourceArn;resourceTagKeys}letto_valuex=structure_to_value[("ResourceArn",(Some(TagrisArn.to_valuex.resourceArn)));("ResourceTagKeys",(Some(ResourceTagKeyList.to_valuex.resourceTagKeys)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresourceTagKeys=ResourceTagKeyList.of_xml(Xml.child_exn~context:context_xml_arg0"ResourceTagKeys")inletresourceArn=TagrisArn.of_xml(Xml.child_exn~context:context_xml_arg0"ResourceArn")inmake~resourceTagKeys~resourceArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresourceTagKeys=field_map_exnjson__"ResourceTagKeys"ResourceTagKeyList.of_jsoninletresourceArn=field_map_exnjson__"ResourceArn"TagrisArn.of_jsoninmake~resourceTagKeys~resourceArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Removes a tag from a resource."]moduleTagResourceResponse=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Adds a tag to a resource."]moduleTagResourceRequest=structtypenonrect={resourceArn:TagrisArn.t[@ocaml.doc"The Amazon Resource Name (ARN) of the tags."];resourceTags:ResourceTagList.t[@ocaml.doc"Adds a tag to a resource."]}letcontext_="TagResourceRequest"letmake~resourceArn=fun~resourceTags->fun()->{resourceArn;resourceTags}letto_valuex=structure_to_value[("ResourceArn",(Some(TagrisArn.to_valuex.resourceArn)));("ResourceTags",(Some(ResourceTagList.to_valuex.resourceTags)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresourceTags=ResourceTagList.of_xml(Xml.child_exn~context:context_xml_arg0"ResourceTags")inletresourceArn=TagrisArn.of_xml(Xml.child_exn~context:context_xml_arg0"ResourceArn")inmake~resourceTags~resourceArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresourceTags=field_map_exnjson__"ResourceTags"ResourceTagList.of_jsoninletresourceArn=field_map_exnjson__"ResourceArn"TagrisArn.of_jsoninmake~resourceTags~resourceArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Adds a tag to a resource."]modulePutProcurementPortalPreferenceResponse=structtypenonrect={procurementPortalPreferenceArn:ProcurementPortalPreferenceArnString.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the updated procurement portal preference."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?procurementPortalPreferenceArn=fun()->{procurementPortalPreferenceArn}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[("ProcurementPortalPreferenceArn",(Option.mapx.procurementPortalPreferenceArn~f:ProcurementPortalPreferenceArnString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letprocurementPortalPreferenceArn=(Option.map~f:ProcurementPortalPreferenceArnString.of_xml)(Xml.childxml_arg0"ProcurementPortalPreferenceArn")inmake?procurementPortalPreferenceArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letprocurementPortalPreferenceArn=field_mapjson__"ProcurementPortalPreferenceArn"ProcurementPortalPreferenceArnString.of_jsoninmake?procurementPortalPreferenceArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"This feature API is subject to changing at any time. For more information, see the Amazon Web Services Service Terms (Betas and Previews). Updates an existing procurement portal preference configuration. This operation can modify settings for e-invoice delivery and purchase order retrieval."]modulePutProcurementPortalPreferenceRequest=structtypenonrect={procurementPortalPreferenceArn:ProcurementPortalPreferenceArnString.t[@ocaml.doc"The Amazon Resource Name (ARN) of the procurement portal preference to update."];selector:ProcurementPortalPreferenceSelector.toption;procurementPortalSharedSecret:SensitiveBasicStringWithoutSpace.toption[@ocaml.doc"The updated shared secret or authentication credential for the procurement portal. This value must be encrypted at rest."];procurementPortalInstanceEndpoint:BasicStringWithoutSpace.toption[@ocaml.doc"The updated endpoint URL where e-invoices will be delivered to the procurement portal. Must be a valid HTTPS URL."];testEnvPreference:TestEnvPreferenceInput.toption[@ocaml.doc"Updated configuration settings for the test environment of the procurement portal."];einvoiceDeliveryEnabled:Boolean.t[@ocaml.doc"Updated flag indicating whether e-invoice delivery is enabled for this procurement portal preference."];einvoiceDeliveryPreference:EinvoiceDeliveryPreference.toption[@ocaml.doc"Updated e-invoice delivery configuration including document types, attachment types, and customization settings for the portal."];purchaseOrderRetrievalEnabled:Boolean.t[@ocaml.doc"Updated flag indicating whether purchase order retrieval is enabled for this procurement portal preference."];contacts:Contacts.t[@ocaml.doc"Updated list of contact information for portal administrators and technical contacts."]}letcontext_="PutProcurementPortalPreferenceRequest"letmake?selector=fun?procurementPortalSharedSecret->fun?procurementPortalInstanceEndpoint->fun?testEnvPreference->fun?einvoiceDeliveryPreference->fun~procurementPortalPreferenceArn->fun~einvoiceDeliveryEnabled->fun~purchaseOrderRetrievalEnabled->fun~contacts->fun()->{selector;procurementPortalSharedSecret;procurementPortalInstanceEndpoint;testEnvPreference;einvoiceDeliveryPreference;procurementPortalPreferenceArn;einvoiceDeliveryEnabled;purchaseOrderRetrievalEnabled;contacts}letto_valuex=structure_to_value[("ProcurementPortalPreferenceArn",(Some(ProcurementPortalPreferenceArnString.to_valuex.procurementPortalPreferenceArn)));("Selector",(Option.mapx.selector~f:ProcurementPortalPreferenceSelector.to_value));("ProcurementPortalSharedSecret",(Option.mapx.procurementPortalSharedSecret~f:SensitiveBasicStringWithoutSpace.to_value));("ProcurementPortalInstanceEndpoint",(Option.mapx.procurementPortalInstanceEndpoint~f:BasicStringWithoutSpace.to_value));("TestEnvPreference",(Option.mapx.testEnvPreference~f:TestEnvPreferenceInput.to_value));("EinvoiceDeliveryEnabled",(Some(Boolean.to_valuex.einvoiceDeliveryEnabled)));("EinvoiceDeliveryPreference",(Option.mapx.einvoiceDeliveryPreference~f:EinvoiceDeliveryPreference.to_value));("PurchaseOrderRetrievalEnabled",(Some(Boolean.to_valuex.purchaseOrderRetrievalEnabled)));("Contacts",(Some(Contacts.to_valuex.contacts)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcontacts=Contacts.of_xml(Xml.child_exn~context:context_xml_arg0"Contacts")inletpurchaseOrderRetrievalEnabled=Boolean.of_xml(Xml.child_exn~context:context_xml_arg0"PurchaseOrderRetrievalEnabled")inleteinvoiceDeliveryPreference=(Option.map~f:EinvoiceDeliveryPreference.of_xml)(Xml.childxml_arg0"EinvoiceDeliveryPreference")inleteinvoiceDeliveryEnabled=Boolean.of_xml(Xml.child_exn~context:context_xml_arg0"EinvoiceDeliveryEnabled")inlettestEnvPreference=(Option.map~f:TestEnvPreferenceInput.of_xml)(Xml.childxml_arg0"TestEnvPreference")inletprocurementPortalInstanceEndpoint=(Option.map~f:BasicStringWithoutSpace.of_xml)(Xml.childxml_arg0"ProcurementPortalInstanceEndpoint")inletprocurementPortalSharedSecret=(Option.map~f:SensitiveBasicStringWithoutSpace.of_xml)(Xml.childxml_arg0"ProcurementPortalSharedSecret")inletselector=(Option.map~f:ProcurementPortalPreferenceSelector.of_xml)(Xml.childxml_arg0"Selector")inletprocurementPortalPreferenceArn=ProcurementPortalPreferenceArnString.of_xml(Xml.child_exn~context:context_xml_arg0"ProcurementPortalPreferenceArn")inmake~contacts~purchaseOrderRetrievalEnabled?einvoiceDeliveryPreference~einvoiceDeliveryEnabled?testEnvPreference?procurementPortalInstanceEndpoint?procurementPortalSharedSecret?selector~procurementPortalPreferenceArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcontacts=field_map_exnjson__"Contacts"Contacts.of_jsoninletpurchaseOrderRetrievalEnabled=field_map_exnjson__"PurchaseOrderRetrievalEnabled"Boolean.of_jsoninleteinvoiceDeliveryPreference=field_mapjson__"EinvoiceDeliveryPreference"EinvoiceDeliveryPreference.of_jsoninleteinvoiceDeliveryEnabled=field_map_exnjson__"EinvoiceDeliveryEnabled"Boolean.of_jsoninlettestEnvPreference=field_mapjson__"TestEnvPreference"TestEnvPreferenceInput.of_jsoninletprocurementPortalInstanceEndpoint=field_mapjson__"ProcurementPortalInstanceEndpoint"BasicStringWithoutSpace.of_jsoninletprocurementPortalSharedSecret=field_mapjson__"ProcurementPortalSharedSecret"SensitiveBasicStringWithoutSpace.of_jsoninletselector=field_mapjson__"Selector"ProcurementPortalPreferenceSelector.of_jsoninletprocurementPortalPreferenceArn=field_map_exnjson__"ProcurementPortalPreferenceArn"ProcurementPortalPreferenceArnString.of_jsoninmake~contacts~purchaseOrderRetrievalEnabled?einvoiceDeliveryPreference~einvoiceDeliveryEnabled?testEnvPreference?procurementPortalInstanceEndpoint?procurementPortalSharedSecret?selector~procurementPortalPreferenceArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"This feature API is subject to changing at any time. For more information, see the Amazon Web Services Service Terms (Betas and Previews). Updates an existing procurement portal preference configuration. This operation can modify settings for e-invoice delivery and purchase order retrieval."]moduleListTagsForResourceResponse=structtypenonrect={resourceTags:ResourceTagList.toption[@ocaml.doc"Adds a tag to a resource."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?resourceTags=fun()->{resourceTags}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[("ResourceTags",(Option.mapx.resourceTags~f:ResourceTagList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresourceTags=(Option.map~f:ResourceTagList.of_xml)(Xml.childxml_arg0"ResourceTags")inmake?resourceTags()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresourceTags=field_mapjson__"ResourceTags"ResourceTagList.of_jsoninmake?resourceTags()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists the tags for a resource."]moduleListTagsForResourceRequest=structtypenonrect={resourceArn:TagrisArn.t[@ocaml.doc"The Amazon Resource Name (ARN) of tags to list."]}letcontext_="ListTagsForResourceRequest"letmake~resourceArn=fun()->{resourceArn}letto_valuex=structure_to_value[("ResourceArn",(Some(TagrisArn.to_valuex.resourceArn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresourceArn=TagrisArn.of_xml(Xml.child_exn~context:context_xml_arg0"ResourceArn")inmake~resourceArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresourceArn=field_map_exnjson__"ResourceArn"TagrisArn.of_jsoninmake~resourceArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists the tags for a resource."]moduleListProcurementPortalPreferencesResponse=structtypenonrect={procurementPortalPreferences:ProcurementPortalPreferenceSummaries.toption[@ocaml.doc"The list of procurement portal preferences associated with the Amazon Web Services account."];nextToken:BasicStringWithoutSpace.toption[@ocaml.doc"The token to use to retrieve the next set of results, or null if there are no more results."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?procurementPortalPreferences=fun?nextToken->fun()->{procurementPortalPreferences;nextToken}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("ProcurementPortalPreferences",(Option.mapx.procurementPortalPreferences~f:ProcurementPortalPreferenceSummaries.to_value));("NextToken",(Option.mapx.nextToken~f:BasicStringWithoutSpace.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:BasicStringWithoutSpace.of_xml)(Xml.childxml_arg0"NextToken")inletprocurementPortalPreferences=(Option.map~f:ProcurementPortalPreferenceSummaries.of_xml)(Xml.childxml_arg0"ProcurementPortalPreferences")inmake?nextToken?procurementPortalPreferences()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"BasicStringWithoutSpace.of_jsoninletprocurementPortalPreferences=field_mapjson__"ProcurementPortalPreferences"ProcurementPortalPreferenceSummaries.of_jsoninmake?nextToken?procurementPortalPreferences()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"This feature API is subject to changing at any time. For more information, see the Amazon Web Services Service Terms (Betas and Previews). Retrieves a list of procurement portal preferences associated with the Amazon Web Services account."]moduleListProcurementPortalPreferencesRequest=structtypenonrect={nextToken:BasicStringWithoutSpace.toption[@ocaml.doc"The token for the next set of results. (You received this token from a previous call.)"];maxResults:MaxResults.toption[@ocaml.doc"The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value."]}letmake?nextToken=fun?maxResults->fun()->{nextToken;maxResults}letto_valuex=structure_to_value[("NextToken",(Option.mapx.nextToken~f:BasicStringWithoutSpace.to_value));("MaxResults",(Option.mapx.maxResults~f:MaxResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"MaxResults")inletnextToken=(Option.map~f:BasicStringWithoutSpace.of_xml)(Xml.childxml_arg0"NextToken")inmake?maxResults?nextToken()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"MaxResults"MaxResults.of_jsoninletnextToken=field_mapjson__"NextToken"BasicStringWithoutSpace.of_jsoninmake?maxResults?nextToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"This feature API is subject to changing at any time. For more information, see the Amazon Web Services Service Terms (Betas and Previews). Retrieves a list of procurement portal preferences associated with the Amazon Web Services account."]moduleListInvoiceUnitsResponse=structtypenonrect={invoiceUnits:InvoiceUnits.toption[@ocaml.doc"An invoice unit is a set of mutually exclusive accounts that correspond to your business entity."];nextToken:NextTokenString.toption[@ocaml.doc"The next token used to indicate where the returned list should start from."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?invoiceUnits=fun?nextToken->fun()->{invoiceUnits;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[("InvoiceUnits",(Option.mapx.invoiceUnits~f:InvoiceUnits.to_value));("NextToken",(Option.mapx.nextToken~f:NextTokenString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:NextTokenString.of_xml)(Xml.childxml_arg0"NextToken")inletinvoiceUnits=(Option.map~f:InvoiceUnits.of_xml)(Xml.childxml_arg0"InvoiceUnits")inmake?nextToken?invoiceUnits()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextTokenString.of_jsoninletinvoiceUnits=field_mapjson__"InvoiceUnits"InvoiceUnits.of_jsoninmake?nextToken?invoiceUnits()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"This fetches a list of all invoice unit definitions for a given account, as of the provided AsOf date."]moduleListInvoiceUnitsRequest=structtypenonrect={filters:Filters.toption[@ocaml.doc"An optional input to the list API. If multiple filters are specified, the returned list will be a configuration that match all of the provided filters. Supported filter types are InvoiceReceivers, Names, and Accounts."];nextToken:NextTokenString.toption[@ocaml.doc"The next token used to indicate where the returned list should start from."];maxResults:MaxResultsInteger.toption[@ocaml.doc"The maximum number of invoice units that can be returned."];asOf:AsOfTimestamp.toption[@ocaml.doc"The state of an invoice unit at a specified time. You can see legacy invoice units that are currently deleted if the AsOf time is set to before it was deleted. If an AsOf is not provided, the default value is the current time."]}letmake?filters=fun?nextToken->fun?maxResults->fun?asOf->fun()->{filters;nextToken;maxResults;asOf}letto_valuex=structure_to_value[("Filters",(Option.mapx.filters~f:Filters.to_value));("NextToken",(Option.mapx.nextToken~f:NextTokenString.to_value));("MaxResults",(Option.mapx.maxResults~f:MaxResultsInteger.to_value));("AsOf",(Option.mapx.asOf~f:AsOfTimestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letasOf=(Option.map~f:AsOfTimestamp.of_xml)(Xml.childxml_arg0"AsOf")inletmaxResults=(Option.map~f:MaxResultsInteger.of_xml)(Xml.childxml_arg0"MaxResults")inletnextToken=(Option.map~f:NextTokenString.of_xml)(Xml.childxml_arg0"NextToken")inletfilters=(Option.map~f:Filters.of_xml)(Xml.childxml_arg0"Filters")inmake?asOf?maxResults?nextToken?filters()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letasOf=field_mapjson__"AsOf"AsOfTimestamp.of_jsoninletmaxResults=field_mapjson__"MaxResults"MaxResultsInteger.of_jsoninletnextToken=field_mapjson__"NextToken"NextTokenString.of_jsoninletfilters=field_mapjson__"Filters"Filters.of_jsoninmake?asOf?maxResults?nextToken?filters()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"This fetches a list of all invoice unit definitions for a given account, as of the provided AsOf date."]moduleListInvoiceSummariesResponse=structtypenonrect={invoiceSummaries:InvoiceSummaries.toption[@ocaml.doc"List of key (summary level) invoice details without line item details."];nextToken:NextTokenString.toption[@ocaml.doc"The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?invoiceSummaries=fun?nextToken->fun()->{invoiceSummaries;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[("InvoiceSummaries",(Option.mapx.invoiceSummaries~f:InvoiceSummaries.to_value));("NextToken",(Option.mapx.nextToken~f:NextTokenString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:NextTokenString.of_xml)(Xml.childxml_arg0"NextToken")inletinvoiceSummaries=(Option.map~f:InvoiceSummaries.of_xml)(Xml.childxml_arg0"InvoiceSummaries")inmake?nextToken?invoiceSummaries()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextTokenString.of_jsoninletinvoiceSummaries=field_mapjson__"InvoiceSummaries"InvoiceSummaries.of_jsoninmake?nextToken?invoiceSummaries()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves your invoice details programmatically, without line item details."]moduleListInvoiceSummariesRequest=structtypenonrect={selector:InvoiceSummariesSelector.t[@ocaml.doc"The option to retrieve details for a specific invoice by providing its unique ID. Alternatively, access information for all invoices linked to the account by providing an account ID."];filter:InvoiceSummariesFilter.toption[@ocaml.doc"Filters you can use to customize your invoice summary."];nextToken:NextTokenString.toption[@ocaml.doc"The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size."];maxResults:InvoiceSummariesMaxResults.toption[@ocaml.doc"The maximum number of invoice summaries a paginated response can contain."]}letcontext_="ListInvoiceSummariesRequest"letmake?filter=fun?nextToken->fun?maxResults->fun~selector->fun()->{filter;nextToken;maxResults;selector}letto_valuex=structure_to_value[("Selector",(Some(InvoiceSummariesSelector.to_valuex.selector)));("Filter",(Option.mapx.filter~f:InvoiceSummariesFilter.to_value));("NextToken",(Option.mapx.nextToken~f:NextTokenString.to_value));("MaxResults",(Option.mapx.maxResults~f:InvoiceSummariesMaxResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:InvoiceSummariesMaxResults.of_xml)(Xml.childxml_arg0"MaxResults")inletnextToken=(Option.map~f:NextTokenString.of_xml)(Xml.childxml_arg0"NextToken")inletfilter=(Option.map~f:InvoiceSummariesFilter.of_xml)(Xml.childxml_arg0"Filter")inletselector=InvoiceSummariesSelector.of_xml(Xml.child_exn~context:context_xml_arg0"Selector")inmake?maxResults?nextToken?filter~selector()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"MaxResults"InvoiceSummariesMaxResults.of_jsoninletnextToken=field_mapjson__"NextToken"NextTokenString.of_jsoninletfilter=field_mapjson__"Filter"InvoiceSummariesFilter.of_jsoninletselector=field_map_exnjson__"Selector"InvoiceSummariesSelector.of_jsoninmake?maxResults?nextToken?filter~selector()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves your invoice details programmatically, without line item details."]moduleGetProcurementPortalPreferenceResponse=structtypenonrect={procurementPortalPreference:ProcurementPortalPreference.toption[@ocaml.doc"The detailed configuration of the requested procurement portal preference."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?procurementPortalPreference=fun()->{procurementPortalPreference}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[("ProcurementPortalPreference",(Option.mapx.procurementPortalPreference~f:ProcurementPortalPreference.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letprocurementPortalPreference=(Option.map~f:ProcurementPortalPreference.of_xml)(Xml.childxml_arg0"ProcurementPortalPreference")inmake?procurementPortalPreference()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letprocurementPortalPreference=field_mapjson__"ProcurementPortalPreference"ProcurementPortalPreference.of_jsoninmake?procurementPortalPreference()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"This feature API is subject to changing at any time. For more information, see the Amazon Web Services Service Terms (Betas and Previews). Retrieves the details of a specific procurement portal preference configuration."]moduleGetProcurementPortalPreferenceRequest=structtypenonrect={procurementPortalPreferenceArn:ProcurementPortalPreferenceArnString.t[@ocaml.doc"The Amazon Resource Name (ARN) of the procurement portal preference to retrieve."]}letcontext_="GetProcurementPortalPreferenceRequest"letmake~procurementPortalPreferenceArn=fun()->{procurementPortalPreferenceArn}letto_valuex=structure_to_value[("ProcurementPortalPreferenceArn",(Some(ProcurementPortalPreferenceArnString.to_valuex.procurementPortalPreferenceArn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letprocurementPortalPreferenceArn=ProcurementPortalPreferenceArnString.of_xml(Xml.child_exn~context:context_xml_arg0"ProcurementPortalPreferenceArn")inmake~procurementPortalPreferenceArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letprocurementPortalPreferenceArn=field_map_exnjson__"ProcurementPortalPreferenceArn"ProcurementPortalPreferenceArnString.of_jsoninmake~procurementPortalPreferenceArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"This feature API is subject to changing at any time. For more information, see the Amazon Web Services Service Terms (Betas and Previews). Retrieves the details of a specific procurement portal preference configuration."]moduleGetInvoiceUnitResponse=structtypenonrect={invoiceUnitArn:InvoiceUnitArnString.toption[@ocaml.doc"The ARN to identify an invoice unit. This information can't be modified or deleted."];invoiceReceiver:AccountIdString.toption[@ocaml.doc"The Amazon Web Services account ID chosen to be the receiver of an invoice unit. All invoices generated for that invoice unit will be sent to this account ID."];name:InvoiceUnitName.toption[@ocaml.doc"The unique name of the invoice unit that is shown on the generated invoice."];description:DescriptionString.toption[@ocaml.doc"The assigned description for an invoice unit."];taxInheritanceDisabled:TaxInheritanceDisabledFlag.toption[@ocaml.doc"Whether the invoice unit based tax inheritance is/ should be enabled or disabled."];rule:InvoiceUnitRule.toption;lastModified:LastModifiedTimestamp.toption[@ocaml.doc"The most recent date the invoice unit response was updated."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?invoiceUnitArn=fun?invoiceReceiver->fun?name->fun?description->fun?taxInheritanceDisabled->fun?rule->fun?lastModified->fun()->{invoiceUnitArn;invoiceReceiver;name;description;taxInheritanceDisabled;rule;lastModified}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[("InvoiceUnitArn",(Option.mapx.invoiceUnitArn~f:InvoiceUnitArnString.to_value));("InvoiceReceiver",(Option.mapx.invoiceReceiver~f:AccountIdString.to_value));("Name",(Option.mapx.name~f:InvoiceUnitName.to_value));("Description",(Option.mapx.description~f:DescriptionString.to_value));("TaxInheritanceDisabled",(Option.mapx.taxInheritanceDisabled~f:TaxInheritanceDisabledFlag.to_value));("Rule",(Option.mapx.rule~f:InvoiceUnitRule.to_value));("LastModified",(Option.mapx.lastModified~f:LastModifiedTimestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlastModified=(Option.map~f:LastModifiedTimestamp.of_xml)(Xml.childxml_arg0"LastModified")inletrule=(Option.map~f:InvoiceUnitRule.of_xml)(Xml.childxml_arg0"Rule")inlettaxInheritanceDisabled=(Option.map~f:TaxInheritanceDisabledFlag.of_xml)(Xml.childxml_arg0"TaxInheritanceDisabled")inletdescription=(Option.map~f:DescriptionString.of_xml)(Xml.childxml_arg0"Description")inletname=(Option.map~f:InvoiceUnitName.of_xml)(Xml.childxml_arg0"Name")inletinvoiceReceiver=(Option.map~f:AccountIdString.of_xml)(Xml.childxml_arg0"InvoiceReceiver")inletinvoiceUnitArn=(Option.map~f:InvoiceUnitArnString.of_xml)(Xml.childxml_arg0"InvoiceUnitArn")inmake?lastModified?rule?taxInheritanceDisabled?description?name?invoiceReceiver?invoiceUnitArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlastModified=field_mapjson__"LastModified"LastModifiedTimestamp.of_jsoninletrule=field_mapjson__"Rule"InvoiceUnitRule.of_jsoninlettaxInheritanceDisabled=field_mapjson__"TaxInheritanceDisabled"TaxInheritanceDisabledFlag.of_jsoninletdescription=field_mapjson__"Description"DescriptionString.of_jsoninletname=field_mapjson__"Name"InvoiceUnitName.of_jsoninletinvoiceReceiver=field_mapjson__"InvoiceReceiver"AccountIdString.of_jsoninletinvoiceUnitArn=field_mapjson__"InvoiceUnitArn"InvoiceUnitArnString.of_jsoninmake?lastModified?rule?taxInheritanceDisabled?description?name?invoiceReceiver?invoiceUnitArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"This retrieves the invoice unit definition."]moduleGetInvoiceUnitRequest=structtypenonrect={invoiceUnitArn:InvoiceUnitArnString.t[@ocaml.doc"The ARN to identify an invoice unit. This information can't be modified or deleted."];asOf:AsOfTimestamp.toption[@ocaml.doc"The state of an invoice unit at a specified time. You can see legacy invoice units that are currently deleted if the AsOf time is set to before it was deleted. If an AsOf is not provided, the default value is the current time."]}letcontext_="GetInvoiceUnitRequest"letmake?asOf=fun~invoiceUnitArn->fun()->{asOf;invoiceUnitArn}letto_valuex=structure_to_value[("InvoiceUnitArn",(Some(InvoiceUnitArnString.to_valuex.invoiceUnitArn)));("AsOf",(Option.mapx.asOf~f:AsOfTimestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letasOf=(Option.map~f:AsOfTimestamp.of_xml)(Xml.childxml_arg0"AsOf")inletinvoiceUnitArn=InvoiceUnitArnString.of_xml(Xml.child_exn~context:context_xml_arg0"InvoiceUnitArn")inmake?asOf~invoiceUnitArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letasOf=field_mapjson__"AsOf"AsOfTimestamp.of_jsoninletinvoiceUnitArn=field_map_exnjson__"InvoiceUnitArn"InvoiceUnitArnString.of_jsoninmake?asOf~invoiceUnitArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"This retrieves the invoice unit definition."]moduleGetInvoicePDFResponse=structtypenonrect={invoicePDF:InvoicePDF.toption[@ocaml.doc"The invoice document and supplemental documents associated with the invoice."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?invoicePDF=fun()->{invoicePDF}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[("InvoicePDF",(Option.mapx.invoicePDF~f:InvoicePDF.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letinvoicePDF=(Option.map~f:InvoicePDF.of_xml)(Xml.childxml_arg0"InvoicePDF")inmake?invoicePDF()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letinvoicePDF=field_mapjson__"InvoicePDF"InvoicePDF.of_jsoninmake?invoicePDF()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns a URL to download the invoice document and supplemental documents associated with an invoice. The URLs are pre-signed and have expiration time. For special cases like Brazil, where Amazon Web Services generated invoice identifiers and government provided identifiers do not match, use the Amazon Web Services generated invoice identifier when making API requests. To grant IAM permission to use this operation, the caller needs the invoicing:GetInvoicePDF policy action."]moduleGetInvoicePDFRequest=structtypenonrect={invoiceId:StringWithoutNewLine.t[@ocaml.doc"Your unique invoice ID."]}letcontext_="GetInvoicePDFRequest"letmake~invoiceId=fun()->{invoiceId}letto_valuex=structure_to_value[("InvoiceId",(Some(StringWithoutNewLine.to_valuex.invoiceId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letinvoiceId=StringWithoutNewLine.of_xml(Xml.child_exn~context:context_xml_arg0"InvoiceId")inmake~invoiceId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letinvoiceId=field_map_exnjson__"InvoiceId"StringWithoutNewLine.of_jsoninmake~invoiceId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns a URL to download the invoice document and supplemental documents associated with an invoice. The URLs are pre-signed and have expiration time. For special cases like Brazil, where Amazon Web Services generated invoice identifiers and government provided identifiers do not match, use the Amazon Web Services generated invoice identifier when making API requests. To grant IAM permission to use this operation, the caller needs the invoicing:GetInvoicePDF policy action."]moduleDeleteProcurementPortalPreferenceResponse=structtypenonrect={procurementPortalPreferenceArn:ProcurementPortalPreferenceArnString.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the deleted procurement portal preference."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?procurementPortalPreferenceArn=fun()->{procurementPortalPreferenceArn}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("ProcurementPortalPreferenceArn",(Option.mapx.procurementPortalPreferenceArn~f:ProcurementPortalPreferenceArnString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letprocurementPortalPreferenceArn=(Option.map~f:ProcurementPortalPreferenceArnString.of_xml)(Xml.childxml_arg0"ProcurementPortalPreferenceArn")inmake?procurementPortalPreferenceArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letprocurementPortalPreferenceArn=field_mapjson__"ProcurementPortalPreferenceArn"ProcurementPortalPreferenceArnString.of_jsoninmake?procurementPortalPreferenceArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"This feature API is subject to changing at any time. For more information, see the Amazon Web Services Service Terms (Betas and Previews). Deletes an existing procurement portal preference. This action cannot be undone. Active e-invoice delivery and PO retrieval configurations will be terminated."]moduleDeleteProcurementPortalPreferenceRequest=structtypenonrect={procurementPortalPreferenceArn:ProcurementPortalPreferenceArnString.t[@ocaml.doc"The Amazon Resource Name (ARN) of the procurement portal preference to delete."]}letcontext_="DeleteProcurementPortalPreferenceRequest"letmake~procurementPortalPreferenceArn=fun()->{procurementPortalPreferenceArn}letto_valuex=structure_to_value[("ProcurementPortalPreferenceArn",(Some(ProcurementPortalPreferenceArnString.to_valuex.procurementPortalPreferenceArn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letprocurementPortalPreferenceArn=ProcurementPortalPreferenceArnString.of_xml(Xml.child_exn~context:context_xml_arg0"ProcurementPortalPreferenceArn")inmake~procurementPortalPreferenceArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letprocurementPortalPreferenceArn=field_map_exnjson__"ProcurementPortalPreferenceArn"ProcurementPortalPreferenceArnString.of_jsoninmake~procurementPortalPreferenceArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"This feature API is subject to changing at any time. For more information, see the Amazon Web Services Service Terms (Betas and Previews). Deletes an existing procurement portal preference. This action cannot be undone. Active e-invoice delivery and PO retrieval configurations will be terminated."]moduleDeleteInvoiceUnitResponse=structtypenonrect={invoiceUnitArn:InvoiceUnitArnString.toption[@ocaml.doc"The ARN to identify an invoice unit. This information can't be modified or deleted."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?invoiceUnitArn=fun()->{invoiceUnitArn}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[("InvoiceUnitArn",(Option.mapx.invoiceUnitArn~f:InvoiceUnitArnString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letinvoiceUnitArn=(Option.map~f:InvoiceUnitArnString.of_xml)(Xml.childxml_arg0"InvoiceUnitArn")inmake?invoiceUnitArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letinvoiceUnitArn=field_mapjson__"InvoiceUnitArn"InvoiceUnitArnString.of_jsoninmake?invoiceUnitArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"This deletes an invoice unit with the provided invoice unit ARN."]moduleDeleteInvoiceUnitRequest=structtypenonrect={invoiceUnitArn:InvoiceUnitArnString.t[@ocaml.doc"The ARN to identify an invoice unit. This information can't be modified or deleted."]}letcontext_="DeleteInvoiceUnitRequest"letmake~invoiceUnitArn=fun()->{invoiceUnitArn}letto_valuex=structure_to_value[("InvoiceUnitArn",(Some(InvoiceUnitArnString.to_valuex.invoiceUnitArn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letinvoiceUnitArn=InvoiceUnitArnString.of_xml(Xml.child_exn~context:context_xml_arg0"InvoiceUnitArn")inmake~invoiceUnitArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letinvoiceUnitArn=field_map_exnjson__"InvoiceUnitArn"InvoiceUnitArnString.of_jsoninmake~invoiceUnitArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"This deletes an invoice unit with the provided invoice unit ARN."]moduleCreateProcurementPortalPreferenceResponse=structtypenonrect={procurementPortalPreferenceArn:ProcurementPortalPreferenceArnString.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the created procurement portal preference."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?procurementPortalPreferenceArn=fun()->{procurementPortalPreferenceArn}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("ProcurementPortalPreferenceArn",(Option.mapx.procurementPortalPreferenceArn~f:ProcurementPortalPreferenceArnString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letprocurementPortalPreferenceArn=(Option.map~f:ProcurementPortalPreferenceArnString.of_xml)(Xml.childxml_arg0"ProcurementPortalPreferenceArn")inmake?procurementPortalPreferenceArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letprocurementPortalPreferenceArn=field_mapjson__"ProcurementPortalPreferenceArn"ProcurementPortalPreferenceArnString.of_jsoninmake?procurementPortalPreferenceArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"This feature API is subject to changing at any time. For more information, see the Amazon Web Services Service Terms (Betas and Previews). Creates a procurement portal preference configuration for e-invoice delivery and purchase order retrieval. This preference defines how invoices are delivered to a procurement portal and how purchase orders are retrieved."]moduleCreateProcurementPortalPreferenceRequest=structtypenonrect={procurementPortalName:ProcurementPortalName.t[@ocaml.doc"The name of the procurement portal."];buyerDomain:BuyerDomain.t[@ocaml.doc"The domain identifier for the buyer in the procurement portal."];buyerIdentifier:BasicStringWithoutSpace.t[@ocaml.doc"The unique identifier for the buyer in the procurement portal."];supplierDomain:SupplierDomain.t[@ocaml.doc"The domain identifier for the supplier in the procurement portal."];supplierIdentifier:BasicStringWithoutSpace.t[@ocaml.doc"The unique identifier for the supplier in the procurement portal."];selector:ProcurementPortalPreferenceSelector.toption;procurementPortalSharedSecret:SensitiveBasicStringWithoutSpace.toption[@ocaml.doc"The shared secret or authentication credential used to establish secure communication with the procurement portal. This value must be encrypted at rest."];procurementPortalInstanceEndpoint:BasicStringWithoutSpace.toption[@ocaml.doc"The endpoint URL where e-invoices will be delivered to the procurement portal. Must be a valid HTTPS URL."];testEnvPreference:TestEnvPreferenceInput.toption[@ocaml.doc"Configuration settings for the test environment of the procurement portal. Includes test credentials and endpoints that are used for validation before production deployment."];einvoiceDeliveryEnabled:Boolean.t[@ocaml.doc"Indicates whether e-invoice delivery is enabled for this procurement portal preference. Set to true to enable e-invoice delivery, false to disable."];einvoiceDeliveryPreference:EinvoiceDeliveryPreference.toption[@ocaml.doc"Specifies the e-invoice delivery configuration including document types, attachment types, and customization settings for the portal."];purchaseOrderRetrievalEnabled:Boolean.t[@ocaml.doc"Indicates whether purchase order retrieval is enabled for this procurement portal preference. Set to true to enable PO retrieval, false to disable."];contacts:Contacts.t[@ocaml.doc"List of contact information for portal administrators and technical contacts responsible for the e-invoice integration."];resourceTags:ResourceTagList.toption[@ocaml.doc"The tags to apply to this procurement portal preference resource. Each tag consists of a key and an optional value."];clientToken:BasicStringWithoutSpace.toption[@ocaml.doc"A unique, case-sensitive identifier that you provide to ensure idempotency of the request."]}letcontext_="CreateProcurementPortalPreferenceRequest"letmake?selector=fun?procurementPortalSharedSecret->fun?procurementPortalInstanceEndpoint->fun?testEnvPreference->fun?einvoiceDeliveryPreference->fun?resourceTags->fun?clientToken->fun~procurementPortalName->fun~buyerDomain->fun~buyerIdentifier->fun~supplierDomain->fun~supplierIdentifier->fun~einvoiceDeliveryEnabled->fun~purchaseOrderRetrievalEnabled->fun~contacts->fun()->{selector;procurementPortalSharedSecret;procurementPortalInstanceEndpoint;testEnvPreference;einvoiceDeliveryPreference;resourceTags;clientToken;procurementPortalName;buyerDomain;buyerIdentifier;supplierDomain;supplierIdentifier;einvoiceDeliveryEnabled;purchaseOrderRetrievalEnabled;contacts}letto_valuex=structure_to_value[("ProcurementPortalName",(Some(ProcurementPortalName.to_valuex.procurementPortalName)));("BuyerDomain",(Some(BuyerDomain.to_valuex.buyerDomain)));("BuyerIdentifier",(Some(BasicStringWithoutSpace.to_valuex.buyerIdentifier)));("SupplierDomain",(Some(SupplierDomain.to_valuex.supplierDomain)));("SupplierIdentifier",(Some(BasicStringWithoutSpace.to_valuex.supplierIdentifier)));("Selector",(Option.mapx.selector~f:ProcurementPortalPreferenceSelector.to_value));("ProcurementPortalSharedSecret",(Option.mapx.procurementPortalSharedSecret~f:SensitiveBasicStringWithoutSpace.to_value));("ProcurementPortalInstanceEndpoint",(Option.mapx.procurementPortalInstanceEndpoint~f:BasicStringWithoutSpace.to_value));("TestEnvPreference",(Option.mapx.testEnvPreference~f:TestEnvPreferenceInput.to_value));("EinvoiceDeliveryEnabled",(Some(Boolean.to_valuex.einvoiceDeliveryEnabled)));("EinvoiceDeliveryPreference",(Option.mapx.einvoiceDeliveryPreference~f:EinvoiceDeliveryPreference.to_value));("PurchaseOrderRetrievalEnabled",(Some(Boolean.to_valuex.purchaseOrderRetrievalEnabled)));("Contacts",(Some(Contacts.to_valuex.contacts)));("ResourceTags",(Option.mapx.resourceTags~f:ResourceTagList.to_value));("ClientToken",(Option.mapx.clientToken~f:BasicStringWithoutSpace.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letclientToken=(Option.map~f:BasicStringWithoutSpace.of_xml)(Xml.childxml_arg0"ClientToken")inletresourceTags=(Option.map~f:ResourceTagList.of_xml)(Xml.childxml_arg0"ResourceTags")inletcontacts=Contacts.of_xml(Xml.child_exn~context:context_xml_arg0"Contacts")inletpurchaseOrderRetrievalEnabled=Boolean.of_xml(Xml.child_exn~context:context_xml_arg0"PurchaseOrderRetrievalEnabled")inleteinvoiceDeliveryPreference=(Option.map~f:EinvoiceDeliveryPreference.of_xml)(Xml.childxml_arg0"EinvoiceDeliveryPreference")inleteinvoiceDeliveryEnabled=Boolean.of_xml(Xml.child_exn~context:context_xml_arg0"EinvoiceDeliveryEnabled")inlettestEnvPreference=(Option.map~f:TestEnvPreferenceInput.of_xml)(Xml.childxml_arg0"TestEnvPreference")inletprocurementPortalInstanceEndpoint=(Option.map~f:BasicStringWithoutSpace.of_xml)(Xml.childxml_arg0"ProcurementPortalInstanceEndpoint")inletprocurementPortalSharedSecret=(Option.map~f:SensitiveBasicStringWithoutSpace.of_xml)(Xml.childxml_arg0"ProcurementPortalSharedSecret")inletselector=(Option.map~f:ProcurementPortalPreferenceSelector.of_xml)(Xml.childxml_arg0"Selector")inletsupplierIdentifier=BasicStringWithoutSpace.of_xml(Xml.child_exn~context:context_xml_arg0"SupplierIdentifier")inletsupplierDomain=SupplierDomain.of_xml(Xml.child_exn~context:context_xml_arg0"SupplierDomain")inletbuyerIdentifier=BasicStringWithoutSpace.of_xml(Xml.child_exn~context:context_xml_arg0"BuyerIdentifier")inletbuyerDomain=BuyerDomain.of_xml(Xml.child_exn~context:context_xml_arg0"BuyerDomain")inletprocurementPortalName=ProcurementPortalName.of_xml(Xml.child_exn~context:context_xml_arg0"ProcurementPortalName")inmake?clientToken?resourceTags~contacts~purchaseOrderRetrievalEnabled?einvoiceDeliveryPreference~einvoiceDeliveryEnabled?testEnvPreference?procurementPortalInstanceEndpoint?procurementPortalSharedSecret?selector~supplierIdentifier~supplierDomain~buyerIdentifier~buyerDomain~procurementPortalName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letclientToken=field_mapjson__"ClientToken"BasicStringWithoutSpace.of_jsoninletresourceTags=field_mapjson__"ResourceTags"ResourceTagList.of_jsoninletcontacts=field_map_exnjson__"Contacts"Contacts.of_jsoninletpurchaseOrderRetrievalEnabled=field_map_exnjson__"PurchaseOrderRetrievalEnabled"Boolean.of_jsoninleteinvoiceDeliveryPreference=field_mapjson__"EinvoiceDeliveryPreference"EinvoiceDeliveryPreference.of_jsoninleteinvoiceDeliveryEnabled=field_map_exnjson__"EinvoiceDeliveryEnabled"Boolean.of_jsoninlettestEnvPreference=field_mapjson__"TestEnvPreference"TestEnvPreferenceInput.of_jsoninletprocurementPortalInstanceEndpoint=field_mapjson__"ProcurementPortalInstanceEndpoint"BasicStringWithoutSpace.of_jsoninletprocurementPortalSharedSecret=field_mapjson__"ProcurementPortalSharedSecret"SensitiveBasicStringWithoutSpace.of_jsoninletselector=field_mapjson__"Selector"ProcurementPortalPreferenceSelector.of_jsoninletsupplierIdentifier=field_map_exnjson__"SupplierIdentifier"BasicStringWithoutSpace.of_jsoninletsupplierDomain=field_map_exnjson__"SupplierDomain"SupplierDomain.of_jsoninletbuyerIdentifier=field_map_exnjson__"BuyerIdentifier"BasicStringWithoutSpace.of_jsoninletbuyerDomain=field_map_exnjson__"BuyerDomain"BuyerDomain.of_jsoninletprocurementPortalName=field_map_exnjson__"ProcurementPortalName"ProcurementPortalName.of_jsoninmake?clientToken?resourceTags~contacts~purchaseOrderRetrievalEnabled?einvoiceDeliveryPreference~einvoiceDeliveryEnabled?testEnvPreference?procurementPortalInstanceEndpoint?procurementPortalSharedSecret?selector~supplierIdentifier~supplierDomain~buyerIdentifier~buyerDomain~procurementPortalName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"This feature API is subject to changing at any time. For more information, see the Amazon Web Services Service Terms (Betas and Previews). Creates a procurement portal preference configuration for e-invoice delivery and purchase order retrieval. This preference defines how invoices are delivered to a procurement portal and how purchase orders are retrieved."]moduleCreateInvoiceUnitResponse=structtypenonrect={invoiceUnitArn:InvoiceUnitArnString.toption[@ocaml.doc"The ARN to identify an invoice unit. This information can't be modified or deleted."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?invoiceUnitArn=fun()->{invoiceUnitArn}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[("InvoiceUnitArn",(Option.mapx.invoiceUnitArn~f:InvoiceUnitArnString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letinvoiceUnitArn=(Option.map~f:InvoiceUnitArnString.of_xml)(Xml.childxml_arg0"InvoiceUnitArn")inmake?invoiceUnitArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letinvoiceUnitArn=field_mapjson__"InvoiceUnitArn"InvoiceUnitArnString.of_jsoninmake?invoiceUnitArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"This creates a new invoice unit with the provided definition."]moduleCreateInvoiceUnitRequest=structtypenonrect={name:InvoiceUnitName.t[@ocaml.doc"The unique name of the invoice unit that is shown on the generated invoice. This can't be changed once it is set. To change this name, you must delete the invoice unit recreate."];invoiceReceiver:AccountIdString.t[@ocaml.doc"The Amazon Web Services account ID chosen to be the receiver of an invoice unit. All invoices generated for that invoice unit will be sent to this account ID."];description:DescriptionString.toption[@ocaml.doc"The invoice unit's description. This can be changed at a later time."];taxInheritanceDisabled:TaxInheritanceDisabledFlag.toption[@ocaml.doc"Whether the invoice unit based tax inheritance is/ should be enabled or disabled."];rule:InvoiceUnitRule.t[@ocaml.doc"The InvoiceUnitRule object used to create invoice units."];resourceTags:ResourceTagList.toption[@ocaml.doc"The tag structure that contains a tag key and value."]}letcontext_="CreateInvoiceUnitRequest"letmake?description=fun?taxInheritanceDisabled->fun?resourceTags->fun~name->fun~invoiceReceiver->fun~rule->fun()->{description;taxInheritanceDisabled;resourceTags;name;invoiceReceiver;rule}letto_valuex=structure_to_value[("Name",(Some(InvoiceUnitName.to_valuex.name)));("InvoiceReceiver",(Some(AccountIdString.to_valuex.invoiceReceiver)));("Description",(Option.mapx.description~f:DescriptionString.to_value));("TaxInheritanceDisabled",(Option.mapx.taxInheritanceDisabled~f:TaxInheritanceDisabledFlag.to_value));("Rule",(Some(InvoiceUnitRule.to_valuex.rule)));("ResourceTags",(Option.mapx.resourceTags~f:ResourceTagList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresourceTags=(Option.map~f:ResourceTagList.of_xml)(Xml.childxml_arg0"ResourceTags")inletrule=InvoiceUnitRule.of_xml(Xml.child_exn~context:context_xml_arg0"Rule")inlettaxInheritanceDisabled=(Option.map~f:TaxInheritanceDisabledFlag.of_xml)(Xml.childxml_arg0"TaxInheritanceDisabled")inletdescription=(Option.map~f:DescriptionString.of_xml)(Xml.childxml_arg0"Description")inletinvoiceReceiver=AccountIdString.of_xml(Xml.child_exn~context:context_xml_arg0"InvoiceReceiver")inletname=InvoiceUnitName.of_xml(Xml.child_exn~context:context_xml_arg0"Name")inmake?resourceTags~rule?taxInheritanceDisabled?description~invoiceReceiver~name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresourceTags=field_mapjson__"ResourceTags"ResourceTagList.of_jsoninletrule=field_map_exnjson__"Rule"InvoiceUnitRule.of_jsoninlettaxInheritanceDisabled=field_mapjson__"TaxInheritanceDisabled"TaxInheritanceDisabledFlag.of_jsoninletdescription=field_mapjson__"Description"DescriptionString.of_jsoninletinvoiceReceiver=field_map_exnjson__"InvoiceReceiver"AccountIdString.of_jsoninletname=field_map_exnjson__"Name"InvoiceUnitName.of_jsoninmake?resourceTags~rule?taxInheritanceDisabled?description~invoiceReceiver~name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"This creates a new invoice unit with the provided definition."]moduleBatchGetInvoiceProfileResponse=structtypenonrect={profiles:ProfileList.toption[@ocaml.doc"A list of invoice profiles corresponding to the requested accounts."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?profiles=fun()->{profiles}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[("Profiles",(Option.mapx.profiles~f:ProfileList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letprofiles=(Option.map~f:ProfileList.of_xml)(Xml.childxml_arg0"Profiles")inmake?profiles()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letprofiles=field_mapjson__"Profiles"ProfileList.of_jsoninmake?profiles()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"This gets the invoice profile associated with a set of accounts. The accounts must be linked accounts under the requester management account organization."]moduleBatchGetInvoiceProfileRequest=structtypenonrect={accountIds:AccountIdList.t[@ocaml.doc"Retrieves the corresponding invoice profile data for these account IDs."]}letcontext_="BatchGetInvoiceProfileRequest"letmake~accountIds=fun()->{accountIds}letto_valuex=structure_to_value[("AccountIds",(Some(AccountIdList.to_valuex.accountIds)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letaccountIds=AccountIdList.of_xml(Xml.child_exn~context:context_xml_arg0"AccountIds")inmake~accountIds()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letaccountIds=field_map_exnjson__"AccountIds"AccountIdList.of_jsoninmake~accountIds()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"This gets the invoice profile associated with a set of accounts. The accounts must be linked accounts under the requester management account organization."]