schema.go 104 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401
  1. // DO NOT EDIT: automatically generated code
  2. package ovn_nb
  3. import (
  4. "fmt"
  5. "github.com/pkg/errors"
  6. "yunion.io/x/ovsdb/types"
  7. )
  8. type OVNNorthbound struct {
  9. ACL ACLTable
  10. AddressSet AddressSetTable
  11. Connection ConnectionTable
  12. DHCPOptions DHCPOptionsTable
  13. DNS DNSTable
  14. GatewayChassis GatewayChassisTable
  15. HAChassis HAChassisTable
  16. HAChassisGroup HAChassisGroupTable
  17. LoadBalancer LoadBalancerTable
  18. LogicalRouter LogicalRouterTable
  19. LogicalRouterPolicy LogicalRouterPolicyTable
  20. LogicalRouterPort LogicalRouterPortTable
  21. LogicalRouterStaticRoute LogicalRouterStaticRouteTable
  22. LogicalSwitch LogicalSwitchTable
  23. LogicalSwitchPort LogicalSwitchPortTable
  24. Meter MeterTable
  25. MeterBand MeterBandTable
  26. NAT NATTable
  27. NBGlobal NBGlobalTable
  28. PortGroup PortGroupTable
  29. QoS QoSTable
  30. SSL SSLTable
  31. }
  32. var _ types.IDatabase = &OVNNorthbound{}
  33. func (db OVNNorthbound) FindOneMatchNonZeros(irow types.IRow) types.IRow {
  34. switch row := irow.(type) {
  35. case *ACL:
  36. if r := db.ACL.FindOneMatchNonZeros(row); r != nil {
  37. return r
  38. }
  39. return nil
  40. case *AddressSet:
  41. if r := db.AddressSet.FindOneMatchNonZeros(row); r != nil {
  42. return r
  43. }
  44. return nil
  45. case *Connection:
  46. if r := db.Connection.FindOneMatchNonZeros(row); r != nil {
  47. return r
  48. }
  49. return nil
  50. case *DHCPOptions:
  51. if r := db.DHCPOptions.FindOneMatchNonZeros(row); r != nil {
  52. return r
  53. }
  54. return nil
  55. case *DNS:
  56. if r := db.DNS.FindOneMatchNonZeros(row); r != nil {
  57. return r
  58. }
  59. return nil
  60. case *GatewayChassis:
  61. if r := db.GatewayChassis.FindOneMatchNonZeros(row); r != nil {
  62. return r
  63. }
  64. return nil
  65. case *HAChassis:
  66. if r := db.HAChassis.FindOneMatchNonZeros(row); r != nil {
  67. return r
  68. }
  69. return nil
  70. case *HAChassisGroup:
  71. if r := db.HAChassisGroup.FindOneMatchNonZeros(row); r != nil {
  72. return r
  73. }
  74. return nil
  75. case *LoadBalancer:
  76. if r := db.LoadBalancer.FindOneMatchNonZeros(row); r != nil {
  77. return r
  78. }
  79. return nil
  80. case *LogicalRouter:
  81. if r := db.LogicalRouter.FindOneMatchNonZeros(row); r != nil {
  82. return r
  83. }
  84. return nil
  85. case *LogicalRouterPolicy:
  86. if r := db.LogicalRouterPolicy.FindOneMatchNonZeros(row); r != nil {
  87. return r
  88. }
  89. return nil
  90. case *LogicalRouterPort:
  91. if r := db.LogicalRouterPort.FindOneMatchNonZeros(row); r != nil {
  92. return r
  93. }
  94. return nil
  95. case *LogicalRouterStaticRoute:
  96. if r := db.LogicalRouterStaticRoute.FindOneMatchNonZeros(row); r != nil {
  97. return r
  98. }
  99. return nil
  100. case *LogicalSwitch:
  101. if r := db.LogicalSwitch.FindOneMatchNonZeros(row); r != nil {
  102. return r
  103. }
  104. return nil
  105. case *LogicalSwitchPort:
  106. if r := db.LogicalSwitchPort.FindOneMatchNonZeros(row); r != nil {
  107. return r
  108. }
  109. return nil
  110. case *Meter:
  111. if r := db.Meter.FindOneMatchNonZeros(row); r != nil {
  112. return r
  113. }
  114. return nil
  115. case *MeterBand:
  116. if r := db.MeterBand.FindOneMatchNonZeros(row); r != nil {
  117. return r
  118. }
  119. return nil
  120. case *NAT:
  121. if r := db.NAT.FindOneMatchNonZeros(row); r != nil {
  122. return r
  123. }
  124. return nil
  125. case *NBGlobal:
  126. if r := db.NBGlobal.FindOneMatchNonZeros(row); r != nil {
  127. return r
  128. }
  129. return nil
  130. case *PortGroup:
  131. if r := db.PortGroup.FindOneMatchNonZeros(row); r != nil {
  132. return r
  133. }
  134. return nil
  135. case *QoS:
  136. if r := db.QoS.FindOneMatchNonZeros(row); r != nil {
  137. return r
  138. }
  139. return nil
  140. case *SSL:
  141. if r := db.SSL.FindOneMatchNonZeros(row); r != nil {
  142. return r
  143. }
  144. return nil
  145. }
  146. panic(types.ErrBadType)
  147. }
  148. func (db OVNNorthbound) FindOneMatchByAnyIndex(irow types.IRow) types.IRow {
  149. switch row := irow.(type) {
  150. case *ACL:
  151. if r := db.ACL.OvsdbGetByAnyIndex(row); r != nil {
  152. return r
  153. }
  154. return nil
  155. case *AddressSet:
  156. if r := db.AddressSet.OvsdbGetByAnyIndex(row); r != nil {
  157. return r
  158. }
  159. return nil
  160. case *Connection:
  161. if r := db.Connection.OvsdbGetByAnyIndex(row); r != nil {
  162. return r
  163. }
  164. return nil
  165. case *DHCPOptions:
  166. if r := db.DHCPOptions.OvsdbGetByAnyIndex(row); r != nil {
  167. return r
  168. }
  169. return nil
  170. case *DNS:
  171. if r := db.DNS.OvsdbGetByAnyIndex(row); r != nil {
  172. return r
  173. }
  174. return nil
  175. case *GatewayChassis:
  176. if r := db.GatewayChassis.OvsdbGetByAnyIndex(row); r != nil {
  177. return r
  178. }
  179. return nil
  180. case *HAChassis:
  181. if r := db.HAChassis.OvsdbGetByAnyIndex(row); r != nil {
  182. return r
  183. }
  184. return nil
  185. case *HAChassisGroup:
  186. if r := db.HAChassisGroup.OvsdbGetByAnyIndex(row); r != nil {
  187. return r
  188. }
  189. return nil
  190. case *LoadBalancer:
  191. if r := db.LoadBalancer.OvsdbGetByAnyIndex(row); r != nil {
  192. return r
  193. }
  194. return nil
  195. case *LogicalRouter:
  196. if r := db.LogicalRouter.OvsdbGetByAnyIndex(row); r != nil {
  197. return r
  198. }
  199. return nil
  200. case *LogicalRouterPolicy:
  201. if r := db.LogicalRouterPolicy.OvsdbGetByAnyIndex(row); r != nil {
  202. return r
  203. }
  204. return nil
  205. case *LogicalRouterPort:
  206. if r := db.LogicalRouterPort.OvsdbGetByAnyIndex(row); r != nil {
  207. return r
  208. }
  209. return nil
  210. case *LogicalRouterStaticRoute:
  211. if r := db.LogicalRouterStaticRoute.OvsdbGetByAnyIndex(row); r != nil {
  212. return r
  213. }
  214. return nil
  215. case *LogicalSwitch:
  216. if r := db.LogicalSwitch.OvsdbGetByAnyIndex(row); r != nil {
  217. return r
  218. }
  219. return nil
  220. case *LogicalSwitchPort:
  221. if r := db.LogicalSwitchPort.OvsdbGetByAnyIndex(row); r != nil {
  222. return r
  223. }
  224. return nil
  225. case *Meter:
  226. if r := db.Meter.OvsdbGetByAnyIndex(row); r != nil {
  227. return r
  228. }
  229. return nil
  230. case *MeterBand:
  231. if r := db.MeterBand.OvsdbGetByAnyIndex(row); r != nil {
  232. return r
  233. }
  234. return nil
  235. case *NAT:
  236. if r := db.NAT.OvsdbGetByAnyIndex(row); r != nil {
  237. return r
  238. }
  239. return nil
  240. case *NBGlobal:
  241. if r := db.NBGlobal.OvsdbGetByAnyIndex(row); r != nil {
  242. return r
  243. }
  244. return nil
  245. case *PortGroup:
  246. if r := db.PortGroup.OvsdbGetByAnyIndex(row); r != nil {
  247. return r
  248. }
  249. return nil
  250. case *QoS:
  251. if r := db.QoS.OvsdbGetByAnyIndex(row); r != nil {
  252. return r
  253. }
  254. return nil
  255. case *SSL:
  256. if r := db.SSL.OvsdbGetByAnyIndex(row); r != nil {
  257. return r
  258. }
  259. return nil
  260. }
  261. panic(types.ErrBadType)
  262. }
  263. type ACLTable []ACL
  264. var _ types.ITable = &ACLTable{}
  265. func (tbl ACLTable) OvsdbTableName() string {
  266. return "ACL"
  267. }
  268. func (tbl ACLTable) OvsdbIsRoot() bool {
  269. return false
  270. }
  271. func (tbl ACLTable) Rows() []types.IRow {
  272. r := make([]types.IRow, len(tbl))
  273. for i := range tbl {
  274. r[i] = &tbl[i]
  275. }
  276. return r
  277. }
  278. func (tbl ACLTable) NewRow() types.IRow {
  279. return &ACL{}
  280. }
  281. func (tbl *ACLTable) AppendRow(irow types.IRow) {
  282. row := irow.(*ACL)
  283. *tbl = append(*tbl, *row)
  284. }
  285. func (tbl ACLTable) OvsdbHasIndex() bool {
  286. return false
  287. }
  288. func (tbl ACLTable) OvsdbGetByAnyIndex(irow1 types.IRow) types.IRow {
  289. return nil
  290. }
  291. func (tbl ACLTable) FindOneMatchNonZeros(row1 *ACL) *ACL {
  292. for i := range tbl {
  293. row := &tbl[i]
  294. if row.MatchNonZeros(row1) {
  295. return row
  296. }
  297. }
  298. return nil
  299. }
  300. type ACL struct {
  301. Uuid string `json:"_uuid"`
  302. Version string `json:"_version"`
  303. Action string `json:"action"`
  304. Direction string `json:"direction"`
  305. ExternalIds map[string]string `json:"external_ids"`
  306. Log bool `json:"log"`
  307. Match string `json:"match"`
  308. Meter *string `json:"meter"`
  309. Name *string `json:"name"`
  310. Priority int64 `json:"priority"`
  311. Severity *string `json:"severity"`
  312. }
  313. var _ types.IRow = &ACL{}
  314. func (row *ACL) OvsdbTableName() string {
  315. return "ACL"
  316. }
  317. func (row *ACL) OvsdbIsRoot() bool {
  318. return false
  319. }
  320. func (row *ACL) OvsdbUuid() string {
  321. return row.Uuid
  322. }
  323. func (row *ACL) OvsdbCmdArgs() []string {
  324. r := []string{}
  325. r = append(r, types.OvsdbCmdArgsString("action", row.Action)...)
  326. r = append(r, types.OvsdbCmdArgsString("direction", row.Direction)...)
  327. r = append(r, types.OvsdbCmdArgsMapStringString("external_ids", row.ExternalIds)...)
  328. r = append(r, types.OvsdbCmdArgsBoolean("log", row.Log)...)
  329. r = append(r, types.OvsdbCmdArgsString("match", row.Match)...)
  330. r = append(r, types.OvsdbCmdArgsStringOptional("meter", row.Meter)...)
  331. r = append(r, types.OvsdbCmdArgsStringOptional("name", row.Name)...)
  332. r = append(r, types.OvsdbCmdArgsInteger("priority", row.Priority)...)
  333. r = append(r, types.OvsdbCmdArgsStringOptional("severity", row.Severity)...)
  334. return r
  335. }
  336. func (row *ACL) SetColumn(name string, val interface{}) (err error) {
  337. defer func() {
  338. if panicErr := recover(); panicErr != nil {
  339. err = errors.Wrapf(panicErr.(error), "%s: %#v", name, fmt.Sprintf("%#v", val))
  340. }
  341. }()
  342. switch name {
  343. case "_uuid":
  344. row.Uuid = types.EnsureUuid(val)
  345. case "_version":
  346. row.Version = types.EnsureUuid(val)
  347. case "action":
  348. row.Action = types.EnsureString(val)
  349. case "direction":
  350. row.Direction = types.EnsureString(val)
  351. case "external_ids":
  352. row.ExternalIds = types.EnsureMapStringString(val)
  353. case "log":
  354. row.Log = types.EnsureBoolean(val)
  355. case "match":
  356. row.Match = types.EnsureString(val)
  357. case "meter":
  358. row.Meter = types.EnsureStringOptional(val)
  359. case "name":
  360. row.Name = types.EnsureStringOptional(val)
  361. case "priority":
  362. row.Priority = types.EnsureInteger(val)
  363. case "severity":
  364. row.Severity = types.EnsureStringOptional(val)
  365. default:
  366. panic(types.ErrUnknownColumn)
  367. }
  368. return
  369. }
  370. func (row *ACL) MatchNonZeros(row1 *ACL) bool {
  371. if !types.MatchUuidIfNonZero(row.Uuid, row1.Uuid) {
  372. return false
  373. }
  374. if !types.MatchUuidIfNonZero(row.Version, row1.Version) {
  375. return false
  376. }
  377. if !types.MatchStringIfNonZero(row.Action, row1.Action) {
  378. return false
  379. }
  380. if !types.MatchStringIfNonZero(row.Direction, row1.Direction) {
  381. return false
  382. }
  383. if !types.MatchMapStringStringIfNonZero(row.ExternalIds, row1.ExternalIds) {
  384. return false
  385. }
  386. if !types.MatchBooleanIfNonZero(row.Log, row1.Log) {
  387. return false
  388. }
  389. if !types.MatchStringIfNonZero(row.Match, row1.Match) {
  390. return false
  391. }
  392. if !types.MatchStringOptionalIfNonZero(row.Meter, row1.Meter) {
  393. return false
  394. }
  395. if !types.MatchStringOptionalIfNonZero(row.Name, row1.Name) {
  396. return false
  397. }
  398. if !types.MatchIntegerIfNonZero(row.Priority, row1.Priority) {
  399. return false
  400. }
  401. if !types.MatchStringOptionalIfNonZero(row.Severity, row1.Severity) {
  402. return false
  403. }
  404. return true
  405. }
  406. func (row *ACL) HasExternalIds() bool {
  407. return true
  408. }
  409. func (row *ACL) SetExternalId(k, v string) {
  410. if row.ExternalIds == nil {
  411. row.ExternalIds = map[string]string{}
  412. }
  413. row.ExternalIds[k] = v
  414. }
  415. func (row *ACL) GetExternalId(k string) (string, bool) {
  416. if row.ExternalIds == nil {
  417. return "", false
  418. }
  419. r, ok := row.ExternalIds[k]
  420. return r, ok
  421. }
  422. func (row *ACL) RemoveExternalId(k string) (string, bool) {
  423. if row.ExternalIds == nil {
  424. return "", false
  425. }
  426. r, ok := row.ExternalIds[k]
  427. if ok {
  428. delete(row.ExternalIds, k)
  429. }
  430. return r, ok
  431. }
  432. type AddressSetTable []AddressSet
  433. var _ types.ITable = &AddressSetTable{}
  434. func (tbl AddressSetTable) OvsdbTableName() string {
  435. return "Address_Set"
  436. }
  437. func (tbl AddressSetTable) OvsdbIsRoot() bool {
  438. return true
  439. }
  440. func (tbl AddressSetTable) Rows() []types.IRow {
  441. r := make([]types.IRow, len(tbl))
  442. for i := range tbl {
  443. r[i] = &tbl[i]
  444. }
  445. return r
  446. }
  447. func (tbl AddressSetTable) NewRow() types.IRow {
  448. return &AddressSet{}
  449. }
  450. func (tbl *AddressSetTable) AppendRow(irow types.IRow) {
  451. row := irow.(*AddressSet)
  452. *tbl = append(*tbl, *row)
  453. }
  454. func (tbl AddressSetTable) OvsdbHasIndex() bool {
  455. return true
  456. }
  457. func (row *AddressSet) MatchByName(row1 *AddressSet) bool {
  458. if !types.MatchString(row.Name, row1.Name) {
  459. return false
  460. }
  461. return true
  462. }
  463. func (tbl AddressSetTable) GetByName(row1 *AddressSet) *AddressSet {
  464. for i := range tbl {
  465. row := &tbl[i]
  466. if row.MatchByName(row1) {
  467. return row
  468. }
  469. }
  470. return nil
  471. }
  472. func (tbl AddressSetTable) OvsdbGetByAnyIndex(irow1 types.IRow) types.IRow {
  473. row1 := irow1.(*AddressSet)
  474. if !(types.IsZeroString(row1.Name)) {
  475. if row := tbl.GetByName(row1); row != nil {
  476. return row
  477. }
  478. }
  479. return nil
  480. }
  481. func (tbl AddressSetTable) FindOneMatchNonZeros(row1 *AddressSet) *AddressSet {
  482. for i := range tbl {
  483. row := &tbl[i]
  484. if row.MatchNonZeros(row1) {
  485. return row
  486. }
  487. }
  488. return nil
  489. }
  490. type AddressSet struct {
  491. Uuid string `json:"_uuid"`
  492. Version string `json:"_version"`
  493. Addresses []string `json:"addresses"`
  494. ExternalIds map[string]string `json:"external_ids"`
  495. Name string `json:"name"`
  496. }
  497. var _ types.IRow = &AddressSet{}
  498. func (row *AddressSet) OvsdbTableName() string {
  499. return "Address_Set"
  500. }
  501. func (row *AddressSet) OvsdbIsRoot() bool {
  502. return true
  503. }
  504. func (row *AddressSet) OvsdbUuid() string {
  505. return row.Uuid
  506. }
  507. func (row *AddressSet) OvsdbCmdArgs() []string {
  508. r := []string{}
  509. r = append(r, types.OvsdbCmdArgsStringMultiples("addresses", row.Addresses)...)
  510. r = append(r, types.OvsdbCmdArgsMapStringString("external_ids", row.ExternalIds)...)
  511. r = append(r, types.OvsdbCmdArgsString("name", row.Name)...)
  512. return r
  513. }
  514. func (row *AddressSet) SetColumn(name string, val interface{}) (err error) {
  515. defer func() {
  516. if panicErr := recover(); panicErr != nil {
  517. err = errors.Wrapf(panicErr.(error), "%s: %#v", name, fmt.Sprintf("%#v", val))
  518. }
  519. }()
  520. switch name {
  521. case "_uuid":
  522. row.Uuid = types.EnsureUuid(val)
  523. case "_version":
  524. row.Version = types.EnsureUuid(val)
  525. case "addresses":
  526. row.Addresses = types.EnsureStringMultiples(val)
  527. case "external_ids":
  528. row.ExternalIds = types.EnsureMapStringString(val)
  529. case "name":
  530. row.Name = types.EnsureString(val)
  531. default:
  532. panic(types.ErrUnknownColumn)
  533. }
  534. return
  535. }
  536. func (row *AddressSet) MatchNonZeros(row1 *AddressSet) bool {
  537. if !types.MatchUuidIfNonZero(row.Uuid, row1.Uuid) {
  538. return false
  539. }
  540. if !types.MatchUuidIfNonZero(row.Version, row1.Version) {
  541. return false
  542. }
  543. if !types.MatchStringMultiplesIfNonZero(row.Addresses, row1.Addresses) {
  544. return false
  545. }
  546. if !types.MatchMapStringStringIfNonZero(row.ExternalIds, row1.ExternalIds) {
  547. return false
  548. }
  549. if !types.MatchStringIfNonZero(row.Name, row1.Name) {
  550. return false
  551. }
  552. return true
  553. }
  554. func (row *AddressSet) HasExternalIds() bool {
  555. return true
  556. }
  557. func (row *AddressSet) SetExternalId(k, v string) {
  558. if row.ExternalIds == nil {
  559. row.ExternalIds = map[string]string{}
  560. }
  561. row.ExternalIds[k] = v
  562. }
  563. func (row *AddressSet) GetExternalId(k string) (string, bool) {
  564. if row.ExternalIds == nil {
  565. return "", false
  566. }
  567. r, ok := row.ExternalIds[k]
  568. return r, ok
  569. }
  570. func (row *AddressSet) RemoveExternalId(k string) (string, bool) {
  571. if row.ExternalIds == nil {
  572. return "", false
  573. }
  574. r, ok := row.ExternalIds[k]
  575. if ok {
  576. delete(row.ExternalIds, k)
  577. }
  578. return r, ok
  579. }
  580. type ConnectionTable []Connection
  581. var _ types.ITable = &ConnectionTable{}
  582. func (tbl ConnectionTable) OvsdbTableName() string {
  583. return "Connection"
  584. }
  585. func (tbl ConnectionTable) OvsdbIsRoot() bool {
  586. return false
  587. }
  588. func (tbl ConnectionTable) Rows() []types.IRow {
  589. r := make([]types.IRow, len(tbl))
  590. for i := range tbl {
  591. r[i] = &tbl[i]
  592. }
  593. return r
  594. }
  595. func (tbl ConnectionTable) NewRow() types.IRow {
  596. return &Connection{}
  597. }
  598. func (tbl *ConnectionTable) AppendRow(irow types.IRow) {
  599. row := irow.(*Connection)
  600. *tbl = append(*tbl, *row)
  601. }
  602. func (tbl ConnectionTable) OvsdbHasIndex() bool {
  603. return true
  604. }
  605. func (row *Connection) MatchByTarget(row1 *Connection) bool {
  606. if !types.MatchString(row.Target, row1.Target) {
  607. return false
  608. }
  609. return true
  610. }
  611. func (tbl ConnectionTable) GetByTarget(row1 *Connection) *Connection {
  612. for i := range tbl {
  613. row := &tbl[i]
  614. if row.MatchByTarget(row1) {
  615. return row
  616. }
  617. }
  618. return nil
  619. }
  620. func (tbl ConnectionTable) OvsdbGetByAnyIndex(irow1 types.IRow) types.IRow {
  621. row1 := irow1.(*Connection)
  622. if !(types.IsZeroString(row1.Target)) {
  623. if row := tbl.GetByTarget(row1); row != nil {
  624. return row
  625. }
  626. }
  627. return nil
  628. }
  629. func (tbl ConnectionTable) FindOneMatchNonZeros(row1 *Connection) *Connection {
  630. for i := range tbl {
  631. row := &tbl[i]
  632. if row.MatchNonZeros(row1) {
  633. return row
  634. }
  635. }
  636. return nil
  637. }
  638. type Connection struct {
  639. Uuid string `json:"_uuid"`
  640. Version string `json:"_version"`
  641. ExternalIds map[string]string `json:"external_ids"`
  642. InactivityProbe *int64 `json:"inactivity_probe"`
  643. IsConnected bool `json:"is_connected"`
  644. MaxBackoff *int64 `json:"max_backoff"`
  645. OtherConfig map[string]string `json:"other_config"`
  646. Status map[string]string `json:"status"`
  647. Target string `json:"target"`
  648. }
  649. var _ types.IRow = &Connection{}
  650. func (row *Connection) OvsdbTableName() string {
  651. return "Connection"
  652. }
  653. func (row *Connection) OvsdbIsRoot() bool {
  654. return false
  655. }
  656. func (row *Connection) OvsdbUuid() string {
  657. return row.Uuid
  658. }
  659. func (row *Connection) OvsdbCmdArgs() []string {
  660. r := []string{}
  661. r = append(r, types.OvsdbCmdArgsMapStringString("external_ids", row.ExternalIds)...)
  662. r = append(r, types.OvsdbCmdArgsIntegerOptional("inactivity_probe", row.InactivityProbe)...)
  663. r = append(r, types.OvsdbCmdArgsBoolean("is_connected", row.IsConnected)...)
  664. r = append(r, types.OvsdbCmdArgsIntegerOptional("max_backoff", row.MaxBackoff)...)
  665. r = append(r, types.OvsdbCmdArgsMapStringString("other_config", row.OtherConfig)...)
  666. r = append(r, types.OvsdbCmdArgsMapStringString("status", row.Status)...)
  667. r = append(r, types.OvsdbCmdArgsString("target", row.Target)...)
  668. return r
  669. }
  670. func (row *Connection) SetColumn(name string, val interface{}) (err error) {
  671. defer func() {
  672. if panicErr := recover(); panicErr != nil {
  673. err = errors.Wrapf(panicErr.(error), "%s: %#v", name, fmt.Sprintf("%#v", val))
  674. }
  675. }()
  676. switch name {
  677. case "_uuid":
  678. row.Uuid = types.EnsureUuid(val)
  679. case "_version":
  680. row.Version = types.EnsureUuid(val)
  681. case "external_ids":
  682. row.ExternalIds = types.EnsureMapStringString(val)
  683. case "inactivity_probe":
  684. row.InactivityProbe = types.EnsureIntegerOptional(val)
  685. case "is_connected":
  686. row.IsConnected = types.EnsureBoolean(val)
  687. case "max_backoff":
  688. row.MaxBackoff = types.EnsureIntegerOptional(val)
  689. case "other_config":
  690. row.OtherConfig = types.EnsureMapStringString(val)
  691. case "status":
  692. row.Status = types.EnsureMapStringString(val)
  693. case "target":
  694. row.Target = types.EnsureString(val)
  695. default:
  696. panic(types.ErrUnknownColumn)
  697. }
  698. return
  699. }
  700. func (row *Connection) MatchNonZeros(row1 *Connection) bool {
  701. if !types.MatchUuidIfNonZero(row.Uuid, row1.Uuid) {
  702. return false
  703. }
  704. if !types.MatchUuidIfNonZero(row.Version, row1.Version) {
  705. return false
  706. }
  707. if !types.MatchMapStringStringIfNonZero(row.ExternalIds, row1.ExternalIds) {
  708. return false
  709. }
  710. if !types.MatchIntegerOptionalIfNonZero(row.InactivityProbe, row1.InactivityProbe) {
  711. return false
  712. }
  713. if !types.MatchBooleanIfNonZero(row.IsConnected, row1.IsConnected) {
  714. return false
  715. }
  716. if !types.MatchIntegerOptionalIfNonZero(row.MaxBackoff, row1.MaxBackoff) {
  717. return false
  718. }
  719. if !types.MatchMapStringStringIfNonZero(row.OtherConfig, row1.OtherConfig) {
  720. return false
  721. }
  722. if !types.MatchMapStringStringIfNonZero(row.Status, row1.Status) {
  723. return false
  724. }
  725. if !types.MatchStringIfNonZero(row.Target, row1.Target) {
  726. return false
  727. }
  728. return true
  729. }
  730. func (row *Connection) HasExternalIds() bool {
  731. return true
  732. }
  733. func (row *Connection) SetExternalId(k, v string) {
  734. if row.ExternalIds == nil {
  735. row.ExternalIds = map[string]string{}
  736. }
  737. row.ExternalIds[k] = v
  738. }
  739. func (row *Connection) GetExternalId(k string) (string, bool) {
  740. if row.ExternalIds == nil {
  741. return "", false
  742. }
  743. r, ok := row.ExternalIds[k]
  744. return r, ok
  745. }
  746. func (row *Connection) RemoveExternalId(k string) (string, bool) {
  747. if row.ExternalIds == nil {
  748. return "", false
  749. }
  750. r, ok := row.ExternalIds[k]
  751. if ok {
  752. delete(row.ExternalIds, k)
  753. }
  754. return r, ok
  755. }
  756. type DHCPOptionsTable []DHCPOptions
  757. var _ types.ITable = &DHCPOptionsTable{}
  758. func (tbl DHCPOptionsTable) OvsdbTableName() string {
  759. return "DHCP_Options"
  760. }
  761. func (tbl DHCPOptionsTable) OvsdbIsRoot() bool {
  762. return true
  763. }
  764. func (tbl DHCPOptionsTable) Rows() []types.IRow {
  765. r := make([]types.IRow, len(tbl))
  766. for i := range tbl {
  767. r[i] = &tbl[i]
  768. }
  769. return r
  770. }
  771. func (tbl DHCPOptionsTable) NewRow() types.IRow {
  772. return &DHCPOptions{}
  773. }
  774. func (tbl *DHCPOptionsTable) AppendRow(irow types.IRow) {
  775. row := irow.(*DHCPOptions)
  776. *tbl = append(*tbl, *row)
  777. }
  778. func (tbl DHCPOptionsTable) OvsdbHasIndex() bool {
  779. return false
  780. }
  781. func (tbl DHCPOptionsTable) OvsdbGetByAnyIndex(irow1 types.IRow) types.IRow {
  782. return nil
  783. }
  784. func (tbl DHCPOptionsTable) FindOneMatchNonZeros(row1 *DHCPOptions) *DHCPOptions {
  785. for i := range tbl {
  786. row := &tbl[i]
  787. if row.MatchNonZeros(row1) {
  788. return row
  789. }
  790. }
  791. return nil
  792. }
  793. type DHCPOptions struct {
  794. Uuid string `json:"_uuid"`
  795. Version string `json:"_version"`
  796. Cidr string `json:"cidr"`
  797. ExternalIds map[string]string `json:"external_ids"`
  798. Options map[string]string `json:"options"`
  799. }
  800. var _ types.IRow = &DHCPOptions{}
  801. func (row *DHCPOptions) OvsdbTableName() string {
  802. return "DHCP_Options"
  803. }
  804. func (row *DHCPOptions) OvsdbIsRoot() bool {
  805. return true
  806. }
  807. func (row *DHCPOptions) OvsdbUuid() string {
  808. return row.Uuid
  809. }
  810. func (row *DHCPOptions) OvsdbCmdArgs() []string {
  811. r := []string{}
  812. r = append(r, types.OvsdbCmdArgsString("cidr", row.Cidr)...)
  813. r = append(r, types.OvsdbCmdArgsMapStringString("external_ids", row.ExternalIds)...)
  814. r = append(r, types.OvsdbCmdArgsMapStringString("options", row.Options)...)
  815. return r
  816. }
  817. func (row *DHCPOptions) SetColumn(name string, val interface{}) (err error) {
  818. defer func() {
  819. if panicErr := recover(); panicErr != nil {
  820. err = errors.Wrapf(panicErr.(error), "%s: %#v", name, fmt.Sprintf("%#v", val))
  821. }
  822. }()
  823. switch name {
  824. case "_uuid":
  825. row.Uuid = types.EnsureUuid(val)
  826. case "_version":
  827. row.Version = types.EnsureUuid(val)
  828. case "cidr":
  829. row.Cidr = types.EnsureString(val)
  830. case "external_ids":
  831. row.ExternalIds = types.EnsureMapStringString(val)
  832. case "options":
  833. row.Options = types.EnsureMapStringString(val)
  834. default:
  835. panic(types.ErrUnknownColumn)
  836. }
  837. return
  838. }
  839. func (row *DHCPOptions) MatchNonZeros(row1 *DHCPOptions) bool {
  840. if !types.MatchUuidIfNonZero(row.Uuid, row1.Uuid) {
  841. return false
  842. }
  843. if !types.MatchUuidIfNonZero(row.Version, row1.Version) {
  844. return false
  845. }
  846. if !types.MatchStringIfNonZero(row.Cidr, row1.Cidr) {
  847. return false
  848. }
  849. if !types.MatchMapStringStringIfNonZero(row.ExternalIds, row1.ExternalIds) {
  850. return false
  851. }
  852. if !types.MatchMapStringStringIfNonZero(row.Options, row1.Options) {
  853. return false
  854. }
  855. return true
  856. }
  857. func (row *DHCPOptions) HasExternalIds() bool {
  858. return true
  859. }
  860. func (row *DHCPOptions) SetExternalId(k, v string) {
  861. if row.ExternalIds == nil {
  862. row.ExternalIds = map[string]string{}
  863. }
  864. row.ExternalIds[k] = v
  865. }
  866. func (row *DHCPOptions) GetExternalId(k string) (string, bool) {
  867. if row.ExternalIds == nil {
  868. return "", false
  869. }
  870. r, ok := row.ExternalIds[k]
  871. return r, ok
  872. }
  873. func (row *DHCPOptions) RemoveExternalId(k string) (string, bool) {
  874. if row.ExternalIds == nil {
  875. return "", false
  876. }
  877. r, ok := row.ExternalIds[k]
  878. if ok {
  879. delete(row.ExternalIds, k)
  880. }
  881. return r, ok
  882. }
  883. type DNSTable []DNS
  884. var _ types.ITable = &DNSTable{}
  885. func (tbl DNSTable) OvsdbTableName() string {
  886. return "DNS"
  887. }
  888. func (tbl DNSTable) OvsdbIsRoot() bool {
  889. return true
  890. }
  891. func (tbl DNSTable) Rows() []types.IRow {
  892. r := make([]types.IRow, len(tbl))
  893. for i := range tbl {
  894. r[i] = &tbl[i]
  895. }
  896. return r
  897. }
  898. func (tbl DNSTable) NewRow() types.IRow {
  899. return &DNS{}
  900. }
  901. func (tbl *DNSTable) AppendRow(irow types.IRow) {
  902. row := irow.(*DNS)
  903. *tbl = append(*tbl, *row)
  904. }
  905. func (tbl DNSTable) OvsdbHasIndex() bool {
  906. return false
  907. }
  908. func (tbl DNSTable) OvsdbGetByAnyIndex(irow1 types.IRow) types.IRow {
  909. return nil
  910. }
  911. func (tbl DNSTable) FindOneMatchNonZeros(row1 *DNS) *DNS {
  912. for i := range tbl {
  913. row := &tbl[i]
  914. if row.MatchNonZeros(row1) {
  915. return row
  916. }
  917. }
  918. return nil
  919. }
  920. type DNS struct {
  921. Uuid string `json:"_uuid"`
  922. Version string `json:"_version"`
  923. ExternalIds map[string]string `json:"external_ids"`
  924. Records map[string]string `json:"records"`
  925. }
  926. var _ types.IRow = &DNS{}
  927. func (row *DNS) OvsdbTableName() string {
  928. return "DNS"
  929. }
  930. func (row *DNS) OvsdbIsRoot() bool {
  931. return true
  932. }
  933. func (row *DNS) OvsdbUuid() string {
  934. return row.Uuid
  935. }
  936. func (row *DNS) OvsdbCmdArgs() []string {
  937. r := []string{}
  938. r = append(r, types.OvsdbCmdArgsMapStringString("external_ids", row.ExternalIds)...)
  939. r = append(r, types.OvsdbCmdArgsMapStringString("records", row.Records)...)
  940. return r
  941. }
  942. func (row *DNS) SetColumn(name string, val interface{}) (err error) {
  943. defer func() {
  944. if panicErr := recover(); panicErr != nil {
  945. err = errors.Wrapf(panicErr.(error), "%s: %#v", name, fmt.Sprintf("%#v", val))
  946. }
  947. }()
  948. switch name {
  949. case "_uuid":
  950. row.Uuid = types.EnsureUuid(val)
  951. case "_version":
  952. row.Version = types.EnsureUuid(val)
  953. case "external_ids":
  954. row.ExternalIds = types.EnsureMapStringString(val)
  955. case "records":
  956. row.Records = types.EnsureMapStringString(val)
  957. default:
  958. panic(types.ErrUnknownColumn)
  959. }
  960. return
  961. }
  962. func (row *DNS) MatchNonZeros(row1 *DNS) bool {
  963. if !types.MatchUuidIfNonZero(row.Uuid, row1.Uuid) {
  964. return false
  965. }
  966. if !types.MatchUuidIfNonZero(row.Version, row1.Version) {
  967. return false
  968. }
  969. if !types.MatchMapStringStringIfNonZero(row.ExternalIds, row1.ExternalIds) {
  970. return false
  971. }
  972. if !types.MatchMapStringStringIfNonZero(row.Records, row1.Records) {
  973. return false
  974. }
  975. return true
  976. }
  977. func (row *DNS) HasExternalIds() bool {
  978. return true
  979. }
  980. func (row *DNS) SetExternalId(k, v string) {
  981. if row.ExternalIds == nil {
  982. row.ExternalIds = map[string]string{}
  983. }
  984. row.ExternalIds[k] = v
  985. }
  986. func (row *DNS) GetExternalId(k string) (string, bool) {
  987. if row.ExternalIds == nil {
  988. return "", false
  989. }
  990. r, ok := row.ExternalIds[k]
  991. return r, ok
  992. }
  993. func (row *DNS) RemoveExternalId(k string) (string, bool) {
  994. if row.ExternalIds == nil {
  995. return "", false
  996. }
  997. r, ok := row.ExternalIds[k]
  998. if ok {
  999. delete(row.ExternalIds, k)
  1000. }
  1001. return r, ok
  1002. }
  1003. type GatewayChassisTable []GatewayChassis
  1004. var _ types.ITable = &GatewayChassisTable{}
  1005. func (tbl GatewayChassisTable) OvsdbTableName() string {
  1006. return "Gateway_Chassis"
  1007. }
  1008. func (tbl GatewayChassisTable) OvsdbIsRoot() bool {
  1009. return false
  1010. }
  1011. func (tbl GatewayChassisTable) Rows() []types.IRow {
  1012. r := make([]types.IRow, len(tbl))
  1013. for i := range tbl {
  1014. r[i] = &tbl[i]
  1015. }
  1016. return r
  1017. }
  1018. func (tbl GatewayChassisTable) NewRow() types.IRow {
  1019. return &GatewayChassis{}
  1020. }
  1021. func (tbl *GatewayChassisTable) AppendRow(irow types.IRow) {
  1022. row := irow.(*GatewayChassis)
  1023. *tbl = append(*tbl, *row)
  1024. }
  1025. func (tbl GatewayChassisTable) OvsdbHasIndex() bool {
  1026. return true
  1027. }
  1028. func (row *GatewayChassis) MatchByName(row1 *GatewayChassis) bool {
  1029. if !types.MatchString(row.Name, row1.Name) {
  1030. return false
  1031. }
  1032. return true
  1033. }
  1034. func (tbl GatewayChassisTable) GetByName(row1 *GatewayChassis) *GatewayChassis {
  1035. for i := range tbl {
  1036. row := &tbl[i]
  1037. if row.MatchByName(row1) {
  1038. return row
  1039. }
  1040. }
  1041. return nil
  1042. }
  1043. func (tbl GatewayChassisTable) OvsdbGetByAnyIndex(irow1 types.IRow) types.IRow {
  1044. row1 := irow1.(*GatewayChassis)
  1045. if !(types.IsZeroString(row1.Name)) {
  1046. if row := tbl.GetByName(row1); row != nil {
  1047. return row
  1048. }
  1049. }
  1050. return nil
  1051. }
  1052. func (tbl GatewayChassisTable) FindOneMatchNonZeros(row1 *GatewayChassis) *GatewayChassis {
  1053. for i := range tbl {
  1054. row := &tbl[i]
  1055. if row.MatchNonZeros(row1) {
  1056. return row
  1057. }
  1058. }
  1059. return nil
  1060. }
  1061. type GatewayChassis struct {
  1062. Uuid string `json:"_uuid"`
  1063. Version string `json:"_version"`
  1064. ChassisName string `json:"chassis_name"`
  1065. ExternalIds map[string]string `json:"external_ids"`
  1066. Name string `json:"name"`
  1067. Options map[string]string `json:"options"`
  1068. Priority int64 `json:"priority"`
  1069. }
  1070. var _ types.IRow = &GatewayChassis{}
  1071. func (row *GatewayChassis) OvsdbTableName() string {
  1072. return "Gateway_Chassis"
  1073. }
  1074. func (row *GatewayChassis) OvsdbIsRoot() bool {
  1075. return false
  1076. }
  1077. func (row *GatewayChassis) OvsdbUuid() string {
  1078. return row.Uuid
  1079. }
  1080. func (row *GatewayChassis) OvsdbCmdArgs() []string {
  1081. r := []string{}
  1082. r = append(r, types.OvsdbCmdArgsString("chassis_name", row.ChassisName)...)
  1083. r = append(r, types.OvsdbCmdArgsMapStringString("external_ids", row.ExternalIds)...)
  1084. r = append(r, types.OvsdbCmdArgsString("name", row.Name)...)
  1085. r = append(r, types.OvsdbCmdArgsMapStringString("options", row.Options)...)
  1086. r = append(r, types.OvsdbCmdArgsInteger("priority", row.Priority)...)
  1087. return r
  1088. }
  1089. func (row *GatewayChassis) SetColumn(name string, val interface{}) (err error) {
  1090. defer func() {
  1091. if panicErr := recover(); panicErr != nil {
  1092. err = errors.Wrapf(panicErr.(error), "%s: %#v", name, fmt.Sprintf("%#v", val))
  1093. }
  1094. }()
  1095. switch name {
  1096. case "_uuid":
  1097. row.Uuid = types.EnsureUuid(val)
  1098. case "_version":
  1099. row.Version = types.EnsureUuid(val)
  1100. case "chassis_name":
  1101. row.ChassisName = types.EnsureString(val)
  1102. case "external_ids":
  1103. row.ExternalIds = types.EnsureMapStringString(val)
  1104. case "name":
  1105. row.Name = types.EnsureString(val)
  1106. case "options":
  1107. row.Options = types.EnsureMapStringString(val)
  1108. case "priority":
  1109. row.Priority = types.EnsureInteger(val)
  1110. default:
  1111. panic(types.ErrUnknownColumn)
  1112. }
  1113. return
  1114. }
  1115. func (row *GatewayChassis) MatchNonZeros(row1 *GatewayChassis) bool {
  1116. if !types.MatchUuidIfNonZero(row.Uuid, row1.Uuid) {
  1117. return false
  1118. }
  1119. if !types.MatchUuidIfNonZero(row.Version, row1.Version) {
  1120. return false
  1121. }
  1122. if !types.MatchStringIfNonZero(row.ChassisName, row1.ChassisName) {
  1123. return false
  1124. }
  1125. if !types.MatchMapStringStringIfNonZero(row.ExternalIds, row1.ExternalIds) {
  1126. return false
  1127. }
  1128. if !types.MatchStringIfNonZero(row.Name, row1.Name) {
  1129. return false
  1130. }
  1131. if !types.MatchMapStringStringIfNonZero(row.Options, row1.Options) {
  1132. return false
  1133. }
  1134. if !types.MatchIntegerIfNonZero(row.Priority, row1.Priority) {
  1135. return false
  1136. }
  1137. return true
  1138. }
  1139. func (row *GatewayChassis) HasExternalIds() bool {
  1140. return true
  1141. }
  1142. func (row *GatewayChassis) SetExternalId(k, v string) {
  1143. if row.ExternalIds == nil {
  1144. row.ExternalIds = map[string]string{}
  1145. }
  1146. row.ExternalIds[k] = v
  1147. }
  1148. func (row *GatewayChassis) GetExternalId(k string) (string, bool) {
  1149. if row.ExternalIds == nil {
  1150. return "", false
  1151. }
  1152. r, ok := row.ExternalIds[k]
  1153. return r, ok
  1154. }
  1155. func (row *GatewayChassis) RemoveExternalId(k string) (string, bool) {
  1156. if row.ExternalIds == nil {
  1157. return "", false
  1158. }
  1159. r, ok := row.ExternalIds[k]
  1160. if ok {
  1161. delete(row.ExternalIds, k)
  1162. }
  1163. return r, ok
  1164. }
  1165. type HAChassisTable []HAChassis
  1166. var _ types.ITable = &HAChassisTable{}
  1167. func (tbl HAChassisTable) OvsdbTableName() string {
  1168. return "HA_Chassis"
  1169. }
  1170. func (tbl HAChassisTable) OvsdbIsRoot() bool {
  1171. return false
  1172. }
  1173. func (tbl HAChassisTable) Rows() []types.IRow {
  1174. r := make([]types.IRow, len(tbl))
  1175. for i := range tbl {
  1176. r[i] = &tbl[i]
  1177. }
  1178. return r
  1179. }
  1180. func (tbl HAChassisTable) NewRow() types.IRow {
  1181. return &HAChassis{}
  1182. }
  1183. func (tbl *HAChassisTable) AppendRow(irow types.IRow) {
  1184. row := irow.(*HAChassis)
  1185. *tbl = append(*tbl, *row)
  1186. }
  1187. func (tbl HAChassisTable) OvsdbHasIndex() bool {
  1188. return false
  1189. }
  1190. func (tbl HAChassisTable) OvsdbGetByAnyIndex(irow1 types.IRow) types.IRow {
  1191. return nil
  1192. }
  1193. func (tbl HAChassisTable) FindOneMatchNonZeros(row1 *HAChassis) *HAChassis {
  1194. for i := range tbl {
  1195. row := &tbl[i]
  1196. if row.MatchNonZeros(row1) {
  1197. return row
  1198. }
  1199. }
  1200. return nil
  1201. }
  1202. type HAChassis struct {
  1203. Uuid string `json:"_uuid"`
  1204. Version string `json:"_version"`
  1205. ChassisName string `json:"chassis_name"`
  1206. ExternalIds map[string]string `json:"external_ids"`
  1207. Priority int64 `json:"priority"`
  1208. }
  1209. var _ types.IRow = &HAChassis{}
  1210. func (row *HAChassis) OvsdbTableName() string {
  1211. return "HA_Chassis"
  1212. }
  1213. func (row *HAChassis) OvsdbIsRoot() bool {
  1214. return false
  1215. }
  1216. func (row *HAChassis) OvsdbUuid() string {
  1217. return row.Uuid
  1218. }
  1219. func (row *HAChassis) OvsdbCmdArgs() []string {
  1220. r := []string{}
  1221. r = append(r, types.OvsdbCmdArgsString("chassis_name", row.ChassisName)...)
  1222. r = append(r, types.OvsdbCmdArgsMapStringString("external_ids", row.ExternalIds)...)
  1223. r = append(r, types.OvsdbCmdArgsInteger("priority", row.Priority)...)
  1224. return r
  1225. }
  1226. func (row *HAChassis) SetColumn(name string, val interface{}) (err error) {
  1227. defer func() {
  1228. if panicErr := recover(); panicErr != nil {
  1229. err = errors.Wrapf(panicErr.(error), "%s: %#v", name, fmt.Sprintf("%#v", val))
  1230. }
  1231. }()
  1232. switch name {
  1233. case "_uuid":
  1234. row.Uuid = types.EnsureUuid(val)
  1235. case "_version":
  1236. row.Version = types.EnsureUuid(val)
  1237. case "chassis_name":
  1238. row.ChassisName = types.EnsureString(val)
  1239. case "external_ids":
  1240. row.ExternalIds = types.EnsureMapStringString(val)
  1241. case "priority":
  1242. row.Priority = types.EnsureInteger(val)
  1243. default:
  1244. panic(types.ErrUnknownColumn)
  1245. }
  1246. return
  1247. }
  1248. func (row *HAChassis) MatchNonZeros(row1 *HAChassis) bool {
  1249. if !types.MatchUuidIfNonZero(row.Uuid, row1.Uuid) {
  1250. return false
  1251. }
  1252. if !types.MatchUuidIfNonZero(row.Version, row1.Version) {
  1253. return false
  1254. }
  1255. if !types.MatchStringIfNonZero(row.ChassisName, row1.ChassisName) {
  1256. return false
  1257. }
  1258. if !types.MatchMapStringStringIfNonZero(row.ExternalIds, row1.ExternalIds) {
  1259. return false
  1260. }
  1261. if !types.MatchIntegerIfNonZero(row.Priority, row1.Priority) {
  1262. return false
  1263. }
  1264. return true
  1265. }
  1266. func (row *HAChassis) HasExternalIds() bool {
  1267. return true
  1268. }
  1269. func (row *HAChassis) SetExternalId(k, v string) {
  1270. if row.ExternalIds == nil {
  1271. row.ExternalIds = map[string]string{}
  1272. }
  1273. row.ExternalIds[k] = v
  1274. }
  1275. func (row *HAChassis) GetExternalId(k string) (string, bool) {
  1276. if row.ExternalIds == nil {
  1277. return "", false
  1278. }
  1279. r, ok := row.ExternalIds[k]
  1280. return r, ok
  1281. }
  1282. func (row *HAChassis) RemoveExternalId(k string) (string, bool) {
  1283. if row.ExternalIds == nil {
  1284. return "", false
  1285. }
  1286. r, ok := row.ExternalIds[k]
  1287. if ok {
  1288. delete(row.ExternalIds, k)
  1289. }
  1290. return r, ok
  1291. }
  1292. type HAChassisGroupTable []HAChassisGroup
  1293. var _ types.ITable = &HAChassisGroupTable{}
  1294. func (tbl HAChassisGroupTable) OvsdbTableName() string {
  1295. return "HA_Chassis_Group"
  1296. }
  1297. func (tbl HAChassisGroupTable) OvsdbIsRoot() bool {
  1298. return true
  1299. }
  1300. func (tbl HAChassisGroupTable) Rows() []types.IRow {
  1301. r := make([]types.IRow, len(tbl))
  1302. for i := range tbl {
  1303. r[i] = &tbl[i]
  1304. }
  1305. return r
  1306. }
  1307. func (tbl HAChassisGroupTable) NewRow() types.IRow {
  1308. return &HAChassisGroup{}
  1309. }
  1310. func (tbl *HAChassisGroupTable) AppendRow(irow types.IRow) {
  1311. row := irow.(*HAChassisGroup)
  1312. *tbl = append(*tbl, *row)
  1313. }
  1314. func (tbl HAChassisGroupTable) OvsdbHasIndex() bool {
  1315. return true
  1316. }
  1317. func (row *HAChassisGroup) MatchByName(row1 *HAChassisGroup) bool {
  1318. if !types.MatchString(row.Name, row1.Name) {
  1319. return false
  1320. }
  1321. return true
  1322. }
  1323. func (tbl HAChassisGroupTable) GetByName(row1 *HAChassisGroup) *HAChassisGroup {
  1324. for i := range tbl {
  1325. row := &tbl[i]
  1326. if row.MatchByName(row1) {
  1327. return row
  1328. }
  1329. }
  1330. return nil
  1331. }
  1332. func (tbl HAChassisGroupTable) OvsdbGetByAnyIndex(irow1 types.IRow) types.IRow {
  1333. row1 := irow1.(*HAChassisGroup)
  1334. if !(types.IsZeroString(row1.Name)) {
  1335. if row := tbl.GetByName(row1); row != nil {
  1336. return row
  1337. }
  1338. }
  1339. return nil
  1340. }
  1341. func (tbl HAChassisGroupTable) FindOneMatchNonZeros(row1 *HAChassisGroup) *HAChassisGroup {
  1342. for i := range tbl {
  1343. row := &tbl[i]
  1344. if row.MatchNonZeros(row1) {
  1345. return row
  1346. }
  1347. }
  1348. return nil
  1349. }
  1350. type HAChassisGroup struct {
  1351. Uuid string `json:"_uuid"`
  1352. Version string `json:"_version"`
  1353. ExternalIds map[string]string `json:"external_ids"`
  1354. HaChassis []string `json:"ha_chassis"`
  1355. Name string `json:"name"`
  1356. }
  1357. var _ types.IRow = &HAChassisGroup{}
  1358. func (row *HAChassisGroup) OvsdbTableName() string {
  1359. return "HA_Chassis_Group"
  1360. }
  1361. func (row *HAChassisGroup) OvsdbIsRoot() bool {
  1362. return true
  1363. }
  1364. func (row *HAChassisGroup) OvsdbUuid() string {
  1365. return row.Uuid
  1366. }
  1367. func (row *HAChassisGroup) OvsdbCmdArgs() []string {
  1368. r := []string{}
  1369. r = append(r, types.OvsdbCmdArgsMapStringString("external_ids", row.ExternalIds)...)
  1370. r = append(r, types.OvsdbCmdArgsUuidMultiples("ha_chassis", row.HaChassis)...)
  1371. r = append(r, types.OvsdbCmdArgsString("name", row.Name)...)
  1372. return r
  1373. }
  1374. func (row *HAChassisGroup) SetColumn(name string, val interface{}) (err error) {
  1375. defer func() {
  1376. if panicErr := recover(); panicErr != nil {
  1377. err = errors.Wrapf(panicErr.(error), "%s: %#v", name, fmt.Sprintf("%#v", val))
  1378. }
  1379. }()
  1380. switch name {
  1381. case "_uuid":
  1382. row.Uuid = types.EnsureUuid(val)
  1383. case "_version":
  1384. row.Version = types.EnsureUuid(val)
  1385. case "external_ids":
  1386. row.ExternalIds = types.EnsureMapStringString(val)
  1387. case "ha_chassis":
  1388. row.HaChassis = types.EnsureUuidMultiples(val)
  1389. case "name":
  1390. row.Name = types.EnsureString(val)
  1391. default:
  1392. panic(types.ErrUnknownColumn)
  1393. }
  1394. return
  1395. }
  1396. func (row *HAChassisGroup) MatchNonZeros(row1 *HAChassisGroup) bool {
  1397. if !types.MatchUuidIfNonZero(row.Uuid, row1.Uuid) {
  1398. return false
  1399. }
  1400. if !types.MatchUuidIfNonZero(row.Version, row1.Version) {
  1401. return false
  1402. }
  1403. if !types.MatchMapStringStringIfNonZero(row.ExternalIds, row1.ExternalIds) {
  1404. return false
  1405. }
  1406. if !types.MatchUuidMultiplesIfNonZero(row.HaChassis, row1.HaChassis) {
  1407. return false
  1408. }
  1409. if !types.MatchStringIfNonZero(row.Name, row1.Name) {
  1410. return false
  1411. }
  1412. return true
  1413. }
  1414. func (tbl HAChassisGroupTable) FindHAChassisReferrer_ha_chassis(refUuid string) (r []*HAChassisGroup) {
  1415. for i := range tbl {
  1416. row := &tbl[i]
  1417. for _, val := range row.HaChassis {
  1418. if val == refUuid {
  1419. r = append(r, row)
  1420. }
  1421. }
  1422. }
  1423. return r
  1424. }
  1425. func (row *HAChassisGroup) HasExternalIds() bool {
  1426. return true
  1427. }
  1428. func (row *HAChassisGroup) SetExternalId(k, v string) {
  1429. if row.ExternalIds == nil {
  1430. row.ExternalIds = map[string]string{}
  1431. }
  1432. row.ExternalIds[k] = v
  1433. }
  1434. func (row *HAChassisGroup) GetExternalId(k string) (string, bool) {
  1435. if row.ExternalIds == nil {
  1436. return "", false
  1437. }
  1438. r, ok := row.ExternalIds[k]
  1439. return r, ok
  1440. }
  1441. func (row *HAChassisGroup) RemoveExternalId(k string) (string, bool) {
  1442. if row.ExternalIds == nil {
  1443. return "", false
  1444. }
  1445. r, ok := row.ExternalIds[k]
  1446. if ok {
  1447. delete(row.ExternalIds, k)
  1448. }
  1449. return r, ok
  1450. }
  1451. type LoadBalancerTable []LoadBalancer
  1452. var _ types.ITable = &LoadBalancerTable{}
  1453. func (tbl LoadBalancerTable) OvsdbTableName() string {
  1454. return "Load_Balancer"
  1455. }
  1456. func (tbl LoadBalancerTable) OvsdbIsRoot() bool {
  1457. return true
  1458. }
  1459. func (tbl LoadBalancerTable) Rows() []types.IRow {
  1460. r := make([]types.IRow, len(tbl))
  1461. for i := range tbl {
  1462. r[i] = &tbl[i]
  1463. }
  1464. return r
  1465. }
  1466. func (tbl LoadBalancerTable) NewRow() types.IRow {
  1467. return &LoadBalancer{}
  1468. }
  1469. func (tbl *LoadBalancerTable) AppendRow(irow types.IRow) {
  1470. row := irow.(*LoadBalancer)
  1471. *tbl = append(*tbl, *row)
  1472. }
  1473. func (tbl LoadBalancerTable) OvsdbHasIndex() bool {
  1474. return false
  1475. }
  1476. func (tbl LoadBalancerTable) OvsdbGetByAnyIndex(irow1 types.IRow) types.IRow {
  1477. return nil
  1478. }
  1479. func (tbl LoadBalancerTable) FindOneMatchNonZeros(row1 *LoadBalancer) *LoadBalancer {
  1480. for i := range tbl {
  1481. row := &tbl[i]
  1482. if row.MatchNonZeros(row1) {
  1483. return row
  1484. }
  1485. }
  1486. return nil
  1487. }
  1488. type LoadBalancer struct {
  1489. Uuid string `json:"_uuid"`
  1490. Version string `json:"_version"`
  1491. ExternalIds map[string]string `json:"external_ids"`
  1492. Name string `json:"name"`
  1493. Protocol *string `json:"protocol"`
  1494. Vips map[string]string `json:"vips"`
  1495. }
  1496. var _ types.IRow = &LoadBalancer{}
  1497. func (row *LoadBalancer) OvsdbTableName() string {
  1498. return "Load_Balancer"
  1499. }
  1500. func (row *LoadBalancer) OvsdbIsRoot() bool {
  1501. return true
  1502. }
  1503. func (row *LoadBalancer) OvsdbUuid() string {
  1504. return row.Uuid
  1505. }
  1506. func (row *LoadBalancer) OvsdbCmdArgs() []string {
  1507. r := []string{}
  1508. r = append(r, types.OvsdbCmdArgsMapStringString("external_ids", row.ExternalIds)...)
  1509. r = append(r, types.OvsdbCmdArgsString("name", row.Name)...)
  1510. r = append(r, types.OvsdbCmdArgsStringOptional("protocol", row.Protocol)...)
  1511. r = append(r, types.OvsdbCmdArgsMapStringString("vips", row.Vips)...)
  1512. return r
  1513. }
  1514. func (row *LoadBalancer) SetColumn(name string, val interface{}) (err error) {
  1515. defer func() {
  1516. if panicErr := recover(); panicErr != nil {
  1517. err = errors.Wrapf(panicErr.(error), "%s: %#v", name, fmt.Sprintf("%#v", val))
  1518. }
  1519. }()
  1520. switch name {
  1521. case "_uuid":
  1522. row.Uuid = types.EnsureUuid(val)
  1523. case "_version":
  1524. row.Version = types.EnsureUuid(val)
  1525. case "external_ids":
  1526. row.ExternalIds = types.EnsureMapStringString(val)
  1527. case "name":
  1528. row.Name = types.EnsureString(val)
  1529. case "protocol":
  1530. row.Protocol = types.EnsureStringOptional(val)
  1531. case "vips":
  1532. row.Vips = types.EnsureMapStringString(val)
  1533. default:
  1534. panic(types.ErrUnknownColumn)
  1535. }
  1536. return
  1537. }
  1538. func (row *LoadBalancer) MatchNonZeros(row1 *LoadBalancer) bool {
  1539. if !types.MatchUuidIfNonZero(row.Uuid, row1.Uuid) {
  1540. return false
  1541. }
  1542. if !types.MatchUuidIfNonZero(row.Version, row1.Version) {
  1543. return false
  1544. }
  1545. if !types.MatchMapStringStringIfNonZero(row.ExternalIds, row1.ExternalIds) {
  1546. return false
  1547. }
  1548. if !types.MatchStringIfNonZero(row.Name, row1.Name) {
  1549. return false
  1550. }
  1551. if !types.MatchStringOptionalIfNonZero(row.Protocol, row1.Protocol) {
  1552. return false
  1553. }
  1554. if !types.MatchMapStringStringIfNonZero(row.Vips, row1.Vips) {
  1555. return false
  1556. }
  1557. return true
  1558. }
  1559. func (row *LoadBalancer) HasExternalIds() bool {
  1560. return true
  1561. }
  1562. func (row *LoadBalancer) SetExternalId(k, v string) {
  1563. if row.ExternalIds == nil {
  1564. row.ExternalIds = map[string]string{}
  1565. }
  1566. row.ExternalIds[k] = v
  1567. }
  1568. func (row *LoadBalancer) GetExternalId(k string) (string, bool) {
  1569. if row.ExternalIds == nil {
  1570. return "", false
  1571. }
  1572. r, ok := row.ExternalIds[k]
  1573. return r, ok
  1574. }
  1575. func (row *LoadBalancer) RemoveExternalId(k string) (string, bool) {
  1576. if row.ExternalIds == nil {
  1577. return "", false
  1578. }
  1579. r, ok := row.ExternalIds[k]
  1580. if ok {
  1581. delete(row.ExternalIds, k)
  1582. }
  1583. return r, ok
  1584. }
  1585. type LogicalRouterTable []LogicalRouter
  1586. var _ types.ITable = &LogicalRouterTable{}
  1587. func (tbl LogicalRouterTable) OvsdbTableName() string {
  1588. return "Logical_Router"
  1589. }
  1590. func (tbl LogicalRouterTable) OvsdbIsRoot() bool {
  1591. return true
  1592. }
  1593. func (tbl LogicalRouterTable) Rows() []types.IRow {
  1594. r := make([]types.IRow, len(tbl))
  1595. for i := range tbl {
  1596. r[i] = &tbl[i]
  1597. }
  1598. return r
  1599. }
  1600. func (tbl LogicalRouterTable) NewRow() types.IRow {
  1601. return &LogicalRouter{}
  1602. }
  1603. func (tbl *LogicalRouterTable) AppendRow(irow types.IRow) {
  1604. row := irow.(*LogicalRouter)
  1605. *tbl = append(*tbl, *row)
  1606. }
  1607. func (tbl LogicalRouterTable) OvsdbHasIndex() bool {
  1608. return false
  1609. }
  1610. func (tbl LogicalRouterTable) OvsdbGetByAnyIndex(irow1 types.IRow) types.IRow {
  1611. return nil
  1612. }
  1613. func (tbl LogicalRouterTable) FindOneMatchNonZeros(row1 *LogicalRouter) *LogicalRouter {
  1614. for i := range tbl {
  1615. row := &tbl[i]
  1616. if row.MatchNonZeros(row1) {
  1617. return row
  1618. }
  1619. }
  1620. return nil
  1621. }
  1622. type LogicalRouter struct {
  1623. Uuid string `json:"_uuid"`
  1624. Version string `json:"_version"`
  1625. Enabled *bool `json:"enabled"`
  1626. ExternalIds map[string]string `json:"external_ids"`
  1627. LoadBalancer []string `json:"load_balancer"`
  1628. Name string `json:"name"`
  1629. Nat []string `json:"nat"`
  1630. Options map[string]string `json:"options"`
  1631. Policies []string `json:"policies"`
  1632. Ports []string `json:"ports"`
  1633. StaticRoutes []string `json:"static_routes"`
  1634. }
  1635. var _ types.IRow = &LogicalRouter{}
  1636. func (row *LogicalRouter) OvsdbTableName() string {
  1637. return "Logical_Router"
  1638. }
  1639. func (row *LogicalRouter) OvsdbIsRoot() bool {
  1640. return true
  1641. }
  1642. func (row *LogicalRouter) OvsdbUuid() string {
  1643. return row.Uuid
  1644. }
  1645. func (row *LogicalRouter) OvsdbCmdArgs() []string {
  1646. r := []string{}
  1647. r = append(r, types.OvsdbCmdArgsBooleanOptional("enabled", row.Enabled)...)
  1648. r = append(r, types.OvsdbCmdArgsMapStringString("external_ids", row.ExternalIds)...)
  1649. r = append(r, types.OvsdbCmdArgsUuidMultiples("load_balancer", row.LoadBalancer)...)
  1650. r = append(r, types.OvsdbCmdArgsString("name", row.Name)...)
  1651. r = append(r, types.OvsdbCmdArgsUuidMultiples("nat", row.Nat)...)
  1652. r = append(r, types.OvsdbCmdArgsMapStringString("options", row.Options)...)
  1653. r = append(r, types.OvsdbCmdArgsUuidMultiples("policies", row.Policies)...)
  1654. r = append(r, types.OvsdbCmdArgsUuidMultiples("ports", row.Ports)...)
  1655. r = append(r, types.OvsdbCmdArgsUuidMultiples("static_routes", row.StaticRoutes)...)
  1656. return r
  1657. }
  1658. func (row *LogicalRouter) SetColumn(name string, val interface{}) (err error) {
  1659. defer func() {
  1660. if panicErr := recover(); panicErr != nil {
  1661. err = errors.Wrapf(panicErr.(error), "%s: %#v", name, fmt.Sprintf("%#v", val))
  1662. }
  1663. }()
  1664. switch name {
  1665. case "_uuid":
  1666. row.Uuid = types.EnsureUuid(val)
  1667. case "_version":
  1668. row.Version = types.EnsureUuid(val)
  1669. case "enabled":
  1670. row.Enabled = types.EnsureBooleanOptional(val)
  1671. case "external_ids":
  1672. row.ExternalIds = types.EnsureMapStringString(val)
  1673. case "load_balancer":
  1674. row.LoadBalancer = types.EnsureUuidMultiples(val)
  1675. case "name":
  1676. row.Name = types.EnsureString(val)
  1677. case "nat":
  1678. row.Nat = types.EnsureUuidMultiples(val)
  1679. case "options":
  1680. row.Options = types.EnsureMapStringString(val)
  1681. case "policies":
  1682. row.Policies = types.EnsureUuidMultiples(val)
  1683. case "ports":
  1684. row.Ports = types.EnsureUuidMultiples(val)
  1685. case "static_routes":
  1686. row.StaticRoutes = types.EnsureUuidMultiples(val)
  1687. default:
  1688. panic(types.ErrUnknownColumn)
  1689. }
  1690. return
  1691. }
  1692. func (row *LogicalRouter) MatchNonZeros(row1 *LogicalRouter) bool {
  1693. if !types.MatchUuidIfNonZero(row.Uuid, row1.Uuid) {
  1694. return false
  1695. }
  1696. if !types.MatchUuidIfNonZero(row.Version, row1.Version) {
  1697. return false
  1698. }
  1699. if !types.MatchBooleanOptionalIfNonZero(row.Enabled, row1.Enabled) {
  1700. return false
  1701. }
  1702. if !types.MatchMapStringStringIfNonZero(row.ExternalIds, row1.ExternalIds) {
  1703. return false
  1704. }
  1705. if !types.MatchUuidMultiplesIfNonZero(row.LoadBalancer, row1.LoadBalancer) {
  1706. return false
  1707. }
  1708. if !types.MatchStringIfNonZero(row.Name, row1.Name) {
  1709. return false
  1710. }
  1711. if !types.MatchUuidMultiplesIfNonZero(row.Nat, row1.Nat) {
  1712. return false
  1713. }
  1714. if !types.MatchMapStringStringIfNonZero(row.Options, row1.Options) {
  1715. return false
  1716. }
  1717. if !types.MatchUuidMultiplesIfNonZero(row.Policies, row1.Policies) {
  1718. return false
  1719. }
  1720. if !types.MatchUuidMultiplesIfNonZero(row.Ports, row1.Ports) {
  1721. return false
  1722. }
  1723. if !types.MatchUuidMultiplesIfNonZero(row.StaticRoutes, row1.StaticRoutes) {
  1724. return false
  1725. }
  1726. return true
  1727. }
  1728. func (tbl LogicalRouterTable) FindLoadBalancerReferrer_load_balancer(refUuid string) (r []*LogicalRouter) {
  1729. for i := range tbl {
  1730. row := &tbl[i]
  1731. for _, val := range row.LoadBalancer {
  1732. if val == refUuid {
  1733. r = append(r, row)
  1734. }
  1735. }
  1736. }
  1737. return r
  1738. }
  1739. func (tbl LogicalRouterTable) FindNATReferrer_nat(refUuid string) (r []*LogicalRouter) {
  1740. for i := range tbl {
  1741. row := &tbl[i]
  1742. for _, val := range row.Nat {
  1743. if val == refUuid {
  1744. r = append(r, row)
  1745. }
  1746. }
  1747. }
  1748. return r
  1749. }
  1750. func (tbl LogicalRouterTable) FindLogicalRouterPolicyReferrer_policies(refUuid string) (r []*LogicalRouter) {
  1751. for i := range tbl {
  1752. row := &tbl[i]
  1753. for _, val := range row.Policies {
  1754. if val == refUuid {
  1755. r = append(r, row)
  1756. }
  1757. }
  1758. }
  1759. return r
  1760. }
  1761. func (tbl LogicalRouterTable) FindLogicalRouterPortReferrer_ports(refUuid string) (r []*LogicalRouter) {
  1762. for i := range tbl {
  1763. row := &tbl[i]
  1764. for _, val := range row.Ports {
  1765. if val == refUuid {
  1766. r = append(r, row)
  1767. }
  1768. }
  1769. }
  1770. return r
  1771. }
  1772. func (tbl LogicalRouterTable) FindLogicalRouterStaticRouteReferrer_static_routes(refUuid string) (r []*LogicalRouter) {
  1773. for i := range tbl {
  1774. row := &tbl[i]
  1775. for _, val := range row.StaticRoutes {
  1776. if val == refUuid {
  1777. r = append(r, row)
  1778. }
  1779. }
  1780. }
  1781. return r
  1782. }
  1783. func (row *LogicalRouter) HasExternalIds() bool {
  1784. return true
  1785. }
  1786. func (row *LogicalRouter) SetExternalId(k, v string) {
  1787. if row.ExternalIds == nil {
  1788. row.ExternalIds = map[string]string{}
  1789. }
  1790. row.ExternalIds[k] = v
  1791. }
  1792. func (row *LogicalRouter) GetExternalId(k string) (string, bool) {
  1793. if row.ExternalIds == nil {
  1794. return "", false
  1795. }
  1796. r, ok := row.ExternalIds[k]
  1797. return r, ok
  1798. }
  1799. func (row *LogicalRouter) RemoveExternalId(k string) (string, bool) {
  1800. if row.ExternalIds == nil {
  1801. return "", false
  1802. }
  1803. r, ok := row.ExternalIds[k]
  1804. if ok {
  1805. delete(row.ExternalIds, k)
  1806. }
  1807. return r, ok
  1808. }
  1809. type LogicalRouterPolicyTable []LogicalRouterPolicy
  1810. var _ types.ITable = &LogicalRouterPolicyTable{}
  1811. func (tbl LogicalRouterPolicyTable) OvsdbTableName() string {
  1812. return "Logical_Router_Policy"
  1813. }
  1814. func (tbl LogicalRouterPolicyTable) OvsdbIsRoot() bool {
  1815. return false
  1816. }
  1817. func (tbl LogicalRouterPolicyTable) Rows() []types.IRow {
  1818. r := make([]types.IRow, len(tbl))
  1819. for i := range tbl {
  1820. r[i] = &tbl[i]
  1821. }
  1822. return r
  1823. }
  1824. func (tbl LogicalRouterPolicyTable) NewRow() types.IRow {
  1825. return &LogicalRouterPolicy{}
  1826. }
  1827. func (tbl *LogicalRouterPolicyTable) AppendRow(irow types.IRow) {
  1828. row := irow.(*LogicalRouterPolicy)
  1829. *tbl = append(*tbl, *row)
  1830. }
  1831. func (tbl LogicalRouterPolicyTable) OvsdbHasIndex() bool {
  1832. return false
  1833. }
  1834. func (tbl LogicalRouterPolicyTable) OvsdbGetByAnyIndex(irow1 types.IRow) types.IRow {
  1835. return nil
  1836. }
  1837. func (tbl LogicalRouterPolicyTable) FindOneMatchNonZeros(row1 *LogicalRouterPolicy) *LogicalRouterPolicy {
  1838. for i := range tbl {
  1839. row := &tbl[i]
  1840. if row.MatchNonZeros(row1) {
  1841. return row
  1842. }
  1843. }
  1844. return nil
  1845. }
  1846. type LogicalRouterPolicy struct {
  1847. Uuid string `json:"_uuid"`
  1848. Version string `json:"_version"`
  1849. Action string `json:"action"`
  1850. Match string `json:"match"`
  1851. Nexthop *string `json:"nexthop"`
  1852. Priority int64 `json:"priority"`
  1853. }
  1854. var _ types.IRow = &LogicalRouterPolicy{}
  1855. func (row *LogicalRouterPolicy) OvsdbTableName() string {
  1856. return "Logical_Router_Policy"
  1857. }
  1858. func (row *LogicalRouterPolicy) OvsdbIsRoot() bool {
  1859. return false
  1860. }
  1861. func (row *LogicalRouterPolicy) OvsdbUuid() string {
  1862. return row.Uuid
  1863. }
  1864. func (row *LogicalRouterPolicy) OvsdbCmdArgs() []string {
  1865. r := []string{}
  1866. r = append(r, types.OvsdbCmdArgsString("action", row.Action)...)
  1867. r = append(r, types.OvsdbCmdArgsString("match", row.Match)...)
  1868. r = append(r, types.OvsdbCmdArgsStringOptional("nexthop", row.Nexthop)...)
  1869. r = append(r, types.OvsdbCmdArgsInteger("priority", row.Priority)...)
  1870. return r
  1871. }
  1872. func (row *LogicalRouterPolicy) SetColumn(name string, val interface{}) (err error) {
  1873. defer func() {
  1874. if panicErr := recover(); panicErr != nil {
  1875. err = errors.Wrapf(panicErr.(error), "%s: %#v", name, fmt.Sprintf("%#v", val))
  1876. }
  1877. }()
  1878. switch name {
  1879. case "_uuid":
  1880. row.Uuid = types.EnsureUuid(val)
  1881. case "_version":
  1882. row.Version = types.EnsureUuid(val)
  1883. case "action":
  1884. row.Action = types.EnsureString(val)
  1885. case "match":
  1886. row.Match = types.EnsureString(val)
  1887. case "nexthop":
  1888. row.Nexthop = types.EnsureStringOptional(val)
  1889. case "priority":
  1890. row.Priority = types.EnsureInteger(val)
  1891. default:
  1892. panic(types.ErrUnknownColumn)
  1893. }
  1894. return
  1895. }
  1896. func (row *LogicalRouterPolicy) MatchNonZeros(row1 *LogicalRouterPolicy) bool {
  1897. if !types.MatchUuidIfNonZero(row.Uuid, row1.Uuid) {
  1898. return false
  1899. }
  1900. if !types.MatchUuidIfNonZero(row.Version, row1.Version) {
  1901. return false
  1902. }
  1903. if !types.MatchStringIfNonZero(row.Action, row1.Action) {
  1904. return false
  1905. }
  1906. if !types.MatchStringIfNonZero(row.Match, row1.Match) {
  1907. return false
  1908. }
  1909. if !types.MatchStringOptionalIfNonZero(row.Nexthop, row1.Nexthop) {
  1910. return false
  1911. }
  1912. if !types.MatchIntegerIfNonZero(row.Priority, row1.Priority) {
  1913. return false
  1914. }
  1915. return true
  1916. }
  1917. func (row *LogicalRouterPolicy) HasExternalIds() bool {
  1918. return false
  1919. }
  1920. func (row *LogicalRouterPolicy) SetExternalId(k, v string) {
  1921. panic(errors.Wrap(types.ErrUnknownColumn, "external_ids"))
  1922. }
  1923. func (row *LogicalRouterPolicy) GetExternalId(k string) (string, bool) {
  1924. panic(errors.Wrap(types.ErrUnknownColumn, "external_ids"))
  1925. }
  1926. func (row *LogicalRouterPolicy) RemoveExternalId(k string) (string, bool) {
  1927. panic(errors.Wrap(types.ErrUnknownColumn, "external_ids"))
  1928. }
  1929. type LogicalRouterPortTable []LogicalRouterPort
  1930. var _ types.ITable = &LogicalRouterPortTable{}
  1931. func (tbl LogicalRouterPortTable) OvsdbTableName() string {
  1932. return "Logical_Router_Port"
  1933. }
  1934. func (tbl LogicalRouterPortTable) OvsdbIsRoot() bool {
  1935. return false
  1936. }
  1937. func (tbl LogicalRouterPortTable) Rows() []types.IRow {
  1938. r := make([]types.IRow, len(tbl))
  1939. for i := range tbl {
  1940. r[i] = &tbl[i]
  1941. }
  1942. return r
  1943. }
  1944. func (tbl LogicalRouterPortTable) NewRow() types.IRow {
  1945. return &LogicalRouterPort{}
  1946. }
  1947. func (tbl *LogicalRouterPortTable) AppendRow(irow types.IRow) {
  1948. row := irow.(*LogicalRouterPort)
  1949. *tbl = append(*tbl, *row)
  1950. }
  1951. func (tbl LogicalRouterPortTable) OvsdbHasIndex() bool {
  1952. return true
  1953. }
  1954. func (row *LogicalRouterPort) MatchByName(row1 *LogicalRouterPort) bool {
  1955. if !types.MatchString(row.Name, row1.Name) {
  1956. return false
  1957. }
  1958. return true
  1959. }
  1960. func (tbl LogicalRouterPortTable) GetByName(row1 *LogicalRouterPort) *LogicalRouterPort {
  1961. for i := range tbl {
  1962. row := &tbl[i]
  1963. if row.MatchByName(row1) {
  1964. return row
  1965. }
  1966. }
  1967. return nil
  1968. }
  1969. func (tbl LogicalRouterPortTable) OvsdbGetByAnyIndex(irow1 types.IRow) types.IRow {
  1970. row1 := irow1.(*LogicalRouterPort)
  1971. if !(types.IsZeroString(row1.Name)) {
  1972. if row := tbl.GetByName(row1); row != nil {
  1973. return row
  1974. }
  1975. }
  1976. return nil
  1977. }
  1978. func (tbl LogicalRouterPortTable) FindOneMatchNonZeros(row1 *LogicalRouterPort) *LogicalRouterPort {
  1979. for i := range tbl {
  1980. row := &tbl[i]
  1981. if row.MatchNonZeros(row1) {
  1982. return row
  1983. }
  1984. }
  1985. return nil
  1986. }
  1987. type LogicalRouterPort struct {
  1988. Uuid string `json:"_uuid"`
  1989. Version string `json:"_version"`
  1990. Enabled *bool `json:"enabled"`
  1991. ExternalIds map[string]string `json:"external_ids"`
  1992. GatewayChassis []string `json:"gateway_chassis"`
  1993. HaChassisGroup *string `json:"ha_chassis_group"`
  1994. Ipv6RaConfigs map[string]string `json:"ipv6_ra_configs"`
  1995. Mac string `json:"mac"`
  1996. Name string `json:"name"`
  1997. Networks []string `json:"networks"`
  1998. Options map[string]string `json:"options"`
  1999. Peer *string `json:"peer"`
  2000. }
  2001. var _ types.IRow = &LogicalRouterPort{}
  2002. func (row *LogicalRouterPort) OvsdbTableName() string {
  2003. return "Logical_Router_Port"
  2004. }
  2005. func (row *LogicalRouterPort) OvsdbIsRoot() bool {
  2006. return false
  2007. }
  2008. func (row *LogicalRouterPort) OvsdbUuid() string {
  2009. return row.Uuid
  2010. }
  2011. func (row *LogicalRouterPort) OvsdbCmdArgs() []string {
  2012. r := []string{}
  2013. r = append(r, types.OvsdbCmdArgsBooleanOptional("enabled", row.Enabled)...)
  2014. r = append(r, types.OvsdbCmdArgsMapStringString("external_ids", row.ExternalIds)...)
  2015. r = append(r, types.OvsdbCmdArgsUuidMultiples("gateway_chassis", row.GatewayChassis)...)
  2016. r = append(r, types.OvsdbCmdArgsUuidOptional("ha_chassis_group", row.HaChassisGroup)...)
  2017. r = append(r, types.OvsdbCmdArgsMapStringString("ipv6_ra_configs", row.Ipv6RaConfigs)...)
  2018. r = append(r, types.OvsdbCmdArgsString("mac", row.Mac)...)
  2019. r = append(r, types.OvsdbCmdArgsString("name", row.Name)...)
  2020. r = append(r, types.OvsdbCmdArgsStringMultiples("networks", row.Networks)...)
  2021. r = append(r, types.OvsdbCmdArgsMapStringString("options", row.Options)...)
  2022. r = append(r, types.OvsdbCmdArgsStringOptional("peer", row.Peer)...)
  2023. return r
  2024. }
  2025. func (row *LogicalRouterPort) SetColumn(name string, val interface{}) (err error) {
  2026. defer func() {
  2027. if panicErr := recover(); panicErr != nil {
  2028. err = errors.Wrapf(panicErr.(error), "%s: %#v", name, fmt.Sprintf("%#v", val))
  2029. }
  2030. }()
  2031. switch name {
  2032. case "_uuid":
  2033. row.Uuid = types.EnsureUuid(val)
  2034. case "_version":
  2035. row.Version = types.EnsureUuid(val)
  2036. case "enabled":
  2037. row.Enabled = types.EnsureBooleanOptional(val)
  2038. case "external_ids":
  2039. row.ExternalIds = types.EnsureMapStringString(val)
  2040. case "gateway_chassis":
  2041. row.GatewayChassis = types.EnsureUuidMultiples(val)
  2042. case "ha_chassis_group":
  2043. row.HaChassisGroup = types.EnsureUuidOptional(val)
  2044. case "ipv6_ra_configs":
  2045. row.Ipv6RaConfigs = types.EnsureMapStringString(val)
  2046. case "mac":
  2047. row.Mac = types.EnsureString(val)
  2048. case "name":
  2049. row.Name = types.EnsureString(val)
  2050. case "networks":
  2051. row.Networks = types.EnsureStringMultiples(val)
  2052. case "options":
  2053. row.Options = types.EnsureMapStringString(val)
  2054. case "peer":
  2055. row.Peer = types.EnsureStringOptional(val)
  2056. default:
  2057. panic(types.ErrUnknownColumn)
  2058. }
  2059. return
  2060. }
  2061. func (row *LogicalRouterPort) MatchNonZeros(row1 *LogicalRouterPort) bool {
  2062. if !types.MatchUuidIfNonZero(row.Uuid, row1.Uuid) {
  2063. return false
  2064. }
  2065. if !types.MatchUuidIfNonZero(row.Version, row1.Version) {
  2066. return false
  2067. }
  2068. if !types.MatchBooleanOptionalIfNonZero(row.Enabled, row1.Enabled) {
  2069. return false
  2070. }
  2071. if !types.MatchMapStringStringIfNonZero(row.ExternalIds, row1.ExternalIds) {
  2072. return false
  2073. }
  2074. if !types.MatchUuidMultiplesIfNonZero(row.GatewayChassis, row1.GatewayChassis) {
  2075. return false
  2076. }
  2077. if !types.MatchUuidOptionalIfNonZero(row.HaChassisGroup, row1.HaChassisGroup) {
  2078. return false
  2079. }
  2080. if !types.MatchMapStringStringIfNonZero(row.Ipv6RaConfigs, row1.Ipv6RaConfigs) {
  2081. return false
  2082. }
  2083. if !types.MatchStringIfNonZero(row.Mac, row1.Mac) {
  2084. return false
  2085. }
  2086. if !types.MatchStringIfNonZero(row.Name, row1.Name) {
  2087. return false
  2088. }
  2089. if !types.MatchStringMultiplesIfNonZero(row.Networks, row1.Networks) {
  2090. return false
  2091. }
  2092. if !types.MatchMapStringStringIfNonZero(row.Options, row1.Options) {
  2093. return false
  2094. }
  2095. if !types.MatchStringOptionalIfNonZero(row.Peer, row1.Peer) {
  2096. return false
  2097. }
  2098. return true
  2099. }
  2100. func (tbl LogicalRouterPortTable) FindGatewayChassisReferrer_gateway_chassis(refUuid string) (r []*LogicalRouterPort) {
  2101. for i := range tbl {
  2102. row := &tbl[i]
  2103. for _, val := range row.GatewayChassis {
  2104. if val == refUuid {
  2105. r = append(r, row)
  2106. }
  2107. }
  2108. }
  2109. return r
  2110. }
  2111. func (tbl LogicalRouterPortTable) FindHAChassisGroupReferrer_ha_chassis_group(refUuid string) (r []*LogicalRouterPort) {
  2112. for i := range tbl {
  2113. row := &tbl[i]
  2114. if row.HaChassisGroup != nil && *row.HaChassisGroup == refUuid {
  2115. r = append(r, row)
  2116. }
  2117. }
  2118. return r
  2119. }
  2120. func (row *LogicalRouterPort) HasExternalIds() bool {
  2121. return true
  2122. }
  2123. func (row *LogicalRouterPort) SetExternalId(k, v string) {
  2124. if row.ExternalIds == nil {
  2125. row.ExternalIds = map[string]string{}
  2126. }
  2127. row.ExternalIds[k] = v
  2128. }
  2129. func (row *LogicalRouterPort) GetExternalId(k string) (string, bool) {
  2130. if row.ExternalIds == nil {
  2131. return "", false
  2132. }
  2133. r, ok := row.ExternalIds[k]
  2134. return r, ok
  2135. }
  2136. func (row *LogicalRouterPort) RemoveExternalId(k string) (string, bool) {
  2137. if row.ExternalIds == nil {
  2138. return "", false
  2139. }
  2140. r, ok := row.ExternalIds[k]
  2141. if ok {
  2142. delete(row.ExternalIds, k)
  2143. }
  2144. return r, ok
  2145. }
  2146. type LogicalRouterStaticRouteTable []LogicalRouterStaticRoute
  2147. var _ types.ITable = &LogicalRouterStaticRouteTable{}
  2148. func (tbl LogicalRouterStaticRouteTable) OvsdbTableName() string {
  2149. return "Logical_Router_Static_Route"
  2150. }
  2151. func (tbl LogicalRouterStaticRouteTable) OvsdbIsRoot() bool {
  2152. return false
  2153. }
  2154. func (tbl LogicalRouterStaticRouteTable) Rows() []types.IRow {
  2155. r := make([]types.IRow, len(tbl))
  2156. for i := range tbl {
  2157. r[i] = &tbl[i]
  2158. }
  2159. return r
  2160. }
  2161. func (tbl LogicalRouterStaticRouteTable) NewRow() types.IRow {
  2162. return &LogicalRouterStaticRoute{}
  2163. }
  2164. func (tbl *LogicalRouterStaticRouteTable) AppendRow(irow types.IRow) {
  2165. row := irow.(*LogicalRouterStaticRoute)
  2166. *tbl = append(*tbl, *row)
  2167. }
  2168. func (tbl LogicalRouterStaticRouteTable) OvsdbHasIndex() bool {
  2169. return false
  2170. }
  2171. func (tbl LogicalRouterStaticRouteTable) OvsdbGetByAnyIndex(irow1 types.IRow) types.IRow {
  2172. return nil
  2173. }
  2174. func (tbl LogicalRouterStaticRouteTable) FindOneMatchNonZeros(row1 *LogicalRouterStaticRoute) *LogicalRouterStaticRoute {
  2175. for i := range tbl {
  2176. row := &tbl[i]
  2177. if row.MatchNonZeros(row1) {
  2178. return row
  2179. }
  2180. }
  2181. return nil
  2182. }
  2183. type LogicalRouterStaticRoute struct {
  2184. Uuid string `json:"_uuid"`
  2185. Version string `json:"_version"`
  2186. ExternalIds map[string]string `json:"external_ids"`
  2187. IpPrefix string `json:"ip_prefix"`
  2188. Nexthop string `json:"nexthop"`
  2189. OutputPort *string `json:"output_port"`
  2190. Policy *string `json:"policy"`
  2191. }
  2192. var _ types.IRow = &LogicalRouterStaticRoute{}
  2193. func (row *LogicalRouterStaticRoute) OvsdbTableName() string {
  2194. return "Logical_Router_Static_Route"
  2195. }
  2196. func (row *LogicalRouterStaticRoute) OvsdbIsRoot() bool {
  2197. return false
  2198. }
  2199. func (row *LogicalRouterStaticRoute) OvsdbUuid() string {
  2200. return row.Uuid
  2201. }
  2202. func (row *LogicalRouterStaticRoute) OvsdbCmdArgs() []string {
  2203. r := []string{}
  2204. r = append(r, types.OvsdbCmdArgsMapStringString("external_ids", row.ExternalIds)...)
  2205. r = append(r, types.OvsdbCmdArgsString("ip_prefix", row.IpPrefix)...)
  2206. r = append(r, types.OvsdbCmdArgsString("nexthop", row.Nexthop)...)
  2207. r = append(r, types.OvsdbCmdArgsStringOptional("output_port", row.OutputPort)...)
  2208. r = append(r, types.OvsdbCmdArgsStringOptional("policy", row.Policy)...)
  2209. return r
  2210. }
  2211. func (row *LogicalRouterStaticRoute) SetColumn(name string, val interface{}) (err error) {
  2212. defer func() {
  2213. if panicErr := recover(); panicErr != nil {
  2214. err = errors.Wrapf(panicErr.(error), "%s: %#v", name, fmt.Sprintf("%#v", val))
  2215. }
  2216. }()
  2217. switch name {
  2218. case "_uuid":
  2219. row.Uuid = types.EnsureUuid(val)
  2220. case "_version":
  2221. row.Version = types.EnsureUuid(val)
  2222. case "external_ids":
  2223. row.ExternalIds = types.EnsureMapStringString(val)
  2224. case "ip_prefix":
  2225. row.IpPrefix = types.EnsureString(val)
  2226. case "nexthop":
  2227. row.Nexthop = types.EnsureString(val)
  2228. case "output_port":
  2229. row.OutputPort = types.EnsureStringOptional(val)
  2230. case "policy":
  2231. row.Policy = types.EnsureStringOptional(val)
  2232. default:
  2233. panic(types.ErrUnknownColumn)
  2234. }
  2235. return
  2236. }
  2237. func (row *LogicalRouterStaticRoute) MatchNonZeros(row1 *LogicalRouterStaticRoute) bool {
  2238. if !types.MatchUuidIfNonZero(row.Uuid, row1.Uuid) {
  2239. return false
  2240. }
  2241. if !types.MatchUuidIfNonZero(row.Version, row1.Version) {
  2242. return false
  2243. }
  2244. if !types.MatchMapStringStringIfNonZero(row.ExternalIds, row1.ExternalIds) {
  2245. return false
  2246. }
  2247. if !types.MatchStringIfNonZero(row.IpPrefix, row1.IpPrefix) {
  2248. return false
  2249. }
  2250. if !types.MatchStringIfNonZero(row.Nexthop, row1.Nexthop) {
  2251. return false
  2252. }
  2253. if !types.MatchStringOptionalIfNonZero(row.OutputPort, row1.OutputPort) {
  2254. return false
  2255. }
  2256. if !types.MatchStringOptionalIfNonZero(row.Policy, row1.Policy) {
  2257. return false
  2258. }
  2259. return true
  2260. }
  2261. func (row *LogicalRouterStaticRoute) HasExternalIds() bool {
  2262. return true
  2263. }
  2264. func (row *LogicalRouterStaticRoute) SetExternalId(k, v string) {
  2265. if row.ExternalIds == nil {
  2266. row.ExternalIds = map[string]string{}
  2267. }
  2268. row.ExternalIds[k] = v
  2269. }
  2270. func (row *LogicalRouterStaticRoute) GetExternalId(k string) (string, bool) {
  2271. if row.ExternalIds == nil {
  2272. return "", false
  2273. }
  2274. r, ok := row.ExternalIds[k]
  2275. return r, ok
  2276. }
  2277. func (row *LogicalRouterStaticRoute) RemoveExternalId(k string) (string, bool) {
  2278. if row.ExternalIds == nil {
  2279. return "", false
  2280. }
  2281. r, ok := row.ExternalIds[k]
  2282. if ok {
  2283. delete(row.ExternalIds, k)
  2284. }
  2285. return r, ok
  2286. }
  2287. type LogicalSwitchTable []LogicalSwitch
  2288. var _ types.ITable = &LogicalSwitchTable{}
  2289. func (tbl LogicalSwitchTable) OvsdbTableName() string {
  2290. return "Logical_Switch"
  2291. }
  2292. func (tbl LogicalSwitchTable) OvsdbIsRoot() bool {
  2293. return true
  2294. }
  2295. func (tbl LogicalSwitchTable) Rows() []types.IRow {
  2296. r := make([]types.IRow, len(tbl))
  2297. for i := range tbl {
  2298. r[i] = &tbl[i]
  2299. }
  2300. return r
  2301. }
  2302. func (tbl LogicalSwitchTable) NewRow() types.IRow {
  2303. return &LogicalSwitch{}
  2304. }
  2305. func (tbl *LogicalSwitchTable) AppendRow(irow types.IRow) {
  2306. row := irow.(*LogicalSwitch)
  2307. *tbl = append(*tbl, *row)
  2308. }
  2309. func (tbl LogicalSwitchTable) OvsdbHasIndex() bool {
  2310. return false
  2311. }
  2312. func (tbl LogicalSwitchTable) OvsdbGetByAnyIndex(irow1 types.IRow) types.IRow {
  2313. return nil
  2314. }
  2315. func (tbl LogicalSwitchTable) FindOneMatchNonZeros(row1 *LogicalSwitch) *LogicalSwitch {
  2316. for i := range tbl {
  2317. row := &tbl[i]
  2318. if row.MatchNonZeros(row1) {
  2319. return row
  2320. }
  2321. }
  2322. return nil
  2323. }
  2324. type LogicalSwitch struct {
  2325. Uuid string `json:"_uuid"`
  2326. Version string `json:"_version"`
  2327. Acls []string `json:"acls"`
  2328. DnsRecords []string `json:"dns_records"`
  2329. ExternalIds map[string]string `json:"external_ids"`
  2330. LoadBalancer []string `json:"load_balancer"`
  2331. Name string `json:"name"`
  2332. OtherConfig map[string]string `json:"other_config"`
  2333. Ports []string `json:"ports"`
  2334. QosRules []string `json:"qos_rules"`
  2335. }
  2336. var _ types.IRow = &LogicalSwitch{}
  2337. func (row *LogicalSwitch) OvsdbTableName() string {
  2338. return "Logical_Switch"
  2339. }
  2340. func (row *LogicalSwitch) OvsdbIsRoot() bool {
  2341. return true
  2342. }
  2343. func (row *LogicalSwitch) OvsdbUuid() string {
  2344. return row.Uuid
  2345. }
  2346. func (row *LogicalSwitch) OvsdbCmdArgs() []string {
  2347. r := []string{}
  2348. r = append(r, types.OvsdbCmdArgsUuidMultiples("acls", row.Acls)...)
  2349. r = append(r, types.OvsdbCmdArgsUuidMultiples("dns_records", row.DnsRecords)...)
  2350. r = append(r, types.OvsdbCmdArgsMapStringString("external_ids", row.ExternalIds)...)
  2351. r = append(r, types.OvsdbCmdArgsUuidMultiples("load_balancer", row.LoadBalancer)...)
  2352. r = append(r, types.OvsdbCmdArgsString("name", row.Name)...)
  2353. r = append(r, types.OvsdbCmdArgsMapStringString("other_config", row.OtherConfig)...)
  2354. r = append(r, types.OvsdbCmdArgsUuidMultiples("ports", row.Ports)...)
  2355. r = append(r, types.OvsdbCmdArgsUuidMultiples("qos_rules", row.QosRules)...)
  2356. return r
  2357. }
  2358. func (row *LogicalSwitch) SetColumn(name string, val interface{}) (err error) {
  2359. defer func() {
  2360. if panicErr := recover(); panicErr != nil {
  2361. err = errors.Wrapf(panicErr.(error), "%s: %#v", name, fmt.Sprintf("%#v", val))
  2362. }
  2363. }()
  2364. switch name {
  2365. case "_uuid":
  2366. row.Uuid = types.EnsureUuid(val)
  2367. case "_version":
  2368. row.Version = types.EnsureUuid(val)
  2369. case "acls":
  2370. row.Acls = types.EnsureUuidMultiples(val)
  2371. case "dns_records":
  2372. row.DnsRecords = types.EnsureUuidMultiples(val)
  2373. case "external_ids":
  2374. row.ExternalIds = types.EnsureMapStringString(val)
  2375. case "load_balancer":
  2376. row.LoadBalancer = types.EnsureUuidMultiples(val)
  2377. case "name":
  2378. row.Name = types.EnsureString(val)
  2379. case "other_config":
  2380. row.OtherConfig = types.EnsureMapStringString(val)
  2381. case "ports":
  2382. row.Ports = types.EnsureUuidMultiples(val)
  2383. case "qos_rules":
  2384. row.QosRules = types.EnsureUuidMultiples(val)
  2385. default:
  2386. panic(types.ErrUnknownColumn)
  2387. }
  2388. return
  2389. }
  2390. func (row *LogicalSwitch) MatchNonZeros(row1 *LogicalSwitch) bool {
  2391. if !types.MatchUuidIfNonZero(row.Uuid, row1.Uuid) {
  2392. return false
  2393. }
  2394. if !types.MatchUuidIfNonZero(row.Version, row1.Version) {
  2395. return false
  2396. }
  2397. if !types.MatchUuidMultiplesIfNonZero(row.Acls, row1.Acls) {
  2398. return false
  2399. }
  2400. if !types.MatchUuidMultiplesIfNonZero(row.DnsRecords, row1.DnsRecords) {
  2401. return false
  2402. }
  2403. if !types.MatchMapStringStringIfNonZero(row.ExternalIds, row1.ExternalIds) {
  2404. return false
  2405. }
  2406. if !types.MatchUuidMultiplesIfNonZero(row.LoadBalancer, row1.LoadBalancer) {
  2407. return false
  2408. }
  2409. if !types.MatchStringIfNonZero(row.Name, row1.Name) {
  2410. return false
  2411. }
  2412. if !types.MatchMapStringStringIfNonZero(row.OtherConfig, row1.OtherConfig) {
  2413. return false
  2414. }
  2415. if !types.MatchUuidMultiplesIfNonZero(row.Ports, row1.Ports) {
  2416. return false
  2417. }
  2418. if !types.MatchUuidMultiplesIfNonZero(row.QosRules, row1.QosRules) {
  2419. return false
  2420. }
  2421. return true
  2422. }
  2423. func (tbl LogicalSwitchTable) FindACLReferrer_acls(refUuid string) (r []*LogicalSwitch) {
  2424. for i := range tbl {
  2425. row := &tbl[i]
  2426. for _, val := range row.Acls {
  2427. if val == refUuid {
  2428. r = append(r, row)
  2429. }
  2430. }
  2431. }
  2432. return r
  2433. }
  2434. func (tbl LogicalSwitchTable) FindDNSReferrer_dns_records(refUuid string) (r []*LogicalSwitch) {
  2435. for i := range tbl {
  2436. row := &tbl[i]
  2437. for _, val := range row.DnsRecords {
  2438. if val == refUuid {
  2439. r = append(r, row)
  2440. }
  2441. }
  2442. }
  2443. return r
  2444. }
  2445. func (tbl LogicalSwitchTable) FindLoadBalancerReferrer_load_balancer(refUuid string) (r []*LogicalSwitch) {
  2446. for i := range tbl {
  2447. row := &tbl[i]
  2448. for _, val := range row.LoadBalancer {
  2449. if val == refUuid {
  2450. r = append(r, row)
  2451. }
  2452. }
  2453. }
  2454. return r
  2455. }
  2456. func (tbl LogicalSwitchTable) FindLogicalSwitchPortReferrer_ports(refUuid string) (r []*LogicalSwitch) {
  2457. for i := range tbl {
  2458. row := &tbl[i]
  2459. for _, val := range row.Ports {
  2460. if val == refUuid {
  2461. r = append(r, row)
  2462. }
  2463. }
  2464. }
  2465. return r
  2466. }
  2467. func (tbl LogicalSwitchTable) FindQoSReferrer_qos_rules(refUuid string) (r []*LogicalSwitch) {
  2468. for i := range tbl {
  2469. row := &tbl[i]
  2470. for _, val := range row.QosRules {
  2471. if val == refUuid {
  2472. r = append(r, row)
  2473. }
  2474. }
  2475. }
  2476. return r
  2477. }
  2478. func (row *LogicalSwitch) HasExternalIds() bool {
  2479. return true
  2480. }
  2481. func (row *LogicalSwitch) SetExternalId(k, v string) {
  2482. if row.ExternalIds == nil {
  2483. row.ExternalIds = map[string]string{}
  2484. }
  2485. row.ExternalIds[k] = v
  2486. }
  2487. func (row *LogicalSwitch) GetExternalId(k string) (string, bool) {
  2488. if row.ExternalIds == nil {
  2489. return "", false
  2490. }
  2491. r, ok := row.ExternalIds[k]
  2492. return r, ok
  2493. }
  2494. func (row *LogicalSwitch) RemoveExternalId(k string) (string, bool) {
  2495. if row.ExternalIds == nil {
  2496. return "", false
  2497. }
  2498. r, ok := row.ExternalIds[k]
  2499. if ok {
  2500. delete(row.ExternalIds, k)
  2501. }
  2502. return r, ok
  2503. }
  2504. type LogicalSwitchPortTable []LogicalSwitchPort
  2505. var _ types.ITable = &LogicalSwitchPortTable{}
  2506. func (tbl LogicalSwitchPortTable) OvsdbTableName() string {
  2507. return "Logical_Switch_Port"
  2508. }
  2509. func (tbl LogicalSwitchPortTable) OvsdbIsRoot() bool {
  2510. return false
  2511. }
  2512. func (tbl LogicalSwitchPortTable) Rows() []types.IRow {
  2513. r := make([]types.IRow, len(tbl))
  2514. for i := range tbl {
  2515. r[i] = &tbl[i]
  2516. }
  2517. return r
  2518. }
  2519. func (tbl LogicalSwitchPortTable) NewRow() types.IRow {
  2520. return &LogicalSwitchPort{}
  2521. }
  2522. func (tbl *LogicalSwitchPortTable) AppendRow(irow types.IRow) {
  2523. row := irow.(*LogicalSwitchPort)
  2524. *tbl = append(*tbl, *row)
  2525. }
  2526. func (tbl LogicalSwitchPortTable) OvsdbHasIndex() bool {
  2527. return true
  2528. }
  2529. func (row *LogicalSwitchPort) MatchByName(row1 *LogicalSwitchPort) bool {
  2530. if !types.MatchString(row.Name, row1.Name) {
  2531. return false
  2532. }
  2533. return true
  2534. }
  2535. func (tbl LogicalSwitchPortTable) GetByName(row1 *LogicalSwitchPort) *LogicalSwitchPort {
  2536. for i := range tbl {
  2537. row := &tbl[i]
  2538. if row.MatchByName(row1) {
  2539. return row
  2540. }
  2541. }
  2542. return nil
  2543. }
  2544. func (tbl LogicalSwitchPortTable) OvsdbGetByAnyIndex(irow1 types.IRow) types.IRow {
  2545. row1 := irow1.(*LogicalSwitchPort)
  2546. if !(types.IsZeroString(row1.Name)) {
  2547. if row := tbl.GetByName(row1); row != nil {
  2548. return row
  2549. }
  2550. }
  2551. return nil
  2552. }
  2553. func (tbl LogicalSwitchPortTable) FindOneMatchNonZeros(row1 *LogicalSwitchPort) *LogicalSwitchPort {
  2554. for i := range tbl {
  2555. row := &tbl[i]
  2556. if row.MatchNonZeros(row1) {
  2557. return row
  2558. }
  2559. }
  2560. return nil
  2561. }
  2562. type LogicalSwitchPort struct {
  2563. Uuid string `json:"_uuid"`
  2564. Version string `json:"_version"`
  2565. Addresses []string `json:"addresses"`
  2566. Dhcpv4Options *string `json:"dhcpv4_options"`
  2567. Dhcpv6Options *string `json:"dhcpv6_options"`
  2568. DynamicAddresses *string `json:"dynamic_addresses"`
  2569. Enabled *bool `json:"enabled"`
  2570. ExternalIds map[string]string `json:"external_ids"`
  2571. HaChassisGroup *string `json:"ha_chassis_group"`
  2572. Name string `json:"name"`
  2573. Options map[string]string `json:"options"`
  2574. ParentName *string `json:"parent_name"`
  2575. PortSecurity []string `json:"port_security"`
  2576. Tag *int64 `json:"tag"`
  2577. TagRequest *int64 `json:"tag_request"`
  2578. Type string `json:"type"`
  2579. Up *bool `json:"up"`
  2580. }
  2581. var _ types.IRow = &LogicalSwitchPort{}
  2582. func (row *LogicalSwitchPort) OvsdbTableName() string {
  2583. return "Logical_Switch_Port"
  2584. }
  2585. func (row *LogicalSwitchPort) OvsdbIsRoot() bool {
  2586. return false
  2587. }
  2588. func (row *LogicalSwitchPort) OvsdbUuid() string {
  2589. return row.Uuid
  2590. }
  2591. func (row *LogicalSwitchPort) OvsdbCmdArgs() []string {
  2592. r := []string{}
  2593. r = append(r, types.OvsdbCmdArgsStringMultiples("addresses", row.Addresses)...)
  2594. r = append(r, types.OvsdbCmdArgsUuidOptional("dhcpv4_options", row.Dhcpv4Options)...)
  2595. r = append(r, types.OvsdbCmdArgsUuidOptional("dhcpv6_options", row.Dhcpv6Options)...)
  2596. r = append(r, types.OvsdbCmdArgsStringOptional("dynamic_addresses", row.DynamicAddresses)...)
  2597. r = append(r, types.OvsdbCmdArgsBooleanOptional("enabled", row.Enabled)...)
  2598. r = append(r, types.OvsdbCmdArgsMapStringString("external_ids", row.ExternalIds)...)
  2599. r = append(r, types.OvsdbCmdArgsUuidOptional("ha_chassis_group", row.HaChassisGroup)...)
  2600. r = append(r, types.OvsdbCmdArgsString("name", row.Name)...)
  2601. r = append(r, types.OvsdbCmdArgsMapStringString("options", row.Options)...)
  2602. r = append(r, types.OvsdbCmdArgsStringOptional("parent_name", row.ParentName)...)
  2603. r = append(r, types.OvsdbCmdArgsStringMultiples("port_security", row.PortSecurity)...)
  2604. r = append(r, types.OvsdbCmdArgsIntegerOptional("tag", row.Tag)...)
  2605. r = append(r, types.OvsdbCmdArgsIntegerOptional("tag_request", row.TagRequest)...)
  2606. r = append(r, types.OvsdbCmdArgsString("type", row.Type)...)
  2607. r = append(r, types.OvsdbCmdArgsBooleanOptional("up", row.Up)...)
  2608. return r
  2609. }
  2610. func (row *LogicalSwitchPort) SetColumn(name string, val interface{}) (err error) {
  2611. defer func() {
  2612. if panicErr := recover(); panicErr != nil {
  2613. err = errors.Wrapf(panicErr.(error), "%s: %#v", name, fmt.Sprintf("%#v", val))
  2614. }
  2615. }()
  2616. switch name {
  2617. case "_uuid":
  2618. row.Uuid = types.EnsureUuid(val)
  2619. case "_version":
  2620. row.Version = types.EnsureUuid(val)
  2621. case "addresses":
  2622. row.Addresses = types.EnsureStringMultiples(val)
  2623. case "dhcpv4_options":
  2624. row.Dhcpv4Options = types.EnsureUuidOptional(val)
  2625. case "dhcpv6_options":
  2626. row.Dhcpv6Options = types.EnsureUuidOptional(val)
  2627. case "dynamic_addresses":
  2628. row.DynamicAddresses = types.EnsureStringOptional(val)
  2629. case "enabled":
  2630. row.Enabled = types.EnsureBooleanOptional(val)
  2631. case "external_ids":
  2632. row.ExternalIds = types.EnsureMapStringString(val)
  2633. case "ha_chassis_group":
  2634. row.HaChassisGroup = types.EnsureUuidOptional(val)
  2635. case "name":
  2636. row.Name = types.EnsureString(val)
  2637. case "options":
  2638. row.Options = types.EnsureMapStringString(val)
  2639. case "parent_name":
  2640. row.ParentName = types.EnsureStringOptional(val)
  2641. case "port_security":
  2642. row.PortSecurity = types.EnsureStringMultiples(val)
  2643. case "tag":
  2644. row.Tag = types.EnsureIntegerOptional(val)
  2645. case "tag_request":
  2646. row.TagRequest = types.EnsureIntegerOptional(val)
  2647. case "type":
  2648. row.Type = types.EnsureString(val)
  2649. case "up":
  2650. row.Up = types.EnsureBooleanOptional(val)
  2651. default:
  2652. panic(types.ErrUnknownColumn)
  2653. }
  2654. return
  2655. }
  2656. func (row *LogicalSwitchPort) MatchNonZeros(row1 *LogicalSwitchPort) bool {
  2657. if !types.MatchUuidIfNonZero(row.Uuid, row1.Uuid) {
  2658. return false
  2659. }
  2660. if !types.MatchUuidIfNonZero(row.Version, row1.Version) {
  2661. return false
  2662. }
  2663. if !types.MatchStringMultiplesIfNonZero(row.Addresses, row1.Addresses) {
  2664. return false
  2665. }
  2666. if !types.MatchUuidOptionalIfNonZero(row.Dhcpv4Options, row1.Dhcpv4Options) {
  2667. return false
  2668. }
  2669. if !types.MatchUuidOptionalIfNonZero(row.Dhcpv6Options, row1.Dhcpv6Options) {
  2670. return false
  2671. }
  2672. if !types.MatchStringOptionalIfNonZero(row.DynamicAddresses, row1.DynamicAddresses) {
  2673. return false
  2674. }
  2675. if !types.MatchBooleanOptionalIfNonZero(row.Enabled, row1.Enabled) {
  2676. return false
  2677. }
  2678. if !types.MatchMapStringStringIfNonZero(row.ExternalIds, row1.ExternalIds) {
  2679. return false
  2680. }
  2681. if !types.MatchUuidOptionalIfNonZero(row.HaChassisGroup, row1.HaChassisGroup) {
  2682. return false
  2683. }
  2684. if !types.MatchStringIfNonZero(row.Name, row1.Name) {
  2685. return false
  2686. }
  2687. if !types.MatchMapStringStringIfNonZero(row.Options, row1.Options) {
  2688. return false
  2689. }
  2690. if !types.MatchStringOptionalIfNonZero(row.ParentName, row1.ParentName) {
  2691. return false
  2692. }
  2693. if !types.MatchStringMultiplesIfNonZero(row.PortSecurity, row1.PortSecurity) {
  2694. return false
  2695. }
  2696. if !types.MatchIntegerOptionalIfNonZero(row.Tag, row1.Tag) {
  2697. return false
  2698. }
  2699. if !types.MatchIntegerOptionalIfNonZero(row.TagRequest, row1.TagRequest) {
  2700. return false
  2701. }
  2702. if !types.MatchStringIfNonZero(row.Type, row1.Type) {
  2703. return false
  2704. }
  2705. if !types.MatchBooleanOptionalIfNonZero(row.Up, row1.Up) {
  2706. return false
  2707. }
  2708. return true
  2709. }
  2710. func (tbl LogicalSwitchPortTable) FindDHCPOptionsReferrer_dhcpv4_options(refUuid string) (r []*LogicalSwitchPort) {
  2711. for i := range tbl {
  2712. row := &tbl[i]
  2713. if row.Dhcpv4Options != nil && *row.Dhcpv4Options == refUuid {
  2714. r = append(r, row)
  2715. }
  2716. }
  2717. return r
  2718. }
  2719. func (tbl LogicalSwitchPortTable) FindDHCPOptionsReferrer_dhcpv6_options(refUuid string) (r []*LogicalSwitchPort) {
  2720. for i := range tbl {
  2721. row := &tbl[i]
  2722. if row.Dhcpv6Options != nil && *row.Dhcpv6Options == refUuid {
  2723. r = append(r, row)
  2724. }
  2725. }
  2726. return r
  2727. }
  2728. func (tbl LogicalSwitchPortTable) FindHAChassisGroupReferrer_ha_chassis_group(refUuid string) (r []*LogicalSwitchPort) {
  2729. for i := range tbl {
  2730. row := &tbl[i]
  2731. if row.HaChassisGroup != nil && *row.HaChassisGroup == refUuid {
  2732. r = append(r, row)
  2733. }
  2734. }
  2735. return r
  2736. }
  2737. func (row *LogicalSwitchPort) HasExternalIds() bool {
  2738. return true
  2739. }
  2740. func (row *LogicalSwitchPort) SetExternalId(k, v string) {
  2741. if row.ExternalIds == nil {
  2742. row.ExternalIds = map[string]string{}
  2743. }
  2744. row.ExternalIds[k] = v
  2745. }
  2746. func (row *LogicalSwitchPort) GetExternalId(k string) (string, bool) {
  2747. if row.ExternalIds == nil {
  2748. return "", false
  2749. }
  2750. r, ok := row.ExternalIds[k]
  2751. return r, ok
  2752. }
  2753. func (row *LogicalSwitchPort) RemoveExternalId(k string) (string, bool) {
  2754. if row.ExternalIds == nil {
  2755. return "", false
  2756. }
  2757. r, ok := row.ExternalIds[k]
  2758. if ok {
  2759. delete(row.ExternalIds, k)
  2760. }
  2761. return r, ok
  2762. }
  2763. type MeterTable []Meter
  2764. var _ types.ITable = &MeterTable{}
  2765. func (tbl MeterTable) OvsdbTableName() string {
  2766. return "Meter"
  2767. }
  2768. func (tbl MeterTable) OvsdbIsRoot() bool {
  2769. return true
  2770. }
  2771. func (tbl MeterTable) Rows() []types.IRow {
  2772. r := make([]types.IRow, len(tbl))
  2773. for i := range tbl {
  2774. r[i] = &tbl[i]
  2775. }
  2776. return r
  2777. }
  2778. func (tbl MeterTable) NewRow() types.IRow {
  2779. return &Meter{}
  2780. }
  2781. func (tbl *MeterTable) AppendRow(irow types.IRow) {
  2782. row := irow.(*Meter)
  2783. *tbl = append(*tbl, *row)
  2784. }
  2785. func (tbl MeterTable) OvsdbHasIndex() bool {
  2786. return true
  2787. }
  2788. func (row *Meter) MatchByName(row1 *Meter) bool {
  2789. if !types.MatchString(row.Name, row1.Name) {
  2790. return false
  2791. }
  2792. return true
  2793. }
  2794. func (tbl MeterTable) GetByName(row1 *Meter) *Meter {
  2795. for i := range tbl {
  2796. row := &tbl[i]
  2797. if row.MatchByName(row1) {
  2798. return row
  2799. }
  2800. }
  2801. return nil
  2802. }
  2803. func (tbl MeterTable) OvsdbGetByAnyIndex(irow1 types.IRow) types.IRow {
  2804. row1 := irow1.(*Meter)
  2805. if !(types.IsZeroString(row1.Name)) {
  2806. if row := tbl.GetByName(row1); row != nil {
  2807. return row
  2808. }
  2809. }
  2810. return nil
  2811. }
  2812. func (tbl MeterTable) FindOneMatchNonZeros(row1 *Meter) *Meter {
  2813. for i := range tbl {
  2814. row := &tbl[i]
  2815. if row.MatchNonZeros(row1) {
  2816. return row
  2817. }
  2818. }
  2819. return nil
  2820. }
  2821. type Meter struct {
  2822. Uuid string `json:"_uuid"`
  2823. Version string `json:"_version"`
  2824. Bands []string `json:"bands"`
  2825. ExternalIds map[string]string `json:"external_ids"`
  2826. Name string `json:"name"`
  2827. Unit string `json:"unit"`
  2828. }
  2829. var _ types.IRow = &Meter{}
  2830. func (row *Meter) OvsdbTableName() string {
  2831. return "Meter"
  2832. }
  2833. func (row *Meter) OvsdbIsRoot() bool {
  2834. return true
  2835. }
  2836. func (row *Meter) OvsdbUuid() string {
  2837. return row.Uuid
  2838. }
  2839. func (row *Meter) OvsdbCmdArgs() []string {
  2840. r := []string{}
  2841. r = append(r, types.OvsdbCmdArgsUuidMultiples("bands", row.Bands)...)
  2842. r = append(r, types.OvsdbCmdArgsMapStringString("external_ids", row.ExternalIds)...)
  2843. r = append(r, types.OvsdbCmdArgsString("name", row.Name)...)
  2844. r = append(r, types.OvsdbCmdArgsString("unit", row.Unit)...)
  2845. return r
  2846. }
  2847. func (row *Meter) SetColumn(name string, val interface{}) (err error) {
  2848. defer func() {
  2849. if panicErr := recover(); panicErr != nil {
  2850. err = errors.Wrapf(panicErr.(error), "%s: %#v", name, fmt.Sprintf("%#v", val))
  2851. }
  2852. }()
  2853. switch name {
  2854. case "_uuid":
  2855. row.Uuid = types.EnsureUuid(val)
  2856. case "_version":
  2857. row.Version = types.EnsureUuid(val)
  2858. case "bands":
  2859. row.Bands = types.EnsureUuidMultiples(val)
  2860. case "external_ids":
  2861. row.ExternalIds = types.EnsureMapStringString(val)
  2862. case "name":
  2863. row.Name = types.EnsureString(val)
  2864. case "unit":
  2865. row.Unit = types.EnsureString(val)
  2866. default:
  2867. panic(types.ErrUnknownColumn)
  2868. }
  2869. return
  2870. }
  2871. func (row *Meter) MatchNonZeros(row1 *Meter) bool {
  2872. if !types.MatchUuidIfNonZero(row.Uuid, row1.Uuid) {
  2873. return false
  2874. }
  2875. if !types.MatchUuidIfNonZero(row.Version, row1.Version) {
  2876. return false
  2877. }
  2878. if !types.MatchUuidMultiplesIfNonZero(row.Bands, row1.Bands) {
  2879. return false
  2880. }
  2881. if !types.MatchMapStringStringIfNonZero(row.ExternalIds, row1.ExternalIds) {
  2882. return false
  2883. }
  2884. if !types.MatchStringIfNonZero(row.Name, row1.Name) {
  2885. return false
  2886. }
  2887. if !types.MatchStringIfNonZero(row.Unit, row1.Unit) {
  2888. return false
  2889. }
  2890. return true
  2891. }
  2892. func (tbl MeterTable) FindMeterBandReferrer_bands(refUuid string) (r []*Meter) {
  2893. for i := range tbl {
  2894. row := &tbl[i]
  2895. for _, val := range row.Bands {
  2896. if val == refUuid {
  2897. r = append(r, row)
  2898. }
  2899. }
  2900. }
  2901. return r
  2902. }
  2903. func (row *Meter) HasExternalIds() bool {
  2904. return true
  2905. }
  2906. func (row *Meter) SetExternalId(k, v string) {
  2907. if row.ExternalIds == nil {
  2908. row.ExternalIds = map[string]string{}
  2909. }
  2910. row.ExternalIds[k] = v
  2911. }
  2912. func (row *Meter) GetExternalId(k string) (string, bool) {
  2913. if row.ExternalIds == nil {
  2914. return "", false
  2915. }
  2916. r, ok := row.ExternalIds[k]
  2917. return r, ok
  2918. }
  2919. func (row *Meter) RemoveExternalId(k string) (string, bool) {
  2920. if row.ExternalIds == nil {
  2921. return "", false
  2922. }
  2923. r, ok := row.ExternalIds[k]
  2924. if ok {
  2925. delete(row.ExternalIds, k)
  2926. }
  2927. return r, ok
  2928. }
  2929. type MeterBandTable []MeterBand
  2930. var _ types.ITable = &MeterBandTable{}
  2931. func (tbl MeterBandTable) OvsdbTableName() string {
  2932. return "Meter_Band"
  2933. }
  2934. func (tbl MeterBandTable) OvsdbIsRoot() bool {
  2935. return false
  2936. }
  2937. func (tbl MeterBandTable) Rows() []types.IRow {
  2938. r := make([]types.IRow, len(tbl))
  2939. for i := range tbl {
  2940. r[i] = &tbl[i]
  2941. }
  2942. return r
  2943. }
  2944. func (tbl MeterBandTable) NewRow() types.IRow {
  2945. return &MeterBand{}
  2946. }
  2947. func (tbl *MeterBandTable) AppendRow(irow types.IRow) {
  2948. row := irow.(*MeterBand)
  2949. *tbl = append(*tbl, *row)
  2950. }
  2951. func (tbl MeterBandTable) OvsdbHasIndex() bool {
  2952. return false
  2953. }
  2954. func (tbl MeterBandTable) OvsdbGetByAnyIndex(irow1 types.IRow) types.IRow {
  2955. return nil
  2956. }
  2957. func (tbl MeterBandTable) FindOneMatchNonZeros(row1 *MeterBand) *MeterBand {
  2958. for i := range tbl {
  2959. row := &tbl[i]
  2960. if row.MatchNonZeros(row1) {
  2961. return row
  2962. }
  2963. }
  2964. return nil
  2965. }
  2966. type MeterBand struct {
  2967. Uuid string `json:"_uuid"`
  2968. Version string `json:"_version"`
  2969. Action string `json:"action"`
  2970. BurstSize int64 `json:"burst_size"`
  2971. ExternalIds map[string]string `json:"external_ids"`
  2972. Rate int64 `json:"rate"`
  2973. }
  2974. var _ types.IRow = &MeterBand{}
  2975. func (row *MeterBand) OvsdbTableName() string {
  2976. return "Meter_Band"
  2977. }
  2978. func (row *MeterBand) OvsdbIsRoot() bool {
  2979. return false
  2980. }
  2981. func (row *MeterBand) OvsdbUuid() string {
  2982. return row.Uuid
  2983. }
  2984. func (row *MeterBand) OvsdbCmdArgs() []string {
  2985. r := []string{}
  2986. r = append(r, types.OvsdbCmdArgsString("action", row.Action)...)
  2987. r = append(r, types.OvsdbCmdArgsInteger("burst_size", row.BurstSize)...)
  2988. r = append(r, types.OvsdbCmdArgsMapStringString("external_ids", row.ExternalIds)...)
  2989. r = append(r, types.OvsdbCmdArgsInteger("rate", row.Rate)...)
  2990. return r
  2991. }
  2992. func (row *MeterBand) SetColumn(name string, val interface{}) (err error) {
  2993. defer func() {
  2994. if panicErr := recover(); panicErr != nil {
  2995. err = errors.Wrapf(panicErr.(error), "%s: %#v", name, fmt.Sprintf("%#v", val))
  2996. }
  2997. }()
  2998. switch name {
  2999. case "_uuid":
  3000. row.Uuid = types.EnsureUuid(val)
  3001. case "_version":
  3002. row.Version = types.EnsureUuid(val)
  3003. case "action":
  3004. row.Action = types.EnsureString(val)
  3005. case "burst_size":
  3006. row.BurstSize = types.EnsureInteger(val)
  3007. case "external_ids":
  3008. row.ExternalIds = types.EnsureMapStringString(val)
  3009. case "rate":
  3010. row.Rate = types.EnsureInteger(val)
  3011. default:
  3012. panic(types.ErrUnknownColumn)
  3013. }
  3014. return
  3015. }
  3016. func (row *MeterBand) MatchNonZeros(row1 *MeterBand) bool {
  3017. if !types.MatchUuidIfNonZero(row.Uuid, row1.Uuid) {
  3018. return false
  3019. }
  3020. if !types.MatchUuidIfNonZero(row.Version, row1.Version) {
  3021. return false
  3022. }
  3023. if !types.MatchStringIfNonZero(row.Action, row1.Action) {
  3024. return false
  3025. }
  3026. if !types.MatchIntegerIfNonZero(row.BurstSize, row1.BurstSize) {
  3027. return false
  3028. }
  3029. if !types.MatchMapStringStringIfNonZero(row.ExternalIds, row1.ExternalIds) {
  3030. return false
  3031. }
  3032. if !types.MatchIntegerIfNonZero(row.Rate, row1.Rate) {
  3033. return false
  3034. }
  3035. return true
  3036. }
  3037. func (row *MeterBand) HasExternalIds() bool {
  3038. return true
  3039. }
  3040. func (row *MeterBand) SetExternalId(k, v string) {
  3041. if row.ExternalIds == nil {
  3042. row.ExternalIds = map[string]string{}
  3043. }
  3044. row.ExternalIds[k] = v
  3045. }
  3046. func (row *MeterBand) GetExternalId(k string) (string, bool) {
  3047. if row.ExternalIds == nil {
  3048. return "", false
  3049. }
  3050. r, ok := row.ExternalIds[k]
  3051. return r, ok
  3052. }
  3053. func (row *MeterBand) RemoveExternalId(k string) (string, bool) {
  3054. if row.ExternalIds == nil {
  3055. return "", false
  3056. }
  3057. r, ok := row.ExternalIds[k]
  3058. if ok {
  3059. delete(row.ExternalIds, k)
  3060. }
  3061. return r, ok
  3062. }
  3063. type NATTable []NAT
  3064. var _ types.ITable = &NATTable{}
  3065. func (tbl NATTable) OvsdbTableName() string {
  3066. return "NAT"
  3067. }
  3068. func (tbl NATTable) OvsdbIsRoot() bool {
  3069. return false
  3070. }
  3071. func (tbl NATTable) Rows() []types.IRow {
  3072. r := make([]types.IRow, len(tbl))
  3073. for i := range tbl {
  3074. r[i] = &tbl[i]
  3075. }
  3076. return r
  3077. }
  3078. func (tbl NATTable) NewRow() types.IRow {
  3079. return &NAT{}
  3080. }
  3081. func (tbl *NATTable) AppendRow(irow types.IRow) {
  3082. row := irow.(*NAT)
  3083. *tbl = append(*tbl, *row)
  3084. }
  3085. func (tbl NATTable) OvsdbHasIndex() bool {
  3086. return false
  3087. }
  3088. func (tbl NATTable) OvsdbGetByAnyIndex(irow1 types.IRow) types.IRow {
  3089. return nil
  3090. }
  3091. func (tbl NATTable) FindOneMatchNonZeros(row1 *NAT) *NAT {
  3092. for i := range tbl {
  3093. row := &tbl[i]
  3094. if row.MatchNonZeros(row1) {
  3095. return row
  3096. }
  3097. }
  3098. return nil
  3099. }
  3100. type NAT struct {
  3101. Uuid string `json:"_uuid"`
  3102. Version string `json:"_version"`
  3103. ExternalIds map[string]string `json:"external_ids"`
  3104. ExternalIp string `json:"external_ip"`
  3105. ExternalMac *string `json:"external_mac"`
  3106. LogicalIp string `json:"logical_ip"`
  3107. LogicalPort *string `json:"logical_port"`
  3108. Type string `json:"type"`
  3109. }
  3110. var _ types.IRow = &NAT{}
  3111. func (row *NAT) OvsdbTableName() string {
  3112. return "NAT"
  3113. }
  3114. func (row *NAT) OvsdbIsRoot() bool {
  3115. return false
  3116. }
  3117. func (row *NAT) OvsdbUuid() string {
  3118. return row.Uuid
  3119. }
  3120. func (row *NAT) OvsdbCmdArgs() []string {
  3121. r := []string{}
  3122. r = append(r, types.OvsdbCmdArgsMapStringString("external_ids", row.ExternalIds)...)
  3123. r = append(r, types.OvsdbCmdArgsString("external_ip", row.ExternalIp)...)
  3124. r = append(r, types.OvsdbCmdArgsStringOptional("external_mac", row.ExternalMac)...)
  3125. r = append(r, types.OvsdbCmdArgsString("logical_ip", row.LogicalIp)...)
  3126. r = append(r, types.OvsdbCmdArgsStringOptional("logical_port", row.LogicalPort)...)
  3127. r = append(r, types.OvsdbCmdArgsString("type", row.Type)...)
  3128. return r
  3129. }
  3130. func (row *NAT) SetColumn(name string, val interface{}) (err error) {
  3131. defer func() {
  3132. if panicErr := recover(); panicErr != nil {
  3133. err = errors.Wrapf(panicErr.(error), "%s: %#v", name, fmt.Sprintf("%#v", val))
  3134. }
  3135. }()
  3136. switch name {
  3137. case "_uuid":
  3138. row.Uuid = types.EnsureUuid(val)
  3139. case "_version":
  3140. row.Version = types.EnsureUuid(val)
  3141. case "external_ids":
  3142. row.ExternalIds = types.EnsureMapStringString(val)
  3143. case "external_ip":
  3144. row.ExternalIp = types.EnsureString(val)
  3145. case "external_mac":
  3146. row.ExternalMac = types.EnsureStringOptional(val)
  3147. case "logical_ip":
  3148. row.LogicalIp = types.EnsureString(val)
  3149. case "logical_port":
  3150. row.LogicalPort = types.EnsureStringOptional(val)
  3151. case "type":
  3152. row.Type = types.EnsureString(val)
  3153. default:
  3154. panic(types.ErrUnknownColumn)
  3155. }
  3156. return
  3157. }
  3158. func (row *NAT) MatchNonZeros(row1 *NAT) bool {
  3159. if !types.MatchUuidIfNonZero(row.Uuid, row1.Uuid) {
  3160. return false
  3161. }
  3162. if !types.MatchUuidIfNonZero(row.Version, row1.Version) {
  3163. return false
  3164. }
  3165. if !types.MatchMapStringStringIfNonZero(row.ExternalIds, row1.ExternalIds) {
  3166. return false
  3167. }
  3168. if !types.MatchStringIfNonZero(row.ExternalIp, row1.ExternalIp) {
  3169. return false
  3170. }
  3171. if !types.MatchStringOptionalIfNonZero(row.ExternalMac, row1.ExternalMac) {
  3172. return false
  3173. }
  3174. if !types.MatchStringIfNonZero(row.LogicalIp, row1.LogicalIp) {
  3175. return false
  3176. }
  3177. if !types.MatchStringOptionalIfNonZero(row.LogicalPort, row1.LogicalPort) {
  3178. return false
  3179. }
  3180. if !types.MatchStringIfNonZero(row.Type, row1.Type) {
  3181. return false
  3182. }
  3183. return true
  3184. }
  3185. func (row *NAT) HasExternalIds() bool {
  3186. return true
  3187. }
  3188. func (row *NAT) SetExternalId(k, v string) {
  3189. if row.ExternalIds == nil {
  3190. row.ExternalIds = map[string]string{}
  3191. }
  3192. row.ExternalIds[k] = v
  3193. }
  3194. func (row *NAT) GetExternalId(k string) (string, bool) {
  3195. if row.ExternalIds == nil {
  3196. return "", false
  3197. }
  3198. r, ok := row.ExternalIds[k]
  3199. return r, ok
  3200. }
  3201. func (row *NAT) RemoveExternalId(k string) (string, bool) {
  3202. if row.ExternalIds == nil {
  3203. return "", false
  3204. }
  3205. r, ok := row.ExternalIds[k]
  3206. if ok {
  3207. delete(row.ExternalIds, k)
  3208. }
  3209. return r, ok
  3210. }
  3211. type NBGlobalTable []NBGlobal
  3212. var _ types.ITable = &NBGlobalTable{}
  3213. func (tbl NBGlobalTable) OvsdbTableName() string {
  3214. return "NB_Global"
  3215. }
  3216. func (tbl NBGlobalTable) OvsdbIsRoot() bool {
  3217. return true
  3218. }
  3219. func (tbl NBGlobalTable) Rows() []types.IRow {
  3220. r := make([]types.IRow, len(tbl))
  3221. for i := range tbl {
  3222. r[i] = &tbl[i]
  3223. }
  3224. return r
  3225. }
  3226. func (tbl NBGlobalTable) NewRow() types.IRow {
  3227. return &NBGlobal{}
  3228. }
  3229. func (tbl *NBGlobalTable) AppendRow(irow types.IRow) {
  3230. row := irow.(*NBGlobal)
  3231. *tbl = append(*tbl, *row)
  3232. }
  3233. func (tbl NBGlobalTable) OvsdbHasIndex() bool {
  3234. return false
  3235. }
  3236. func (tbl NBGlobalTable) OvsdbGetByAnyIndex(irow1 types.IRow) types.IRow {
  3237. return nil
  3238. }
  3239. func (tbl NBGlobalTable) FindOneMatchNonZeros(row1 *NBGlobal) *NBGlobal {
  3240. for i := range tbl {
  3241. row := &tbl[i]
  3242. if row.MatchNonZeros(row1) {
  3243. return row
  3244. }
  3245. }
  3246. return nil
  3247. }
  3248. type NBGlobal struct {
  3249. Uuid string `json:"_uuid"`
  3250. Version string `json:"_version"`
  3251. Connections []string `json:"connections"`
  3252. ExternalIds map[string]string `json:"external_ids"`
  3253. HvCfg int64 `json:"hv_cfg"`
  3254. Ipsec bool `json:"ipsec"`
  3255. NbCfg int64 `json:"nb_cfg"`
  3256. Options map[string]string `json:"options"`
  3257. SbCfg int64 `json:"sb_cfg"`
  3258. Ssl *string `json:"ssl"`
  3259. }
  3260. var _ types.IRow = &NBGlobal{}
  3261. func (row *NBGlobal) OvsdbTableName() string {
  3262. return "NB_Global"
  3263. }
  3264. func (row *NBGlobal) OvsdbIsRoot() bool {
  3265. return true
  3266. }
  3267. func (row *NBGlobal) OvsdbUuid() string {
  3268. return row.Uuid
  3269. }
  3270. func (row *NBGlobal) OvsdbCmdArgs() []string {
  3271. r := []string{}
  3272. r = append(r, types.OvsdbCmdArgsUuidMultiples("connections", row.Connections)...)
  3273. r = append(r, types.OvsdbCmdArgsMapStringString("external_ids", row.ExternalIds)...)
  3274. r = append(r, types.OvsdbCmdArgsInteger("hv_cfg", row.HvCfg)...)
  3275. r = append(r, types.OvsdbCmdArgsBoolean("ipsec", row.Ipsec)...)
  3276. r = append(r, types.OvsdbCmdArgsInteger("nb_cfg", row.NbCfg)...)
  3277. r = append(r, types.OvsdbCmdArgsMapStringString("options", row.Options)...)
  3278. r = append(r, types.OvsdbCmdArgsInteger("sb_cfg", row.SbCfg)...)
  3279. r = append(r, types.OvsdbCmdArgsUuidOptional("ssl", row.Ssl)...)
  3280. return r
  3281. }
  3282. func (row *NBGlobal) SetColumn(name string, val interface{}) (err error) {
  3283. defer func() {
  3284. if panicErr := recover(); panicErr != nil {
  3285. err = errors.Wrapf(panicErr.(error), "%s: %#v", name, fmt.Sprintf("%#v", val))
  3286. }
  3287. }()
  3288. switch name {
  3289. case "_uuid":
  3290. row.Uuid = types.EnsureUuid(val)
  3291. case "_version":
  3292. row.Version = types.EnsureUuid(val)
  3293. case "connections":
  3294. row.Connections = types.EnsureUuidMultiples(val)
  3295. case "external_ids":
  3296. row.ExternalIds = types.EnsureMapStringString(val)
  3297. case "hv_cfg":
  3298. row.HvCfg = types.EnsureInteger(val)
  3299. case "ipsec":
  3300. row.Ipsec = types.EnsureBoolean(val)
  3301. case "nb_cfg":
  3302. row.NbCfg = types.EnsureInteger(val)
  3303. case "options":
  3304. row.Options = types.EnsureMapStringString(val)
  3305. case "sb_cfg":
  3306. row.SbCfg = types.EnsureInteger(val)
  3307. case "ssl":
  3308. row.Ssl = types.EnsureUuidOptional(val)
  3309. default:
  3310. panic(types.ErrUnknownColumn)
  3311. }
  3312. return
  3313. }
  3314. func (row *NBGlobal) MatchNonZeros(row1 *NBGlobal) bool {
  3315. if !types.MatchUuidIfNonZero(row.Uuid, row1.Uuid) {
  3316. return false
  3317. }
  3318. if !types.MatchUuidIfNonZero(row.Version, row1.Version) {
  3319. return false
  3320. }
  3321. if !types.MatchUuidMultiplesIfNonZero(row.Connections, row1.Connections) {
  3322. return false
  3323. }
  3324. if !types.MatchMapStringStringIfNonZero(row.ExternalIds, row1.ExternalIds) {
  3325. return false
  3326. }
  3327. if !types.MatchIntegerIfNonZero(row.HvCfg, row1.HvCfg) {
  3328. return false
  3329. }
  3330. if !types.MatchBooleanIfNonZero(row.Ipsec, row1.Ipsec) {
  3331. return false
  3332. }
  3333. if !types.MatchIntegerIfNonZero(row.NbCfg, row1.NbCfg) {
  3334. return false
  3335. }
  3336. if !types.MatchMapStringStringIfNonZero(row.Options, row1.Options) {
  3337. return false
  3338. }
  3339. if !types.MatchIntegerIfNonZero(row.SbCfg, row1.SbCfg) {
  3340. return false
  3341. }
  3342. if !types.MatchUuidOptionalIfNonZero(row.Ssl, row1.Ssl) {
  3343. return false
  3344. }
  3345. return true
  3346. }
  3347. func (tbl NBGlobalTable) FindConnectionReferrer_connections(refUuid string) (r []*NBGlobal) {
  3348. for i := range tbl {
  3349. row := &tbl[i]
  3350. for _, val := range row.Connections {
  3351. if val == refUuid {
  3352. r = append(r, row)
  3353. }
  3354. }
  3355. }
  3356. return r
  3357. }
  3358. func (tbl NBGlobalTable) FindSSLReferrer_ssl(refUuid string) (r []*NBGlobal) {
  3359. for i := range tbl {
  3360. row := &tbl[i]
  3361. if row.Ssl != nil && *row.Ssl == refUuid {
  3362. r = append(r, row)
  3363. }
  3364. }
  3365. return r
  3366. }
  3367. func (row *NBGlobal) HasExternalIds() bool {
  3368. return true
  3369. }
  3370. func (row *NBGlobal) SetExternalId(k, v string) {
  3371. if row.ExternalIds == nil {
  3372. row.ExternalIds = map[string]string{}
  3373. }
  3374. row.ExternalIds[k] = v
  3375. }
  3376. func (row *NBGlobal) GetExternalId(k string) (string, bool) {
  3377. if row.ExternalIds == nil {
  3378. return "", false
  3379. }
  3380. r, ok := row.ExternalIds[k]
  3381. return r, ok
  3382. }
  3383. func (row *NBGlobal) RemoveExternalId(k string) (string, bool) {
  3384. if row.ExternalIds == nil {
  3385. return "", false
  3386. }
  3387. r, ok := row.ExternalIds[k]
  3388. if ok {
  3389. delete(row.ExternalIds, k)
  3390. }
  3391. return r, ok
  3392. }
  3393. type PortGroupTable []PortGroup
  3394. var _ types.ITable = &PortGroupTable{}
  3395. func (tbl PortGroupTable) OvsdbTableName() string {
  3396. return "Port_Group"
  3397. }
  3398. func (tbl PortGroupTable) OvsdbIsRoot() bool {
  3399. return true
  3400. }
  3401. func (tbl PortGroupTable) Rows() []types.IRow {
  3402. r := make([]types.IRow, len(tbl))
  3403. for i := range tbl {
  3404. r[i] = &tbl[i]
  3405. }
  3406. return r
  3407. }
  3408. func (tbl PortGroupTable) NewRow() types.IRow {
  3409. return &PortGroup{}
  3410. }
  3411. func (tbl *PortGroupTable) AppendRow(irow types.IRow) {
  3412. row := irow.(*PortGroup)
  3413. *tbl = append(*tbl, *row)
  3414. }
  3415. func (tbl PortGroupTable) OvsdbHasIndex() bool {
  3416. return true
  3417. }
  3418. func (row *PortGroup) MatchByName(row1 *PortGroup) bool {
  3419. if !types.MatchString(row.Name, row1.Name) {
  3420. return false
  3421. }
  3422. return true
  3423. }
  3424. func (tbl PortGroupTable) GetByName(row1 *PortGroup) *PortGroup {
  3425. for i := range tbl {
  3426. row := &tbl[i]
  3427. if row.MatchByName(row1) {
  3428. return row
  3429. }
  3430. }
  3431. return nil
  3432. }
  3433. func (tbl PortGroupTable) OvsdbGetByAnyIndex(irow1 types.IRow) types.IRow {
  3434. row1 := irow1.(*PortGroup)
  3435. if !(types.IsZeroString(row1.Name)) {
  3436. if row := tbl.GetByName(row1); row != nil {
  3437. return row
  3438. }
  3439. }
  3440. return nil
  3441. }
  3442. func (tbl PortGroupTable) FindOneMatchNonZeros(row1 *PortGroup) *PortGroup {
  3443. for i := range tbl {
  3444. row := &tbl[i]
  3445. if row.MatchNonZeros(row1) {
  3446. return row
  3447. }
  3448. }
  3449. return nil
  3450. }
  3451. type PortGroup struct {
  3452. Uuid string `json:"_uuid"`
  3453. Version string `json:"_version"`
  3454. Acls []string `json:"acls"`
  3455. ExternalIds map[string]string `json:"external_ids"`
  3456. Name string `json:"name"`
  3457. Ports []string `json:"ports"`
  3458. }
  3459. var _ types.IRow = &PortGroup{}
  3460. func (row *PortGroup) OvsdbTableName() string {
  3461. return "Port_Group"
  3462. }
  3463. func (row *PortGroup) OvsdbIsRoot() bool {
  3464. return true
  3465. }
  3466. func (row *PortGroup) OvsdbUuid() string {
  3467. return row.Uuid
  3468. }
  3469. func (row *PortGroup) OvsdbCmdArgs() []string {
  3470. r := []string{}
  3471. r = append(r, types.OvsdbCmdArgsUuidMultiples("acls", row.Acls)...)
  3472. r = append(r, types.OvsdbCmdArgsMapStringString("external_ids", row.ExternalIds)...)
  3473. r = append(r, types.OvsdbCmdArgsString("name", row.Name)...)
  3474. r = append(r, types.OvsdbCmdArgsUuidMultiples("ports", row.Ports)...)
  3475. return r
  3476. }
  3477. func (row *PortGroup) SetColumn(name string, val interface{}) (err error) {
  3478. defer func() {
  3479. if panicErr := recover(); panicErr != nil {
  3480. err = errors.Wrapf(panicErr.(error), "%s: %#v", name, fmt.Sprintf("%#v", val))
  3481. }
  3482. }()
  3483. switch name {
  3484. case "_uuid":
  3485. row.Uuid = types.EnsureUuid(val)
  3486. case "_version":
  3487. row.Version = types.EnsureUuid(val)
  3488. case "acls":
  3489. row.Acls = types.EnsureUuidMultiples(val)
  3490. case "external_ids":
  3491. row.ExternalIds = types.EnsureMapStringString(val)
  3492. case "name":
  3493. row.Name = types.EnsureString(val)
  3494. case "ports":
  3495. row.Ports = types.EnsureUuidMultiples(val)
  3496. default:
  3497. panic(types.ErrUnknownColumn)
  3498. }
  3499. return
  3500. }
  3501. func (row *PortGroup) MatchNonZeros(row1 *PortGroup) bool {
  3502. if !types.MatchUuidIfNonZero(row.Uuid, row1.Uuid) {
  3503. return false
  3504. }
  3505. if !types.MatchUuidIfNonZero(row.Version, row1.Version) {
  3506. return false
  3507. }
  3508. if !types.MatchUuidMultiplesIfNonZero(row.Acls, row1.Acls) {
  3509. return false
  3510. }
  3511. if !types.MatchMapStringStringIfNonZero(row.ExternalIds, row1.ExternalIds) {
  3512. return false
  3513. }
  3514. if !types.MatchStringIfNonZero(row.Name, row1.Name) {
  3515. return false
  3516. }
  3517. if !types.MatchUuidMultiplesIfNonZero(row.Ports, row1.Ports) {
  3518. return false
  3519. }
  3520. return true
  3521. }
  3522. func (tbl PortGroupTable) FindACLReferrer_acls(refUuid string) (r []*PortGroup) {
  3523. for i := range tbl {
  3524. row := &tbl[i]
  3525. for _, val := range row.Acls {
  3526. if val == refUuid {
  3527. r = append(r, row)
  3528. }
  3529. }
  3530. }
  3531. return r
  3532. }
  3533. func (tbl PortGroupTable) FindLogicalSwitchPortReferrer_ports(refUuid string) (r []*PortGroup) {
  3534. for i := range tbl {
  3535. row := &tbl[i]
  3536. for _, val := range row.Ports {
  3537. if val == refUuid {
  3538. r = append(r, row)
  3539. }
  3540. }
  3541. }
  3542. return r
  3543. }
  3544. func (row *PortGroup) HasExternalIds() bool {
  3545. return true
  3546. }
  3547. func (row *PortGroup) SetExternalId(k, v string) {
  3548. if row.ExternalIds == nil {
  3549. row.ExternalIds = map[string]string{}
  3550. }
  3551. row.ExternalIds[k] = v
  3552. }
  3553. func (row *PortGroup) GetExternalId(k string) (string, bool) {
  3554. if row.ExternalIds == nil {
  3555. return "", false
  3556. }
  3557. r, ok := row.ExternalIds[k]
  3558. return r, ok
  3559. }
  3560. func (row *PortGroup) RemoveExternalId(k string) (string, bool) {
  3561. if row.ExternalIds == nil {
  3562. return "", false
  3563. }
  3564. r, ok := row.ExternalIds[k]
  3565. if ok {
  3566. delete(row.ExternalIds, k)
  3567. }
  3568. return r, ok
  3569. }
  3570. type QoSTable []QoS
  3571. var _ types.ITable = &QoSTable{}
  3572. func (tbl QoSTable) OvsdbTableName() string {
  3573. return "QoS"
  3574. }
  3575. func (tbl QoSTable) OvsdbIsRoot() bool {
  3576. return false
  3577. }
  3578. func (tbl QoSTable) Rows() []types.IRow {
  3579. r := make([]types.IRow, len(tbl))
  3580. for i := range tbl {
  3581. r[i] = &tbl[i]
  3582. }
  3583. return r
  3584. }
  3585. func (tbl QoSTable) NewRow() types.IRow {
  3586. return &QoS{}
  3587. }
  3588. func (tbl *QoSTable) AppendRow(irow types.IRow) {
  3589. row := irow.(*QoS)
  3590. *tbl = append(*tbl, *row)
  3591. }
  3592. func (tbl QoSTable) OvsdbHasIndex() bool {
  3593. return false
  3594. }
  3595. func (tbl QoSTable) OvsdbGetByAnyIndex(irow1 types.IRow) types.IRow {
  3596. return nil
  3597. }
  3598. func (tbl QoSTable) FindOneMatchNonZeros(row1 *QoS) *QoS {
  3599. for i := range tbl {
  3600. row := &tbl[i]
  3601. if row.MatchNonZeros(row1) {
  3602. return row
  3603. }
  3604. }
  3605. return nil
  3606. }
  3607. type QoS struct {
  3608. Uuid string `json:"_uuid"`
  3609. Version string `json:"_version"`
  3610. Action map[string]int64 `json:"action"`
  3611. Bandwidth map[string]int64 `json:"bandwidth"`
  3612. Direction string `json:"direction"`
  3613. ExternalIds map[string]string `json:"external_ids"`
  3614. Match string `json:"match"`
  3615. Priority int64 `json:"priority"`
  3616. }
  3617. var _ types.IRow = &QoS{}
  3618. func (row *QoS) OvsdbTableName() string {
  3619. return "QoS"
  3620. }
  3621. func (row *QoS) OvsdbIsRoot() bool {
  3622. return false
  3623. }
  3624. func (row *QoS) OvsdbUuid() string {
  3625. return row.Uuid
  3626. }
  3627. func (row *QoS) OvsdbCmdArgs() []string {
  3628. r := []string{}
  3629. r = append(r, types.OvsdbCmdArgsMapStringInteger("action", row.Action)...)
  3630. r = append(r, types.OvsdbCmdArgsMapStringInteger("bandwidth", row.Bandwidth)...)
  3631. r = append(r, types.OvsdbCmdArgsString("direction", row.Direction)...)
  3632. r = append(r, types.OvsdbCmdArgsMapStringString("external_ids", row.ExternalIds)...)
  3633. r = append(r, types.OvsdbCmdArgsString("match", row.Match)...)
  3634. r = append(r, types.OvsdbCmdArgsInteger("priority", row.Priority)...)
  3635. return r
  3636. }
  3637. func (row *QoS) SetColumn(name string, val interface{}) (err error) {
  3638. defer func() {
  3639. if panicErr := recover(); panicErr != nil {
  3640. err = errors.Wrapf(panicErr.(error), "%s: %#v", name, fmt.Sprintf("%#v", val))
  3641. }
  3642. }()
  3643. switch name {
  3644. case "_uuid":
  3645. row.Uuid = types.EnsureUuid(val)
  3646. case "_version":
  3647. row.Version = types.EnsureUuid(val)
  3648. case "action":
  3649. row.Action = types.EnsureMapStringInteger(val)
  3650. case "bandwidth":
  3651. row.Bandwidth = types.EnsureMapStringInteger(val)
  3652. case "direction":
  3653. row.Direction = types.EnsureString(val)
  3654. case "external_ids":
  3655. row.ExternalIds = types.EnsureMapStringString(val)
  3656. case "match":
  3657. row.Match = types.EnsureString(val)
  3658. case "priority":
  3659. row.Priority = types.EnsureInteger(val)
  3660. default:
  3661. panic(types.ErrUnknownColumn)
  3662. }
  3663. return
  3664. }
  3665. func (row *QoS) MatchNonZeros(row1 *QoS) bool {
  3666. if !types.MatchUuidIfNonZero(row.Uuid, row1.Uuid) {
  3667. return false
  3668. }
  3669. if !types.MatchUuidIfNonZero(row.Version, row1.Version) {
  3670. return false
  3671. }
  3672. if !types.MatchMapStringIntegerIfNonZero(row.Action, row1.Action) {
  3673. return false
  3674. }
  3675. if !types.MatchMapStringIntegerIfNonZero(row.Bandwidth, row1.Bandwidth) {
  3676. return false
  3677. }
  3678. if !types.MatchStringIfNonZero(row.Direction, row1.Direction) {
  3679. return false
  3680. }
  3681. if !types.MatchMapStringStringIfNonZero(row.ExternalIds, row1.ExternalIds) {
  3682. return false
  3683. }
  3684. if !types.MatchStringIfNonZero(row.Match, row1.Match) {
  3685. return false
  3686. }
  3687. if !types.MatchIntegerIfNonZero(row.Priority, row1.Priority) {
  3688. return false
  3689. }
  3690. return true
  3691. }
  3692. func (row *QoS) HasExternalIds() bool {
  3693. return true
  3694. }
  3695. func (row *QoS) SetExternalId(k, v string) {
  3696. if row.ExternalIds == nil {
  3697. row.ExternalIds = map[string]string{}
  3698. }
  3699. row.ExternalIds[k] = v
  3700. }
  3701. func (row *QoS) GetExternalId(k string) (string, bool) {
  3702. if row.ExternalIds == nil {
  3703. return "", false
  3704. }
  3705. r, ok := row.ExternalIds[k]
  3706. return r, ok
  3707. }
  3708. func (row *QoS) RemoveExternalId(k string) (string, bool) {
  3709. if row.ExternalIds == nil {
  3710. return "", false
  3711. }
  3712. r, ok := row.ExternalIds[k]
  3713. if ok {
  3714. delete(row.ExternalIds, k)
  3715. }
  3716. return r, ok
  3717. }
  3718. type SSLTable []SSL
  3719. var _ types.ITable = &SSLTable{}
  3720. func (tbl SSLTable) OvsdbTableName() string {
  3721. return "SSL"
  3722. }
  3723. func (tbl SSLTable) OvsdbIsRoot() bool {
  3724. return false
  3725. }
  3726. func (tbl SSLTable) Rows() []types.IRow {
  3727. r := make([]types.IRow, len(tbl))
  3728. for i := range tbl {
  3729. r[i] = &tbl[i]
  3730. }
  3731. return r
  3732. }
  3733. func (tbl SSLTable) NewRow() types.IRow {
  3734. return &SSL{}
  3735. }
  3736. func (tbl *SSLTable) AppendRow(irow types.IRow) {
  3737. row := irow.(*SSL)
  3738. *tbl = append(*tbl, *row)
  3739. }
  3740. func (tbl SSLTable) OvsdbHasIndex() bool {
  3741. return false
  3742. }
  3743. func (tbl SSLTable) OvsdbGetByAnyIndex(irow1 types.IRow) types.IRow {
  3744. return nil
  3745. }
  3746. func (tbl SSLTable) FindOneMatchNonZeros(row1 *SSL) *SSL {
  3747. for i := range tbl {
  3748. row := &tbl[i]
  3749. if row.MatchNonZeros(row1) {
  3750. return row
  3751. }
  3752. }
  3753. return nil
  3754. }
  3755. type SSL struct {
  3756. Uuid string `json:"_uuid"`
  3757. Version string `json:"_version"`
  3758. BootstrapCaCert bool `json:"bootstrap_ca_cert"`
  3759. CaCert string `json:"ca_cert"`
  3760. Certificate string `json:"certificate"`
  3761. ExternalIds map[string]string `json:"external_ids"`
  3762. PrivateKey string `json:"private_key"`
  3763. SslCiphers string `json:"ssl_ciphers"`
  3764. SslProtocols string `json:"ssl_protocols"`
  3765. }
  3766. var _ types.IRow = &SSL{}
  3767. func (row *SSL) OvsdbTableName() string {
  3768. return "SSL"
  3769. }
  3770. func (row *SSL) OvsdbIsRoot() bool {
  3771. return false
  3772. }
  3773. func (row *SSL) OvsdbUuid() string {
  3774. return row.Uuid
  3775. }
  3776. func (row *SSL) OvsdbCmdArgs() []string {
  3777. r := []string{}
  3778. r = append(r, types.OvsdbCmdArgsBoolean("bootstrap_ca_cert", row.BootstrapCaCert)...)
  3779. r = append(r, types.OvsdbCmdArgsString("ca_cert", row.CaCert)...)
  3780. r = append(r, types.OvsdbCmdArgsString("certificate", row.Certificate)...)
  3781. r = append(r, types.OvsdbCmdArgsMapStringString("external_ids", row.ExternalIds)...)
  3782. r = append(r, types.OvsdbCmdArgsString("private_key", row.PrivateKey)...)
  3783. r = append(r, types.OvsdbCmdArgsString("ssl_ciphers", row.SslCiphers)...)
  3784. r = append(r, types.OvsdbCmdArgsString("ssl_protocols", row.SslProtocols)...)
  3785. return r
  3786. }
  3787. func (row *SSL) SetColumn(name string, val interface{}) (err error) {
  3788. defer func() {
  3789. if panicErr := recover(); panicErr != nil {
  3790. err = errors.Wrapf(panicErr.(error), "%s: %#v", name, fmt.Sprintf("%#v", val))
  3791. }
  3792. }()
  3793. switch name {
  3794. case "_uuid":
  3795. row.Uuid = types.EnsureUuid(val)
  3796. case "_version":
  3797. row.Version = types.EnsureUuid(val)
  3798. case "bootstrap_ca_cert":
  3799. row.BootstrapCaCert = types.EnsureBoolean(val)
  3800. case "ca_cert":
  3801. row.CaCert = types.EnsureString(val)
  3802. case "certificate":
  3803. row.Certificate = types.EnsureString(val)
  3804. case "external_ids":
  3805. row.ExternalIds = types.EnsureMapStringString(val)
  3806. case "private_key":
  3807. row.PrivateKey = types.EnsureString(val)
  3808. case "ssl_ciphers":
  3809. row.SslCiphers = types.EnsureString(val)
  3810. case "ssl_protocols":
  3811. row.SslProtocols = types.EnsureString(val)
  3812. default:
  3813. panic(types.ErrUnknownColumn)
  3814. }
  3815. return
  3816. }
  3817. func (row *SSL) MatchNonZeros(row1 *SSL) bool {
  3818. if !types.MatchUuidIfNonZero(row.Uuid, row1.Uuid) {
  3819. return false
  3820. }
  3821. if !types.MatchUuidIfNonZero(row.Version, row1.Version) {
  3822. return false
  3823. }
  3824. if !types.MatchBooleanIfNonZero(row.BootstrapCaCert, row1.BootstrapCaCert) {
  3825. return false
  3826. }
  3827. if !types.MatchStringIfNonZero(row.CaCert, row1.CaCert) {
  3828. return false
  3829. }
  3830. if !types.MatchStringIfNonZero(row.Certificate, row1.Certificate) {
  3831. return false
  3832. }
  3833. if !types.MatchMapStringStringIfNonZero(row.ExternalIds, row1.ExternalIds) {
  3834. return false
  3835. }
  3836. if !types.MatchStringIfNonZero(row.PrivateKey, row1.PrivateKey) {
  3837. return false
  3838. }
  3839. if !types.MatchStringIfNonZero(row.SslCiphers, row1.SslCiphers) {
  3840. return false
  3841. }
  3842. if !types.MatchStringIfNonZero(row.SslProtocols, row1.SslProtocols) {
  3843. return false
  3844. }
  3845. return true
  3846. }
  3847. func (row *SSL) HasExternalIds() bool {
  3848. return true
  3849. }
  3850. func (row *SSL) SetExternalId(k, v string) {
  3851. if row.ExternalIds == nil {
  3852. row.ExternalIds = map[string]string{}
  3853. }
  3854. row.ExternalIds[k] = v
  3855. }
  3856. func (row *SSL) GetExternalId(k string) (string, bool) {
  3857. if row.ExternalIds == nil {
  3858. return "", false
  3859. }
  3860. r, ok := row.ExternalIds[k]
  3861. return r, ok
  3862. }
  3863. func (row *SSL) RemoveExternalId(k string) (string, bool) {
  3864. if row.ExternalIds == nil {
  3865. return "", false
  3866. }
  3867. r, ok := row.ExternalIds[k]
  3868. if ok {
  3869. delete(row.ExternalIds, k)
  3870. }
  3871. return r, ok
  3872. }