From d51e7ce2de09d083a6ee45f8947d738296475563 Mon Sep 17 00:00:00 2001 From: Pavan Pss Date: Wed, 30 Mar 2022 18:24:03 +0100 Subject: [PATCH 1/5] API Codegen Workflow Image Signed-off-by: Pavan Pss Signed-off-by: Shanmukha Pavan --- api/API_Codegen_Workflow.png | Bin 0 -> 31384 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 api/API_Codegen_Workflow.png diff --git a/api/API_Codegen_Workflow.png b/api/API_Codegen_Workflow.png new file mode 100644 index 0000000000000000000000000000000000000000..d192b56b098cad117bfa7f772e20d528e6deb309 GIT binary patch literal 31384 zcmeFZbySpX)ILfHNEs*yiZqCn#DMgmC^;Y?-3>F8bcgtgg>(%mDXnyeMGoDq(%l{B z9tPj|e&_GsT4$ZlwZLKKd7iuXzV@}RJ+GfAN|O>%6JcRtk;=+QsbFE@#$sV%w-e%n zcdkA_LBSsqRu3OOk$w1(?umn)xs|mU7S^3m6GOwRG8}iBjEoEon^5d*L=LVhuU@@V zG4%aW-$vJ1-)h)S7ZanaJ9*>sB<|BMSgFblWeAdYbO(i8O}Y5$vde2l&(#Lt`!3CP zTy8J2ZeOrZPorSPotJ>d$LKzJ`lY@;2FsK^I{KR5ASbj`=1QkBbcf`!2+bFLTw_+r zL4tbtgXi)7OYG26sKaApqL5>}rheH6SCyoVA1+_Oc3~u!53qlT!^Mmnk)|HuXE}TH zyd|Y=>)q80(uRcTcim=~7w7NXpt?cDbI z77htXRUOYgLfc2LvLx_4thjK$`ujcqmLgS-d!z32wM?p;l7pioR5vs;k55m9Zq1p& z@L$#qoSvT6fWPZnZ`_En!`}A6#UgFc`>3tkgqVFy}a;el7! z;D;LgfXNSgiA4bZzY2b&l5zfgiW{4Z`{y-wJNiON)rYdO;D1#U2QxEUM@u^=){6>U z;8FcnPc@x1VG6<~b~ao_rgp|=Ty8e@=v%Nv-GsqQ8#5;(IyW0@TSs9xF^01%gu!d{ z+uRIvXO}o3#27STPv{=nIhfH2aNXm&#~@BbM@J{>U}`R`BK7$EcJP-NgQb&`y)ZYo ztE(%QD<7Agg9SH_kdP4fJzj2JUQTcYr=z>AlaU*zts^7mA%C7DW#(w&U}f)QWoJu= zey)+RowJh|0|UCDzyD$SY3642PfNCr=feU6nsgHXXJyWB z{`ZIHH;QtjNB*ywz)bVmyI`KhiA1^oUNdo`7^387SXfXjSt-e1l5Y$wDs!+ z&zi?g?FtJY?2MbPa>mIuz32Tkd`;Q6FeT*4;}=V@2{3h871M&Fj@`^nr&Z@?6|>^I z;vJj&HToT!@#`XWj_rr>zZT0F#6E?ET!vy{QiH8`i%DN!We!{a-RL=N=2&xf#ZS7+^Zt=vepbg{#TcEW%a+5%Sqh1w zL%&x`9tM&*oSt~cin!)CP7n*88L-QxIQ-G1ItFsmXEv!Gf%iD*HfInuWCMBl^YPiP z`~r*{pS3RAb<86RuF-XFwKTTC=)nWt6J0hHZjm*@^v|sh%RggR!er$#xRfvmOVZqO z>plhMHrngpwl0DW8%A&&{bjl)66~v5=evGV85;*B4I6xpHmP(ELYj5{7}pL?X!8E3 z)2&zF6Sq7p$&3MUZCet|6L$$OTUIv47NIS1A_FvJo=xe^qSVRce?ui0*PFaVvdFS>ZyR6LHd;tIylPhP~qLn_r9QG$+4GUDLH zif<%Wz%bi!lo^^l&t=sf0Qw@Ofc?Df)xK`|UCd{q+J4ZUR9affVDRA!IWS>Qy>7ij z4+pd#OitJ76;CpPZetbnWou=&bqw7xLb}WOpuL|h9nIh~fBP$7Rw!K*-<;j&w+hC0 z&|Wm7h`#SSUDK4ZdX_6;9Xu51CDFLb7qtW)Bm4b z&}6EWU_WAX`(G5m;My$NZeSJxFOdnX5EIP~dOV5jU==Dl-m{-?rr%(u#ZIm`;G$<5 zJ)6NHpZ++>Q8qA}iZ<iVXhE4 zde$jGUyMG;#r~O?yI}u4S$}p9vm(l0x0m8?osUoS0i9}wLU)dZQkgy?;*RnZN^m0L zA~{R>c6I#OMx=8B5BsqB+Y-}|*Mnr~;M+ePl4yjT2%|S0RM2nx&r&8=ENzZFW5Uen zdAokl%V6>7=yDm(HpAb)MC-65Xa4tUu=@X?tpAI1Vtd81CnKm032Eh={l$do!wYq= z?Teq^LZ5H2xo%wK&@Pri3fgfszNZOatvyt{tDbvjwj=3MYLPMrrr+&^z&8GtVLN+( zIL9Z`=CFGehYGR0vS~7*rUUtUg>LJ{&C%RRQg10Z71|$tz_fIq862Vrrs=bx@8v>U zqd1w>b2WJ_JL#lJ9cJ3tV)-nh_^rBSs@>MpbSoUf?kJ~7w?CU|x{{@m{-!OKPkNy* zhZVdIGyeXjxh0YvHtxLGFFW6zuD9rd4T}?qbXguA$~nU9xye`Hcrm`ac4m4fTX7z~ zB)K9XAwebNkoN68%}AG_DuTx(eyAw@;e^&qd4EgBxlAsHigAosGzSDzH-ZPu;rJbyrsmRh) z?Xry2t@9Ck@+qr9-%_O`QHyQ*`~opjGQcTSAgHg{X0eF zZLw7k(zzDnr|jh>e8?%;(D>aWvxr)qMSsH_Bqix43FSK+JVRnon;gj(B z7Yt^Yr7x~elMSB&k76l*N5z+MalBY-q23>t*}-)8SoyF=NunY#0KfWhcQu+rt1!k! zIYlb;N6^jIjp%CW=$)0aePN<_+<|E9* z>Syu95106|lv7{otm;U=tpR&F*>R>R^x;B(9-`E$XRslFK)&7wIjkT6HbLYuJ?;4|3!2?ELA!fX{Zv{gbxEoH)3h1NdD)SzXDc_ zX)yL#8d!N6qqKA9$MDjxy(eqa7#}9w8H}F<#ua%<;^^L-Z9m3C*aPR)!y`w8*(`Lw zh~{JpsSVZhb%!7cvfpa7^Uo}LefR}JUa|f8XUmuYYvO1-W-+$1$VV-GzOC(vKSuF?ul(Ox`m<*+8{_}l4pF9IZ+=J& z40OmXF^}Gd1t)c_iV=50-_c5()RA(W86GJ@e_)wp0?B9?zLmKBdi0U@BKpwQ7vZ6~ z6$`z>A`M_?RAWWm3yc1G`OxZsG6q<)*3k;buRoX0A{fF7DDaiv8c*jg3Q-7Q&hQ!( z8`WD^AD(4WSzR z%H9v6fL}Zg01krNv7#4T|xRK{o|`JRUpzb57B($k6f5E2^$H)I7#`{^nAi zcXTiP>x}Ai0pI=o(tVYwrU%L3MT`z6<~ZvY9S*qpaed&gDdsDd!dbFf|7w|TjUOPv z%!}>~J~%LLw^yS$;Hj72)z9~2nxT*ohowQD3eR2JdqRURFt+3nn5Z$k+guh*oqs}x z7q9DoeSgcWRcIQYhWWF!iZUw3pZ)&P9A;M= z3P42jbZazfN6d34#{1H3QTyY^!MF7`W>Dl9nkKMW*!mMe-ew`;fkKaM-H zkIKs6;ou`3XWA|{(@&i_fmd`mX#XhgeIV1FCTj+;MVNq%wxd~Jj#@apFQ*mJZ}IB- z9;fCfy3Xr}yxDxcDjXY=3m8}S>1r|yU#=;meFZiyiqI=omm0ks(98brn={R;b*Efo zRj#fVVq7Rl`A5p^xYvJuFA}Wq;nuIdlP(_}W!4&1QR=-jWTEoOP_k!9J#N(JczYn< zyEU3y@K8NZo0(ZYir<}xl8a+;pg_?5u39z|t5Rabb#`?b$YM1UW?P|`6~A}wgBcEt z)?;w=E{Iuz>Velo)jTbOa|FnTvnoYpsb-27$|In@dp`+;Tvy_U1RbViti~!!zP-8L z+WYQce_wWaxWsH{X~?_|zfiaVF;D5(?<}sJm}BYW7n&4 zfk5Jg9A_eUOn%_qRX_Cd+4~uoQg?E4l0l(HaHU&38OwC!R`yOvY8$X?)LO(2T zUhg9s!W)*|(mjm^__nmzcnsCh?5A065P0$p#>elZ^LLYcPeQ@recP`f&IKYLnS9*} z20`1=dnm-RSDD>J6t3jsx10vG)ipZ2rcH)XCG$2&ekZXY}*Sr@JS)8>P!KSL41U{F4bB!(0ZRvN5sR-tLV}k>S3*XywsE6`R)|npO zCoV(B0wDahDHMkH-r*xu`fU7Ns!GUuw7hF8ws%s6;5QYI@i+1ULGObtl?(-{{e_$Y z)2+F#!U;IT2*6+SqZLKEU|C-`;*U}Rlqlr2_en^6(j^LG=aQ9JR-ts*BAwRVX|KIb z_GgdYy3o<6qoc_+O1H!1GFZ5J!X?#H0~=OS;Y?WE%mTO7fcbD8vO_N z$`#hzpW70}s;HK?ts3!03pytE)_*(fENOMI6odUwRxTpds=evHIxZ#~LMQoZBOK!m z1o1vLZw1XBwYka$&G3akL)*7Wb!?h))@aCb(fy`}JOGRl)m7$= z%a$8t|F-eaS7_egn-t6SPYC|5bH)XOHSul(+qi$9s+52|+21_%anSRz#>Z$I;J(*W?d@?flg}roN97T~J~l_P zM-QQ7CWBRt&$g(a$b}fzo`hi|w|sPrS&%69&>260kCUnSL|)-v#KnuLdmCp1e&Jsa z!ilfRPv2ljv&nt1#gitu9?%Q{&~0ClNJb<4qSal94SfLWANpTmeBAV&M#S{wXrC(# z1We84&wfwsPWVP2?Qgc0um5J&XpeW8Zn@3|j=9r(_oLd=6VIUv$IM%zZcpAP-KS5L z4hrkb(P-UX97wn9O6e{%lSfCaY>rb+p&P%0C6LZ~z-km8t$n?;G48oqv0?e6(s@y? zEr!QzrY$xfVRW{B^}BeMT#KF^@gk4WUUiKDoAfI19=GP+3%jmxFv~@R;FD4}At8t~ z-JwF3`fA77_ZMZ*zDPcbBNTKm_BXsQmyMW`i+}%cdyy4@ldx>HoR+_cDceqfrEZBf z@L}_a-?`HFoBvaSfDLl7+M`Xwz?&I(VpkgzOcw+%fGvxfZPzOGILk2J-3{U6?TTZpC0d~gSUX44}&53Lrogr%NCk8 zw+S30(WlmKd^8uKrS0hfZ1-y#kL*vvjXekuM>>+K&fw141OGSI*(+DF zRnq0m_d$4>Zv#M!0CtA$D+*2|ASjyf;+99sD8)+Av39{2!G!oHqpvS_Qi|byEgZlH z4j%cef2UN*)#QQm>OJ5C@f=D+;e4=-~y6VYazgOS*J`i$5(Bl(r86M6FY&M z&tWR?^!?K8ti^^@(7^=lK8VYlXfh$O0CeSeA3evxo53|i2C-D}>(dqMv=GjA*F zaN3-f`;*;-INxOOjAortKywTP(QkOElcgY2DMSc*;#77JS45K>w+ z^Ujlg*jKsrMXh>2hK^RdZ-yReKg^OPxGd~A^Uivx@DaXdqouI#Nj07gFT&;Muy2%_ zP$ocuRIX$qa|gwQ3Amvl%_3-<3V;Y6<$e1}zv|dAj%u0= zeY#vE?>^+!(awk+49jh?pR)*ME0@DAoGzOn?5wb=9C++b~oEy8S4gU$gfHha~6yM`9bTmH!6JA^f$`R+At+K?940kBV`41(&7CN z7DQu(@}N)RO5t+x_n&=&gcDP6giQDxq7<~k*fqGwpDxskTeK%aU`DKp@pld`a)I;I z6#tOmm>x5*WMG-92{4w{?E`dUs`-%wJ&e0{FJ-P#QFy^R;~mvxeVLd{P!PlDJh|u8x6M z46o{0le`$fkO8Z~*mV6F)mi&j9s!7-B6=|&7h{|+U6n}^uOZOmj6S2!Cl&nz`5;xB z@AN(LsrbyL%0st-F=3(NHC3{4Lqy84DjJ>(H)?kB+m7C6)2l4jt#<1wS?o@i zR{^}#z^KV$e_nVLrw)=OpSrwuyI&{6<>{r)-&=dY9Lb|;!^GhdL|nbg-r7%d-lbbY z4l;m3n+9O)Swg@$?{?mW`UEhoWR?@v?y4*>B$MN8dnB+J1Uf1Bi6X8m5y1Xc?ksNX zERQe)nkEHh>wLp4!F4IYb({xfTX(R)ZZ%$A(d>J;W8-*q)2^CcBVRYvV|yXi1ejGe z;V%Y}chwZ^57!%MTfv#poi+TAuf1%aiIv(aoUE6n!mPoj9d|>wTf6BRn@S8_k@w*a z%Uk?dK$nC92C8Me#uFAa*A&XA7qESFwAsOHGh7V)-uF@Yp*bKSOZ93z)XY&xX69oQJKN%(e*2EA>e?q`fdJxBunJwN5Wt5IWyM)2dCes53zLDrC2oOx^ z8U_01LQ09E8+E709lbAChKi&Wlf*gW1nqpL7WnB(R6#6)G6tIgWw$i=nOVQuZ38&F z5v{#Pf0{U(+0naz4HI+_wCesA4@2BrHZOwZc3DD}C+a48;qPfB#_3?e0z;`cvvU2UEZZ#12aB6Zm5y;$L!RQvVHGSxFN%oYOxpB$&x zRQSV^t-^$tFJjwW9xQiBCzxucNhL0ab6)q%HXCJ_B=4THyCxJ2WJ>6F=$K7B{lnJRmz*q^1^SW*Du z67vWx8pw_rf=QdE)1vpIvbk@C!?f;xv0Y|Dv4Mqs^SJFPesrJ>VY$3v&n5QhYzTux zu>VPS-l@H+<4|^w2=CF?dGkYagv1%9JX@f8PrQ@2n$@$33~dQ>_2Sa+Z(Vc}1AzP< zb_N;FH9m8Nf!e9&@Hl@z{(HysnMtO=n5Lw50*tF(d$=Of^Fm!ZoK*8r$bJ&qWrN)V z$kM6QU~%5KVu7tGS@>(5gHKC7{=~B#vEe`7To>$Ymex}m?Kj`^y?a=LqY@L4ErP`6@(B*^W?hs$dWV{SED)ZT7I1_?N(KbGU2Jkr ziSl_BBwSW?u!R0^iXf9L*b_Fmc*Fpfc%O(uF#5=+`uqrUHKy7;n>cWJE5Y~)8t1_#ZHkM2QX zg)V)9Dy4FquPG(`o9kTqRQ9(=*}|m*noh=sN~kcI7O zdBjn?c_?%J_!j((6*)?_RJSwa;s~#LUd+VJXZKf1kPr%+p=5zG01cg<( zuC%nH7Sr^@OEdcIM_xiU9&FuUndDIW32|IrCAnqRr|rZ1HE+1tpd&FX;LtU08PGl< zHwW@#H=pL}ci_cTKEy?R`QFkLJR%V5C4FgGu$2k1eyfr-#0_}EEI7R1U($HU(w$?{;kZr zTO>PUT>L`?fql%{9`*>agS3&S6t(uz&h~;7)%t9!2zl8jRcoi@UMs};x*XTvGPBLj zto$oY-NwWxe0Eu2dn(~QY-%tRH;hYF-Mtmgi^xQ16vTW_-faA#6w=ggd?6$nRcLTc zVxaVe`o7D-;cDO^pc%~VcI3lIFWpFMH8PrQo=9hia-HNgX3iQGn83_*4?54;jMe5_)p@=f*l?tbIK`rC$ zf@&*>0jF|l;oPfc30esTgoY2}c3f$w>oF~UL8juZlDDBu>J`YX>gCEEzSiBia)>kn7C*e zFfcF%M4;e%>sA4d#rm3 zo?3Oc=6siH&7L-BZDTW;E>|AB&x1oU?BNk8)YXSk!KntaPw<&o5yQ=skZufC= zq6V#-ROb5*>KbelS2;RdBNQJwEPUhH|GhiWCX;_Lcc15Bxb1i~eIpr7NUo56)LfUr zy+;ZA`{mU!ye0Ab`!Q0!^cjG5e{4HZW0N62-(Ok_`PfObZ~ud#!n)7x#9_vwc}s}7^ma$0Fn!&zhhn$3zg6M2tOt(GMn1Wx#gV)@r(dCB zZAuhx$SoaBXirmFuX)_U2wkAxC?}JCF`n@KBDzBO8Jek>@T~*cv5tg%SpZZ4syg?x zNuvNH&NUZ{T{OJ^a;@ow7vJSHLOStdJZOjOHmAKV=z);8hq?uj3OX>|M){%vxuz2_ z5hj4*3yqt-v`VZ)r&@HNMa^mm!=#sLM6HAL-c#c>RSpeA495gcg5D4KELyEL=A!W* zYMVEtq%(N=%~x7d{K4-2_7sMbN%lTii9QDauJRDd;d#AMPJLYRJkyh9u(x${cQ=|* z`n}AQ^(kug1~&J|XZeMVcF%q%=9>ydx>cP-YKZ2=1kc#MUMoJCz_P=Zsn4`cvppUE>Jq{7!_lg7U&8)O7dBozImq<4 zhlO1xboDawhdZ2ndzWDM9_BQ!|LybmaNcn(zGFcuplj(qF*r`E z$t*oW@^TNb{0;FAT)p+8IAS=39A~2+=LyGl>1c4ovgT-Tgtns)OPw^~^K zi~|e%(lu~9E-iKRJHJfATcc$ocrj?_J#SDDIRFr$9Au%jJc~H((P92Z>rhXj>9~SY z1x-HrADaxN!vmoiJ(PhMFoa3v zYm#DRNgg+AFbz?J#n6CbI>4jp9_zPw%UvyEO;F)OIgWf9iEk;}ksNtqclyT)S(-KPt;arTzpObdwH_(&U#j!j&gRcn(GI*D7WHutQ zl00;fb|58f9-FXxD!t3D6EGl)zKC!&EAFa#}htj&t4`<~C8)v#$IENJX(+o4ZEK9 z;d%_bXHr4S5qbPC$PDtN^PN4xGqbD()f;aVV(v9W!~g=bIflpNQ#vIQrlz8PtR?8Da!&69l66~f0kPWNXY4G8>gx3LWn%hMj+Y*I0^{3(m!G4a7Y1ZUts(Rer2^W+nB`l52Ugfe zXFfslQ0DaH7}hiT;4dPyxGX&|GU)}>jrbb3UYG8dO!C_T{-kbVo8~Zq9A*#)@z3+c zP21emAZTMa%sq+L_ME3gb+m*lyDSeHAD2CAjkH)iSk-H_>apN$WoCaG>3Yl>tCaMC zRxY=EohkNuHH-VY5muE+tH%HjK)xmkCRK>B+V?JY+s={e9?|1h`?!%ziU%p|2K5&b z2qG}qp)37ht*MK;99=M*>$FACqLM=OKYMT8m2) z5_(h6HUfC@rqh#M39HUzf3^&GUv`GND&hg4Lg(&!0A?_ZZ}#hnp>}u$AfpGwDJ~Oo zV=t3e7_W=Q@|eXR83nazf7aG}eVx6OO4H(C>T`y#Y2M4cwrR7rqp&_#hwN*2RJ6Oz zo0ujzV$9%@o@BR-b`Z5R>UFKktGf|1{adVy8k~{tMW?fsCEby5nG~aAvzEb2Oz>XI zFi|z?*yCn5Eu$d3!>+9YX0TONawLiO4_c{sJ?y!AdR;z4yjy+-9JWnLX+KH$acOqz z)?jJ^0K5f9-qYOsrbh%02ffb_HDw4U-2vJ2tSg!(ag*|++q`mh*S6E|34*W0-DarJ zEFGu{(aJtqpyyZ`JN%S{v@HuKre?H-mW}X-L^-#VZ}8jp$x@ds829J&SuubR zk&;xgE@u4`#nau6{Wc`acOtsqS}==7uZ{GrrCzD=`N40uQjd8KNvIi_TQwkytJQ*X zE8|s&mQDx#mXpGWJ36w8x4Z`n=?p%k@EYz(^L})t94cNh;H61B2Q;qy_Yec)gI}7G$)CGCfy0+LAbcn z%S_19#BMK^98UGVe&{e=&>A+Mev8GvxIkxOab@*De$z#7dMPVBtdHoj$@kZc-Y-R$ zCUW=rWsYnYp9y(Pu~xVrBiV!Xe*Cp*k*>On&1<@KI<+%4a6r9?kD#=M|@+l~N=O?tws#yUCmdRNl%jnhp$>?EGF7C-3RKlV?o<}mv z)_Nd6VW<%V<}Y-UTSZo7IoSQI)r-=uHQngo&&hjI5>-83q0vN4&-y2H_p2wrV99kT zb=$%PKKT(6(!jiYCJoKfC`d$i{kfM)-%8#IyiD;v{B zzoFoS34W%1-Em{RT{BU;2vy6`7$vI$v;f@C?m)Udd8!)!dR8K zs$5s2db3pJfs|p)&0G;J;6LY}z^ig;z%Pom&u|D!7y^~#sN3WJd4Y!COySD*jP<{6 z0xY)%7=Xw2@9CL;!U*)MU9b}>2jYtUCi2ei(&q%wq%Sx+?qBLE(A80N`GLM&`^*3I z$gKqA9x#t~ds^>1+#)Slh!GEA0C*r;LHa!H2A-&-q55fdqJ69`6 z9sT}450yg8wO;K=mEZn**P@?R9{{kh*xt`)^ZywgREm6UU;HdV3UcaF#k0S722y?g zWronVQoP!#m)jw#!`%6z1g(5~A>r{wJ9gtdB9j2Zx0gv`7H7%6zZuO~UBYV8dIT{6W z2P9NXW^byzbp(n(W}Q-N^Fx4FOt%;Mc-__vWkJ#q2)fjYZ^3p7w0{04gXyJS&l=FS zzd0L6Pz#jnK${Vym9L+N9If@%$xuvy!}*r$TXZJgl^_OMK;keRq`(T@H_i7qTDjAK zG{E0h191ixyLJ9`I6pQeGjg)knI$Bsw9ET+jt-ZeH@O%QRFic2>ygX?eK z(q8nK>!cr82j(#1CF#u;AZKI-=}3?&DwDvX`S>l5L4fVj(?33fSBQGCO|kDIhPI z$}1bcN~#Z;$C3i8B#52ffBOVXK3W3Pl~DsqLHOL^1Nodlh!-Z}YTJdSfvZ5OeTi1w zdM8QLy}S2bsb$xLUyZ?b&$Wseo1&vKVP*!N%MjT(fjrA_%{8)wSlCLTbE)SB2Dj+jCuCx9cHu-Oi*Bav_mOT9KN7jXQn3J3&c`2eAstY)HWm);`P(n6|uJW&E9J zeRDJ1AD2K5gu@E@$J9Xd!R9;N63J5EhkQ!<9P+WJ7|1NTpc({=UEavzBT54=W%2zf za*&sQHW<)GR?^=+nP6q#Qt zZC+mw^%tBAL?G!5lHV*7=zQ>U*@S@q3`lyzo@k~>T_opUSl138s`d61a$bnA9w|jt zKcW6;1lIvqBK4&mXL?s|9|VWHv?daI#OhL@JreXj(VlKd7ItJmKHN{E!ojRLPOxC# zlCHwA0SAp&EMZCbvD8yms6@TE!3@|)L`cSc%QvXg=TD-sUhvTy(AKcInmdp$8_-f}GlEaO*SIu!wnp`t7anWr!3g=i z53Wzn03YVh3i_Xl*K1$3}6qeN5ux< ztAXUFh`Y{25g?y1tg!w8WwD$Vuw{AhGmy5ez~>ks)cj#Zy^aw201D?19#~ic-_YL$ za8cj+g^tL)(2^-Zm`6LCYDP?Oq7s4^2yTolJQoURG~s!R7ZINr4mbNW3}Q`6F7jZq z#{QWX2mNPyHa-J^D{#oWcwSshy~9GwZ$Fl}3q#v8U~z3w0pWT@Jw&lOY$t*S6hQG{ z$M4hut*0s|RZ$2^;#zDfKo(Ox2^Y{219~AUuf~-Tx056Hq5`!Xb(UAX;z`1T!DI`m zFz02{-QeDg{9$g@xDCbl`(5LlCGbAp*)E~G&Xrg4Wcz#{^_$m$M5gn!XZLdf_db@- z)SU}W71-hVi*(S<8I)tt$D8&Ntr#zk2Wo3c?tVFw{rH{j5kWB^Nkv0esy%7M9p{$I zq&I+G5&oQG*}{s|6N}D9Kc|^Yz}cty+iUVTn_+A9O!BUo&tR|DDbP$xB5st>W{}0C z9t$}q-=;ySw|0uh4C@Zqo@C>019t1%7IvSNf|Eyh|0!91Dr5J;ozmg>-Gl8#bL3UA zI{egOFOAu~-fKb|;k21FPZ0Jr{8npuJ^6FJOu|jdGU2zS&%ouH9ySha!h2^_2<+{( z`~EWO%l!e3%Ue6k(Oi1GjK^a@siN<_t;Sa)W4W?lHsQmk8Z~z-l6uX`0L9lIA5WEs z{E91a%=9_eP&uv(9}77JJA zfpzl<1v`VcMflNcfsQ`$&`N{Zm0p%2Vb=^AL-=EwNOc1CZYwpyd!#fNj`0fAj~Yd| zcDWo6>_EEbgnLdQ^X(SND2tLEmAF~>rpB^o79y-n=DsnLB;&KtWurD%#|U zN1S_XQAtn(OrCgk09`iyqQpxSua?}BNMW@% z0zb!qP!s6Jg`tMV-nNgUXf0cPp==H*=O1-z&>y0LVo46hgVEcr*HS?>HIwT z==@F7=JCxd`OKp{=NW>6E1=F7Dcu}|eoP0`q^ji1vm7PUu9Qd207$76n##HlA>mTe zFZz^q$0FO~g-jm5J>Ke3La{+Q`)Xr{PaVK1K^GD>14%MtbgF8$rG!#K%A+0tD%vXg z{LgzXf=9?d_MuG(fH(hF%%Bx>KE!)o(kUmVfr8otIe?z-4il(IyY;a>8Vya64z|TV zmW{vvS!k>*p>s?e=4qukG0 zp`YZ#J+&ksLaX|LybES;wF$~9$9t{0G(SN>L5-muSp@w}l+OIS&G8rLdgYe;>G|?lxC;3>&(ciG{|H@ zE7BB@{LM>sZtE#p1^~B_(29@7OS@VEoy<-XAPC!ZV_Ax}(?QhgY$=2`hy!TlY7t-? zN4kN=olWyovgKNKN!0JgV8KIvOP|%6-L^vf4g=rgl3d-2?)ceg17FApq`q&a!XtM) zQ-FT_vq>OOM|f~@Y8QtniSK`l*V$CdQhC&#B(d7UXV!A^QfWF0#0e41y4ZIY0Ol??dJ=EPBg07gj3V}aG zi}%r@{0!eIP+>?n+nx{(WYB27q>Tpx@4bi8x}@pNUm{z;lAu%s^~c!&(z7$cG+HMJ zM7XjbkJfhLb9@ks7-0ESIo8pkROzyOm)a0s0rp*X^O<`$MO9@rd`LX}vAviQKsql5 z3MfYL+CafYh{Wkp4_>Yd)ca`fS*(y_h9xIrtkM|`>{(8MJkO}5&#w@C-2+QZzfT^U zN?HhLea!ioh5S5|fp-}=48H~jv{_5X5%19za9J8G1W2wc`3YiXD-{$ES!a|g20&3J znIJHV^OGHL)PcMzP%E%~E`_S=U69^isakCTvQ&i~peBsLeo@>8z;2A6+NSp=N|0p@ zR9+?sb)Z$)ZtK5x*c3>U`?*#CK*9^mr#a=aT+5Ly&;h2;X^iMHfQ`bz*NFW`ui zn=TY}BWnO1{91r~%y_#)*QQSs?6isADVxDhlC{S>Is=S(Pd+?HRK%;LX2~M%o&uLr zlajZBK`V|-M6u5LxwkYl#MGEug3h4D+1N66N*?yl-FtB2LFh%Ep_u4my(@+}D z9^sAYK$0u_^(Cnpp!!q%69i&OtqNBeC7Hdj`4&e_i;^GKzo>6J$CmM9scOO1T;cuK;_u7Tu?co%h}g{({72b!sc&p;o_ zbIekr?%W*4obdw$$R)g>vWgAJYhS(Xh+qqEt^)9PfQOPx_p-Bx3e2=#TV-3f$fLw6 zKW8^*(*bUukFq(hYknaGrjtqTtR_uVzTV<_8(QEBeIl)zAm&+Wb&!pccg9nrseeq+ zaPj^|u7GP_sCo(hQ)&A?I+a64`0@vQl>mZE0*(lHNQN0agp$=(7nD=Iq2jkZKG@Dk zN{{MFm#6FrRwih7k4p2VfmofkfHZH*yff0>}HEENz}ZK zDXN1)!Iy8iUqX`-t5?@z#bbfrjs^l{c@T`FYZUS`Kb8ce<9FPhash4PVFk5J{H`<@ zv~KSgF<)O`K4LNp^>jN`7WWCwv0B_DygN(QrzGQI*SyqLIH*2BmodP6s+2OumU>Sh z1lk6b`Kev-?s`ptLxKfn`!?rF;G`+|--J_g+H1eCbDwo1dv@z zgPE1MsI?Mu-S<|ZS^`da;%cXF?#5>ck2c(X3MNovva=VMmuG$S^^=a&CB!v1B@+IU z?;$7qIlhVT=xYfQNc2$mvi&+P#434qVh6NMJ}=Cq>F`10Cx2GJlZp?qrmT`K(y6Xa zgyVoEv_p2yILm$VlhuLEmy^1%r}!P76$Di4)mt2xdK?B!ouIb?D3+nXuA0wf9SwE~ z?7~vb-00?FHSpO_r?Sy6s{s`XiT1>2)aPV5x*AW$`L;sB_`^eGjItx15{Mk!Rb8Xz z-Xj$beMCPzR;?Ph?6&3HDZelbk*;c)>$MyNc8=Q!%XA$v9$eI1}+vHU4%jPQ(Ujo32;0VeB~d+X3I_%uwH_%pWqL` zUvNjCYCizHc+Y_sI;NY9y};m+tObhk_+YW^NqH!<;H3LTE6Rta?J+!GA#?h`exN?C z32PdXw(L)m{VZGA zX=HtXI@_GzLoA6bCe3Ui*^9b&fgcWF%)L!GNU*f4k)dnUpqhYD7RddJ?JUTo3jujb z+-Gj1Z~9ZLdY-su0&9R|s~q(n&rDE?`wGwd4fy-%mh4TdMShE6R#gPmK%NdOx@@E* z4vT~4Uje;_GjBuAfs+`so4P(Xq`nBg za0ApU01;@W!0ew)M8TELWaYTp+o0MU&q2HAqc_M1PjG|f4+UVduh$rEAP1AoeJhUTE(7T2(ZB!^8k!=OSi3Boc2x;~4;?{g zN<$g`(z>+54suc{-uFw)x6lO~dD;+nP+kR7=Ttqk*jb%0P{~xZDNPXf9ws4*IGPY` zh-^j|rk|Jl&D=U`6yOqP9Dt**&?H*`dN_ln2vBe{t^iM)M`+rR>Ev1}J5EqPf!6}4 zAq!I3rhvQ2xHJtavfWeOl8yEN{dKs-S_pl9warK=WYZCR1IG`N8)+r!4|9)!<>y<> ze|J{r^^*>iKa$P;`JOO5QG@!9jt-K-RP3bpBssJ&mU0gDwqDy|m|=-;1{r=Dtw;wb z_e-l(6WLEogCtR#!h;7Swjdo5+g749K;1GpSp~dz) zxPWPv_uC_ntoqy&wVJK=@;pDFcfy8Xik8rZDNz!NV0PXb044ybEtO!WgAjDiZ}XE4 z_yW9PGhi0mu*8N*)HjFOCb6J90>>~Afr+}U(M_@p6q3E{O_L=bLep{deMmJ@FNoOu zeGTj@P9HQDiLPw5l;?I5?J0TgU1Ipa8TgyA7Gy=f`99XA$E-1-ls)z`rPXeb*JwH% z>m&BZa5liksBBHJR47Ktqbu~GmUyB$q>n6DB1|x->&%j(f1Q8HfYATQGKhe|)o$ii zsGh~Ue}2)mf%y4rd<^+{RD8b2Y8inp{ohyH7u5q$(Dtzil&3^)QSr*iA?{v9$9j{? zKx6E2NIr9J%b|3-c#q%Rp#NNxgiZqD~+h35jA z51q0ACrwZafVMDT1_R$Lg5W6{@bb-Imp@b^BS2R{DqaM6GB(+kzl(5AuE$9D)@pUv zbAxc*yuzad?f@(ksDRAQLbXM4-qZ(k>!(2kj$CALWZd~7_g}kqAIPbMyo)WnaP%Gn z6N$t7WposZ*-Z z62-|5k{OY3^|fp(Ano~o+Pm(5D%`ldyk&&6Ls7GXHKE`A3 zEqm4DsbiJB3YCnLmF*zk&wUP0kMHaICwzZ9uj9Dy>%Q*m`druN^B&g{WGgjGrO-}N z{}>nnZfHm2y*IO{PcZj1MS>Dbf zD+Cp%e(%*~oZDFz(gKX5?S2as2~M2#045IDM+rAl8(I})lK5W~vf)_=9)>w0^OX&~ z^qB~8`V;n>hN3)p2(fk7I9qQ*xkJU6mY&tL+Y9j$5+3u^fc(eW$WzYD<>fTr2keQ- z=hrs#7;J0_zYoy!1M$S~b;;5;;rha8BuGurotzgZW^*X}o0NC2`P`)eryH>EQ$ji# zH_$~`QylNREQ}gC`47Pz6EcgS+z<`L&_D_Lu$_x537Q;9G6*4C>jf%uK+!B_b&T65q+5iDfCz-0k?Y9j2BsuA z<-T#(+rnX2E@7A-D152;QBOb+74HZn_3Q5&kc2+I6EwJJ1S(f~0BhwX^gEI%A}*sk zdI@pia06jG#k`QuW?zF_fT?#|)De@u;$2q#r-WB`b>yAXgpyYPXqF*QFu+N{7H#|x z$Rb=JlvbP>0bexpb-M)Kt<2UgHRKJT@&V1`cf5x{I6@DH5&sAQ!35_5Q9i+$?BaO9 zy3FNbj4Evtuc-bxXwwsJ2^@#d{a}kyHV4z|5zO5(niZwCkLfD*&i?x9?}>$Wiq#8^ zt1nBCV3jI=z0HuVZtebG3aBI_AoUD&h!Ens#qSnTd6AKB7O2AGyxoT1*+IyTfHaCf zR#`VWW+~ao6b32W>l{)@pyJS0=0ml!YUOH%XWvO{1vQ^?qcUgTr3kZpWN;*>QzB{~>SLErDq&2M{V=9v#cFa)3r_(It42NyX zQ^ns3sRUHn%e*t;$!otJ0J+~?E52Uaki^AqN(?pgMie#j^5Q^&&+#fmAVu%4obxFs z9muVG7MNRwbv4DaKdPC1obv+b$43**JIe#RapcwiC6KaNY8)z!w$ZJB^UC6948P&j zgOQZfeB+YA3OnpXS9h6)#wM!S24T=%#onv2raMMjB?B-zZR?*ndPLI?V*S@PmR1=c z9Hc_6$Ab_B4U0bbas8w0@z-JW6~(CO@MT)4pAiWFp%76*DnOE|oC2%$Tm1_K3>;86 z8w9&Ged|mWL5080eWbWAwY?}qDPr}p%6-+U+Iy$wf}VDAV4_oD8;7<^e8`PFFCGAf z*$|*B=M_jozVtRfb>iv(CB7o;(>j)WulowvHLULT4-HUk@|z=1r%Z;7`|mHwqTr@?)T4@`mC!CRZZTd>qs;hXiK82MBm`BuXX;B zDf;$B%d&E$fyBJbE&-qUwmmwUG1O^}Uv@hci!LVkY}VHuz+6P)U0+ikcJAKa<*h}G z2EzH#cNZEsM}!Imx13LjnkI5Pr*)&EYDOUt2q{uaM2G?&U-3Y@3~n@h8hMx7jz^`4EV;phk6*JbAD#L z{;^!a6wtE@RM@x>P{&%$J*aV-nN`^qqfgl-y$xV9WEjC`s{TIyS~ihxx#gUR(_D`y zQgEwVd~>YuAvW|Fb(JI=lS0Hq$&_2SLqi?+ZeEMo`&c!m=+&`V7Rv4KtJpK?wf@faSZ;^NYnDu`fyI2sm;y2?8svK;A9=vlMaykW`b^+g|Tuz1&G zTv}Z3I{k5E<8dk`6}Nlwy!G36FQ??_c^k<>?$6894^(tOPo4pMuFTg<3g+M)(j-vU z8?I6zm6Zw0juPlr(;;3mXZH>Zs(@ykrx6x)-bPP`aSlR3>hdr|ZSbPtow7+gyWqw5 zf#05Im<$Yt)g)vBrjDNOTt9I#v zQzMmU*`3^hLJo304b+^|#3F;^1MYsasT-^_S>EBPfxdn?#I%CQw3bwjweuO66 zvx>b>%kZ#!+r@GF)vGbpu0HFyx0niyd+SF^$5C|j)7@=!nMhP(vKo=1jBj{*_w6iY zWSimVOBoBsAk($F)P@*wXX@e^&0Zi#yAz6MU97k4VO9&L-kzMAQnInh7d?0S^yQhE z8I-|G2-yjaVgb?qz6nHPPILF;6T+jf>~5^clyOfESUWPc#k1#mm}lx9TYhl##EB9@ zv`2nUenNguVL`#Vd7DCzctl6V9I-)$vtpP0)CsMi(Spww1^RhC_ZnM`IMaUBRw9JW z-KeqrbzyP+9!F=)+(gzT{$nR3cQTN6563VCivNa`2V51P)$wrldK}?1U&-T3b7M=-o&0 zDyLEhfIf<+lY&PTD!V@J2srQljQ|=-H8*k+XV@U0g*y|N(&bhJoG?fpu zsO*2eb3W5?S>i`y>nowkzVIVrED9Rd)YkWwB$f&*UZRgEO|>$rsYbY1&MdjCQI&oC zC}fR&n3pcpZ&miay)4zbH(IKGM@Q5~rGS>VxK{Z*zvl3^PM1$5^(QNLY|90879ry# zy4_f(y0SpMj2z!UTGI1# z))5Vd;}R3SN|bcI|2f~X0g3R7!qc^=4(hHsl@(eg5BE~lmtdom{eTCPxY7X5sj+j) zD_(jgDsgdfC@mwC0=m_jYXqOw)J_yOX-Hw?#Njx!ko~*LBq#qoRh2*bijZ$0A;!%GIBu*Q2N0M|XO61ICu; zT!z+nTuq%?Jp$yj)b`4v>doyoP~=H`0d-bOp=nLHf3MDxZjaR`TJ6Cp?`_5_EWrZ z*One!3T4xwF}2#ndRwG1cU&XLOzNR%G|@#@;}$PjHZ&LLO=0TJ z-s#5yJB!h@1yt)wt@_xZJ|DKu6hgtuOOUk|$yq{T z7;uFA@q|Jdca~}!)G|`_0)?0=(pG4+12n2o+DGFyFCzm&{5zxW+>N0{gZ zS#f{@@5u&yDPeqHP!B&J-%`Y5&zT#>#+MBEH`JdS-ZgTP z();}N)_P=L`W70q^>?$wjLwGHZncq4V4qZsB9<#lHGqj>Jd`ll412%mjs-qj^u9%Z z^{R4eTAGjRkEqz#^FLz_X(S8-s$Pb!<8paJw=48<$3U>D*UWA+ZGjvLk#GO}b_A-| zjfWWHevLgZ-%HG(^n8q9VaH7HW3S~%P0UrmhzOM+q&8vH^btFC+>>nNOIt3m{GbXh zJU_xy8k~_J>(cEy@tc@$D4%WFvGAT#5>hn^B*f zFBK2ZyL|@|06LGCVz@Ym|2zChk{xorG+LPoB*ENEq2ZGc75KQnGfwN=yAnR*^$mqs ziGA?yHs|kO?oyGSBxB3n7$WwqGq}sWNO}4VHer;D=14RQ6w_6ff`3aUr&!JX6kiny z3l3J?A0Zapv>iCexZiiBF}6OM}PDXn7ueK(uh7GXB$K(WhNfH#9?@jlk^$~kD?hr3r(wB5tuu` z`y`?{Me3Y#{J+;7FC}8`)OFC?d=F?-145jy^^)oMcdY1;wYMrdYk62+CG=x&avGAJ z(;GfW^an4b>nOGqjf0N%r?R0{e#2$u2l&aSScwTn(N~F`@J@5~$Uf3Z5lXIpu`9@p|_CakWtc1LFT`Hhpg>Mo|ktR_!aGpm!uaB}Mv%j11xnr;d0ed3^p9eO zhCs$%mo|MT?akF{Gvl~=H7X^A-q91Pnt?$g}I>me;K|Hm~jU+)G+>L!#gIw}yGJ;(=OcVK*(k&%g$Qw6v+U#p9NP`}j9 z|KUCOQgy5Xi8f)T@(B5*m5EKDH+NJ6t3A#UesZS12+A#|FJ9z805HD-?rUu8ra5scI!P6Q@kQ$2};l5>xkn*`!aTYfg5<`F~Pydm$QLOV}vNil0BCK!M1BK zI2tf1O@T4z0V5W~>lLcMXeepQKJ5WUSp1d%Y5%$$m>OV=V3UE&Y(rKUpl?*O(75LP zVoK?`>)h+m{De5^g|&Uwg2l;;LhZqP-q@L}h}hT%a>7vBwOg9;5*~F+LodHM#_je5 zOaWcvJpia+prD}Wu6yjbIsTNqU811i&>CQVkx(OP19tPxk{uZ=(%a-*N5ozMSGW4wRD>RfwG?lIta8ziCgS)#JLFNtoSzE!A%uu>Z!zAe5!I-`Y1ylw@}j}53{X3J44iA?Ri6}UWVcs z{;xUaGi$6at(~1hBhiCn&Q1uO`i#-f{sy&13lwTtZv%HL`)UY-Z9W7KB#|KFyGsfl z{_lb>W3(^V)c@hi^Puv^dOO@FO)uqERd?Gl{6T$}2xk+fR5eKB(tnq8`cq91stG<-3!K=G(zsr**M~L3(xLU>N3MK&|HnMj`+DO!f@;o>?V*OT5Jo&VWPL1{@jj4v>Yg1$Hv8?77YP&I zDh=P6()n3eeOx90?_BK7Ak3hiH{$bEGB97+;AECUi@*7~xKx2>%mR^K(9c3sGYWM7 zs=zZbo9~id0$aP7Cr=0i|M+83z8)BZN#TmL5{bfgNx%Y+366EYiFfrX+`I7{g zwL29TR?82oiIXSeM$-I| z>!t>(BcM#mUGEsFWmwMjoQCzB1=OCm3><;Ae{v$-xxohyuk+aq79X>E44h&``^9Qu zlP6D}C`;=B??ORYSpa-h4Qrfo$PR%%$hPzGnB#zvtAf6M{54>SPll4DBl8k!+X;Or z%G0M`y!v7k`0NC=JZzTC0dL_mZ924|M1y++Rl4-=vFBR(xoo9W@W%|$(-S*UsgIS| zm=Zq`t61Gt0(u6&LG-j_EVVzzg{5|VHe6rO`UOc*j3RY9rhapCGp6;;W897|20=RV z-&*b^RXQ@#I(dEdyyChZHW(*8IliK2>>rT8KnQRYKMyusdvDRm_6;%hUg^38ey`#P z_h>M0P)wifC@zjID!~3TdG;(jeuoa0@Ux$)HJl8hva?yo3Rx>~KeC4-5qcaR9X*&B z5bBJ7ig5B9k<&jIRO!c&W4B~JQtbyGd^D=M4i`C5uY3_de((_tj%`H}ttXl15ALB) zKm@j(HXlYr2>7SK1vCUZJtffc`y1qwEpj-J40n&*!Amf}gFR1SBRLqupF-0vy2s&o zufMN+5_(pQNQL+JH}J{#B9dr*Y%9ly%l+%vBdG(!gBQP3Z{$%vAvxeP0|G$fo hsew#{lVsa;e`!dW)(_I9BWDyV+*Fk Date: Wed, 30 Mar 2022 21:01:37 +0100 Subject: [PATCH 2/5] Update Readme file with MLX API Codegen Workflow Signed-off-by: Pavan Pss Signed-off-by: Shanmukha Pavan --- api/README.md | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/api/README.md b/api/README.md index 62619c37..9e4f78b0 100644 --- a/api/README.md +++ b/api/README.md @@ -4,20 +4,26 @@ An extension to the Kubeflow Pipeline API for Components and Models --- -# Quickstart +# MLX API Codegen Workflow -## Deploy to Kubernetes +![This is an image](https://github.com/psspavan96/mlx/blob/API_Documentation_update/api/API_Codegen_Workflow.png) - kubectl apply -f ./server/mlx-api.yml +The generation of Python code starts from Swagger Spec. The generated code has 2 outputs: the `/api/client` and the `/api/server` packages. There is no static HTML documentation that gets generated. There are also no Python resources with Swagger annotations from which we generate our Swagger spec, instead the Swagger UI will be generated on the fly when the Python server is started. There are however some docs under the client package, but those are in Markdown format which works well when browsing through the Github repo. The `/api/client/docs` contains some examples from which we create the Python scripts in the examples package. Once the server code is generated we need to copy any new API method stubs (if any new) from the `/api/server/swagger_server/controllers` folder to the `/api/server/swagger_server/controllers_impl` folder and actually write the business logic. If existing API method signatures got updated, we need to update the existing controller methods respectively. + +# Deploy to Kubernetes + +1) Run kubectl command to apply the manifest + + `kubectl apply -f ./server/mlx-api.yml` -## Find API Server Host and Port +2) Find API Server Host and Port - export API_HOST=$(kubectl get nodes -o jsonpath='{.items[].status.addresses[?(@.type=="ExternalIP")].address}') - export API_PORT=$(kubectl get service mlx-api -n kubeflow -o jsonpath='{.spec.ports[0].nodePort}') + `export API_HOST=$(kubectl get nodes -o jsonpath='{.items[].status.addresses[?(@.type=="ExternalIP")].address}')` + `export API_PORT=$(kubectl get service mlx-api -n kubeflow -o jsonpath='{.spec.ports[0].nodePort}')` -## Open the Swagger UI in a Web Browser +3) Open the Swagger UI in a Web Browser - open "http://${API_HOST}:${API_PORT}/apis/v1alpha1/ui/" + `open "http://${API_HOST}:${API_PORT}/apis/v1alpha1/ui/" ` --- From 0412f58a8c04bbc023698f72298015b0276f77c5 Mon Sep 17 00:00:00 2001 From: Pavan Pss Date: Wed, 6 Apr 2022 15:28:57 +0100 Subject: [PATCH 3/5] Describe the Functions of MLX API components Pavan Pss Signed-off-by: Shanmukha Pavan --- api/server/README.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/api/server/README.md b/api/server/README.md index 8b01be45..fb4228e7 100644 --- a/api/server/README.md +++ b/api/server/README.md @@ -8,6 +8,20 @@ Flask server. This example uses the [Connexion](https://github.com/zalando/connexion) library on top of Flask. +## MLX API Server Components Functions + +| Python package/script | Purpose | +| ------------- | ------------- | +| `code_templates` | Code templates are used to generate sample Kubeflow pipeline DSL scripts for each asset type | +| `controllers` | Controllers are the code stubs (“interfaces”) for the API endpoints generated by Swagger | +| `controllers_impl` | Controller implementation of the generated API code stubs (“interfaces”), originally copied from respective controller and then filled in with the actual business logic. API calls get forwards from the controllers to the controller_impl by injection of some code magic in util.py (see codegen.sh) | +| `data_access` | Contains 2 clients – MySQL (relational database) and Minio (object storage) for data access | +| `gateways` | Connects the API server to various services on the Kubernetes cluster like KFServing, Kubeflow Pipelines, and the Kubernetes API | +| `models` | Swagger generated API classes used to transfer data between API client and API server | +| `encoder.py` | Implementation of JSON encoder (generated by Swagger) | +| `util.py` | Collection of helper functions, most notably to “glue” the API `controllers` code stubs to the `controllers_impl` API implementations | + + ## Requirements Python 3.6.1+ From 3251af44531cde64958597349712621781f915a8 Mon Sep 17 00:00:00 2001 From: Pavan Pss Date: Wed, 6 Apr 2022 18:22:11 +0100 Subject: [PATCH 4/5] Describe the Functions for MLX API Server Components Functions Signed-off-by: Pavan Pss Signed-off-by: Shanmukha Pavan --- api/server/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/server/README.md b/api/server/README.md index fb4228e7..0e26e809 100644 --- a/api/server/README.md +++ b/api/server/README.md @@ -15,7 +15,7 @@ This example uses the [Connexion](https://github.com/zalando/connexion) library | `code_templates` | Code templates are used to generate sample Kubeflow pipeline DSL scripts for each asset type | | `controllers` | Controllers are the code stubs (“interfaces”) for the API endpoints generated by Swagger | | `controllers_impl` | Controller implementation of the generated API code stubs (“interfaces”), originally copied from respective controller and then filled in with the actual business logic. API calls get forwards from the controllers to the controller_impl by injection of some code magic in util.py (see codegen.sh) | -| `data_access` | Contains 2 clients – MySQL (relational database) and Minio (object storage) for data access | +| `data_access` | Contains 2 clients - MySQL (relational database) and Minio (object storage) for data access | | `gateways` | Connects the API server to various services on the Kubernetes cluster like KFServing, Kubeflow Pipelines, and the Kubernetes API | | `models` | Swagger generated API classes used to transfer data between API client and API server | | `encoder.py` | Implementation of JSON encoder (generated by Swagger) | From 73ea4a9f8aa204039f19dff2f40617d0da401377 Mon Sep 17 00:00:00 2001 From: Pavan Pss Date: Wed, 6 Apr 2022 20:38:44 +0100 Subject: [PATCH 5/5] Update README.md Signed-off-by: Pavan Pss --- api/README.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/api/README.md b/api/README.md index 9e4f78b0..130fb0c5 100644 --- a/api/README.md +++ b/api/README.md @@ -8,7 +8,12 @@ An extension to the Kubeflow Pipeline API for Components and Models ![This is an image](https://github.com/psspavan96/mlx/blob/API_Documentation_update/api/API_Codegen_Workflow.png) -The generation of Python code starts from Swagger Spec. The generated code has 2 outputs: the `/api/client` and the `/api/server` packages. There is no static HTML documentation that gets generated. There are also no Python resources with Swagger annotations from which we generate our Swagger spec, instead the Swagger UI will be generated on the fly when the Python server is started. There are however some docs under the client package, but those are in Markdown format which works well when browsing through the Github repo. The `/api/client/docs` contains some examples from which we create the Python scripts in the examples package. Once the server code is generated we need to copy any new API method stubs (if any new) from the `/api/server/swagger_server/controllers` folder to the `/api/server/swagger_server/controllers_impl` folder and actually write the business logic. If existing API method signatures got updated, we need to update the existing controller methods respectively. +- The generation of Python code starts from Swagger Spec. The generated code has 2 outputs: the /api/client and the /api/server packages. +- No static HTML documentation gets generated from Swagger Spec. The Swagger UI will be generated on the fly when the Python server is started. There are some docs under the client package, but those are in Markdown format which works well when browsing through the Github repo. +- The /api/client/docs contains some examples from which we create the Python scripts in the /api/examples package. +- Once the server code is generated we need to copy any new API method stubs (if any new) from the /api/server/swagger_server/controllers folder to the /api/server/swagger_server/controllers_impl folder and actually write the business logic. If existing API method signatures got updated, we need to update the existing controller_impl methods respectively. + + # Deploy to Kubernetes