1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543(* 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.workspaces_thin_clientletapiVersion="2023-08-22"letendpointPrefix="thinclient"letserviceFullName="Amazon WorkSpaces Thin Client"letsignatureVersion="v4"letprotocol="rest_json"letglobalEndpoint=endpointPrefix^".amazonaws.com"letsimple_to_jsonto_valuex=Botodata.Json.value_to_json_scalar(to_valuex)letcomposed_to_jsonto_valuex=Botodata.Json.value_to_json(to_valuex)letto_queryto_valuex=Client.Query.of_value(to_valuex)letstructure_to_value_auxst~f=letfilter=function|(k,Somev)->Some(k,v)|_->Noneinletpairkv=(k,v)inletdefer_value(k,dv)=pairkdvin((List.filter_mapst~f:filter)|>(List.map~f:defer_value))|>(funx->`Structure(fx))letstructure_to_value=structure_to_value_aux~f:Fn.idletstructure_to_wrapped_value~wrapper~response=structure_to_value_aux~f:(funx->[(wrapper,(`Structurex));(response,(`Structure[]))])moduleDayOfWeek=structtypenonrect=|MONDAY|TUESDAY|WEDNESDAY|THURSDAY|FRIDAY|SATURDAY|SUNDAY|Non_static_idofstringletmakei=iletto_string=function|MONDAY->"MONDAY"|TUESDAY->"TUESDAY"|WEDNESDAY->"WEDNESDAY"|THURSDAY->"THURSDAY"|FRIDAY->"FRIDAY"|SATURDAY->"SATURDAY"|SUNDAY->"SUNDAY"|Non_static_ids->sletof_string=function|"MONDAY"->MONDAY|"TUESDAY"->TUESDAY|"WEDNESDAY"->WEDNESDAY|"THURSDAY"->THURSDAY|"FRIDAY"->FRIDAY|"SATURDAY"->SATURDAY|"SUNDAY"->SUNDAY|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 DayOfWeek"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"DayOfWeek"j)letto_json=simple_to_jsonto_valueendmoduleExceptionMessage=structtypenonrect=stringletcontext_="ExceptionMessage"letmakei=iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ExceptionMessage"jletto_json=simple_to_jsonto_valueendmoduleFieldName=structtypenonrect=stringletcontext_="FieldName"letmakei=iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"FieldName"jletto_json=simple_to_jsonto_valueendmoduleApplyTimeOf=structtypenonrect=|UTC|DEVICE|Non_static_idofstringletmakei=iletto_string=function|UTC->"UTC"|DEVICE->"DEVICE"|Non_static_ids->sletof_string=function|"UTC"->UTC|"DEVICE"->DEVICE|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 ApplyTimeOf"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ApplyTimeOf"j)letto_json=simple_to_jsonto_valueendmoduleDayOfWeekList=structtypenonrect=DayOfWeek.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:7)>>=(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:DayOfWeek.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:DayOfWeek.of_xml)letof_jsonj=list_of_json~kind:"DayOfWeekList"~of_json:DayOfWeek.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleHour=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:23)>>=(fun()->check_int_mini~min:0));iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for Hour"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleMaintenanceWindowType=structtypenonrect=|SYSTEM|CUSTOM|Non_static_idofstringletmakei=iletto_string=function|SYSTEM->"SYSTEM"|CUSTOM->"CUSTOM"|Non_static_ids->sletof_string=function|"SYSTEM"->SYSTEM|"CUSTOM"->CUSTOM|x->Non_static_idxletto_valuex=`Enum(to_stringx)letto_queryv=to_queryto_valuevletto_headerx=to_stringxletof_xmlxml_arg0=of_string(string_of_xml~kind:"enumeration MaintenanceWindowType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"MaintenanceWindowType"j)letto_json=simple_to_jsonto_valueendmoduleMinute=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:59)>>=(fun()->check_int_mini~min:0));iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for Minute"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleString_=structtypenonrect=stringletcontext_="String"letmakei=iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"String"jletto_json=simple_to_jsonto_valueendmoduleValidationExceptionField=structtypenonrect={name:FieldName.toption[@ocaml.doc"The name of the exception."];message:ExceptionMessage.toption[@ocaml.doc"A message that describes the reason for the exception."]}letmake?name=fun?message->fun()->{name;message}letto_valuex=structure_to_value[("name",(Option.mapx.name~f:FieldName.to_value));("message",(Option.mapx.message~f:ExceptionMessage.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:ExceptionMessage.of_xml)(Xml.childxml_arg0"message")inletname=(Option.map~f:FieldName.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"ExceptionMessage.of_jsoninletname=field_mapjson__"name"FieldName.of_jsoninmake?message?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes a validation exception."]moduleArn=structtypenonrect=stringletcontext_="Arn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:20)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:"arn:[\\w+=\\/,.@-]+:[a-zA-Z0-9\\-]+:[a-zA-Z0-9\\-]*:[0-9]{0,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:"Arn"jletto_json=simple_to_jsonto_valueendmoduleSoftwareSetId=structtypenonrect=stringletcontext_="SoftwareSetId"letmakei=letopenResultinok_or_failwith(check_patterni~pattern:"[0-9]{1,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:"SoftwareSetId"jletto_json=simple_to_jsonto_valueendmoduleSoftwareSetValidationStatus=structtypenonrect=|VALIDATED|NOT_VALIDATED|Non_static_idofstringletmakei=iletto_string=function|VALIDATED->"VALIDATED"|NOT_VALIDATED->"NOT_VALIDATED"|Non_static_ids->sletof_string=function|"VALIDATED"->VALIDATED|"NOT_VALIDATED"->NOT_VALIDATED|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 SoftwareSetValidationStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"SoftwareSetValidationStatus"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_valueendmoduleActivationCode=structtypenonrect=stringletcontext_="ActivationCode"letmakei=letopenResultinok_or_failwith(check_patterni~pattern:"[a-z]{2}[a-z0-9]{6}");iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ActivationCode"jletto_json=simple_to_jsonto_valueendmoduleDesktopEndpoint=structtypenonrect=stringletcontext_="DesktopEndpoint"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:1024)>>=(fun()->check_patterni~pattern:"(https:\\/\\/)[a-z0-9]+([\\-\\.]{1}[a-z0-9]+)*\\.[a-z]{2,32}(:[0-9]{1,5})?(\\/.*)?")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"DesktopEndpoint"jletto_json=simple_to_jsonto_valueendmoduleDesktopType=structtypenonrect=|Workspaces|Appstream|Workspaces_web|Non_static_idofstringletmakei=iletto_string=function|Workspaces->"workspaces"|Appstream->"appstream"|Workspaces_web->"workspaces-web"|Non_static_ids->sletof_string=function|"workspaces"->Workspaces|"appstream"->Appstream|"workspaces-web"->Workspaces_web|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 DesktopType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"DesktopType"j)letto_json=simple_to_jsonto_valueendmoduleEnvironmentId=structtypenonrect=stringletcontext_="EnvironmentId"letmakei=letopenResultinok_or_failwith(check_patterni~pattern:"[a-z0-9]{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:"EnvironmentId"jletto_json=simple_to_jsonto_valueendmoduleEnvironmentName=structtypenonrect=stringletcontext_="EnvironmentName"letmakei=letopenResultinok_or_failwith((check_string_mini~min:0)>>=(fun()->(check_string_maxi~max:64)>>=(fun()->check_patterni~pattern:"$|^[0-9\\p{IsAlphabetic}+:,.@'\" -][0-9\\p{IsAlphabetic}+=:,.@'\" -]*")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"EnvironmentName"jletto_json=simple_to_jsonto_valueendmoduleMaintenanceWindow=structtypenonrect={type_:MaintenanceWindowType.t[@ocaml.doc"An option to select the default or custom maintenance window."];startTimeHour:Hour.toption[@ocaml.doc"The hour for the maintenance window start (00-23)."];startTimeMinute:Minute.toption[@ocaml.doc"The minutes past the hour for the maintenance window start (00-59)."];endTimeHour:Hour.toption[@ocaml.doc"The hour for the maintenance window end (00-23)."];endTimeMinute:Minute.toption[@ocaml.doc"The minutes for the maintenance window end (00-59)."];daysOfTheWeek:DayOfWeekList.toption[@ocaml.doc"The days of the week during which the maintenance window is open."];applyTimeOf:ApplyTimeOf.toption[@ocaml.doc"The option to set the maintenance window during the device local time or Universal Coordinated Time (UTC)."]}letcontext_="MaintenanceWindow"letmake?startTimeHour=fun?startTimeMinute->fun?endTimeHour->fun?endTimeMinute->fun?daysOfTheWeek->fun?applyTimeOf->fun~type_->fun()->{startTimeHour;startTimeMinute;endTimeHour;endTimeMinute;daysOfTheWeek;applyTimeOf;type_}letto_valuex=structure_to_value[("type",(Some(MaintenanceWindowType.to_valuex.type_)));("startTimeHour",(Option.mapx.startTimeHour~f:Hour.to_value));("startTimeMinute",(Option.mapx.startTimeMinute~f:Minute.to_value));("endTimeHour",(Option.mapx.endTimeHour~f:Hour.to_value));("endTimeMinute",(Option.mapx.endTimeMinute~f:Minute.to_value));("daysOfTheWeek",(Option.mapx.daysOfTheWeek~f:DayOfWeekList.to_value));("applyTimeOf",(Option.mapx.applyTimeOf~f:ApplyTimeOf.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letapplyTimeOf=(Option.map~f:ApplyTimeOf.of_xml)(Xml.childxml_arg0"applyTimeOf")inletdaysOfTheWeek=(Option.map~f:DayOfWeekList.of_xml)(Xml.childxml_arg0"daysOfTheWeek")inletendTimeMinute=(Option.map~f:Minute.of_xml)(Xml.childxml_arg0"endTimeMinute")inletendTimeHour=(Option.map~f:Hour.of_xml)(Xml.childxml_arg0"endTimeHour")inletstartTimeMinute=(Option.map~f:Minute.of_xml)(Xml.childxml_arg0"startTimeMinute")inletstartTimeHour=(Option.map~f:Hour.of_xml)(Xml.childxml_arg0"startTimeHour")inlettype_=MaintenanceWindowType.of_xml(Xml.child_exn~context:context_xml_arg0"type")inmake?applyTimeOf?daysOfTheWeek?endTimeMinute?endTimeHour?startTimeMinute?startTimeHour~type_()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letapplyTimeOf=field_mapjson__"applyTimeOf"ApplyTimeOf.of_jsoninletdaysOfTheWeek=field_mapjson__"daysOfTheWeek"DayOfWeekList.of_jsoninletendTimeMinute=field_mapjson__"endTimeMinute"Minute.of_jsoninletendTimeHour=field_mapjson__"endTimeHour"Hour.of_jsoninletstartTimeMinute=field_mapjson__"startTimeMinute"Minute.of_jsoninletstartTimeHour=field_mapjson__"startTimeHour"Hour.of_jsoninlettype_=field_map_exnjson__"type"MaintenanceWindowType.of_jsoninmake?applyTimeOf?daysOfTheWeek?endTimeMinute?endTimeHour?startTimeMinute?startTimeHour~type_()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes the maintenance window for a thin client device."]moduleSoftwareSetUpdateMode=structtypenonrect=|USE_LATEST|USE_DESIRED|Non_static_idofstringletmakei=iletto_string=function|USE_LATEST->"USE_LATEST"|USE_DESIRED->"USE_DESIRED"|Non_static_ids->sletof_string=function|"USE_LATEST"->USE_LATEST|"USE_DESIRED"->USE_DESIRED|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 SoftwareSetUpdateMode"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"SoftwareSetUpdateMode"j)letto_json=simple_to_jsonto_valueendmoduleSoftwareSetUpdateSchedule=structtypenonrect=|USE_MAINTENANCE_WINDOW|APPLY_IMMEDIATELY|Non_static_idofstringletmakei=iletto_string=function|USE_MAINTENANCE_WINDOW->"USE_MAINTENANCE_WINDOW"|APPLY_IMMEDIATELY->"APPLY_IMMEDIATELY"|Non_static_ids->sletof_string=function|"USE_MAINTENANCE_WINDOW"->USE_MAINTENANCE_WINDOW|"APPLY_IMMEDIATELY"->APPLY_IMMEDIATELY|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 SoftwareSetUpdateSchedule"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"SoftwareSetUpdateSchedule"j)letto_json=simple_to_jsonto_valueendmoduleDeviceId=structtypenonrect=stringletcontext_="DeviceId"letmakei=letopenResultinok_or_failwith(check_patterni~pattern:"[a-zA-Z0-9]{24}");iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"DeviceId"jletto_json=simple_to_jsonto_valueendmoduleDeviceName=structtypenonrect=stringletcontext_="DeviceName"letmakei=letopenResultinok_or_failwith((check_string_mini~min:0)>>=(fun()->(check_string_maxi~max:64)>>=(fun()->check_patterni~pattern:"$|^[0-9\\p{IsAlphabetic}+:,.@'\" -]*")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"DeviceName"jletto_json=simple_to_jsonto_valueendmoduleDeviceStatus=structtypenonrect=|REGISTERED|DEREGISTERING|DEREGISTERED|ARCHIVED|Non_static_idofstringletmakei=iletto_string=function|REGISTERED->"REGISTERED"|DEREGISTERING->"DEREGISTERING"|DEREGISTERED->"DEREGISTERED"|ARCHIVED->"ARCHIVED"|Non_static_ids->sletof_string=function|"REGISTERED"->REGISTERED|"DEREGISTERING"->DEREGISTERING|"DEREGISTERED"->DEREGISTERED|"ARCHIVED"->ARCHIVED|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 DeviceStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"DeviceStatus"j)letto_json=simple_to_jsonto_valueendmoduleUserId=structtypenonrect=stringletcontext_="UserId"letmakei=iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"UserId"jletto_json=simple_to_jsonto_valueendmoduleSoftware=structtypenonrect={name:String_.toption[@ocaml.doc"The name of the software component."];version:String_.toption[@ocaml.doc"The version of the software component."]}letmake?name=fun?version->fun()->{name;version}letto_valuex=structure_to_value[("name",(Option.mapx.name~f:String_.to_value));("version",(Option.mapx.version~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letversion=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"version")inletname=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"name")inmake?version?name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letversion=field_mapjson__"version"String_.of_jsoninletname=field_mapjson__"name"String_.of_jsoninmake?version?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes software."]moduleDeviceCreationTagKey=structtypenonrect=stringletcontext_="DeviceCreationTagKey"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:128)>>=(fun()->check_patterni~pattern:"(?!aws:)[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:"DeviceCreationTagKey"jletto_json=simple_to_jsonto_valueendmoduleDeviceCreationTagValue=structtypenonrect=stringletcontext_="DeviceCreationTagValue"letmakei=letopenResultinok_or_failwith((check_string_mini~min:0)>>=(fun()->(check_string_maxi~max:256)>>=(fun()->check_patterni~pattern:"[A-Za-z0-9 _=@:.+-/]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"DeviceCreationTagValue"jletto_json=simple_to_jsonto_valueendmoduleRetryAfterSeconds=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 RetryAfterSeconds"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleResourceId=structtypenonrect=stringletcontext_="ResourceId"letmakei=iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ResourceId"jletto_json=simple_to_jsonto_valueendmoduleResourceType=structtypenonrect=stringletcontext_="ResourceType"letmakei=iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ResourceType"jletto_json=simple_to_jsonto_valueendmoduleQuotaCode=structtypenonrect=stringletcontext_="QuotaCode"letmakei=iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"QuotaCode"jletto_json=simple_to_jsonto_valueendmoduleServiceCode=structtypenonrect=stringletcontext_="ServiceCode"letmakei=iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ServiceCode"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=|UnknownOperation|CannotParse|FieldValidationFailed|Other|Non_static_idofstringletmakei=iletto_string=function|UnknownOperation->"unknownOperation"|CannotParse->"cannotParse"|FieldValidationFailed->"fieldValidationFailed"|Other->"other"|Non_static_ids->sletof_string=function|"unknownOperation"->UnknownOperation|"cannotParse"->CannotParse|"fieldValidationFailed"->FieldValidationFailed|"other"->Other|x->Non_static_idxletto_valuex=`Enum(to_stringx)letto_queryv=to_queryto_valuevletto_headerx=to_stringxletof_xmlxml_arg0=of_string(string_of_xml~kind:"enumeration ValidationExceptionReason"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ValidationExceptionReason"j)letto_json=simple_to_jsonto_valueendmoduleSoftwareSetSummary=structtypenonrect={id:SoftwareSetId.toption[@ocaml.doc"The ID of the software set."];version:String_.toption[@ocaml.doc"The version of the software set."];releasedAt:Timestamp.toption[@ocaml.doc"The timestamp of when the software set was released."];supportedUntil:Timestamp.toption[@ocaml.doc"The timestamp of the end of support for the software set."];validationStatus:SoftwareSetValidationStatus.toption[@ocaml.doc"An option to define if the software set has been validated."];arn:Arn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the software set."]}letmake?id=fun?version->fun?releasedAt->fun?supportedUntil->fun?validationStatus->fun?arn->fun()->{id;version;releasedAt;supportedUntil;validationStatus;arn}letto_valuex=structure_to_value[("id",(Option.mapx.id~f:SoftwareSetId.to_value));("version",(Option.mapx.version~f:String_.to_value));("releasedAt",(Option.mapx.releasedAt~f:Timestamp.to_value));("supportedUntil",(Option.mapx.supportedUntil~f:Timestamp.to_value));("validationStatus",(Option.mapx.validationStatus~f:SoftwareSetValidationStatus.to_value));("arn",(Option.mapx.arn~f:Arn.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letarn=(Option.map~f:Arn.of_xml)(Xml.childxml_arg0"arn")inletvalidationStatus=(Option.map~f:SoftwareSetValidationStatus.of_xml)(Xml.childxml_arg0"validationStatus")inletsupportedUntil=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"supportedUntil")inletreleasedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"releasedAt")inletversion=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"version")inletid=(Option.map~f:SoftwareSetId.of_xml)(Xml.childxml_arg0"id")inmake?arn?validationStatus?supportedUntil?releasedAt?version?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letarn=field_mapjson__"arn"Arn.of_jsoninletvalidationStatus=field_mapjson__"validationStatus"SoftwareSetValidationStatus.of_jsoninletsupportedUntil=field_mapjson__"supportedUntil"Timestamp.of_jsoninletreleasedAt=field_mapjson__"releasedAt"Timestamp.of_jsoninletversion=field_mapjson__"version"String_.of_jsoninletid=field_mapjson__"id"SoftwareSetId.of_jsoninmake?arn?validationStatus?supportedUntil?releasedAt?version?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes a software set."]moduleEnvironmentSummary=structtypenonrect={id:EnvironmentId.toption[@ocaml.doc"The ID of the environment."];name:EnvironmentName.toption[@ocaml.doc"The name of the environment."];desktopArn:Arn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the desktop to stream from Amazon WorkSpaces, WorkSpaces Secure Browser, or AppStream 2.0."];desktopEndpoint:DesktopEndpoint.toption[@ocaml.doc"The URL for the identity provider login (only for environments that use AppStream 2.0)."];desktopType:DesktopType.toption[@ocaml.doc"The type of streaming desktop for the environment."];activationCode:ActivationCode.toption[@ocaml.doc"The activation code to register a device to the environment."];softwareSetUpdateSchedule:SoftwareSetUpdateSchedule.toption[@ocaml.doc"An option to define if software updates should be applied within a maintenance window."];maintenanceWindow:MaintenanceWindow.toption[@ocaml.doc"A specification for a time window to apply software updates."];softwareSetUpdateMode:SoftwareSetUpdateMode.toption[@ocaml.doc"An option to define which software updates to apply."];desiredSoftwareSetId:SoftwareSetId.toption[@ocaml.doc"The ID of the software set to apply."];pendingSoftwareSetId:SoftwareSetId.toption[@ocaml.doc"The ID of the software set that is pending to be installed."];createdAt:Timestamp.toption[@ocaml.doc"The timestamp of when the environment was created."];updatedAt:Timestamp.toption[@ocaml.doc"The timestamp of when the device was updated."];arn:Arn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the environment."]}letmake?id=fun?name->fun?desktopArn->fun?desktopEndpoint->fun?desktopType->fun?activationCode->fun?softwareSetUpdateSchedule->fun?maintenanceWindow->fun?softwareSetUpdateMode->fun?desiredSoftwareSetId->fun?pendingSoftwareSetId->fun?createdAt->fun?updatedAt->fun?arn->fun()->{id;name;desktopArn;desktopEndpoint;desktopType;activationCode;softwareSetUpdateSchedule;maintenanceWindow;softwareSetUpdateMode;desiredSoftwareSetId;pendingSoftwareSetId;createdAt;updatedAt;arn}letto_valuex=structure_to_value[("id",(Option.mapx.id~f:EnvironmentId.to_value));("name",(Option.mapx.name~f:EnvironmentName.to_value));("desktopArn",(Option.mapx.desktopArn~f:Arn.to_value));("desktopEndpoint",(Option.mapx.desktopEndpoint~f:DesktopEndpoint.to_value));("desktopType",(Option.mapx.desktopType~f:DesktopType.to_value));("activationCode",(Option.mapx.activationCode~f:ActivationCode.to_value));("softwareSetUpdateSchedule",(Option.mapx.softwareSetUpdateSchedule~f:SoftwareSetUpdateSchedule.to_value));("maintenanceWindow",(Option.mapx.maintenanceWindow~f:MaintenanceWindow.to_value));("softwareSetUpdateMode",(Option.mapx.softwareSetUpdateMode~f:SoftwareSetUpdateMode.to_value));("desiredSoftwareSetId",(Option.mapx.desiredSoftwareSetId~f:SoftwareSetId.to_value));("pendingSoftwareSetId",(Option.mapx.pendingSoftwareSetId~f:SoftwareSetId.to_value));("createdAt",(Option.mapx.createdAt~f:Timestamp.to_value));("updatedAt",(Option.mapx.updatedAt~f:Timestamp.to_value));("arn",(Option.mapx.arn~f:Arn.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letarn=(Option.map~f:Arn.of_xml)(Xml.childxml_arg0"arn")inletupdatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"updatedAt")inletcreatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"createdAt")inletpendingSoftwareSetId=(Option.map~f:SoftwareSetId.of_xml)(Xml.childxml_arg0"pendingSoftwareSetId")inletdesiredSoftwareSetId=(Option.map~f:SoftwareSetId.of_xml)(Xml.childxml_arg0"desiredSoftwareSetId")inletsoftwareSetUpdateMode=(Option.map~f:SoftwareSetUpdateMode.of_xml)(Xml.childxml_arg0"softwareSetUpdateMode")inletmaintenanceWindow=(Option.map~f:MaintenanceWindow.of_xml)(Xml.childxml_arg0"maintenanceWindow")inletsoftwareSetUpdateSchedule=(Option.map~f:SoftwareSetUpdateSchedule.of_xml)(Xml.childxml_arg0"softwareSetUpdateSchedule")inletactivationCode=(Option.map~f:ActivationCode.of_xml)(Xml.childxml_arg0"activationCode")inletdesktopType=(Option.map~f:DesktopType.of_xml)(Xml.childxml_arg0"desktopType")inletdesktopEndpoint=(Option.map~f:DesktopEndpoint.of_xml)(Xml.childxml_arg0"desktopEndpoint")inletdesktopArn=(Option.map~f:Arn.of_xml)(Xml.childxml_arg0"desktopArn")inletname=(Option.map~f:EnvironmentName.of_xml)(Xml.childxml_arg0"name")inletid=(Option.map~f:EnvironmentId.of_xml)(Xml.childxml_arg0"id")inmake?arn?updatedAt?createdAt?pendingSoftwareSetId?desiredSoftwareSetId?softwareSetUpdateMode?maintenanceWindow?softwareSetUpdateSchedule?activationCode?desktopType?desktopEndpoint?desktopArn?name?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letarn=field_mapjson__"arn"Arn.of_jsoninletupdatedAt=field_mapjson__"updatedAt"Timestamp.of_jsoninletcreatedAt=field_mapjson__"createdAt"Timestamp.of_jsoninletpendingSoftwareSetId=field_mapjson__"pendingSoftwareSetId"SoftwareSetId.of_jsoninletdesiredSoftwareSetId=field_mapjson__"desiredSoftwareSetId"SoftwareSetId.of_jsoninletsoftwareSetUpdateMode=field_mapjson__"softwareSetUpdateMode"SoftwareSetUpdateMode.of_jsoninletmaintenanceWindow=field_mapjson__"maintenanceWindow"MaintenanceWindow.of_jsoninletsoftwareSetUpdateSchedule=field_mapjson__"softwareSetUpdateSchedule"SoftwareSetUpdateSchedule.of_jsoninletactivationCode=field_mapjson__"activationCode"ActivationCode.of_jsoninletdesktopType=field_mapjson__"desktopType"DesktopType.of_jsoninletdesktopEndpoint=field_mapjson__"desktopEndpoint"DesktopEndpoint.of_jsoninletdesktopArn=field_mapjson__"desktopArn"Arn.of_jsoninletname=field_mapjson__"name"EnvironmentName.of_jsoninletid=field_mapjson__"id"EnvironmentId.of_jsoninmake?arn?updatedAt?createdAt?pendingSoftwareSetId?desiredSoftwareSetId?softwareSetUpdateMode?maintenanceWindow?softwareSetUpdateSchedule?activationCode?desktopType?desktopEndpoint?desktopArn?name?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes an environment."]moduleDeviceSummary=structtypenonrect={id:DeviceId.toption[@ocaml.doc"The ID of the device."];serialNumber:String_.toption[@ocaml.doc"The hardware serial number of the device."];name:DeviceName.toption[@ocaml.doc"The name of the device."];model:String_.toption[@ocaml.doc"The model number of the device."];environmentId:EnvironmentId.toption[@ocaml.doc"The ID of the environment the device is associated with."];status:DeviceStatus.toption[@ocaml.doc"The status of the device."];currentSoftwareSetId:SoftwareSetId.toption[@ocaml.doc"The ID of the software set currently installed on the device."];desiredSoftwareSetId:SoftwareSetId.toption[@ocaml.doc"The ID of the software set which the device has been set to."];pendingSoftwareSetId:SoftwareSetId.toption[@ocaml.doc"The ID of the software set that is pending to be installed on the device."];softwareSetUpdateSchedule:SoftwareSetUpdateSchedule.toption[@ocaml.doc"An option to define if software updates should be applied within a maintenance window."];lastConnectedAt:Timestamp.toption[@ocaml.doc"The timestamp of the most recent session on the device."];lastPostureAt:Timestamp.toption[@ocaml.doc"The timestamp of the most recent check-in of the device."];createdAt:Timestamp.toption[@ocaml.doc"The timestamp of when the device was created."];updatedAt:Timestamp.toption[@ocaml.doc"The timestamp of when the device was updated."];arn:Arn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the device."];lastUserId:UserId.toption[@ocaml.doc"The user ID of the most recent session on the device."]}letmake?id=fun?serialNumber->fun?name->fun?model->fun?environmentId->fun?status->fun?currentSoftwareSetId->fun?desiredSoftwareSetId->fun?pendingSoftwareSetId->fun?softwareSetUpdateSchedule->fun?lastConnectedAt->fun?lastPostureAt->fun?createdAt->fun?updatedAt->fun?arn->fun?lastUserId->fun()->{id;serialNumber;name;model;environmentId;status;currentSoftwareSetId;desiredSoftwareSetId;pendingSoftwareSetId;softwareSetUpdateSchedule;lastConnectedAt;lastPostureAt;createdAt;updatedAt;arn;lastUserId}letto_valuex=structure_to_value[("id",(Option.mapx.id~f:DeviceId.to_value));("serialNumber",(Option.mapx.serialNumber~f:String_.to_value));("name",(Option.mapx.name~f:DeviceName.to_value));("model",(Option.mapx.model~f:String_.to_value));("environmentId",(Option.mapx.environmentId~f:EnvironmentId.to_value));("status",(Option.mapx.status~f:DeviceStatus.to_value));("currentSoftwareSetId",(Option.mapx.currentSoftwareSetId~f:SoftwareSetId.to_value));("desiredSoftwareSetId",(Option.mapx.desiredSoftwareSetId~f:SoftwareSetId.to_value));("pendingSoftwareSetId",(Option.mapx.pendingSoftwareSetId~f:SoftwareSetId.to_value));("softwareSetUpdateSchedule",(Option.mapx.softwareSetUpdateSchedule~f:SoftwareSetUpdateSchedule.to_value));("lastConnectedAt",(Option.mapx.lastConnectedAt~f:Timestamp.to_value));("lastPostureAt",(Option.mapx.lastPostureAt~f:Timestamp.to_value));("createdAt",(Option.mapx.createdAt~f:Timestamp.to_value));("updatedAt",(Option.mapx.updatedAt~f:Timestamp.to_value));("arn",(Option.mapx.arn~f:Arn.to_value));("lastUserId",(Option.mapx.lastUserId~f:UserId.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlastUserId=(Option.map~f:UserId.of_xml)(Xml.childxml_arg0"lastUserId")inletarn=(Option.map~f:Arn.of_xml)(Xml.childxml_arg0"arn")inletupdatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"updatedAt")inletcreatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"createdAt")inletlastPostureAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"lastPostureAt")inletlastConnectedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"lastConnectedAt")inletsoftwareSetUpdateSchedule=(Option.map~f:SoftwareSetUpdateSchedule.of_xml)(Xml.childxml_arg0"softwareSetUpdateSchedule")inletpendingSoftwareSetId=(Option.map~f:SoftwareSetId.of_xml)(Xml.childxml_arg0"pendingSoftwareSetId")inletdesiredSoftwareSetId=(Option.map~f:SoftwareSetId.of_xml)(Xml.childxml_arg0"desiredSoftwareSetId")inletcurrentSoftwareSetId=(Option.map~f:SoftwareSetId.of_xml)(Xml.childxml_arg0"currentSoftwareSetId")inletstatus=(Option.map~f:DeviceStatus.of_xml)(Xml.childxml_arg0"status")inletenvironmentId=(Option.map~f:EnvironmentId.of_xml)(Xml.childxml_arg0"environmentId")inletmodel=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"model")inletname=(Option.map~f:DeviceName.of_xml)(Xml.childxml_arg0"name")inletserialNumber=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"serialNumber")inletid=(Option.map~f:DeviceId.of_xml)(Xml.childxml_arg0"id")inmake?lastUserId?arn?updatedAt?createdAt?lastPostureAt?lastConnectedAt?softwareSetUpdateSchedule?pendingSoftwareSetId?desiredSoftwareSetId?currentSoftwareSetId?status?environmentId?model?name?serialNumber?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlastUserId=field_mapjson__"lastUserId"UserId.of_jsoninletarn=field_mapjson__"arn"Arn.of_jsoninletupdatedAt=field_mapjson__"updatedAt"Timestamp.of_jsoninletcreatedAt=field_mapjson__"createdAt"Timestamp.of_jsoninletlastPostureAt=field_mapjson__"lastPostureAt"Timestamp.of_jsoninletlastConnectedAt=field_mapjson__"lastConnectedAt"Timestamp.of_jsoninletsoftwareSetUpdateSchedule=field_mapjson__"softwareSetUpdateSchedule"SoftwareSetUpdateSchedule.of_jsoninletpendingSoftwareSetId=field_mapjson__"pendingSoftwareSetId"SoftwareSetId.of_jsoninletdesiredSoftwareSetId=field_mapjson__"desiredSoftwareSetId"SoftwareSetId.of_jsoninletcurrentSoftwareSetId=field_mapjson__"currentSoftwareSetId"SoftwareSetId.of_jsoninletstatus=field_mapjson__"status"DeviceStatus.of_jsoninletenvironmentId=field_mapjson__"environmentId"EnvironmentId.of_jsoninletmodel=field_mapjson__"model"String_.of_jsoninletname=field_mapjson__"name"DeviceName.of_jsoninletserialNumber=field_mapjson__"serialNumber"String_.of_jsoninletid=field_mapjson__"id"DeviceId.of_jsoninmake?lastUserId?arn?updatedAt?createdAt?lastPostureAt?lastConnectedAt?softwareSetUpdateSchedule?pendingSoftwareSetId?desiredSoftwareSetId?currentSoftwareSetId?status?environmentId?model?name?serialNumber?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes a thin client device."]moduleSoftwareList=structtypenonrect=Software.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:Software.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:Software.of_xml)letof_jsonj=list_of_json~kind:"SoftwareList"~of_json:Software.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleDeviceCreationTagsMap=structtypenonrect=(DeviceCreationTagKey.t*DeviceCreationTagValue.t)listletmakei=letopenResultinok_or_failwith((check_list_maxi~max:50)>>=(fun()->check_list_mini~min:0));iletof_headerxs=make(List.filter_mapxs~f:(fun(k,v)->(Base.String.chop_prefixk~prefix:"x-amz-meta-")|>(Option.map~f:(funchopped->((DeviceCreationTagKey.of_stringchopped),(DeviceCreationTagValue.of_stringv))))))letto_valuexs=(xs|>(List.map~f:(fun(x,y)->(DeviceCreationTagKey.to_valuex)|>(funx->(DeviceCreationTagValue.to_valuey)|>(funy->(x,y))))))|>(funx->`Mapx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for Map_shape objects"()letof_xml_=failwith"of_xml_converter_of_shape: Map_shape case not implemented"letof_jsonj=object_of_json~key_of_string:DeviceCreationTagKey.of_string~of_json:DeviceCreationTagValue.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleEnvironmentSoftwareSetComplianceStatus=structtypenonrect=|NO_REGISTERED_DEVICES|COMPLIANT|NOT_COMPLIANT|Non_static_idofstringletmakei=iletto_string=function|NO_REGISTERED_DEVICES->"NO_REGISTERED_DEVICES"|COMPLIANT->"COMPLIANT"|NOT_COMPLIANT->"NOT_COMPLIANT"|Non_static_ids->sletof_string=function|"NO_REGISTERED_DEVICES"->NO_REGISTERED_DEVICES|"COMPLIANT"->COMPLIANT|"NOT_COMPLIANT"->NOT_COMPLIANT|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 EnvironmentSoftwareSetComplianceStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"EnvironmentSoftwareSetComplianceStatus"j)letto_json=simple_to_jsonto_valueendmoduleInteger=structtypenonrect=intletmakei=iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for Integer"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleKmsKeyArn=structtypenonrect=stringletcontext_="KmsKeyArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:20)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:"arn:[\\w+=\\/,.@-]+:kms:[a-zA-Z0-9\\-]*:[0-9]{0,12}:key\\/[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:"KmsKeyArn"jletto_json=simple_to_jsonto_valueendmoduleDeviceSoftwareSetComplianceStatus=structtypenonrect=|NONE|COMPLIANT|NOT_COMPLIANT|Non_static_idofstringletmakei=iletto_string=function|NONE->"NONE"|COMPLIANT->"COMPLIANT"|NOT_COMPLIANT->"NOT_COMPLIANT"|Non_static_ids->sletof_string=function|"NONE"->NONE|"COMPLIANT"->COMPLIANT|"NOT_COMPLIANT"->NOT_COMPLIANT|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 DeviceSoftwareSetComplianceStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"DeviceSoftwareSetComplianceStatus"j)letto_json=simple_to_jsonto_valueendmoduleSoftwareSetUpdateStatus=structtypenonrect=|AVAILABLE|IN_PROGRESS|UP_TO_DATE|Non_static_idofstringletmakei=iletto_string=function|AVAILABLE->"AVAILABLE"|IN_PROGRESS->"IN_PROGRESS"|UP_TO_DATE->"UP_TO_DATE"|Non_static_ids->sletof_string=function|"AVAILABLE"->AVAILABLE|"IN_PROGRESS"->IN_PROGRESS|"UP_TO_DATE"->UP_TO_DATE|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 SoftwareSetUpdateStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"SoftwareSetUpdateStatus"j)letto_json=simple_to_jsonto_valueendmoduleAccessDeniedException=structtypenonrect={message:ExceptionMessage.toption}letmake?message=fun()->{message}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:ExceptionMessage.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:ExceptionMessage.of_xml)(Xml.childxml_arg0"message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"ExceptionMessage.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"You do not have sufficient access to perform this action."]moduleInternalServerException=structtypenonrect={message:ExceptionMessage.toption;retryAfterSeconds:RetryAfterSeconds.toption[@ocaml.doc"The number of seconds to wait before retrying the next request."]}letmake?message=fun?retryAfterSeconds->fun()->{message;retryAfterSeconds}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:ExceptionMessage.to_value));("Retry-After",(Option.mapx.retryAfterSeconds~f:RetryAfterSeconds.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letretryAfterSeconds=(Option.map~f:RetryAfterSeconds.of_xml)(Xml.childxml_arg0"Retry-After")inletmessage=(Option.map~f:ExceptionMessage.of_xml)(Xml.childxml_arg0"message")inmake?retryAfterSeconds?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letretryAfterSeconds=field_mapjson__"retryAfterSeconds"RetryAfterSeconds.of_jsoninletmessage=field_mapjson__"message"ExceptionMessage.of_jsoninmake?retryAfterSeconds?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The server encountered an internal error and is unable to complete the request."]moduleResourceNotFoundException=structtypenonrect={message:ExceptionMessage.toption;resourceId:ResourceId.toption[@ocaml.doc"The ID of the resource associated with the request."];resourceType:ResourceType.toption[@ocaml.doc"The type of the resource associated with the request."]}letmake?message=fun?resourceId->fun?resourceType->fun()->{message;resourceId;resourceType}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:ExceptionMessage.to_value));("resourceId",(Option.mapx.resourceId~f:ResourceId.to_value));("resourceType",(Option.mapx.resourceType~f:ResourceType.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresourceType=(Option.map~f:ResourceType.of_xml)(Xml.childxml_arg0"resourceType")inletresourceId=(Option.map~f:ResourceId.of_xml)(Xml.childxml_arg0"resourceId")inletmessage=(Option.map~f:ExceptionMessage.of_xml)(Xml.childxml_arg0"message")inmake?resourceType?resourceId?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresourceType=field_mapjson__"resourceType"ResourceType.of_jsoninletresourceId=field_mapjson__"resourceId"ResourceId.of_jsoninletmessage=field_mapjson__"message"ExceptionMessage.of_jsoninmake?resourceType?resourceId?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The resource specified in the request was not found."]moduleThrottlingException=structtypenonrect={message:ExceptionMessage.toption;serviceCode:ServiceCode.toption[@ocaml.doc"The code for the service in Service Quotas."];quotaCode:QuotaCode.toption[@ocaml.doc"The code for the quota in Service Quotas."];retryAfterSeconds:RetryAfterSeconds.toption[@ocaml.doc"The number of seconds to wait before retrying the next request."]}letmake?message=fun?serviceCode->fun?quotaCode->fun?retryAfterSeconds->fun()->{message;serviceCode;quotaCode;retryAfterSeconds}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:ExceptionMessage.to_value));("serviceCode",(Option.mapx.serviceCode~f:ServiceCode.to_value));("quotaCode",(Option.mapx.quotaCode~f:QuotaCode.to_value));("Retry-After",(Option.mapx.retryAfterSeconds~f:RetryAfterSeconds.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letretryAfterSeconds=(Option.map~f:RetryAfterSeconds.of_xml)(Xml.childxml_arg0"Retry-After")inletquotaCode=(Option.map~f:QuotaCode.of_xml)(Xml.childxml_arg0"quotaCode")inletserviceCode=(Option.map~f:ServiceCode.of_xml)(Xml.childxml_arg0"serviceCode")inletmessage=(Option.map~f:ExceptionMessage.of_xml)(Xml.childxml_arg0"message")inmake?retryAfterSeconds?quotaCode?serviceCode?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letretryAfterSeconds=field_mapjson__"retryAfterSeconds"RetryAfterSeconds.of_jsoninletquotaCode=field_mapjson__"quotaCode"QuotaCode.of_jsoninletserviceCode=field_mapjson__"serviceCode"ServiceCode.of_jsoninletmessage=field_mapjson__"message"ExceptionMessage.of_jsoninmake?retryAfterSeconds?quotaCode?serviceCode?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The request was denied due to request throttling."]moduleValidationException=structtypenonrect={message:ExceptionMessage.toption;reason:ValidationExceptionReason.toption[@ocaml.doc"The reason for the exception."];fieldList:ValidationExceptionFieldList.toption[@ocaml.doc"A list of fields that didn't validate."]}letmake?message=fun?reason->fun?fieldList->fun()->{message;reason;fieldList}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:ExceptionMessage.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")inletmessage=(Option.map~f:ExceptionMessage.of_xml)(Xml.childxml_arg0"message")inmake?fieldList?reason?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_jsoninletmessage=field_mapjson__"message"ExceptionMessage.of_jsoninmake?fieldList?reason?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The input fails to satisfy the specified constraints."]moduleConflictException=structtypenonrect={message:ExceptionMessage.toption;resourceId:ResourceId.toption[@ocaml.doc"The ID of the resource associated with the request."];resourceType:ResourceType.toption[@ocaml.doc"The type of the resource associated with the request."]}letmake?message=fun?resourceId->fun?resourceType->fun()->{message;resourceId;resourceType}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:ExceptionMessage.to_value));("resourceId",(Option.mapx.resourceId~f:ResourceId.to_value));("resourceType",(Option.mapx.resourceType~f:ResourceType.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresourceType=(Option.map~f:ResourceType.of_xml)(Xml.childxml_arg0"resourceType")inletresourceId=(Option.map~f:ResourceId.of_xml)(Xml.childxml_arg0"resourceId")inletmessage=(Option.map~f:ExceptionMessage.of_xml)(Xml.childxml_arg0"message")inmake?resourceType?resourceId?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresourceType=field_mapjson__"resourceType"ResourceType.of_jsoninletresourceId=field_mapjson__"resourceId"ResourceId.of_jsoninletmessage=field_mapjson__"message"ExceptionMessage.of_jsoninmake?resourceType?resourceId?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The requested operation would cause a conflict with the current state of a service resource associated with the request. Resolve the conflict before retrying this request."]moduleSoftwareSetIdOrEmptyString=structtypenonrect=stringletcontext_="SoftwareSetIdOrEmptyString"letmakei=letopenResultinok_or_failwith(check_patterni~pattern:"[0-9]{0,9}");iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"SoftwareSetIdOrEmptyString"jletto_json=simple_to_jsonto_valueendmoduleTagKeys=structtypenonrect=String_.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:String_.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:String_.of_xml)letof_jsonj=list_of_json~kind:"TagKeys"~of_json:String_.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleTagsMap=structtypenonrect=(String_.t*String_.t)listletmakei=iletof_headerxs=make(List.filter_mapxs~f:(fun(k,v)->(Base.String.chop_prefixk~prefix:"x-amz-meta-")|>(Option.map~f:(funchopped->((String_.of_stringchopped),(String_.of_stringv))))))letto_valuexs=(xs|>(List.map~f:(fun(x,y)->(String_.to_valuex)|>(funx->(String_.to_valuey)|>(funy->(x,y))))))|>(funx->`Mapx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for Map_shape objects"()letof_xml_=failwith"of_xml_converter_of_shape: Map_shape case not implemented"letof_jsonj=object_of_json~key_of_string:String_.of_string~of_json:String_.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmodulePaginationToken=structtypenonrect=stringletcontext_="PaginationToken"letmakei=letopenResultinok_or_failwith((check_string_mini~min:0)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:"\\S*")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"PaginationToken"jletto_json=simple_to_jsonto_valueendmoduleSoftwareSetList=structtypenonrect=SoftwareSetSummary.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:SoftwareSetSummary.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:SoftwareSetSummary.of_xml)letof_jsonj=list_of_json~kind:"SoftwareSetList"~of_json:SoftwareSetSummary.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleMaxResults=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:50)>>=(fun()->check_int_mini~min:1));iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for MaxResults"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleEnvironmentList=structtypenonrect=EnvironmentSummary.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:EnvironmentSummary.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:EnvironmentSummary.of_xml)letof_jsonj=list_of_json~kind:"EnvironmentList"~of_json:EnvironmentSummary.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleDeviceList=structtypenonrect=DeviceSummary.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:DeviceSummary.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:DeviceSummary.of_xml)letof_jsonj=list_of_json~kind:"DeviceList"~of_json:DeviceSummary.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleSoftwareSet=structtypenonrect={id:SoftwareSetId.toption[@ocaml.doc"The ID of the software set."];version:String_.toption[@ocaml.doc"The version of the software set."];releasedAt:Timestamp.toption[@ocaml.doc"The timestamp of when the software set was released."];supportedUntil:Timestamp.toption[@ocaml.doc"The timestamp of the end of support for the software set."];validationStatus:SoftwareSetValidationStatus.toption[@ocaml.doc"An option to define if the software set has been validated."];software:SoftwareList.toption[@ocaml.doc"A list of the software components in the software set."];arn:Arn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the software set."]}letmake?id=fun?version->fun?releasedAt->fun?supportedUntil->fun?validationStatus->fun?software->fun?arn->fun()->{id;version;releasedAt;supportedUntil;validationStatus;software;arn}letto_valuex=structure_to_value[("id",(Option.mapx.id~f:SoftwareSetId.to_value));("version",(Option.mapx.version~f:String_.to_value));("releasedAt",(Option.mapx.releasedAt~f:Timestamp.to_value));("supportedUntil",(Option.mapx.supportedUntil~f:Timestamp.to_value));("validationStatus",(Option.mapx.validationStatus~f:SoftwareSetValidationStatus.to_value));("software",(Option.mapx.software~f:SoftwareList.to_value));("arn",(Option.mapx.arn~f:Arn.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letarn=(Option.map~f:Arn.of_xml)(Xml.childxml_arg0"arn")inletsoftware=(Option.map~f:SoftwareList.of_xml)(Xml.childxml_arg0"software")inletvalidationStatus=(Option.map~f:SoftwareSetValidationStatus.of_xml)(Xml.childxml_arg0"validationStatus")inletsupportedUntil=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"supportedUntil")inletreleasedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"releasedAt")inletversion=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"version")inletid=(Option.map~f:SoftwareSetId.of_xml)(Xml.childxml_arg0"id")inmake?arn?software?validationStatus?supportedUntil?releasedAt?version?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letarn=field_mapjson__"arn"Arn.of_jsoninletsoftware=field_mapjson__"software"SoftwareList.of_jsoninletvalidationStatus=field_mapjson__"validationStatus"SoftwareSetValidationStatus.of_jsoninletsupportedUntil=field_mapjson__"supportedUntil"Timestamp.of_jsoninletreleasedAt=field_mapjson__"releasedAt"Timestamp.of_jsoninletversion=field_mapjson__"version"String_.of_jsoninletid=field_mapjson__"id"SoftwareSetId.of_jsoninmake?arn?software?validationStatus?supportedUntil?releasedAt?version?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes a software set."]moduleEnvironment=structtypenonrect={id:EnvironmentId.toption[@ocaml.doc"The ID of the environment."];name:EnvironmentName.toption[@ocaml.doc"The name of the environment."];desktopArn:Arn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the desktop to stream from Amazon WorkSpaces, WorkSpaces Secure Browser, or AppStream 2.0."];desktopEndpoint:DesktopEndpoint.toption[@ocaml.doc"The URL for the identity provider login (only for environments that use AppStream 2.0)."];desktopType:DesktopType.toption[@ocaml.doc"The type of streaming desktop for the environment."];activationCode:ActivationCode.toption[@ocaml.doc"The activation code to register a device to the environment."];registeredDevicesCount:Integer.toption[@ocaml.doc"The number of devices registered to the environment."];softwareSetUpdateSchedule:SoftwareSetUpdateSchedule.toption[@ocaml.doc"An option to define if software updates should be applied within a maintenance window."];maintenanceWindow:MaintenanceWindow.toption[@ocaml.doc"A specification for a time window to apply software updates."];softwareSetUpdateMode:SoftwareSetUpdateMode.toption[@ocaml.doc"An option to define which software updates to apply."];desiredSoftwareSetId:SoftwareSetId.toption[@ocaml.doc"The ID of the software set to apply."];pendingSoftwareSetId:SoftwareSetId.toption[@ocaml.doc"The ID of the software set that is pending to be installed."];pendingSoftwareSetVersion:String_.toption[@ocaml.doc"The version of the software set that is pending to be installed."];softwareSetComplianceStatus:EnvironmentSoftwareSetComplianceStatus.toption[@ocaml.doc"Describes if the software currently installed on all devices in the environment is a supported version."];createdAt:Timestamp.toption[@ocaml.doc"The timestamp of when the environment was created."];updatedAt:Timestamp.toption[@ocaml.doc"The timestamp of when the device was updated."];arn:Arn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the environment."];kmsKeyArn:KmsKeyArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the Key Management Service key used to encrypt the environment."];deviceCreationTags:DeviceCreationTagsMap.toption[@ocaml.doc"The tag keys and optional values for the newly created devices for this environment."]}letmake?id=fun?name->fun?desktopArn->fun?desktopEndpoint->fun?desktopType->fun?activationCode->fun?registeredDevicesCount->fun?softwareSetUpdateSchedule->fun?maintenanceWindow->fun?softwareSetUpdateMode->fun?desiredSoftwareSetId->fun?pendingSoftwareSetId->fun?pendingSoftwareSetVersion->fun?softwareSetComplianceStatus->fun?createdAt->fun?updatedAt->fun?arn->fun?kmsKeyArn->fun?deviceCreationTags->fun()->{id;name;desktopArn;desktopEndpoint;desktopType;activationCode;registeredDevicesCount;softwareSetUpdateSchedule;maintenanceWindow;softwareSetUpdateMode;desiredSoftwareSetId;pendingSoftwareSetId;pendingSoftwareSetVersion;softwareSetComplianceStatus;createdAt;updatedAt;arn;kmsKeyArn;deviceCreationTags}letto_valuex=structure_to_value[("id",(Option.mapx.id~f:EnvironmentId.to_value));("name",(Option.mapx.name~f:EnvironmentName.to_value));("desktopArn",(Option.mapx.desktopArn~f:Arn.to_value));("desktopEndpoint",(Option.mapx.desktopEndpoint~f:DesktopEndpoint.to_value));("desktopType",(Option.mapx.desktopType~f:DesktopType.to_value));("activationCode",(Option.mapx.activationCode~f:ActivationCode.to_value));("registeredDevicesCount",(Option.mapx.registeredDevicesCount~f:Integer.to_value));("softwareSetUpdateSchedule",(Option.mapx.softwareSetUpdateSchedule~f:SoftwareSetUpdateSchedule.to_value));("maintenanceWindow",(Option.mapx.maintenanceWindow~f:MaintenanceWindow.to_value));("softwareSetUpdateMode",(Option.mapx.softwareSetUpdateMode~f:SoftwareSetUpdateMode.to_value));("desiredSoftwareSetId",(Option.mapx.desiredSoftwareSetId~f:SoftwareSetId.to_value));("pendingSoftwareSetId",(Option.mapx.pendingSoftwareSetId~f:SoftwareSetId.to_value));("pendingSoftwareSetVersion",(Option.mapx.pendingSoftwareSetVersion~f:String_.to_value));("softwareSetComplianceStatus",(Option.mapx.softwareSetComplianceStatus~f:EnvironmentSoftwareSetComplianceStatus.to_value));("createdAt",(Option.mapx.createdAt~f:Timestamp.to_value));("updatedAt",(Option.mapx.updatedAt~f:Timestamp.to_value));("arn",(Option.mapx.arn~f:Arn.to_value));("kmsKeyArn",(Option.mapx.kmsKeyArn~f:KmsKeyArn.to_value));("deviceCreationTags",(Option.mapx.deviceCreationTags~f:DeviceCreationTagsMap.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdeviceCreationTags=(Option.map~f:DeviceCreationTagsMap.of_xml)(Xml.childxml_arg0"deviceCreationTags")inletkmsKeyArn=(Option.map~f:KmsKeyArn.of_xml)(Xml.childxml_arg0"kmsKeyArn")inletarn=(Option.map~f:Arn.of_xml)(Xml.childxml_arg0"arn")inletupdatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"updatedAt")inletcreatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"createdAt")inletsoftwareSetComplianceStatus=(Option.map~f:EnvironmentSoftwareSetComplianceStatus.of_xml)(Xml.childxml_arg0"softwareSetComplianceStatus")inletpendingSoftwareSetVersion=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"pendingSoftwareSetVersion")inletpendingSoftwareSetId=(Option.map~f:SoftwareSetId.of_xml)(Xml.childxml_arg0"pendingSoftwareSetId")inletdesiredSoftwareSetId=(Option.map~f:SoftwareSetId.of_xml)(Xml.childxml_arg0"desiredSoftwareSetId")inletsoftwareSetUpdateMode=(Option.map~f:SoftwareSetUpdateMode.of_xml)(Xml.childxml_arg0"softwareSetUpdateMode")inletmaintenanceWindow=(Option.map~f:MaintenanceWindow.of_xml)(Xml.childxml_arg0"maintenanceWindow")inletsoftwareSetUpdateSchedule=(Option.map~f:SoftwareSetUpdateSchedule.of_xml)(Xml.childxml_arg0"softwareSetUpdateSchedule")inletregisteredDevicesCount=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"registeredDevicesCount")inletactivationCode=(Option.map~f:ActivationCode.of_xml)(Xml.childxml_arg0"activationCode")inletdesktopType=(Option.map~f:DesktopType.of_xml)(Xml.childxml_arg0"desktopType")inletdesktopEndpoint=(Option.map~f:DesktopEndpoint.of_xml)(Xml.childxml_arg0"desktopEndpoint")inletdesktopArn=(Option.map~f:Arn.of_xml)(Xml.childxml_arg0"desktopArn")inletname=(Option.map~f:EnvironmentName.of_xml)(Xml.childxml_arg0"name")inletid=(Option.map~f:EnvironmentId.of_xml)(Xml.childxml_arg0"id")inmake?deviceCreationTags?kmsKeyArn?arn?updatedAt?createdAt?softwareSetComplianceStatus?pendingSoftwareSetVersion?pendingSoftwareSetId?desiredSoftwareSetId?softwareSetUpdateMode?maintenanceWindow?softwareSetUpdateSchedule?registeredDevicesCount?activationCode?desktopType?desktopEndpoint?desktopArn?name?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdeviceCreationTags=field_mapjson__"deviceCreationTags"DeviceCreationTagsMap.of_jsoninletkmsKeyArn=field_mapjson__"kmsKeyArn"KmsKeyArn.of_jsoninletarn=field_mapjson__"arn"Arn.of_jsoninletupdatedAt=field_mapjson__"updatedAt"Timestamp.of_jsoninletcreatedAt=field_mapjson__"createdAt"Timestamp.of_jsoninletsoftwareSetComplianceStatus=field_mapjson__"softwareSetComplianceStatus"EnvironmentSoftwareSetComplianceStatus.of_jsoninletpendingSoftwareSetVersion=field_mapjson__"pendingSoftwareSetVersion"String_.of_jsoninletpendingSoftwareSetId=field_mapjson__"pendingSoftwareSetId"SoftwareSetId.of_jsoninletdesiredSoftwareSetId=field_mapjson__"desiredSoftwareSetId"SoftwareSetId.of_jsoninletsoftwareSetUpdateMode=field_mapjson__"softwareSetUpdateMode"SoftwareSetUpdateMode.of_jsoninletmaintenanceWindow=field_mapjson__"maintenanceWindow"MaintenanceWindow.of_jsoninletsoftwareSetUpdateSchedule=field_mapjson__"softwareSetUpdateSchedule"SoftwareSetUpdateSchedule.of_jsoninletregisteredDevicesCount=field_mapjson__"registeredDevicesCount"Integer.of_jsoninletactivationCode=field_mapjson__"activationCode"ActivationCode.of_jsoninletdesktopType=field_mapjson__"desktopType"DesktopType.of_jsoninletdesktopEndpoint=field_mapjson__"desktopEndpoint"DesktopEndpoint.of_jsoninletdesktopArn=field_mapjson__"desktopArn"Arn.of_jsoninletname=field_mapjson__"name"EnvironmentName.of_jsoninletid=field_mapjson__"id"EnvironmentId.of_jsoninmake?deviceCreationTags?kmsKeyArn?arn?updatedAt?createdAt?softwareSetComplianceStatus?pendingSoftwareSetVersion?pendingSoftwareSetId?desiredSoftwareSetId?softwareSetUpdateMode?maintenanceWindow?softwareSetUpdateSchedule?registeredDevicesCount?activationCode?desktopType?desktopEndpoint?desktopArn?name?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes an environment."]moduleDevice=structtypenonrect={id:DeviceId.toption[@ocaml.doc"The ID of the device."];serialNumber:String_.toption[@ocaml.doc"The hardware serial number of the device."];name:DeviceName.toption[@ocaml.doc"The name of the device."];model:String_.toption[@ocaml.doc"The model number of the device."];environmentId:EnvironmentId.toption[@ocaml.doc"The ID of the environment the device is associated with."];status:DeviceStatus.toption[@ocaml.doc"The status of the device."];currentSoftwareSetId:SoftwareSetId.toption[@ocaml.doc"The ID of the software set currently installed on the device."];currentSoftwareSetVersion:String_.toption[@ocaml.doc"The version of the software set currently installed on the device."];desiredSoftwareSetId:SoftwareSetId.toption[@ocaml.doc"The ID of the software set which the device has been set to."];pendingSoftwareSetId:SoftwareSetId.toption[@ocaml.doc"The ID of the software set that is pending to be installed on the device."];pendingSoftwareSetVersion:String_.toption[@ocaml.doc"The version of the software set that is pending to be installed on the device."];softwareSetUpdateSchedule:SoftwareSetUpdateSchedule.toption[@ocaml.doc"An option to define if software updates should be applied within a maintenance window."];softwareSetComplianceStatus:DeviceSoftwareSetComplianceStatus.toption[@ocaml.doc"Describes if the software currently installed on the device is a supported version."];softwareSetUpdateStatus:SoftwareSetUpdateStatus.toption[@ocaml.doc"Describes if the device has a supported version of software installed."];lastConnectedAt:Timestamp.toption[@ocaml.doc"The timestamp of the most recent session on the device."];lastPostureAt:Timestamp.toption[@ocaml.doc"The timestamp of the most recent check-in of the device."];createdAt:Timestamp.toption[@ocaml.doc"The timestamp of when the device was created."];updatedAt:Timestamp.toption[@ocaml.doc"The timestamp of when the device was updated."];arn:Arn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the device."];kmsKeyArn:KmsKeyArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the Key Management Service key used to encrypt the device."];lastUserId:UserId.toption[@ocaml.doc"The user ID of the most recent session on the device."]}letmake?id=fun?serialNumber->fun?name->fun?model->fun?environmentId->fun?status->fun?currentSoftwareSetId->fun?currentSoftwareSetVersion->fun?desiredSoftwareSetId->fun?pendingSoftwareSetId->fun?pendingSoftwareSetVersion->fun?softwareSetUpdateSchedule->fun?softwareSetComplianceStatus->fun?softwareSetUpdateStatus->fun?lastConnectedAt->fun?lastPostureAt->fun?createdAt->fun?updatedAt->fun?arn->fun?kmsKeyArn->fun?lastUserId->fun()->{id;serialNumber;name;model;environmentId;status;currentSoftwareSetId;currentSoftwareSetVersion;desiredSoftwareSetId;pendingSoftwareSetId;pendingSoftwareSetVersion;softwareSetUpdateSchedule;softwareSetComplianceStatus;softwareSetUpdateStatus;lastConnectedAt;lastPostureAt;createdAt;updatedAt;arn;kmsKeyArn;lastUserId}letto_valuex=structure_to_value[("id",(Option.mapx.id~f:DeviceId.to_value));("serialNumber",(Option.mapx.serialNumber~f:String_.to_value));("name",(Option.mapx.name~f:DeviceName.to_value));("model",(Option.mapx.model~f:String_.to_value));("environmentId",(Option.mapx.environmentId~f:EnvironmentId.to_value));("status",(Option.mapx.status~f:DeviceStatus.to_value));("currentSoftwareSetId",(Option.mapx.currentSoftwareSetId~f:SoftwareSetId.to_value));("currentSoftwareSetVersion",(Option.mapx.currentSoftwareSetVersion~f:String_.to_value));("desiredSoftwareSetId",(Option.mapx.desiredSoftwareSetId~f:SoftwareSetId.to_value));("pendingSoftwareSetId",(Option.mapx.pendingSoftwareSetId~f:SoftwareSetId.to_value));("pendingSoftwareSetVersion",(Option.mapx.pendingSoftwareSetVersion~f:String_.to_value));("softwareSetUpdateSchedule",(Option.mapx.softwareSetUpdateSchedule~f:SoftwareSetUpdateSchedule.to_value));("softwareSetComplianceStatus",(Option.mapx.softwareSetComplianceStatus~f:DeviceSoftwareSetComplianceStatus.to_value));("softwareSetUpdateStatus",(Option.mapx.softwareSetUpdateStatus~f:SoftwareSetUpdateStatus.to_value));("lastConnectedAt",(Option.mapx.lastConnectedAt~f:Timestamp.to_value));("lastPostureAt",(Option.mapx.lastPostureAt~f:Timestamp.to_value));("createdAt",(Option.mapx.createdAt~f:Timestamp.to_value));("updatedAt",(Option.mapx.updatedAt~f:Timestamp.to_value));("arn",(Option.mapx.arn~f:Arn.to_value));("kmsKeyArn",(Option.mapx.kmsKeyArn~f:KmsKeyArn.to_value));("lastUserId",(Option.mapx.lastUserId~f:UserId.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlastUserId=(Option.map~f:UserId.of_xml)(Xml.childxml_arg0"lastUserId")inletkmsKeyArn=(Option.map~f:KmsKeyArn.of_xml)(Xml.childxml_arg0"kmsKeyArn")inletarn=(Option.map~f:Arn.of_xml)(Xml.childxml_arg0"arn")inletupdatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"updatedAt")inletcreatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"createdAt")inletlastPostureAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"lastPostureAt")inletlastConnectedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"lastConnectedAt")inletsoftwareSetUpdateStatus=(Option.map~f:SoftwareSetUpdateStatus.of_xml)(Xml.childxml_arg0"softwareSetUpdateStatus")inletsoftwareSetComplianceStatus=(Option.map~f:DeviceSoftwareSetComplianceStatus.of_xml)(Xml.childxml_arg0"softwareSetComplianceStatus")inletsoftwareSetUpdateSchedule=(Option.map~f:SoftwareSetUpdateSchedule.of_xml)(Xml.childxml_arg0"softwareSetUpdateSchedule")inletpendingSoftwareSetVersion=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"pendingSoftwareSetVersion")inletpendingSoftwareSetId=(Option.map~f:SoftwareSetId.of_xml)(Xml.childxml_arg0"pendingSoftwareSetId")inletdesiredSoftwareSetId=(Option.map~f:SoftwareSetId.of_xml)(Xml.childxml_arg0"desiredSoftwareSetId")inletcurrentSoftwareSetVersion=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"currentSoftwareSetVersion")inletcurrentSoftwareSetId=(Option.map~f:SoftwareSetId.of_xml)(Xml.childxml_arg0"currentSoftwareSetId")inletstatus=(Option.map~f:DeviceStatus.of_xml)(Xml.childxml_arg0"status")inletenvironmentId=(Option.map~f:EnvironmentId.of_xml)(Xml.childxml_arg0"environmentId")inletmodel=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"model")inletname=(Option.map~f:DeviceName.of_xml)(Xml.childxml_arg0"name")inletserialNumber=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"serialNumber")inletid=(Option.map~f:DeviceId.of_xml)(Xml.childxml_arg0"id")inmake?lastUserId?kmsKeyArn?arn?updatedAt?createdAt?lastPostureAt?lastConnectedAt?softwareSetUpdateStatus?softwareSetComplianceStatus?softwareSetUpdateSchedule?pendingSoftwareSetVersion?pendingSoftwareSetId?desiredSoftwareSetId?currentSoftwareSetVersion?currentSoftwareSetId?status?environmentId?model?name?serialNumber?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlastUserId=field_mapjson__"lastUserId"UserId.of_jsoninletkmsKeyArn=field_mapjson__"kmsKeyArn"KmsKeyArn.of_jsoninletarn=field_mapjson__"arn"Arn.of_jsoninletupdatedAt=field_mapjson__"updatedAt"Timestamp.of_jsoninletcreatedAt=field_mapjson__"createdAt"Timestamp.of_jsoninletlastPostureAt=field_mapjson__"lastPostureAt"Timestamp.of_jsoninletlastConnectedAt=field_mapjson__"lastConnectedAt"Timestamp.of_jsoninletsoftwareSetUpdateStatus=field_mapjson__"softwareSetUpdateStatus"SoftwareSetUpdateStatus.of_jsoninletsoftwareSetComplianceStatus=field_mapjson__"softwareSetComplianceStatus"DeviceSoftwareSetComplianceStatus.of_jsoninletsoftwareSetUpdateSchedule=field_mapjson__"softwareSetUpdateSchedule"SoftwareSetUpdateSchedule.of_jsoninletpendingSoftwareSetVersion=field_mapjson__"pendingSoftwareSetVersion"String_.of_jsoninletpendingSoftwareSetId=field_mapjson__"pendingSoftwareSetId"SoftwareSetId.of_jsoninletdesiredSoftwareSetId=field_mapjson__"desiredSoftwareSetId"SoftwareSetId.of_jsoninletcurrentSoftwareSetVersion=field_mapjson__"currentSoftwareSetVersion"String_.of_jsoninletcurrentSoftwareSetId=field_mapjson__"currentSoftwareSetId"SoftwareSetId.of_jsoninletstatus=field_mapjson__"status"DeviceStatus.of_jsoninletenvironmentId=field_mapjson__"environmentId"EnvironmentId.of_jsoninletmodel=field_mapjson__"model"String_.of_jsoninletname=field_mapjson__"name"DeviceName.of_jsoninletserialNumber=field_mapjson__"serialNumber"String_.of_jsoninletid=field_mapjson__"id"DeviceId.of_jsoninmake?lastUserId?kmsKeyArn?arn?updatedAt?createdAt?lastPostureAt?lastConnectedAt?softwareSetUpdateStatus?softwareSetComplianceStatus?softwareSetUpdateSchedule?pendingSoftwareSetVersion?pendingSoftwareSetId?desiredSoftwareSetId?currentSoftwareSetVersion?currentSoftwareSetId?status?environmentId?model?name?serialNumber?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes a thin client device."]moduleClientToken=structtypenonrect=stringletcontext_="ClientToken"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:512)>>=(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:"ClientToken"jletto_json=simple_to_jsonto_valueendmoduleTargetDeviceStatus=structtypenonrect=|DEREGISTERED|ARCHIVED|Non_static_idofstringletmakei=iletto_string=function|DEREGISTERED->"DEREGISTERED"|ARCHIVED->"ARCHIVED"|Non_static_ids->sletof_string=function|"DEREGISTERED"->DEREGISTERED|"ARCHIVED"->ARCHIVED|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 TargetDeviceStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"TargetDeviceStatus"j)letto_json=simple_to_jsonto_valueendmoduleServiceQuotaExceededException=structtypenonrect={message:ExceptionMessage.toption;resourceId:ResourceId.toption[@ocaml.doc"The ID of the resource that exceeds the service quota."];resourceType:ResourceType.toption[@ocaml.doc"The type of the resource that exceeds the service quota."];serviceCode:ServiceCode.toption[@ocaml.doc"The code for the service in Service Quotas."];quotaCode:QuotaCode.toption[@ocaml.doc"The code for the quota in Service Quotas."]}letmake?message=fun?resourceId->fun?resourceType->fun?serviceCode->fun?quotaCode->fun()->{message;resourceId;resourceType;serviceCode;quotaCode}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:ExceptionMessage.to_value));("resourceId",(Option.mapx.resourceId~f:ResourceId.to_value));("resourceType",(Option.mapx.resourceType~f:ResourceType.to_value));("serviceCode",(Option.mapx.serviceCode~f:ServiceCode.to_value));("quotaCode",(Option.mapx.quotaCode~f:QuotaCode.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letquotaCode=(Option.map~f:QuotaCode.of_xml)(Xml.childxml_arg0"quotaCode")inletserviceCode=(Option.map~f:ServiceCode.of_xml)(Xml.childxml_arg0"serviceCode")inletresourceType=(Option.map~f:ResourceType.of_xml)(Xml.childxml_arg0"resourceType")inletresourceId=(Option.map~f:ResourceId.of_xml)(Xml.childxml_arg0"resourceId")inletmessage=(Option.map~f:ExceptionMessage.of_xml)(Xml.childxml_arg0"message")inmake?quotaCode?serviceCode?resourceType?resourceId?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letquotaCode=field_mapjson__"quotaCode"QuotaCode.of_jsoninletserviceCode=field_mapjson__"serviceCode"ServiceCode.of_jsoninletresourceType=field_mapjson__"resourceType"ResourceType.of_jsoninletresourceId=field_mapjson__"resourceId"ResourceId.of_jsoninletmessage=field_mapjson__"message"ExceptionMessage.of_jsoninmake?quotaCode?serviceCode?resourceType?resourceId?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Your request exceeds a service quota."]moduleUpdateSoftwareSetResponse=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"Updates a software set."]moduleUpdateSoftwareSetRequest=structtypenonrect={id:SoftwareSetId.t[@ocaml.doc"The ID of the software set to update."];validationStatus:SoftwareSetValidationStatus.t[@ocaml.doc"An option to define if the software set has been validated."]}letcontext_="UpdateSoftwareSetRequest"letmake~id=fun~validationStatus->fun()->{id;validationStatus}letto_valuex=structure_to_value[("id",(Some(SoftwareSetId.to_valuex.id)));("validationStatus",(Some(SoftwareSetValidationStatus.to_valuex.validationStatus)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvalidationStatus=SoftwareSetValidationStatus.of_xml(Xml.child_exn~context:context_xml_arg0"validationStatus")inletid=SoftwareSetId.of_xml(Xml.child_exn~context:context_xml_arg0"id")inmake~validationStatus~id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvalidationStatus=field_map_exnjson__"validationStatus"SoftwareSetValidationStatus.of_jsoninletid=field_map_exnjson__"id"SoftwareSetId.of_jsoninmake~validationStatus~id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates a software set."]moduleUpdateEnvironmentResponse=structtypenonrect={environment:EnvironmentSummary.toption[@ocaml.doc"Describes an environment."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?environment=fun()->{environment}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("environment",(Option.mapx.environment~f:EnvironmentSummary.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letenvironment=(Option.map~f:EnvironmentSummary.of_xml)(Xml.childxml_arg0"environment")inmake?environment()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letenvironment=field_mapjson__"environment"EnvironmentSummary.of_jsoninmake?environment()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates an environment."]moduleUpdateEnvironmentRequest=structtypenonrect={id:EnvironmentId.t[@ocaml.doc"The ID of the environment to update."];name:EnvironmentName.toption[@ocaml.doc"The name of the environment to update."];desktopArn:Arn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the desktop to stream from Amazon WorkSpaces, WorkSpaces Secure Browser, or AppStream 2.0."];desktopEndpoint:DesktopEndpoint.toption[@ocaml.doc"The URL for the identity provider login (only for environments that use AppStream 2.0)."];softwareSetUpdateSchedule:SoftwareSetUpdateSchedule.toption[@ocaml.doc"An option to define if software updates should be applied within a maintenance window."];maintenanceWindow:MaintenanceWindow.toption[@ocaml.doc"A specification for a time window to apply software updates."];softwareSetUpdateMode:SoftwareSetUpdateMode.toption[@ocaml.doc"An option to define which software updates to apply."];desiredSoftwareSetId:SoftwareSetIdOrEmptyString.toption[@ocaml.doc"The ID of the software set to apply."];deviceCreationTags:DeviceCreationTagsMap.toption[@ocaml.doc"A map of the key-value pairs of the tag or tags to assign to the newly created devices for this environment."]}letcontext_="UpdateEnvironmentRequest"letmake?name=fun?desktopArn->fun?desktopEndpoint->fun?softwareSetUpdateSchedule->fun?maintenanceWindow->fun?softwareSetUpdateMode->fun?desiredSoftwareSetId->fun?deviceCreationTags->fun~id->fun()->{name;desktopArn;desktopEndpoint;softwareSetUpdateSchedule;maintenanceWindow;softwareSetUpdateMode;desiredSoftwareSetId;deviceCreationTags;id}letto_valuex=structure_to_value[("id",(Some(EnvironmentId.to_valuex.id)));("name",(Option.mapx.name~f:EnvironmentName.to_value));("desktopArn",(Option.mapx.desktopArn~f:Arn.to_value));("desktopEndpoint",(Option.mapx.desktopEndpoint~f:DesktopEndpoint.to_value));("softwareSetUpdateSchedule",(Option.mapx.softwareSetUpdateSchedule~f:SoftwareSetUpdateSchedule.to_value));("maintenanceWindow",(Option.mapx.maintenanceWindow~f:MaintenanceWindow.to_value));("softwareSetUpdateMode",(Option.mapx.softwareSetUpdateMode~f:SoftwareSetUpdateMode.to_value));("desiredSoftwareSetId",(Option.mapx.desiredSoftwareSetId~f:SoftwareSetIdOrEmptyString.to_value));("deviceCreationTags",(Option.mapx.deviceCreationTags~f:DeviceCreationTagsMap.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdeviceCreationTags=(Option.map~f:DeviceCreationTagsMap.of_xml)(Xml.childxml_arg0"deviceCreationTags")inletdesiredSoftwareSetId=(Option.map~f:SoftwareSetIdOrEmptyString.of_xml)(Xml.childxml_arg0"desiredSoftwareSetId")inletsoftwareSetUpdateMode=(Option.map~f:SoftwareSetUpdateMode.of_xml)(Xml.childxml_arg0"softwareSetUpdateMode")inletmaintenanceWindow=(Option.map~f:MaintenanceWindow.of_xml)(Xml.childxml_arg0"maintenanceWindow")inletsoftwareSetUpdateSchedule=(Option.map~f:SoftwareSetUpdateSchedule.of_xml)(Xml.childxml_arg0"softwareSetUpdateSchedule")inletdesktopEndpoint=(Option.map~f:DesktopEndpoint.of_xml)(Xml.childxml_arg0"desktopEndpoint")inletdesktopArn=(Option.map~f:Arn.of_xml)(Xml.childxml_arg0"desktopArn")inletname=(Option.map~f:EnvironmentName.of_xml)(Xml.childxml_arg0"name")inletid=EnvironmentId.of_xml(Xml.child_exn~context:context_xml_arg0"id")inmake?deviceCreationTags?desiredSoftwareSetId?softwareSetUpdateMode?maintenanceWindow?softwareSetUpdateSchedule?desktopEndpoint?desktopArn?name~id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdeviceCreationTags=field_mapjson__"deviceCreationTags"DeviceCreationTagsMap.of_jsoninletdesiredSoftwareSetId=field_mapjson__"desiredSoftwareSetId"SoftwareSetIdOrEmptyString.of_jsoninletsoftwareSetUpdateMode=field_mapjson__"softwareSetUpdateMode"SoftwareSetUpdateMode.of_jsoninletmaintenanceWindow=field_mapjson__"maintenanceWindow"MaintenanceWindow.of_jsoninletsoftwareSetUpdateSchedule=field_mapjson__"softwareSetUpdateSchedule"SoftwareSetUpdateSchedule.of_jsoninletdesktopEndpoint=field_mapjson__"desktopEndpoint"DesktopEndpoint.of_jsoninletdesktopArn=field_mapjson__"desktopArn"Arn.of_jsoninletname=field_mapjson__"name"EnvironmentName.of_jsoninletid=field_map_exnjson__"id"EnvironmentId.of_jsoninmake?deviceCreationTags?desiredSoftwareSetId?softwareSetUpdateMode?maintenanceWindow?softwareSetUpdateSchedule?desktopEndpoint?desktopArn?name~id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates an environment."]moduleUpdateDeviceResponse=structtypenonrect={device:DeviceSummary.toption[@ocaml.doc"Describes a device."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?device=fun()->{device}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[("device",(Option.mapx.device~f:DeviceSummary.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdevice=(Option.map~f:DeviceSummary.of_xml)(Xml.childxml_arg0"device")inmake?device()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdevice=field_mapjson__"device"DeviceSummary.of_jsoninmake?device()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates a thin client device."]moduleUpdateDeviceRequest=structtypenonrect={id:DeviceId.t[@ocaml.doc"The ID of the device to update."];name:DeviceName.toption[@ocaml.doc"The name of the device to update."];desiredSoftwareSetId:SoftwareSetId.toption[@ocaml.doc"The ID of the software set to apply."];softwareSetUpdateSchedule:SoftwareSetUpdateSchedule.toption[@ocaml.doc"An option to define if software updates should be applied within a maintenance window."]}letcontext_="UpdateDeviceRequest"letmake?name=fun?desiredSoftwareSetId->fun?softwareSetUpdateSchedule->fun~id->fun()->{name;desiredSoftwareSetId;softwareSetUpdateSchedule;id}letto_valuex=structure_to_value[("id",(Some(DeviceId.to_valuex.id)));("name",(Option.mapx.name~f:DeviceName.to_value));("desiredSoftwareSetId",(Option.mapx.desiredSoftwareSetId~f:SoftwareSetId.to_value));("softwareSetUpdateSchedule",(Option.mapx.softwareSetUpdateSchedule~f:SoftwareSetUpdateSchedule.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letsoftwareSetUpdateSchedule=(Option.map~f:SoftwareSetUpdateSchedule.of_xml)(Xml.childxml_arg0"softwareSetUpdateSchedule")inletdesiredSoftwareSetId=(Option.map~f:SoftwareSetId.of_xml)(Xml.childxml_arg0"desiredSoftwareSetId")inletname=(Option.map~f:DeviceName.of_xml)(Xml.childxml_arg0"name")inletid=DeviceId.of_xml(Xml.child_exn~context:context_xml_arg0"id")inmake?softwareSetUpdateSchedule?desiredSoftwareSetId?name~id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letsoftwareSetUpdateSchedule=field_mapjson__"softwareSetUpdateSchedule"SoftwareSetUpdateSchedule.of_jsoninletdesiredSoftwareSetId=field_mapjson__"desiredSoftwareSetId"SoftwareSetId.of_jsoninletname=field_mapjson__"name"DeviceName.of_jsoninletid=field_map_exnjson__"id"DeviceId.of_jsoninmake?softwareSetUpdateSchedule?desiredSoftwareSetId?name~id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates a thin client device."]moduleUntagResourceResponse=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Removes a tag or tags from a resource."]moduleUntagResourceRequest=structtypenonrect={resourceArn:String_.t[@ocaml.doc"The Amazon Resource Name (ARN) of the resource that you want to untag."];tagKeys:TagKeys.t[@ocaml.doc"The keys of the key-value pairs for the tag or tags you want to remove from the specified resource."]}letcontext_="UntagResourceRequest"letmake~resourceArn=fun~tagKeys->fun()->{resourceArn;tagKeys}letto_valuex=structure_to_value[("resourceArn",(Some(String_.to_valuex.resourceArn)));("tagKeys",(Some(TagKeys.to_valuex.tagKeys)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettagKeys=TagKeys.of_xml(Xml.child_exn~context:context_xml_arg0"tagKeys")inletresourceArn=String_.of_xml(Xml.child_exn~context:context_xml_arg0"resourceArn")inmake~tagKeys~resourceArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettagKeys=field_map_exnjson__"tagKeys"TagKeys.of_jsoninletresourceArn=field_map_exnjson__"resourceArn"String_.of_jsoninmake~tagKeys~resourceArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Removes a tag or tags from a resource."]moduleTagResourceResponse=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Assigns one or more tags (key-value pairs) to the specified resource."]moduleTagResourceRequest=structtypenonrect={resourceArn:String_.t[@ocaml.doc"The Amazon Resource Name (ARN) of the resource that you want to tag."];tags:TagsMap.t[@ocaml.doc"A map of the key-value pairs of the tag or tags to assign to the resource."]}letcontext_="TagResourceRequest"letmake~resourceArn=fun~tags->fun()->{resourceArn;tags}letto_valuex=structure_to_value[("resourceArn",(Some(String_.to_valuex.resourceArn)));("tags",(Some(TagsMap.to_valuex.tags)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettags=TagsMap.of_xml(Xml.child_exn~context:context_xml_arg0"tags")inletresourceArn=String_.of_xml(Xml.child_exn~context:context_xml_arg0"resourceArn")inmake~tags~resourceArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_map_exnjson__"tags"TagsMap.of_jsoninletresourceArn=field_map_exnjson__"resourceArn"String_.of_jsoninmake~tags~resourceArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Assigns one or more tags (key-value pairs) to the specified resource."]moduleListTagsForResourceResponse=structtypenonrect={tags:TagsMap.toption[@ocaml.doc"A map of the key-value pairs for the tag or tags assigned to the specified resource."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?tags=fun()->{tags}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("tags",(Option.mapx.tags~f:TagsMap.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettags=(Option.map~f:TagsMap.of_xml)(Xml.childxml_arg0"tags")inmake?tags()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"tags"TagsMap.of_jsoninmake?tags()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns a list of tags for a resource."]moduleListTagsForResourceRequest=structtypenonrect={resourceArn:String_.t[@ocaml.doc"The Amazon Resource Name (ARN) of the resource for which you want to retrieve tags."]}letcontext_="ListTagsForResourceRequest"letmake~resourceArn=fun()->{resourceArn}letto_valuex=structure_to_value[("resourceArn",(Some(String_.to_valuex.resourceArn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresourceArn=String_.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"String_.of_jsoninmake~resourceArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns a list of tags for a resource."]moduleListSoftwareSetsResponse=structtypenonrect={softwareSets:SoftwareSetList.toption[@ocaml.doc"Describes software sets."];nextToken:PaginationToken.toption[@ocaml.doc"If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?softwareSets=fun?nextToken->fun()->{softwareSets;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[("softwareSets",(Option.mapx.softwareSets~f:SoftwareSetList.to_value));("nextToken",(Option.mapx.nextToken~f:PaginationToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:PaginationToken.of_xml)(Xml.childxml_arg0"nextToken")inletsoftwareSets=(Option.map~f:SoftwareSetList.of_xml)(Xml.childxml_arg0"softwareSets")inmake?nextToken?softwareSets()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"PaginationToken.of_jsoninletsoftwareSets=field_mapjson__"softwareSets"SoftwareSetList.of_jsoninmake?nextToken?softwareSets()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns a list of software sets."]moduleListSoftwareSetsRequest=structtypenonrect={nextToken:PaginationToken.toption[@ocaml.doc"If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error."];maxResults:MaxResults.toption[@ocaml.doc"The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results. This is only an upper limit. The actual number of results returned per call might be fewer than the specified maximum."]}letmake?nextToken=fun?maxResults->fun()->{nextToken;maxResults}letto_valuex=structure_to_value[("nextToken",(Option.mapx.nextToken~f:PaginationToken.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:PaginationToken.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"PaginationToken.of_jsoninmake?maxResults?nextToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns a list of software sets."]moduleListEnvironmentsResponse=structtypenonrect={environments:EnvironmentList.toption[@ocaml.doc"Describes environments."];nextToken:PaginationToken.toption[@ocaml.doc"If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?environments=fun?nextToken->fun()->{environments;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[("environments",(Option.mapx.environments~f:EnvironmentList.to_value));("nextToken",(Option.mapx.nextToken~f:PaginationToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:PaginationToken.of_xml)(Xml.childxml_arg0"nextToken")inletenvironments=(Option.map~f:EnvironmentList.of_xml)(Xml.childxml_arg0"environments")inmake?nextToken?environments()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"PaginationToken.of_jsoninletenvironments=field_mapjson__"environments"EnvironmentList.of_jsoninmake?nextToken?environments()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns a list of environments."]moduleListEnvironmentsRequest=structtypenonrect={nextToken:PaginationToken.toption[@ocaml.doc"If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error."];maxResults:MaxResults.toption[@ocaml.doc"The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results. This is only an upper limit. The actual number of results returned per call might be fewer than the specified maximum."]}letmake?nextToken=fun?maxResults->fun()->{nextToken;maxResults}letto_valuex=structure_to_value[("nextToken",(Option.mapx.nextToken~f:PaginationToken.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:PaginationToken.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"PaginationToken.of_jsoninmake?maxResults?nextToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns a list of environments."]moduleListDevicesResponse=structtypenonrect={devices:DeviceList.toption[@ocaml.doc"Describes devices."];nextToken:PaginationToken.toption[@ocaml.doc"If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?devices=fun?nextToken->fun()->{devices;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[("devices",(Option.mapx.devices~f:DeviceList.to_value));("nextToken",(Option.mapx.nextToken~f:PaginationToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:PaginationToken.of_xml)(Xml.childxml_arg0"nextToken")inletdevices=(Option.map~f:DeviceList.of_xml)(Xml.childxml_arg0"devices")inmake?nextToken?devices()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"PaginationToken.of_jsoninletdevices=field_mapjson__"devices"DeviceList.of_jsoninmake?nextToken?devices()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns a list of thin client devices."]moduleListDevicesRequest=structtypenonrect={nextToken:PaginationToken.toption[@ocaml.doc"If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error."];maxResults:MaxResults.toption[@ocaml.doc"The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results. This is only an upper limit. The actual number of results returned per call might be fewer than the specified maximum."]}letmake?nextToken=fun?maxResults->fun()->{nextToken;maxResults}letto_valuex=structure_to_value[("nextToken",(Option.mapx.nextToken~f:PaginationToken.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:PaginationToken.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"PaginationToken.of_jsoninmake?maxResults?nextToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns a list of thin client devices."]moduleGetSoftwareSetResponse=structtypenonrect={softwareSet:SoftwareSet.toption[@ocaml.doc"Describes a software set."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?softwareSet=fun()->{softwareSet}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[("softwareSet",(Option.mapx.softwareSet~f:SoftwareSet.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letsoftwareSet=(Option.map~f:SoftwareSet.of_xml)(Xml.childxml_arg0"softwareSet")inmake?softwareSet()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letsoftwareSet=field_mapjson__"softwareSet"SoftwareSet.of_jsoninmake?softwareSet()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns information for a software set."]moduleGetSoftwareSetRequest=structtypenonrect={id:SoftwareSetId.t[@ocaml.doc"The ID of the software set for which to return information."]}letcontext_="GetSoftwareSetRequest"letmake~id=fun()->{id}letto_valuex=structure_to_value[("id",(Some(SoftwareSetId.to_valuex.id)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letid=SoftwareSetId.of_xml(Xml.child_exn~context:context_xml_arg0"id")inmake~id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letid=field_map_exnjson__"id"SoftwareSetId.of_jsoninmake~id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns information for a software set."]moduleGetEnvironmentResponse=structtypenonrect={environment:Environment.toption[@ocaml.doc"Describes an environment."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?environment=fun()->{environment}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[("environment",(Option.mapx.environment~f:Environment.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letenvironment=(Option.map~f:Environment.of_xml)(Xml.childxml_arg0"environment")inmake?environment()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letenvironment=field_mapjson__"environment"Environment.of_jsoninmake?environment()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns information for an environment."]moduleGetEnvironmentRequest=structtypenonrect={id:EnvironmentId.t[@ocaml.doc"The ID of the environment for which to return information."]}letcontext_="GetEnvironmentRequest"letmake~id=fun()->{id}letto_valuex=structure_to_value[("id",(Some(EnvironmentId.to_valuex.id)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letid=EnvironmentId.of_xml(Xml.child_exn~context:context_xml_arg0"id")inmake~id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letid=field_map_exnjson__"id"EnvironmentId.of_jsoninmake~id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns information for an environment."]moduleGetDeviceResponse=structtypenonrect={device:Device.toption[@ocaml.doc"Describes an device."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?device=fun()->{device}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[("device",(Option.mapx.device~f:Device.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdevice=(Option.map~f:Device.of_xml)(Xml.childxml_arg0"device")inmake?device()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdevice=field_mapjson__"device"Device.of_jsoninmake?device()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns information for a thin client device."]moduleGetDeviceRequest=structtypenonrect={id:DeviceId.t[@ocaml.doc"The ID of the device for which to return information."]}letcontext_="GetDeviceRequest"letmake~id=fun()->{id}letto_valuex=structure_to_value[("id",(Some(DeviceId.to_valuex.id)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letid=DeviceId.of_xml(Xml.child_exn~context:context_xml_arg0"id")inmake~id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letid=field_map_exnjson__"id"DeviceId.of_jsoninmake~id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns information for a thin client device."]moduleDeregisterDeviceResponse=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deregisters a thin client device."]moduleDeregisterDeviceRequest=structtypenonrect={id:DeviceId.t[@ocaml.doc"The ID of the device to deregister."];targetDeviceStatus:TargetDeviceStatus.toption[@ocaml.doc"The desired new status for the device."];clientToken:ClientToken.toption[@ocaml.doc"Specifies a unique, case-sensitive identifier that you provide to ensure the idempotency of the request. This lets you safely retry the request without accidentally performing the same operation a second time. Passing the same value to a later call to an operation requires that you also pass the same value for all other parameters. We recommend that you use a UUID type of value. If you don't provide this value, then Amazon Web Services generates a random one for you. If you retry the operation with the same ClientToken, but with different parameters, the retry fails with an IdempotentParameterMismatch error."]}letcontext_="DeregisterDeviceRequest"letmake?targetDeviceStatus=fun?clientToken->fun~id->fun()->{targetDeviceStatus;clientToken;id}letto_valuex=structure_to_value[("id",(Some(DeviceId.to_valuex.id)));("targetDeviceStatus",(Option.mapx.targetDeviceStatus~f:TargetDeviceStatus.to_value));("clientToken",(Option.mapx.clientToken~f:ClientToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"clientToken")inlettargetDeviceStatus=(Option.map~f:TargetDeviceStatus.of_xml)(Xml.childxml_arg0"targetDeviceStatus")inletid=DeviceId.of_xml(Xml.child_exn~context:context_xml_arg0"id")inmake?clientToken?targetDeviceStatus~id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letclientToken=field_mapjson__"clientToken"ClientToken.of_jsoninlettargetDeviceStatus=field_mapjson__"targetDeviceStatus"TargetDeviceStatus.of_jsoninletid=field_map_exnjson__"id"DeviceId.of_jsoninmake?clientToken?targetDeviceStatus~id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deregisters a thin client device."]moduleDeleteEnvironmentResponse=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes an environment."]moduleDeleteEnvironmentRequest=structtypenonrect={id:EnvironmentId.t[@ocaml.doc"The ID of the environment to delete."];clientToken:ClientToken.toption[@ocaml.doc"Specifies a unique, case-sensitive identifier that you provide to ensure the idempotency of the request. This lets you safely retry the request without accidentally performing the same operation a second time. Passing the same value to a later call to an operation requires that you also pass the same value for all other parameters. We recommend that you use a UUID type of value. If you don't provide this value, then Amazon Web Services generates a random one for you. If you retry the operation with the same ClientToken, but with different parameters, the retry fails with an IdempotentParameterMismatch error."]}letcontext_="DeleteEnvironmentRequest"letmake?clientToken=fun~id->fun()->{clientToken;id}letto_valuex=structure_to_value[("id",(Some(EnvironmentId.to_valuex.id)));("clientToken",(Option.mapx.clientToken~f:ClientToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"clientToken")inletid=EnvironmentId.of_xml(Xml.child_exn~context:context_xml_arg0"id")inmake?clientToken~id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letclientToken=field_mapjson__"clientToken"ClientToken.of_jsoninletid=field_map_exnjson__"id"EnvironmentId.of_jsoninmake?clientToken~id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes an environment."]moduleDeleteDeviceResponse=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes a thin client device."]moduleDeleteDeviceRequest=structtypenonrect={id:DeviceId.t[@ocaml.doc"The ID of the device to delete."];clientToken:ClientToken.toption[@ocaml.doc"Specifies a unique, case-sensitive identifier that you provide to ensure the idempotency of the request. This lets you safely retry the request without accidentally performing the same operation a second time. Passing the same value to a later call to an operation requires that you also pass the same value for all other parameters. We recommend that you use a UUID type of value. If you don't provide this value, then Amazon Web Services generates a random one for you. If you retry the operation with the same ClientToken, but with different parameters, the retry fails with an IdempotentParameterMismatch error."]}letcontext_="DeleteDeviceRequest"letmake?clientToken=fun~id->fun()->{clientToken;id}letto_valuex=structure_to_value[("id",(Some(DeviceId.to_valuex.id)));("clientToken",(Option.mapx.clientToken~f:ClientToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"clientToken")inletid=DeviceId.of_xml(Xml.child_exn~context:context_xml_arg0"id")inmake?clientToken~id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letclientToken=field_mapjson__"clientToken"ClientToken.of_jsoninletid=field_map_exnjson__"id"DeviceId.of_jsoninmake?clientToken~id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes a thin client device."]moduleCreateEnvironmentResponse=structtypenonrect={environment:EnvironmentSummary.toption[@ocaml.doc"Describes an environment."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?environment=fun()->{environment}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[("environment",(Option.mapx.environment~f:EnvironmentSummary.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letenvironment=(Option.map~f:EnvironmentSummary.of_xml)(Xml.childxml_arg0"environment")inmake?environment()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letenvironment=field_mapjson__"environment"EnvironmentSummary.of_jsoninmake?environment()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates an environment for your thin client devices."]moduleCreateEnvironmentRequest=structtypenonrect={name:EnvironmentName.toption[@ocaml.doc"The name for the environment."];desktopArn:Arn.t[@ocaml.doc"The Amazon Resource Name (ARN) of the desktop to stream from Amazon WorkSpaces, WorkSpaces Secure Browser, or AppStream 2.0."];desktopEndpoint:DesktopEndpoint.toption[@ocaml.doc"The URL for the identity provider login (only for environments that use AppStream 2.0)."];softwareSetUpdateSchedule:SoftwareSetUpdateSchedule.toption[@ocaml.doc"An option to define if software updates should be applied within a maintenance window."];maintenanceWindow:MaintenanceWindow.toption[@ocaml.doc"A specification for a time window to apply software updates."];softwareSetUpdateMode:SoftwareSetUpdateMode.toption[@ocaml.doc"An option to define which software updates to apply."];desiredSoftwareSetId:SoftwareSetId.toption[@ocaml.doc"The ID of the software set to apply."];kmsKeyArn:KmsKeyArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the Key Management Service key to use to encrypt the environment."];clientToken:ClientToken.toption[@ocaml.doc"Specifies a unique, case-sensitive identifier that you provide to ensure the idempotency of the request. This lets you safely retry the request without accidentally performing the same operation a second time. Passing the same value to a later call to an operation requires that you also pass the same value for all other parameters. We recommend that you use a UUID type of value. If you don't provide this value, then Amazon Web Services generates a random one for you. If you retry the operation with the same ClientToken, but with different parameters, the retry fails with an IdempotentParameterMismatch error."];tags:TagsMap.toption[@ocaml.doc"A map of the key-value pairs of the tag or tags to assign to the resource."];deviceCreationTags:DeviceCreationTagsMap.toption[@ocaml.doc"A map of the key-value pairs of the tag or tags to assign to the newly created devices for this environment."]}letcontext_="CreateEnvironmentRequest"letmake?name=fun?desktopEndpoint->fun?softwareSetUpdateSchedule->fun?maintenanceWindow->fun?softwareSetUpdateMode->fun?desiredSoftwareSetId->fun?kmsKeyArn->fun?clientToken->fun?tags->fun?deviceCreationTags->fun~desktopArn->fun()->{name;desktopEndpoint;softwareSetUpdateSchedule;maintenanceWindow;softwareSetUpdateMode;desiredSoftwareSetId;kmsKeyArn;clientToken;tags;deviceCreationTags;desktopArn}letto_valuex=structure_to_value[("name",(Option.mapx.name~f:EnvironmentName.to_value));("desktopArn",(Some(Arn.to_valuex.desktopArn)));("desktopEndpoint",(Option.mapx.desktopEndpoint~f:DesktopEndpoint.to_value));("softwareSetUpdateSchedule",(Option.mapx.softwareSetUpdateSchedule~f:SoftwareSetUpdateSchedule.to_value));("maintenanceWindow",(Option.mapx.maintenanceWindow~f:MaintenanceWindow.to_value));("softwareSetUpdateMode",(Option.mapx.softwareSetUpdateMode~f:SoftwareSetUpdateMode.to_value));("desiredSoftwareSetId",(Option.mapx.desiredSoftwareSetId~f:SoftwareSetId.to_value));("kmsKeyArn",(Option.mapx.kmsKeyArn~f:KmsKeyArn.to_value));("clientToken",(Option.mapx.clientToken~f:ClientToken.to_value));("tags",(Option.mapx.tags~f:TagsMap.to_value));("deviceCreationTags",(Option.mapx.deviceCreationTags~f:DeviceCreationTagsMap.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdeviceCreationTags=(Option.map~f:DeviceCreationTagsMap.of_xml)(Xml.childxml_arg0"deviceCreationTags")inlettags=(Option.map~f:TagsMap.of_xml)(Xml.childxml_arg0"tags")inletclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"clientToken")inletkmsKeyArn=(Option.map~f:KmsKeyArn.of_xml)(Xml.childxml_arg0"kmsKeyArn")inletdesiredSoftwareSetId=(Option.map~f:SoftwareSetId.of_xml)(Xml.childxml_arg0"desiredSoftwareSetId")inletsoftwareSetUpdateMode=(Option.map~f:SoftwareSetUpdateMode.of_xml)(Xml.childxml_arg0"softwareSetUpdateMode")inletmaintenanceWindow=(Option.map~f:MaintenanceWindow.of_xml)(Xml.childxml_arg0"maintenanceWindow")inletsoftwareSetUpdateSchedule=(Option.map~f:SoftwareSetUpdateSchedule.of_xml)(Xml.childxml_arg0"softwareSetUpdateSchedule")inletdesktopEndpoint=(Option.map~f:DesktopEndpoint.of_xml)(Xml.childxml_arg0"desktopEndpoint")inletdesktopArn=Arn.of_xml(Xml.child_exn~context:context_xml_arg0"desktopArn")inletname=(Option.map~f:EnvironmentName.of_xml)(Xml.childxml_arg0"name")inmake?deviceCreationTags?tags?clientToken?kmsKeyArn?desiredSoftwareSetId?softwareSetUpdateMode?maintenanceWindow?softwareSetUpdateSchedule?desktopEndpoint~desktopArn?name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdeviceCreationTags=field_mapjson__"deviceCreationTags"DeviceCreationTagsMap.of_jsoninlettags=field_mapjson__"tags"TagsMap.of_jsoninletclientToken=field_mapjson__"clientToken"ClientToken.of_jsoninletkmsKeyArn=field_mapjson__"kmsKeyArn"KmsKeyArn.of_jsoninletdesiredSoftwareSetId=field_mapjson__"desiredSoftwareSetId"SoftwareSetId.of_jsoninletsoftwareSetUpdateMode=field_mapjson__"softwareSetUpdateMode"SoftwareSetUpdateMode.of_jsoninletmaintenanceWindow=field_mapjson__"maintenanceWindow"MaintenanceWindow.of_jsoninletsoftwareSetUpdateSchedule=field_mapjson__"softwareSetUpdateSchedule"SoftwareSetUpdateSchedule.of_jsoninletdesktopEndpoint=field_mapjson__"desktopEndpoint"DesktopEndpoint.of_jsoninletdesktopArn=field_map_exnjson__"desktopArn"Arn.of_jsoninletname=field_mapjson__"name"EnvironmentName.of_jsoninmake?deviceCreationTags?tags?clientToken?kmsKeyArn?desiredSoftwareSetId?softwareSetUpdateMode?maintenanceWindow?softwareSetUpdateSchedule?desktopEndpoint~desktopArn?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates an environment for your thin client devices."]