1 Star 0 Fork 1

Derek Ray/podman

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
container_ffjson.go 112.27 KB
一键复制 编辑 原始数据 按行查看 历史
Matthew Heon 提交于 2018-08-09 10:36 . Add FFJSON generation to makefile
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396
// Code generated by ffjson <https://github.com/pquerna/ffjson>. DO NOT EDIT.
// source: /home/mcs/code/gopath//src/github.com/projectatomic/libpod/libpod/container.go
package libpod
import (
"bytes"
"encoding/base64"
"encoding/json"
"errors"
"fmt"
"github.com/containernetworking/cni/pkg/types/current"
"github.com/cri-o/ocicni/pkg/ocicni"
"github.com/opencontainers/runtime-spec/specs-go"
fflib "github.com/pquerna/ffjson/fflib/v1"
"net"
"reflect"
)
// MarshalJSON marshal bytes to json - template
func (j *ContainerConfig) MarshalJSON() ([]byte, error) {
var buf fflib.Buffer
if j == nil {
buf.WriteString("null")
return buf.Bytes(), nil
}
err := j.MarshalJSONBuf(&buf)
if err != nil {
return nil, err
}
return buf.Bytes(), nil
}
// MarshalJSONBuf marshal buff to json - template
func (j *ContainerConfig) MarshalJSONBuf(buf fflib.EncodingBuffer) error {
if j == nil {
buf.WriteString("null")
return nil
}
var err error
var obj []byte
_ = obj
_ = err
if j.Spec != nil {
/* Struct fall back. type=specs.Spec kind=struct */
buf.WriteString(`{"spec":`)
err = buf.Encode(j.Spec)
if err != nil {
return err
}
} else {
buf.WriteString(`{"spec":null`)
}
buf.WriteString(`,"id":`)
fflib.WriteJsonString(buf, string(j.ID))
buf.WriteString(`,"name":`)
fflib.WriteJsonString(buf, string(j.Name))
buf.WriteByte(',')
if len(j.Pod) != 0 {
buf.WriteString(`"pod":`)
fflib.WriteJsonString(buf, string(j.Pod))
buf.WriteByte(',')
}
if len(j.Namespace) != 0 {
buf.WriteString(`"namespace":`)
fflib.WriteJsonString(buf, string(j.Namespace))
buf.WriteByte(',')
}
if true {
/* Struct fall back. type=storage.IDMappingOptions kind=struct */
buf.WriteString(`"idMappingsOptions":`)
err = buf.Encode(&j.IDMappings)
if err != nil {
return err
}
buf.WriteByte(',')
}
if len(j.RootfsImageID) != 0 {
buf.WriteString(`"rootfsImageID":`)
fflib.WriteJsonString(buf, string(j.RootfsImageID))
buf.WriteByte(',')
}
if len(j.RootfsImageName) != 0 {
buf.WriteString(`"rootfsImageName":`)
fflib.WriteJsonString(buf, string(j.RootfsImageName))
buf.WriteByte(',')
}
if len(j.Rootfs) != 0 {
buf.WriteString(`"rootfs":`)
fflib.WriteJsonString(buf, string(j.Rootfs))
buf.WriteByte(',')
}
if j.ImageVolumes {
buf.WriteString(`"imageVolumes":true`)
} else {
buf.WriteString(`"imageVolumes":false`)
}
buf.WriteByte(',')
if len(j.ShmDir) != 0 {
buf.WriteString(`"ShmDir":`)
fflib.WriteJsonString(buf, string(j.ShmDir))
buf.WriteByte(',')
}
buf.WriteString(`"shmSize":`)
fflib.FormatBits2(buf, uint64(j.ShmSize), 10, j.ShmSize < 0)
buf.WriteString(`,"staticDir":`)
fflib.WriteJsonString(buf, string(j.StaticDir))
buf.WriteByte(',')
if len(j.Mounts) != 0 {
buf.WriteString(`"mounts":`)
if j.Mounts != nil {
buf.WriteString(`[`)
for i, v := range j.Mounts {
if i != 0 {
buf.WriteString(`,`)
}
fflib.WriteJsonString(buf, string(v))
}
buf.WriteString(`]`)
} else {
buf.WriteString(`null`)
}
buf.WriteByte(',')
}
if j.Privileged {
buf.WriteString(`"privileged":true`)
} else {
buf.WriteString(`"privileged":false`)
}
buf.WriteByte(',')
if len(j.ProcessLabel) != 0 {
buf.WriteString(`"ProcessLabel":`)
fflib.WriteJsonString(buf, string(j.ProcessLabel))
buf.WriteByte(',')
}
if len(j.MountLabel) != 0 {
buf.WriteString(`"MountLabel":`)
fflib.WriteJsonString(buf, string(j.MountLabel))
buf.WriteByte(',')
}
if len(j.User) != 0 {
buf.WriteString(`"user":`)
fflib.WriteJsonString(buf, string(j.User))
buf.WriteByte(',')
}
if len(j.Groups) != 0 {
buf.WriteString(`"groups":`)
if j.Groups != nil {
buf.WriteString(`[`)
for i, v := range j.Groups {
if i != 0 {
buf.WriteString(`,`)
}
fflib.WriteJsonString(buf, string(v))
}
buf.WriteString(`]`)
} else {
buf.WriteString(`null`)
}
buf.WriteByte(',')
}
if len(j.IPCNsCtr) != 0 {
buf.WriteString(`"ipcNsCtr":`)
fflib.WriteJsonString(buf, string(j.IPCNsCtr))
buf.WriteByte(',')
}
if len(j.MountNsCtr) != 0 {
buf.WriteString(`"mountNsCtr":`)
fflib.WriteJsonString(buf, string(j.MountNsCtr))
buf.WriteByte(',')
}
if len(j.NetNsCtr) != 0 {
buf.WriteString(`"netNsCtr":`)
fflib.WriteJsonString(buf, string(j.NetNsCtr))
buf.WriteByte(',')
}
if len(j.PIDNsCtr) != 0 {
buf.WriteString(`"pidNsCtr":`)
fflib.WriteJsonString(buf, string(j.PIDNsCtr))
buf.WriteByte(',')
}
if len(j.UserNsCtr) != 0 {
buf.WriteString(`"userNsCtr":`)
fflib.WriteJsonString(buf, string(j.UserNsCtr))
buf.WriteByte(',')
}
if len(j.UTSNsCtr) != 0 {
buf.WriteString(`"utsNsCtr":`)
fflib.WriteJsonString(buf, string(j.UTSNsCtr))
buf.WriteByte(',')
}
if len(j.CgroupNsCtr) != 0 {
buf.WriteString(`"cgroupNsCtr":`)
fflib.WriteJsonString(buf, string(j.CgroupNsCtr))
buf.WriteByte(',')
}
buf.WriteString(`"Dependencies":`)
if j.Dependencies != nil {
buf.WriteString(`[`)
for i, v := range j.Dependencies {
if i != 0 {
buf.WriteString(`,`)
}
fflib.WriteJsonString(buf, string(v))
}
buf.WriteString(`]`)
} else {
buf.WriteString(`null`)
}
if j.CreateNetNS {
buf.WriteString(`,"createNetNS":true`)
} else {
buf.WriteString(`,"createNetNS":false`)
}
buf.WriteByte(',')
if len(j.PortMappings) != 0 {
buf.WriteString(`"portMappings":`)
if j.PortMappings != nil {
buf.WriteString(`[`)
for i, v := range j.PortMappings {
if i != 0 {
buf.WriteString(`,`)
}
/* Struct fall back. type=ocicni.PortMapping kind=struct */
err = buf.Encode(&v)
if err != nil {
return err
}
}
buf.WriteString(`]`)
} else {
buf.WriteString(`null`)
}
buf.WriteByte(',')
}
if len(j.DNSServer) != 0 {
buf.WriteString(`"dnsServer":`)
if j.DNSServer != nil {
buf.WriteString(`[`)
for i, v := range j.DNSServer {
if i != 0 {
buf.WriteString(`,`)
}
if v != nil {
buf.WriteString(`"`)
{
enc := base64.NewEncoder(base64.StdEncoding, buf)
enc.Write(reflect.Indirect(reflect.ValueOf(v)).Bytes())
enc.Close()
}
buf.WriteString(`"`)
} else {
buf.WriteString(`null`)
}
}
buf.WriteString(`]`)
} else {
buf.WriteString(`null`)
}
buf.WriteByte(',')
}
if len(j.DNSSearch) != 0 {
buf.WriteString(`"dnsSearch":`)
if j.DNSSearch != nil {
buf.WriteString(`[`)
for i, v := range j.DNSSearch {
if i != 0 {
buf.WriteString(`,`)
}
fflib.WriteJsonString(buf, string(v))
}
buf.WriteString(`]`)
} else {
buf.WriteString(`null`)
}
buf.WriteByte(',')
}
if len(j.DNSOption) != 0 {
buf.WriteString(`"dnsOption":`)
if j.DNSOption != nil {
buf.WriteString(`[`)
for i, v := range j.DNSOption {
if i != 0 {
buf.WriteString(`,`)
}
fflib.WriteJsonString(buf, string(v))
}
buf.WriteString(`]`)
} else {
buf.WriteString(`null`)
}
buf.WriteByte(',')
}
if len(j.HostAdd) != 0 {
buf.WriteString(`"hostsAdd":`)
if j.HostAdd != nil {
buf.WriteString(`[`)
for i, v := range j.HostAdd {
if i != 0 {
buf.WriteString(`,`)
}
fflib.WriteJsonString(buf, string(v))
}
buf.WriteString(`]`)
} else {
buf.WriteString(`null`)
}
buf.WriteByte(',')
}
if len(j.Networks) != 0 {
buf.WriteString(`"networks":`)
if j.Networks != nil {
buf.WriteString(`[`)
for i, v := range j.Networks {
if i != 0 {
buf.WriteString(`,`)
}
fflib.WriteJsonString(buf, string(v))
}
buf.WriteString(`]`)
} else {
buf.WriteString(`null`)
}
buf.WriteByte(',')
}
if len(j.UserVolumes) != 0 {
buf.WriteString(`"userVolumes":`)
if j.UserVolumes != nil {
buf.WriteString(`[`)
for i, v := range j.UserVolumes {
if i != 0 {
buf.WriteString(`,`)
}
fflib.WriteJsonString(buf, string(v))
}
buf.WriteString(`]`)
} else {
buf.WriteString(`null`)
}
buf.WriteByte(',')
}
if len(j.Entrypoint) != 0 {
buf.WriteString(`"entrypoint":`)
if j.Entrypoint != nil {
buf.WriteString(`[`)
for i, v := range j.Entrypoint {
if i != 0 {
buf.WriteString(`,`)
}
fflib.WriteJsonString(buf, string(v))
}
buf.WriteString(`]`)
} else {
buf.WriteString(`null`)
}
buf.WriteByte(',')
}
if len(j.Command) != 0 {
buf.WriteString(`"command":`)
if j.Command != nil {
buf.WriteString(`[`)
for i, v := range j.Command {
if i != 0 {
buf.WriteString(`,`)
}
fflib.WriteJsonString(buf, string(v))
}
buf.WriteString(`]`)
} else {
buf.WriteString(`null`)
}
buf.WriteByte(',')
}
if j.Stdin != false {
if j.Stdin {
buf.WriteString(`"stdin":true`)
} else {
buf.WriteString(`"stdin":false`)
}
buf.WriteByte(',')
}
if len(j.Labels) != 0 {
if j.Labels == nil {
buf.WriteString(`"labels":null`)
} else {
buf.WriteString(`"labels":{ `)
for key, value := range j.Labels {
fflib.WriteJsonString(buf, key)
buf.WriteString(`:`)
fflib.WriteJsonString(buf, string(value))
buf.WriteByte(',')
}
buf.Rewind(1)
buf.WriteByte('}')
}
buf.WriteByte(',')
}
if j.StopSignal != 0 {
buf.WriteString(`"stopSignal":`)
fflib.FormatBits2(buf, uint64(j.StopSignal), 10, false)
buf.WriteByte(',')
}
if j.StopTimeout != 0 {
buf.WriteString(`"stopTimeout":`)
fflib.FormatBits2(buf, uint64(j.StopTimeout), 10, false)
buf.WriteByte(',')
}
buf.WriteString(`"createdTime":`)
{
obj, err = j.CreatedTime.MarshalJSON()
if err != nil {
return err
}
buf.Write(obj)
}
buf.WriteString(`,"cgroupParent":`)
fflib.WriteJsonString(buf, string(j.CgroupParent))
buf.WriteString(`,"logPath":`)
fflib.WriteJsonString(buf, string(j.LogPath))
buf.WriteByte(',')
if len(j.ConmonPidFile) != 0 {
buf.WriteString(`"conmonPidFile":`)
fflib.WriteJsonString(buf, string(j.ConmonPidFile))
buf.WriteByte(',')
}
if j.PostConfigureNetNS {
buf.WriteString(`"postConfigureNetNS":true`)
} else {
buf.WriteString(`"postConfigureNetNS":false`)
}
buf.WriteByte(',')
if len(j.ExitCommand) != 0 {
buf.WriteString(`"exitCommand":`)
if j.ExitCommand != nil {
buf.WriteString(`[`)
for i, v := range j.ExitCommand {
if i != 0 {
buf.WriteString(`,`)
}
fflib.WriteJsonString(buf, string(v))
}
buf.WriteString(`]`)
} else {
buf.WriteString(`null`)
}
buf.WriteByte(',')
}
buf.WriteString(`"LocalVolumes":`)
if j.LocalVolumes != nil {
buf.WriteString(`[`)
for i, v := range j.LocalVolumes {
if i != 0 {
buf.WriteString(`,`)
}
fflib.WriteJsonString(buf, string(v))
}
buf.WriteString(`]`)
} else {
buf.WriteString(`null`)
}
buf.WriteByte('}')
return nil
}
const (
ffjtContainerConfigbase = iota
ffjtContainerConfignosuchkey
ffjtContainerConfigSpec
ffjtContainerConfigID
ffjtContainerConfigName
ffjtContainerConfigPod
ffjtContainerConfigNamespace
ffjtContainerConfigIDMappings
ffjtContainerConfigRootfsImageID
ffjtContainerConfigRootfsImageName
ffjtContainerConfigRootfs
ffjtContainerConfigImageVolumes
ffjtContainerConfigShmDir
ffjtContainerConfigShmSize
ffjtContainerConfigStaticDir
ffjtContainerConfigMounts
ffjtContainerConfigPrivileged
ffjtContainerConfigProcessLabel
ffjtContainerConfigMountLabel
ffjtContainerConfigUser
ffjtContainerConfigGroups
ffjtContainerConfigIPCNsCtr
ffjtContainerConfigMountNsCtr
ffjtContainerConfigNetNsCtr
ffjtContainerConfigPIDNsCtr
ffjtContainerConfigUserNsCtr
ffjtContainerConfigUTSNsCtr
ffjtContainerConfigCgroupNsCtr
ffjtContainerConfigDependencies
ffjtContainerConfigCreateNetNS
ffjtContainerConfigPortMappings
ffjtContainerConfigDNSServer
ffjtContainerConfigDNSSearch
ffjtContainerConfigDNSOption
ffjtContainerConfigHostAdd
ffjtContainerConfigNetworks
ffjtContainerConfigUserVolumes
ffjtContainerConfigEntrypoint
ffjtContainerConfigCommand
ffjtContainerConfigStdin
ffjtContainerConfigLabels
ffjtContainerConfigStopSignal
ffjtContainerConfigStopTimeout
ffjtContainerConfigCreatedTime
ffjtContainerConfigCgroupParent
ffjtContainerConfigLogPath
ffjtContainerConfigConmonPidFile
ffjtContainerConfigPostConfigureNetNS
ffjtContainerConfigExitCommand
ffjtContainerConfigLocalVolumes
)
var ffjKeyContainerConfigSpec = []byte("spec")
var ffjKeyContainerConfigID = []byte("id")
var ffjKeyContainerConfigName = []byte("name")
var ffjKeyContainerConfigPod = []byte("pod")
var ffjKeyContainerConfigNamespace = []byte("namespace")
var ffjKeyContainerConfigIDMappings = []byte("idMappingsOptions")
var ffjKeyContainerConfigRootfsImageID = []byte("rootfsImageID")
var ffjKeyContainerConfigRootfsImageName = []byte("rootfsImageName")
var ffjKeyContainerConfigRootfs = []byte("rootfs")
var ffjKeyContainerConfigImageVolumes = []byte("imageVolumes")
var ffjKeyContainerConfigShmDir = []byte("ShmDir")
var ffjKeyContainerConfigShmSize = []byte("shmSize")
var ffjKeyContainerConfigStaticDir = []byte("staticDir")
var ffjKeyContainerConfigMounts = []byte("mounts")
var ffjKeyContainerConfigPrivileged = []byte("privileged")
var ffjKeyContainerConfigProcessLabel = []byte("ProcessLabel")
var ffjKeyContainerConfigMountLabel = []byte("MountLabel")
var ffjKeyContainerConfigUser = []byte("user")
var ffjKeyContainerConfigGroups = []byte("groups")
var ffjKeyContainerConfigIPCNsCtr = []byte("ipcNsCtr")
var ffjKeyContainerConfigMountNsCtr = []byte("mountNsCtr")
var ffjKeyContainerConfigNetNsCtr = []byte("netNsCtr")
var ffjKeyContainerConfigPIDNsCtr = []byte("pidNsCtr")
var ffjKeyContainerConfigUserNsCtr = []byte("userNsCtr")
var ffjKeyContainerConfigUTSNsCtr = []byte("utsNsCtr")
var ffjKeyContainerConfigCgroupNsCtr = []byte("cgroupNsCtr")
var ffjKeyContainerConfigDependencies = []byte("Dependencies")
var ffjKeyContainerConfigCreateNetNS = []byte("createNetNS")
var ffjKeyContainerConfigPortMappings = []byte("portMappings")
var ffjKeyContainerConfigDNSServer = []byte("dnsServer")
var ffjKeyContainerConfigDNSSearch = []byte("dnsSearch")
var ffjKeyContainerConfigDNSOption = []byte("dnsOption")
var ffjKeyContainerConfigHostAdd = []byte("hostsAdd")
var ffjKeyContainerConfigNetworks = []byte("networks")
var ffjKeyContainerConfigUserVolumes = []byte("userVolumes")
var ffjKeyContainerConfigEntrypoint = []byte("entrypoint")
var ffjKeyContainerConfigCommand = []byte("command")
var ffjKeyContainerConfigStdin = []byte("stdin")
var ffjKeyContainerConfigLabels = []byte("labels")
var ffjKeyContainerConfigStopSignal = []byte("stopSignal")
var ffjKeyContainerConfigStopTimeout = []byte("stopTimeout")
var ffjKeyContainerConfigCreatedTime = []byte("createdTime")
var ffjKeyContainerConfigCgroupParent = []byte("cgroupParent")
var ffjKeyContainerConfigLogPath = []byte("logPath")
var ffjKeyContainerConfigConmonPidFile = []byte("conmonPidFile")
var ffjKeyContainerConfigPostConfigureNetNS = []byte("postConfigureNetNS")
var ffjKeyContainerConfigExitCommand = []byte("exitCommand")
var ffjKeyContainerConfigLocalVolumes = []byte("LocalVolumes")
// UnmarshalJSON umarshall json - template of ffjson
func (j *ContainerConfig) UnmarshalJSON(input []byte) error {
fs := fflib.NewFFLexer(input)
return j.UnmarshalJSONFFLexer(fs, fflib.FFParse_map_start)
}
// UnmarshalJSONFFLexer fast json unmarshall - template ffjson
func (j *ContainerConfig) UnmarshalJSONFFLexer(fs *fflib.FFLexer, state fflib.FFParseState) error {
var err error
currentKey := ffjtContainerConfigbase
_ = currentKey
tok := fflib.FFTok_init
wantedTok := fflib.FFTok_init
mainparse:
for {
tok = fs.Scan()
// println(fmt.Sprintf("debug: tok: %v state: %v", tok, state))
if tok == fflib.FFTok_error {
goto tokerror
}
switch state {
case fflib.FFParse_map_start:
if tok != fflib.FFTok_left_bracket {
wantedTok = fflib.FFTok_left_bracket
goto wrongtokenerror
}
state = fflib.FFParse_want_key
continue
case fflib.FFParse_after_value:
if tok == fflib.FFTok_comma {
state = fflib.FFParse_want_key
} else if tok == fflib.FFTok_right_bracket {
goto done
} else {
wantedTok = fflib.FFTok_comma
goto wrongtokenerror
}
case fflib.FFParse_want_key:
// json {} ended. goto exit. woo.
if tok == fflib.FFTok_right_bracket {
goto done
}
if tok != fflib.FFTok_string {
wantedTok = fflib.FFTok_string
goto wrongtokenerror
}
kn := fs.Output.Bytes()
if len(kn) <= 0 {
// "" case. hrm.
currentKey = ffjtContainerConfignosuchkey
state = fflib.FFParse_want_colon
goto mainparse
} else {
switch kn[0] {
case 'D':
if bytes.Equal(ffjKeyContainerConfigDependencies, kn) {
currentKey = ffjtContainerConfigDependencies
state = fflib.FFParse_want_colon
goto mainparse
}
case 'L':
if bytes.Equal(ffjKeyContainerConfigLocalVolumes, kn) {
currentKey = ffjtContainerConfigLocalVolumes
state = fflib.FFParse_want_colon
goto mainparse
}
case 'M':
if bytes.Equal(ffjKeyContainerConfigMountLabel, kn) {
currentKey = ffjtContainerConfigMountLabel
state = fflib.FFParse_want_colon
goto mainparse
}
case 'P':
if bytes.Equal(ffjKeyContainerConfigProcessLabel, kn) {
currentKey = ffjtContainerConfigProcessLabel
state = fflib.FFParse_want_colon
goto mainparse
}
case 'S':
if bytes.Equal(ffjKeyContainerConfigShmDir, kn) {
currentKey = ffjtContainerConfigShmDir
state = fflib.FFParse_want_colon
goto mainparse
}
case 'c':
if bytes.Equal(ffjKeyContainerConfigCgroupNsCtr, kn) {
currentKey = ffjtContainerConfigCgroupNsCtr
state = fflib.FFParse_want_colon
goto mainparse
} else if bytes.Equal(ffjKeyContainerConfigCreateNetNS, kn) {
currentKey = ffjtContainerConfigCreateNetNS
state = fflib.FFParse_want_colon
goto mainparse
} else if bytes.Equal(ffjKeyContainerConfigCommand, kn) {
currentKey = ffjtContainerConfigCommand
state = fflib.FFParse_want_colon
goto mainparse
} else if bytes.Equal(ffjKeyContainerConfigCreatedTime, kn) {
currentKey = ffjtContainerConfigCreatedTime
state = fflib.FFParse_want_colon
goto mainparse
} else if bytes.Equal(ffjKeyContainerConfigCgroupParent, kn) {
currentKey = ffjtContainerConfigCgroupParent
state = fflib.FFParse_want_colon
goto mainparse
} else if bytes.Equal(ffjKeyContainerConfigConmonPidFile, kn) {
currentKey = ffjtContainerConfigConmonPidFile
state = fflib.FFParse_want_colon
goto mainparse
}
case 'd':
if bytes.Equal(ffjKeyContainerConfigDNSServer, kn) {
currentKey = ffjtContainerConfigDNSServer
state = fflib.FFParse_want_colon
goto mainparse
} else if bytes.Equal(ffjKeyContainerConfigDNSSearch, kn) {
currentKey = ffjtContainerConfigDNSSearch
state = fflib.FFParse_want_colon
goto mainparse
} else if bytes.Equal(ffjKeyContainerConfigDNSOption, kn) {
currentKey = ffjtContainerConfigDNSOption
state = fflib.FFParse_want_colon
goto mainparse
}
case 'e':
if bytes.Equal(ffjKeyContainerConfigEntrypoint, kn) {
currentKey = ffjtContainerConfigEntrypoint
state = fflib.FFParse_want_colon
goto mainparse
} else if bytes.Equal(ffjKeyContainerConfigExitCommand, kn) {
currentKey = ffjtContainerConfigExitCommand
state = fflib.FFParse_want_colon
goto mainparse
}
case 'g':
if bytes.Equal(ffjKeyContainerConfigGroups, kn) {
currentKey = ffjtContainerConfigGroups
state = fflib.FFParse_want_colon
goto mainparse
}
case 'h':
if bytes.Equal(ffjKeyContainerConfigHostAdd, kn) {
currentKey = ffjtContainerConfigHostAdd
state = fflib.FFParse_want_colon
goto mainparse
}
case 'i':
if bytes.Equal(ffjKeyContainerConfigID, kn) {
currentKey = ffjtContainerConfigID
state = fflib.FFParse_want_colon
goto mainparse
} else if bytes.Equal(ffjKeyContainerConfigIDMappings, kn) {
currentKey = ffjtContainerConfigIDMappings
state = fflib.FFParse_want_colon
goto mainparse
} else if bytes.Equal(ffjKeyContainerConfigImageVolumes, kn) {
currentKey = ffjtContainerConfigImageVolumes
state = fflib.FFParse_want_colon
goto mainparse
} else if bytes.Equal(ffjKeyContainerConfigIPCNsCtr, kn) {
currentKey = ffjtContainerConfigIPCNsCtr
state = fflib.FFParse_want_colon
goto mainparse
}
case 'l':
if bytes.Equal(ffjKeyContainerConfigLabels, kn) {
currentKey = ffjtContainerConfigLabels
state = fflib.FFParse_want_colon
goto mainparse
} else if bytes.Equal(ffjKeyContainerConfigLogPath, kn) {
currentKey = ffjtContainerConfigLogPath
state = fflib.FFParse_want_colon
goto mainparse
}
case 'm':
if bytes.Equal(ffjKeyContainerConfigMounts, kn) {
currentKey = ffjtContainerConfigMounts
state = fflib.FFParse_want_colon
goto mainparse
} else if bytes.Equal(ffjKeyContainerConfigMountNsCtr, kn) {
currentKey = ffjtContainerConfigMountNsCtr
state = fflib.FFParse_want_colon
goto mainparse
}
case 'n':
if bytes.Equal(ffjKeyContainerConfigName, kn) {
currentKey = ffjtContainerConfigName
state = fflib.FFParse_want_colon
goto mainparse
} else if bytes.Equal(ffjKeyContainerConfigNamespace, kn) {
currentKey = ffjtContainerConfigNamespace
state = fflib.FFParse_want_colon
goto mainparse
} else if bytes.Equal(ffjKeyContainerConfigNetNsCtr, kn) {
currentKey = ffjtContainerConfigNetNsCtr
state = fflib.FFParse_want_colon
goto mainparse
} else if bytes.Equal(ffjKeyContainerConfigNetworks, kn) {
currentKey = ffjtContainerConfigNetworks
state = fflib.FFParse_want_colon
goto mainparse
}
case 'p':
if bytes.Equal(ffjKeyContainerConfigPod, kn) {
currentKey = ffjtContainerConfigPod
state = fflib.FFParse_want_colon
goto mainparse
} else if bytes.Equal(ffjKeyContainerConfigPrivileged, kn) {
currentKey = ffjtContainerConfigPrivileged
state = fflib.FFParse_want_colon
goto mainparse
} else if bytes.Equal(ffjKeyContainerConfigPIDNsCtr, kn) {
currentKey = ffjtContainerConfigPIDNsCtr
state = fflib.FFParse_want_colon
goto mainparse
} else if bytes.Equal(ffjKeyContainerConfigPortMappings, kn) {
currentKey = ffjtContainerConfigPortMappings
state = fflib.FFParse_want_colon
goto mainparse
} else if bytes.Equal(ffjKeyContainerConfigPostConfigureNetNS, kn) {
currentKey = ffjtContainerConfigPostConfigureNetNS
state = fflib.FFParse_want_colon
goto mainparse
}
case 'r':
if bytes.Equal(ffjKeyContainerConfigRootfsImageID, kn) {
currentKey = ffjtContainerConfigRootfsImageID
state = fflib.FFParse_want_colon
goto mainparse
} else if bytes.Equal(ffjKeyContainerConfigRootfsImageName, kn) {
currentKey = ffjtContainerConfigRootfsImageName
state = fflib.FFParse_want_colon
goto mainparse
} else if bytes.Equal(ffjKeyContainerConfigRootfs, kn) {
currentKey = ffjtContainerConfigRootfs
state = fflib.FFParse_want_colon
goto mainparse
}
case 's':
if bytes.Equal(ffjKeyContainerConfigSpec, kn) {
currentKey = ffjtContainerConfigSpec
state = fflib.FFParse_want_colon
goto mainparse
} else if bytes.Equal(ffjKeyContainerConfigShmSize, kn) {
currentKey = ffjtContainerConfigShmSize
state = fflib.FFParse_want_colon
goto mainparse
} else if bytes.Equal(ffjKeyContainerConfigStaticDir, kn) {
currentKey = ffjtContainerConfigStaticDir
state = fflib.FFParse_want_colon
goto mainparse
} else if bytes.Equal(ffjKeyContainerConfigStdin, kn) {
currentKey = ffjtContainerConfigStdin
state = fflib.FFParse_want_colon
goto mainparse
} else if bytes.Equal(ffjKeyContainerConfigStopSignal, kn) {
currentKey = ffjtContainerConfigStopSignal
state = fflib.FFParse_want_colon
goto mainparse
} else if bytes.Equal(ffjKeyContainerConfigStopTimeout, kn) {
currentKey = ffjtContainerConfigStopTimeout
state = fflib.FFParse_want_colon
goto mainparse
}
case 'u':
if bytes.Equal(ffjKeyContainerConfigUser, kn) {
currentKey = ffjtContainerConfigUser
state = fflib.FFParse_want_colon
goto mainparse
} else if bytes.Equal(ffjKeyContainerConfigUserNsCtr, kn) {
currentKey = ffjtContainerConfigUserNsCtr
state = fflib.FFParse_want_colon
goto mainparse
} else if bytes.Equal(ffjKeyContainerConfigUTSNsCtr, kn) {
currentKey = ffjtContainerConfigUTSNsCtr
state = fflib.FFParse_want_colon
goto mainparse
} else if bytes.Equal(ffjKeyContainerConfigUserVolumes, kn) {
currentKey = ffjtContainerConfigUserVolumes
state = fflib.FFParse_want_colon
goto mainparse
}
}
if fflib.EqualFoldRight(ffjKeyContainerConfigLocalVolumes, kn) {
currentKey = ffjtContainerConfigLocalVolumes
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.SimpleLetterEqualFold(ffjKeyContainerConfigExitCommand, kn) {
currentKey = ffjtContainerConfigExitCommand
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.EqualFoldRight(ffjKeyContainerConfigPostConfigureNetNS, kn) {
currentKey = ffjtContainerConfigPostConfigureNetNS
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.SimpleLetterEqualFold(ffjKeyContainerConfigConmonPidFile, kn) {
currentKey = ffjtContainerConfigConmonPidFile
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.SimpleLetterEqualFold(ffjKeyContainerConfigLogPath, kn) {
currentKey = ffjtContainerConfigLogPath
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.SimpleLetterEqualFold(ffjKeyContainerConfigCgroupParent, kn) {
currentKey = ffjtContainerConfigCgroupParent
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.SimpleLetterEqualFold(ffjKeyContainerConfigCreatedTime, kn) {
currentKey = ffjtContainerConfigCreatedTime
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.EqualFoldRight(ffjKeyContainerConfigStopTimeout, kn) {
currentKey = ffjtContainerConfigStopTimeout
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.EqualFoldRight(ffjKeyContainerConfigStopSignal, kn) {
currentKey = ffjtContainerConfigStopSignal
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.EqualFoldRight(ffjKeyContainerConfigLabels, kn) {
currentKey = ffjtContainerConfigLabels
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.EqualFoldRight(ffjKeyContainerConfigStdin, kn) {
currentKey = ffjtContainerConfigStdin
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.SimpleLetterEqualFold(ffjKeyContainerConfigCommand, kn) {
currentKey = ffjtContainerConfigCommand
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.SimpleLetterEqualFold(ffjKeyContainerConfigEntrypoint, kn) {
currentKey = ffjtContainerConfigEntrypoint
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.EqualFoldRight(ffjKeyContainerConfigUserVolumes, kn) {
currentKey = ffjtContainerConfigUserVolumes
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.EqualFoldRight(ffjKeyContainerConfigNetworks, kn) {
currentKey = ffjtContainerConfigNetworks
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.EqualFoldRight(ffjKeyContainerConfigHostAdd, kn) {
currentKey = ffjtContainerConfigHostAdd
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.EqualFoldRight(ffjKeyContainerConfigDNSOption, kn) {
currentKey = ffjtContainerConfigDNSOption
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.EqualFoldRight(ffjKeyContainerConfigDNSSearch, kn) {
currentKey = ffjtContainerConfigDNSSearch
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.EqualFoldRight(ffjKeyContainerConfigDNSServer, kn) {
currentKey = ffjtContainerConfigDNSServer
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.EqualFoldRight(ffjKeyContainerConfigPortMappings, kn) {
currentKey = ffjtContainerConfigPortMappings
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.EqualFoldRight(ffjKeyContainerConfigCreateNetNS, kn) {
currentKey = ffjtContainerConfigCreateNetNS
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.EqualFoldRight(ffjKeyContainerConfigDependencies, kn) {
currentKey = ffjtContainerConfigDependencies
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.EqualFoldRight(ffjKeyContainerConfigCgroupNsCtr, kn) {
currentKey = ffjtContainerConfigCgroupNsCtr
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.EqualFoldRight(ffjKeyContainerConfigUTSNsCtr, kn) {
currentKey = ffjtContainerConfigUTSNsCtr
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.EqualFoldRight(ffjKeyContainerConfigUserNsCtr, kn) {
currentKey = ffjtContainerConfigUserNsCtr
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.EqualFoldRight(ffjKeyContainerConfigPIDNsCtr, kn) {
currentKey = ffjtContainerConfigPIDNsCtr
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.EqualFoldRight(ffjKeyContainerConfigNetNsCtr, kn) {
currentKey = ffjtContainerConfigNetNsCtr
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.EqualFoldRight(ffjKeyContainerConfigMountNsCtr, kn) {
currentKey = ffjtContainerConfigMountNsCtr
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.EqualFoldRight(ffjKeyContainerConfigIPCNsCtr, kn) {
currentKey = ffjtContainerConfigIPCNsCtr
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.EqualFoldRight(ffjKeyContainerConfigGroups, kn) {
currentKey = ffjtContainerConfigGroups
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.EqualFoldRight(ffjKeyContainerConfigUser, kn) {
currentKey = ffjtContainerConfigUser
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.SimpleLetterEqualFold(ffjKeyContainerConfigMountLabel, kn) {
currentKey = ffjtContainerConfigMountLabel
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.EqualFoldRight(ffjKeyContainerConfigProcessLabel, kn) {
currentKey = ffjtContainerConfigProcessLabel
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.SimpleLetterEqualFold(ffjKeyContainerConfigPrivileged, kn) {
currentKey = ffjtContainerConfigPrivileged
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.EqualFoldRight(ffjKeyContainerConfigMounts, kn) {
currentKey = ffjtContainerConfigMounts
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.EqualFoldRight(ffjKeyContainerConfigStaticDir, kn) {
currentKey = ffjtContainerConfigStaticDir
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.EqualFoldRight(ffjKeyContainerConfigShmSize, kn) {
currentKey = ffjtContainerConfigShmSize
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.EqualFoldRight(ffjKeyContainerConfigShmDir, kn) {
currentKey = ffjtContainerConfigShmDir
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.EqualFoldRight(ffjKeyContainerConfigImageVolumes, kn) {
currentKey = ffjtContainerConfigImageVolumes
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.EqualFoldRight(ffjKeyContainerConfigRootfs, kn) {
currentKey = ffjtContainerConfigRootfs
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.EqualFoldRight(ffjKeyContainerConfigRootfsImageName, kn) {
currentKey = ffjtContainerConfigRootfsImageName
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.EqualFoldRight(ffjKeyContainerConfigRootfsImageID, kn) {
currentKey = ffjtContainerConfigRootfsImageID
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.EqualFoldRight(ffjKeyContainerConfigIDMappings, kn) {
currentKey = ffjtContainerConfigIDMappings
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.EqualFoldRight(ffjKeyContainerConfigNamespace, kn) {
currentKey = ffjtContainerConfigNamespace
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.SimpleLetterEqualFold(ffjKeyContainerConfigPod, kn) {
currentKey = ffjtContainerConfigPod
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.SimpleLetterEqualFold(ffjKeyContainerConfigName, kn) {
currentKey = ffjtContainerConfigName
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.SimpleLetterEqualFold(ffjKeyContainerConfigID, kn) {
currentKey = ffjtContainerConfigID
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.EqualFoldRight(ffjKeyContainerConfigSpec, kn) {
currentKey = ffjtContainerConfigSpec
state = fflib.FFParse_want_colon
goto mainparse
}
currentKey = ffjtContainerConfignosuchkey
state = fflib.FFParse_want_colon
goto mainparse
}
case fflib.FFParse_want_colon:
if tok != fflib.FFTok_colon {
wantedTok = fflib.FFTok_colon
goto wrongtokenerror
}
state = fflib.FFParse_want_value
continue
case fflib.FFParse_want_value:
if tok == fflib.FFTok_left_brace || tok == fflib.FFTok_left_bracket || tok == fflib.FFTok_integer || tok == fflib.FFTok_double || tok == fflib.FFTok_string || tok == fflib.FFTok_bool || tok == fflib.FFTok_null {
switch currentKey {
case ffjtContainerConfigSpec:
goto handle_Spec
case ffjtContainerConfigID:
goto handle_ID
case ffjtContainerConfigName:
goto handle_Name
case ffjtContainerConfigPod:
goto handle_Pod
case ffjtContainerConfigNamespace:
goto handle_Namespace
case ffjtContainerConfigIDMappings:
goto handle_IDMappings
case ffjtContainerConfigRootfsImageID:
goto handle_RootfsImageID
case ffjtContainerConfigRootfsImageName:
goto handle_RootfsImageName
case ffjtContainerConfigRootfs:
goto handle_Rootfs
case ffjtContainerConfigImageVolumes:
goto handle_ImageVolumes
case ffjtContainerConfigShmDir:
goto handle_ShmDir
case ffjtContainerConfigShmSize:
goto handle_ShmSize
case ffjtContainerConfigStaticDir:
goto handle_StaticDir
case ffjtContainerConfigMounts:
goto handle_Mounts
case ffjtContainerConfigPrivileged:
goto handle_Privileged
case ffjtContainerConfigProcessLabel:
goto handle_ProcessLabel
case ffjtContainerConfigMountLabel:
goto handle_MountLabel
case ffjtContainerConfigUser:
goto handle_User
case ffjtContainerConfigGroups:
goto handle_Groups
case ffjtContainerConfigIPCNsCtr:
goto handle_IPCNsCtr
case ffjtContainerConfigMountNsCtr:
goto handle_MountNsCtr
case ffjtContainerConfigNetNsCtr:
goto handle_NetNsCtr
case ffjtContainerConfigPIDNsCtr:
goto handle_PIDNsCtr
case ffjtContainerConfigUserNsCtr:
goto handle_UserNsCtr
case ffjtContainerConfigUTSNsCtr:
goto handle_UTSNsCtr
case ffjtContainerConfigCgroupNsCtr:
goto handle_CgroupNsCtr
case ffjtContainerConfigDependencies:
goto handle_Dependencies
case ffjtContainerConfigCreateNetNS:
goto handle_CreateNetNS
case ffjtContainerConfigPortMappings:
goto handle_PortMappings
case ffjtContainerConfigDNSServer:
goto handle_DNSServer
case ffjtContainerConfigDNSSearch:
goto handle_DNSSearch
case ffjtContainerConfigDNSOption:
goto handle_DNSOption
case ffjtContainerConfigHostAdd:
goto handle_HostAdd
case ffjtContainerConfigNetworks:
goto handle_Networks
case ffjtContainerConfigUserVolumes:
goto handle_UserVolumes
case ffjtContainerConfigEntrypoint:
goto handle_Entrypoint
case ffjtContainerConfigCommand:
goto handle_Command
case ffjtContainerConfigStdin:
goto handle_Stdin
case ffjtContainerConfigLabels:
goto handle_Labels
case ffjtContainerConfigStopSignal:
goto handle_StopSignal
case ffjtContainerConfigStopTimeout:
goto handle_StopTimeout
case ffjtContainerConfigCreatedTime:
goto handle_CreatedTime
case ffjtContainerConfigCgroupParent:
goto handle_CgroupParent
case ffjtContainerConfigLogPath:
goto handle_LogPath
case ffjtContainerConfigConmonPidFile:
goto handle_ConmonPidFile
case ffjtContainerConfigPostConfigureNetNS:
goto handle_PostConfigureNetNS
case ffjtContainerConfigExitCommand:
goto handle_ExitCommand
case ffjtContainerConfigLocalVolumes:
goto handle_LocalVolumes
case ffjtContainerConfignosuchkey:
err = fs.SkipField(tok)
if err != nil {
return fs.WrapErr(err)
}
state = fflib.FFParse_after_value
goto mainparse
}
} else {
goto wantedvalue
}
}
}
handle_Spec:
/* handler: j.Spec type=specs.Spec kind=struct quoted=false*/
{
/* Falling back. type=specs.Spec kind=struct */
tbuf, err := fs.CaptureField(tok)
if err != nil {
return fs.WrapErr(err)
}
err = json.Unmarshal(tbuf, &j.Spec)
if err != nil {
return fs.WrapErr(err)
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_ID:
/* handler: j.ID type=string kind=string quoted=false*/
{
{
if tok != fflib.FFTok_string && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for string", tok))
}
}
if tok == fflib.FFTok_null {
} else {
outBuf := fs.Output.Bytes()
j.ID = string(string(outBuf))
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_Name:
/* handler: j.Name type=string kind=string quoted=false*/
{
{
if tok != fflib.FFTok_string && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for string", tok))
}
}
if tok == fflib.FFTok_null {
} else {
outBuf := fs.Output.Bytes()
j.Name = string(string(outBuf))
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_Pod:
/* handler: j.Pod type=string kind=string quoted=false*/
{
{
if tok != fflib.FFTok_string && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for string", tok))
}
}
if tok == fflib.FFTok_null {
} else {
outBuf := fs.Output.Bytes()
j.Pod = string(string(outBuf))
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_Namespace:
/* handler: j.Namespace type=string kind=string quoted=false*/
{
{
if tok != fflib.FFTok_string && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for string", tok))
}
}
if tok == fflib.FFTok_null {
} else {
outBuf := fs.Output.Bytes()
j.Namespace = string(string(outBuf))
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_IDMappings:
/* handler: j.IDMappings type=storage.IDMappingOptions kind=struct quoted=false*/
{
/* Falling back. type=storage.IDMappingOptions kind=struct */
tbuf, err := fs.CaptureField(tok)
if err != nil {
return fs.WrapErr(err)
}
err = json.Unmarshal(tbuf, &j.IDMappings)
if err != nil {
return fs.WrapErr(err)
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_RootfsImageID:
/* handler: j.RootfsImageID type=string kind=string quoted=false*/
{
{
if tok != fflib.FFTok_string && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for string", tok))
}
}
if tok == fflib.FFTok_null {
} else {
outBuf := fs.Output.Bytes()
j.RootfsImageID = string(string(outBuf))
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_RootfsImageName:
/* handler: j.RootfsImageName type=string kind=string quoted=false*/
{
{
if tok != fflib.FFTok_string && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for string", tok))
}
}
if tok == fflib.FFTok_null {
} else {
outBuf := fs.Output.Bytes()
j.RootfsImageName = string(string(outBuf))
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_Rootfs:
/* handler: j.Rootfs type=string kind=string quoted=false*/
{
{
if tok != fflib.FFTok_string && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for string", tok))
}
}
if tok == fflib.FFTok_null {
} else {
outBuf := fs.Output.Bytes()
j.Rootfs = string(string(outBuf))
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_ImageVolumes:
/* handler: j.ImageVolumes type=bool kind=bool quoted=false*/
{
if tok != fflib.FFTok_bool && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for bool", tok))
}
}
{
if tok == fflib.FFTok_null {
} else {
tmpb := fs.Output.Bytes()
if bytes.Compare([]byte{'t', 'r', 'u', 'e'}, tmpb) == 0 {
j.ImageVolumes = true
} else if bytes.Compare([]byte{'f', 'a', 'l', 's', 'e'}, tmpb) == 0 {
j.ImageVolumes = false
} else {
err = errors.New("unexpected bytes for true/false value")
return fs.WrapErr(err)
}
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_ShmDir:
/* handler: j.ShmDir type=string kind=string quoted=false*/
{
{
if tok != fflib.FFTok_string && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for string", tok))
}
}
if tok == fflib.FFTok_null {
} else {
outBuf := fs.Output.Bytes()
j.ShmDir = string(string(outBuf))
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_ShmSize:
/* handler: j.ShmSize type=int64 kind=int64 quoted=false*/
{
if tok != fflib.FFTok_integer && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for int64", tok))
}
}
{
if tok == fflib.FFTok_null {
} else {
tval, err := fflib.ParseInt(fs.Output.Bytes(), 10, 64)
if err != nil {
return fs.WrapErr(err)
}
j.ShmSize = int64(tval)
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_StaticDir:
/* handler: j.StaticDir type=string kind=string quoted=false*/
{
{
if tok != fflib.FFTok_string && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for string", tok))
}
}
if tok == fflib.FFTok_null {
} else {
outBuf := fs.Output.Bytes()
j.StaticDir = string(string(outBuf))
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_Mounts:
/* handler: j.Mounts type=[]string kind=slice quoted=false*/
{
{
if tok != fflib.FFTok_left_brace && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for ", tok))
}
}
if tok == fflib.FFTok_null {
j.Mounts = nil
} else {
j.Mounts = []string{}
wantVal := true
for {
var tmpJMounts string
tok = fs.Scan()
if tok == fflib.FFTok_error {
goto tokerror
}
if tok == fflib.FFTok_right_brace {
break
}
if tok == fflib.FFTok_comma {
if wantVal == true {
// TODO(pquerna): this isn't an ideal error message, this handles
// things like [,,,] as an array value.
return fs.WrapErr(fmt.Errorf("wanted value token, but got token: %v", tok))
}
continue
} else {
wantVal = true
}
/* handler: tmpJMounts type=string kind=string quoted=false*/
{
{
if tok != fflib.FFTok_string && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for string", tok))
}
}
if tok == fflib.FFTok_null {
} else {
outBuf := fs.Output.Bytes()
tmpJMounts = string(string(outBuf))
}
}
j.Mounts = append(j.Mounts, tmpJMounts)
wantVal = false
}
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_Privileged:
/* handler: j.Privileged type=bool kind=bool quoted=false*/
{
if tok != fflib.FFTok_bool && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for bool", tok))
}
}
{
if tok == fflib.FFTok_null {
} else {
tmpb := fs.Output.Bytes()
if bytes.Compare([]byte{'t', 'r', 'u', 'e'}, tmpb) == 0 {
j.Privileged = true
} else if bytes.Compare([]byte{'f', 'a', 'l', 's', 'e'}, tmpb) == 0 {
j.Privileged = false
} else {
err = errors.New("unexpected bytes for true/false value")
return fs.WrapErr(err)
}
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_ProcessLabel:
/* handler: j.ProcessLabel type=string kind=string quoted=false*/
{
{
if tok != fflib.FFTok_string && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for string", tok))
}
}
if tok == fflib.FFTok_null {
} else {
outBuf := fs.Output.Bytes()
j.ProcessLabel = string(string(outBuf))
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_MountLabel:
/* handler: j.MountLabel type=string kind=string quoted=false*/
{
{
if tok != fflib.FFTok_string && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for string", tok))
}
}
if tok == fflib.FFTok_null {
} else {
outBuf := fs.Output.Bytes()
j.MountLabel = string(string(outBuf))
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_User:
/* handler: j.User type=string kind=string quoted=false*/
{
{
if tok != fflib.FFTok_string && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for string", tok))
}
}
if tok == fflib.FFTok_null {
} else {
outBuf := fs.Output.Bytes()
j.User = string(string(outBuf))
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_Groups:
/* handler: j.Groups type=[]string kind=slice quoted=false*/
{
{
if tok != fflib.FFTok_left_brace && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for ", tok))
}
}
if tok == fflib.FFTok_null {
j.Groups = nil
} else {
j.Groups = []string{}
wantVal := true
for {
var tmpJGroups string
tok = fs.Scan()
if tok == fflib.FFTok_error {
goto tokerror
}
if tok == fflib.FFTok_right_brace {
break
}
if tok == fflib.FFTok_comma {
if wantVal == true {
// TODO(pquerna): this isn't an ideal error message, this handles
// things like [,,,] as an array value.
return fs.WrapErr(fmt.Errorf("wanted value token, but got token: %v", tok))
}
continue
} else {
wantVal = true
}
/* handler: tmpJGroups type=string kind=string quoted=false*/
{
{
if tok != fflib.FFTok_string && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for string", tok))
}
}
if tok == fflib.FFTok_null {
} else {
outBuf := fs.Output.Bytes()
tmpJGroups = string(string(outBuf))
}
}
j.Groups = append(j.Groups, tmpJGroups)
wantVal = false
}
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_IPCNsCtr:
/* handler: j.IPCNsCtr type=string kind=string quoted=false*/
{
{
if tok != fflib.FFTok_string && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for string", tok))
}
}
if tok == fflib.FFTok_null {
} else {
outBuf := fs.Output.Bytes()
j.IPCNsCtr = string(string(outBuf))
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_MountNsCtr:
/* handler: j.MountNsCtr type=string kind=string quoted=false*/
{
{
if tok != fflib.FFTok_string && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for string", tok))
}
}
if tok == fflib.FFTok_null {
} else {
outBuf := fs.Output.Bytes()
j.MountNsCtr = string(string(outBuf))
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_NetNsCtr:
/* handler: j.NetNsCtr type=string kind=string quoted=false*/
{
{
if tok != fflib.FFTok_string && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for string", tok))
}
}
if tok == fflib.FFTok_null {
} else {
outBuf := fs.Output.Bytes()
j.NetNsCtr = string(string(outBuf))
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_PIDNsCtr:
/* handler: j.PIDNsCtr type=string kind=string quoted=false*/
{
{
if tok != fflib.FFTok_string && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for string", tok))
}
}
if tok == fflib.FFTok_null {
} else {
outBuf := fs.Output.Bytes()
j.PIDNsCtr = string(string(outBuf))
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_UserNsCtr:
/* handler: j.UserNsCtr type=string kind=string quoted=false*/
{
{
if tok != fflib.FFTok_string && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for string", tok))
}
}
if tok == fflib.FFTok_null {
} else {
outBuf := fs.Output.Bytes()
j.UserNsCtr = string(string(outBuf))
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_UTSNsCtr:
/* handler: j.UTSNsCtr type=string kind=string quoted=false*/
{
{
if tok != fflib.FFTok_string && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for string", tok))
}
}
if tok == fflib.FFTok_null {
} else {
outBuf := fs.Output.Bytes()
j.UTSNsCtr = string(string(outBuf))
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_CgroupNsCtr:
/* handler: j.CgroupNsCtr type=string kind=string quoted=false*/
{
{
if tok != fflib.FFTok_string && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for string", tok))
}
}
if tok == fflib.FFTok_null {
} else {
outBuf := fs.Output.Bytes()
j.CgroupNsCtr = string(string(outBuf))
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_Dependencies:
/* handler: j.Dependencies type=[]string kind=slice quoted=false*/
{
{
if tok != fflib.FFTok_left_brace && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for ", tok))
}
}
if tok == fflib.FFTok_null {
j.Dependencies = nil
} else {
j.Dependencies = []string{}
wantVal := true
for {
var tmpJDependencies string
tok = fs.Scan()
if tok == fflib.FFTok_error {
goto tokerror
}
if tok == fflib.FFTok_right_brace {
break
}
if tok == fflib.FFTok_comma {
if wantVal == true {
// TODO(pquerna): this isn't an ideal error message, this handles
// things like [,,,] as an array value.
return fs.WrapErr(fmt.Errorf("wanted value token, but got token: %v", tok))
}
continue
} else {
wantVal = true
}
/* handler: tmpJDependencies type=string kind=string quoted=false*/
{
{
if tok != fflib.FFTok_string && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for string", tok))
}
}
if tok == fflib.FFTok_null {
} else {
outBuf := fs.Output.Bytes()
tmpJDependencies = string(string(outBuf))
}
}
j.Dependencies = append(j.Dependencies, tmpJDependencies)
wantVal = false
}
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_CreateNetNS:
/* handler: j.CreateNetNS type=bool kind=bool quoted=false*/
{
if tok != fflib.FFTok_bool && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for bool", tok))
}
}
{
if tok == fflib.FFTok_null {
} else {
tmpb := fs.Output.Bytes()
if bytes.Compare([]byte{'t', 'r', 'u', 'e'}, tmpb) == 0 {
j.CreateNetNS = true
} else if bytes.Compare([]byte{'f', 'a', 'l', 's', 'e'}, tmpb) == 0 {
j.CreateNetNS = false
} else {
err = errors.New("unexpected bytes for true/false value")
return fs.WrapErr(err)
}
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_PortMappings:
/* handler: j.PortMappings type=[]ocicni.PortMapping kind=slice quoted=false*/
{
{
if tok != fflib.FFTok_left_brace && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for ", tok))
}
}
if tok == fflib.FFTok_null {
j.PortMappings = nil
} else {
j.PortMappings = []ocicni.PortMapping{}
wantVal := true
for {
var tmpJPortMappings ocicni.PortMapping
tok = fs.Scan()
if tok == fflib.FFTok_error {
goto tokerror
}
if tok == fflib.FFTok_right_brace {
break
}
if tok == fflib.FFTok_comma {
if wantVal == true {
// TODO(pquerna): this isn't an ideal error message, this handles
// things like [,,,] as an array value.
return fs.WrapErr(fmt.Errorf("wanted value token, but got token: %v", tok))
}
continue
} else {
wantVal = true
}
/* handler: tmpJPortMappings type=ocicni.PortMapping kind=struct quoted=false*/
{
/* Falling back. type=ocicni.PortMapping kind=struct */
tbuf, err := fs.CaptureField(tok)
if err != nil {
return fs.WrapErr(err)
}
err = json.Unmarshal(tbuf, &tmpJPortMappings)
if err != nil {
return fs.WrapErr(err)
}
}
j.PortMappings = append(j.PortMappings, tmpJPortMappings)
wantVal = false
}
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_DNSServer:
/* handler: j.DNSServer type=[]net.IP kind=slice quoted=false*/
{
{
if tok != fflib.FFTok_left_brace && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for ", tok))
}
}
if tok == fflib.FFTok_null {
j.DNSServer = nil
} else {
j.DNSServer = []net.IP{}
wantVal := true
for {
var tmpJDNSServer net.IP
tok = fs.Scan()
if tok == fflib.FFTok_error {
goto tokerror
}
if tok == fflib.FFTok_right_brace {
break
}
if tok == fflib.FFTok_comma {
if wantVal == true {
// TODO(pquerna): this isn't an ideal error message, this handles
// things like [,,,] as an array value.
return fs.WrapErr(fmt.Errorf("wanted value token, but got token: %v", tok))
}
continue
} else {
wantVal = true
}
/* handler: tmpJDNSServer type=net.IP kind=slice quoted=false*/
{
{
if tok != fflib.FFTok_string && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for IP", tok))
}
}
if tok == fflib.FFTok_null {
tmpJDNSServer = nil
} else {
b := make([]byte, base64.StdEncoding.DecodedLen(fs.Output.Len()))
n, err := base64.StdEncoding.Decode(b, fs.Output.Bytes())
if err != nil {
return fs.WrapErr(err)
}
v := reflect.ValueOf(&tmpJDNSServer).Elem()
v.SetBytes(b[0:n])
}
}
j.DNSServer = append(j.DNSServer, tmpJDNSServer)
wantVal = false
}
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_DNSSearch:
/* handler: j.DNSSearch type=[]string kind=slice quoted=false*/
{
{
if tok != fflib.FFTok_left_brace && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for ", tok))
}
}
if tok == fflib.FFTok_null {
j.DNSSearch = nil
} else {
j.DNSSearch = []string{}
wantVal := true
for {
var tmpJDNSSearch string
tok = fs.Scan()
if tok == fflib.FFTok_error {
goto tokerror
}
if tok == fflib.FFTok_right_brace {
break
}
if tok == fflib.FFTok_comma {
if wantVal == true {
// TODO(pquerna): this isn't an ideal error message, this handles
// things like [,,,] as an array value.
return fs.WrapErr(fmt.Errorf("wanted value token, but got token: %v", tok))
}
continue
} else {
wantVal = true
}
/* handler: tmpJDNSSearch type=string kind=string quoted=false*/
{
{
if tok != fflib.FFTok_string && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for string", tok))
}
}
if tok == fflib.FFTok_null {
} else {
outBuf := fs.Output.Bytes()
tmpJDNSSearch = string(string(outBuf))
}
}
j.DNSSearch = append(j.DNSSearch, tmpJDNSSearch)
wantVal = false
}
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_DNSOption:
/* handler: j.DNSOption type=[]string kind=slice quoted=false*/
{
{
if tok != fflib.FFTok_left_brace && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for ", tok))
}
}
if tok == fflib.FFTok_null {
j.DNSOption = nil
} else {
j.DNSOption = []string{}
wantVal := true
for {
var tmpJDNSOption string
tok = fs.Scan()
if tok == fflib.FFTok_error {
goto tokerror
}
if tok == fflib.FFTok_right_brace {
break
}
if tok == fflib.FFTok_comma {
if wantVal == true {
// TODO(pquerna): this isn't an ideal error message, this handles
// things like [,,,] as an array value.
return fs.WrapErr(fmt.Errorf("wanted value token, but got token: %v", tok))
}
continue
} else {
wantVal = true
}
/* handler: tmpJDNSOption type=string kind=string quoted=false*/
{
{
if tok != fflib.FFTok_string && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for string", tok))
}
}
if tok == fflib.FFTok_null {
} else {
outBuf := fs.Output.Bytes()
tmpJDNSOption = string(string(outBuf))
}
}
j.DNSOption = append(j.DNSOption, tmpJDNSOption)
wantVal = false
}
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_HostAdd:
/* handler: j.HostAdd type=[]string kind=slice quoted=false*/
{
{
if tok != fflib.FFTok_left_brace && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for ", tok))
}
}
if tok == fflib.FFTok_null {
j.HostAdd = nil
} else {
j.HostAdd = []string{}
wantVal := true
for {
var tmpJHostAdd string
tok = fs.Scan()
if tok == fflib.FFTok_error {
goto tokerror
}
if tok == fflib.FFTok_right_brace {
break
}
if tok == fflib.FFTok_comma {
if wantVal == true {
// TODO(pquerna): this isn't an ideal error message, this handles
// things like [,,,] as an array value.
return fs.WrapErr(fmt.Errorf("wanted value token, but got token: %v", tok))
}
continue
} else {
wantVal = true
}
/* handler: tmpJHostAdd type=string kind=string quoted=false*/
{
{
if tok != fflib.FFTok_string && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for string", tok))
}
}
if tok == fflib.FFTok_null {
} else {
outBuf := fs.Output.Bytes()
tmpJHostAdd = string(string(outBuf))
}
}
j.HostAdd = append(j.HostAdd, tmpJHostAdd)
wantVal = false
}
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_Networks:
/* handler: j.Networks type=[]string kind=slice quoted=false*/
{
{
if tok != fflib.FFTok_left_brace && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for ", tok))
}
}
if tok == fflib.FFTok_null {
j.Networks = nil
} else {
j.Networks = []string{}
wantVal := true
for {
var tmpJNetworks string
tok = fs.Scan()
if tok == fflib.FFTok_error {
goto tokerror
}
if tok == fflib.FFTok_right_brace {
break
}
if tok == fflib.FFTok_comma {
if wantVal == true {
// TODO(pquerna): this isn't an ideal error message, this handles
// things like [,,,] as an array value.
return fs.WrapErr(fmt.Errorf("wanted value token, but got token: %v", tok))
}
continue
} else {
wantVal = true
}
/* handler: tmpJNetworks type=string kind=string quoted=false*/
{
{
if tok != fflib.FFTok_string && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for string", tok))
}
}
if tok == fflib.FFTok_null {
} else {
outBuf := fs.Output.Bytes()
tmpJNetworks = string(string(outBuf))
}
}
j.Networks = append(j.Networks, tmpJNetworks)
wantVal = false
}
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_UserVolumes:
/* handler: j.UserVolumes type=[]string kind=slice quoted=false*/
{
{
if tok != fflib.FFTok_left_brace && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for ", tok))
}
}
if tok == fflib.FFTok_null {
j.UserVolumes = nil
} else {
j.UserVolumes = []string{}
wantVal := true
for {
var tmpJUserVolumes string
tok = fs.Scan()
if tok == fflib.FFTok_error {
goto tokerror
}
if tok == fflib.FFTok_right_brace {
break
}
if tok == fflib.FFTok_comma {
if wantVal == true {
// TODO(pquerna): this isn't an ideal error message, this handles
// things like [,,,] as an array value.
return fs.WrapErr(fmt.Errorf("wanted value token, but got token: %v", tok))
}
continue
} else {
wantVal = true
}
/* handler: tmpJUserVolumes type=string kind=string quoted=false*/
{
{
if tok != fflib.FFTok_string && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for string", tok))
}
}
if tok == fflib.FFTok_null {
} else {
outBuf := fs.Output.Bytes()
tmpJUserVolumes = string(string(outBuf))
}
}
j.UserVolumes = append(j.UserVolumes, tmpJUserVolumes)
wantVal = false
}
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_Entrypoint:
/* handler: j.Entrypoint type=[]string kind=slice quoted=false*/
{
{
if tok != fflib.FFTok_left_brace && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for ", tok))
}
}
if tok == fflib.FFTok_null {
j.Entrypoint = nil
} else {
j.Entrypoint = []string{}
wantVal := true
for {
var tmpJEntrypoint string
tok = fs.Scan()
if tok == fflib.FFTok_error {
goto tokerror
}
if tok == fflib.FFTok_right_brace {
break
}
if tok == fflib.FFTok_comma {
if wantVal == true {
// TODO(pquerna): this isn't an ideal error message, this handles
// things like [,,,] as an array value.
return fs.WrapErr(fmt.Errorf("wanted value token, but got token: %v", tok))
}
continue
} else {
wantVal = true
}
/* handler: tmpJEntrypoint type=string kind=string quoted=false*/
{
{
if tok != fflib.FFTok_string && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for string", tok))
}
}
if tok == fflib.FFTok_null {
} else {
outBuf := fs.Output.Bytes()
tmpJEntrypoint = string(string(outBuf))
}
}
j.Entrypoint = append(j.Entrypoint, tmpJEntrypoint)
wantVal = false
}
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_Command:
/* handler: j.Command type=[]string kind=slice quoted=false*/
{
{
if tok != fflib.FFTok_left_brace && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for ", tok))
}
}
if tok == fflib.FFTok_null {
j.Command = nil
} else {
j.Command = []string{}
wantVal := true
for {
var tmpJCommand string
tok = fs.Scan()
if tok == fflib.FFTok_error {
goto tokerror
}
if tok == fflib.FFTok_right_brace {
break
}
if tok == fflib.FFTok_comma {
if wantVal == true {
// TODO(pquerna): this isn't an ideal error message, this handles
// things like [,,,] as an array value.
return fs.WrapErr(fmt.Errorf("wanted value token, but got token: %v", tok))
}
continue
} else {
wantVal = true
}
/* handler: tmpJCommand type=string kind=string quoted=false*/
{
{
if tok != fflib.FFTok_string && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for string", tok))
}
}
if tok == fflib.FFTok_null {
} else {
outBuf := fs.Output.Bytes()
tmpJCommand = string(string(outBuf))
}
}
j.Command = append(j.Command, tmpJCommand)
wantVal = false
}
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_Stdin:
/* handler: j.Stdin type=bool kind=bool quoted=false*/
{
if tok != fflib.FFTok_bool && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for bool", tok))
}
}
{
if tok == fflib.FFTok_null {
} else {
tmpb := fs.Output.Bytes()
if bytes.Compare([]byte{'t', 'r', 'u', 'e'}, tmpb) == 0 {
j.Stdin = true
} else if bytes.Compare([]byte{'f', 'a', 'l', 's', 'e'}, tmpb) == 0 {
j.Stdin = false
} else {
err = errors.New("unexpected bytes for true/false value")
return fs.WrapErr(err)
}
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_Labels:
/* handler: j.Labels type=map[string]string kind=map quoted=false*/
{
{
if tok != fflib.FFTok_left_bracket && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for ", tok))
}
}
if tok == fflib.FFTok_null {
j.Labels = nil
} else {
j.Labels = make(map[string]string, 0)
wantVal := true
for {
var k string
var tmpJLabels string
tok = fs.Scan()
if tok == fflib.FFTok_error {
goto tokerror
}
if tok == fflib.FFTok_right_bracket {
break
}
if tok == fflib.FFTok_comma {
if wantVal == true {
// TODO(pquerna): this isn't an ideal error message, this handles
// things like [,,,] as an array value.
return fs.WrapErr(fmt.Errorf("wanted value token, but got token: %v", tok))
}
continue
} else {
wantVal = true
}
/* handler: k type=string kind=string quoted=false*/
{
{
if tok != fflib.FFTok_string && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for string", tok))
}
}
if tok == fflib.FFTok_null {
} else {
outBuf := fs.Output.Bytes()
k = string(string(outBuf))
}
}
// Expect ':' after key
tok = fs.Scan()
if tok != fflib.FFTok_colon {
return fs.WrapErr(fmt.Errorf("wanted colon token, but got token: %v", tok))
}
tok = fs.Scan()
/* handler: tmpJLabels type=string kind=string quoted=false*/
{
{
if tok != fflib.FFTok_string && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for string", tok))
}
}
if tok == fflib.FFTok_null {
} else {
outBuf := fs.Output.Bytes()
tmpJLabels = string(string(outBuf))
}
}
j.Labels[k] = tmpJLabels
wantVal = false
}
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_StopSignal:
/* handler: j.StopSignal type=uint kind=uint quoted=false*/
{
if tok != fflib.FFTok_integer && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for uint", tok))
}
}
{
if tok == fflib.FFTok_null {
} else {
tval, err := fflib.ParseUint(fs.Output.Bytes(), 10, 64)
if err != nil {
return fs.WrapErr(err)
}
j.StopSignal = uint(tval)
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_StopTimeout:
/* handler: j.StopTimeout type=uint kind=uint quoted=false*/
{
if tok != fflib.FFTok_integer && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for uint", tok))
}
}
{
if tok == fflib.FFTok_null {
} else {
tval, err := fflib.ParseUint(fs.Output.Bytes(), 10, 64)
if err != nil {
return fs.WrapErr(err)
}
j.StopTimeout = uint(tval)
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_CreatedTime:
/* handler: j.CreatedTime type=time.Time kind=struct quoted=false*/
{
if tok == fflib.FFTok_null {
} else {
tbuf, err := fs.CaptureField(tok)
if err != nil {
return fs.WrapErr(err)
}
err = j.CreatedTime.UnmarshalJSON(tbuf)
if err != nil {
return fs.WrapErr(err)
}
}
state = fflib.FFParse_after_value
}
state = fflib.FFParse_after_value
goto mainparse
handle_CgroupParent:
/* handler: j.CgroupParent type=string kind=string quoted=false*/
{
{
if tok != fflib.FFTok_string && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for string", tok))
}
}
if tok == fflib.FFTok_null {
} else {
outBuf := fs.Output.Bytes()
j.CgroupParent = string(string(outBuf))
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_LogPath:
/* handler: j.LogPath type=string kind=string quoted=false*/
{
{
if tok != fflib.FFTok_string && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for string", tok))
}
}
if tok == fflib.FFTok_null {
} else {
outBuf := fs.Output.Bytes()
j.LogPath = string(string(outBuf))
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_ConmonPidFile:
/* handler: j.ConmonPidFile type=string kind=string quoted=false*/
{
{
if tok != fflib.FFTok_string && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for string", tok))
}
}
if tok == fflib.FFTok_null {
} else {
outBuf := fs.Output.Bytes()
j.ConmonPidFile = string(string(outBuf))
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_PostConfigureNetNS:
/* handler: j.PostConfigureNetNS type=bool kind=bool quoted=false*/
{
if tok != fflib.FFTok_bool && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for bool", tok))
}
}
{
if tok == fflib.FFTok_null {
} else {
tmpb := fs.Output.Bytes()
if bytes.Compare([]byte{'t', 'r', 'u', 'e'}, tmpb) == 0 {
j.PostConfigureNetNS = true
} else if bytes.Compare([]byte{'f', 'a', 'l', 's', 'e'}, tmpb) == 0 {
j.PostConfigureNetNS = false
} else {
err = errors.New("unexpected bytes for true/false value")
return fs.WrapErr(err)
}
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_ExitCommand:
/* handler: j.ExitCommand type=[]string kind=slice quoted=false*/
{
{
if tok != fflib.FFTok_left_brace && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for ", tok))
}
}
if tok == fflib.FFTok_null {
j.ExitCommand = nil
} else {
j.ExitCommand = []string{}
wantVal := true
for {
var tmpJExitCommand string
tok = fs.Scan()
if tok == fflib.FFTok_error {
goto tokerror
}
if tok == fflib.FFTok_right_brace {
break
}
if tok == fflib.FFTok_comma {
if wantVal == true {
// TODO(pquerna): this isn't an ideal error message, this handles
// things like [,,,] as an array value.
return fs.WrapErr(fmt.Errorf("wanted value token, but got token: %v", tok))
}
continue
} else {
wantVal = true
}
/* handler: tmpJExitCommand type=string kind=string quoted=false*/
{
{
if tok != fflib.FFTok_string && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for string", tok))
}
}
if tok == fflib.FFTok_null {
} else {
outBuf := fs.Output.Bytes()
tmpJExitCommand = string(string(outBuf))
}
}
j.ExitCommand = append(j.ExitCommand, tmpJExitCommand)
wantVal = false
}
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_LocalVolumes:
/* handler: j.LocalVolumes type=[]string kind=slice quoted=false*/
{
{
if tok != fflib.FFTok_left_brace && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for ", tok))
}
}
if tok == fflib.FFTok_null {
j.LocalVolumes = nil
} else {
j.LocalVolumes = []string{}
wantVal := true
for {
var tmpJLocalVolumes string
tok = fs.Scan()
if tok == fflib.FFTok_error {
goto tokerror
}
if tok == fflib.FFTok_right_brace {
break
}
if tok == fflib.FFTok_comma {
if wantVal == true {
// TODO(pquerna): this isn't an ideal error message, this handles
// things like [,,,] as an array value.
return fs.WrapErr(fmt.Errorf("wanted value token, but got token: %v", tok))
}
continue
} else {
wantVal = true
}
/* handler: tmpJLocalVolumes type=string kind=string quoted=false*/
{
{
if tok != fflib.FFTok_string && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for string", tok))
}
}
if tok == fflib.FFTok_null {
} else {
outBuf := fs.Output.Bytes()
tmpJLocalVolumes = string(string(outBuf))
}
}
j.LocalVolumes = append(j.LocalVolumes, tmpJLocalVolumes)
wantVal = false
}
}
}
state = fflib.FFParse_after_value
goto mainparse
wantedvalue:
return fs.WrapErr(fmt.Errorf("wanted value token, but got token: %v", tok))
wrongtokenerror:
return fs.WrapErr(fmt.Errorf("ffjson: wanted token: %v, but got token: %v output=%s", wantedTok, tok, fs.Output.String()))
tokerror:
if fs.BigError != nil {
return fs.WrapErr(fs.BigError)
}
err = fs.Error.ToError()
if err != nil {
return fs.WrapErr(err)
}
panic("ffjson-generated: unreachable, please report bug.")
done:
return nil
}
// MarshalJSON marshal bytes to json - template
func (j *ExecSession) MarshalJSON() ([]byte, error) {
var buf fflib.Buffer
if j == nil {
buf.WriteString("null")
return buf.Bytes(), nil
}
err := j.MarshalJSONBuf(&buf)
if err != nil {
return nil, err
}
return buf.Bytes(), nil
}
// MarshalJSONBuf marshal buff to json - template
func (j *ExecSession) MarshalJSONBuf(buf fflib.EncodingBuffer) error {
if j == nil {
buf.WriteString("null")
return nil
}
var err error
var obj []byte
_ = obj
_ = err
buf.WriteString(`{"id":`)
fflib.WriteJsonString(buf, string(j.ID))
buf.WriteString(`,"command":`)
if j.Command != nil {
buf.WriteString(`[`)
for i, v := range j.Command {
if i != 0 {
buf.WriteString(`,`)
}
fflib.WriteJsonString(buf, string(v))
}
buf.WriteString(`]`)
} else {
buf.WriteString(`null`)
}
buf.WriteString(`,"pid":`)
fflib.FormatBits2(buf, uint64(j.PID), 10, j.PID < 0)
buf.WriteByte('}')
return nil
}
const (
ffjtExecSessionbase = iota
ffjtExecSessionnosuchkey
ffjtExecSessionID
ffjtExecSessionCommand
ffjtExecSessionPID
)
var ffjKeyExecSessionID = []byte("id")
var ffjKeyExecSessionCommand = []byte("command")
var ffjKeyExecSessionPID = []byte("pid")
// UnmarshalJSON umarshall json - template of ffjson
func (j *ExecSession) UnmarshalJSON(input []byte) error {
fs := fflib.NewFFLexer(input)
return j.UnmarshalJSONFFLexer(fs, fflib.FFParse_map_start)
}
// UnmarshalJSONFFLexer fast json unmarshall - template ffjson
func (j *ExecSession) UnmarshalJSONFFLexer(fs *fflib.FFLexer, state fflib.FFParseState) error {
var err error
currentKey := ffjtExecSessionbase
_ = currentKey
tok := fflib.FFTok_init
wantedTok := fflib.FFTok_init
mainparse:
for {
tok = fs.Scan()
// println(fmt.Sprintf("debug: tok: %v state: %v", tok, state))
if tok == fflib.FFTok_error {
goto tokerror
}
switch state {
case fflib.FFParse_map_start:
if tok != fflib.FFTok_left_bracket {
wantedTok = fflib.FFTok_left_bracket
goto wrongtokenerror
}
state = fflib.FFParse_want_key
continue
case fflib.FFParse_after_value:
if tok == fflib.FFTok_comma {
state = fflib.FFParse_want_key
} else if tok == fflib.FFTok_right_bracket {
goto done
} else {
wantedTok = fflib.FFTok_comma
goto wrongtokenerror
}
case fflib.FFParse_want_key:
// json {} ended. goto exit. woo.
if tok == fflib.FFTok_right_bracket {
goto done
}
if tok != fflib.FFTok_string {
wantedTok = fflib.FFTok_string
goto wrongtokenerror
}
kn := fs.Output.Bytes()
if len(kn) <= 0 {
// "" case. hrm.
currentKey = ffjtExecSessionnosuchkey
state = fflib.FFParse_want_colon
goto mainparse
} else {
switch kn[0] {
case 'c':
if bytes.Equal(ffjKeyExecSessionCommand, kn) {
currentKey = ffjtExecSessionCommand
state = fflib.FFParse_want_colon
goto mainparse
}
case 'i':
if bytes.Equal(ffjKeyExecSessionID, kn) {
currentKey = ffjtExecSessionID
state = fflib.FFParse_want_colon
goto mainparse
}
case 'p':
if bytes.Equal(ffjKeyExecSessionPID, kn) {
currentKey = ffjtExecSessionPID
state = fflib.FFParse_want_colon
goto mainparse
}
}
if fflib.SimpleLetterEqualFold(ffjKeyExecSessionPID, kn) {
currentKey = ffjtExecSessionPID
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.SimpleLetterEqualFold(ffjKeyExecSessionCommand, kn) {
currentKey = ffjtExecSessionCommand
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.SimpleLetterEqualFold(ffjKeyExecSessionID, kn) {
currentKey = ffjtExecSessionID
state = fflib.FFParse_want_colon
goto mainparse
}
currentKey = ffjtExecSessionnosuchkey
state = fflib.FFParse_want_colon
goto mainparse
}
case fflib.FFParse_want_colon:
if tok != fflib.FFTok_colon {
wantedTok = fflib.FFTok_colon
goto wrongtokenerror
}
state = fflib.FFParse_want_value
continue
case fflib.FFParse_want_value:
if tok == fflib.FFTok_left_brace || tok == fflib.FFTok_left_bracket || tok == fflib.FFTok_integer || tok == fflib.FFTok_double || tok == fflib.FFTok_string || tok == fflib.FFTok_bool || tok == fflib.FFTok_null {
switch currentKey {
case ffjtExecSessionID:
goto handle_ID
case ffjtExecSessionCommand:
goto handle_Command
case ffjtExecSessionPID:
goto handle_PID
case ffjtExecSessionnosuchkey:
err = fs.SkipField(tok)
if err != nil {
return fs.WrapErr(err)
}
state = fflib.FFParse_after_value
goto mainparse
}
} else {
goto wantedvalue
}
}
}
handle_ID:
/* handler: j.ID type=string kind=string quoted=false*/
{
{
if tok != fflib.FFTok_string && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for string", tok))
}
}
if tok == fflib.FFTok_null {
} else {
outBuf := fs.Output.Bytes()
j.ID = string(string(outBuf))
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_Command:
/* handler: j.Command type=[]string kind=slice quoted=false*/
{
{
if tok != fflib.FFTok_left_brace && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for ", tok))
}
}
if tok == fflib.FFTok_null {
j.Command = nil
} else {
j.Command = []string{}
wantVal := true
for {
var tmpJCommand string
tok = fs.Scan()
if tok == fflib.FFTok_error {
goto tokerror
}
if tok == fflib.FFTok_right_brace {
break
}
if tok == fflib.FFTok_comma {
if wantVal == true {
// TODO(pquerna): this isn't an ideal error message, this handles
// things like [,,,] as an array value.
return fs.WrapErr(fmt.Errorf("wanted value token, but got token: %v", tok))
}
continue
} else {
wantVal = true
}
/* handler: tmpJCommand type=string kind=string quoted=false*/
{
{
if tok != fflib.FFTok_string && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for string", tok))
}
}
if tok == fflib.FFTok_null {
} else {
outBuf := fs.Output.Bytes()
tmpJCommand = string(string(outBuf))
}
}
j.Command = append(j.Command, tmpJCommand)
wantVal = false
}
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_PID:
/* handler: j.PID type=int kind=int quoted=false*/
{
if tok != fflib.FFTok_integer && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for int", tok))
}
}
{
if tok == fflib.FFTok_null {
} else {
tval, err := fflib.ParseInt(fs.Output.Bytes(), 10, 64)
if err != nil {
return fs.WrapErr(err)
}
j.PID = int(tval)
}
}
state = fflib.FFParse_after_value
goto mainparse
wantedvalue:
return fs.WrapErr(fmt.Errorf("wanted value token, but got token: %v", tok))
wrongtokenerror:
return fs.WrapErr(fmt.Errorf("ffjson: wanted token: %v, but got token: %v output=%s", wantedTok, tok, fs.Output.String()))
tokerror:
if fs.BigError != nil {
return fs.WrapErr(fs.BigError)
}
err = fs.Error.ToError()
if err != nil {
return fs.WrapErr(err)
}
panic("ffjson-generated: unreachable, please report bug.")
done:
return nil
}
// MarshalJSON marshal bytes to json - template
func (j *containerState) MarshalJSON() ([]byte, error) {
var buf fflib.Buffer
if j == nil {
buf.WriteString("null")
return buf.Bytes(), nil
}
err := j.MarshalJSONBuf(&buf)
if err != nil {
return nil, err
}
return buf.Bytes(), nil
}
// MarshalJSONBuf marshal buff to json - template
func (j *containerState) MarshalJSONBuf(buf fflib.EncodingBuffer) error {
if j == nil {
buf.WriteString("null")
return nil
}
var err error
var obj []byte
_ = obj
_ = err
buf.WriteString(`{ "state":`)
fflib.FormatBits2(buf, uint64(j.State), 10, j.State < 0)
buf.WriteByte(',')
if len(j.ConfigPath) != 0 {
buf.WriteString(`"configPath":`)
fflib.WriteJsonString(buf, string(j.ConfigPath))
buf.WriteByte(',')
}
if len(j.RunDir) != 0 {
buf.WriteString(`"runDir":`)
fflib.WriteJsonString(buf, string(j.RunDir))
buf.WriteByte(',')
}
if len(j.DestinationRunDir) != 0 {
buf.WriteString(`"destinationRunDir":`)
fflib.WriteJsonString(buf, string(j.DestinationRunDir))
buf.WriteByte(',')
}
if j.Mounted != false {
if j.Mounted {
buf.WriteString(`"mounted":true`)
} else {
buf.WriteString(`"mounted":false`)
}
buf.WriteByte(',')
}
if len(j.Mountpoint) != 0 {
buf.WriteString(`"mountPoint":`)
fflib.WriteJsonString(buf, string(j.Mountpoint))
buf.WriteByte(',')
}
if len(j.RealMountpoint) != 0 {
buf.WriteString(`"realMountPoint":`)
fflib.WriteJsonString(buf, string(j.RealMountpoint))
buf.WriteByte(',')
}
if true {
buf.WriteString(`"startedTime":`)
{
obj, err = j.StartedTime.MarshalJSON()
if err != nil {
return err
}
buf.Write(obj)
}
buf.WriteByte(',')
}
if true {
buf.WriteString(`"finishedTime":`)
{
obj, err = j.FinishedTime.MarshalJSON()
if err != nil {
return err
}
buf.Write(obj)
}
buf.WriteByte(',')
}
if j.ExitCode != 0 {
buf.WriteString(`"exitCode":`)
fflib.FormatBits2(buf, uint64(j.ExitCode), 10, j.ExitCode < 0)
buf.WriteByte(',')
}
if j.Exited != false {
if j.Exited {
buf.WriteString(`"exited":true`)
} else {
buf.WriteString(`"exited":false`)
}
buf.WriteByte(',')
}
if j.OOMKilled != false {
if j.OOMKilled {
buf.WriteString(`"oomKilled":true`)
} else {
buf.WriteString(`"oomKilled":false`)
}
buf.WriteByte(',')
}
if j.PID != 0 {
buf.WriteString(`"pid":`)
fflib.FormatBits2(buf, uint64(j.PID), 10, j.PID < 0)
buf.WriteByte(',')
}
if len(j.ExecSessions) != 0 {
buf.WriteString(`"execSessions":`)
/* Falling back. type=map[string]*libpod.ExecSession kind=map */
err = buf.Encode(j.ExecSessions)
if err != nil {
return err
}
buf.WriteByte(',')
}
if len(j.NetworkStatus) != 0 {
buf.WriteString(`"networkResults":`)
if j.NetworkStatus != nil {
buf.WriteString(`[`)
for i, v := range j.NetworkStatus {
if i != 0 {
buf.WriteString(`,`)
}
if v != nil {
/* Struct fall back. type=current.Result kind=struct */
err = buf.Encode(&v)
if err != nil {
return err
}
} else {
buf.WriteString(`null`)
}
}
buf.WriteString(`]`)
} else {
buf.WriteString(`null`)
}
buf.WriteByte(',')
}
if len(j.BindMounts) != 0 {
if j.BindMounts == nil {
buf.WriteString(`"bindMounts":null`)
} else {
buf.WriteString(`"bindMounts":{ `)
for key, value := range j.BindMounts {
fflib.WriteJsonString(buf, key)
buf.WriteString(`:`)
fflib.WriteJsonString(buf, string(value))
buf.WriteByte(',')
}
buf.Rewind(1)
buf.WriteByte('}')
}
buf.WriteByte(',')
}
if len(j.UserNSRoot) != 0 {
buf.WriteString(`"userNSRoot":`)
fflib.WriteJsonString(buf, string(j.UserNSRoot))
buf.WriteByte(',')
}
if len(j.ExtensionStageHooks) != 0 {
buf.WriteString(`"extensionStageHooks":`)
/* Falling back. type=map[string][]specs.Hook kind=map */
err = buf.Encode(j.ExtensionStageHooks)
if err != nil {
return err
}
buf.WriteByte(',')
}
buf.Rewind(1)
buf.WriteByte('}')
return nil
}
const (
ffjtcontainerStatebase = iota
ffjtcontainerStatenosuchkey
ffjtcontainerStateState
ffjtcontainerStateConfigPath
ffjtcontainerStateRunDir
ffjtcontainerStateDestinationRunDir
ffjtcontainerStateMounted
ffjtcontainerStateMountpoint
ffjtcontainerStateRealMountpoint
ffjtcontainerStateStartedTime
ffjtcontainerStateFinishedTime
ffjtcontainerStateExitCode
ffjtcontainerStateExited
ffjtcontainerStateOOMKilled
ffjtcontainerStatePID
ffjtcontainerStateExecSessions
ffjtcontainerStateNetworkStatus
ffjtcontainerStateBindMounts
ffjtcontainerStateUserNSRoot
ffjtcontainerStateExtensionStageHooks
)
var ffjKeycontainerStateState = []byte("state")
var ffjKeycontainerStateConfigPath = []byte("configPath")
var ffjKeycontainerStateRunDir = []byte("runDir")
var ffjKeycontainerStateDestinationRunDir = []byte("destinationRunDir")
var ffjKeycontainerStateMounted = []byte("mounted")
var ffjKeycontainerStateMountpoint = []byte("mountPoint")
var ffjKeycontainerStateRealMountpoint = []byte("realMountPoint")
var ffjKeycontainerStateStartedTime = []byte("startedTime")
var ffjKeycontainerStateFinishedTime = []byte("finishedTime")
var ffjKeycontainerStateExitCode = []byte("exitCode")
var ffjKeycontainerStateExited = []byte("exited")
var ffjKeycontainerStateOOMKilled = []byte("oomKilled")
var ffjKeycontainerStatePID = []byte("pid")
var ffjKeycontainerStateExecSessions = []byte("execSessions")
var ffjKeycontainerStateNetworkStatus = []byte("networkResults")
var ffjKeycontainerStateBindMounts = []byte("bindMounts")
var ffjKeycontainerStateUserNSRoot = []byte("userNSRoot")
var ffjKeycontainerStateExtensionStageHooks = []byte("extensionStageHooks")
// UnmarshalJSON umarshall json - template of ffjson
func (j *containerState) UnmarshalJSON(input []byte) error {
fs := fflib.NewFFLexer(input)
return j.UnmarshalJSONFFLexer(fs, fflib.FFParse_map_start)
}
// UnmarshalJSONFFLexer fast json unmarshall - template ffjson
func (j *containerState) UnmarshalJSONFFLexer(fs *fflib.FFLexer, state fflib.FFParseState) error {
var err error
currentKey := ffjtcontainerStatebase
_ = currentKey
tok := fflib.FFTok_init
wantedTok := fflib.FFTok_init
mainparse:
for {
tok = fs.Scan()
// println(fmt.Sprintf("debug: tok: %v state: %v", tok, state))
if tok == fflib.FFTok_error {
goto tokerror
}
switch state {
case fflib.FFParse_map_start:
if tok != fflib.FFTok_left_bracket {
wantedTok = fflib.FFTok_left_bracket
goto wrongtokenerror
}
state = fflib.FFParse_want_key
continue
case fflib.FFParse_after_value:
if tok == fflib.FFTok_comma {
state = fflib.FFParse_want_key
} else if tok == fflib.FFTok_right_bracket {
goto done
} else {
wantedTok = fflib.FFTok_comma
goto wrongtokenerror
}
case fflib.FFParse_want_key:
// json {} ended. goto exit. woo.
if tok == fflib.FFTok_right_bracket {
goto done
}
if tok != fflib.FFTok_string {
wantedTok = fflib.FFTok_string
goto wrongtokenerror
}
kn := fs.Output.Bytes()
if len(kn) <= 0 {
// "" case. hrm.
currentKey = ffjtcontainerStatenosuchkey
state = fflib.FFParse_want_colon
goto mainparse
} else {
switch kn[0] {
case 'b':
if bytes.Equal(ffjKeycontainerStateBindMounts, kn) {
currentKey = ffjtcontainerStateBindMounts
state = fflib.FFParse_want_colon
goto mainparse
}
case 'c':
if bytes.Equal(ffjKeycontainerStateConfigPath, kn) {
currentKey = ffjtcontainerStateConfigPath
state = fflib.FFParse_want_colon
goto mainparse
}
case 'd':
if bytes.Equal(ffjKeycontainerStateDestinationRunDir, kn) {
currentKey = ffjtcontainerStateDestinationRunDir
state = fflib.FFParse_want_colon
goto mainparse
}
case 'e':
if bytes.Equal(ffjKeycontainerStateExitCode, kn) {
currentKey = ffjtcontainerStateExitCode
state = fflib.FFParse_want_colon
goto mainparse
} else if bytes.Equal(ffjKeycontainerStateExited, kn) {
currentKey = ffjtcontainerStateExited
state = fflib.FFParse_want_colon
goto mainparse
} else if bytes.Equal(ffjKeycontainerStateExecSessions, kn) {
currentKey = ffjtcontainerStateExecSessions
state = fflib.FFParse_want_colon
goto mainparse
} else if bytes.Equal(ffjKeycontainerStateExtensionStageHooks, kn) {
currentKey = ffjtcontainerStateExtensionStageHooks
state = fflib.FFParse_want_colon
goto mainparse
}
case 'f':
if bytes.Equal(ffjKeycontainerStateFinishedTime, kn) {
currentKey = ffjtcontainerStateFinishedTime
state = fflib.FFParse_want_colon
goto mainparse
}
case 'm':
if bytes.Equal(ffjKeycontainerStateMounted, kn) {
currentKey = ffjtcontainerStateMounted
state = fflib.FFParse_want_colon
goto mainparse
} else if bytes.Equal(ffjKeycontainerStateMountpoint, kn) {
currentKey = ffjtcontainerStateMountpoint
state = fflib.FFParse_want_colon
goto mainparse
}
case 'n':
if bytes.Equal(ffjKeycontainerStateNetworkStatus, kn) {
currentKey = ffjtcontainerStateNetworkStatus
state = fflib.FFParse_want_colon
goto mainparse
}
case 'o':
if bytes.Equal(ffjKeycontainerStateOOMKilled, kn) {
currentKey = ffjtcontainerStateOOMKilled
state = fflib.FFParse_want_colon
goto mainparse
}
case 'p':
if bytes.Equal(ffjKeycontainerStatePID, kn) {
currentKey = ffjtcontainerStatePID
state = fflib.FFParse_want_colon
goto mainparse
}
case 'r':
if bytes.Equal(ffjKeycontainerStateRunDir, kn) {
currentKey = ffjtcontainerStateRunDir
state = fflib.FFParse_want_colon
goto mainparse
} else if bytes.Equal(ffjKeycontainerStateRealMountpoint, kn) {
currentKey = ffjtcontainerStateRealMountpoint
state = fflib.FFParse_want_colon
goto mainparse
}
case 's':
if bytes.Equal(ffjKeycontainerStateState, kn) {
currentKey = ffjtcontainerStateState
state = fflib.FFParse_want_colon
goto mainparse
} else if bytes.Equal(ffjKeycontainerStateStartedTime, kn) {
currentKey = ffjtcontainerStateStartedTime
state = fflib.FFParse_want_colon
goto mainparse
}
case 'u':
if bytes.Equal(ffjKeycontainerStateUserNSRoot, kn) {
currentKey = ffjtcontainerStateUserNSRoot
state = fflib.FFParse_want_colon
goto mainparse
}
}
if fflib.EqualFoldRight(ffjKeycontainerStateExtensionStageHooks, kn) {
currentKey = ffjtcontainerStateExtensionStageHooks
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.EqualFoldRight(ffjKeycontainerStateUserNSRoot, kn) {
currentKey = ffjtcontainerStateUserNSRoot
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.EqualFoldRight(ffjKeycontainerStateBindMounts, kn) {
currentKey = ffjtcontainerStateBindMounts
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.EqualFoldRight(ffjKeycontainerStateNetworkStatus, kn) {
currentKey = ffjtcontainerStateNetworkStatus
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.EqualFoldRight(ffjKeycontainerStateExecSessions, kn) {
currentKey = ffjtcontainerStateExecSessions
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.SimpleLetterEqualFold(ffjKeycontainerStatePID, kn) {
currentKey = ffjtcontainerStatePID
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.EqualFoldRight(ffjKeycontainerStateOOMKilled, kn) {
currentKey = ffjtcontainerStateOOMKilled
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.SimpleLetterEqualFold(ffjKeycontainerStateExited, kn) {
currentKey = ffjtcontainerStateExited
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.SimpleLetterEqualFold(ffjKeycontainerStateExitCode, kn) {
currentKey = ffjtcontainerStateExitCode
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.EqualFoldRight(ffjKeycontainerStateFinishedTime, kn) {
currentKey = ffjtcontainerStateFinishedTime
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.EqualFoldRight(ffjKeycontainerStateStartedTime, kn) {
currentKey = ffjtcontainerStateStartedTime
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.SimpleLetterEqualFold(ffjKeycontainerStateRealMountpoint, kn) {
currentKey = ffjtcontainerStateRealMountpoint
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.SimpleLetterEqualFold(ffjKeycontainerStateMountpoint, kn) {
currentKey = ffjtcontainerStateMountpoint
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.SimpleLetterEqualFold(ffjKeycontainerStateMounted, kn) {
currentKey = ffjtcontainerStateMounted
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.EqualFoldRight(ffjKeycontainerStateDestinationRunDir, kn) {
currentKey = ffjtcontainerStateDestinationRunDir
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.SimpleLetterEqualFold(ffjKeycontainerStateRunDir, kn) {
currentKey = ffjtcontainerStateRunDir
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.SimpleLetterEqualFold(ffjKeycontainerStateConfigPath, kn) {
currentKey = ffjtcontainerStateConfigPath
state = fflib.FFParse_want_colon
goto mainparse
}
if fflib.EqualFoldRight(ffjKeycontainerStateState, kn) {
currentKey = ffjtcontainerStateState
state = fflib.FFParse_want_colon
goto mainparse
}
currentKey = ffjtcontainerStatenosuchkey
state = fflib.FFParse_want_colon
goto mainparse
}
case fflib.FFParse_want_colon:
if tok != fflib.FFTok_colon {
wantedTok = fflib.FFTok_colon
goto wrongtokenerror
}
state = fflib.FFParse_want_value
continue
case fflib.FFParse_want_value:
if tok == fflib.FFTok_left_brace || tok == fflib.FFTok_left_bracket || tok == fflib.FFTok_integer || tok == fflib.FFTok_double || tok == fflib.FFTok_string || tok == fflib.FFTok_bool || tok == fflib.FFTok_null {
switch currentKey {
case ffjtcontainerStateState:
goto handle_State
case ffjtcontainerStateConfigPath:
goto handle_ConfigPath
case ffjtcontainerStateRunDir:
goto handle_RunDir
case ffjtcontainerStateDestinationRunDir:
goto handle_DestinationRunDir
case ffjtcontainerStateMounted:
goto handle_Mounted
case ffjtcontainerStateMountpoint:
goto handle_Mountpoint
case ffjtcontainerStateRealMountpoint:
goto handle_RealMountpoint
case ffjtcontainerStateStartedTime:
goto handle_StartedTime
case ffjtcontainerStateFinishedTime:
goto handle_FinishedTime
case ffjtcontainerStateExitCode:
goto handle_ExitCode
case ffjtcontainerStateExited:
goto handle_Exited
case ffjtcontainerStateOOMKilled:
goto handle_OOMKilled
case ffjtcontainerStatePID:
goto handle_PID
case ffjtcontainerStateExecSessions:
goto handle_ExecSessions
case ffjtcontainerStateNetworkStatus:
goto handle_NetworkStatus
case ffjtcontainerStateBindMounts:
goto handle_BindMounts
case ffjtcontainerStateUserNSRoot:
goto handle_UserNSRoot
case ffjtcontainerStateExtensionStageHooks:
goto handle_ExtensionStageHooks
case ffjtcontainerStatenosuchkey:
err = fs.SkipField(tok)
if err != nil {
return fs.WrapErr(err)
}
state = fflib.FFParse_after_value
goto mainparse
}
} else {
goto wantedvalue
}
}
}
handle_State:
/* handler: j.State type=libpod.ContainerStatus kind=int quoted=false*/
{
if tok != fflib.FFTok_integer && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for ContainerStatus", tok))
}
}
{
if tok == fflib.FFTok_null {
} else {
tval, err := fflib.ParseInt(fs.Output.Bytes(), 10, 64)
if err != nil {
return fs.WrapErr(err)
}
j.State = ContainerStatus(tval)
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_ConfigPath:
/* handler: j.ConfigPath type=string kind=string quoted=false*/
{
{
if tok != fflib.FFTok_string && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for string", tok))
}
}
if tok == fflib.FFTok_null {
} else {
outBuf := fs.Output.Bytes()
j.ConfigPath = string(string(outBuf))
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_RunDir:
/* handler: j.RunDir type=string kind=string quoted=false*/
{
{
if tok != fflib.FFTok_string && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for string", tok))
}
}
if tok == fflib.FFTok_null {
} else {
outBuf := fs.Output.Bytes()
j.RunDir = string(string(outBuf))
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_DestinationRunDir:
/* handler: j.DestinationRunDir type=string kind=string quoted=false*/
{
{
if tok != fflib.FFTok_string && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for string", tok))
}
}
if tok == fflib.FFTok_null {
} else {
outBuf := fs.Output.Bytes()
j.DestinationRunDir = string(string(outBuf))
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_Mounted:
/* handler: j.Mounted type=bool kind=bool quoted=false*/
{
if tok != fflib.FFTok_bool && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for bool", tok))
}
}
{
if tok == fflib.FFTok_null {
} else {
tmpb := fs.Output.Bytes()
if bytes.Compare([]byte{'t', 'r', 'u', 'e'}, tmpb) == 0 {
j.Mounted = true
} else if bytes.Compare([]byte{'f', 'a', 'l', 's', 'e'}, tmpb) == 0 {
j.Mounted = false
} else {
err = errors.New("unexpected bytes for true/false value")
return fs.WrapErr(err)
}
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_Mountpoint:
/* handler: j.Mountpoint type=string kind=string quoted=false*/
{
{
if tok != fflib.FFTok_string && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for string", tok))
}
}
if tok == fflib.FFTok_null {
} else {
outBuf := fs.Output.Bytes()
j.Mountpoint = string(string(outBuf))
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_RealMountpoint:
/* handler: j.RealMountpoint type=string kind=string quoted=false*/
{
{
if tok != fflib.FFTok_string && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for string", tok))
}
}
if tok == fflib.FFTok_null {
} else {
outBuf := fs.Output.Bytes()
j.RealMountpoint = string(string(outBuf))
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_StartedTime:
/* handler: j.StartedTime type=time.Time kind=struct quoted=false*/
{
if tok == fflib.FFTok_null {
} else {
tbuf, err := fs.CaptureField(tok)
if err != nil {
return fs.WrapErr(err)
}
err = j.StartedTime.UnmarshalJSON(tbuf)
if err != nil {
return fs.WrapErr(err)
}
}
state = fflib.FFParse_after_value
}
state = fflib.FFParse_after_value
goto mainparse
handle_FinishedTime:
/* handler: j.FinishedTime type=time.Time kind=struct quoted=false*/
{
if tok == fflib.FFTok_null {
} else {
tbuf, err := fs.CaptureField(tok)
if err != nil {
return fs.WrapErr(err)
}
err = j.FinishedTime.UnmarshalJSON(tbuf)
if err != nil {
return fs.WrapErr(err)
}
}
state = fflib.FFParse_after_value
}
state = fflib.FFParse_after_value
goto mainparse
handle_ExitCode:
/* handler: j.ExitCode type=int32 kind=int32 quoted=false*/
{
if tok != fflib.FFTok_integer && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for int32", tok))
}
}
{
if tok == fflib.FFTok_null {
} else {
tval, err := fflib.ParseInt(fs.Output.Bytes(), 10, 32)
if err != nil {
return fs.WrapErr(err)
}
j.ExitCode = int32(tval)
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_Exited:
/* handler: j.Exited type=bool kind=bool quoted=false*/
{
if tok != fflib.FFTok_bool && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for bool", tok))
}
}
{
if tok == fflib.FFTok_null {
} else {
tmpb := fs.Output.Bytes()
if bytes.Compare([]byte{'t', 'r', 'u', 'e'}, tmpb) == 0 {
j.Exited = true
} else if bytes.Compare([]byte{'f', 'a', 'l', 's', 'e'}, tmpb) == 0 {
j.Exited = false
} else {
err = errors.New("unexpected bytes for true/false value")
return fs.WrapErr(err)
}
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_OOMKilled:
/* handler: j.OOMKilled type=bool kind=bool quoted=false*/
{
if tok != fflib.FFTok_bool && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for bool", tok))
}
}
{
if tok == fflib.FFTok_null {
} else {
tmpb := fs.Output.Bytes()
if bytes.Compare([]byte{'t', 'r', 'u', 'e'}, tmpb) == 0 {
j.OOMKilled = true
} else if bytes.Compare([]byte{'f', 'a', 'l', 's', 'e'}, tmpb) == 0 {
j.OOMKilled = false
} else {
err = errors.New("unexpected bytes for true/false value")
return fs.WrapErr(err)
}
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_PID:
/* handler: j.PID type=int kind=int quoted=false*/
{
if tok != fflib.FFTok_integer && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for int", tok))
}
}
{
if tok == fflib.FFTok_null {
} else {
tval, err := fflib.ParseInt(fs.Output.Bytes(), 10, 64)
if err != nil {
return fs.WrapErr(err)
}
j.PID = int(tval)
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_ExecSessions:
/* handler: j.ExecSessions type=map[string]*libpod.ExecSession kind=map quoted=false*/
{
{
if tok != fflib.FFTok_left_bracket && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for ", tok))
}
}
if tok == fflib.FFTok_null {
j.ExecSessions = nil
} else {
j.ExecSessions = make(map[string]*ExecSession, 0)
wantVal := true
for {
var k string
var tmpJExecSessions *ExecSession
tok = fs.Scan()
if tok == fflib.FFTok_error {
goto tokerror
}
if tok == fflib.FFTok_right_bracket {
break
}
if tok == fflib.FFTok_comma {
if wantVal == true {
// TODO(pquerna): this isn't an ideal error message, this handles
// things like [,,,] as an array value.
return fs.WrapErr(fmt.Errorf("wanted value token, but got token: %v", tok))
}
continue
} else {
wantVal = true
}
/* handler: k type=string kind=string quoted=false*/
{
{
if tok != fflib.FFTok_string && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for string", tok))
}
}
if tok == fflib.FFTok_null {
} else {
outBuf := fs.Output.Bytes()
k = string(string(outBuf))
}
}
// Expect ':' after key
tok = fs.Scan()
if tok != fflib.FFTok_colon {
return fs.WrapErr(fmt.Errorf("wanted colon token, but got token: %v", tok))
}
tok = fs.Scan()
/* handler: tmpJExecSessions type=*libpod.ExecSession kind=ptr quoted=false*/
{
if tok == fflib.FFTok_null {
tmpJExecSessions = nil
} else {
if tmpJExecSessions == nil {
tmpJExecSessions = new(ExecSession)
}
err = tmpJExecSessions.UnmarshalJSONFFLexer(fs, fflib.FFParse_want_key)
if err != nil {
return err
}
}
state = fflib.FFParse_after_value
}
j.ExecSessions[k] = tmpJExecSessions
wantVal = false
}
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_NetworkStatus:
/* handler: j.NetworkStatus type=[]*current.Result kind=slice quoted=false*/
{
{
if tok != fflib.FFTok_left_brace && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for ", tok))
}
}
if tok == fflib.FFTok_null {
j.NetworkStatus = nil
} else {
j.NetworkStatus = []*current.Result{}
wantVal := true
for {
var tmpJNetworkStatus *current.Result
tok = fs.Scan()
if tok == fflib.FFTok_error {
goto tokerror
}
if tok == fflib.FFTok_right_brace {
break
}
if tok == fflib.FFTok_comma {
if wantVal == true {
// TODO(pquerna): this isn't an ideal error message, this handles
// things like [,,,] as an array value.
return fs.WrapErr(fmt.Errorf("wanted value token, but got token: %v", tok))
}
continue
} else {
wantVal = true
}
/* handler: tmpJNetworkStatus type=*current.Result kind=ptr quoted=false*/
{
if tok == fflib.FFTok_null {
tmpJNetworkStatus = nil
} else {
if tmpJNetworkStatus == nil {
tmpJNetworkStatus = new(current.Result)
}
/* handler: tmpJNetworkStatus type=current.Result kind=struct quoted=false*/
{
/* Falling back. type=current.Result kind=struct */
tbuf, err := fs.CaptureField(tok)
if err != nil {
return fs.WrapErr(err)
}
err = json.Unmarshal(tbuf, &tmpJNetworkStatus)
if err != nil {
return fs.WrapErr(err)
}
}
}
}
j.NetworkStatus = append(j.NetworkStatus, tmpJNetworkStatus)
wantVal = false
}
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_BindMounts:
/* handler: j.BindMounts type=map[string]string kind=map quoted=false*/
{
{
if tok != fflib.FFTok_left_bracket && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for ", tok))
}
}
if tok == fflib.FFTok_null {
j.BindMounts = nil
} else {
j.BindMounts = make(map[string]string, 0)
wantVal := true
for {
var k string
var tmpJBindMounts string
tok = fs.Scan()
if tok == fflib.FFTok_error {
goto tokerror
}
if tok == fflib.FFTok_right_bracket {
break
}
if tok == fflib.FFTok_comma {
if wantVal == true {
// TODO(pquerna): this isn't an ideal error message, this handles
// things like [,,,] as an array value.
return fs.WrapErr(fmt.Errorf("wanted value token, but got token: %v", tok))
}
continue
} else {
wantVal = true
}
/* handler: k type=string kind=string quoted=false*/
{
{
if tok != fflib.FFTok_string && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for string", tok))
}
}
if tok == fflib.FFTok_null {
} else {
outBuf := fs.Output.Bytes()
k = string(string(outBuf))
}
}
// Expect ':' after key
tok = fs.Scan()
if tok != fflib.FFTok_colon {
return fs.WrapErr(fmt.Errorf("wanted colon token, but got token: %v", tok))
}
tok = fs.Scan()
/* handler: tmpJBindMounts type=string kind=string quoted=false*/
{
{
if tok != fflib.FFTok_string && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for string", tok))
}
}
if tok == fflib.FFTok_null {
} else {
outBuf := fs.Output.Bytes()
tmpJBindMounts = string(string(outBuf))
}
}
j.BindMounts[k] = tmpJBindMounts
wantVal = false
}
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_UserNSRoot:
/* handler: j.UserNSRoot type=string kind=string quoted=false*/
{
{
if tok != fflib.FFTok_string && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for string", tok))
}
}
if tok == fflib.FFTok_null {
} else {
outBuf := fs.Output.Bytes()
j.UserNSRoot = string(string(outBuf))
}
}
state = fflib.FFParse_after_value
goto mainparse
handle_ExtensionStageHooks:
/* handler: j.ExtensionStageHooks type=map[string][]specs.Hook kind=map quoted=false*/
{
{
if tok != fflib.FFTok_left_bracket && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for ", tok))
}
}
if tok == fflib.FFTok_null {
j.ExtensionStageHooks = nil
} else {
j.ExtensionStageHooks = make(map[string][]specs.Hook, 0)
wantVal := true
for {
var k string
var tmpJExtensionStageHooks []specs.Hook
tok = fs.Scan()
if tok == fflib.FFTok_error {
goto tokerror
}
if tok == fflib.FFTok_right_bracket {
break
}
if tok == fflib.FFTok_comma {
if wantVal == true {
// TODO(pquerna): this isn't an ideal error message, this handles
// things like [,,,] as an array value.
return fs.WrapErr(fmt.Errorf("wanted value token, but got token: %v", tok))
}
continue
} else {
wantVal = true
}
/* handler: k type=string kind=string quoted=false*/
{
{
if tok != fflib.FFTok_string && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for string", tok))
}
}
if tok == fflib.FFTok_null {
} else {
outBuf := fs.Output.Bytes()
k = string(string(outBuf))
}
}
// Expect ':' after key
tok = fs.Scan()
if tok != fflib.FFTok_colon {
return fs.WrapErr(fmt.Errorf("wanted colon token, but got token: %v", tok))
}
tok = fs.Scan()
/* handler: tmpJExtensionStageHooks type=[]specs.Hook kind=slice quoted=false*/
{
{
if tok != fflib.FFTok_left_brace && tok != fflib.FFTok_null {
return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for ", tok))
}
}
if tok == fflib.FFTok_null {
tmpJExtensionStageHooks = nil
} else {
tmpJExtensionStageHooks = []specs.Hook{}
wantVal := true
for {
var tmpTmpJExtensionStageHooks specs.Hook
tok = fs.Scan()
if tok == fflib.FFTok_error {
goto tokerror
}
if tok == fflib.FFTok_right_brace {
break
}
if tok == fflib.FFTok_comma {
if wantVal == true {
// TODO(pquerna): this isn't an ideal error message, this handles
// things like [,,,] as an array value.
return fs.WrapErr(fmt.Errorf("wanted value token, but got token: %v", tok))
}
continue
} else {
wantVal = true
}
/* handler: tmpTmpJExtensionStageHooks type=specs.Hook kind=struct quoted=false*/
{
/* Falling back. type=specs.Hook kind=struct */
tbuf, err := fs.CaptureField(tok)
if err != nil {
return fs.WrapErr(err)
}
err = json.Unmarshal(tbuf, &tmpTmpJExtensionStageHooks)
if err != nil {
return fs.WrapErr(err)
}
}
tmpJExtensionStageHooks = append(tmpJExtensionStageHooks, tmpTmpJExtensionStageHooks)
wantVal = false
}
}
}
j.ExtensionStageHooks[k] = tmpJExtensionStageHooks
wantVal = false
}
}
}
state = fflib.FFParse_after_value
goto mainparse
wantedvalue:
return fs.WrapErr(fmt.Errorf("wanted value token, but got token: %v", tok))
wrongtokenerror:
return fs.WrapErr(fmt.Errorf("ffjson: wanted token: %v, but got token: %v output=%s", wantedTok, tok, fs.Output.String()))
tokerror:
if fs.BigError != nil {
return fs.WrapErr(fs.BigError)
}
err = fs.Error.ToError()
if err != nil {
return fs.WrapErr(err)
}
panic("ffjson-generated: unreachable, please report bug.")
done:
return nil
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/derekhjray/podman.git
git@gitee.com:derekhjray/podman.git
derekhjray
podman
podman
v0.8.2

搜索帮助