csi.pb.go 208 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008
  1. /*
  2. Copyright 2018 The Kubernetes Authors.
  3. Licensed under the Apache License, Version 2.0 (the "License");
  4. you may not use this file except in compliance with the License.
  5. You may obtain a copy of the License at
  6. http://www.apache.org/licenses/LICENSE-2.0
  7. Unless required by applicable law or agreed to in writing, software
  8. distributed under the License is distributed on an "AS IS" BASIS,
  9. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  10. See the License for the specific language governing permissions and
  11. limitations under the License.
  12. */
  13. // For backwards compatibility with CSI 0.x we carry a copy of the
  14. // CSI 0.3 client.
  15. package csiv0
  16. import proto "github.com/golang/protobuf/proto"
  17. import fmt "fmt"
  18. import math "math"
  19. import wrappers "github.com/golang/protobuf/ptypes/wrappers"
  20. import (
  21. context "golang.org/x/net/context"
  22. grpc "google.golang.org/grpc"
  23. )
  24. // Reference imports to suppress errors if they are not otherwise used.
  25. var _ = proto.Marshal
  26. var _ = fmt.Errorf
  27. var _ = math.Inf
  28. // This is a compile-time assertion to ensure that this generated file
  29. // is compatible with the proto package it is being compiled against.
  30. // A compilation error at this line likely means your copy of the
  31. // proto package needs to be updated.
  32. const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
  33. type PluginCapability_Service_Type int32
  34. const (
  35. PluginCapability_Service_UNKNOWN PluginCapability_Service_Type = 0
  36. // CONTROLLER_SERVICE indicates that the Plugin provides RPCs for
  37. // the ControllerService. Plugins SHOULD provide this capability.
  38. // In rare cases certain plugins may wish to omit the
  39. // ControllerService entirely from their implementation, but such
  40. // SHOULD NOT be the common case.
  41. // The presence of this capability determines whether the CO will
  42. // attempt to invoke the REQUIRED ControllerService RPCs, as well
  43. // as specific RPCs as indicated by ControllerGetCapabilities.
  44. PluginCapability_Service_CONTROLLER_SERVICE PluginCapability_Service_Type = 1
  45. // ACCESSIBILITY_CONSTRAINTS indicates that the volumes for this
  46. // plugin may not be equally accessible by all nodes in the
  47. // cluster. The CO MUST use the topology information returned by
  48. // CreateVolumeRequest along with the topology information
  49. // returned by NodeGetInfo to ensure that a given volume is
  50. // accessible from a given node when scheduling workloads.
  51. PluginCapability_Service_ACCESSIBILITY_CONSTRAINTS PluginCapability_Service_Type = 2
  52. )
  53. var PluginCapability_Service_Type_name = map[int32]string{
  54. 0: "UNKNOWN",
  55. 1: "CONTROLLER_SERVICE",
  56. 2: "ACCESSIBILITY_CONSTRAINTS",
  57. }
  58. var PluginCapability_Service_Type_value = map[string]int32{
  59. "UNKNOWN": 0,
  60. "CONTROLLER_SERVICE": 1,
  61. "ACCESSIBILITY_CONSTRAINTS": 2,
  62. }
  63. func (x PluginCapability_Service_Type) String() string {
  64. return proto.EnumName(PluginCapability_Service_Type_name, int32(x))
  65. }
  66. func (PluginCapability_Service_Type) EnumDescriptor() ([]byte, []int) {
  67. return fileDescriptor_csi_31237507707d37ec, []int{4, 0, 0}
  68. }
  69. type VolumeCapability_AccessMode_Mode int32
  70. const (
  71. VolumeCapability_AccessMode_UNKNOWN VolumeCapability_AccessMode_Mode = 0
  72. // Can only be published once as read/write on a single node, at
  73. // any given time.
  74. VolumeCapability_AccessMode_SINGLE_NODE_WRITER VolumeCapability_AccessMode_Mode = 1
  75. // Can only be published once as readonly on a single node, at
  76. // any given time.
  77. VolumeCapability_AccessMode_SINGLE_NODE_READER_ONLY VolumeCapability_AccessMode_Mode = 2
  78. // Can be published as readonly at multiple nodes simultaneously.
  79. VolumeCapability_AccessMode_MULTI_NODE_READER_ONLY VolumeCapability_AccessMode_Mode = 3
  80. // Can be published at multiple nodes simultaneously. Only one of
  81. // the node can be used as read/write. The rest will be readonly.
  82. VolumeCapability_AccessMode_MULTI_NODE_SINGLE_WRITER VolumeCapability_AccessMode_Mode = 4
  83. // Can be published as read/write at multiple nodes
  84. // simultaneously.
  85. VolumeCapability_AccessMode_MULTI_NODE_MULTI_WRITER VolumeCapability_AccessMode_Mode = 5
  86. )
  87. var VolumeCapability_AccessMode_Mode_name = map[int32]string{
  88. 0: "UNKNOWN",
  89. 1: "SINGLE_NODE_WRITER",
  90. 2: "SINGLE_NODE_READER_ONLY",
  91. 3: "MULTI_NODE_READER_ONLY",
  92. 4: "MULTI_NODE_SINGLE_WRITER",
  93. 5: "MULTI_NODE_MULTI_WRITER",
  94. }
  95. var VolumeCapability_AccessMode_Mode_value = map[string]int32{
  96. "UNKNOWN": 0,
  97. "SINGLE_NODE_WRITER": 1,
  98. "SINGLE_NODE_READER_ONLY": 2,
  99. "MULTI_NODE_READER_ONLY": 3,
  100. "MULTI_NODE_SINGLE_WRITER": 4,
  101. "MULTI_NODE_MULTI_WRITER": 5,
  102. }
  103. func (x VolumeCapability_AccessMode_Mode) String() string {
  104. return proto.EnumName(VolumeCapability_AccessMode_Mode_name, int32(x))
  105. }
  106. func (VolumeCapability_AccessMode_Mode) EnumDescriptor() ([]byte, []int) {
  107. return fileDescriptor_csi_31237507707d37ec, []int{10, 2, 0}
  108. }
  109. type ControllerServiceCapability_RPC_Type int32
  110. const (
  111. ControllerServiceCapability_RPC_UNKNOWN ControllerServiceCapability_RPC_Type = 0
  112. ControllerServiceCapability_RPC_CREATE_DELETE_VOLUME ControllerServiceCapability_RPC_Type = 1
  113. ControllerServiceCapability_RPC_PUBLISH_UNPUBLISH_VOLUME ControllerServiceCapability_RPC_Type = 2
  114. ControllerServiceCapability_RPC_LIST_VOLUMES ControllerServiceCapability_RPC_Type = 3
  115. ControllerServiceCapability_RPC_GET_CAPACITY ControllerServiceCapability_RPC_Type = 4
  116. // Currently the only way to consume a snapshot is to create
  117. // a volume from it. Therefore plugins supporting
  118. // CREATE_DELETE_SNAPSHOT MUST support creating volume from
  119. // snapshot.
  120. ControllerServiceCapability_RPC_CREATE_DELETE_SNAPSHOT ControllerServiceCapability_RPC_Type = 5
  121. // LIST_SNAPSHOTS is NOT REQUIRED. For plugins that need to upload
  122. // a snapshot after it is being cut, LIST_SNAPSHOTS COULD be used
  123. // with the snapshot_id as the filter to query whether the
  124. // uploading process is complete or not.
  125. ControllerServiceCapability_RPC_LIST_SNAPSHOTS ControllerServiceCapability_RPC_Type = 6
  126. )
  127. var ControllerServiceCapability_RPC_Type_name = map[int32]string{
  128. 0: "UNKNOWN",
  129. 1: "CREATE_DELETE_VOLUME",
  130. 2: "PUBLISH_UNPUBLISH_VOLUME",
  131. 3: "LIST_VOLUMES",
  132. 4: "GET_CAPACITY",
  133. 5: "CREATE_DELETE_SNAPSHOT",
  134. 6: "LIST_SNAPSHOTS",
  135. }
  136. var ControllerServiceCapability_RPC_Type_value = map[string]int32{
  137. "UNKNOWN": 0,
  138. "CREATE_DELETE_VOLUME": 1,
  139. "PUBLISH_UNPUBLISH_VOLUME": 2,
  140. "LIST_VOLUMES": 3,
  141. "GET_CAPACITY": 4,
  142. "CREATE_DELETE_SNAPSHOT": 5,
  143. "LIST_SNAPSHOTS": 6,
  144. }
  145. func (x ControllerServiceCapability_RPC_Type) String() string {
  146. return proto.EnumName(ControllerServiceCapability_RPC_Type_name, int32(x))
  147. }
  148. func (ControllerServiceCapability_RPC_Type) EnumDescriptor() ([]byte, []int) {
  149. return fileDescriptor_csi_31237507707d37ec, []int{29, 0, 0}
  150. }
  151. type SnapshotStatus_Type int32
  152. const (
  153. SnapshotStatus_UNKNOWN SnapshotStatus_Type = 0
  154. // A snapshot is ready for use.
  155. SnapshotStatus_READY SnapshotStatus_Type = 1
  156. // A snapshot is cut and is now being uploaded.
  157. // Some cloud providers and storage systems uploads the snapshot
  158. // to the cloud after the snapshot is cut. During this phase,
  159. // `thaw` can be done so the application can be running again if
  160. // `freeze` was done before taking the snapshot.
  161. SnapshotStatus_UPLOADING SnapshotStatus_Type = 2
  162. // An error occurred during the snapshot uploading process.
  163. // This error status is specific for uploading because
  164. // `CreateSnaphot` is a blocking call before the snapshot is
  165. // cut and therefore it SHOULD NOT come back with an error
  166. // status when an error occurs. Instead a gRPC error code SHALL
  167. // be returned by `CreateSnapshot` when an error occurs before
  168. // a snapshot is cut.
  169. SnapshotStatus_ERROR_UPLOADING SnapshotStatus_Type = 3
  170. )
  171. var SnapshotStatus_Type_name = map[int32]string{
  172. 0: "UNKNOWN",
  173. 1: "READY",
  174. 2: "UPLOADING",
  175. 3: "ERROR_UPLOADING",
  176. }
  177. var SnapshotStatus_Type_value = map[string]int32{
  178. "UNKNOWN": 0,
  179. "READY": 1,
  180. "UPLOADING": 2,
  181. "ERROR_UPLOADING": 3,
  182. }
  183. func (x SnapshotStatus_Type) String() string {
  184. return proto.EnumName(SnapshotStatus_Type_name, int32(x))
  185. }
  186. func (SnapshotStatus_Type) EnumDescriptor() ([]byte, []int) {
  187. return fileDescriptor_csi_31237507707d37ec, []int{33, 0}
  188. }
  189. type NodeServiceCapability_RPC_Type int32
  190. const (
  191. NodeServiceCapability_RPC_UNKNOWN NodeServiceCapability_RPC_Type = 0
  192. NodeServiceCapability_RPC_STAGE_UNSTAGE_VOLUME NodeServiceCapability_RPC_Type = 1
  193. )
  194. var NodeServiceCapability_RPC_Type_name = map[int32]string{
  195. 0: "UNKNOWN",
  196. 1: "STAGE_UNSTAGE_VOLUME",
  197. }
  198. var NodeServiceCapability_RPC_Type_value = map[string]int32{
  199. "UNKNOWN": 0,
  200. "STAGE_UNSTAGE_VOLUME": 1,
  201. }
  202. func (x NodeServiceCapability_RPC_Type) String() string {
  203. return proto.EnumName(NodeServiceCapability_RPC_Type_name, int32(x))
  204. }
  205. func (NodeServiceCapability_RPC_Type) EnumDescriptor() ([]byte, []int) {
  206. return fileDescriptor_csi_31237507707d37ec, []int{50, 0, 0}
  207. }
  208. type GetPluginInfoRequest struct {
  209. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  210. XXX_unrecognized []byte `json:"-"`
  211. XXX_sizecache int32 `json:"-"`
  212. }
  213. func (m *GetPluginInfoRequest) Reset() { *m = GetPluginInfoRequest{} }
  214. func (m *GetPluginInfoRequest) String() string { return proto.CompactTextString(m) }
  215. func (*GetPluginInfoRequest) ProtoMessage() {}
  216. func (*GetPluginInfoRequest) Descriptor() ([]byte, []int) {
  217. return fileDescriptor_csi_31237507707d37ec, []int{0}
  218. }
  219. func (m *GetPluginInfoRequest) XXX_Unmarshal(b []byte) error {
  220. return xxx_messageInfo_GetPluginInfoRequest.Unmarshal(m, b)
  221. }
  222. func (m *GetPluginInfoRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  223. return xxx_messageInfo_GetPluginInfoRequest.Marshal(b, m, deterministic)
  224. }
  225. func (dst *GetPluginInfoRequest) XXX_Merge(src proto.Message) {
  226. xxx_messageInfo_GetPluginInfoRequest.Merge(dst, src)
  227. }
  228. func (m *GetPluginInfoRequest) XXX_Size() int {
  229. return xxx_messageInfo_GetPluginInfoRequest.Size(m)
  230. }
  231. func (m *GetPluginInfoRequest) XXX_DiscardUnknown() {
  232. xxx_messageInfo_GetPluginInfoRequest.DiscardUnknown(m)
  233. }
  234. var xxx_messageInfo_GetPluginInfoRequest proto.InternalMessageInfo
  235. type GetPluginInfoResponse struct {
  236. // The name MUST follow reverse domain name notation format
  237. // (https://en.wikipedia.org/wiki/Reverse_domain_name_notation).
  238. // It SHOULD include the plugin's host company name and the plugin
  239. // name, to minimize the possibility of collisions. It MUST be 63
  240. // characters or less, beginning and ending with an alphanumeric
  241. // character ([a-z0-9A-Z]) with dashes (-), underscores (_),
  242. // dots (.), and alphanumerics between. This field is REQUIRED.
  243. Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
  244. // This field is REQUIRED. Value of this field is opaque to the CO.
  245. VendorVersion string `protobuf:"bytes,2,opt,name=vendor_version,json=vendorVersion" json:"vendor_version,omitempty"`
  246. // This field is OPTIONAL. Values are opaque to the CO.
  247. Manifest map[string]string `protobuf:"bytes,3,rep,name=manifest" json:"manifest,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
  248. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  249. XXX_unrecognized []byte `json:"-"`
  250. XXX_sizecache int32 `json:"-"`
  251. }
  252. func (m *GetPluginInfoResponse) Reset() { *m = GetPluginInfoResponse{} }
  253. func (m *GetPluginInfoResponse) String() string { return proto.CompactTextString(m) }
  254. func (*GetPluginInfoResponse) ProtoMessage() {}
  255. func (*GetPluginInfoResponse) Descriptor() ([]byte, []int) {
  256. return fileDescriptor_csi_31237507707d37ec, []int{1}
  257. }
  258. func (m *GetPluginInfoResponse) XXX_Unmarshal(b []byte) error {
  259. return xxx_messageInfo_GetPluginInfoResponse.Unmarshal(m, b)
  260. }
  261. func (m *GetPluginInfoResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  262. return xxx_messageInfo_GetPluginInfoResponse.Marshal(b, m, deterministic)
  263. }
  264. func (dst *GetPluginInfoResponse) XXX_Merge(src proto.Message) {
  265. xxx_messageInfo_GetPluginInfoResponse.Merge(dst, src)
  266. }
  267. func (m *GetPluginInfoResponse) XXX_Size() int {
  268. return xxx_messageInfo_GetPluginInfoResponse.Size(m)
  269. }
  270. func (m *GetPluginInfoResponse) XXX_DiscardUnknown() {
  271. xxx_messageInfo_GetPluginInfoResponse.DiscardUnknown(m)
  272. }
  273. var xxx_messageInfo_GetPluginInfoResponse proto.InternalMessageInfo
  274. func (m *GetPluginInfoResponse) GetName() string {
  275. if m != nil {
  276. return m.Name
  277. }
  278. return ""
  279. }
  280. func (m *GetPluginInfoResponse) GetVendorVersion() string {
  281. if m != nil {
  282. return m.VendorVersion
  283. }
  284. return ""
  285. }
  286. func (m *GetPluginInfoResponse) GetManifest() map[string]string {
  287. if m != nil {
  288. return m.Manifest
  289. }
  290. return nil
  291. }
  292. type GetPluginCapabilitiesRequest struct {
  293. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  294. XXX_unrecognized []byte `json:"-"`
  295. XXX_sizecache int32 `json:"-"`
  296. }
  297. func (m *GetPluginCapabilitiesRequest) Reset() { *m = GetPluginCapabilitiesRequest{} }
  298. func (m *GetPluginCapabilitiesRequest) String() string { return proto.CompactTextString(m) }
  299. func (*GetPluginCapabilitiesRequest) ProtoMessage() {}
  300. func (*GetPluginCapabilitiesRequest) Descriptor() ([]byte, []int) {
  301. return fileDescriptor_csi_31237507707d37ec, []int{2}
  302. }
  303. func (m *GetPluginCapabilitiesRequest) XXX_Unmarshal(b []byte) error {
  304. return xxx_messageInfo_GetPluginCapabilitiesRequest.Unmarshal(m, b)
  305. }
  306. func (m *GetPluginCapabilitiesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  307. return xxx_messageInfo_GetPluginCapabilitiesRequest.Marshal(b, m, deterministic)
  308. }
  309. func (dst *GetPluginCapabilitiesRequest) XXX_Merge(src proto.Message) {
  310. xxx_messageInfo_GetPluginCapabilitiesRequest.Merge(dst, src)
  311. }
  312. func (m *GetPluginCapabilitiesRequest) XXX_Size() int {
  313. return xxx_messageInfo_GetPluginCapabilitiesRequest.Size(m)
  314. }
  315. func (m *GetPluginCapabilitiesRequest) XXX_DiscardUnknown() {
  316. xxx_messageInfo_GetPluginCapabilitiesRequest.DiscardUnknown(m)
  317. }
  318. var xxx_messageInfo_GetPluginCapabilitiesRequest proto.InternalMessageInfo
  319. type GetPluginCapabilitiesResponse struct {
  320. // All the capabilities that the controller service supports. This
  321. // field is OPTIONAL.
  322. Capabilities []*PluginCapability `protobuf:"bytes,2,rep,name=capabilities" json:"capabilities,omitempty"`
  323. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  324. XXX_unrecognized []byte `json:"-"`
  325. XXX_sizecache int32 `json:"-"`
  326. }
  327. func (m *GetPluginCapabilitiesResponse) Reset() { *m = GetPluginCapabilitiesResponse{} }
  328. func (m *GetPluginCapabilitiesResponse) String() string { return proto.CompactTextString(m) }
  329. func (*GetPluginCapabilitiesResponse) ProtoMessage() {}
  330. func (*GetPluginCapabilitiesResponse) Descriptor() ([]byte, []int) {
  331. return fileDescriptor_csi_31237507707d37ec, []int{3}
  332. }
  333. func (m *GetPluginCapabilitiesResponse) XXX_Unmarshal(b []byte) error {
  334. return xxx_messageInfo_GetPluginCapabilitiesResponse.Unmarshal(m, b)
  335. }
  336. func (m *GetPluginCapabilitiesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  337. return xxx_messageInfo_GetPluginCapabilitiesResponse.Marshal(b, m, deterministic)
  338. }
  339. func (dst *GetPluginCapabilitiesResponse) XXX_Merge(src proto.Message) {
  340. xxx_messageInfo_GetPluginCapabilitiesResponse.Merge(dst, src)
  341. }
  342. func (m *GetPluginCapabilitiesResponse) XXX_Size() int {
  343. return xxx_messageInfo_GetPluginCapabilitiesResponse.Size(m)
  344. }
  345. func (m *GetPluginCapabilitiesResponse) XXX_DiscardUnknown() {
  346. xxx_messageInfo_GetPluginCapabilitiesResponse.DiscardUnknown(m)
  347. }
  348. var xxx_messageInfo_GetPluginCapabilitiesResponse proto.InternalMessageInfo
  349. func (m *GetPluginCapabilitiesResponse) GetCapabilities() []*PluginCapability {
  350. if m != nil {
  351. return m.Capabilities
  352. }
  353. return nil
  354. }
  355. // Specifies a capability of the plugin.
  356. type PluginCapability struct {
  357. // Types that are valid to be assigned to Type:
  358. // *PluginCapability_Service_
  359. Type isPluginCapability_Type `protobuf_oneof:"type"`
  360. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  361. XXX_unrecognized []byte `json:"-"`
  362. XXX_sizecache int32 `json:"-"`
  363. }
  364. func (m *PluginCapability) Reset() { *m = PluginCapability{} }
  365. func (m *PluginCapability) String() string { return proto.CompactTextString(m) }
  366. func (*PluginCapability) ProtoMessage() {}
  367. func (*PluginCapability) Descriptor() ([]byte, []int) {
  368. return fileDescriptor_csi_31237507707d37ec, []int{4}
  369. }
  370. func (m *PluginCapability) XXX_Unmarshal(b []byte) error {
  371. return xxx_messageInfo_PluginCapability.Unmarshal(m, b)
  372. }
  373. func (m *PluginCapability) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  374. return xxx_messageInfo_PluginCapability.Marshal(b, m, deterministic)
  375. }
  376. func (dst *PluginCapability) XXX_Merge(src proto.Message) {
  377. xxx_messageInfo_PluginCapability.Merge(dst, src)
  378. }
  379. func (m *PluginCapability) XXX_Size() int {
  380. return xxx_messageInfo_PluginCapability.Size(m)
  381. }
  382. func (m *PluginCapability) XXX_DiscardUnknown() {
  383. xxx_messageInfo_PluginCapability.DiscardUnknown(m)
  384. }
  385. var xxx_messageInfo_PluginCapability proto.InternalMessageInfo
  386. type isPluginCapability_Type interface {
  387. isPluginCapability_Type()
  388. }
  389. type PluginCapability_Service_ struct {
  390. Service *PluginCapability_Service `protobuf:"bytes,1,opt,name=service,oneof"`
  391. }
  392. func (*PluginCapability_Service_) isPluginCapability_Type() {}
  393. func (m *PluginCapability) GetType() isPluginCapability_Type {
  394. if m != nil {
  395. return m.Type
  396. }
  397. return nil
  398. }
  399. func (m *PluginCapability) GetService() *PluginCapability_Service {
  400. if x, ok := m.GetType().(*PluginCapability_Service_); ok {
  401. return x.Service
  402. }
  403. return nil
  404. }
  405. // XXX_OneofFuncs is for the internal use of the proto package.
  406. func (*PluginCapability) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
  407. return _PluginCapability_OneofMarshaler, _PluginCapability_OneofUnmarshaler, _PluginCapability_OneofSizer, []interface{}{
  408. (*PluginCapability_Service_)(nil),
  409. }
  410. }
  411. func _PluginCapability_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
  412. m := msg.(*PluginCapability)
  413. // type
  414. switch x := m.Type.(type) {
  415. case *PluginCapability_Service_:
  416. b.EncodeVarint(1<<3 | proto.WireBytes)
  417. if err := b.EncodeMessage(x.Service); err != nil {
  418. return err
  419. }
  420. case nil:
  421. default:
  422. return fmt.Errorf("PluginCapability.Type has unexpected type %T", x)
  423. }
  424. return nil
  425. }
  426. func _PluginCapability_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
  427. m := msg.(*PluginCapability)
  428. switch tag {
  429. case 1: // type.service
  430. if wire != proto.WireBytes {
  431. return true, proto.ErrInternalBadWireType
  432. }
  433. msg := new(PluginCapability_Service)
  434. err := b.DecodeMessage(msg)
  435. m.Type = &PluginCapability_Service_{msg}
  436. return true, err
  437. default:
  438. return false, nil
  439. }
  440. }
  441. func _PluginCapability_OneofSizer(msg proto.Message) (n int) {
  442. m := msg.(*PluginCapability)
  443. // type
  444. switch x := m.Type.(type) {
  445. case *PluginCapability_Service_:
  446. s := proto.Size(x.Service)
  447. n += 1 // tag and wire
  448. n += proto.SizeVarint(uint64(s))
  449. n += s
  450. case nil:
  451. default:
  452. panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
  453. }
  454. return n
  455. }
  456. type PluginCapability_Service struct {
  457. Type PluginCapability_Service_Type `protobuf:"varint,1,opt,name=type,enum=csi.v0.PluginCapability_Service_Type" json:"type,omitempty"`
  458. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  459. XXX_unrecognized []byte `json:"-"`
  460. XXX_sizecache int32 `json:"-"`
  461. }
  462. func (m *PluginCapability_Service) Reset() { *m = PluginCapability_Service{} }
  463. func (m *PluginCapability_Service) String() string { return proto.CompactTextString(m) }
  464. func (*PluginCapability_Service) ProtoMessage() {}
  465. func (*PluginCapability_Service) Descriptor() ([]byte, []int) {
  466. return fileDescriptor_csi_31237507707d37ec, []int{4, 0}
  467. }
  468. func (m *PluginCapability_Service) XXX_Unmarshal(b []byte) error {
  469. return xxx_messageInfo_PluginCapability_Service.Unmarshal(m, b)
  470. }
  471. func (m *PluginCapability_Service) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  472. return xxx_messageInfo_PluginCapability_Service.Marshal(b, m, deterministic)
  473. }
  474. func (dst *PluginCapability_Service) XXX_Merge(src proto.Message) {
  475. xxx_messageInfo_PluginCapability_Service.Merge(dst, src)
  476. }
  477. func (m *PluginCapability_Service) XXX_Size() int {
  478. return xxx_messageInfo_PluginCapability_Service.Size(m)
  479. }
  480. func (m *PluginCapability_Service) XXX_DiscardUnknown() {
  481. xxx_messageInfo_PluginCapability_Service.DiscardUnknown(m)
  482. }
  483. var xxx_messageInfo_PluginCapability_Service proto.InternalMessageInfo
  484. func (m *PluginCapability_Service) GetType() PluginCapability_Service_Type {
  485. if m != nil {
  486. return m.Type
  487. }
  488. return PluginCapability_Service_UNKNOWN
  489. }
  490. type ProbeRequest struct {
  491. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  492. XXX_unrecognized []byte `json:"-"`
  493. XXX_sizecache int32 `json:"-"`
  494. }
  495. func (m *ProbeRequest) Reset() { *m = ProbeRequest{} }
  496. func (m *ProbeRequest) String() string { return proto.CompactTextString(m) }
  497. func (*ProbeRequest) ProtoMessage() {}
  498. func (*ProbeRequest) Descriptor() ([]byte, []int) {
  499. return fileDescriptor_csi_31237507707d37ec, []int{5}
  500. }
  501. func (m *ProbeRequest) XXX_Unmarshal(b []byte) error {
  502. return xxx_messageInfo_ProbeRequest.Unmarshal(m, b)
  503. }
  504. func (m *ProbeRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  505. return xxx_messageInfo_ProbeRequest.Marshal(b, m, deterministic)
  506. }
  507. func (dst *ProbeRequest) XXX_Merge(src proto.Message) {
  508. xxx_messageInfo_ProbeRequest.Merge(dst, src)
  509. }
  510. func (m *ProbeRequest) XXX_Size() int {
  511. return xxx_messageInfo_ProbeRequest.Size(m)
  512. }
  513. func (m *ProbeRequest) XXX_DiscardUnknown() {
  514. xxx_messageInfo_ProbeRequest.DiscardUnknown(m)
  515. }
  516. var xxx_messageInfo_ProbeRequest proto.InternalMessageInfo
  517. type ProbeResponse struct {
  518. // Readiness allows a plugin to report its initialization status back
  519. // to the CO. Initialization for some plugins MAY be time consuming
  520. // and it is important for a CO to distinguish between the following
  521. // cases:
  522. //
  523. // 1) The plugin is in an unhealthy state and MAY need restarting. In
  524. // this case a gRPC error code SHALL be returned.
  525. // 2) The plugin is still initializing, but is otherwise perfectly
  526. // healthy. In this case a successful response SHALL be returned
  527. // with a readiness value of `false`. Calls to the plugin's
  528. // Controller and/or Node services MAY fail due to an incomplete
  529. // initialization state.
  530. // 3) The plugin has finished initializing and is ready to service
  531. // calls to its Controller and/or Node services. A successful
  532. // response is returned with a readiness value of `true`.
  533. //
  534. // This field is OPTIONAL. If not present, the caller SHALL assume
  535. // that the plugin is in a ready state and is accepting calls to its
  536. // Controller and/or Node services (according to the plugin's reported
  537. // capabilities).
  538. Ready *wrappers.BoolValue `protobuf:"bytes,1,opt,name=ready" json:"ready,omitempty"`
  539. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  540. XXX_unrecognized []byte `json:"-"`
  541. XXX_sizecache int32 `json:"-"`
  542. }
  543. func (m *ProbeResponse) Reset() { *m = ProbeResponse{} }
  544. func (m *ProbeResponse) String() string { return proto.CompactTextString(m) }
  545. func (*ProbeResponse) ProtoMessage() {}
  546. func (*ProbeResponse) Descriptor() ([]byte, []int) {
  547. return fileDescriptor_csi_31237507707d37ec, []int{6}
  548. }
  549. func (m *ProbeResponse) XXX_Unmarshal(b []byte) error {
  550. return xxx_messageInfo_ProbeResponse.Unmarshal(m, b)
  551. }
  552. func (m *ProbeResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  553. return xxx_messageInfo_ProbeResponse.Marshal(b, m, deterministic)
  554. }
  555. func (dst *ProbeResponse) XXX_Merge(src proto.Message) {
  556. xxx_messageInfo_ProbeResponse.Merge(dst, src)
  557. }
  558. func (m *ProbeResponse) XXX_Size() int {
  559. return xxx_messageInfo_ProbeResponse.Size(m)
  560. }
  561. func (m *ProbeResponse) XXX_DiscardUnknown() {
  562. xxx_messageInfo_ProbeResponse.DiscardUnknown(m)
  563. }
  564. var xxx_messageInfo_ProbeResponse proto.InternalMessageInfo
  565. func (m *ProbeResponse) GetReady() *wrappers.BoolValue {
  566. if m != nil {
  567. return m.Ready
  568. }
  569. return nil
  570. }
  571. type CreateVolumeRequest struct {
  572. // The suggested name for the storage space. This field is REQUIRED.
  573. // It serves two purposes:
  574. // 1) Idempotency - This name is generated by the CO to achieve
  575. // idempotency. If `CreateVolume` fails, the volume may or may not
  576. // be provisioned. In this case, the CO may call `CreateVolume`
  577. // again, with the same name, to ensure the volume exists. The
  578. // Plugin should ensure that multiple `CreateVolume` calls for the
  579. // same name do not result in more than one piece of storage
  580. // provisioned corresponding to that name. If a Plugin is unable to
  581. // enforce idempotency, the CO's error recovery logic could result
  582. // in multiple (unused) volumes being provisioned.
  583. // 2) Suggested name - Some storage systems allow callers to specify
  584. // an identifier by which to refer to the newly provisioned
  585. // storage. If a storage system supports this, it can optionally
  586. // use this name as the identifier for the new volume.
  587. Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
  588. CapacityRange *CapacityRange `protobuf:"bytes,2,opt,name=capacity_range,json=capacityRange" json:"capacity_range,omitempty"`
  589. // The capabilities that the provisioned volume MUST have: the Plugin
  590. // MUST provision a volume that could satisfy ALL of the
  591. // capabilities specified in this list. The Plugin MUST assume that
  592. // the CO MAY use the provisioned volume later with ANY of the
  593. // capabilities specified in this list. This also enables the CO to do
  594. // early validation: if ANY of the specified volume capabilities are
  595. // not supported by the Plugin, the call SHALL fail. This field is
  596. // REQUIRED.
  597. VolumeCapabilities []*VolumeCapability `protobuf:"bytes,3,rep,name=volume_capabilities,json=volumeCapabilities" json:"volume_capabilities,omitempty"`
  598. // Plugin specific parameters passed in as opaque key-value pairs.
  599. // This field is OPTIONAL. The Plugin is responsible for parsing and
  600. // validating these parameters. COs will treat these as opaque.
  601. Parameters map[string]string `protobuf:"bytes,4,rep,name=parameters" json:"parameters,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
  602. // Secrets required by plugin to complete volume creation request.
  603. // This field is OPTIONAL. Refer to the `Secrets Requirements`
  604. // section on how to use this field.
  605. ControllerCreateSecrets map[string]string `protobuf:"bytes,5,rep,name=controller_create_secrets,json=controllerCreateSecrets" json:"controller_create_secrets,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
  606. // If specified, the new volume will be pre-populated with data from
  607. // this source. This field is OPTIONAL.
  608. VolumeContentSource *VolumeContentSource `protobuf:"bytes,6,opt,name=volume_content_source,json=volumeContentSource" json:"volume_content_source,omitempty"`
  609. // Specifies where (regions, zones, racks, etc.) the provisioned
  610. // volume MUST be accessible from.
  611. // An SP SHALL advertise the requirements for topological
  612. // accessibility information in documentation. COs SHALL only specify
  613. // topological accessibility information supported by the SP.
  614. // This field is OPTIONAL.
  615. // This field SHALL NOT be specified unless the SP has the
  616. // ACCESSIBILITY_CONSTRAINTS plugin capability.
  617. // If this field is not specified and the SP has the
  618. // ACCESSIBILITY_CONSTRAINTS plugin capability, the SP MAY choose
  619. // where the provisioned volume is accessible from.
  620. AccessibilityRequirements *TopologyRequirement `protobuf:"bytes,7,opt,name=accessibility_requirements,json=accessibilityRequirements" json:"accessibility_requirements,omitempty"`
  621. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  622. XXX_unrecognized []byte `json:"-"`
  623. XXX_sizecache int32 `json:"-"`
  624. }
  625. func (m *CreateVolumeRequest) Reset() { *m = CreateVolumeRequest{} }
  626. func (m *CreateVolumeRequest) String() string { return proto.CompactTextString(m) }
  627. func (*CreateVolumeRequest) ProtoMessage() {}
  628. func (*CreateVolumeRequest) Descriptor() ([]byte, []int) {
  629. return fileDescriptor_csi_31237507707d37ec, []int{7}
  630. }
  631. func (m *CreateVolumeRequest) XXX_Unmarshal(b []byte) error {
  632. return xxx_messageInfo_CreateVolumeRequest.Unmarshal(m, b)
  633. }
  634. func (m *CreateVolumeRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  635. return xxx_messageInfo_CreateVolumeRequest.Marshal(b, m, deterministic)
  636. }
  637. func (dst *CreateVolumeRequest) XXX_Merge(src proto.Message) {
  638. xxx_messageInfo_CreateVolumeRequest.Merge(dst, src)
  639. }
  640. func (m *CreateVolumeRequest) XXX_Size() int {
  641. return xxx_messageInfo_CreateVolumeRequest.Size(m)
  642. }
  643. func (m *CreateVolumeRequest) XXX_DiscardUnknown() {
  644. xxx_messageInfo_CreateVolumeRequest.DiscardUnknown(m)
  645. }
  646. var xxx_messageInfo_CreateVolumeRequest proto.InternalMessageInfo
  647. func (m *CreateVolumeRequest) GetName() string {
  648. if m != nil {
  649. return m.Name
  650. }
  651. return ""
  652. }
  653. func (m *CreateVolumeRequest) GetCapacityRange() *CapacityRange {
  654. if m != nil {
  655. return m.CapacityRange
  656. }
  657. return nil
  658. }
  659. func (m *CreateVolumeRequest) GetVolumeCapabilities() []*VolumeCapability {
  660. if m != nil {
  661. return m.VolumeCapabilities
  662. }
  663. return nil
  664. }
  665. func (m *CreateVolumeRequest) GetParameters() map[string]string {
  666. if m != nil {
  667. return m.Parameters
  668. }
  669. return nil
  670. }
  671. func (m *CreateVolumeRequest) GetControllerCreateSecrets() map[string]string {
  672. if m != nil {
  673. return m.ControllerCreateSecrets
  674. }
  675. return nil
  676. }
  677. func (m *CreateVolumeRequest) GetVolumeContentSource() *VolumeContentSource {
  678. if m != nil {
  679. return m.VolumeContentSource
  680. }
  681. return nil
  682. }
  683. func (m *CreateVolumeRequest) GetAccessibilityRequirements() *TopologyRequirement {
  684. if m != nil {
  685. return m.AccessibilityRequirements
  686. }
  687. return nil
  688. }
  689. // Specifies what source the volume will be created from. One of the
  690. // type fields MUST be specified.
  691. type VolumeContentSource struct {
  692. // Types that are valid to be assigned to Type:
  693. // *VolumeContentSource_Snapshot
  694. Type isVolumeContentSource_Type `protobuf_oneof:"type"`
  695. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  696. XXX_unrecognized []byte `json:"-"`
  697. XXX_sizecache int32 `json:"-"`
  698. }
  699. func (m *VolumeContentSource) Reset() { *m = VolumeContentSource{} }
  700. func (m *VolumeContentSource) String() string { return proto.CompactTextString(m) }
  701. func (*VolumeContentSource) ProtoMessage() {}
  702. func (*VolumeContentSource) Descriptor() ([]byte, []int) {
  703. return fileDescriptor_csi_31237507707d37ec, []int{8}
  704. }
  705. func (m *VolumeContentSource) XXX_Unmarshal(b []byte) error {
  706. return xxx_messageInfo_VolumeContentSource.Unmarshal(m, b)
  707. }
  708. func (m *VolumeContentSource) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  709. return xxx_messageInfo_VolumeContentSource.Marshal(b, m, deterministic)
  710. }
  711. func (dst *VolumeContentSource) XXX_Merge(src proto.Message) {
  712. xxx_messageInfo_VolumeContentSource.Merge(dst, src)
  713. }
  714. func (m *VolumeContentSource) XXX_Size() int {
  715. return xxx_messageInfo_VolumeContentSource.Size(m)
  716. }
  717. func (m *VolumeContentSource) XXX_DiscardUnknown() {
  718. xxx_messageInfo_VolumeContentSource.DiscardUnknown(m)
  719. }
  720. var xxx_messageInfo_VolumeContentSource proto.InternalMessageInfo
  721. type isVolumeContentSource_Type interface {
  722. isVolumeContentSource_Type()
  723. }
  724. type VolumeContentSource_Snapshot struct {
  725. Snapshot *VolumeContentSource_SnapshotSource `protobuf:"bytes,1,opt,name=snapshot,oneof"`
  726. }
  727. func (*VolumeContentSource_Snapshot) isVolumeContentSource_Type() {}
  728. func (m *VolumeContentSource) GetType() isVolumeContentSource_Type {
  729. if m != nil {
  730. return m.Type
  731. }
  732. return nil
  733. }
  734. func (m *VolumeContentSource) GetSnapshot() *VolumeContentSource_SnapshotSource {
  735. if x, ok := m.GetType().(*VolumeContentSource_Snapshot); ok {
  736. return x.Snapshot
  737. }
  738. return nil
  739. }
  740. // XXX_OneofFuncs is for the internal use of the proto package.
  741. func (*VolumeContentSource) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
  742. return _VolumeContentSource_OneofMarshaler, _VolumeContentSource_OneofUnmarshaler, _VolumeContentSource_OneofSizer, []interface{}{
  743. (*VolumeContentSource_Snapshot)(nil),
  744. }
  745. }
  746. func _VolumeContentSource_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
  747. m := msg.(*VolumeContentSource)
  748. // type
  749. switch x := m.Type.(type) {
  750. case *VolumeContentSource_Snapshot:
  751. b.EncodeVarint(1<<3 | proto.WireBytes)
  752. if err := b.EncodeMessage(x.Snapshot); err != nil {
  753. return err
  754. }
  755. case nil:
  756. default:
  757. return fmt.Errorf("VolumeContentSource.Type has unexpected type %T", x)
  758. }
  759. return nil
  760. }
  761. func _VolumeContentSource_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
  762. m := msg.(*VolumeContentSource)
  763. switch tag {
  764. case 1: // type.snapshot
  765. if wire != proto.WireBytes {
  766. return true, proto.ErrInternalBadWireType
  767. }
  768. msg := new(VolumeContentSource_SnapshotSource)
  769. err := b.DecodeMessage(msg)
  770. m.Type = &VolumeContentSource_Snapshot{msg}
  771. return true, err
  772. default:
  773. return false, nil
  774. }
  775. }
  776. func _VolumeContentSource_OneofSizer(msg proto.Message) (n int) {
  777. m := msg.(*VolumeContentSource)
  778. // type
  779. switch x := m.Type.(type) {
  780. case *VolumeContentSource_Snapshot:
  781. s := proto.Size(x.Snapshot)
  782. n += 1 // tag and wire
  783. n += proto.SizeVarint(uint64(s))
  784. n += s
  785. case nil:
  786. default:
  787. panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
  788. }
  789. return n
  790. }
  791. type VolumeContentSource_SnapshotSource struct {
  792. // Contains identity information for the existing source snapshot.
  793. // This field is REQUIRED. Plugin is REQUIRED to support creating
  794. // volume from snapshot if it supports the capability
  795. // CREATE_DELETE_SNAPSHOT.
  796. Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
  797. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  798. XXX_unrecognized []byte `json:"-"`
  799. XXX_sizecache int32 `json:"-"`
  800. }
  801. func (m *VolumeContentSource_SnapshotSource) Reset() { *m = VolumeContentSource_SnapshotSource{} }
  802. func (m *VolumeContentSource_SnapshotSource) String() string { return proto.CompactTextString(m) }
  803. func (*VolumeContentSource_SnapshotSource) ProtoMessage() {}
  804. func (*VolumeContentSource_SnapshotSource) Descriptor() ([]byte, []int) {
  805. return fileDescriptor_csi_31237507707d37ec, []int{8, 0}
  806. }
  807. func (m *VolumeContentSource_SnapshotSource) XXX_Unmarshal(b []byte) error {
  808. return xxx_messageInfo_VolumeContentSource_SnapshotSource.Unmarshal(m, b)
  809. }
  810. func (m *VolumeContentSource_SnapshotSource) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  811. return xxx_messageInfo_VolumeContentSource_SnapshotSource.Marshal(b, m, deterministic)
  812. }
  813. func (dst *VolumeContentSource_SnapshotSource) XXX_Merge(src proto.Message) {
  814. xxx_messageInfo_VolumeContentSource_SnapshotSource.Merge(dst, src)
  815. }
  816. func (m *VolumeContentSource_SnapshotSource) XXX_Size() int {
  817. return xxx_messageInfo_VolumeContentSource_SnapshotSource.Size(m)
  818. }
  819. func (m *VolumeContentSource_SnapshotSource) XXX_DiscardUnknown() {
  820. xxx_messageInfo_VolumeContentSource_SnapshotSource.DiscardUnknown(m)
  821. }
  822. var xxx_messageInfo_VolumeContentSource_SnapshotSource proto.InternalMessageInfo
  823. func (m *VolumeContentSource_SnapshotSource) GetId() string {
  824. if m != nil {
  825. return m.Id
  826. }
  827. return ""
  828. }
  829. type CreateVolumeResponse struct {
  830. // Contains all attributes of the newly created volume that are
  831. // relevant to the CO along with information required by the Plugin
  832. // to uniquely identify the volume. This field is REQUIRED.
  833. Volume *Volume `protobuf:"bytes,1,opt,name=volume" json:"volume,omitempty"`
  834. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  835. XXX_unrecognized []byte `json:"-"`
  836. XXX_sizecache int32 `json:"-"`
  837. }
  838. func (m *CreateVolumeResponse) Reset() { *m = CreateVolumeResponse{} }
  839. func (m *CreateVolumeResponse) String() string { return proto.CompactTextString(m) }
  840. func (*CreateVolumeResponse) ProtoMessage() {}
  841. func (*CreateVolumeResponse) Descriptor() ([]byte, []int) {
  842. return fileDescriptor_csi_31237507707d37ec, []int{9}
  843. }
  844. func (m *CreateVolumeResponse) XXX_Unmarshal(b []byte) error {
  845. return xxx_messageInfo_CreateVolumeResponse.Unmarshal(m, b)
  846. }
  847. func (m *CreateVolumeResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  848. return xxx_messageInfo_CreateVolumeResponse.Marshal(b, m, deterministic)
  849. }
  850. func (dst *CreateVolumeResponse) XXX_Merge(src proto.Message) {
  851. xxx_messageInfo_CreateVolumeResponse.Merge(dst, src)
  852. }
  853. func (m *CreateVolumeResponse) XXX_Size() int {
  854. return xxx_messageInfo_CreateVolumeResponse.Size(m)
  855. }
  856. func (m *CreateVolumeResponse) XXX_DiscardUnknown() {
  857. xxx_messageInfo_CreateVolumeResponse.DiscardUnknown(m)
  858. }
  859. var xxx_messageInfo_CreateVolumeResponse proto.InternalMessageInfo
  860. func (m *CreateVolumeResponse) GetVolume() *Volume {
  861. if m != nil {
  862. return m.Volume
  863. }
  864. return nil
  865. }
  866. // Specify a capability of a volume.
  867. type VolumeCapability struct {
  868. // Specifies what API the volume will be accessed using. One of the
  869. // following fields MUST be specified.
  870. //
  871. // Types that are valid to be assigned to AccessType:
  872. // *VolumeCapability_Block
  873. // *VolumeCapability_Mount
  874. AccessType isVolumeCapability_AccessType `protobuf_oneof:"access_type"`
  875. // This is a REQUIRED field.
  876. AccessMode *VolumeCapability_AccessMode `protobuf:"bytes,3,opt,name=access_mode,json=accessMode" json:"access_mode,omitempty"`
  877. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  878. XXX_unrecognized []byte `json:"-"`
  879. XXX_sizecache int32 `json:"-"`
  880. }
  881. func (m *VolumeCapability) Reset() { *m = VolumeCapability{} }
  882. func (m *VolumeCapability) String() string { return proto.CompactTextString(m) }
  883. func (*VolumeCapability) ProtoMessage() {}
  884. func (*VolumeCapability) Descriptor() ([]byte, []int) {
  885. return fileDescriptor_csi_31237507707d37ec, []int{10}
  886. }
  887. func (m *VolumeCapability) XXX_Unmarshal(b []byte) error {
  888. return xxx_messageInfo_VolumeCapability.Unmarshal(m, b)
  889. }
  890. func (m *VolumeCapability) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  891. return xxx_messageInfo_VolumeCapability.Marshal(b, m, deterministic)
  892. }
  893. func (dst *VolumeCapability) XXX_Merge(src proto.Message) {
  894. xxx_messageInfo_VolumeCapability.Merge(dst, src)
  895. }
  896. func (m *VolumeCapability) XXX_Size() int {
  897. return xxx_messageInfo_VolumeCapability.Size(m)
  898. }
  899. func (m *VolumeCapability) XXX_DiscardUnknown() {
  900. xxx_messageInfo_VolumeCapability.DiscardUnknown(m)
  901. }
  902. var xxx_messageInfo_VolumeCapability proto.InternalMessageInfo
  903. type isVolumeCapability_AccessType interface {
  904. isVolumeCapability_AccessType()
  905. }
  906. type VolumeCapability_Block struct {
  907. Block *VolumeCapability_BlockVolume `protobuf:"bytes,1,opt,name=block,oneof"`
  908. }
  909. type VolumeCapability_Mount struct {
  910. Mount *VolumeCapability_MountVolume `protobuf:"bytes,2,opt,name=mount,oneof"`
  911. }
  912. func (*VolumeCapability_Block) isVolumeCapability_AccessType() {}
  913. func (*VolumeCapability_Mount) isVolumeCapability_AccessType() {}
  914. func (m *VolumeCapability) GetAccessType() isVolumeCapability_AccessType {
  915. if m != nil {
  916. return m.AccessType
  917. }
  918. return nil
  919. }
  920. func (m *VolumeCapability) GetBlock() *VolumeCapability_BlockVolume {
  921. if x, ok := m.GetAccessType().(*VolumeCapability_Block); ok {
  922. return x.Block
  923. }
  924. return nil
  925. }
  926. func (m *VolumeCapability) GetMount() *VolumeCapability_MountVolume {
  927. if x, ok := m.GetAccessType().(*VolumeCapability_Mount); ok {
  928. return x.Mount
  929. }
  930. return nil
  931. }
  932. func (m *VolumeCapability) GetAccessMode() *VolumeCapability_AccessMode {
  933. if m != nil {
  934. return m.AccessMode
  935. }
  936. return nil
  937. }
  938. // XXX_OneofFuncs is for the internal use of the proto package.
  939. func (*VolumeCapability) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
  940. return _VolumeCapability_OneofMarshaler, _VolumeCapability_OneofUnmarshaler, _VolumeCapability_OneofSizer, []interface{}{
  941. (*VolumeCapability_Block)(nil),
  942. (*VolumeCapability_Mount)(nil),
  943. }
  944. }
  945. func _VolumeCapability_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
  946. m := msg.(*VolumeCapability)
  947. // access_type
  948. switch x := m.AccessType.(type) {
  949. case *VolumeCapability_Block:
  950. b.EncodeVarint(1<<3 | proto.WireBytes)
  951. if err := b.EncodeMessage(x.Block); err != nil {
  952. return err
  953. }
  954. case *VolumeCapability_Mount:
  955. b.EncodeVarint(2<<3 | proto.WireBytes)
  956. if err := b.EncodeMessage(x.Mount); err != nil {
  957. return err
  958. }
  959. case nil:
  960. default:
  961. return fmt.Errorf("VolumeCapability.AccessType has unexpected type %T", x)
  962. }
  963. return nil
  964. }
  965. func _VolumeCapability_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
  966. m := msg.(*VolumeCapability)
  967. switch tag {
  968. case 1: // access_type.block
  969. if wire != proto.WireBytes {
  970. return true, proto.ErrInternalBadWireType
  971. }
  972. msg := new(VolumeCapability_BlockVolume)
  973. err := b.DecodeMessage(msg)
  974. m.AccessType = &VolumeCapability_Block{msg}
  975. return true, err
  976. case 2: // access_type.mount
  977. if wire != proto.WireBytes {
  978. return true, proto.ErrInternalBadWireType
  979. }
  980. msg := new(VolumeCapability_MountVolume)
  981. err := b.DecodeMessage(msg)
  982. m.AccessType = &VolumeCapability_Mount{msg}
  983. return true, err
  984. default:
  985. return false, nil
  986. }
  987. }
  988. func _VolumeCapability_OneofSizer(msg proto.Message) (n int) {
  989. m := msg.(*VolumeCapability)
  990. // access_type
  991. switch x := m.AccessType.(type) {
  992. case *VolumeCapability_Block:
  993. s := proto.Size(x.Block)
  994. n += 1 // tag and wire
  995. n += proto.SizeVarint(uint64(s))
  996. n += s
  997. case *VolumeCapability_Mount:
  998. s := proto.Size(x.Mount)
  999. n += 1 // tag and wire
  1000. n += proto.SizeVarint(uint64(s))
  1001. n += s
  1002. case nil:
  1003. default:
  1004. panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
  1005. }
  1006. return n
  1007. }
  1008. // Indicate that the volume will be accessed via the block device API.
  1009. type VolumeCapability_BlockVolume struct {
  1010. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1011. XXX_unrecognized []byte `json:"-"`
  1012. XXX_sizecache int32 `json:"-"`
  1013. }
  1014. func (m *VolumeCapability_BlockVolume) Reset() { *m = VolumeCapability_BlockVolume{} }
  1015. func (m *VolumeCapability_BlockVolume) String() string { return proto.CompactTextString(m) }
  1016. func (*VolumeCapability_BlockVolume) ProtoMessage() {}
  1017. func (*VolumeCapability_BlockVolume) Descriptor() ([]byte, []int) {
  1018. return fileDescriptor_csi_31237507707d37ec, []int{10, 0}
  1019. }
  1020. func (m *VolumeCapability_BlockVolume) XXX_Unmarshal(b []byte) error {
  1021. return xxx_messageInfo_VolumeCapability_BlockVolume.Unmarshal(m, b)
  1022. }
  1023. func (m *VolumeCapability_BlockVolume) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1024. return xxx_messageInfo_VolumeCapability_BlockVolume.Marshal(b, m, deterministic)
  1025. }
  1026. func (dst *VolumeCapability_BlockVolume) XXX_Merge(src proto.Message) {
  1027. xxx_messageInfo_VolumeCapability_BlockVolume.Merge(dst, src)
  1028. }
  1029. func (m *VolumeCapability_BlockVolume) XXX_Size() int {
  1030. return xxx_messageInfo_VolumeCapability_BlockVolume.Size(m)
  1031. }
  1032. func (m *VolumeCapability_BlockVolume) XXX_DiscardUnknown() {
  1033. xxx_messageInfo_VolumeCapability_BlockVolume.DiscardUnknown(m)
  1034. }
  1035. var xxx_messageInfo_VolumeCapability_BlockVolume proto.InternalMessageInfo
  1036. // Indicate that the volume will be accessed via the filesystem API.
  1037. type VolumeCapability_MountVolume struct {
  1038. // The filesystem type. This field is OPTIONAL.
  1039. // An empty string is equal to an unspecified field value.
  1040. FsType string `protobuf:"bytes,1,opt,name=fs_type,json=fsType" json:"fs_type,omitempty"`
  1041. // The mount options that can be used for the volume. This field is
  1042. // OPTIONAL. `mount_flags` MAY contain sensitive information.
  1043. // Therefore, the CO and the Plugin MUST NOT leak this information
  1044. // to untrusted entities. The total size of this repeated field
  1045. // SHALL NOT exceed 4 KiB.
  1046. MountFlags []string `protobuf:"bytes,2,rep,name=mount_flags,json=mountFlags" json:"mount_flags,omitempty"`
  1047. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1048. XXX_unrecognized []byte `json:"-"`
  1049. XXX_sizecache int32 `json:"-"`
  1050. }
  1051. func (m *VolumeCapability_MountVolume) Reset() { *m = VolumeCapability_MountVolume{} }
  1052. func (m *VolumeCapability_MountVolume) String() string { return proto.CompactTextString(m) }
  1053. func (*VolumeCapability_MountVolume) ProtoMessage() {}
  1054. func (*VolumeCapability_MountVolume) Descriptor() ([]byte, []int) {
  1055. return fileDescriptor_csi_31237507707d37ec, []int{10, 1}
  1056. }
  1057. func (m *VolumeCapability_MountVolume) XXX_Unmarshal(b []byte) error {
  1058. return xxx_messageInfo_VolumeCapability_MountVolume.Unmarshal(m, b)
  1059. }
  1060. func (m *VolumeCapability_MountVolume) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1061. return xxx_messageInfo_VolumeCapability_MountVolume.Marshal(b, m, deterministic)
  1062. }
  1063. func (dst *VolumeCapability_MountVolume) XXX_Merge(src proto.Message) {
  1064. xxx_messageInfo_VolumeCapability_MountVolume.Merge(dst, src)
  1065. }
  1066. func (m *VolumeCapability_MountVolume) XXX_Size() int {
  1067. return xxx_messageInfo_VolumeCapability_MountVolume.Size(m)
  1068. }
  1069. func (m *VolumeCapability_MountVolume) XXX_DiscardUnknown() {
  1070. xxx_messageInfo_VolumeCapability_MountVolume.DiscardUnknown(m)
  1071. }
  1072. var xxx_messageInfo_VolumeCapability_MountVolume proto.InternalMessageInfo
  1073. func (m *VolumeCapability_MountVolume) GetFsType() string {
  1074. if m != nil {
  1075. return m.FsType
  1076. }
  1077. return ""
  1078. }
  1079. func (m *VolumeCapability_MountVolume) GetMountFlags() []string {
  1080. if m != nil {
  1081. return m.MountFlags
  1082. }
  1083. return nil
  1084. }
  1085. // Specify how a volume can be accessed.
  1086. type VolumeCapability_AccessMode struct {
  1087. // This field is REQUIRED.
  1088. Mode VolumeCapability_AccessMode_Mode `protobuf:"varint,1,opt,name=mode,enum=csi.v0.VolumeCapability_AccessMode_Mode" json:"mode,omitempty"`
  1089. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1090. XXX_unrecognized []byte `json:"-"`
  1091. XXX_sizecache int32 `json:"-"`
  1092. }
  1093. func (m *VolumeCapability_AccessMode) Reset() { *m = VolumeCapability_AccessMode{} }
  1094. func (m *VolumeCapability_AccessMode) String() string { return proto.CompactTextString(m) }
  1095. func (*VolumeCapability_AccessMode) ProtoMessage() {}
  1096. func (*VolumeCapability_AccessMode) Descriptor() ([]byte, []int) {
  1097. return fileDescriptor_csi_31237507707d37ec, []int{10, 2}
  1098. }
  1099. func (m *VolumeCapability_AccessMode) XXX_Unmarshal(b []byte) error {
  1100. return xxx_messageInfo_VolumeCapability_AccessMode.Unmarshal(m, b)
  1101. }
  1102. func (m *VolumeCapability_AccessMode) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1103. return xxx_messageInfo_VolumeCapability_AccessMode.Marshal(b, m, deterministic)
  1104. }
  1105. func (dst *VolumeCapability_AccessMode) XXX_Merge(src proto.Message) {
  1106. xxx_messageInfo_VolumeCapability_AccessMode.Merge(dst, src)
  1107. }
  1108. func (m *VolumeCapability_AccessMode) XXX_Size() int {
  1109. return xxx_messageInfo_VolumeCapability_AccessMode.Size(m)
  1110. }
  1111. func (m *VolumeCapability_AccessMode) XXX_DiscardUnknown() {
  1112. xxx_messageInfo_VolumeCapability_AccessMode.DiscardUnknown(m)
  1113. }
  1114. var xxx_messageInfo_VolumeCapability_AccessMode proto.InternalMessageInfo
  1115. func (m *VolumeCapability_AccessMode) GetMode() VolumeCapability_AccessMode_Mode {
  1116. if m != nil {
  1117. return m.Mode
  1118. }
  1119. return VolumeCapability_AccessMode_UNKNOWN
  1120. }
  1121. // The capacity of the storage space in bytes. To specify an exact size,
  1122. // `required_bytes` and `limit_bytes` SHALL be set to the same value. At
  1123. // least one of the these fields MUST be specified.
  1124. type CapacityRange struct {
  1125. // Volume MUST be at least this big. This field is OPTIONAL.
  1126. // A value of 0 is equal to an unspecified field value.
  1127. // The value of this field MUST NOT be negative.
  1128. RequiredBytes int64 `protobuf:"varint,1,opt,name=required_bytes,json=requiredBytes" json:"required_bytes,omitempty"`
  1129. // Volume MUST not be bigger than this. This field is OPTIONAL.
  1130. // A value of 0 is equal to an unspecified field value.
  1131. // The value of this field MUST NOT be negative.
  1132. LimitBytes int64 `protobuf:"varint,2,opt,name=limit_bytes,json=limitBytes" json:"limit_bytes,omitempty"`
  1133. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1134. XXX_unrecognized []byte `json:"-"`
  1135. XXX_sizecache int32 `json:"-"`
  1136. }
  1137. func (m *CapacityRange) Reset() { *m = CapacityRange{} }
  1138. func (m *CapacityRange) String() string { return proto.CompactTextString(m) }
  1139. func (*CapacityRange) ProtoMessage() {}
  1140. func (*CapacityRange) Descriptor() ([]byte, []int) {
  1141. return fileDescriptor_csi_31237507707d37ec, []int{11}
  1142. }
  1143. func (m *CapacityRange) XXX_Unmarshal(b []byte) error {
  1144. return xxx_messageInfo_CapacityRange.Unmarshal(m, b)
  1145. }
  1146. func (m *CapacityRange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1147. return xxx_messageInfo_CapacityRange.Marshal(b, m, deterministic)
  1148. }
  1149. func (dst *CapacityRange) XXX_Merge(src proto.Message) {
  1150. xxx_messageInfo_CapacityRange.Merge(dst, src)
  1151. }
  1152. func (m *CapacityRange) XXX_Size() int {
  1153. return xxx_messageInfo_CapacityRange.Size(m)
  1154. }
  1155. func (m *CapacityRange) XXX_DiscardUnknown() {
  1156. xxx_messageInfo_CapacityRange.DiscardUnknown(m)
  1157. }
  1158. var xxx_messageInfo_CapacityRange proto.InternalMessageInfo
  1159. func (m *CapacityRange) GetRequiredBytes() int64 {
  1160. if m != nil {
  1161. return m.RequiredBytes
  1162. }
  1163. return 0
  1164. }
  1165. func (m *CapacityRange) GetLimitBytes() int64 {
  1166. if m != nil {
  1167. return m.LimitBytes
  1168. }
  1169. return 0
  1170. }
  1171. // The information about a provisioned volume.
  1172. type Volume struct {
  1173. // The capacity of the volume in bytes. This field is OPTIONAL. If not
  1174. // set (value of 0), it indicates that the capacity of the volume is
  1175. // unknown (e.g., NFS share).
  1176. // The value of this field MUST NOT be negative.
  1177. CapacityBytes int64 `protobuf:"varint,1,opt,name=capacity_bytes,json=capacityBytes" json:"capacity_bytes,omitempty"`
  1178. // Contains identity information for the created volume. This field is
  1179. // REQUIRED. The identity information will be used by the CO in
  1180. // subsequent calls to refer to the provisioned volume.
  1181. Id string `protobuf:"bytes,2,opt,name=id" json:"id,omitempty"`
  1182. // Attributes reflect static properties of a volume and MUST be passed
  1183. // to volume validation and publishing calls.
  1184. // Attributes SHALL be opaque to a CO. Attributes SHALL NOT be mutable
  1185. // and SHALL be safe for the CO to cache. Attributes SHOULD NOT
  1186. // contain sensitive information. Attributes MAY NOT uniquely identify
  1187. // a volume. A volume uniquely identified by `id` SHALL always report
  1188. // the same attributes. This field is OPTIONAL and when present MUST
  1189. // be passed to volume validation and publishing calls.
  1190. Attributes map[string]string `protobuf:"bytes,3,rep,name=attributes" json:"attributes,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
  1191. // If specified, indicates that the volume is not empty and is
  1192. // pre-populated with data from the specified source.
  1193. // This field is OPTIONAL.
  1194. ContentSource *VolumeContentSource `protobuf:"bytes,4,opt,name=content_source,json=contentSource" json:"content_source,omitempty"`
  1195. // Specifies where (regions, zones, racks, etc.) the provisioned
  1196. // volume is accessible from.
  1197. // A plugin that returns this field MUST also set the
  1198. // ACCESSIBILITY_CONSTRAINTS plugin capability.
  1199. // An SP MAY specify multiple topologies to indicate the volume is
  1200. // accessible from multiple locations.
  1201. // COs MAY use this information along with the topology information
  1202. // returned by NodeGetInfo to ensure that a given volume is accessible
  1203. // from a given node when scheduling workloads.
  1204. // This field is OPTIONAL. If it is not specified, the CO MAY assume
  1205. // the volume is equally accessible from all nodes in the cluster and
  1206. // may schedule workloads referencing the volume on any available
  1207. // node.
  1208. //
  1209. // Example 1:
  1210. // accessible_topology = {"region": "R1", "zone": "Z2"}
  1211. // Indicates a volume accessible only from the "region" "R1" and the
  1212. // "zone" "Z2".
  1213. //
  1214. // Example 2:
  1215. // accessible_topology =
  1216. // {"region": "R1", "zone": "Z2"},
  1217. // {"region": "R1", "zone": "Z3"}
  1218. // Indicates a volume accessible from both "zone" "Z2" and "zone" "Z3"
  1219. // in the "region" "R1".
  1220. AccessibleTopology []*Topology `protobuf:"bytes,5,rep,name=accessible_topology,json=accessibleTopology" json:"accessible_topology,omitempty"`
  1221. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1222. XXX_unrecognized []byte `json:"-"`
  1223. XXX_sizecache int32 `json:"-"`
  1224. }
  1225. func (m *Volume) Reset() { *m = Volume{} }
  1226. func (m *Volume) String() string { return proto.CompactTextString(m) }
  1227. func (*Volume) ProtoMessage() {}
  1228. func (*Volume) Descriptor() ([]byte, []int) {
  1229. return fileDescriptor_csi_31237507707d37ec, []int{12}
  1230. }
  1231. func (m *Volume) XXX_Unmarshal(b []byte) error {
  1232. return xxx_messageInfo_Volume.Unmarshal(m, b)
  1233. }
  1234. func (m *Volume) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1235. return xxx_messageInfo_Volume.Marshal(b, m, deterministic)
  1236. }
  1237. func (dst *Volume) XXX_Merge(src proto.Message) {
  1238. xxx_messageInfo_Volume.Merge(dst, src)
  1239. }
  1240. func (m *Volume) XXX_Size() int {
  1241. return xxx_messageInfo_Volume.Size(m)
  1242. }
  1243. func (m *Volume) XXX_DiscardUnknown() {
  1244. xxx_messageInfo_Volume.DiscardUnknown(m)
  1245. }
  1246. var xxx_messageInfo_Volume proto.InternalMessageInfo
  1247. func (m *Volume) GetCapacityBytes() int64 {
  1248. if m != nil {
  1249. return m.CapacityBytes
  1250. }
  1251. return 0
  1252. }
  1253. func (m *Volume) GetId() string {
  1254. if m != nil {
  1255. return m.Id
  1256. }
  1257. return ""
  1258. }
  1259. func (m *Volume) GetAttributes() map[string]string {
  1260. if m != nil {
  1261. return m.Attributes
  1262. }
  1263. return nil
  1264. }
  1265. func (m *Volume) GetContentSource() *VolumeContentSource {
  1266. if m != nil {
  1267. return m.ContentSource
  1268. }
  1269. return nil
  1270. }
  1271. func (m *Volume) GetAccessibleTopology() []*Topology {
  1272. if m != nil {
  1273. return m.AccessibleTopology
  1274. }
  1275. return nil
  1276. }
  1277. type TopologyRequirement struct {
  1278. // Specifies the list of topologies the provisioned volume MUST be
  1279. // accessible from.
  1280. // This field is OPTIONAL. If TopologyRequirement is specified either
  1281. // requisite or preferred or both MUST be specified.
  1282. //
  1283. // If requisite is specified, the provisioned volume MUST be
  1284. // accessible from at least one of the requisite topologies.
  1285. //
  1286. // Given
  1287. // x = number of topologies provisioned volume is accessible from
  1288. // n = number of requisite topologies
  1289. // The CO MUST ensure n >= 1. The SP MUST ensure x >= 1
  1290. // If x==n, than the SP MUST make the provisioned volume available to
  1291. // all topologies from the list of requisite topologies. If it is
  1292. // unable to do so, the SP MUST fail the CreateVolume call.
  1293. // For example, if a volume should be accessible from a single zone,
  1294. // and requisite =
  1295. // {"region": "R1", "zone": "Z2"}
  1296. // then the provisioned volume MUST be accessible from the "region"
  1297. // "R1" and the "zone" "Z2".
  1298. // Similarly, if a volume should be accessible from two zones, and
  1299. // requisite =
  1300. // {"region": "R1", "zone": "Z2"},
  1301. // {"region": "R1", "zone": "Z3"}
  1302. // then the provisioned volume MUST be accessible from the "region"
  1303. // "R1" and both "zone" "Z2" and "zone" "Z3".
  1304. //
  1305. // If x<n, than the SP SHALL choose x unique topologies from the list
  1306. // of requisite topologies. If it is unable to do so, the SP MUST fail
  1307. // the CreateVolume call.
  1308. // For example, if a volume should be accessible from a single zone,
  1309. // and requisite =
  1310. // {"region": "R1", "zone": "Z2"},
  1311. // {"region": "R1", "zone": "Z3"}
  1312. // then the SP may choose to make the provisioned volume available in
  1313. // either the "zone" "Z2" or the "zone" "Z3" in the "region" "R1".
  1314. // Similarly, if a volume should be accessible from two zones, and
  1315. // requisite =
  1316. // {"region": "R1", "zone": "Z2"},
  1317. // {"region": "R1", "zone": "Z3"},
  1318. // {"region": "R1", "zone": "Z4"}
  1319. // then the provisioned volume MUST be accessible from any combination
  1320. // of two unique topologies: e.g. "R1/Z2" and "R1/Z3", or "R1/Z2" and
  1321. // "R1/Z4", or "R1/Z3" and "R1/Z4".
  1322. //
  1323. // If x>n, than the SP MUST make the provisioned volume available from
  1324. // all topologies from the list of requisite topologies and MAY choose
  1325. // the remaining x-n unique topologies from the list of all possible
  1326. // topologies. If it is unable to do so, the SP MUST fail the
  1327. // CreateVolume call.
  1328. // For example, if a volume should be accessible from two zones, and
  1329. // requisite =
  1330. // {"region": "R1", "zone": "Z2"}
  1331. // then the provisioned volume MUST be accessible from the "region"
  1332. // "R1" and the "zone" "Z2" and the SP may select the second zone
  1333. // independently, e.g. "R1/Z4".
  1334. Requisite []*Topology `protobuf:"bytes,1,rep,name=requisite" json:"requisite,omitempty"`
  1335. // Specifies the list of topologies the CO would prefer the volume to
  1336. // be provisioned in.
  1337. //
  1338. // This field is OPTIONAL. If TopologyRequirement is specified either
  1339. // requisite or preferred or both MUST be specified.
  1340. //
  1341. // An SP MUST attempt to make the provisioned volume available using
  1342. // the preferred topologies in order from first to last.
  1343. //
  1344. // If requisite is specified, all topologies in preferred list MUST
  1345. // also be present in the list of requisite topologies.
  1346. //
  1347. // If the SP is unable to to make the provisioned volume available
  1348. // from any of the preferred topologies, the SP MAY choose a topology
  1349. // from the list of requisite topologies.
  1350. // If the list of requisite topologies is not specified, then the SP
  1351. // MAY choose from the list of all possible topologies.
  1352. // If the list of requisite topologies is specified and the SP is
  1353. // unable to to make the provisioned volume available from any of the
  1354. // requisite topologies it MUST fail the CreateVolume call.
  1355. //
  1356. // Example 1:
  1357. // Given a volume should be accessible from a single zone, and
  1358. // requisite =
  1359. // {"region": "R1", "zone": "Z2"},
  1360. // {"region": "R1", "zone": "Z3"}
  1361. // preferred =
  1362. // {"region": "R1", "zone": "Z3"}
  1363. // then the the SP SHOULD first attempt to make the provisioned volume
  1364. // available from "zone" "Z3" in the "region" "R1" and fall back to
  1365. // "zone" "Z2" in the "region" "R1" if that is not possible.
  1366. //
  1367. // Example 2:
  1368. // Given a volume should be accessible from a single zone, and
  1369. // requisite =
  1370. // {"region": "R1", "zone": "Z2"},
  1371. // {"region": "R1", "zone": "Z3"},
  1372. // {"region": "R1", "zone": "Z4"},
  1373. // {"region": "R1", "zone": "Z5"}
  1374. // preferred =
  1375. // {"region": "R1", "zone": "Z4"},
  1376. // {"region": "R1", "zone": "Z2"}
  1377. // then the the SP SHOULD first attempt to make the provisioned volume
  1378. // accessible from "zone" "Z4" in the "region" "R1" and fall back to
  1379. // "zone" "Z2" in the "region" "R1" if that is not possible. If that
  1380. // is not possible, the SP may choose between either the "zone"
  1381. // "Z3" or "Z5" in the "region" "R1".
  1382. //
  1383. // Example 3:
  1384. // Given a volume should be accessible from TWO zones (because an
  1385. // opaque parameter in CreateVolumeRequest, for example, specifies
  1386. // the volume is accessible from two zones, aka synchronously
  1387. // replicated), and
  1388. // requisite =
  1389. // {"region": "R1", "zone": "Z2"},
  1390. // {"region": "R1", "zone": "Z3"},
  1391. // {"region": "R1", "zone": "Z4"},
  1392. // {"region": "R1", "zone": "Z5"}
  1393. // preferred =
  1394. // {"region": "R1", "zone": "Z5"},
  1395. // {"region": "R1", "zone": "Z3"}
  1396. // then the the SP SHOULD first attempt to make the provisioned volume
  1397. // accessible from the combination of the two "zones" "Z5" and "Z3" in
  1398. // the "region" "R1". If that's not possible, it should fall back to
  1399. // a combination of "Z5" and other possibilities from the list of
  1400. // requisite. If that's not possible, it should fall back to a
  1401. // combination of "Z3" and other possibilities from the list of
  1402. // requisite. If that's not possible, it should fall back to a
  1403. // combination of other possibilities from the list of requisite.
  1404. Preferred []*Topology `protobuf:"bytes,2,rep,name=preferred" json:"preferred,omitempty"`
  1405. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1406. XXX_unrecognized []byte `json:"-"`
  1407. XXX_sizecache int32 `json:"-"`
  1408. }
  1409. func (m *TopologyRequirement) Reset() { *m = TopologyRequirement{} }
  1410. func (m *TopologyRequirement) String() string { return proto.CompactTextString(m) }
  1411. func (*TopologyRequirement) ProtoMessage() {}
  1412. func (*TopologyRequirement) Descriptor() ([]byte, []int) {
  1413. return fileDescriptor_csi_31237507707d37ec, []int{13}
  1414. }
  1415. func (m *TopologyRequirement) XXX_Unmarshal(b []byte) error {
  1416. return xxx_messageInfo_TopologyRequirement.Unmarshal(m, b)
  1417. }
  1418. func (m *TopologyRequirement) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1419. return xxx_messageInfo_TopologyRequirement.Marshal(b, m, deterministic)
  1420. }
  1421. func (dst *TopologyRequirement) XXX_Merge(src proto.Message) {
  1422. xxx_messageInfo_TopologyRequirement.Merge(dst, src)
  1423. }
  1424. func (m *TopologyRequirement) XXX_Size() int {
  1425. return xxx_messageInfo_TopologyRequirement.Size(m)
  1426. }
  1427. func (m *TopologyRequirement) XXX_DiscardUnknown() {
  1428. xxx_messageInfo_TopologyRequirement.DiscardUnknown(m)
  1429. }
  1430. var xxx_messageInfo_TopologyRequirement proto.InternalMessageInfo
  1431. func (m *TopologyRequirement) GetRequisite() []*Topology {
  1432. if m != nil {
  1433. return m.Requisite
  1434. }
  1435. return nil
  1436. }
  1437. func (m *TopologyRequirement) GetPreferred() []*Topology {
  1438. if m != nil {
  1439. return m.Preferred
  1440. }
  1441. return nil
  1442. }
  1443. // Topology is a map of topological domains to topological segments.
  1444. // A topological domain is a sub-division of a cluster, like "region",
  1445. // "zone", "rack", etc.
  1446. // A topological segment is a specific instance of a topological domain,
  1447. // like "zone3", "rack3", etc.
  1448. // For example {"com.company/zone": "Z1", "com.company/rack": "R3"}
  1449. // Valid keys have two segments: an optional prefix and name, separated
  1450. // by a slash (/), for example: "com.company.example/zone".
  1451. // The key name segment is required. The prefix is optional.
  1452. // Both the key name and the prefix MUST each be 63 characters or less,
  1453. // begin and end with an alphanumeric character ([a-z0-9A-Z]) and
  1454. // contain only dashes (-), underscores (_), dots (.), or alphanumerics
  1455. // in between, for example "zone".
  1456. // The key prefix MUST follow reverse domain name notation format
  1457. // (https://en.wikipedia.org/wiki/Reverse_domain_name_notation).
  1458. // The key prefix SHOULD include the plugin's host company name and/or
  1459. // the plugin name, to minimize the possibility of collisions with keys
  1460. // from other plugins.
  1461. // If a key prefix is specified, it MUST be identical across all
  1462. // topology keys returned by the SP (across all RPCs).
  1463. // Keys MUST be case-insensitive. Meaning the keys "Zone" and "zone"
  1464. // MUST not both exist.
  1465. // Each value (topological segment) MUST contain 1 or more strings.
  1466. // Each string MUST be 63 characters or less and begin and end with an
  1467. // alphanumeric character with '-', '_', '.', or alphanumerics in
  1468. // between.
  1469. type Topology struct {
  1470. Segments map[string]string `protobuf:"bytes,1,rep,name=segments" json:"segments,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
  1471. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1472. XXX_unrecognized []byte `json:"-"`
  1473. XXX_sizecache int32 `json:"-"`
  1474. }
  1475. func (m *Topology) Reset() { *m = Topology{} }
  1476. func (m *Topology) String() string { return proto.CompactTextString(m) }
  1477. func (*Topology) ProtoMessage() {}
  1478. func (*Topology) Descriptor() ([]byte, []int) {
  1479. return fileDescriptor_csi_31237507707d37ec, []int{14}
  1480. }
  1481. func (m *Topology) XXX_Unmarshal(b []byte) error {
  1482. return xxx_messageInfo_Topology.Unmarshal(m, b)
  1483. }
  1484. func (m *Topology) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1485. return xxx_messageInfo_Topology.Marshal(b, m, deterministic)
  1486. }
  1487. func (dst *Topology) XXX_Merge(src proto.Message) {
  1488. xxx_messageInfo_Topology.Merge(dst, src)
  1489. }
  1490. func (m *Topology) XXX_Size() int {
  1491. return xxx_messageInfo_Topology.Size(m)
  1492. }
  1493. func (m *Topology) XXX_DiscardUnknown() {
  1494. xxx_messageInfo_Topology.DiscardUnknown(m)
  1495. }
  1496. var xxx_messageInfo_Topology proto.InternalMessageInfo
  1497. func (m *Topology) GetSegments() map[string]string {
  1498. if m != nil {
  1499. return m.Segments
  1500. }
  1501. return nil
  1502. }
  1503. type DeleteVolumeRequest struct {
  1504. // The ID of the volume to be deprovisioned.
  1505. // This field is REQUIRED.
  1506. VolumeId string `protobuf:"bytes,1,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
  1507. // Secrets required by plugin to complete volume deletion request.
  1508. // This field is OPTIONAL. Refer to the `Secrets Requirements`
  1509. // section on how to use this field.
  1510. ControllerDeleteSecrets map[string]string `protobuf:"bytes,2,rep,name=controller_delete_secrets,json=controllerDeleteSecrets" json:"controller_delete_secrets,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
  1511. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1512. XXX_unrecognized []byte `json:"-"`
  1513. XXX_sizecache int32 `json:"-"`
  1514. }
  1515. func (m *DeleteVolumeRequest) Reset() { *m = DeleteVolumeRequest{} }
  1516. func (m *DeleteVolumeRequest) String() string { return proto.CompactTextString(m) }
  1517. func (*DeleteVolumeRequest) ProtoMessage() {}
  1518. func (*DeleteVolumeRequest) Descriptor() ([]byte, []int) {
  1519. return fileDescriptor_csi_31237507707d37ec, []int{15}
  1520. }
  1521. func (m *DeleteVolumeRequest) XXX_Unmarshal(b []byte) error {
  1522. return xxx_messageInfo_DeleteVolumeRequest.Unmarshal(m, b)
  1523. }
  1524. func (m *DeleteVolumeRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1525. return xxx_messageInfo_DeleteVolumeRequest.Marshal(b, m, deterministic)
  1526. }
  1527. func (dst *DeleteVolumeRequest) XXX_Merge(src proto.Message) {
  1528. xxx_messageInfo_DeleteVolumeRequest.Merge(dst, src)
  1529. }
  1530. func (m *DeleteVolumeRequest) XXX_Size() int {
  1531. return xxx_messageInfo_DeleteVolumeRequest.Size(m)
  1532. }
  1533. func (m *DeleteVolumeRequest) XXX_DiscardUnknown() {
  1534. xxx_messageInfo_DeleteVolumeRequest.DiscardUnknown(m)
  1535. }
  1536. var xxx_messageInfo_DeleteVolumeRequest proto.InternalMessageInfo
  1537. func (m *DeleteVolumeRequest) GetVolumeId() string {
  1538. if m != nil {
  1539. return m.VolumeId
  1540. }
  1541. return ""
  1542. }
  1543. func (m *DeleteVolumeRequest) GetControllerDeleteSecrets() map[string]string {
  1544. if m != nil {
  1545. return m.ControllerDeleteSecrets
  1546. }
  1547. return nil
  1548. }
  1549. type DeleteVolumeResponse struct {
  1550. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1551. XXX_unrecognized []byte `json:"-"`
  1552. XXX_sizecache int32 `json:"-"`
  1553. }
  1554. func (m *DeleteVolumeResponse) Reset() { *m = DeleteVolumeResponse{} }
  1555. func (m *DeleteVolumeResponse) String() string { return proto.CompactTextString(m) }
  1556. func (*DeleteVolumeResponse) ProtoMessage() {}
  1557. func (*DeleteVolumeResponse) Descriptor() ([]byte, []int) {
  1558. return fileDescriptor_csi_31237507707d37ec, []int{16}
  1559. }
  1560. func (m *DeleteVolumeResponse) XXX_Unmarshal(b []byte) error {
  1561. return xxx_messageInfo_DeleteVolumeResponse.Unmarshal(m, b)
  1562. }
  1563. func (m *DeleteVolumeResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1564. return xxx_messageInfo_DeleteVolumeResponse.Marshal(b, m, deterministic)
  1565. }
  1566. func (dst *DeleteVolumeResponse) XXX_Merge(src proto.Message) {
  1567. xxx_messageInfo_DeleteVolumeResponse.Merge(dst, src)
  1568. }
  1569. func (m *DeleteVolumeResponse) XXX_Size() int {
  1570. return xxx_messageInfo_DeleteVolumeResponse.Size(m)
  1571. }
  1572. func (m *DeleteVolumeResponse) XXX_DiscardUnknown() {
  1573. xxx_messageInfo_DeleteVolumeResponse.DiscardUnknown(m)
  1574. }
  1575. var xxx_messageInfo_DeleteVolumeResponse proto.InternalMessageInfo
  1576. type ControllerPublishVolumeRequest struct {
  1577. // The ID of the volume to be used on a node.
  1578. // This field is REQUIRED.
  1579. VolumeId string `protobuf:"bytes,1,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
  1580. // The ID of the node. This field is REQUIRED. The CO SHALL set this
  1581. // field to match the node ID returned by `NodeGetInfo`.
  1582. NodeId string `protobuf:"bytes,2,opt,name=node_id,json=nodeId" json:"node_id,omitempty"`
  1583. // The capability of the volume the CO expects the volume to have.
  1584. // This is a REQUIRED field.
  1585. VolumeCapability *VolumeCapability `protobuf:"bytes,3,opt,name=volume_capability,json=volumeCapability" json:"volume_capability,omitempty"`
  1586. // Whether to publish the volume in readonly mode. This field is
  1587. // REQUIRED.
  1588. Readonly bool `protobuf:"varint,4,opt,name=readonly" json:"readonly,omitempty"`
  1589. // Secrets required by plugin to complete controller publish volume
  1590. // request. This field is OPTIONAL. Refer to the
  1591. // `Secrets Requirements` section on how to use this field.
  1592. ControllerPublishSecrets map[string]string `protobuf:"bytes,5,rep,name=controller_publish_secrets,json=controllerPublishSecrets" json:"controller_publish_secrets,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
  1593. // Attributes of the volume to be used on a node. This field is
  1594. // OPTIONAL and MUST match the attributes of the Volume identified
  1595. // by `volume_id`.
  1596. VolumeAttributes map[string]string `protobuf:"bytes,6,rep,name=volume_attributes,json=volumeAttributes" json:"volume_attributes,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
  1597. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1598. XXX_unrecognized []byte `json:"-"`
  1599. XXX_sizecache int32 `json:"-"`
  1600. }
  1601. func (m *ControllerPublishVolumeRequest) Reset() { *m = ControllerPublishVolumeRequest{} }
  1602. func (m *ControllerPublishVolumeRequest) String() string { return proto.CompactTextString(m) }
  1603. func (*ControllerPublishVolumeRequest) ProtoMessage() {}
  1604. func (*ControllerPublishVolumeRequest) Descriptor() ([]byte, []int) {
  1605. return fileDescriptor_csi_31237507707d37ec, []int{17}
  1606. }
  1607. func (m *ControllerPublishVolumeRequest) XXX_Unmarshal(b []byte) error {
  1608. return xxx_messageInfo_ControllerPublishVolumeRequest.Unmarshal(m, b)
  1609. }
  1610. func (m *ControllerPublishVolumeRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1611. return xxx_messageInfo_ControllerPublishVolumeRequest.Marshal(b, m, deterministic)
  1612. }
  1613. func (dst *ControllerPublishVolumeRequest) XXX_Merge(src proto.Message) {
  1614. xxx_messageInfo_ControllerPublishVolumeRequest.Merge(dst, src)
  1615. }
  1616. func (m *ControllerPublishVolumeRequest) XXX_Size() int {
  1617. return xxx_messageInfo_ControllerPublishVolumeRequest.Size(m)
  1618. }
  1619. func (m *ControllerPublishVolumeRequest) XXX_DiscardUnknown() {
  1620. xxx_messageInfo_ControllerPublishVolumeRequest.DiscardUnknown(m)
  1621. }
  1622. var xxx_messageInfo_ControllerPublishVolumeRequest proto.InternalMessageInfo
  1623. func (m *ControllerPublishVolumeRequest) GetVolumeId() string {
  1624. if m != nil {
  1625. return m.VolumeId
  1626. }
  1627. return ""
  1628. }
  1629. func (m *ControllerPublishVolumeRequest) GetNodeId() string {
  1630. if m != nil {
  1631. return m.NodeId
  1632. }
  1633. return ""
  1634. }
  1635. func (m *ControllerPublishVolumeRequest) GetVolumeCapability() *VolumeCapability {
  1636. if m != nil {
  1637. return m.VolumeCapability
  1638. }
  1639. return nil
  1640. }
  1641. func (m *ControllerPublishVolumeRequest) GetReadonly() bool {
  1642. if m != nil {
  1643. return m.Readonly
  1644. }
  1645. return false
  1646. }
  1647. func (m *ControllerPublishVolumeRequest) GetControllerPublishSecrets() map[string]string {
  1648. if m != nil {
  1649. return m.ControllerPublishSecrets
  1650. }
  1651. return nil
  1652. }
  1653. func (m *ControllerPublishVolumeRequest) GetVolumeAttributes() map[string]string {
  1654. if m != nil {
  1655. return m.VolumeAttributes
  1656. }
  1657. return nil
  1658. }
  1659. type ControllerPublishVolumeResponse struct {
  1660. // The SP specific information that will be passed to the Plugin in
  1661. // the subsequent `NodeStageVolume` or `NodePublishVolume` calls
  1662. // for the given volume.
  1663. // This information is opaque to the CO. This field is OPTIONAL.
  1664. PublishInfo map[string]string `protobuf:"bytes,1,rep,name=publish_info,json=publishInfo" json:"publish_info,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
  1665. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1666. XXX_unrecognized []byte `json:"-"`
  1667. XXX_sizecache int32 `json:"-"`
  1668. }
  1669. func (m *ControllerPublishVolumeResponse) Reset() { *m = ControllerPublishVolumeResponse{} }
  1670. func (m *ControllerPublishVolumeResponse) String() string { return proto.CompactTextString(m) }
  1671. func (*ControllerPublishVolumeResponse) ProtoMessage() {}
  1672. func (*ControllerPublishVolumeResponse) Descriptor() ([]byte, []int) {
  1673. return fileDescriptor_csi_31237507707d37ec, []int{18}
  1674. }
  1675. func (m *ControllerPublishVolumeResponse) XXX_Unmarshal(b []byte) error {
  1676. return xxx_messageInfo_ControllerPublishVolumeResponse.Unmarshal(m, b)
  1677. }
  1678. func (m *ControllerPublishVolumeResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1679. return xxx_messageInfo_ControllerPublishVolumeResponse.Marshal(b, m, deterministic)
  1680. }
  1681. func (dst *ControllerPublishVolumeResponse) XXX_Merge(src proto.Message) {
  1682. xxx_messageInfo_ControllerPublishVolumeResponse.Merge(dst, src)
  1683. }
  1684. func (m *ControllerPublishVolumeResponse) XXX_Size() int {
  1685. return xxx_messageInfo_ControllerPublishVolumeResponse.Size(m)
  1686. }
  1687. func (m *ControllerPublishVolumeResponse) XXX_DiscardUnknown() {
  1688. xxx_messageInfo_ControllerPublishVolumeResponse.DiscardUnknown(m)
  1689. }
  1690. var xxx_messageInfo_ControllerPublishVolumeResponse proto.InternalMessageInfo
  1691. func (m *ControllerPublishVolumeResponse) GetPublishInfo() map[string]string {
  1692. if m != nil {
  1693. return m.PublishInfo
  1694. }
  1695. return nil
  1696. }
  1697. type ControllerUnpublishVolumeRequest struct {
  1698. // The ID of the volume. This field is REQUIRED.
  1699. VolumeId string `protobuf:"bytes,1,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
  1700. // The ID of the node. This field is OPTIONAL. The CO SHOULD set this
  1701. // field to match the node ID returned by `NodeGetInfo` or leave it
  1702. // unset. If the value is set, the SP MUST unpublish the volume from
  1703. // the specified node. If the value is unset, the SP MUST unpublish
  1704. // the volume from all nodes it is published to.
  1705. NodeId string `protobuf:"bytes,2,opt,name=node_id,json=nodeId" json:"node_id,omitempty"`
  1706. // Secrets required by plugin to complete controller unpublish volume
  1707. // request. This SHOULD be the same secrets passed to the
  1708. // ControllerPublishVolume call for the specified volume.
  1709. // This field is OPTIONAL. Refer to the `Secrets Requirements`
  1710. // section on how to use this field.
  1711. ControllerUnpublishSecrets map[string]string `protobuf:"bytes,3,rep,name=controller_unpublish_secrets,json=controllerUnpublishSecrets" json:"controller_unpublish_secrets,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
  1712. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1713. XXX_unrecognized []byte `json:"-"`
  1714. XXX_sizecache int32 `json:"-"`
  1715. }
  1716. func (m *ControllerUnpublishVolumeRequest) Reset() { *m = ControllerUnpublishVolumeRequest{} }
  1717. func (m *ControllerUnpublishVolumeRequest) String() string { return proto.CompactTextString(m) }
  1718. func (*ControllerUnpublishVolumeRequest) ProtoMessage() {}
  1719. func (*ControllerUnpublishVolumeRequest) Descriptor() ([]byte, []int) {
  1720. return fileDescriptor_csi_31237507707d37ec, []int{19}
  1721. }
  1722. func (m *ControllerUnpublishVolumeRequest) XXX_Unmarshal(b []byte) error {
  1723. return xxx_messageInfo_ControllerUnpublishVolumeRequest.Unmarshal(m, b)
  1724. }
  1725. func (m *ControllerUnpublishVolumeRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1726. return xxx_messageInfo_ControllerUnpublishVolumeRequest.Marshal(b, m, deterministic)
  1727. }
  1728. func (dst *ControllerUnpublishVolumeRequest) XXX_Merge(src proto.Message) {
  1729. xxx_messageInfo_ControllerUnpublishVolumeRequest.Merge(dst, src)
  1730. }
  1731. func (m *ControllerUnpublishVolumeRequest) XXX_Size() int {
  1732. return xxx_messageInfo_ControllerUnpublishVolumeRequest.Size(m)
  1733. }
  1734. func (m *ControllerUnpublishVolumeRequest) XXX_DiscardUnknown() {
  1735. xxx_messageInfo_ControllerUnpublishVolumeRequest.DiscardUnknown(m)
  1736. }
  1737. var xxx_messageInfo_ControllerUnpublishVolumeRequest proto.InternalMessageInfo
  1738. func (m *ControllerUnpublishVolumeRequest) GetVolumeId() string {
  1739. if m != nil {
  1740. return m.VolumeId
  1741. }
  1742. return ""
  1743. }
  1744. func (m *ControllerUnpublishVolumeRequest) GetNodeId() string {
  1745. if m != nil {
  1746. return m.NodeId
  1747. }
  1748. return ""
  1749. }
  1750. func (m *ControllerUnpublishVolumeRequest) GetControllerUnpublishSecrets() map[string]string {
  1751. if m != nil {
  1752. return m.ControllerUnpublishSecrets
  1753. }
  1754. return nil
  1755. }
  1756. type ControllerUnpublishVolumeResponse struct {
  1757. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1758. XXX_unrecognized []byte `json:"-"`
  1759. XXX_sizecache int32 `json:"-"`
  1760. }
  1761. func (m *ControllerUnpublishVolumeResponse) Reset() { *m = ControllerUnpublishVolumeResponse{} }
  1762. func (m *ControllerUnpublishVolumeResponse) String() string { return proto.CompactTextString(m) }
  1763. func (*ControllerUnpublishVolumeResponse) ProtoMessage() {}
  1764. func (*ControllerUnpublishVolumeResponse) Descriptor() ([]byte, []int) {
  1765. return fileDescriptor_csi_31237507707d37ec, []int{20}
  1766. }
  1767. func (m *ControllerUnpublishVolumeResponse) XXX_Unmarshal(b []byte) error {
  1768. return xxx_messageInfo_ControllerUnpublishVolumeResponse.Unmarshal(m, b)
  1769. }
  1770. func (m *ControllerUnpublishVolumeResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1771. return xxx_messageInfo_ControllerUnpublishVolumeResponse.Marshal(b, m, deterministic)
  1772. }
  1773. func (dst *ControllerUnpublishVolumeResponse) XXX_Merge(src proto.Message) {
  1774. xxx_messageInfo_ControllerUnpublishVolumeResponse.Merge(dst, src)
  1775. }
  1776. func (m *ControllerUnpublishVolumeResponse) XXX_Size() int {
  1777. return xxx_messageInfo_ControllerUnpublishVolumeResponse.Size(m)
  1778. }
  1779. func (m *ControllerUnpublishVolumeResponse) XXX_DiscardUnknown() {
  1780. xxx_messageInfo_ControllerUnpublishVolumeResponse.DiscardUnknown(m)
  1781. }
  1782. var xxx_messageInfo_ControllerUnpublishVolumeResponse proto.InternalMessageInfo
  1783. type ValidateVolumeCapabilitiesRequest struct {
  1784. // The ID of the volume to check. This field is REQUIRED.
  1785. VolumeId string `protobuf:"bytes,1,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
  1786. // The capabilities that the CO wants to check for the volume. This
  1787. // call SHALL return "supported" only if all the volume capabilities
  1788. // specified below are supported. This field is REQUIRED.
  1789. VolumeCapabilities []*VolumeCapability `protobuf:"bytes,2,rep,name=volume_capabilities,json=volumeCapabilities" json:"volume_capabilities,omitempty"`
  1790. // Attributes of the volume to check. This field is OPTIONAL and MUST
  1791. // match the attributes of the Volume identified by `volume_id`.
  1792. VolumeAttributes map[string]string `protobuf:"bytes,3,rep,name=volume_attributes,json=volumeAttributes" json:"volume_attributes,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
  1793. // Specifies where (regions, zones, racks, etc.) the caller believes
  1794. // the volume is accessible from.
  1795. // A caller MAY specify multiple topologies to indicate they believe
  1796. // the volume to be accessible from multiple locations.
  1797. // This field is OPTIONAL. This field SHALL NOT be set unless the
  1798. // plugin advertises the ACCESSIBILITY_CONSTRAINTS capability.
  1799. AccessibleTopology []*Topology `protobuf:"bytes,4,rep,name=accessible_topology,json=accessibleTopology" json:"accessible_topology,omitempty"`
  1800. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1801. XXX_unrecognized []byte `json:"-"`
  1802. XXX_sizecache int32 `json:"-"`
  1803. }
  1804. func (m *ValidateVolumeCapabilitiesRequest) Reset() { *m = ValidateVolumeCapabilitiesRequest{} }
  1805. func (m *ValidateVolumeCapabilitiesRequest) String() string { return proto.CompactTextString(m) }
  1806. func (*ValidateVolumeCapabilitiesRequest) ProtoMessage() {}
  1807. func (*ValidateVolumeCapabilitiesRequest) Descriptor() ([]byte, []int) {
  1808. return fileDescriptor_csi_31237507707d37ec, []int{21}
  1809. }
  1810. func (m *ValidateVolumeCapabilitiesRequest) XXX_Unmarshal(b []byte) error {
  1811. return xxx_messageInfo_ValidateVolumeCapabilitiesRequest.Unmarshal(m, b)
  1812. }
  1813. func (m *ValidateVolumeCapabilitiesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1814. return xxx_messageInfo_ValidateVolumeCapabilitiesRequest.Marshal(b, m, deterministic)
  1815. }
  1816. func (dst *ValidateVolumeCapabilitiesRequest) XXX_Merge(src proto.Message) {
  1817. xxx_messageInfo_ValidateVolumeCapabilitiesRequest.Merge(dst, src)
  1818. }
  1819. func (m *ValidateVolumeCapabilitiesRequest) XXX_Size() int {
  1820. return xxx_messageInfo_ValidateVolumeCapabilitiesRequest.Size(m)
  1821. }
  1822. func (m *ValidateVolumeCapabilitiesRequest) XXX_DiscardUnknown() {
  1823. xxx_messageInfo_ValidateVolumeCapabilitiesRequest.DiscardUnknown(m)
  1824. }
  1825. var xxx_messageInfo_ValidateVolumeCapabilitiesRequest proto.InternalMessageInfo
  1826. func (m *ValidateVolumeCapabilitiesRequest) GetVolumeId() string {
  1827. if m != nil {
  1828. return m.VolumeId
  1829. }
  1830. return ""
  1831. }
  1832. func (m *ValidateVolumeCapabilitiesRequest) GetVolumeCapabilities() []*VolumeCapability {
  1833. if m != nil {
  1834. return m.VolumeCapabilities
  1835. }
  1836. return nil
  1837. }
  1838. func (m *ValidateVolumeCapabilitiesRequest) GetVolumeAttributes() map[string]string {
  1839. if m != nil {
  1840. return m.VolumeAttributes
  1841. }
  1842. return nil
  1843. }
  1844. func (m *ValidateVolumeCapabilitiesRequest) GetAccessibleTopology() []*Topology {
  1845. if m != nil {
  1846. return m.AccessibleTopology
  1847. }
  1848. return nil
  1849. }
  1850. type ValidateVolumeCapabilitiesResponse struct {
  1851. // True if the Plugin supports the specified capabilities for the
  1852. // given volume. This field is REQUIRED.
  1853. Supported bool `protobuf:"varint,1,opt,name=supported" json:"supported,omitempty"`
  1854. // Message to the CO if `supported` above is false. This field is
  1855. // OPTIONAL.
  1856. // An empty string is equal to an unspecified field value.
  1857. Message string `protobuf:"bytes,2,opt,name=message" json:"message,omitempty"`
  1858. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1859. XXX_unrecognized []byte `json:"-"`
  1860. XXX_sizecache int32 `json:"-"`
  1861. }
  1862. func (m *ValidateVolumeCapabilitiesResponse) Reset() { *m = ValidateVolumeCapabilitiesResponse{} }
  1863. func (m *ValidateVolumeCapabilitiesResponse) String() string { return proto.CompactTextString(m) }
  1864. func (*ValidateVolumeCapabilitiesResponse) ProtoMessage() {}
  1865. func (*ValidateVolumeCapabilitiesResponse) Descriptor() ([]byte, []int) {
  1866. return fileDescriptor_csi_31237507707d37ec, []int{22}
  1867. }
  1868. func (m *ValidateVolumeCapabilitiesResponse) XXX_Unmarshal(b []byte) error {
  1869. return xxx_messageInfo_ValidateVolumeCapabilitiesResponse.Unmarshal(m, b)
  1870. }
  1871. func (m *ValidateVolumeCapabilitiesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1872. return xxx_messageInfo_ValidateVolumeCapabilitiesResponse.Marshal(b, m, deterministic)
  1873. }
  1874. func (dst *ValidateVolumeCapabilitiesResponse) XXX_Merge(src proto.Message) {
  1875. xxx_messageInfo_ValidateVolumeCapabilitiesResponse.Merge(dst, src)
  1876. }
  1877. func (m *ValidateVolumeCapabilitiesResponse) XXX_Size() int {
  1878. return xxx_messageInfo_ValidateVolumeCapabilitiesResponse.Size(m)
  1879. }
  1880. func (m *ValidateVolumeCapabilitiesResponse) XXX_DiscardUnknown() {
  1881. xxx_messageInfo_ValidateVolumeCapabilitiesResponse.DiscardUnknown(m)
  1882. }
  1883. var xxx_messageInfo_ValidateVolumeCapabilitiesResponse proto.InternalMessageInfo
  1884. func (m *ValidateVolumeCapabilitiesResponse) GetSupported() bool {
  1885. if m != nil {
  1886. return m.Supported
  1887. }
  1888. return false
  1889. }
  1890. func (m *ValidateVolumeCapabilitiesResponse) GetMessage() string {
  1891. if m != nil {
  1892. return m.Message
  1893. }
  1894. return ""
  1895. }
  1896. type ListVolumesRequest struct {
  1897. // If specified (non-zero value), the Plugin MUST NOT return more
  1898. // entries than this number in the response. If the actual number of
  1899. // entries is more than this number, the Plugin MUST set `next_token`
  1900. // in the response which can be used to get the next page of entries
  1901. // in the subsequent `ListVolumes` call. This field is OPTIONAL. If
  1902. // not specified (zero value), it means there is no restriction on the
  1903. // number of entries that can be returned.
  1904. // The value of this field MUST NOT be negative.
  1905. MaxEntries int32 `protobuf:"varint,1,opt,name=max_entries,json=maxEntries" json:"max_entries,omitempty"`
  1906. // A token to specify where to start paginating. Set this field to
  1907. // `next_token` returned by a previous `ListVolumes` call to get the
  1908. // next page of entries. This field is OPTIONAL.
  1909. // An empty string is equal to an unspecified field value.
  1910. StartingToken string `protobuf:"bytes,2,opt,name=starting_token,json=startingToken" json:"starting_token,omitempty"`
  1911. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1912. XXX_unrecognized []byte `json:"-"`
  1913. XXX_sizecache int32 `json:"-"`
  1914. }
  1915. func (m *ListVolumesRequest) Reset() { *m = ListVolumesRequest{} }
  1916. func (m *ListVolumesRequest) String() string { return proto.CompactTextString(m) }
  1917. func (*ListVolumesRequest) ProtoMessage() {}
  1918. func (*ListVolumesRequest) Descriptor() ([]byte, []int) {
  1919. return fileDescriptor_csi_31237507707d37ec, []int{23}
  1920. }
  1921. func (m *ListVolumesRequest) XXX_Unmarshal(b []byte) error {
  1922. return xxx_messageInfo_ListVolumesRequest.Unmarshal(m, b)
  1923. }
  1924. func (m *ListVolumesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1925. return xxx_messageInfo_ListVolumesRequest.Marshal(b, m, deterministic)
  1926. }
  1927. func (dst *ListVolumesRequest) XXX_Merge(src proto.Message) {
  1928. xxx_messageInfo_ListVolumesRequest.Merge(dst, src)
  1929. }
  1930. func (m *ListVolumesRequest) XXX_Size() int {
  1931. return xxx_messageInfo_ListVolumesRequest.Size(m)
  1932. }
  1933. func (m *ListVolumesRequest) XXX_DiscardUnknown() {
  1934. xxx_messageInfo_ListVolumesRequest.DiscardUnknown(m)
  1935. }
  1936. var xxx_messageInfo_ListVolumesRequest proto.InternalMessageInfo
  1937. func (m *ListVolumesRequest) GetMaxEntries() int32 {
  1938. if m != nil {
  1939. return m.MaxEntries
  1940. }
  1941. return 0
  1942. }
  1943. func (m *ListVolumesRequest) GetStartingToken() string {
  1944. if m != nil {
  1945. return m.StartingToken
  1946. }
  1947. return ""
  1948. }
  1949. type ListVolumesResponse struct {
  1950. Entries []*ListVolumesResponse_Entry `protobuf:"bytes,1,rep,name=entries" json:"entries,omitempty"`
  1951. // This token allows you to get the next page of entries for
  1952. // `ListVolumes` request. If the number of entries is larger than
  1953. // `max_entries`, use the `next_token` as a value for the
  1954. // `starting_token` field in the next `ListVolumes` request. This
  1955. // field is OPTIONAL.
  1956. // An empty string is equal to an unspecified field value.
  1957. NextToken string `protobuf:"bytes,2,opt,name=next_token,json=nextToken" json:"next_token,omitempty"`
  1958. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1959. XXX_unrecognized []byte `json:"-"`
  1960. XXX_sizecache int32 `json:"-"`
  1961. }
  1962. func (m *ListVolumesResponse) Reset() { *m = ListVolumesResponse{} }
  1963. func (m *ListVolumesResponse) String() string { return proto.CompactTextString(m) }
  1964. func (*ListVolumesResponse) ProtoMessage() {}
  1965. func (*ListVolumesResponse) Descriptor() ([]byte, []int) {
  1966. return fileDescriptor_csi_31237507707d37ec, []int{24}
  1967. }
  1968. func (m *ListVolumesResponse) XXX_Unmarshal(b []byte) error {
  1969. return xxx_messageInfo_ListVolumesResponse.Unmarshal(m, b)
  1970. }
  1971. func (m *ListVolumesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1972. return xxx_messageInfo_ListVolumesResponse.Marshal(b, m, deterministic)
  1973. }
  1974. func (dst *ListVolumesResponse) XXX_Merge(src proto.Message) {
  1975. xxx_messageInfo_ListVolumesResponse.Merge(dst, src)
  1976. }
  1977. func (m *ListVolumesResponse) XXX_Size() int {
  1978. return xxx_messageInfo_ListVolumesResponse.Size(m)
  1979. }
  1980. func (m *ListVolumesResponse) XXX_DiscardUnknown() {
  1981. xxx_messageInfo_ListVolumesResponse.DiscardUnknown(m)
  1982. }
  1983. var xxx_messageInfo_ListVolumesResponse proto.InternalMessageInfo
  1984. func (m *ListVolumesResponse) GetEntries() []*ListVolumesResponse_Entry {
  1985. if m != nil {
  1986. return m.Entries
  1987. }
  1988. return nil
  1989. }
  1990. func (m *ListVolumesResponse) GetNextToken() string {
  1991. if m != nil {
  1992. return m.NextToken
  1993. }
  1994. return ""
  1995. }
  1996. type ListVolumesResponse_Entry struct {
  1997. Volume *Volume `protobuf:"bytes,1,opt,name=volume" json:"volume,omitempty"`
  1998. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1999. XXX_unrecognized []byte `json:"-"`
  2000. XXX_sizecache int32 `json:"-"`
  2001. }
  2002. func (m *ListVolumesResponse_Entry) Reset() { *m = ListVolumesResponse_Entry{} }
  2003. func (m *ListVolumesResponse_Entry) String() string { return proto.CompactTextString(m) }
  2004. func (*ListVolumesResponse_Entry) ProtoMessage() {}
  2005. func (*ListVolumesResponse_Entry) Descriptor() ([]byte, []int) {
  2006. return fileDescriptor_csi_31237507707d37ec, []int{24, 0}
  2007. }
  2008. func (m *ListVolumesResponse_Entry) XXX_Unmarshal(b []byte) error {
  2009. return xxx_messageInfo_ListVolumesResponse_Entry.Unmarshal(m, b)
  2010. }
  2011. func (m *ListVolumesResponse_Entry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2012. return xxx_messageInfo_ListVolumesResponse_Entry.Marshal(b, m, deterministic)
  2013. }
  2014. func (dst *ListVolumesResponse_Entry) XXX_Merge(src proto.Message) {
  2015. xxx_messageInfo_ListVolumesResponse_Entry.Merge(dst, src)
  2016. }
  2017. func (m *ListVolumesResponse_Entry) XXX_Size() int {
  2018. return xxx_messageInfo_ListVolumesResponse_Entry.Size(m)
  2019. }
  2020. func (m *ListVolumesResponse_Entry) XXX_DiscardUnknown() {
  2021. xxx_messageInfo_ListVolumesResponse_Entry.DiscardUnknown(m)
  2022. }
  2023. var xxx_messageInfo_ListVolumesResponse_Entry proto.InternalMessageInfo
  2024. func (m *ListVolumesResponse_Entry) GetVolume() *Volume {
  2025. if m != nil {
  2026. return m.Volume
  2027. }
  2028. return nil
  2029. }
  2030. type GetCapacityRequest struct {
  2031. // If specified, the Plugin SHALL report the capacity of the storage
  2032. // that can be used to provision volumes that satisfy ALL of the
  2033. // specified `volume_capabilities`. These are the same
  2034. // `volume_capabilities` the CO will use in `CreateVolumeRequest`.
  2035. // This field is OPTIONAL.
  2036. VolumeCapabilities []*VolumeCapability `protobuf:"bytes,1,rep,name=volume_capabilities,json=volumeCapabilities" json:"volume_capabilities,omitempty"`
  2037. // If specified, the Plugin SHALL report the capacity of the storage
  2038. // that can be used to provision volumes with the given Plugin
  2039. // specific `parameters`. These are the same `parameters` the CO will
  2040. // use in `CreateVolumeRequest`. This field is OPTIONAL.
  2041. Parameters map[string]string `protobuf:"bytes,2,rep,name=parameters" json:"parameters,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
  2042. // If specified, the Plugin SHALL report the capacity of the storage
  2043. // that can be used to provision volumes that in the specified
  2044. // `accessible_topology`. This is the same as the
  2045. // `accessible_topology` the CO returns in a `CreateVolumeResponse`.
  2046. // This field is OPTIONAL. This field SHALL NOT be set unless the
  2047. // plugin advertises the ACCESSIBILITY_CONSTRAINTS capability.
  2048. AccessibleTopology *Topology `protobuf:"bytes,3,opt,name=accessible_topology,json=accessibleTopology" json:"accessible_topology,omitempty"`
  2049. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  2050. XXX_unrecognized []byte `json:"-"`
  2051. XXX_sizecache int32 `json:"-"`
  2052. }
  2053. func (m *GetCapacityRequest) Reset() { *m = GetCapacityRequest{} }
  2054. func (m *GetCapacityRequest) String() string { return proto.CompactTextString(m) }
  2055. func (*GetCapacityRequest) ProtoMessage() {}
  2056. func (*GetCapacityRequest) Descriptor() ([]byte, []int) {
  2057. return fileDescriptor_csi_31237507707d37ec, []int{25}
  2058. }
  2059. func (m *GetCapacityRequest) XXX_Unmarshal(b []byte) error {
  2060. return xxx_messageInfo_GetCapacityRequest.Unmarshal(m, b)
  2061. }
  2062. func (m *GetCapacityRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2063. return xxx_messageInfo_GetCapacityRequest.Marshal(b, m, deterministic)
  2064. }
  2065. func (dst *GetCapacityRequest) XXX_Merge(src proto.Message) {
  2066. xxx_messageInfo_GetCapacityRequest.Merge(dst, src)
  2067. }
  2068. func (m *GetCapacityRequest) XXX_Size() int {
  2069. return xxx_messageInfo_GetCapacityRequest.Size(m)
  2070. }
  2071. func (m *GetCapacityRequest) XXX_DiscardUnknown() {
  2072. xxx_messageInfo_GetCapacityRequest.DiscardUnknown(m)
  2073. }
  2074. var xxx_messageInfo_GetCapacityRequest proto.InternalMessageInfo
  2075. func (m *GetCapacityRequest) GetVolumeCapabilities() []*VolumeCapability {
  2076. if m != nil {
  2077. return m.VolumeCapabilities
  2078. }
  2079. return nil
  2080. }
  2081. func (m *GetCapacityRequest) GetParameters() map[string]string {
  2082. if m != nil {
  2083. return m.Parameters
  2084. }
  2085. return nil
  2086. }
  2087. func (m *GetCapacityRequest) GetAccessibleTopology() *Topology {
  2088. if m != nil {
  2089. return m.AccessibleTopology
  2090. }
  2091. return nil
  2092. }
  2093. type GetCapacityResponse struct {
  2094. // The available capacity, in bytes, of the storage that can be used
  2095. // to provision volumes. If `volume_capabilities` or `parameters` is
  2096. // specified in the request, the Plugin SHALL take those into
  2097. // consideration when calculating the available capacity of the
  2098. // storage. This field is REQUIRED.
  2099. // The value of this field MUST NOT be negative.
  2100. AvailableCapacity int64 `protobuf:"varint,1,opt,name=available_capacity,json=availableCapacity" json:"available_capacity,omitempty"`
  2101. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  2102. XXX_unrecognized []byte `json:"-"`
  2103. XXX_sizecache int32 `json:"-"`
  2104. }
  2105. func (m *GetCapacityResponse) Reset() { *m = GetCapacityResponse{} }
  2106. func (m *GetCapacityResponse) String() string { return proto.CompactTextString(m) }
  2107. func (*GetCapacityResponse) ProtoMessage() {}
  2108. func (*GetCapacityResponse) Descriptor() ([]byte, []int) {
  2109. return fileDescriptor_csi_31237507707d37ec, []int{26}
  2110. }
  2111. func (m *GetCapacityResponse) XXX_Unmarshal(b []byte) error {
  2112. return xxx_messageInfo_GetCapacityResponse.Unmarshal(m, b)
  2113. }
  2114. func (m *GetCapacityResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2115. return xxx_messageInfo_GetCapacityResponse.Marshal(b, m, deterministic)
  2116. }
  2117. func (dst *GetCapacityResponse) XXX_Merge(src proto.Message) {
  2118. xxx_messageInfo_GetCapacityResponse.Merge(dst, src)
  2119. }
  2120. func (m *GetCapacityResponse) XXX_Size() int {
  2121. return xxx_messageInfo_GetCapacityResponse.Size(m)
  2122. }
  2123. func (m *GetCapacityResponse) XXX_DiscardUnknown() {
  2124. xxx_messageInfo_GetCapacityResponse.DiscardUnknown(m)
  2125. }
  2126. var xxx_messageInfo_GetCapacityResponse proto.InternalMessageInfo
  2127. func (m *GetCapacityResponse) GetAvailableCapacity() int64 {
  2128. if m != nil {
  2129. return m.AvailableCapacity
  2130. }
  2131. return 0
  2132. }
  2133. type ControllerGetCapabilitiesRequest struct {
  2134. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  2135. XXX_unrecognized []byte `json:"-"`
  2136. XXX_sizecache int32 `json:"-"`
  2137. }
  2138. func (m *ControllerGetCapabilitiesRequest) Reset() { *m = ControllerGetCapabilitiesRequest{} }
  2139. func (m *ControllerGetCapabilitiesRequest) String() string { return proto.CompactTextString(m) }
  2140. func (*ControllerGetCapabilitiesRequest) ProtoMessage() {}
  2141. func (*ControllerGetCapabilitiesRequest) Descriptor() ([]byte, []int) {
  2142. return fileDescriptor_csi_31237507707d37ec, []int{27}
  2143. }
  2144. func (m *ControllerGetCapabilitiesRequest) XXX_Unmarshal(b []byte) error {
  2145. return xxx_messageInfo_ControllerGetCapabilitiesRequest.Unmarshal(m, b)
  2146. }
  2147. func (m *ControllerGetCapabilitiesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2148. return xxx_messageInfo_ControllerGetCapabilitiesRequest.Marshal(b, m, deterministic)
  2149. }
  2150. func (dst *ControllerGetCapabilitiesRequest) XXX_Merge(src proto.Message) {
  2151. xxx_messageInfo_ControllerGetCapabilitiesRequest.Merge(dst, src)
  2152. }
  2153. func (m *ControllerGetCapabilitiesRequest) XXX_Size() int {
  2154. return xxx_messageInfo_ControllerGetCapabilitiesRequest.Size(m)
  2155. }
  2156. func (m *ControllerGetCapabilitiesRequest) XXX_DiscardUnknown() {
  2157. xxx_messageInfo_ControllerGetCapabilitiesRequest.DiscardUnknown(m)
  2158. }
  2159. var xxx_messageInfo_ControllerGetCapabilitiesRequest proto.InternalMessageInfo
  2160. type ControllerGetCapabilitiesResponse struct {
  2161. // All the capabilities that the controller service supports. This
  2162. // field is OPTIONAL.
  2163. Capabilities []*ControllerServiceCapability `protobuf:"bytes,2,rep,name=capabilities" json:"capabilities,omitempty"`
  2164. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  2165. XXX_unrecognized []byte `json:"-"`
  2166. XXX_sizecache int32 `json:"-"`
  2167. }
  2168. func (m *ControllerGetCapabilitiesResponse) Reset() { *m = ControllerGetCapabilitiesResponse{} }
  2169. func (m *ControllerGetCapabilitiesResponse) String() string { return proto.CompactTextString(m) }
  2170. func (*ControllerGetCapabilitiesResponse) ProtoMessage() {}
  2171. func (*ControllerGetCapabilitiesResponse) Descriptor() ([]byte, []int) {
  2172. return fileDescriptor_csi_31237507707d37ec, []int{28}
  2173. }
  2174. func (m *ControllerGetCapabilitiesResponse) XXX_Unmarshal(b []byte) error {
  2175. return xxx_messageInfo_ControllerGetCapabilitiesResponse.Unmarshal(m, b)
  2176. }
  2177. func (m *ControllerGetCapabilitiesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2178. return xxx_messageInfo_ControllerGetCapabilitiesResponse.Marshal(b, m, deterministic)
  2179. }
  2180. func (dst *ControllerGetCapabilitiesResponse) XXX_Merge(src proto.Message) {
  2181. xxx_messageInfo_ControllerGetCapabilitiesResponse.Merge(dst, src)
  2182. }
  2183. func (m *ControllerGetCapabilitiesResponse) XXX_Size() int {
  2184. return xxx_messageInfo_ControllerGetCapabilitiesResponse.Size(m)
  2185. }
  2186. func (m *ControllerGetCapabilitiesResponse) XXX_DiscardUnknown() {
  2187. xxx_messageInfo_ControllerGetCapabilitiesResponse.DiscardUnknown(m)
  2188. }
  2189. var xxx_messageInfo_ControllerGetCapabilitiesResponse proto.InternalMessageInfo
  2190. func (m *ControllerGetCapabilitiesResponse) GetCapabilities() []*ControllerServiceCapability {
  2191. if m != nil {
  2192. return m.Capabilities
  2193. }
  2194. return nil
  2195. }
  2196. // Specifies a capability of the controller service.
  2197. type ControllerServiceCapability struct {
  2198. // Types that are valid to be assigned to Type:
  2199. // *ControllerServiceCapability_Rpc
  2200. Type isControllerServiceCapability_Type `protobuf_oneof:"type"`
  2201. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  2202. XXX_unrecognized []byte `json:"-"`
  2203. XXX_sizecache int32 `json:"-"`
  2204. }
  2205. func (m *ControllerServiceCapability) Reset() { *m = ControllerServiceCapability{} }
  2206. func (m *ControllerServiceCapability) String() string { return proto.CompactTextString(m) }
  2207. func (*ControllerServiceCapability) ProtoMessage() {}
  2208. func (*ControllerServiceCapability) Descriptor() ([]byte, []int) {
  2209. return fileDescriptor_csi_31237507707d37ec, []int{29}
  2210. }
  2211. func (m *ControllerServiceCapability) XXX_Unmarshal(b []byte) error {
  2212. return xxx_messageInfo_ControllerServiceCapability.Unmarshal(m, b)
  2213. }
  2214. func (m *ControllerServiceCapability) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2215. return xxx_messageInfo_ControllerServiceCapability.Marshal(b, m, deterministic)
  2216. }
  2217. func (dst *ControllerServiceCapability) XXX_Merge(src proto.Message) {
  2218. xxx_messageInfo_ControllerServiceCapability.Merge(dst, src)
  2219. }
  2220. func (m *ControllerServiceCapability) XXX_Size() int {
  2221. return xxx_messageInfo_ControllerServiceCapability.Size(m)
  2222. }
  2223. func (m *ControllerServiceCapability) XXX_DiscardUnknown() {
  2224. xxx_messageInfo_ControllerServiceCapability.DiscardUnknown(m)
  2225. }
  2226. var xxx_messageInfo_ControllerServiceCapability proto.InternalMessageInfo
  2227. type isControllerServiceCapability_Type interface {
  2228. isControllerServiceCapability_Type()
  2229. }
  2230. type ControllerServiceCapability_Rpc struct {
  2231. Rpc *ControllerServiceCapability_RPC `protobuf:"bytes,1,opt,name=rpc,oneof"`
  2232. }
  2233. func (*ControllerServiceCapability_Rpc) isControllerServiceCapability_Type() {}
  2234. func (m *ControllerServiceCapability) GetType() isControllerServiceCapability_Type {
  2235. if m != nil {
  2236. return m.Type
  2237. }
  2238. return nil
  2239. }
  2240. func (m *ControllerServiceCapability) GetRpc() *ControllerServiceCapability_RPC {
  2241. if x, ok := m.GetType().(*ControllerServiceCapability_Rpc); ok {
  2242. return x.Rpc
  2243. }
  2244. return nil
  2245. }
  2246. // XXX_OneofFuncs is for the internal use of the proto package.
  2247. func (*ControllerServiceCapability) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
  2248. return _ControllerServiceCapability_OneofMarshaler, _ControllerServiceCapability_OneofUnmarshaler, _ControllerServiceCapability_OneofSizer, []interface{}{
  2249. (*ControllerServiceCapability_Rpc)(nil),
  2250. }
  2251. }
  2252. func _ControllerServiceCapability_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
  2253. m := msg.(*ControllerServiceCapability)
  2254. // type
  2255. switch x := m.Type.(type) {
  2256. case *ControllerServiceCapability_Rpc:
  2257. b.EncodeVarint(1<<3 | proto.WireBytes)
  2258. if err := b.EncodeMessage(x.Rpc); err != nil {
  2259. return err
  2260. }
  2261. case nil:
  2262. default:
  2263. return fmt.Errorf("ControllerServiceCapability.Type has unexpected type %T", x)
  2264. }
  2265. return nil
  2266. }
  2267. func _ControllerServiceCapability_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
  2268. m := msg.(*ControllerServiceCapability)
  2269. switch tag {
  2270. case 1: // type.rpc
  2271. if wire != proto.WireBytes {
  2272. return true, proto.ErrInternalBadWireType
  2273. }
  2274. msg := new(ControllerServiceCapability_RPC)
  2275. err := b.DecodeMessage(msg)
  2276. m.Type = &ControllerServiceCapability_Rpc{msg}
  2277. return true, err
  2278. default:
  2279. return false, nil
  2280. }
  2281. }
  2282. func _ControllerServiceCapability_OneofSizer(msg proto.Message) (n int) {
  2283. m := msg.(*ControllerServiceCapability)
  2284. // type
  2285. switch x := m.Type.(type) {
  2286. case *ControllerServiceCapability_Rpc:
  2287. s := proto.Size(x.Rpc)
  2288. n += 1 // tag and wire
  2289. n += proto.SizeVarint(uint64(s))
  2290. n += s
  2291. case nil:
  2292. default:
  2293. panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
  2294. }
  2295. return n
  2296. }
  2297. type ControllerServiceCapability_RPC struct {
  2298. Type ControllerServiceCapability_RPC_Type `protobuf:"varint,1,opt,name=type,enum=csi.v0.ControllerServiceCapability_RPC_Type" json:"type,omitempty"`
  2299. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  2300. XXX_unrecognized []byte `json:"-"`
  2301. XXX_sizecache int32 `json:"-"`
  2302. }
  2303. func (m *ControllerServiceCapability_RPC) Reset() { *m = ControllerServiceCapability_RPC{} }
  2304. func (m *ControllerServiceCapability_RPC) String() string { return proto.CompactTextString(m) }
  2305. func (*ControllerServiceCapability_RPC) ProtoMessage() {}
  2306. func (*ControllerServiceCapability_RPC) Descriptor() ([]byte, []int) {
  2307. return fileDescriptor_csi_31237507707d37ec, []int{29, 0}
  2308. }
  2309. func (m *ControllerServiceCapability_RPC) XXX_Unmarshal(b []byte) error {
  2310. return xxx_messageInfo_ControllerServiceCapability_RPC.Unmarshal(m, b)
  2311. }
  2312. func (m *ControllerServiceCapability_RPC) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2313. return xxx_messageInfo_ControllerServiceCapability_RPC.Marshal(b, m, deterministic)
  2314. }
  2315. func (dst *ControllerServiceCapability_RPC) XXX_Merge(src proto.Message) {
  2316. xxx_messageInfo_ControllerServiceCapability_RPC.Merge(dst, src)
  2317. }
  2318. func (m *ControllerServiceCapability_RPC) XXX_Size() int {
  2319. return xxx_messageInfo_ControllerServiceCapability_RPC.Size(m)
  2320. }
  2321. func (m *ControllerServiceCapability_RPC) XXX_DiscardUnknown() {
  2322. xxx_messageInfo_ControllerServiceCapability_RPC.DiscardUnknown(m)
  2323. }
  2324. var xxx_messageInfo_ControllerServiceCapability_RPC proto.InternalMessageInfo
  2325. func (m *ControllerServiceCapability_RPC) GetType() ControllerServiceCapability_RPC_Type {
  2326. if m != nil {
  2327. return m.Type
  2328. }
  2329. return ControllerServiceCapability_RPC_UNKNOWN
  2330. }
  2331. type CreateSnapshotRequest struct {
  2332. // The ID of the source volume to be snapshotted.
  2333. // This field is REQUIRED.
  2334. SourceVolumeId string `protobuf:"bytes,1,opt,name=source_volume_id,json=sourceVolumeId" json:"source_volume_id,omitempty"`
  2335. // The suggested name for the snapshot. This field is REQUIRED for
  2336. // idempotency.
  2337. Name string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"`
  2338. // Secrets required by plugin to complete snapshot creation request.
  2339. // This field is OPTIONAL. Refer to the `Secrets Requirements`
  2340. // section on how to use this field.
  2341. CreateSnapshotSecrets map[string]string `protobuf:"bytes,3,rep,name=create_snapshot_secrets,json=createSnapshotSecrets" json:"create_snapshot_secrets,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
  2342. // Plugin specific parameters passed in as opaque key-value pairs.
  2343. // This field is OPTIONAL. The Plugin is responsible for parsing and
  2344. // validating these parameters. COs will treat these as opaque.
  2345. // Use cases for opaque parameters:
  2346. // - Specify a policy to automatically clean up the snapshot.
  2347. // - Specify an expiration date for the snapshot.
  2348. // - Specify whether the snapshot is readonly or read/write.
  2349. // - Specify if the snapshot should be replicated to some place.
  2350. // - Specify primary or secondary for replication systems that
  2351. // support snapshotting only on primary.
  2352. Parameters map[string]string `protobuf:"bytes,4,rep,name=parameters" json:"parameters,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
  2353. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  2354. XXX_unrecognized []byte `json:"-"`
  2355. XXX_sizecache int32 `json:"-"`
  2356. }
  2357. func (m *CreateSnapshotRequest) Reset() { *m = CreateSnapshotRequest{} }
  2358. func (m *CreateSnapshotRequest) String() string { return proto.CompactTextString(m) }
  2359. func (*CreateSnapshotRequest) ProtoMessage() {}
  2360. func (*CreateSnapshotRequest) Descriptor() ([]byte, []int) {
  2361. return fileDescriptor_csi_31237507707d37ec, []int{30}
  2362. }
  2363. func (m *CreateSnapshotRequest) XXX_Unmarshal(b []byte) error {
  2364. return xxx_messageInfo_CreateSnapshotRequest.Unmarshal(m, b)
  2365. }
  2366. func (m *CreateSnapshotRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2367. return xxx_messageInfo_CreateSnapshotRequest.Marshal(b, m, deterministic)
  2368. }
  2369. func (dst *CreateSnapshotRequest) XXX_Merge(src proto.Message) {
  2370. xxx_messageInfo_CreateSnapshotRequest.Merge(dst, src)
  2371. }
  2372. func (m *CreateSnapshotRequest) XXX_Size() int {
  2373. return xxx_messageInfo_CreateSnapshotRequest.Size(m)
  2374. }
  2375. func (m *CreateSnapshotRequest) XXX_DiscardUnknown() {
  2376. xxx_messageInfo_CreateSnapshotRequest.DiscardUnknown(m)
  2377. }
  2378. var xxx_messageInfo_CreateSnapshotRequest proto.InternalMessageInfo
  2379. func (m *CreateSnapshotRequest) GetSourceVolumeId() string {
  2380. if m != nil {
  2381. return m.SourceVolumeId
  2382. }
  2383. return ""
  2384. }
  2385. func (m *CreateSnapshotRequest) GetName() string {
  2386. if m != nil {
  2387. return m.Name
  2388. }
  2389. return ""
  2390. }
  2391. func (m *CreateSnapshotRequest) GetCreateSnapshotSecrets() map[string]string {
  2392. if m != nil {
  2393. return m.CreateSnapshotSecrets
  2394. }
  2395. return nil
  2396. }
  2397. func (m *CreateSnapshotRequest) GetParameters() map[string]string {
  2398. if m != nil {
  2399. return m.Parameters
  2400. }
  2401. return nil
  2402. }
  2403. type CreateSnapshotResponse struct {
  2404. // Contains all attributes of the newly created snapshot that are
  2405. // relevant to the CO along with information required by the Plugin
  2406. // to uniquely identify the snapshot. This field is REQUIRED.
  2407. Snapshot *Snapshot `protobuf:"bytes,1,opt,name=snapshot" json:"snapshot,omitempty"`
  2408. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  2409. XXX_unrecognized []byte `json:"-"`
  2410. XXX_sizecache int32 `json:"-"`
  2411. }
  2412. func (m *CreateSnapshotResponse) Reset() { *m = CreateSnapshotResponse{} }
  2413. func (m *CreateSnapshotResponse) String() string { return proto.CompactTextString(m) }
  2414. func (*CreateSnapshotResponse) ProtoMessage() {}
  2415. func (*CreateSnapshotResponse) Descriptor() ([]byte, []int) {
  2416. return fileDescriptor_csi_31237507707d37ec, []int{31}
  2417. }
  2418. func (m *CreateSnapshotResponse) XXX_Unmarshal(b []byte) error {
  2419. return xxx_messageInfo_CreateSnapshotResponse.Unmarshal(m, b)
  2420. }
  2421. func (m *CreateSnapshotResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2422. return xxx_messageInfo_CreateSnapshotResponse.Marshal(b, m, deterministic)
  2423. }
  2424. func (dst *CreateSnapshotResponse) XXX_Merge(src proto.Message) {
  2425. xxx_messageInfo_CreateSnapshotResponse.Merge(dst, src)
  2426. }
  2427. func (m *CreateSnapshotResponse) XXX_Size() int {
  2428. return xxx_messageInfo_CreateSnapshotResponse.Size(m)
  2429. }
  2430. func (m *CreateSnapshotResponse) XXX_DiscardUnknown() {
  2431. xxx_messageInfo_CreateSnapshotResponse.DiscardUnknown(m)
  2432. }
  2433. var xxx_messageInfo_CreateSnapshotResponse proto.InternalMessageInfo
  2434. func (m *CreateSnapshotResponse) GetSnapshot() *Snapshot {
  2435. if m != nil {
  2436. return m.Snapshot
  2437. }
  2438. return nil
  2439. }
  2440. // The information about a provisioned snapshot.
  2441. type Snapshot struct {
  2442. // This is the complete size of the snapshot in bytes. The purpose of
  2443. // this field is to give CO guidance on how much space is needed to
  2444. // create a volume from this snapshot. The size of the volume MUST NOT
  2445. // be less than the size of the source snapshot. This field is
  2446. // OPTIONAL. If this field is not set, it indicates that this size is
  2447. // unknown. The value of this field MUST NOT be negative and a size of
  2448. // zero means it is unspecified.
  2449. SizeBytes int64 `protobuf:"varint,1,opt,name=size_bytes,json=sizeBytes" json:"size_bytes,omitempty"`
  2450. // Uniquely identifies a snapshot and is generated by the plugin. It
  2451. // will not change over time. This field is REQUIRED. The identity
  2452. // information will be used by the CO in subsequent calls to refer to
  2453. // the provisioned snapshot.
  2454. Id string `protobuf:"bytes,2,opt,name=id" json:"id,omitempty"`
  2455. // Identity information for the source volume. Note that creating a
  2456. // snapshot from a snapshot is not supported here so the source has to
  2457. // be a volume. This field is REQUIRED.
  2458. SourceVolumeId string `protobuf:"bytes,3,opt,name=source_volume_id,json=sourceVolumeId" json:"source_volume_id,omitempty"`
  2459. // Timestamp when the point-in-time snapshot is taken on the storage
  2460. // system. The format of this field should be a Unix nanoseconds time
  2461. // encoded as an int64. On Unix, the command `date +%s%N` returns the
  2462. // current time in nanoseconds since 1970-01-01 00:00:00 UTC. This
  2463. // field is REQUIRED.
  2464. CreatedAt int64 `protobuf:"varint,4,opt,name=created_at,json=createdAt" json:"created_at,omitempty"`
  2465. // The status of a snapshot.
  2466. Status *SnapshotStatus `protobuf:"bytes,5,opt,name=status" json:"status,omitempty"`
  2467. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  2468. XXX_unrecognized []byte `json:"-"`
  2469. XXX_sizecache int32 `json:"-"`
  2470. }
  2471. func (m *Snapshot) Reset() { *m = Snapshot{} }
  2472. func (m *Snapshot) String() string { return proto.CompactTextString(m) }
  2473. func (*Snapshot) ProtoMessage() {}
  2474. func (*Snapshot) Descriptor() ([]byte, []int) {
  2475. return fileDescriptor_csi_31237507707d37ec, []int{32}
  2476. }
  2477. func (m *Snapshot) XXX_Unmarshal(b []byte) error {
  2478. return xxx_messageInfo_Snapshot.Unmarshal(m, b)
  2479. }
  2480. func (m *Snapshot) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2481. return xxx_messageInfo_Snapshot.Marshal(b, m, deterministic)
  2482. }
  2483. func (dst *Snapshot) XXX_Merge(src proto.Message) {
  2484. xxx_messageInfo_Snapshot.Merge(dst, src)
  2485. }
  2486. func (m *Snapshot) XXX_Size() int {
  2487. return xxx_messageInfo_Snapshot.Size(m)
  2488. }
  2489. func (m *Snapshot) XXX_DiscardUnknown() {
  2490. xxx_messageInfo_Snapshot.DiscardUnknown(m)
  2491. }
  2492. var xxx_messageInfo_Snapshot proto.InternalMessageInfo
  2493. func (m *Snapshot) GetSizeBytes() int64 {
  2494. if m != nil {
  2495. return m.SizeBytes
  2496. }
  2497. return 0
  2498. }
  2499. func (m *Snapshot) GetId() string {
  2500. if m != nil {
  2501. return m.Id
  2502. }
  2503. return ""
  2504. }
  2505. func (m *Snapshot) GetSourceVolumeId() string {
  2506. if m != nil {
  2507. return m.SourceVolumeId
  2508. }
  2509. return ""
  2510. }
  2511. func (m *Snapshot) GetCreatedAt() int64 {
  2512. if m != nil {
  2513. return m.CreatedAt
  2514. }
  2515. return 0
  2516. }
  2517. func (m *Snapshot) GetStatus() *SnapshotStatus {
  2518. if m != nil {
  2519. return m.Status
  2520. }
  2521. return nil
  2522. }
  2523. // The status of a snapshot.
  2524. type SnapshotStatus struct {
  2525. // This field is REQUIRED.
  2526. Type SnapshotStatus_Type `protobuf:"varint,1,opt,name=type,enum=csi.v0.SnapshotStatus_Type" json:"type,omitempty"`
  2527. // Additional information to describe why a snapshot ended up in the
  2528. // `ERROR_UPLOADING` status. This field is OPTIONAL.
  2529. Details string `protobuf:"bytes,2,opt,name=details" json:"details,omitempty"`
  2530. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  2531. XXX_unrecognized []byte `json:"-"`
  2532. XXX_sizecache int32 `json:"-"`
  2533. }
  2534. func (m *SnapshotStatus) Reset() { *m = SnapshotStatus{} }
  2535. func (m *SnapshotStatus) String() string { return proto.CompactTextString(m) }
  2536. func (*SnapshotStatus) ProtoMessage() {}
  2537. func (*SnapshotStatus) Descriptor() ([]byte, []int) {
  2538. return fileDescriptor_csi_31237507707d37ec, []int{33}
  2539. }
  2540. func (m *SnapshotStatus) XXX_Unmarshal(b []byte) error {
  2541. return xxx_messageInfo_SnapshotStatus.Unmarshal(m, b)
  2542. }
  2543. func (m *SnapshotStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2544. return xxx_messageInfo_SnapshotStatus.Marshal(b, m, deterministic)
  2545. }
  2546. func (dst *SnapshotStatus) XXX_Merge(src proto.Message) {
  2547. xxx_messageInfo_SnapshotStatus.Merge(dst, src)
  2548. }
  2549. func (m *SnapshotStatus) XXX_Size() int {
  2550. return xxx_messageInfo_SnapshotStatus.Size(m)
  2551. }
  2552. func (m *SnapshotStatus) XXX_DiscardUnknown() {
  2553. xxx_messageInfo_SnapshotStatus.DiscardUnknown(m)
  2554. }
  2555. var xxx_messageInfo_SnapshotStatus proto.InternalMessageInfo
  2556. func (m *SnapshotStatus) GetType() SnapshotStatus_Type {
  2557. if m != nil {
  2558. return m.Type
  2559. }
  2560. return SnapshotStatus_UNKNOWN
  2561. }
  2562. func (m *SnapshotStatus) GetDetails() string {
  2563. if m != nil {
  2564. return m.Details
  2565. }
  2566. return ""
  2567. }
  2568. type DeleteSnapshotRequest struct {
  2569. // The ID of the snapshot to be deleted.
  2570. // This field is REQUIRED.
  2571. SnapshotId string `protobuf:"bytes,1,opt,name=snapshot_id,json=snapshotId" json:"snapshot_id,omitempty"`
  2572. // Secrets required by plugin to complete snapshot deletion request.
  2573. // This field is OPTIONAL. Refer to the `Secrets Requirements`
  2574. // section on how to use this field.
  2575. DeleteSnapshotSecrets map[string]string `protobuf:"bytes,2,rep,name=delete_snapshot_secrets,json=deleteSnapshotSecrets" json:"delete_snapshot_secrets,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
  2576. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  2577. XXX_unrecognized []byte `json:"-"`
  2578. XXX_sizecache int32 `json:"-"`
  2579. }
  2580. func (m *DeleteSnapshotRequest) Reset() { *m = DeleteSnapshotRequest{} }
  2581. func (m *DeleteSnapshotRequest) String() string { return proto.CompactTextString(m) }
  2582. func (*DeleteSnapshotRequest) ProtoMessage() {}
  2583. func (*DeleteSnapshotRequest) Descriptor() ([]byte, []int) {
  2584. return fileDescriptor_csi_31237507707d37ec, []int{34}
  2585. }
  2586. func (m *DeleteSnapshotRequest) XXX_Unmarshal(b []byte) error {
  2587. return xxx_messageInfo_DeleteSnapshotRequest.Unmarshal(m, b)
  2588. }
  2589. func (m *DeleteSnapshotRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2590. return xxx_messageInfo_DeleteSnapshotRequest.Marshal(b, m, deterministic)
  2591. }
  2592. func (dst *DeleteSnapshotRequest) XXX_Merge(src proto.Message) {
  2593. xxx_messageInfo_DeleteSnapshotRequest.Merge(dst, src)
  2594. }
  2595. func (m *DeleteSnapshotRequest) XXX_Size() int {
  2596. return xxx_messageInfo_DeleteSnapshotRequest.Size(m)
  2597. }
  2598. func (m *DeleteSnapshotRequest) XXX_DiscardUnknown() {
  2599. xxx_messageInfo_DeleteSnapshotRequest.DiscardUnknown(m)
  2600. }
  2601. var xxx_messageInfo_DeleteSnapshotRequest proto.InternalMessageInfo
  2602. func (m *DeleteSnapshotRequest) GetSnapshotId() string {
  2603. if m != nil {
  2604. return m.SnapshotId
  2605. }
  2606. return ""
  2607. }
  2608. func (m *DeleteSnapshotRequest) GetDeleteSnapshotSecrets() map[string]string {
  2609. if m != nil {
  2610. return m.DeleteSnapshotSecrets
  2611. }
  2612. return nil
  2613. }
  2614. type DeleteSnapshotResponse struct {
  2615. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  2616. XXX_unrecognized []byte `json:"-"`
  2617. XXX_sizecache int32 `json:"-"`
  2618. }
  2619. func (m *DeleteSnapshotResponse) Reset() { *m = DeleteSnapshotResponse{} }
  2620. func (m *DeleteSnapshotResponse) String() string { return proto.CompactTextString(m) }
  2621. func (*DeleteSnapshotResponse) ProtoMessage() {}
  2622. func (*DeleteSnapshotResponse) Descriptor() ([]byte, []int) {
  2623. return fileDescriptor_csi_31237507707d37ec, []int{35}
  2624. }
  2625. func (m *DeleteSnapshotResponse) XXX_Unmarshal(b []byte) error {
  2626. return xxx_messageInfo_DeleteSnapshotResponse.Unmarshal(m, b)
  2627. }
  2628. func (m *DeleteSnapshotResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2629. return xxx_messageInfo_DeleteSnapshotResponse.Marshal(b, m, deterministic)
  2630. }
  2631. func (dst *DeleteSnapshotResponse) XXX_Merge(src proto.Message) {
  2632. xxx_messageInfo_DeleteSnapshotResponse.Merge(dst, src)
  2633. }
  2634. func (m *DeleteSnapshotResponse) XXX_Size() int {
  2635. return xxx_messageInfo_DeleteSnapshotResponse.Size(m)
  2636. }
  2637. func (m *DeleteSnapshotResponse) XXX_DiscardUnknown() {
  2638. xxx_messageInfo_DeleteSnapshotResponse.DiscardUnknown(m)
  2639. }
  2640. var xxx_messageInfo_DeleteSnapshotResponse proto.InternalMessageInfo
  2641. // List all snapshots on the storage system regardless of how they were
  2642. // created.
  2643. type ListSnapshotsRequest struct {
  2644. // If specified (non-zero value), the Plugin MUST NOT return more
  2645. // entries than this number in the response. If the actual number of
  2646. // entries is more than this number, the Plugin MUST set `next_token`
  2647. // in the response which can be used to get the next page of entries
  2648. // in the subsequent `ListSnapshots` call. This field is OPTIONAL. If
  2649. // not specified (zero value), it means there is no restriction on the
  2650. // number of entries that can be returned.
  2651. // The value of this field MUST NOT be negative.
  2652. MaxEntries int32 `protobuf:"varint,1,opt,name=max_entries,json=maxEntries" json:"max_entries,omitempty"`
  2653. // A token to specify where to start paginating. Set this field to
  2654. // `next_token` returned by a previous `ListSnapshots` call to get the
  2655. // next page of entries. This field is OPTIONAL.
  2656. // An empty string is equal to an unspecified field value.
  2657. StartingToken string `protobuf:"bytes,2,opt,name=starting_token,json=startingToken" json:"starting_token,omitempty"`
  2658. // Identity information for the source volume. This field is OPTIONAL.
  2659. // It can be used to list snapshots by volume.
  2660. SourceVolumeId string `protobuf:"bytes,3,opt,name=source_volume_id,json=sourceVolumeId" json:"source_volume_id,omitempty"`
  2661. // Identity information for a specific snapshot. This field is
  2662. // OPTIONAL. It can be used to list only a specific snapshot.
  2663. // ListSnapshots will return with current snapshot information
  2664. // and will not block if the snapshot is being uploaded.
  2665. SnapshotId string `protobuf:"bytes,4,opt,name=snapshot_id,json=snapshotId" json:"snapshot_id,omitempty"`
  2666. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  2667. XXX_unrecognized []byte `json:"-"`
  2668. XXX_sizecache int32 `json:"-"`
  2669. }
  2670. func (m *ListSnapshotsRequest) Reset() { *m = ListSnapshotsRequest{} }
  2671. func (m *ListSnapshotsRequest) String() string { return proto.CompactTextString(m) }
  2672. func (*ListSnapshotsRequest) ProtoMessage() {}
  2673. func (*ListSnapshotsRequest) Descriptor() ([]byte, []int) {
  2674. return fileDescriptor_csi_31237507707d37ec, []int{36}
  2675. }
  2676. func (m *ListSnapshotsRequest) XXX_Unmarshal(b []byte) error {
  2677. return xxx_messageInfo_ListSnapshotsRequest.Unmarshal(m, b)
  2678. }
  2679. func (m *ListSnapshotsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2680. return xxx_messageInfo_ListSnapshotsRequest.Marshal(b, m, deterministic)
  2681. }
  2682. func (dst *ListSnapshotsRequest) XXX_Merge(src proto.Message) {
  2683. xxx_messageInfo_ListSnapshotsRequest.Merge(dst, src)
  2684. }
  2685. func (m *ListSnapshotsRequest) XXX_Size() int {
  2686. return xxx_messageInfo_ListSnapshotsRequest.Size(m)
  2687. }
  2688. func (m *ListSnapshotsRequest) XXX_DiscardUnknown() {
  2689. xxx_messageInfo_ListSnapshotsRequest.DiscardUnknown(m)
  2690. }
  2691. var xxx_messageInfo_ListSnapshotsRequest proto.InternalMessageInfo
  2692. func (m *ListSnapshotsRequest) GetMaxEntries() int32 {
  2693. if m != nil {
  2694. return m.MaxEntries
  2695. }
  2696. return 0
  2697. }
  2698. func (m *ListSnapshotsRequest) GetStartingToken() string {
  2699. if m != nil {
  2700. return m.StartingToken
  2701. }
  2702. return ""
  2703. }
  2704. func (m *ListSnapshotsRequest) GetSourceVolumeId() string {
  2705. if m != nil {
  2706. return m.SourceVolumeId
  2707. }
  2708. return ""
  2709. }
  2710. func (m *ListSnapshotsRequest) GetSnapshotId() string {
  2711. if m != nil {
  2712. return m.SnapshotId
  2713. }
  2714. return ""
  2715. }
  2716. type ListSnapshotsResponse struct {
  2717. Entries []*ListSnapshotsResponse_Entry `protobuf:"bytes,1,rep,name=entries" json:"entries,omitempty"`
  2718. // This token allows you to get the next page of entries for
  2719. // `ListSnapshots` request. If the number of entries is larger than
  2720. // `max_entries`, use the `next_token` as a value for the
  2721. // `starting_token` field in the next `ListSnapshots` request. This
  2722. // field is OPTIONAL.
  2723. // An empty string is equal to an unspecified field value.
  2724. NextToken string `protobuf:"bytes,2,opt,name=next_token,json=nextToken" json:"next_token,omitempty"`
  2725. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  2726. XXX_unrecognized []byte `json:"-"`
  2727. XXX_sizecache int32 `json:"-"`
  2728. }
  2729. func (m *ListSnapshotsResponse) Reset() { *m = ListSnapshotsResponse{} }
  2730. func (m *ListSnapshotsResponse) String() string { return proto.CompactTextString(m) }
  2731. func (*ListSnapshotsResponse) ProtoMessage() {}
  2732. func (*ListSnapshotsResponse) Descriptor() ([]byte, []int) {
  2733. return fileDescriptor_csi_31237507707d37ec, []int{37}
  2734. }
  2735. func (m *ListSnapshotsResponse) XXX_Unmarshal(b []byte) error {
  2736. return xxx_messageInfo_ListSnapshotsResponse.Unmarshal(m, b)
  2737. }
  2738. func (m *ListSnapshotsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2739. return xxx_messageInfo_ListSnapshotsResponse.Marshal(b, m, deterministic)
  2740. }
  2741. func (dst *ListSnapshotsResponse) XXX_Merge(src proto.Message) {
  2742. xxx_messageInfo_ListSnapshotsResponse.Merge(dst, src)
  2743. }
  2744. func (m *ListSnapshotsResponse) XXX_Size() int {
  2745. return xxx_messageInfo_ListSnapshotsResponse.Size(m)
  2746. }
  2747. func (m *ListSnapshotsResponse) XXX_DiscardUnknown() {
  2748. xxx_messageInfo_ListSnapshotsResponse.DiscardUnknown(m)
  2749. }
  2750. var xxx_messageInfo_ListSnapshotsResponse proto.InternalMessageInfo
  2751. func (m *ListSnapshotsResponse) GetEntries() []*ListSnapshotsResponse_Entry {
  2752. if m != nil {
  2753. return m.Entries
  2754. }
  2755. return nil
  2756. }
  2757. func (m *ListSnapshotsResponse) GetNextToken() string {
  2758. if m != nil {
  2759. return m.NextToken
  2760. }
  2761. return ""
  2762. }
  2763. type ListSnapshotsResponse_Entry struct {
  2764. Snapshot *Snapshot `protobuf:"bytes,1,opt,name=snapshot" json:"snapshot,omitempty"`
  2765. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  2766. XXX_unrecognized []byte `json:"-"`
  2767. XXX_sizecache int32 `json:"-"`
  2768. }
  2769. func (m *ListSnapshotsResponse_Entry) Reset() { *m = ListSnapshotsResponse_Entry{} }
  2770. func (m *ListSnapshotsResponse_Entry) String() string { return proto.CompactTextString(m) }
  2771. func (*ListSnapshotsResponse_Entry) ProtoMessage() {}
  2772. func (*ListSnapshotsResponse_Entry) Descriptor() ([]byte, []int) {
  2773. return fileDescriptor_csi_31237507707d37ec, []int{37, 0}
  2774. }
  2775. func (m *ListSnapshotsResponse_Entry) XXX_Unmarshal(b []byte) error {
  2776. return xxx_messageInfo_ListSnapshotsResponse_Entry.Unmarshal(m, b)
  2777. }
  2778. func (m *ListSnapshotsResponse_Entry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2779. return xxx_messageInfo_ListSnapshotsResponse_Entry.Marshal(b, m, deterministic)
  2780. }
  2781. func (dst *ListSnapshotsResponse_Entry) XXX_Merge(src proto.Message) {
  2782. xxx_messageInfo_ListSnapshotsResponse_Entry.Merge(dst, src)
  2783. }
  2784. func (m *ListSnapshotsResponse_Entry) XXX_Size() int {
  2785. return xxx_messageInfo_ListSnapshotsResponse_Entry.Size(m)
  2786. }
  2787. func (m *ListSnapshotsResponse_Entry) XXX_DiscardUnknown() {
  2788. xxx_messageInfo_ListSnapshotsResponse_Entry.DiscardUnknown(m)
  2789. }
  2790. var xxx_messageInfo_ListSnapshotsResponse_Entry proto.InternalMessageInfo
  2791. func (m *ListSnapshotsResponse_Entry) GetSnapshot() *Snapshot {
  2792. if m != nil {
  2793. return m.Snapshot
  2794. }
  2795. return nil
  2796. }
  2797. type NodeStageVolumeRequest struct {
  2798. // The ID of the volume to publish. This field is REQUIRED.
  2799. VolumeId string `protobuf:"bytes,1,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
  2800. // The CO SHALL set this field to the value returned by
  2801. // `ControllerPublishVolume` if the corresponding Controller Plugin
  2802. // has `PUBLISH_UNPUBLISH_VOLUME` controller capability, and SHALL be
  2803. // left unset if the corresponding Controller Plugin does not have
  2804. // this capability. This is an OPTIONAL field.
  2805. PublishInfo map[string]string `protobuf:"bytes,2,rep,name=publish_info,json=publishInfo" json:"publish_info,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
  2806. // The path to which the volume will be published. It MUST be an
  2807. // absolute path in the root filesystem of the process serving this
  2808. // request. The CO SHALL ensure that there is only one
  2809. // staging_target_path per volume.
  2810. // This is a REQUIRED field.
  2811. StagingTargetPath string `protobuf:"bytes,3,opt,name=staging_target_path,json=stagingTargetPath" json:"staging_target_path,omitempty"`
  2812. // The capability of the volume the CO expects the volume to have.
  2813. // This is a REQUIRED field.
  2814. VolumeCapability *VolumeCapability `protobuf:"bytes,4,opt,name=volume_capability,json=volumeCapability" json:"volume_capability,omitempty"`
  2815. // Secrets required by plugin to complete node stage volume request.
  2816. // This field is OPTIONAL. Refer to the `Secrets Requirements`
  2817. // section on how to use this field.
  2818. NodeStageSecrets map[string]string `protobuf:"bytes,5,rep,name=node_stage_secrets,json=nodeStageSecrets" json:"node_stage_secrets,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
  2819. // Attributes of the volume to publish. This field is OPTIONAL and
  2820. // MUST match the attributes of the `Volume` identified by
  2821. // `volume_id`.
  2822. VolumeAttributes map[string]string `protobuf:"bytes,6,rep,name=volume_attributes,json=volumeAttributes" json:"volume_attributes,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
  2823. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  2824. XXX_unrecognized []byte `json:"-"`
  2825. XXX_sizecache int32 `json:"-"`
  2826. }
  2827. func (m *NodeStageVolumeRequest) Reset() { *m = NodeStageVolumeRequest{} }
  2828. func (m *NodeStageVolumeRequest) String() string { return proto.CompactTextString(m) }
  2829. func (*NodeStageVolumeRequest) ProtoMessage() {}
  2830. func (*NodeStageVolumeRequest) Descriptor() ([]byte, []int) {
  2831. return fileDescriptor_csi_31237507707d37ec, []int{38}
  2832. }
  2833. func (m *NodeStageVolumeRequest) XXX_Unmarshal(b []byte) error {
  2834. return xxx_messageInfo_NodeStageVolumeRequest.Unmarshal(m, b)
  2835. }
  2836. func (m *NodeStageVolumeRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2837. return xxx_messageInfo_NodeStageVolumeRequest.Marshal(b, m, deterministic)
  2838. }
  2839. func (dst *NodeStageVolumeRequest) XXX_Merge(src proto.Message) {
  2840. xxx_messageInfo_NodeStageVolumeRequest.Merge(dst, src)
  2841. }
  2842. func (m *NodeStageVolumeRequest) XXX_Size() int {
  2843. return xxx_messageInfo_NodeStageVolumeRequest.Size(m)
  2844. }
  2845. func (m *NodeStageVolumeRequest) XXX_DiscardUnknown() {
  2846. xxx_messageInfo_NodeStageVolumeRequest.DiscardUnknown(m)
  2847. }
  2848. var xxx_messageInfo_NodeStageVolumeRequest proto.InternalMessageInfo
  2849. func (m *NodeStageVolumeRequest) GetVolumeId() string {
  2850. if m != nil {
  2851. return m.VolumeId
  2852. }
  2853. return ""
  2854. }
  2855. func (m *NodeStageVolumeRequest) GetPublishInfo() map[string]string {
  2856. if m != nil {
  2857. return m.PublishInfo
  2858. }
  2859. return nil
  2860. }
  2861. func (m *NodeStageVolumeRequest) GetStagingTargetPath() string {
  2862. if m != nil {
  2863. return m.StagingTargetPath
  2864. }
  2865. return ""
  2866. }
  2867. func (m *NodeStageVolumeRequest) GetVolumeCapability() *VolumeCapability {
  2868. if m != nil {
  2869. return m.VolumeCapability
  2870. }
  2871. return nil
  2872. }
  2873. func (m *NodeStageVolumeRequest) GetNodeStageSecrets() map[string]string {
  2874. if m != nil {
  2875. return m.NodeStageSecrets
  2876. }
  2877. return nil
  2878. }
  2879. func (m *NodeStageVolumeRequest) GetVolumeAttributes() map[string]string {
  2880. if m != nil {
  2881. return m.VolumeAttributes
  2882. }
  2883. return nil
  2884. }
  2885. type NodeStageVolumeResponse struct {
  2886. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  2887. XXX_unrecognized []byte `json:"-"`
  2888. XXX_sizecache int32 `json:"-"`
  2889. }
  2890. func (m *NodeStageVolumeResponse) Reset() { *m = NodeStageVolumeResponse{} }
  2891. func (m *NodeStageVolumeResponse) String() string { return proto.CompactTextString(m) }
  2892. func (*NodeStageVolumeResponse) ProtoMessage() {}
  2893. func (*NodeStageVolumeResponse) Descriptor() ([]byte, []int) {
  2894. return fileDescriptor_csi_31237507707d37ec, []int{39}
  2895. }
  2896. func (m *NodeStageVolumeResponse) XXX_Unmarshal(b []byte) error {
  2897. return xxx_messageInfo_NodeStageVolumeResponse.Unmarshal(m, b)
  2898. }
  2899. func (m *NodeStageVolumeResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2900. return xxx_messageInfo_NodeStageVolumeResponse.Marshal(b, m, deterministic)
  2901. }
  2902. func (dst *NodeStageVolumeResponse) XXX_Merge(src proto.Message) {
  2903. xxx_messageInfo_NodeStageVolumeResponse.Merge(dst, src)
  2904. }
  2905. func (m *NodeStageVolumeResponse) XXX_Size() int {
  2906. return xxx_messageInfo_NodeStageVolumeResponse.Size(m)
  2907. }
  2908. func (m *NodeStageVolumeResponse) XXX_DiscardUnknown() {
  2909. xxx_messageInfo_NodeStageVolumeResponse.DiscardUnknown(m)
  2910. }
  2911. var xxx_messageInfo_NodeStageVolumeResponse proto.InternalMessageInfo
  2912. type NodeUnstageVolumeRequest struct {
  2913. // The ID of the volume. This field is REQUIRED.
  2914. VolumeId string `protobuf:"bytes,1,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
  2915. // The path at which the volume was published. It MUST be an absolute
  2916. // path in the root filesystem of the process serving this request.
  2917. // This is a REQUIRED field.
  2918. StagingTargetPath string `protobuf:"bytes,2,opt,name=staging_target_path,json=stagingTargetPath" json:"staging_target_path,omitempty"`
  2919. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  2920. XXX_unrecognized []byte `json:"-"`
  2921. XXX_sizecache int32 `json:"-"`
  2922. }
  2923. func (m *NodeUnstageVolumeRequest) Reset() { *m = NodeUnstageVolumeRequest{} }
  2924. func (m *NodeUnstageVolumeRequest) String() string { return proto.CompactTextString(m) }
  2925. func (*NodeUnstageVolumeRequest) ProtoMessage() {}
  2926. func (*NodeUnstageVolumeRequest) Descriptor() ([]byte, []int) {
  2927. return fileDescriptor_csi_31237507707d37ec, []int{40}
  2928. }
  2929. func (m *NodeUnstageVolumeRequest) XXX_Unmarshal(b []byte) error {
  2930. return xxx_messageInfo_NodeUnstageVolumeRequest.Unmarshal(m, b)
  2931. }
  2932. func (m *NodeUnstageVolumeRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2933. return xxx_messageInfo_NodeUnstageVolumeRequest.Marshal(b, m, deterministic)
  2934. }
  2935. func (dst *NodeUnstageVolumeRequest) XXX_Merge(src proto.Message) {
  2936. xxx_messageInfo_NodeUnstageVolumeRequest.Merge(dst, src)
  2937. }
  2938. func (m *NodeUnstageVolumeRequest) XXX_Size() int {
  2939. return xxx_messageInfo_NodeUnstageVolumeRequest.Size(m)
  2940. }
  2941. func (m *NodeUnstageVolumeRequest) XXX_DiscardUnknown() {
  2942. xxx_messageInfo_NodeUnstageVolumeRequest.DiscardUnknown(m)
  2943. }
  2944. var xxx_messageInfo_NodeUnstageVolumeRequest proto.InternalMessageInfo
  2945. func (m *NodeUnstageVolumeRequest) GetVolumeId() string {
  2946. if m != nil {
  2947. return m.VolumeId
  2948. }
  2949. return ""
  2950. }
  2951. func (m *NodeUnstageVolumeRequest) GetStagingTargetPath() string {
  2952. if m != nil {
  2953. return m.StagingTargetPath
  2954. }
  2955. return ""
  2956. }
  2957. type NodeUnstageVolumeResponse struct {
  2958. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  2959. XXX_unrecognized []byte `json:"-"`
  2960. XXX_sizecache int32 `json:"-"`
  2961. }
  2962. func (m *NodeUnstageVolumeResponse) Reset() { *m = NodeUnstageVolumeResponse{} }
  2963. func (m *NodeUnstageVolumeResponse) String() string { return proto.CompactTextString(m) }
  2964. func (*NodeUnstageVolumeResponse) ProtoMessage() {}
  2965. func (*NodeUnstageVolumeResponse) Descriptor() ([]byte, []int) {
  2966. return fileDescriptor_csi_31237507707d37ec, []int{41}
  2967. }
  2968. func (m *NodeUnstageVolumeResponse) XXX_Unmarshal(b []byte) error {
  2969. return xxx_messageInfo_NodeUnstageVolumeResponse.Unmarshal(m, b)
  2970. }
  2971. func (m *NodeUnstageVolumeResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2972. return xxx_messageInfo_NodeUnstageVolumeResponse.Marshal(b, m, deterministic)
  2973. }
  2974. func (dst *NodeUnstageVolumeResponse) XXX_Merge(src proto.Message) {
  2975. xxx_messageInfo_NodeUnstageVolumeResponse.Merge(dst, src)
  2976. }
  2977. func (m *NodeUnstageVolumeResponse) XXX_Size() int {
  2978. return xxx_messageInfo_NodeUnstageVolumeResponse.Size(m)
  2979. }
  2980. func (m *NodeUnstageVolumeResponse) XXX_DiscardUnknown() {
  2981. xxx_messageInfo_NodeUnstageVolumeResponse.DiscardUnknown(m)
  2982. }
  2983. var xxx_messageInfo_NodeUnstageVolumeResponse proto.InternalMessageInfo
  2984. type NodePublishVolumeRequest struct {
  2985. // The ID of the volume to publish. This field is REQUIRED.
  2986. VolumeId string `protobuf:"bytes,1,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
  2987. // The CO SHALL set this field to the value returned by
  2988. // `ControllerPublishVolume` if the corresponding Controller Plugin
  2989. // has `PUBLISH_UNPUBLISH_VOLUME` controller capability, and SHALL be
  2990. // left unset if the corresponding Controller Plugin does not have
  2991. // this capability. This is an OPTIONAL field.
  2992. PublishInfo map[string]string `protobuf:"bytes,2,rep,name=publish_info,json=publishInfo" json:"publish_info,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
  2993. // The path to which the device was mounted by `NodeStageVolume`.
  2994. // It MUST be an absolute path in the root filesystem of the process
  2995. // serving this request.
  2996. // It MUST be set if the Node Plugin implements the
  2997. // `STAGE_UNSTAGE_VOLUME` node capability.
  2998. // This is an OPTIONAL field.
  2999. StagingTargetPath string `protobuf:"bytes,3,opt,name=staging_target_path,json=stagingTargetPath" json:"staging_target_path,omitempty"`
  3000. // The path to which the volume will be published. It MUST be an
  3001. // absolute path in the root filesystem of the process serving this
  3002. // request. The CO SHALL ensure uniqueness of target_path per volume.
  3003. // The CO SHALL ensure that the path exists, and that the process
  3004. // serving the request has `read` and `write` permissions to the path.
  3005. // This is a REQUIRED field.
  3006. TargetPath string `protobuf:"bytes,4,opt,name=target_path,json=targetPath" json:"target_path,omitempty"`
  3007. // The capability of the volume the CO expects the volume to have.
  3008. // This is a REQUIRED field.
  3009. VolumeCapability *VolumeCapability `protobuf:"bytes,5,opt,name=volume_capability,json=volumeCapability" json:"volume_capability,omitempty"`
  3010. // Whether to publish the volume in readonly mode. This field is
  3011. // REQUIRED.
  3012. Readonly bool `protobuf:"varint,6,opt,name=readonly" json:"readonly,omitempty"`
  3013. // Secrets required by plugin to complete node publish volume request.
  3014. // This field is OPTIONAL. Refer to the `Secrets Requirements`
  3015. // section on how to use this field.
  3016. NodePublishSecrets map[string]string `protobuf:"bytes,7,rep,name=node_publish_secrets,json=nodePublishSecrets" json:"node_publish_secrets,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
  3017. // Attributes of the volume to publish. This field is OPTIONAL and
  3018. // MUST match the attributes of the Volume identified by
  3019. // `volume_id`.
  3020. VolumeAttributes map[string]string `protobuf:"bytes,8,rep,name=volume_attributes,json=volumeAttributes" json:"volume_attributes,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
  3021. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  3022. XXX_unrecognized []byte `json:"-"`
  3023. XXX_sizecache int32 `json:"-"`
  3024. }
  3025. func (m *NodePublishVolumeRequest) Reset() { *m = NodePublishVolumeRequest{} }
  3026. func (m *NodePublishVolumeRequest) String() string { return proto.CompactTextString(m) }
  3027. func (*NodePublishVolumeRequest) ProtoMessage() {}
  3028. func (*NodePublishVolumeRequest) Descriptor() ([]byte, []int) {
  3029. return fileDescriptor_csi_31237507707d37ec, []int{42}
  3030. }
  3031. func (m *NodePublishVolumeRequest) XXX_Unmarshal(b []byte) error {
  3032. return xxx_messageInfo_NodePublishVolumeRequest.Unmarshal(m, b)
  3033. }
  3034. func (m *NodePublishVolumeRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  3035. return xxx_messageInfo_NodePublishVolumeRequest.Marshal(b, m, deterministic)
  3036. }
  3037. func (dst *NodePublishVolumeRequest) XXX_Merge(src proto.Message) {
  3038. xxx_messageInfo_NodePublishVolumeRequest.Merge(dst, src)
  3039. }
  3040. func (m *NodePublishVolumeRequest) XXX_Size() int {
  3041. return xxx_messageInfo_NodePublishVolumeRequest.Size(m)
  3042. }
  3043. func (m *NodePublishVolumeRequest) XXX_DiscardUnknown() {
  3044. xxx_messageInfo_NodePublishVolumeRequest.DiscardUnknown(m)
  3045. }
  3046. var xxx_messageInfo_NodePublishVolumeRequest proto.InternalMessageInfo
  3047. func (m *NodePublishVolumeRequest) GetVolumeId() string {
  3048. if m != nil {
  3049. return m.VolumeId
  3050. }
  3051. return ""
  3052. }
  3053. func (m *NodePublishVolumeRequest) GetPublishInfo() map[string]string {
  3054. if m != nil {
  3055. return m.PublishInfo
  3056. }
  3057. return nil
  3058. }
  3059. func (m *NodePublishVolumeRequest) GetStagingTargetPath() string {
  3060. if m != nil {
  3061. return m.StagingTargetPath
  3062. }
  3063. return ""
  3064. }
  3065. func (m *NodePublishVolumeRequest) GetTargetPath() string {
  3066. if m != nil {
  3067. return m.TargetPath
  3068. }
  3069. return ""
  3070. }
  3071. func (m *NodePublishVolumeRequest) GetVolumeCapability() *VolumeCapability {
  3072. if m != nil {
  3073. return m.VolumeCapability
  3074. }
  3075. return nil
  3076. }
  3077. func (m *NodePublishVolumeRequest) GetReadonly() bool {
  3078. if m != nil {
  3079. return m.Readonly
  3080. }
  3081. return false
  3082. }
  3083. func (m *NodePublishVolumeRequest) GetNodePublishSecrets() map[string]string {
  3084. if m != nil {
  3085. return m.NodePublishSecrets
  3086. }
  3087. return nil
  3088. }
  3089. func (m *NodePublishVolumeRequest) GetVolumeAttributes() map[string]string {
  3090. if m != nil {
  3091. return m.VolumeAttributes
  3092. }
  3093. return nil
  3094. }
  3095. type NodePublishVolumeResponse struct {
  3096. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  3097. XXX_unrecognized []byte `json:"-"`
  3098. XXX_sizecache int32 `json:"-"`
  3099. }
  3100. func (m *NodePublishVolumeResponse) Reset() { *m = NodePublishVolumeResponse{} }
  3101. func (m *NodePublishVolumeResponse) String() string { return proto.CompactTextString(m) }
  3102. func (*NodePublishVolumeResponse) ProtoMessage() {}
  3103. func (*NodePublishVolumeResponse) Descriptor() ([]byte, []int) {
  3104. return fileDescriptor_csi_31237507707d37ec, []int{43}
  3105. }
  3106. func (m *NodePublishVolumeResponse) XXX_Unmarshal(b []byte) error {
  3107. return xxx_messageInfo_NodePublishVolumeResponse.Unmarshal(m, b)
  3108. }
  3109. func (m *NodePublishVolumeResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  3110. return xxx_messageInfo_NodePublishVolumeResponse.Marshal(b, m, deterministic)
  3111. }
  3112. func (dst *NodePublishVolumeResponse) XXX_Merge(src proto.Message) {
  3113. xxx_messageInfo_NodePublishVolumeResponse.Merge(dst, src)
  3114. }
  3115. func (m *NodePublishVolumeResponse) XXX_Size() int {
  3116. return xxx_messageInfo_NodePublishVolumeResponse.Size(m)
  3117. }
  3118. func (m *NodePublishVolumeResponse) XXX_DiscardUnknown() {
  3119. xxx_messageInfo_NodePublishVolumeResponse.DiscardUnknown(m)
  3120. }
  3121. var xxx_messageInfo_NodePublishVolumeResponse proto.InternalMessageInfo
  3122. type NodeUnpublishVolumeRequest struct {
  3123. // The ID of the volume. This field is REQUIRED.
  3124. VolumeId string `protobuf:"bytes,1,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
  3125. // The path at which the volume was published. It MUST be an absolute
  3126. // path in the root filesystem of the process serving this request.
  3127. // This is a REQUIRED field.
  3128. TargetPath string `protobuf:"bytes,2,opt,name=target_path,json=targetPath" json:"target_path,omitempty"`
  3129. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  3130. XXX_unrecognized []byte `json:"-"`
  3131. XXX_sizecache int32 `json:"-"`
  3132. }
  3133. func (m *NodeUnpublishVolumeRequest) Reset() { *m = NodeUnpublishVolumeRequest{} }
  3134. func (m *NodeUnpublishVolumeRequest) String() string { return proto.CompactTextString(m) }
  3135. func (*NodeUnpublishVolumeRequest) ProtoMessage() {}
  3136. func (*NodeUnpublishVolumeRequest) Descriptor() ([]byte, []int) {
  3137. return fileDescriptor_csi_31237507707d37ec, []int{44}
  3138. }
  3139. func (m *NodeUnpublishVolumeRequest) XXX_Unmarshal(b []byte) error {
  3140. return xxx_messageInfo_NodeUnpublishVolumeRequest.Unmarshal(m, b)
  3141. }
  3142. func (m *NodeUnpublishVolumeRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  3143. return xxx_messageInfo_NodeUnpublishVolumeRequest.Marshal(b, m, deterministic)
  3144. }
  3145. func (dst *NodeUnpublishVolumeRequest) XXX_Merge(src proto.Message) {
  3146. xxx_messageInfo_NodeUnpublishVolumeRequest.Merge(dst, src)
  3147. }
  3148. func (m *NodeUnpublishVolumeRequest) XXX_Size() int {
  3149. return xxx_messageInfo_NodeUnpublishVolumeRequest.Size(m)
  3150. }
  3151. func (m *NodeUnpublishVolumeRequest) XXX_DiscardUnknown() {
  3152. xxx_messageInfo_NodeUnpublishVolumeRequest.DiscardUnknown(m)
  3153. }
  3154. var xxx_messageInfo_NodeUnpublishVolumeRequest proto.InternalMessageInfo
  3155. func (m *NodeUnpublishVolumeRequest) GetVolumeId() string {
  3156. if m != nil {
  3157. return m.VolumeId
  3158. }
  3159. return ""
  3160. }
  3161. func (m *NodeUnpublishVolumeRequest) GetTargetPath() string {
  3162. if m != nil {
  3163. return m.TargetPath
  3164. }
  3165. return ""
  3166. }
  3167. type NodeUnpublishVolumeResponse struct {
  3168. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  3169. XXX_unrecognized []byte `json:"-"`
  3170. XXX_sizecache int32 `json:"-"`
  3171. }
  3172. func (m *NodeUnpublishVolumeResponse) Reset() { *m = NodeUnpublishVolumeResponse{} }
  3173. func (m *NodeUnpublishVolumeResponse) String() string { return proto.CompactTextString(m) }
  3174. func (*NodeUnpublishVolumeResponse) ProtoMessage() {}
  3175. func (*NodeUnpublishVolumeResponse) Descriptor() ([]byte, []int) {
  3176. return fileDescriptor_csi_31237507707d37ec, []int{45}
  3177. }
  3178. func (m *NodeUnpublishVolumeResponse) XXX_Unmarshal(b []byte) error {
  3179. return xxx_messageInfo_NodeUnpublishVolumeResponse.Unmarshal(m, b)
  3180. }
  3181. func (m *NodeUnpublishVolumeResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  3182. return xxx_messageInfo_NodeUnpublishVolumeResponse.Marshal(b, m, deterministic)
  3183. }
  3184. func (dst *NodeUnpublishVolumeResponse) XXX_Merge(src proto.Message) {
  3185. xxx_messageInfo_NodeUnpublishVolumeResponse.Merge(dst, src)
  3186. }
  3187. func (m *NodeUnpublishVolumeResponse) XXX_Size() int {
  3188. return xxx_messageInfo_NodeUnpublishVolumeResponse.Size(m)
  3189. }
  3190. func (m *NodeUnpublishVolumeResponse) XXX_DiscardUnknown() {
  3191. xxx_messageInfo_NodeUnpublishVolumeResponse.DiscardUnknown(m)
  3192. }
  3193. var xxx_messageInfo_NodeUnpublishVolumeResponse proto.InternalMessageInfo
  3194. type NodeGetIdRequest struct {
  3195. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  3196. XXX_unrecognized []byte `json:"-"`
  3197. XXX_sizecache int32 `json:"-"`
  3198. }
  3199. func (m *NodeGetIdRequest) Reset() { *m = NodeGetIdRequest{} }
  3200. func (m *NodeGetIdRequest) String() string { return proto.CompactTextString(m) }
  3201. func (*NodeGetIdRequest) ProtoMessage() {}
  3202. func (*NodeGetIdRequest) Descriptor() ([]byte, []int) {
  3203. return fileDescriptor_csi_31237507707d37ec, []int{46}
  3204. }
  3205. func (m *NodeGetIdRequest) XXX_Unmarshal(b []byte) error {
  3206. return xxx_messageInfo_NodeGetIdRequest.Unmarshal(m, b)
  3207. }
  3208. func (m *NodeGetIdRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  3209. return xxx_messageInfo_NodeGetIdRequest.Marshal(b, m, deterministic)
  3210. }
  3211. func (dst *NodeGetIdRequest) XXX_Merge(src proto.Message) {
  3212. xxx_messageInfo_NodeGetIdRequest.Merge(dst, src)
  3213. }
  3214. func (m *NodeGetIdRequest) XXX_Size() int {
  3215. return xxx_messageInfo_NodeGetIdRequest.Size(m)
  3216. }
  3217. func (m *NodeGetIdRequest) XXX_DiscardUnknown() {
  3218. xxx_messageInfo_NodeGetIdRequest.DiscardUnknown(m)
  3219. }
  3220. var xxx_messageInfo_NodeGetIdRequest proto.InternalMessageInfo
  3221. type NodeGetIdResponse struct {
  3222. // The ID of the node as understood by the SP which SHALL be used by
  3223. // CO in subsequent `ControllerPublishVolume`.
  3224. // This is a REQUIRED field.
  3225. NodeId string `protobuf:"bytes,1,opt,name=node_id,json=nodeId" json:"node_id,omitempty"`
  3226. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  3227. XXX_unrecognized []byte `json:"-"`
  3228. XXX_sizecache int32 `json:"-"`
  3229. }
  3230. func (m *NodeGetIdResponse) Reset() { *m = NodeGetIdResponse{} }
  3231. func (m *NodeGetIdResponse) String() string { return proto.CompactTextString(m) }
  3232. func (*NodeGetIdResponse) ProtoMessage() {}
  3233. func (*NodeGetIdResponse) Descriptor() ([]byte, []int) {
  3234. return fileDescriptor_csi_31237507707d37ec, []int{47}
  3235. }
  3236. func (m *NodeGetIdResponse) XXX_Unmarshal(b []byte) error {
  3237. return xxx_messageInfo_NodeGetIdResponse.Unmarshal(m, b)
  3238. }
  3239. func (m *NodeGetIdResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  3240. return xxx_messageInfo_NodeGetIdResponse.Marshal(b, m, deterministic)
  3241. }
  3242. func (dst *NodeGetIdResponse) XXX_Merge(src proto.Message) {
  3243. xxx_messageInfo_NodeGetIdResponse.Merge(dst, src)
  3244. }
  3245. func (m *NodeGetIdResponse) XXX_Size() int {
  3246. return xxx_messageInfo_NodeGetIdResponse.Size(m)
  3247. }
  3248. func (m *NodeGetIdResponse) XXX_DiscardUnknown() {
  3249. xxx_messageInfo_NodeGetIdResponse.DiscardUnknown(m)
  3250. }
  3251. var xxx_messageInfo_NodeGetIdResponse proto.InternalMessageInfo
  3252. func (m *NodeGetIdResponse) GetNodeId() string {
  3253. if m != nil {
  3254. return m.NodeId
  3255. }
  3256. return ""
  3257. }
  3258. type NodeGetCapabilitiesRequest struct {
  3259. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  3260. XXX_unrecognized []byte `json:"-"`
  3261. XXX_sizecache int32 `json:"-"`
  3262. }
  3263. func (m *NodeGetCapabilitiesRequest) Reset() { *m = NodeGetCapabilitiesRequest{} }
  3264. func (m *NodeGetCapabilitiesRequest) String() string { return proto.CompactTextString(m) }
  3265. func (*NodeGetCapabilitiesRequest) ProtoMessage() {}
  3266. func (*NodeGetCapabilitiesRequest) Descriptor() ([]byte, []int) {
  3267. return fileDescriptor_csi_31237507707d37ec, []int{48}
  3268. }
  3269. func (m *NodeGetCapabilitiesRequest) XXX_Unmarshal(b []byte) error {
  3270. return xxx_messageInfo_NodeGetCapabilitiesRequest.Unmarshal(m, b)
  3271. }
  3272. func (m *NodeGetCapabilitiesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  3273. return xxx_messageInfo_NodeGetCapabilitiesRequest.Marshal(b, m, deterministic)
  3274. }
  3275. func (dst *NodeGetCapabilitiesRequest) XXX_Merge(src proto.Message) {
  3276. xxx_messageInfo_NodeGetCapabilitiesRequest.Merge(dst, src)
  3277. }
  3278. func (m *NodeGetCapabilitiesRequest) XXX_Size() int {
  3279. return xxx_messageInfo_NodeGetCapabilitiesRequest.Size(m)
  3280. }
  3281. func (m *NodeGetCapabilitiesRequest) XXX_DiscardUnknown() {
  3282. xxx_messageInfo_NodeGetCapabilitiesRequest.DiscardUnknown(m)
  3283. }
  3284. var xxx_messageInfo_NodeGetCapabilitiesRequest proto.InternalMessageInfo
  3285. type NodeGetCapabilitiesResponse struct {
  3286. // All the capabilities that the node service supports. This field
  3287. // is OPTIONAL.
  3288. Capabilities []*NodeServiceCapability `protobuf:"bytes,1,rep,name=capabilities" json:"capabilities,omitempty"`
  3289. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  3290. XXX_unrecognized []byte `json:"-"`
  3291. XXX_sizecache int32 `json:"-"`
  3292. }
  3293. func (m *NodeGetCapabilitiesResponse) Reset() { *m = NodeGetCapabilitiesResponse{} }
  3294. func (m *NodeGetCapabilitiesResponse) String() string { return proto.CompactTextString(m) }
  3295. func (*NodeGetCapabilitiesResponse) ProtoMessage() {}
  3296. func (*NodeGetCapabilitiesResponse) Descriptor() ([]byte, []int) {
  3297. return fileDescriptor_csi_31237507707d37ec, []int{49}
  3298. }
  3299. func (m *NodeGetCapabilitiesResponse) XXX_Unmarshal(b []byte) error {
  3300. return xxx_messageInfo_NodeGetCapabilitiesResponse.Unmarshal(m, b)
  3301. }
  3302. func (m *NodeGetCapabilitiesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  3303. return xxx_messageInfo_NodeGetCapabilitiesResponse.Marshal(b, m, deterministic)
  3304. }
  3305. func (dst *NodeGetCapabilitiesResponse) XXX_Merge(src proto.Message) {
  3306. xxx_messageInfo_NodeGetCapabilitiesResponse.Merge(dst, src)
  3307. }
  3308. func (m *NodeGetCapabilitiesResponse) XXX_Size() int {
  3309. return xxx_messageInfo_NodeGetCapabilitiesResponse.Size(m)
  3310. }
  3311. func (m *NodeGetCapabilitiesResponse) XXX_DiscardUnknown() {
  3312. xxx_messageInfo_NodeGetCapabilitiesResponse.DiscardUnknown(m)
  3313. }
  3314. var xxx_messageInfo_NodeGetCapabilitiesResponse proto.InternalMessageInfo
  3315. func (m *NodeGetCapabilitiesResponse) GetCapabilities() []*NodeServiceCapability {
  3316. if m != nil {
  3317. return m.Capabilities
  3318. }
  3319. return nil
  3320. }
  3321. // Specifies a capability of the node service.
  3322. type NodeServiceCapability struct {
  3323. // Types that are valid to be assigned to Type:
  3324. // *NodeServiceCapability_Rpc
  3325. Type isNodeServiceCapability_Type `protobuf_oneof:"type"`
  3326. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  3327. XXX_unrecognized []byte `json:"-"`
  3328. XXX_sizecache int32 `json:"-"`
  3329. }
  3330. func (m *NodeServiceCapability) Reset() { *m = NodeServiceCapability{} }
  3331. func (m *NodeServiceCapability) String() string { return proto.CompactTextString(m) }
  3332. func (*NodeServiceCapability) ProtoMessage() {}
  3333. func (*NodeServiceCapability) Descriptor() ([]byte, []int) {
  3334. return fileDescriptor_csi_31237507707d37ec, []int{50}
  3335. }
  3336. func (m *NodeServiceCapability) XXX_Unmarshal(b []byte) error {
  3337. return xxx_messageInfo_NodeServiceCapability.Unmarshal(m, b)
  3338. }
  3339. func (m *NodeServiceCapability) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  3340. return xxx_messageInfo_NodeServiceCapability.Marshal(b, m, deterministic)
  3341. }
  3342. func (dst *NodeServiceCapability) XXX_Merge(src proto.Message) {
  3343. xxx_messageInfo_NodeServiceCapability.Merge(dst, src)
  3344. }
  3345. func (m *NodeServiceCapability) XXX_Size() int {
  3346. return xxx_messageInfo_NodeServiceCapability.Size(m)
  3347. }
  3348. func (m *NodeServiceCapability) XXX_DiscardUnknown() {
  3349. xxx_messageInfo_NodeServiceCapability.DiscardUnknown(m)
  3350. }
  3351. var xxx_messageInfo_NodeServiceCapability proto.InternalMessageInfo
  3352. type isNodeServiceCapability_Type interface {
  3353. isNodeServiceCapability_Type()
  3354. }
  3355. type NodeServiceCapability_Rpc struct {
  3356. Rpc *NodeServiceCapability_RPC `protobuf:"bytes,1,opt,name=rpc,oneof"`
  3357. }
  3358. func (*NodeServiceCapability_Rpc) isNodeServiceCapability_Type() {}
  3359. func (m *NodeServiceCapability) GetType() isNodeServiceCapability_Type {
  3360. if m != nil {
  3361. return m.Type
  3362. }
  3363. return nil
  3364. }
  3365. func (m *NodeServiceCapability) GetRpc() *NodeServiceCapability_RPC {
  3366. if x, ok := m.GetType().(*NodeServiceCapability_Rpc); ok {
  3367. return x.Rpc
  3368. }
  3369. return nil
  3370. }
  3371. // XXX_OneofFuncs is for the internal use of the proto package.
  3372. func (*NodeServiceCapability) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
  3373. return _NodeServiceCapability_OneofMarshaler, _NodeServiceCapability_OneofUnmarshaler, _NodeServiceCapability_OneofSizer, []interface{}{
  3374. (*NodeServiceCapability_Rpc)(nil),
  3375. }
  3376. }
  3377. func _NodeServiceCapability_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
  3378. m := msg.(*NodeServiceCapability)
  3379. // type
  3380. switch x := m.Type.(type) {
  3381. case *NodeServiceCapability_Rpc:
  3382. b.EncodeVarint(1<<3 | proto.WireBytes)
  3383. if err := b.EncodeMessage(x.Rpc); err != nil {
  3384. return err
  3385. }
  3386. case nil:
  3387. default:
  3388. return fmt.Errorf("NodeServiceCapability.Type has unexpected type %T", x)
  3389. }
  3390. return nil
  3391. }
  3392. func _NodeServiceCapability_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
  3393. m := msg.(*NodeServiceCapability)
  3394. switch tag {
  3395. case 1: // type.rpc
  3396. if wire != proto.WireBytes {
  3397. return true, proto.ErrInternalBadWireType
  3398. }
  3399. msg := new(NodeServiceCapability_RPC)
  3400. err := b.DecodeMessage(msg)
  3401. m.Type = &NodeServiceCapability_Rpc{msg}
  3402. return true, err
  3403. default:
  3404. return false, nil
  3405. }
  3406. }
  3407. func _NodeServiceCapability_OneofSizer(msg proto.Message) (n int) {
  3408. m := msg.(*NodeServiceCapability)
  3409. // type
  3410. switch x := m.Type.(type) {
  3411. case *NodeServiceCapability_Rpc:
  3412. s := proto.Size(x.Rpc)
  3413. n += 1 // tag and wire
  3414. n += proto.SizeVarint(uint64(s))
  3415. n += s
  3416. case nil:
  3417. default:
  3418. panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
  3419. }
  3420. return n
  3421. }
  3422. type NodeServiceCapability_RPC struct {
  3423. Type NodeServiceCapability_RPC_Type `protobuf:"varint,1,opt,name=type,enum=csi.v0.NodeServiceCapability_RPC_Type" json:"type,omitempty"`
  3424. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  3425. XXX_unrecognized []byte `json:"-"`
  3426. XXX_sizecache int32 `json:"-"`
  3427. }
  3428. func (m *NodeServiceCapability_RPC) Reset() { *m = NodeServiceCapability_RPC{} }
  3429. func (m *NodeServiceCapability_RPC) String() string { return proto.CompactTextString(m) }
  3430. func (*NodeServiceCapability_RPC) ProtoMessage() {}
  3431. func (*NodeServiceCapability_RPC) Descriptor() ([]byte, []int) {
  3432. return fileDescriptor_csi_31237507707d37ec, []int{50, 0}
  3433. }
  3434. func (m *NodeServiceCapability_RPC) XXX_Unmarshal(b []byte) error {
  3435. return xxx_messageInfo_NodeServiceCapability_RPC.Unmarshal(m, b)
  3436. }
  3437. func (m *NodeServiceCapability_RPC) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  3438. return xxx_messageInfo_NodeServiceCapability_RPC.Marshal(b, m, deterministic)
  3439. }
  3440. func (dst *NodeServiceCapability_RPC) XXX_Merge(src proto.Message) {
  3441. xxx_messageInfo_NodeServiceCapability_RPC.Merge(dst, src)
  3442. }
  3443. func (m *NodeServiceCapability_RPC) XXX_Size() int {
  3444. return xxx_messageInfo_NodeServiceCapability_RPC.Size(m)
  3445. }
  3446. func (m *NodeServiceCapability_RPC) XXX_DiscardUnknown() {
  3447. xxx_messageInfo_NodeServiceCapability_RPC.DiscardUnknown(m)
  3448. }
  3449. var xxx_messageInfo_NodeServiceCapability_RPC proto.InternalMessageInfo
  3450. func (m *NodeServiceCapability_RPC) GetType() NodeServiceCapability_RPC_Type {
  3451. if m != nil {
  3452. return m.Type
  3453. }
  3454. return NodeServiceCapability_RPC_UNKNOWN
  3455. }
  3456. type NodeGetInfoRequest struct {
  3457. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  3458. XXX_unrecognized []byte `json:"-"`
  3459. XXX_sizecache int32 `json:"-"`
  3460. }
  3461. func (m *NodeGetInfoRequest) Reset() { *m = NodeGetInfoRequest{} }
  3462. func (m *NodeGetInfoRequest) String() string { return proto.CompactTextString(m) }
  3463. func (*NodeGetInfoRequest) ProtoMessage() {}
  3464. func (*NodeGetInfoRequest) Descriptor() ([]byte, []int) {
  3465. return fileDescriptor_csi_31237507707d37ec, []int{51}
  3466. }
  3467. func (m *NodeGetInfoRequest) XXX_Unmarshal(b []byte) error {
  3468. return xxx_messageInfo_NodeGetInfoRequest.Unmarshal(m, b)
  3469. }
  3470. func (m *NodeGetInfoRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  3471. return xxx_messageInfo_NodeGetInfoRequest.Marshal(b, m, deterministic)
  3472. }
  3473. func (dst *NodeGetInfoRequest) XXX_Merge(src proto.Message) {
  3474. xxx_messageInfo_NodeGetInfoRequest.Merge(dst, src)
  3475. }
  3476. func (m *NodeGetInfoRequest) XXX_Size() int {
  3477. return xxx_messageInfo_NodeGetInfoRequest.Size(m)
  3478. }
  3479. func (m *NodeGetInfoRequest) XXX_DiscardUnknown() {
  3480. xxx_messageInfo_NodeGetInfoRequest.DiscardUnknown(m)
  3481. }
  3482. var xxx_messageInfo_NodeGetInfoRequest proto.InternalMessageInfo
  3483. type NodeGetInfoResponse struct {
  3484. // The ID of the node as understood by the SP which SHALL be used by
  3485. // CO in subsequent calls to `ControllerPublishVolume`.
  3486. // This is a REQUIRED field.
  3487. NodeId string `protobuf:"bytes,1,opt,name=node_id,json=nodeId" json:"node_id,omitempty"`
  3488. // Maximum number of volumes that controller can publish to the node.
  3489. // If value is not set or zero CO SHALL decide how many volumes of
  3490. // this type can be published by the controller to the node. The
  3491. // plugin MUST NOT set negative values here.
  3492. // This field is OPTIONAL.
  3493. MaxVolumesPerNode int64 `protobuf:"varint,2,opt,name=max_volumes_per_node,json=maxVolumesPerNode" json:"max_volumes_per_node,omitempty"`
  3494. // Specifies where (regions, zones, racks, etc.) the node is
  3495. // accessible from.
  3496. // A plugin that returns this field MUST also set the
  3497. // ACCESSIBILITY_CONSTRAINTS plugin capability.
  3498. // COs MAY use this information along with the topology information
  3499. // returned in CreateVolumeResponse to ensure that a given volume is
  3500. // accessible from a given node when scheduling workloads.
  3501. // This field is OPTIONAL. If it is not specified, the CO MAY assume
  3502. // the node is not subject to any topological constraint, and MAY
  3503. // schedule workloads that reference any volume V, such that there are
  3504. // no topological constraints declared for V.
  3505. //
  3506. // Example 1:
  3507. // accessible_topology =
  3508. // {"region": "R1", "zone": "R2"}
  3509. // Indicates the node exists within the "region" "R1" and the "zone"
  3510. // "Z2".
  3511. AccessibleTopology *Topology `protobuf:"bytes,3,opt,name=accessible_topology,json=accessibleTopology" json:"accessible_topology,omitempty"`
  3512. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  3513. XXX_unrecognized []byte `json:"-"`
  3514. XXX_sizecache int32 `json:"-"`
  3515. }
  3516. func (m *NodeGetInfoResponse) Reset() { *m = NodeGetInfoResponse{} }
  3517. func (m *NodeGetInfoResponse) String() string { return proto.CompactTextString(m) }
  3518. func (*NodeGetInfoResponse) ProtoMessage() {}
  3519. func (*NodeGetInfoResponse) Descriptor() ([]byte, []int) {
  3520. return fileDescriptor_csi_31237507707d37ec, []int{52}
  3521. }
  3522. func (m *NodeGetInfoResponse) XXX_Unmarshal(b []byte) error {
  3523. return xxx_messageInfo_NodeGetInfoResponse.Unmarshal(m, b)
  3524. }
  3525. func (m *NodeGetInfoResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  3526. return xxx_messageInfo_NodeGetInfoResponse.Marshal(b, m, deterministic)
  3527. }
  3528. func (dst *NodeGetInfoResponse) XXX_Merge(src proto.Message) {
  3529. xxx_messageInfo_NodeGetInfoResponse.Merge(dst, src)
  3530. }
  3531. func (m *NodeGetInfoResponse) XXX_Size() int {
  3532. return xxx_messageInfo_NodeGetInfoResponse.Size(m)
  3533. }
  3534. func (m *NodeGetInfoResponse) XXX_DiscardUnknown() {
  3535. xxx_messageInfo_NodeGetInfoResponse.DiscardUnknown(m)
  3536. }
  3537. var xxx_messageInfo_NodeGetInfoResponse proto.InternalMessageInfo
  3538. func (m *NodeGetInfoResponse) GetNodeId() string {
  3539. if m != nil {
  3540. return m.NodeId
  3541. }
  3542. return ""
  3543. }
  3544. func (m *NodeGetInfoResponse) GetMaxVolumesPerNode() int64 {
  3545. if m != nil {
  3546. return m.MaxVolumesPerNode
  3547. }
  3548. return 0
  3549. }
  3550. func (m *NodeGetInfoResponse) GetAccessibleTopology() *Topology {
  3551. if m != nil {
  3552. return m.AccessibleTopology
  3553. }
  3554. return nil
  3555. }
  3556. func init() {
  3557. proto.RegisterType((*GetPluginInfoRequest)(nil), "csi.v0.GetPluginInfoRequest")
  3558. proto.RegisterType((*GetPluginInfoResponse)(nil), "csi.v0.GetPluginInfoResponse")
  3559. proto.RegisterMapType((map[string]string)(nil), "csi.v0.GetPluginInfoResponse.ManifestEntry")
  3560. proto.RegisterType((*GetPluginCapabilitiesRequest)(nil), "csi.v0.GetPluginCapabilitiesRequest")
  3561. proto.RegisterType((*GetPluginCapabilitiesResponse)(nil), "csi.v0.GetPluginCapabilitiesResponse")
  3562. proto.RegisterType((*PluginCapability)(nil), "csi.v0.PluginCapability")
  3563. proto.RegisterType((*PluginCapability_Service)(nil), "csi.v0.PluginCapability.Service")
  3564. proto.RegisterType((*ProbeRequest)(nil), "csi.v0.ProbeRequest")
  3565. proto.RegisterType((*ProbeResponse)(nil), "csi.v0.ProbeResponse")
  3566. proto.RegisterType((*CreateVolumeRequest)(nil), "csi.v0.CreateVolumeRequest")
  3567. proto.RegisterMapType((map[string]string)(nil), "csi.v0.CreateVolumeRequest.ControllerCreateSecretsEntry")
  3568. proto.RegisterMapType((map[string]string)(nil), "csi.v0.CreateVolumeRequest.ParametersEntry")
  3569. proto.RegisterType((*VolumeContentSource)(nil), "csi.v0.VolumeContentSource")
  3570. proto.RegisterType((*VolumeContentSource_SnapshotSource)(nil), "csi.v0.VolumeContentSource.SnapshotSource")
  3571. proto.RegisterType((*CreateVolumeResponse)(nil), "csi.v0.CreateVolumeResponse")
  3572. proto.RegisterType((*VolumeCapability)(nil), "csi.v0.VolumeCapability")
  3573. proto.RegisterType((*VolumeCapability_BlockVolume)(nil), "csi.v0.VolumeCapability.BlockVolume")
  3574. proto.RegisterType((*VolumeCapability_MountVolume)(nil), "csi.v0.VolumeCapability.MountVolume")
  3575. proto.RegisterType((*VolumeCapability_AccessMode)(nil), "csi.v0.VolumeCapability.AccessMode")
  3576. proto.RegisterType((*CapacityRange)(nil), "csi.v0.CapacityRange")
  3577. proto.RegisterType((*Volume)(nil), "csi.v0.Volume")
  3578. proto.RegisterMapType((map[string]string)(nil), "csi.v0.Volume.AttributesEntry")
  3579. proto.RegisterType((*TopologyRequirement)(nil), "csi.v0.TopologyRequirement")
  3580. proto.RegisterType((*Topology)(nil), "csi.v0.Topology")
  3581. proto.RegisterMapType((map[string]string)(nil), "csi.v0.Topology.SegmentsEntry")
  3582. proto.RegisterType((*DeleteVolumeRequest)(nil), "csi.v0.DeleteVolumeRequest")
  3583. proto.RegisterMapType((map[string]string)(nil), "csi.v0.DeleteVolumeRequest.ControllerDeleteSecretsEntry")
  3584. proto.RegisterType((*DeleteVolumeResponse)(nil), "csi.v0.DeleteVolumeResponse")
  3585. proto.RegisterType((*ControllerPublishVolumeRequest)(nil), "csi.v0.ControllerPublishVolumeRequest")
  3586. proto.RegisterMapType((map[string]string)(nil), "csi.v0.ControllerPublishVolumeRequest.ControllerPublishSecretsEntry")
  3587. proto.RegisterMapType((map[string]string)(nil), "csi.v0.ControllerPublishVolumeRequest.VolumeAttributesEntry")
  3588. proto.RegisterType((*ControllerPublishVolumeResponse)(nil), "csi.v0.ControllerPublishVolumeResponse")
  3589. proto.RegisterMapType((map[string]string)(nil), "csi.v0.ControllerPublishVolumeResponse.PublishInfoEntry")
  3590. proto.RegisterType((*ControllerUnpublishVolumeRequest)(nil), "csi.v0.ControllerUnpublishVolumeRequest")
  3591. proto.RegisterMapType((map[string]string)(nil), "csi.v0.ControllerUnpublishVolumeRequest.ControllerUnpublishSecretsEntry")
  3592. proto.RegisterType((*ControllerUnpublishVolumeResponse)(nil), "csi.v0.ControllerUnpublishVolumeResponse")
  3593. proto.RegisterType((*ValidateVolumeCapabilitiesRequest)(nil), "csi.v0.ValidateVolumeCapabilitiesRequest")
  3594. proto.RegisterMapType((map[string]string)(nil), "csi.v0.ValidateVolumeCapabilitiesRequest.VolumeAttributesEntry")
  3595. proto.RegisterType((*ValidateVolumeCapabilitiesResponse)(nil), "csi.v0.ValidateVolumeCapabilitiesResponse")
  3596. proto.RegisterType((*ListVolumesRequest)(nil), "csi.v0.ListVolumesRequest")
  3597. proto.RegisterType((*ListVolumesResponse)(nil), "csi.v0.ListVolumesResponse")
  3598. proto.RegisterType((*ListVolumesResponse_Entry)(nil), "csi.v0.ListVolumesResponse.Entry")
  3599. proto.RegisterType((*GetCapacityRequest)(nil), "csi.v0.GetCapacityRequest")
  3600. proto.RegisterMapType((map[string]string)(nil), "csi.v0.GetCapacityRequest.ParametersEntry")
  3601. proto.RegisterType((*GetCapacityResponse)(nil), "csi.v0.GetCapacityResponse")
  3602. proto.RegisterType((*ControllerGetCapabilitiesRequest)(nil), "csi.v0.ControllerGetCapabilitiesRequest")
  3603. proto.RegisterType((*ControllerGetCapabilitiesResponse)(nil), "csi.v0.ControllerGetCapabilitiesResponse")
  3604. proto.RegisterType((*ControllerServiceCapability)(nil), "csi.v0.ControllerServiceCapability")
  3605. proto.RegisterType((*ControllerServiceCapability_RPC)(nil), "csi.v0.ControllerServiceCapability.RPC")
  3606. proto.RegisterType((*CreateSnapshotRequest)(nil), "csi.v0.CreateSnapshotRequest")
  3607. proto.RegisterMapType((map[string]string)(nil), "csi.v0.CreateSnapshotRequest.CreateSnapshotSecretsEntry")
  3608. proto.RegisterMapType((map[string]string)(nil), "csi.v0.CreateSnapshotRequest.ParametersEntry")
  3609. proto.RegisterType((*CreateSnapshotResponse)(nil), "csi.v0.CreateSnapshotResponse")
  3610. proto.RegisterType((*Snapshot)(nil), "csi.v0.Snapshot")
  3611. proto.RegisterType((*SnapshotStatus)(nil), "csi.v0.SnapshotStatus")
  3612. proto.RegisterType((*DeleteSnapshotRequest)(nil), "csi.v0.DeleteSnapshotRequest")
  3613. proto.RegisterMapType((map[string]string)(nil), "csi.v0.DeleteSnapshotRequest.DeleteSnapshotSecretsEntry")
  3614. proto.RegisterType((*DeleteSnapshotResponse)(nil), "csi.v0.DeleteSnapshotResponse")
  3615. proto.RegisterType((*ListSnapshotsRequest)(nil), "csi.v0.ListSnapshotsRequest")
  3616. proto.RegisterType((*ListSnapshotsResponse)(nil), "csi.v0.ListSnapshotsResponse")
  3617. proto.RegisterType((*ListSnapshotsResponse_Entry)(nil), "csi.v0.ListSnapshotsResponse.Entry")
  3618. proto.RegisterType((*NodeStageVolumeRequest)(nil), "csi.v0.NodeStageVolumeRequest")
  3619. proto.RegisterMapType((map[string]string)(nil), "csi.v0.NodeStageVolumeRequest.NodeStageSecretsEntry")
  3620. proto.RegisterMapType((map[string]string)(nil), "csi.v0.NodeStageVolumeRequest.PublishInfoEntry")
  3621. proto.RegisterMapType((map[string]string)(nil), "csi.v0.NodeStageVolumeRequest.VolumeAttributesEntry")
  3622. proto.RegisterType((*NodeStageVolumeResponse)(nil), "csi.v0.NodeStageVolumeResponse")
  3623. proto.RegisterType((*NodeUnstageVolumeRequest)(nil), "csi.v0.NodeUnstageVolumeRequest")
  3624. proto.RegisterType((*NodeUnstageVolumeResponse)(nil), "csi.v0.NodeUnstageVolumeResponse")
  3625. proto.RegisterType((*NodePublishVolumeRequest)(nil), "csi.v0.NodePublishVolumeRequest")
  3626. proto.RegisterMapType((map[string]string)(nil), "csi.v0.NodePublishVolumeRequest.NodePublishSecretsEntry")
  3627. proto.RegisterMapType((map[string]string)(nil), "csi.v0.NodePublishVolumeRequest.PublishInfoEntry")
  3628. proto.RegisterMapType((map[string]string)(nil), "csi.v0.NodePublishVolumeRequest.VolumeAttributesEntry")
  3629. proto.RegisterType((*NodePublishVolumeResponse)(nil), "csi.v0.NodePublishVolumeResponse")
  3630. proto.RegisterType((*NodeUnpublishVolumeRequest)(nil), "csi.v0.NodeUnpublishVolumeRequest")
  3631. proto.RegisterType((*NodeUnpublishVolumeResponse)(nil), "csi.v0.NodeUnpublishVolumeResponse")
  3632. proto.RegisterType((*NodeGetIdRequest)(nil), "csi.v0.NodeGetIdRequest")
  3633. proto.RegisterType((*NodeGetIdResponse)(nil), "csi.v0.NodeGetIdResponse")
  3634. proto.RegisterType((*NodeGetCapabilitiesRequest)(nil), "csi.v0.NodeGetCapabilitiesRequest")
  3635. proto.RegisterType((*NodeGetCapabilitiesResponse)(nil), "csi.v0.NodeGetCapabilitiesResponse")
  3636. proto.RegisterType((*NodeServiceCapability)(nil), "csi.v0.NodeServiceCapability")
  3637. proto.RegisterType((*NodeServiceCapability_RPC)(nil), "csi.v0.NodeServiceCapability.RPC")
  3638. proto.RegisterType((*NodeGetInfoRequest)(nil), "csi.v0.NodeGetInfoRequest")
  3639. proto.RegisterType((*NodeGetInfoResponse)(nil), "csi.v0.NodeGetInfoResponse")
  3640. proto.RegisterEnum("csi.v0.PluginCapability_Service_Type", PluginCapability_Service_Type_name, PluginCapability_Service_Type_value)
  3641. proto.RegisterEnum("csi.v0.VolumeCapability_AccessMode_Mode", VolumeCapability_AccessMode_Mode_name, VolumeCapability_AccessMode_Mode_value)
  3642. proto.RegisterEnum("csi.v0.ControllerServiceCapability_RPC_Type", ControllerServiceCapability_RPC_Type_name, ControllerServiceCapability_RPC_Type_value)
  3643. proto.RegisterEnum("csi.v0.SnapshotStatus_Type", SnapshotStatus_Type_name, SnapshotStatus_Type_value)
  3644. proto.RegisterEnum("csi.v0.NodeServiceCapability_RPC_Type", NodeServiceCapability_RPC_Type_name, NodeServiceCapability_RPC_Type_value)
  3645. }
  3646. // Reference imports to suppress errors if they are not otherwise used.
  3647. var _ context.Context
  3648. var _ grpc.ClientConn
  3649. // This is a compile-time assertion to ensure that this generated file
  3650. // is compatible with the grpc package it is being compiled against.
  3651. const _ = grpc.SupportPackageIsVersion4
  3652. // Client API for Identity service
  3653. type IdentityClient interface {
  3654. GetPluginInfo(ctx context.Context, in *GetPluginInfoRequest, opts ...grpc.CallOption) (*GetPluginInfoResponse, error)
  3655. GetPluginCapabilities(ctx context.Context, in *GetPluginCapabilitiesRequest, opts ...grpc.CallOption) (*GetPluginCapabilitiesResponse, error)
  3656. Probe(ctx context.Context, in *ProbeRequest, opts ...grpc.CallOption) (*ProbeResponse, error)
  3657. }
  3658. type identityClient struct {
  3659. cc *grpc.ClientConn
  3660. }
  3661. func NewIdentityClient(cc *grpc.ClientConn) IdentityClient {
  3662. return &identityClient{cc}
  3663. }
  3664. func (c *identityClient) GetPluginInfo(ctx context.Context, in *GetPluginInfoRequest, opts ...grpc.CallOption) (*GetPluginInfoResponse, error) {
  3665. out := new(GetPluginInfoResponse)
  3666. err := grpc.Invoke(ctx, "/csi.v0.Identity/GetPluginInfo", in, out, c.cc, opts...)
  3667. if err != nil {
  3668. return nil, err
  3669. }
  3670. return out, nil
  3671. }
  3672. func (c *identityClient) GetPluginCapabilities(ctx context.Context, in *GetPluginCapabilitiesRequest, opts ...grpc.CallOption) (*GetPluginCapabilitiesResponse, error) {
  3673. out := new(GetPluginCapabilitiesResponse)
  3674. err := grpc.Invoke(ctx, "/csi.v0.Identity/GetPluginCapabilities", in, out, c.cc, opts...)
  3675. if err != nil {
  3676. return nil, err
  3677. }
  3678. return out, nil
  3679. }
  3680. func (c *identityClient) Probe(ctx context.Context, in *ProbeRequest, opts ...grpc.CallOption) (*ProbeResponse, error) {
  3681. out := new(ProbeResponse)
  3682. err := grpc.Invoke(ctx, "/csi.v0.Identity/Probe", in, out, c.cc, opts...)
  3683. if err != nil {
  3684. return nil, err
  3685. }
  3686. return out, nil
  3687. }
  3688. // Server API for Identity service
  3689. type IdentityServer interface {
  3690. GetPluginInfo(context.Context, *GetPluginInfoRequest) (*GetPluginInfoResponse, error)
  3691. GetPluginCapabilities(context.Context, *GetPluginCapabilitiesRequest) (*GetPluginCapabilitiesResponse, error)
  3692. Probe(context.Context, *ProbeRequest) (*ProbeResponse, error)
  3693. }
  3694. func RegisterIdentityServer(s *grpc.Server, srv IdentityServer) {
  3695. s.RegisterService(&_Identity_serviceDesc, srv)
  3696. }
  3697. func _Identity_GetPluginInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3698. in := new(GetPluginInfoRequest)
  3699. if err := dec(in); err != nil {
  3700. return nil, err
  3701. }
  3702. if interceptor == nil {
  3703. return srv.(IdentityServer).GetPluginInfo(ctx, in)
  3704. }
  3705. info := &grpc.UnaryServerInfo{
  3706. Server: srv,
  3707. FullMethod: "/csi.v0.Identity/GetPluginInfo",
  3708. }
  3709. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3710. return srv.(IdentityServer).GetPluginInfo(ctx, req.(*GetPluginInfoRequest))
  3711. }
  3712. return interceptor(ctx, in, info, handler)
  3713. }
  3714. func _Identity_GetPluginCapabilities_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3715. in := new(GetPluginCapabilitiesRequest)
  3716. if err := dec(in); err != nil {
  3717. return nil, err
  3718. }
  3719. if interceptor == nil {
  3720. return srv.(IdentityServer).GetPluginCapabilities(ctx, in)
  3721. }
  3722. info := &grpc.UnaryServerInfo{
  3723. Server: srv,
  3724. FullMethod: "/csi.v0.Identity/GetPluginCapabilities",
  3725. }
  3726. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3727. return srv.(IdentityServer).GetPluginCapabilities(ctx, req.(*GetPluginCapabilitiesRequest))
  3728. }
  3729. return interceptor(ctx, in, info, handler)
  3730. }
  3731. func _Identity_Probe_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3732. in := new(ProbeRequest)
  3733. if err := dec(in); err != nil {
  3734. return nil, err
  3735. }
  3736. if interceptor == nil {
  3737. return srv.(IdentityServer).Probe(ctx, in)
  3738. }
  3739. info := &grpc.UnaryServerInfo{
  3740. Server: srv,
  3741. FullMethod: "/csi.v0.Identity/Probe",
  3742. }
  3743. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3744. return srv.(IdentityServer).Probe(ctx, req.(*ProbeRequest))
  3745. }
  3746. return interceptor(ctx, in, info, handler)
  3747. }
  3748. var _Identity_serviceDesc = grpc.ServiceDesc{
  3749. ServiceName: "csi.v0.Identity",
  3750. HandlerType: (*IdentityServer)(nil),
  3751. Methods: []grpc.MethodDesc{
  3752. {
  3753. MethodName: "GetPluginInfo",
  3754. Handler: _Identity_GetPluginInfo_Handler,
  3755. },
  3756. {
  3757. MethodName: "GetPluginCapabilities",
  3758. Handler: _Identity_GetPluginCapabilities_Handler,
  3759. },
  3760. {
  3761. MethodName: "Probe",
  3762. Handler: _Identity_Probe_Handler,
  3763. },
  3764. },
  3765. Streams: []grpc.StreamDesc{},
  3766. Metadata: "csi.proto",
  3767. }
  3768. // Client API for Controller service
  3769. type ControllerClient interface {
  3770. CreateVolume(ctx context.Context, in *CreateVolumeRequest, opts ...grpc.CallOption) (*CreateVolumeResponse, error)
  3771. DeleteVolume(ctx context.Context, in *DeleteVolumeRequest, opts ...grpc.CallOption) (*DeleteVolumeResponse, error)
  3772. ControllerPublishVolume(ctx context.Context, in *ControllerPublishVolumeRequest, opts ...grpc.CallOption) (*ControllerPublishVolumeResponse, error)
  3773. ControllerUnpublishVolume(ctx context.Context, in *ControllerUnpublishVolumeRequest, opts ...grpc.CallOption) (*ControllerUnpublishVolumeResponse, error)
  3774. ValidateVolumeCapabilities(ctx context.Context, in *ValidateVolumeCapabilitiesRequest, opts ...grpc.CallOption) (*ValidateVolumeCapabilitiesResponse, error)
  3775. ListVolumes(ctx context.Context, in *ListVolumesRequest, opts ...grpc.CallOption) (*ListVolumesResponse, error)
  3776. GetCapacity(ctx context.Context, in *GetCapacityRequest, opts ...grpc.CallOption) (*GetCapacityResponse, error)
  3777. ControllerGetCapabilities(ctx context.Context, in *ControllerGetCapabilitiesRequest, opts ...grpc.CallOption) (*ControllerGetCapabilitiesResponse, error)
  3778. CreateSnapshot(ctx context.Context, in *CreateSnapshotRequest, opts ...grpc.CallOption) (*CreateSnapshotResponse, error)
  3779. DeleteSnapshot(ctx context.Context, in *DeleteSnapshotRequest, opts ...grpc.CallOption) (*DeleteSnapshotResponse, error)
  3780. ListSnapshots(ctx context.Context, in *ListSnapshotsRequest, opts ...grpc.CallOption) (*ListSnapshotsResponse, error)
  3781. }
  3782. type controllerClient struct {
  3783. cc *grpc.ClientConn
  3784. }
  3785. func NewControllerClient(cc *grpc.ClientConn) ControllerClient {
  3786. return &controllerClient{cc}
  3787. }
  3788. func (c *controllerClient) CreateVolume(ctx context.Context, in *CreateVolumeRequest, opts ...grpc.CallOption) (*CreateVolumeResponse, error) {
  3789. out := new(CreateVolumeResponse)
  3790. err := grpc.Invoke(ctx, "/csi.v0.Controller/CreateVolume", in, out, c.cc, opts...)
  3791. if err != nil {
  3792. return nil, err
  3793. }
  3794. return out, nil
  3795. }
  3796. func (c *controllerClient) DeleteVolume(ctx context.Context, in *DeleteVolumeRequest, opts ...grpc.CallOption) (*DeleteVolumeResponse, error) {
  3797. out := new(DeleteVolumeResponse)
  3798. err := grpc.Invoke(ctx, "/csi.v0.Controller/DeleteVolume", in, out, c.cc, opts...)
  3799. if err != nil {
  3800. return nil, err
  3801. }
  3802. return out, nil
  3803. }
  3804. func (c *controllerClient) ControllerPublishVolume(ctx context.Context, in *ControllerPublishVolumeRequest, opts ...grpc.CallOption) (*ControllerPublishVolumeResponse, error) {
  3805. out := new(ControllerPublishVolumeResponse)
  3806. err := grpc.Invoke(ctx, "/csi.v0.Controller/ControllerPublishVolume", in, out, c.cc, opts...)
  3807. if err != nil {
  3808. return nil, err
  3809. }
  3810. return out, nil
  3811. }
  3812. func (c *controllerClient) ControllerUnpublishVolume(ctx context.Context, in *ControllerUnpublishVolumeRequest, opts ...grpc.CallOption) (*ControllerUnpublishVolumeResponse, error) {
  3813. out := new(ControllerUnpublishVolumeResponse)
  3814. err := grpc.Invoke(ctx, "/csi.v0.Controller/ControllerUnpublishVolume", in, out, c.cc, opts...)
  3815. if err != nil {
  3816. return nil, err
  3817. }
  3818. return out, nil
  3819. }
  3820. func (c *controllerClient) ValidateVolumeCapabilities(ctx context.Context, in *ValidateVolumeCapabilitiesRequest, opts ...grpc.CallOption) (*ValidateVolumeCapabilitiesResponse, error) {
  3821. out := new(ValidateVolumeCapabilitiesResponse)
  3822. err := grpc.Invoke(ctx, "/csi.v0.Controller/ValidateVolumeCapabilities", in, out, c.cc, opts...)
  3823. if err != nil {
  3824. return nil, err
  3825. }
  3826. return out, nil
  3827. }
  3828. func (c *controllerClient) ListVolumes(ctx context.Context, in *ListVolumesRequest, opts ...grpc.CallOption) (*ListVolumesResponse, error) {
  3829. out := new(ListVolumesResponse)
  3830. err := grpc.Invoke(ctx, "/csi.v0.Controller/ListVolumes", in, out, c.cc, opts...)
  3831. if err != nil {
  3832. return nil, err
  3833. }
  3834. return out, nil
  3835. }
  3836. func (c *controllerClient) GetCapacity(ctx context.Context, in *GetCapacityRequest, opts ...grpc.CallOption) (*GetCapacityResponse, error) {
  3837. out := new(GetCapacityResponse)
  3838. err := grpc.Invoke(ctx, "/csi.v0.Controller/GetCapacity", in, out, c.cc, opts...)
  3839. if err != nil {
  3840. return nil, err
  3841. }
  3842. return out, nil
  3843. }
  3844. func (c *controllerClient) ControllerGetCapabilities(ctx context.Context, in *ControllerGetCapabilitiesRequest, opts ...grpc.CallOption) (*ControllerGetCapabilitiesResponse, error) {
  3845. out := new(ControllerGetCapabilitiesResponse)
  3846. err := grpc.Invoke(ctx, "/csi.v0.Controller/ControllerGetCapabilities", in, out, c.cc, opts...)
  3847. if err != nil {
  3848. return nil, err
  3849. }
  3850. return out, nil
  3851. }
  3852. func (c *controllerClient) CreateSnapshot(ctx context.Context, in *CreateSnapshotRequest, opts ...grpc.CallOption) (*CreateSnapshotResponse, error) {
  3853. out := new(CreateSnapshotResponse)
  3854. err := grpc.Invoke(ctx, "/csi.v0.Controller/CreateSnapshot", in, out, c.cc, opts...)
  3855. if err != nil {
  3856. return nil, err
  3857. }
  3858. return out, nil
  3859. }
  3860. func (c *controllerClient) DeleteSnapshot(ctx context.Context, in *DeleteSnapshotRequest, opts ...grpc.CallOption) (*DeleteSnapshotResponse, error) {
  3861. out := new(DeleteSnapshotResponse)
  3862. err := grpc.Invoke(ctx, "/csi.v0.Controller/DeleteSnapshot", in, out, c.cc, opts...)
  3863. if err != nil {
  3864. return nil, err
  3865. }
  3866. return out, nil
  3867. }
  3868. func (c *controllerClient) ListSnapshots(ctx context.Context, in *ListSnapshotsRequest, opts ...grpc.CallOption) (*ListSnapshotsResponse, error) {
  3869. out := new(ListSnapshotsResponse)
  3870. err := grpc.Invoke(ctx, "/csi.v0.Controller/ListSnapshots", in, out, c.cc, opts...)
  3871. if err != nil {
  3872. return nil, err
  3873. }
  3874. return out, nil
  3875. }
  3876. // Server API for Controller service
  3877. type ControllerServer interface {
  3878. CreateVolume(context.Context, *CreateVolumeRequest) (*CreateVolumeResponse, error)
  3879. DeleteVolume(context.Context, *DeleteVolumeRequest) (*DeleteVolumeResponse, error)
  3880. ControllerPublishVolume(context.Context, *ControllerPublishVolumeRequest) (*ControllerPublishVolumeResponse, error)
  3881. ControllerUnpublishVolume(context.Context, *ControllerUnpublishVolumeRequest) (*ControllerUnpublishVolumeResponse, error)
  3882. ValidateVolumeCapabilities(context.Context, *ValidateVolumeCapabilitiesRequest) (*ValidateVolumeCapabilitiesResponse, error)
  3883. ListVolumes(context.Context, *ListVolumesRequest) (*ListVolumesResponse, error)
  3884. GetCapacity(context.Context, *GetCapacityRequest) (*GetCapacityResponse, error)
  3885. ControllerGetCapabilities(context.Context, *ControllerGetCapabilitiesRequest) (*ControllerGetCapabilitiesResponse, error)
  3886. CreateSnapshot(context.Context, *CreateSnapshotRequest) (*CreateSnapshotResponse, error)
  3887. DeleteSnapshot(context.Context, *DeleteSnapshotRequest) (*DeleteSnapshotResponse, error)
  3888. ListSnapshots(context.Context, *ListSnapshotsRequest) (*ListSnapshotsResponse, error)
  3889. }
  3890. func RegisterControllerServer(s *grpc.Server, srv ControllerServer) {
  3891. s.RegisterService(&_Controller_serviceDesc, srv)
  3892. }
  3893. func _Controller_CreateVolume_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3894. in := new(CreateVolumeRequest)
  3895. if err := dec(in); err != nil {
  3896. return nil, err
  3897. }
  3898. if interceptor == nil {
  3899. return srv.(ControllerServer).CreateVolume(ctx, in)
  3900. }
  3901. info := &grpc.UnaryServerInfo{
  3902. Server: srv,
  3903. FullMethod: "/csi.v0.Controller/CreateVolume",
  3904. }
  3905. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3906. return srv.(ControllerServer).CreateVolume(ctx, req.(*CreateVolumeRequest))
  3907. }
  3908. return interceptor(ctx, in, info, handler)
  3909. }
  3910. func _Controller_DeleteVolume_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3911. in := new(DeleteVolumeRequest)
  3912. if err := dec(in); err != nil {
  3913. return nil, err
  3914. }
  3915. if interceptor == nil {
  3916. return srv.(ControllerServer).DeleteVolume(ctx, in)
  3917. }
  3918. info := &grpc.UnaryServerInfo{
  3919. Server: srv,
  3920. FullMethod: "/csi.v0.Controller/DeleteVolume",
  3921. }
  3922. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3923. return srv.(ControllerServer).DeleteVolume(ctx, req.(*DeleteVolumeRequest))
  3924. }
  3925. return interceptor(ctx, in, info, handler)
  3926. }
  3927. func _Controller_ControllerPublishVolume_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3928. in := new(ControllerPublishVolumeRequest)
  3929. if err := dec(in); err != nil {
  3930. return nil, err
  3931. }
  3932. if interceptor == nil {
  3933. return srv.(ControllerServer).ControllerPublishVolume(ctx, in)
  3934. }
  3935. info := &grpc.UnaryServerInfo{
  3936. Server: srv,
  3937. FullMethod: "/csi.v0.Controller/ControllerPublishVolume",
  3938. }
  3939. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3940. return srv.(ControllerServer).ControllerPublishVolume(ctx, req.(*ControllerPublishVolumeRequest))
  3941. }
  3942. return interceptor(ctx, in, info, handler)
  3943. }
  3944. func _Controller_ControllerUnpublishVolume_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3945. in := new(ControllerUnpublishVolumeRequest)
  3946. if err := dec(in); err != nil {
  3947. return nil, err
  3948. }
  3949. if interceptor == nil {
  3950. return srv.(ControllerServer).ControllerUnpublishVolume(ctx, in)
  3951. }
  3952. info := &grpc.UnaryServerInfo{
  3953. Server: srv,
  3954. FullMethod: "/csi.v0.Controller/ControllerUnpublishVolume",
  3955. }
  3956. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3957. return srv.(ControllerServer).ControllerUnpublishVolume(ctx, req.(*ControllerUnpublishVolumeRequest))
  3958. }
  3959. return interceptor(ctx, in, info, handler)
  3960. }
  3961. func _Controller_ValidateVolumeCapabilities_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3962. in := new(ValidateVolumeCapabilitiesRequest)
  3963. if err := dec(in); err != nil {
  3964. return nil, err
  3965. }
  3966. if interceptor == nil {
  3967. return srv.(ControllerServer).ValidateVolumeCapabilities(ctx, in)
  3968. }
  3969. info := &grpc.UnaryServerInfo{
  3970. Server: srv,
  3971. FullMethod: "/csi.v0.Controller/ValidateVolumeCapabilities",
  3972. }
  3973. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3974. return srv.(ControllerServer).ValidateVolumeCapabilities(ctx, req.(*ValidateVolumeCapabilitiesRequest))
  3975. }
  3976. return interceptor(ctx, in, info, handler)
  3977. }
  3978. func _Controller_ListVolumes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3979. in := new(ListVolumesRequest)
  3980. if err := dec(in); err != nil {
  3981. return nil, err
  3982. }
  3983. if interceptor == nil {
  3984. return srv.(ControllerServer).ListVolumes(ctx, in)
  3985. }
  3986. info := &grpc.UnaryServerInfo{
  3987. Server: srv,
  3988. FullMethod: "/csi.v0.Controller/ListVolumes",
  3989. }
  3990. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3991. return srv.(ControllerServer).ListVolumes(ctx, req.(*ListVolumesRequest))
  3992. }
  3993. return interceptor(ctx, in, info, handler)
  3994. }
  3995. func _Controller_GetCapacity_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3996. in := new(GetCapacityRequest)
  3997. if err := dec(in); err != nil {
  3998. return nil, err
  3999. }
  4000. if interceptor == nil {
  4001. return srv.(ControllerServer).GetCapacity(ctx, in)
  4002. }
  4003. info := &grpc.UnaryServerInfo{
  4004. Server: srv,
  4005. FullMethod: "/csi.v0.Controller/GetCapacity",
  4006. }
  4007. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  4008. return srv.(ControllerServer).GetCapacity(ctx, req.(*GetCapacityRequest))
  4009. }
  4010. return interceptor(ctx, in, info, handler)
  4011. }
  4012. func _Controller_ControllerGetCapabilities_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  4013. in := new(ControllerGetCapabilitiesRequest)
  4014. if err := dec(in); err != nil {
  4015. return nil, err
  4016. }
  4017. if interceptor == nil {
  4018. return srv.(ControllerServer).ControllerGetCapabilities(ctx, in)
  4019. }
  4020. info := &grpc.UnaryServerInfo{
  4021. Server: srv,
  4022. FullMethod: "/csi.v0.Controller/ControllerGetCapabilities",
  4023. }
  4024. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  4025. return srv.(ControllerServer).ControllerGetCapabilities(ctx, req.(*ControllerGetCapabilitiesRequest))
  4026. }
  4027. return interceptor(ctx, in, info, handler)
  4028. }
  4029. func _Controller_CreateSnapshot_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  4030. in := new(CreateSnapshotRequest)
  4031. if err := dec(in); err != nil {
  4032. return nil, err
  4033. }
  4034. if interceptor == nil {
  4035. return srv.(ControllerServer).CreateSnapshot(ctx, in)
  4036. }
  4037. info := &grpc.UnaryServerInfo{
  4038. Server: srv,
  4039. FullMethod: "/csi.v0.Controller/CreateSnapshot",
  4040. }
  4041. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  4042. return srv.(ControllerServer).CreateSnapshot(ctx, req.(*CreateSnapshotRequest))
  4043. }
  4044. return interceptor(ctx, in, info, handler)
  4045. }
  4046. func _Controller_DeleteSnapshot_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  4047. in := new(DeleteSnapshotRequest)
  4048. if err := dec(in); err != nil {
  4049. return nil, err
  4050. }
  4051. if interceptor == nil {
  4052. return srv.(ControllerServer).DeleteSnapshot(ctx, in)
  4053. }
  4054. info := &grpc.UnaryServerInfo{
  4055. Server: srv,
  4056. FullMethod: "/csi.v0.Controller/DeleteSnapshot",
  4057. }
  4058. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  4059. return srv.(ControllerServer).DeleteSnapshot(ctx, req.(*DeleteSnapshotRequest))
  4060. }
  4061. return interceptor(ctx, in, info, handler)
  4062. }
  4063. func _Controller_ListSnapshots_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  4064. in := new(ListSnapshotsRequest)
  4065. if err := dec(in); err != nil {
  4066. return nil, err
  4067. }
  4068. if interceptor == nil {
  4069. return srv.(ControllerServer).ListSnapshots(ctx, in)
  4070. }
  4071. info := &grpc.UnaryServerInfo{
  4072. Server: srv,
  4073. FullMethod: "/csi.v0.Controller/ListSnapshots",
  4074. }
  4075. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  4076. return srv.(ControllerServer).ListSnapshots(ctx, req.(*ListSnapshotsRequest))
  4077. }
  4078. return interceptor(ctx, in, info, handler)
  4079. }
  4080. var _Controller_serviceDesc = grpc.ServiceDesc{
  4081. ServiceName: "csi.v0.Controller",
  4082. HandlerType: (*ControllerServer)(nil),
  4083. Methods: []grpc.MethodDesc{
  4084. {
  4085. MethodName: "CreateVolume",
  4086. Handler: _Controller_CreateVolume_Handler,
  4087. },
  4088. {
  4089. MethodName: "DeleteVolume",
  4090. Handler: _Controller_DeleteVolume_Handler,
  4091. },
  4092. {
  4093. MethodName: "ControllerPublishVolume",
  4094. Handler: _Controller_ControllerPublishVolume_Handler,
  4095. },
  4096. {
  4097. MethodName: "ControllerUnpublishVolume",
  4098. Handler: _Controller_ControllerUnpublishVolume_Handler,
  4099. },
  4100. {
  4101. MethodName: "ValidateVolumeCapabilities",
  4102. Handler: _Controller_ValidateVolumeCapabilities_Handler,
  4103. },
  4104. {
  4105. MethodName: "ListVolumes",
  4106. Handler: _Controller_ListVolumes_Handler,
  4107. },
  4108. {
  4109. MethodName: "GetCapacity",
  4110. Handler: _Controller_GetCapacity_Handler,
  4111. },
  4112. {
  4113. MethodName: "ControllerGetCapabilities",
  4114. Handler: _Controller_ControllerGetCapabilities_Handler,
  4115. },
  4116. {
  4117. MethodName: "CreateSnapshot",
  4118. Handler: _Controller_CreateSnapshot_Handler,
  4119. },
  4120. {
  4121. MethodName: "DeleteSnapshot",
  4122. Handler: _Controller_DeleteSnapshot_Handler,
  4123. },
  4124. {
  4125. MethodName: "ListSnapshots",
  4126. Handler: _Controller_ListSnapshots_Handler,
  4127. },
  4128. },
  4129. Streams: []grpc.StreamDesc{},
  4130. Metadata: "csi.proto",
  4131. }
  4132. // Client API for Node service
  4133. type NodeClient interface {
  4134. NodeStageVolume(ctx context.Context, in *NodeStageVolumeRequest, opts ...grpc.CallOption) (*NodeStageVolumeResponse, error)
  4135. NodeUnstageVolume(ctx context.Context, in *NodeUnstageVolumeRequest, opts ...grpc.CallOption) (*NodeUnstageVolumeResponse, error)
  4136. NodePublishVolume(ctx context.Context, in *NodePublishVolumeRequest, opts ...grpc.CallOption) (*NodePublishVolumeResponse, error)
  4137. NodeUnpublishVolume(ctx context.Context, in *NodeUnpublishVolumeRequest, opts ...grpc.CallOption) (*NodeUnpublishVolumeResponse, error)
  4138. // NodeGetId is being deprecated in favor of NodeGetInfo and will be
  4139. // removed in CSI 1.0. Existing drivers, however, may depend on this
  4140. // RPC call and hence this RPC call MUST be implemented by the CSI
  4141. // plugin prior to v1.0.
  4142. NodeGetId(ctx context.Context, in *NodeGetIdRequest, opts ...grpc.CallOption) (*NodeGetIdResponse, error)
  4143. NodeGetCapabilities(ctx context.Context, in *NodeGetCapabilitiesRequest, opts ...grpc.CallOption) (*NodeGetCapabilitiesResponse, error)
  4144. // Prior to CSI 1.0 - CSI plugins MUST implement both NodeGetId and
  4145. // NodeGetInfo RPC calls.
  4146. NodeGetInfo(ctx context.Context, in *NodeGetInfoRequest, opts ...grpc.CallOption) (*NodeGetInfoResponse, error)
  4147. }
  4148. type nodeClient struct {
  4149. cc *grpc.ClientConn
  4150. }
  4151. func NewNodeClient(cc *grpc.ClientConn) NodeClient {
  4152. return &nodeClient{cc}
  4153. }
  4154. func (c *nodeClient) NodeStageVolume(ctx context.Context, in *NodeStageVolumeRequest, opts ...grpc.CallOption) (*NodeStageVolumeResponse, error) {
  4155. out := new(NodeStageVolumeResponse)
  4156. err := grpc.Invoke(ctx, "/csi.v0.Node/NodeStageVolume", in, out, c.cc, opts...)
  4157. if err != nil {
  4158. return nil, err
  4159. }
  4160. return out, nil
  4161. }
  4162. func (c *nodeClient) NodeUnstageVolume(ctx context.Context, in *NodeUnstageVolumeRequest, opts ...grpc.CallOption) (*NodeUnstageVolumeResponse, error) {
  4163. out := new(NodeUnstageVolumeResponse)
  4164. err := grpc.Invoke(ctx, "/csi.v0.Node/NodeUnstageVolume", in, out, c.cc, opts...)
  4165. if err != nil {
  4166. return nil, err
  4167. }
  4168. return out, nil
  4169. }
  4170. func (c *nodeClient) NodePublishVolume(ctx context.Context, in *NodePublishVolumeRequest, opts ...grpc.CallOption) (*NodePublishVolumeResponse, error) {
  4171. out := new(NodePublishVolumeResponse)
  4172. err := grpc.Invoke(ctx, "/csi.v0.Node/NodePublishVolume", in, out, c.cc, opts...)
  4173. if err != nil {
  4174. return nil, err
  4175. }
  4176. return out, nil
  4177. }
  4178. func (c *nodeClient) NodeUnpublishVolume(ctx context.Context, in *NodeUnpublishVolumeRequest, opts ...grpc.CallOption) (*NodeUnpublishVolumeResponse, error) {
  4179. out := new(NodeUnpublishVolumeResponse)
  4180. err := grpc.Invoke(ctx, "/csi.v0.Node/NodeUnpublishVolume", in, out, c.cc, opts...)
  4181. if err != nil {
  4182. return nil, err
  4183. }
  4184. return out, nil
  4185. }
  4186. // Deprecated: Do not use.
  4187. func (c *nodeClient) NodeGetId(ctx context.Context, in *NodeGetIdRequest, opts ...grpc.CallOption) (*NodeGetIdResponse, error) {
  4188. out := new(NodeGetIdResponse)
  4189. err := grpc.Invoke(ctx, "/csi.v0.Node/NodeGetId", in, out, c.cc, opts...)
  4190. if err != nil {
  4191. return nil, err
  4192. }
  4193. return out, nil
  4194. }
  4195. func (c *nodeClient) NodeGetCapabilities(ctx context.Context, in *NodeGetCapabilitiesRequest, opts ...grpc.CallOption) (*NodeGetCapabilitiesResponse, error) {
  4196. out := new(NodeGetCapabilitiesResponse)
  4197. err := grpc.Invoke(ctx, "/csi.v0.Node/NodeGetCapabilities", in, out, c.cc, opts...)
  4198. if err != nil {
  4199. return nil, err
  4200. }
  4201. return out, nil
  4202. }
  4203. func (c *nodeClient) NodeGetInfo(ctx context.Context, in *NodeGetInfoRequest, opts ...grpc.CallOption) (*NodeGetInfoResponse, error) {
  4204. out := new(NodeGetInfoResponse)
  4205. err := grpc.Invoke(ctx, "/csi.v0.Node/NodeGetInfo", in, out, c.cc, opts...)
  4206. if err != nil {
  4207. return nil, err
  4208. }
  4209. return out, nil
  4210. }
  4211. // Server API for Node service
  4212. type NodeServer interface {
  4213. NodeStageVolume(context.Context, *NodeStageVolumeRequest) (*NodeStageVolumeResponse, error)
  4214. NodeUnstageVolume(context.Context, *NodeUnstageVolumeRequest) (*NodeUnstageVolumeResponse, error)
  4215. NodePublishVolume(context.Context, *NodePublishVolumeRequest) (*NodePublishVolumeResponse, error)
  4216. NodeUnpublishVolume(context.Context, *NodeUnpublishVolumeRequest) (*NodeUnpublishVolumeResponse, error)
  4217. // NodeGetId is being deprecated in favor of NodeGetInfo and will be
  4218. // removed in CSI 1.0. Existing drivers, however, may depend on this
  4219. // RPC call and hence this RPC call MUST be implemented by the CSI
  4220. // plugin prior to v1.0.
  4221. NodeGetId(context.Context, *NodeGetIdRequest) (*NodeGetIdResponse, error)
  4222. NodeGetCapabilities(context.Context, *NodeGetCapabilitiesRequest) (*NodeGetCapabilitiesResponse, error)
  4223. // Prior to CSI 1.0 - CSI plugins MUST implement both NodeGetId and
  4224. // NodeGetInfo RPC calls.
  4225. NodeGetInfo(context.Context, *NodeGetInfoRequest) (*NodeGetInfoResponse, error)
  4226. }
  4227. func RegisterNodeServer(s *grpc.Server, srv NodeServer) {
  4228. s.RegisterService(&_Node_serviceDesc, srv)
  4229. }
  4230. func _Node_NodeStageVolume_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  4231. in := new(NodeStageVolumeRequest)
  4232. if err := dec(in); err != nil {
  4233. return nil, err
  4234. }
  4235. if interceptor == nil {
  4236. return srv.(NodeServer).NodeStageVolume(ctx, in)
  4237. }
  4238. info := &grpc.UnaryServerInfo{
  4239. Server: srv,
  4240. FullMethod: "/csi.v0.Node/NodeStageVolume",
  4241. }
  4242. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  4243. return srv.(NodeServer).NodeStageVolume(ctx, req.(*NodeStageVolumeRequest))
  4244. }
  4245. return interceptor(ctx, in, info, handler)
  4246. }
  4247. func _Node_NodeUnstageVolume_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  4248. in := new(NodeUnstageVolumeRequest)
  4249. if err := dec(in); err != nil {
  4250. return nil, err
  4251. }
  4252. if interceptor == nil {
  4253. return srv.(NodeServer).NodeUnstageVolume(ctx, in)
  4254. }
  4255. info := &grpc.UnaryServerInfo{
  4256. Server: srv,
  4257. FullMethod: "/csi.v0.Node/NodeUnstageVolume",
  4258. }
  4259. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  4260. return srv.(NodeServer).NodeUnstageVolume(ctx, req.(*NodeUnstageVolumeRequest))
  4261. }
  4262. return interceptor(ctx, in, info, handler)
  4263. }
  4264. func _Node_NodePublishVolume_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  4265. in := new(NodePublishVolumeRequest)
  4266. if err := dec(in); err != nil {
  4267. return nil, err
  4268. }
  4269. if interceptor == nil {
  4270. return srv.(NodeServer).NodePublishVolume(ctx, in)
  4271. }
  4272. info := &grpc.UnaryServerInfo{
  4273. Server: srv,
  4274. FullMethod: "/csi.v0.Node/NodePublishVolume",
  4275. }
  4276. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  4277. return srv.(NodeServer).NodePublishVolume(ctx, req.(*NodePublishVolumeRequest))
  4278. }
  4279. return interceptor(ctx, in, info, handler)
  4280. }
  4281. func _Node_NodeUnpublishVolume_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  4282. in := new(NodeUnpublishVolumeRequest)
  4283. if err := dec(in); err != nil {
  4284. return nil, err
  4285. }
  4286. if interceptor == nil {
  4287. return srv.(NodeServer).NodeUnpublishVolume(ctx, in)
  4288. }
  4289. info := &grpc.UnaryServerInfo{
  4290. Server: srv,
  4291. FullMethod: "/csi.v0.Node/NodeUnpublishVolume",
  4292. }
  4293. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  4294. return srv.(NodeServer).NodeUnpublishVolume(ctx, req.(*NodeUnpublishVolumeRequest))
  4295. }
  4296. return interceptor(ctx, in, info, handler)
  4297. }
  4298. func _Node_NodeGetId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  4299. in := new(NodeGetIdRequest)
  4300. if err := dec(in); err != nil {
  4301. return nil, err
  4302. }
  4303. if interceptor == nil {
  4304. return srv.(NodeServer).NodeGetId(ctx, in)
  4305. }
  4306. info := &grpc.UnaryServerInfo{
  4307. Server: srv,
  4308. FullMethod: "/csi.v0.Node/NodeGetId",
  4309. }
  4310. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  4311. return srv.(NodeServer).NodeGetId(ctx, req.(*NodeGetIdRequest))
  4312. }
  4313. return interceptor(ctx, in, info, handler)
  4314. }
  4315. func _Node_NodeGetCapabilities_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  4316. in := new(NodeGetCapabilitiesRequest)
  4317. if err := dec(in); err != nil {
  4318. return nil, err
  4319. }
  4320. if interceptor == nil {
  4321. return srv.(NodeServer).NodeGetCapabilities(ctx, in)
  4322. }
  4323. info := &grpc.UnaryServerInfo{
  4324. Server: srv,
  4325. FullMethod: "/csi.v0.Node/NodeGetCapabilities",
  4326. }
  4327. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  4328. return srv.(NodeServer).NodeGetCapabilities(ctx, req.(*NodeGetCapabilitiesRequest))
  4329. }
  4330. return interceptor(ctx, in, info, handler)
  4331. }
  4332. func _Node_NodeGetInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  4333. in := new(NodeGetInfoRequest)
  4334. if err := dec(in); err != nil {
  4335. return nil, err
  4336. }
  4337. if interceptor == nil {
  4338. return srv.(NodeServer).NodeGetInfo(ctx, in)
  4339. }
  4340. info := &grpc.UnaryServerInfo{
  4341. Server: srv,
  4342. FullMethod: "/csi.v0.Node/NodeGetInfo",
  4343. }
  4344. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  4345. return srv.(NodeServer).NodeGetInfo(ctx, req.(*NodeGetInfoRequest))
  4346. }
  4347. return interceptor(ctx, in, info, handler)
  4348. }
  4349. var _Node_serviceDesc = grpc.ServiceDesc{
  4350. ServiceName: "csi.v0.Node",
  4351. HandlerType: (*NodeServer)(nil),
  4352. Methods: []grpc.MethodDesc{
  4353. {
  4354. MethodName: "NodeStageVolume",
  4355. Handler: _Node_NodeStageVolume_Handler,
  4356. },
  4357. {
  4358. MethodName: "NodeUnstageVolume",
  4359. Handler: _Node_NodeUnstageVolume_Handler,
  4360. },
  4361. {
  4362. MethodName: "NodePublishVolume",
  4363. Handler: _Node_NodePublishVolume_Handler,
  4364. },
  4365. {
  4366. MethodName: "NodeUnpublishVolume",
  4367. Handler: _Node_NodeUnpublishVolume_Handler,
  4368. },
  4369. {
  4370. MethodName: "NodeGetId",
  4371. Handler: _Node_NodeGetId_Handler,
  4372. },
  4373. {
  4374. MethodName: "NodeGetCapabilities",
  4375. Handler: _Node_NodeGetCapabilities_Handler,
  4376. },
  4377. {
  4378. MethodName: "NodeGetInfo",
  4379. Handler: _Node_NodeGetInfo_Handler,
  4380. },
  4381. },
  4382. Streams: []grpc.StreamDesc{},
  4383. Metadata: "csi.proto",
  4384. }
  4385. func init() { proto.RegisterFile("csi.proto", fileDescriptor_csi_31237507707d37ec) }
  4386. var fileDescriptor_csi_31237507707d37ec = []byte{
  4387. // 2932 bytes of a gzipped FileDescriptorProto
  4388. 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x1a, 0x4d, 0x73, 0x23, 0x47,
  4389. 0xd5, 0xa3, 0x0f, 0xdb, 0x7a, 0x5e, 0x3b, 0xda, 0xf6, 0x97, 0x3c, 0xb6, 0x77, 0xbd, 0xb3, 0xd9,
  4390. 0x64, 0x13, 0x12, 0x6d, 0x30, 0x24, 0x15, 0x92, 0x4d, 0x40, 0x96, 0x15, 0x5b, 0x59, 0x5b, 0x36,
  4391. 0x23, 0xd9, 0xa9, 0x5d, 0x42, 0x4d, 0xc6, 0x52, 0x5b, 0x3b, 0xac, 0x3c, 0xa3, 0xcc, 0x8c, 0xcc,
  4392. 0x9a, 0x1b, 0x70, 0x01, 0x4e, 0xf0, 0x0b, 0x52, 0x95, 0x1b, 0x14, 0xb9, 0x50, 0xdc, 0xa8, 0xe2,
  4393. 0x46, 0x15, 0x27, 0xce, 0x9c, 0xb8, 0xa7, 0xe0, 0xc8, 0x89, 0x2a, 0xaa, 0xa8, 0x9e, 0xee, 0x19,
  4394. 0x4d, 0xb7, 0x7a, 0xf4, 0x91, 0xdd, 0x4a, 0x71, 0x92, 0xe6, 0x7d, 0xf5, 0xeb, 0xd7, 0xef, 0xbd,
  4395. 0x7e, 0xef, 0xcd, 0x40, 0xae, 0xe9, 0x59, 0xc5, 0xae, 0xeb, 0xf8, 0x0e, 0x9a, 0x26, 0x7f, 0x2f,
  4396. 0xdf, 0x50, 0x6f, 0xb4, 0x1d, 0xa7, 0xdd, 0xc1, 0xf7, 0x02, 0xe8, 0x59, 0xef, 0xfc, 0xde, 0x8f,
  4397. 0x5d, 0xb3, 0xdb, 0xc5, 0xae, 0x47, 0xe9, 0xb4, 0x15, 0x58, 0xda, 0xc3, 0xfe, 0x71, 0xa7, 0xd7,
  4398. 0xb6, 0xec, 0xaa, 0x7d, 0xee, 0xe8, 0xf8, 0xd3, 0x1e, 0xf6, 0x7c, 0xed, 0xef, 0x0a, 0x2c, 0x0b,
  4399. 0x08, 0xaf, 0xeb, 0xd8, 0x1e, 0x46, 0x08, 0x32, 0xb6, 0x79, 0x81, 0x0b, 0xca, 0x96, 0x72, 0x37,
  4400. 0xa7, 0x07, 0xff, 0xd1, 0x1d, 0x58, 0xb8, 0xc4, 0x76, 0xcb, 0x71, 0x8d, 0x4b, 0xec, 0x7a, 0x96,
  4401. 0x63, 0x17, 0x52, 0x01, 0x76, 0x9e, 0x42, 0x4f, 0x29, 0x10, 0xed, 0xc1, 0xec, 0x85, 0x69, 0x5b,
  4402. 0xe7, 0xd8, 0xf3, 0x0b, 0xe9, 0xad, 0xf4, 0xdd, 0xb9, 0xed, 0x6f, 0x14, 0xa9, 0x9e, 0x45, 0xe9,
  4403. 0x5a, 0xc5, 0x43, 0x46, 0x5d, 0xb1, 0x7d, 0xf7, 0x4a, 0x8f, 0x98, 0xd5, 0x77, 0x61, 0x9e, 0x43,
  4404. 0xa1, 0x3c, 0xa4, 0x9f, 0xe0, 0x2b, 0xa6, 0x13, 0xf9, 0x8b, 0x96, 0x20, 0x7b, 0x69, 0x76, 0x7a,
  4405. 0x98, 0x69, 0x42, 0x1f, 0xde, 0x49, 0xbd, 0xad, 0x68, 0x37, 0x60, 0x23, 0x5a, 0xad, 0x6c, 0x76,
  4406. 0xcd, 0x33, 0xab, 0x63, 0xf9, 0x16, 0xf6, 0xc2, 0xad, 0xff, 0x10, 0x36, 0x13, 0xf0, 0xcc, 0x02,
  4407. 0xf7, 0xe1, 0x5a, 0x33, 0x06, 0x2f, 0xa4, 0x82, 0xad, 0x14, 0xc2, 0xad, 0x08, 0x9c, 0x57, 0x3a,
  4408. 0x47, 0xad, 0xfd, 0x53, 0x81, 0xbc, 0x48, 0x82, 0xee, 0xc3, 0x8c, 0x87, 0xdd, 0x4b, 0xab, 0x49,
  4409. 0xed, 0x3a, 0xb7, 0xbd, 0x95, 0x24, 0xad, 0x58, 0xa7, 0x74, 0xfb, 0x53, 0x7a, 0xc8, 0xa2, 0xfe,
  4410. 0x5a, 0x81, 0x19, 0x06, 0x46, 0xdf, 0x81, 0x8c, 0x7f, 0xd5, 0xa5, 0x62, 0x16, 0xb6, 0xef, 0x8c,
  4411. 0x12, 0x53, 0x6c, 0x5c, 0x75, 0xb1, 0x1e, 0xb0, 0x68, 0x1f, 0x42, 0x86, 0x3c, 0xa1, 0x39, 0x98,
  4412. 0x39, 0xa9, 0x3d, 0xa8, 0x1d, 0x7d, 0x54, 0xcb, 0x4f, 0xa1, 0x15, 0x40, 0xe5, 0xa3, 0x5a, 0x43,
  4413. 0x3f, 0x3a, 0x38, 0xa8, 0xe8, 0x46, 0xbd, 0xa2, 0x9f, 0x56, 0xcb, 0x95, 0xbc, 0x82, 0x36, 0x61,
  4414. 0xad, 0x54, 0x2e, 0x57, 0xea, 0xf5, 0xea, 0x4e, 0xf5, 0xa0, 0xda, 0x78, 0x68, 0x94, 0x8f, 0x6a,
  4415. 0xf5, 0x86, 0x5e, 0xaa, 0xd6, 0x1a, 0xf5, 0x7c, 0x6a, 0x67, 0x9a, 0xaa, 0xa1, 0x2d, 0xc0, 0xb5,
  4416. 0x63, 0xd7, 0x39, 0xc3, 0xa1, 0x71, 0x4b, 0x30, 0xcf, 0x9e, 0x99, 0x31, 0xdf, 0x80, 0xac, 0x8b,
  4417. 0xcd, 0xd6, 0x15, 0xdb, 0xb7, 0x5a, 0xa4, 0x0e, 0x5b, 0x0c, 0x1d, 0xb6, 0xb8, 0xe3, 0x38, 0x9d,
  4418. 0x53, 0x72, 0x78, 0x3a, 0x25, 0xd4, 0xbe, 0xc8, 0xc2, 0x62, 0xd9, 0xc5, 0xa6, 0x8f, 0x4f, 0x9d,
  4419. 0x4e, 0xef, 0x22, 0x14, 0x2d, 0x75, 0xcc, 0xfb, 0xb0, 0x40, 0x8c, 0xdf, 0xb4, 0xfc, 0x2b, 0xc3,
  4420. 0x35, 0xed, 0x36, 0x75, 0x87, 0xb9, 0xed, 0xe5, 0xd0, 0x2e, 0x65, 0x86, 0xd5, 0x09, 0x52, 0x9f,
  4421. 0x6f, 0xc6, 0x1f, 0x51, 0x15, 0x16, 0x2f, 0x83, 0x25, 0x0c, 0xee, 0xbc, 0xd3, 0xfc, 0x79, 0x53,
  4422. 0x2d, 0x62, 0xe7, 0x8d, 0x2e, 0x79, 0x88, 0x85, 0x3d, 0xf4, 0x00, 0xa0, 0x6b, 0xba, 0xe6, 0x05,
  4423. 0xf6, 0xb1, 0xeb, 0x15, 0x32, 0xbc, 0xf3, 0x4b, 0x76, 0x53, 0x3c, 0x8e, 0xa8, 0xa9, 0xf3, 0xc7,
  4424. 0xd8, 0x91, 0x0f, 0x6b, 0x4d, 0xc7, 0xf6, 0x5d, 0xa7, 0xd3, 0xc1, 0xae, 0xd1, 0x0c, 0xb8, 0x0d,
  4425. 0x0f, 0x37, 0x5d, 0xec, 0x7b, 0x85, 0x6c, 0x20, 0xfb, 0xed, 0x61, 0xb2, 0xcb, 0x11, 0x33, 0xc5,
  4426. 0xd6, 0x29, 0x2b, 0x5d, 0x68, 0xb5, 0x29, 0xc7, 0xa2, 0x23, 0x58, 0x0e, 0xad, 0xe1, 0xd8, 0x3e,
  4427. 0xb6, 0x7d, 0xc3, 0x73, 0x7a, 0x6e, 0x13, 0x17, 0xa6, 0x03, 0x93, 0xae, 0x0b, 0xf6, 0xa0, 0x34,
  4428. 0xf5, 0x80, 0x44, 0x67, 0x76, 0xe4, 0x80, 0xe8, 0x11, 0xa8, 0x66, 0xb3, 0x89, 0x3d, 0xcf, 0xa2,
  4429. 0x86, 0x33, 0x5c, 0xfc, 0x69, 0xcf, 0x72, 0xf1, 0x05, 0xb6, 0x7d, 0xaf, 0x30, 0xc3, 0x4b, 0x6d,
  4430. 0x38, 0x5d, 0xa7, 0xe3, 0xb4, 0xaf, 0xf4, 0x3e, 0x8d, 0xbe, 0xc6, 0xb1, 0xc7, 0x30, 0x9e, 0xfa,
  4431. 0x1e, 0xbc, 0x20, 0x58, 0x70, 0x92, 0x1c, 0xa1, 0x7e, 0x08, 0x1b, 0xc3, 0x8c, 0x34, 0x51, 0xbe,
  4432. 0xf9, 0xa5, 0x02, 0x8b, 0x12, 0x9b, 0xa0, 0x7d, 0x98, 0xf5, 0x6c, 0xb3, 0xeb, 0x3d, 0x76, 0x7c,
  4433. 0xe6, 0xfc, 0xaf, 0x0e, 0x31, 0x61, 0xb1, 0xce, 0x68, 0xe9, 0xe3, 0xfe, 0x94, 0x1e, 0x71, 0xab,
  4434. 0x5b, 0xb0, 0xc0, 0x63, 0xd1, 0x02, 0xa4, 0xac, 0x16, 0x53, 0x2f, 0x65, 0xb5, 0xa2, 0x70, 0x7c,
  4435. 0x1f, 0x96, 0x78, 0x87, 0x60, 0x51, 0xf8, 0x12, 0x4c, 0xd3, 0x13, 0x62, 0x9a, 0x2c, 0xf0, 0x9a,
  4436. 0xe8, 0x0c, 0xab, 0xfd, 0x2e, 0x03, 0x79, 0xd1, 0xdf, 0xd1, 0x7d, 0xc8, 0x9e, 0x75, 0x9c, 0xe6,
  4437. 0x13, 0xc6, 0xfb, 0x62, 0x52, 0x60, 0x14, 0x77, 0x08, 0x15, 0x85, 0xee, 0x4f, 0xe9, 0x94, 0x89,
  4438. 0x70, 0x5f, 0x38, 0x3d, 0xdb, 0x67, 0x91, 0x99, 0xcc, 0x7d, 0x48, 0xa8, 0xfa, 0xdc, 0x01, 0x13,
  4439. 0xda, 0x85, 0x39, 0xea, 0x04, 0xc6, 0x85, 0xd3, 0xc2, 0x85, 0x74, 0x20, 0xe3, 0x76, 0xa2, 0x8c,
  4440. 0x52, 0x40, 0x7b, 0xe8, 0xb4, 0xb0, 0x0e, 0x66, 0xf4, 0x5f, 0x9d, 0x87, 0xb9, 0x98, 0x6e, 0xea,
  4441. 0x1e, 0xcc, 0xc5, 0x16, 0x43, 0xab, 0x30, 0x73, 0xee, 0x19, 0x51, 0x56, 0xcd, 0xe9, 0xd3, 0xe7,
  4442. 0x5e, 0x90, 0x28, 0x6f, 0xc2, 0x5c, 0xa0, 0x85, 0x71, 0xde, 0x31, 0xdb, 0xf4, 0x1e, 0xc8, 0xe9,
  4443. 0x10, 0x80, 0x3e, 0x20, 0x10, 0xf5, 0x5f, 0x0a, 0x40, 0x7f, 0x49, 0x74, 0x1f, 0x32, 0x81, 0x96,
  4444. 0x34, 0x37, 0xdf, 0x1d, 0x43, 0xcb, 0x62, 0xa0, 0x6a, 0xc0, 0xa5, 0x7d, 0xa6, 0x40, 0x26, 0x10,
  4445. 0x23, 0xe6, 0xe7, 0x7a, 0xb5, 0xb6, 0x77, 0x50, 0x31, 0x6a, 0x47, 0xbb, 0x15, 0xe3, 0x23, 0xbd,
  4446. 0xda, 0xa8, 0xe8, 0x79, 0x05, 0xad, 0xc3, 0x6a, 0x1c, 0xae, 0x57, 0x4a, 0xbb, 0x15, 0xdd, 0x38,
  4447. 0xaa, 0x1d, 0x3c, 0xcc, 0xa7, 0x90, 0x0a, 0x2b, 0x87, 0x27, 0x07, 0x8d, 0xea, 0x20, 0x2e, 0x8d,
  4448. 0x36, 0xa0, 0x10, 0xc3, 0x31, 0x19, 0x4c, 0x6c, 0x86, 0x88, 0x8d, 0x61, 0xe9, 0x5f, 0x86, 0xcc,
  4449. 0xee, 0xcc, 0x47, 0x87, 0x11, 0x38, 0xdb, 0x47, 0x30, 0xcf, 0xa5, 0x57, 0x52, 0x26, 0xb0, 0x10,
  4450. 0x6f, 0x19, 0x67, 0x57, 0x3e, 0xf6, 0x02, 0x4b, 0xa4, 0xf5, 0xf9, 0x10, 0xba, 0x43, 0x80, 0xc4,
  4451. 0xac, 0x1d, 0xeb, 0xc2, 0xf2, 0x19, 0x4d, 0x2a, 0xa0, 0x81, 0x00, 0x14, 0x10, 0x68, 0x7f, 0x49,
  4452. 0xc1, 0x34, 0x3b, 0x9b, 0x3b, 0xb1, 0x04, 0xcf, 0x89, 0x0c, 0xa1, 0x54, 0x24, 0x8d, 0x87, 0x54,
  4453. 0x18, 0x0f, 0xe8, 0x7d, 0x00, 0xd3, 0xf7, 0x5d, 0xeb, 0xac, 0xe7, 0x47, 0x09, 0xfd, 0x06, 0x7f,
  4454. 0x1e, 0xc5, 0x52, 0x44, 0xc0, 0x32, 0x70, 0x9f, 0x03, 0xed, 0xc0, 0x82, 0x90, 0x04, 0x33, 0xa3,
  4455. 0x93, 0xe0, 0x7c, 0x93, 0x8b, 0xff, 0x12, 0x2c, 0x86, 0xf9, 0xab, 0x83, 0x0d, 0x9f, 0xe5, 0x37,
  4456. 0x96, 0xbf, 0xf3, 0x03, 0x79, 0x0f, 0xf5, 0x89, 0x43, 0x18, 0xc9, 0x72, 0x82, 0x96, 0x13, 0x65,
  4457. 0xa6, 0x1e, 0x2c, 0x4a, 0xd2, 0x2a, 0x2a, 0x42, 0x2e, 0x38, 0x10, 0xcf, 0xf2, 0x89, 0xaf, 0xca,
  4458. 0xd5, 0xe9, 0x93, 0x10, 0xfa, 0xae, 0x8b, 0xcf, 0xb1, 0xeb, 0xe2, 0x16, 0x2b, 0x86, 0x24, 0xf4,
  4459. 0x11, 0x89, 0xf6, 0x73, 0x05, 0x66, 0x43, 0x38, 0x7a, 0x07, 0x66, 0x3d, 0xdc, 0xa6, 0x29, 0x5f,
  4460. 0xe1, 0xcf, 0x21, 0xa4, 0x29, 0xd6, 0x19, 0x01, 0x2b, 0x03, 0x43, 0x7a, 0x52, 0x06, 0x72, 0xa8,
  4461. 0x89, 0x36, 0xff, 0x6f, 0x05, 0x16, 0x77, 0x71, 0x07, 0x8b, 0x65, 0xc4, 0x3a, 0xe4, 0xd8, 0x35,
  4462. 0x17, 0x65, 0xd0, 0x59, 0x0a, 0xa8, 0xb6, 0x84, 0x9b, 0xb7, 0x15, 0xb0, 0x47, 0x37, 0x6f, 0x8a,
  4463. 0xbf, 0x79, 0x25, 0xc2, 0x63, 0x37, 0x2f, 0xc5, 0x26, 0xdd, 0xbc, 0x1c, 0x96, 0xbf, 0x8d, 0x06,
  4464. 0x19, 0x27, 0xda, 0xf6, 0x0a, 0x2c, 0xf1, 0x8a, 0xd1, 0x1b, 0x40, 0xfb, 0x53, 0x06, 0x6e, 0xf4,
  4465. 0x17, 0x39, 0xee, 0x9d, 0x75, 0x2c, 0xef, 0xf1, 0x04, 0x96, 0x59, 0x85, 0x19, 0xdb, 0x69, 0x05,
  4466. 0x28, 0xba, 0xe6, 0x34, 0x79, 0xac, 0xb6, 0x50, 0x05, 0xae, 0x8b, 0x45, 0xd4, 0x15, 0xcb, 0xd3,
  4467. 0xc9, 0x25, 0x54, 0xfe, 0x52, 0xbc, 0x64, 0x54, 0x98, 0x25, 0xe5, 0x9f, 0x63, 0x77, 0xae, 0x82,
  4468. 0x58, 0x9b, 0xd5, 0xa3, 0x67, 0xf4, 0x33, 0x05, 0xd4, 0xd8, 0xb1, 0x74, 0xa9, 0xf2, 0x42, 0x45,
  4469. 0xb4, 0x1b, 0x55, 0x44, 0x43, 0x77, 0x39, 0x88, 0xe6, 0xce, 0xa8, 0xd0, 0x4c, 0x40, 0x23, 0x2b,
  4470. 0xda, 0x67, 0x2c, 0xb3, 0x4c, 0x07, 0x4b, 0xdf, 0x1f, 0x73, 0x69, 0xfa, 0x24, 0xe6, 0x1d, 0x66,
  4471. 0x8b, 0x3e, 0x58, 0x7d, 0x00, 0x9b, 0x43, 0xb5, 0x9c, 0xa8, 0xd4, 0x29, 0xc3, 0xb2, 0x74, 0xdd,
  4472. 0x89, 0xbc, 0xea, 0xcf, 0x0a, 0xdc, 0x4c, 0xdc, 0x1c, 0xab, 0x31, 0x7e, 0x00, 0xd7, 0xc2, 0x93,
  4473. 0xb1, 0xec, 0x73, 0x87, 0x45, 0xfb, 0xdb, 0x23, 0x6d, 0xc3, 0x7a, 0x41, 0x06, 0x25, 0xfd, 0x21,
  4474. 0xb5, 0xcb, 0x5c, 0xb7, 0x0f, 0x51, 0xdf, 0x87, 0xbc, 0x48, 0x30, 0xd1, 0x06, 0xfe, 0x98, 0x82,
  4475. 0xad, 0xbe, 0x06, 0x27, 0x76, 0xf7, 0xf9, 0x05, 0xc0, 0xaf, 0x14, 0xd8, 0x88, 0x79, 0x67, 0xcf,
  4476. 0x16, 0xfd, 0x93, 0x5e, 0x3f, 0xfb, 0x83, 0x86, 0x90, 0xab, 0x21, 0x23, 0xe0, 0x7c, 0x34, 0x16,
  4477. 0x0b, 0x22, 0x81, 0x7a, 0x18, 0x3f, 0x27, 0x29, 0xfb, 0x44, 0x66, 0xbb, 0x0d, 0xb7, 0x86, 0xa8,
  4478. 0xcb, 0x52, 0xcb, 0x4f, 0xd3, 0x70, 0xeb, 0xd4, 0xec, 0x58, 0xad, 0xa8, 0xee, 0x94, 0xb4, 0xdd,
  4479. 0xc3, 0x8d, 0x9b, 0xd0, 0x89, 0xa5, 0xbe, 0x42, 0x27, 0xd6, 0x91, 0xc5, 0x29, 0x3d, 0x82, 0xef,
  4480. 0x46, 0x82, 0x46, 0x69, 0x3b, 0x6e, 0xa8, 0x26, 0x5d, 0xf2, 0x99, 0x09, 0x2e, 0xf9, 0xe7, 0x12,
  4481. 0xa0, 0x1f, 0x83, 0x36, 0x6c, 0x53, 0x2c, 0x44, 0x37, 0x20, 0xe7, 0xf5, 0xba, 0x5d, 0xc7, 0xf5,
  4482. 0x31, 0x3d, 0x83, 0x59, 0xbd, 0x0f, 0x40, 0x05, 0x98, 0xb9, 0xc0, 0x9e, 0x67, 0xb6, 0x43, 0xf9,
  4483. 0xe1, 0xa3, 0xf6, 0x31, 0xa0, 0x03, 0xcb, 0x63, 0xf5, 0x72, 0x74, 0xa2, 0xa4, 0x3c, 0x36, 0x9f,
  4484. 0x1a, 0xd8, 0xf6, 0x5d, 0x8b, 0x15, 0x66, 0x59, 0x1d, 0x2e, 0xcc, 0xa7, 0x15, 0x0a, 0x21, 0xc5,
  4485. 0x9b, 0xe7, 0x9b, 0xae, 0x6f, 0xd9, 0x6d, 0xc3, 0x77, 0x9e, 0xe0, 0x68, 0x6c, 0x14, 0x42, 0x1b,
  4486. 0x04, 0xa8, 0x7d, 0xae, 0xc0, 0x22, 0x27, 0x9e, 0x69, 0xfb, 0x2e, 0xcc, 0xf4, 0x65, 0x13, 0x7b,
  4487. 0xde, 0x0a, 0xed, 0x29, 0xa1, 0x2e, 0xd2, 0x13, 0x0a, 0x39, 0xd0, 0x26, 0x80, 0x8d, 0x9f, 0xfa,
  4488. 0xdc, 0xba, 0x39, 0x02, 0x09, 0xd6, 0x54, 0xef, 0x41, 0x96, 0x1a, 0x79, 0xdc, 0xce, 0xe8, 0x8b,
  4489. 0x14, 0xa0, 0x3d, 0xec, 0x47, 0x05, 0x2f, 0xb3, 0x41, 0x82, 0xe3, 0x2a, 0x5f, 0xc1, 0x71, 0x3f,
  4490. 0xe4, 0x46, 0x08, 0xd4, 0xf5, 0x5f, 0x8d, 0xcd, 0xcf, 0x84, 0xa5, 0x87, 0x4e, 0x10, 0x12, 0xdc,
  4491. 0x92, 0x5e, 0xcb, 0x63, 0xd7, 0x9e, 0xcf, 0xd0, 0x61, 0x6b, 0xbb, 0xb0, 0xc8, 0xe9, 0xcc, 0xce,
  4492. 0xf4, 0x75, 0x40, 0xe6, 0xa5, 0x69, 0x75, 0x4c, 0xa2, 0x57, 0x58, 0xc3, 0xb3, 0x9a, 0xfe, 0x7a,
  4493. 0x84, 0x09, 0xd9, 0x34, 0x2d, 0x9e, 0xb5, 0x99, 0x3c, 0x71, 0x9e, 0xd7, 0x89, 0xe7, 0xa8, 0x01,
  4494. 0x1a, 0xb6, 0xee, 0x9e, 0x74, 0xa6, 0x77, 0x7b, 0x30, 0x27, 0xb3, 0xb9, 0x59, 0xe2, 0x78, 0xef,
  4495. 0x6f, 0x29, 0x58, 0x1f, 0x42, 0x8d, 0xde, 0x85, 0xb4, 0xdb, 0x6d, 0x32, 0x67, 0x7a, 0x79, 0x0c,
  4496. 0xf9, 0x45, 0xfd, 0xb8, 0xbc, 0x3f, 0xa5, 0x13, 0x2e, 0xf5, 0x4b, 0x05, 0xd2, 0xfa, 0x71, 0x19,
  4497. 0x7d, 0x8f, 0x1b, 0xf2, 0xbd, 0x36, 0xa6, 0x94, 0xf8, 0xac, 0x8f, 0x34, 0x93, 0x83, 0xc3, 0xbe,
  4498. 0x02, 0x2c, 0x95, 0xf5, 0x4a, 0xa9, 0x51, 0x31, 0x76, 0x2b, 0x07, 0x95, 0x46, 0xc5, 0x38, 0x3d,
  4499. 0x3a, 0x38, 0x39, 0xac, 0xe4, 0x15, 0xd2, 0x15, 0x1e, 0x9f, 0xec, 0x1c, 0x54, 0xeb, 0xfb, 0xc6,
  4500. 0x49, 0x2d, 0xfc, 0xc7, 0xb0, 0x29, 0x94, 0x87, 0x6b, 0x07, 0xd5, 0x7a, 0x83, 0x01, 0xea, 0xf9,
  4501. 0x34, 0x81, 0xec, 0x55, 0x1a, 0x46, 0xb9, 0x74, 0x5c, 0x2a, 0x57, 0x1b, 0x0f, 0xf3, 0x19, 0xd2,
  4502. 0x73, 0xf2, 0xb2, 0xeb, 0xb5, 0xd2, 0x71, 0x7d, 0xff, 0xa8, 0x91, 0xcf, 0x22, 0x04, 0x0b, 0x01,
  4503. 0x7f, 0x08, 0xaa, 0xe7, 0xa7, 0xa3, 0x91, 0xc5, 0x67, 0x69, 0x58, 0x66, 0x13, 0x18, 0x36, 0xe3,
  4504. 0x08, 0x63, 0xeb, 0x2e, 0xe4, 0x69, 0xf3, 0x65, 0x88, 0x17, 0xc7, 0x02, 0x85, 0x9f, 0x86, 0xd7,
  4505. 0x47, 0x38, 0x1a, 0x4c, 0xc5, 0x46, 0x83, 0x5d, 0x58, 0x0d, 0x27, 0x67, 0x4c, 0xae, 0x70, 0x21,
  4506. 0x0b, 0x23, 0x34, 0x61, 0x75, 0x01, 0xca, 0x5d, 0xc0, 0xcb, 0x4d, 0x19, 0x0e, 0x1d, 0x4a, 0x66,
  4507. 0x80, 0xaf, 0x0f, 0x5f, 0x64, 0x48, 0x0c, 0xab, 0xfb, 0xa0, 0x26, 0xeb, 0x30, 0x51, 0x09, 0xf8,
  4508. 0x8c, 0xa1, 0xfc, 0x01, 0xac, 0x88, 0xda, 0xb3, 0xa8, 0x7a, 0x6d, 0x60, 0xc4, 0x15, 0xe5, 0x96,
  4509. 0x88, 0x36, 0xa2, 0xd0, 0xfe, 0xa0, 0xc0, 0x6c, 0x08, 0x26, 0xf9, 0xd9, 0xb3, 0x7e, 0x82, 0xb9,
  4510. 0xa6, 0x3e, 0x47, 0x20, 0xf2, 0x86, 0x5e, 0xe6, 0x0b, 0x69, 0xa9, 0x2f, 0x6c, 0x02, 0xd0, 0xe3,
  4511. 0x69, 0x19, 0xa6, 0x1f, 0xb4, 0x12, 0x69, 0x3d, 0xc7, 0x20, 0x25, 0xd2, 0xfc, 0x4e, 0x7b, 0xbe,
  4512. 0xe9, 0xf7, 0x48, 0xdb, 0x40, 0x14, 0x5e, 0x11, 0x15, 0xae, 0x07, 0x58, 0x9d, 0x51, 0x91, 0x40,
  4513. 0x5a, 0xe0, 0x51, 0xe8, 0x1e, 0x17, 0x9d, 0xeb, 0x72, 0x01, 0xb1, 0x60, 0x24, 0x17, 0x6b, 0x0b,
  4514. 0xfb, 0xa6, 0xd5, 0xf1, 0xc2, 0x8b, 0x95, 0x3d, 0x6a, 0x3b, 0xb2, 0x28, 0xcd, 0x41, 0x56, 0xaf,
  4515. 0x94, 0x76, 0x1f, 0xe6, 0x15, 0x34, 0x0f, 0xb9, 0x93, 0xe3, 0x83, 0xa3, 0xd2, 0x6e, 0xb5, 0xb6,
  4516. 0x97, 0x4f, 0xa1, 0x45, 0x78, 0xa1, 0xa2, 0xeb, 0x47, 0xba, 0xd1, 0x07, 0xa6, 0x49, 0xa3, 0xbb,
  4517. 0xcc, 0x9a, 0x46, 0x21, 0x80, 0x6e, 0xc2, 0x5c, 0xe4, 0xfb, 0x51, 0xec, 0x40, 0x08, 0xaa, 0xb6,
  4518. 0x48, 0x8c, 0x84, 0x3d, 0xae, 0x18, 0x23, 0xd2, 0x66, 0x57, 0x74, 0x5f, 0x1e, 0xca, 0xc7, 0x48,
  4519. 0x4b, 0x86, 0x23, 0x4e, 0x9d, 0xcc, 0x34, 0x91, 0x57, 0x16, 0x60, 0x45, 0x54, 0x8a, 0xd5, 0xa3,
  4520. 0xbf, 0x55, 0x60, 0x89, 0x54, 0x08, 0x21, 0xe2, 0x79, 0x17, 0x2c, 0x13, 0x38, 0xa3, 0x70, 0x02,
  4521. 0x19, 0xf1, 0x04, 0xb4, 0xdf, 0x2b, 0xb0, 0x2c, 0xe8, 0xca, 0x62, 0xeb, 0x3d, 0xb1, 0xfa, 0xb9,
  4522. 0x1d, 0xaf, 0x7e, 0x06, 0xe8, 0x27, 0xac, 0x7f, 0xde, 0x0c, 0xeb, 0x9f, 0xc9, 0x42, 0xf8, 0x37,
  4523. 0x59, 0x58, 0xa9, 0x39, 0x2d, 0x5c, 0xf7, 0xcd, 0xf6, 0x24, 0x73, 0x15, 0x5d, 0xe8, 0x0d, 0xa9,
  4524. 0x77, 0xdd, 0x0b, 0x57, 0x92, 0x8b, 0x1c, 0xde, 0x12, 0xa2, 0x22, 0x2c, 0x7a, 0xbe, 0xd9, 0x0e,
  4525. 0xce, 0xca, 0x74, 0xdb, 0xd8, 0x37, 0xba, 0xa6, 0xff, 0x98, 0x1d, 0xc4, 0x75, 0x86, 0x6a, 0x04,
  4526. 0x98, 0x63, 0xd3, 0x7f, 0x2c, 0x1f, 0x54, 0x64, 0x26, 0x1e, 0x54, 0x9c, 0x01, 0x0a, 0xfa, 0x40,
  4527. 0xb2, 0x80, 0xf8, 0x56, 0xe6, 0xdb, 0x23, 0x36, 0x14, 0x81, 0xb9, 0x50, 0xc9, 0xdb, 0x02, 0x18,
  4528. 0x99, 0xc9, 0xb3, 0x86, 0x51, 0x4b, 0x8c, 0x3b, 0x63, 0x78, 0xc6, 0x86, 0x9a, 0x74, 0x2d, 0xd2,
  4529. 0xdd, 0x7c, 0xfd, 0xb3, 0x89, 0x35, 0x58, 0x1d, 0xb0, 0x05, 0xcb, 0x04, 0x6d, 0x28, 0x10, 0xd4,
  4530. 0x89, 0xed, 0x4d, 0xe8, 0xaf, 0x09, 0xbe, 0x95, 0x4a, 0xf0, 0x2d, 0x6d, 0x1d, 0xd6, 0x24, 0x0b,
  4531. 0x31, 0x2d, 0xfe, 0x91, 0xa5, 0x6a, 0x4c, 0x3e, 0x74, 0x6b, 0x48, 0xc3, 0xe6, 0x9b, 0x71, 0x17,
  4532. 0x90, 0x0e, 0x9a, 0x9e, 0x6f, 0xe0, 0xdc, 0x84, 0xb9, 0x38, 0x1d, 0x4b, 0x62, 0xfe, 0x88, 0xc8,
  4533. 0xca, 0x3e, 0xd3, 0x08, 0x70, 0x5a, 0x18, 0x01, 0xfe, 0x08, 0x96, 0x82, 0xa8, 0x13, 0x67, 0x2b,
  4534. 0x33, 0xfc, 0x35, 0x95, 0x68, 0x91, 0x18, 0x82, 0x8b, 0xbd, 0x20, 0x96, 0x85, 0x49, 0x5f, 0x53,
  4535. 0x16, 0x7d, 0xb3, 0xc1, 0x42, 0x6f, 0x8d, 0x5c, 0xe8, 0xeb, 0x8a, 0xbf, 0x0a, 0xf5, 0xfa, 0xff,
  4536. 0x8b, 0xe9, 0x20, 0xf3, 0x7e, 0xe9, 0x5c, 0x4f, 0x7b, 0x04, 0x2a, 0x0d, 0x8d, 0xc9, 0x47, 0x6e,
  4537. 0x82, 0xe3, 0xa5, 0x44, 0xc7, 0xd3, 0x36, 0x61, 0x5d, 0x2a, 0x9b, 0x2d, 0x8d, 0x20, 0x4f, 0xd0,
  4538. 0x7b, 0xd8, 0xaf, 0xb6, 0xc2, 0x6e, 0xf1, 0x35, 0xb8, 0x1e, 0x83, 0xb1, 0xbb, 0x36, 0x36, 0xdb,
  4539. 0x53, 0xe2, 0xb3, 0x3d, 0x6d, 0x83, 0x2a, 0x9f, 0xd0, 0x79, 0x7e, 0x42, 0x97, 0x4f, 0xea, 0x39,
  4540. 0x4b, 0x42, 0xcf, 0x49, 0xaf, 0xf1, 0x4d, 0x2e, 0x81, 0x8f, 0xe8, 0x36, 0xff, 0xaa, 0xb0, 0x34,
  4541. 0x3b, 0xd0, 0x67, 0xbe, 0x19, 0xef, 0x33, 0x6f, 0x0d, 0x95, 0x19, 0xef, 0x30, 0xbb, 0xb4, 0xc1,
  4542. 0x7c, 0x87, 0x2b, 0x61, 0x5f, 0x1a, 0xc9, 0x1e, 0x6f, 0x2d, 0x5f, 0x4f, 0xe8, 0x2c, 0xeb, 0x8d,
  4543. 0xd2, 0x5e, 0xc5, 0x38, 0xa9, 0xd1, 0xdf, 0xb0, 0xb3, 0x8c, 0xfa, 0xbc, 0x25, 0x40, 0xa1, 0xe1,
  4544. 0x63, 0xdf, 0x21, 0x7d, 0xae, 0xc0, 0x22, 0x07, 0x1e, 0x71, 0x22, 0xe8, 0x1e, 0x2c, 0x91, 0x1a,
  4545. 0x8e, 0xfa, 0x88, 0x67, 0x74, 0xb1, 0x6b, 0x10, 0x0c, 0x7b, 0x8b, 0x78, 0xfd, 0xc2, 0x7c, 0xca,
  4546. 0x06, 0x43, 0xc7, 0xd8, 0x25, 0x82, 0x9f, 0xc3, 0x28, 0x64, 0xfb, 0x3f, 0x0a, 0xcc, 0x56, 0x5b,
  4547. 0xd8, 0xf6, 0x89, 0xe1, 0x6b, 0x30, 0xcf, 0x7d, 0xcc, 0x84, 0x36, 0x12, 0xbe, 0x71, 0x0a, 0x36,
  4548. 0xa8, 0x6e, 0x0e, 0xfd, 0x02, 0x4a, 0x9b, 0x42, 0xe7, 0xb1, 0x0f, 0xb1, 0xb8, 0x79, 0xd0, 0x8b,
  4549. 0x03, 0x9c, 0x12, 0x1f, 0x54, 0xef, 0x8c, 0xa0, 0x8a, 0xd6, 0x79, 0x0b, 0xb2, 0xc1, 0x97, 0x39,
  4550. 0x68, 0x29, 0xfa, 0x66, 0x28, 0xf6, 0xe1, 0x8e, 0xba, 0x2c, 0x40, 0x43, 0xbe, 0xed, 0xff, 0xce,
  4551. 0x00, 0xf4, 0x07, 0x0f, 0xe8, 0x01, 0x5c, 0x8b, 0x7f, 0x61, 0x80, 0xd6, 0x87, 0x7c, 0x88, 0xa2,
  4552. 0x6e, 0xc8, 0x91, 0x91, 0x4e, 0x0f, 0xe0, 0x5a, 0xfc, 0x65, 0x55, 0x5f, 0x98, 0xe4, 0xdd, 0x5a,
  4553. 0x5f, 0x98, 0xf4, 0xfd, 0xd6, 0x14, 0xea, 0xc0, 0x6a, 0xc2, 0x3b, 0x06, 0xf4, 0xd2, 0x78, 0x2f,
  4554. 0x68, 0xd4, 0x97, 0xc7, 0x7c, 0x59, 0xa1, 0x4d, 0x21, 0x17, 0xd6, 0x12, 0x27, 0xe3, 0xe8, 0xee,
  4555. 0xb8, 0xb3, 0x7e, 0xf5, 0x95, 0x31, 0x28, 0xa3, 0x35, 0x7b, 0xa0, 0x26, 0x0f, 0x79, 0xd1, 0x2b,
  4556. 0x63, 0x4f, 0xb7, 0xd5, 0x57, 0xc7, 0x21, 0x8d, 0x96, 0xdd, 0x87, 0xb9, 0xd8, 0xc0, 0x15, 0xa9,
  4557. 0xd2, 0x29, 0x2c, 0x15, 0xbc, 0x3e, 0x64, 0x42, 0x4b, 0x25, 0xc5, 0x86, 0x82, 0x7d, 0x49, 0x83,
  4558. 0xd3, 0xcd, 0xbe, 0x24, 0xc9, 0x14, 0x51, 0x34, 0xbf, 0x90, 0x80, 0x65, 0xe6, 0x97, 0x67, 0x70,
  4559. 0x99, 0xf9, 0x13, 0xb2, 0xb9, 0x36, 0x85, 0xbe, 0x0f, 0x0b, 0xfc, 0x1c, 0x04, 0x6d, 0x0e, 0x9d,
  4560. 0xee, 0xa8, 0x37, 0x92, 0xd0, 0x71, 0x91, 0x7c, 0x13, 0xdb, 0x17, 0x29, 0xed, 0xb8, 0xfb, 0x22,
  4561. 0x13, 0x7a, 0xdf, 0x29, 0x92, 0x9f, 0xb8, 0x06, 0xb1, 0x9f, 0x9f, 0x64, 0x3d, 0x71, 0x3f, 0x3f,
  4562. 0x49, 0xbb, 0x4a, 0x6d, 0x6a, 0xfb, 0xcb, 0x0c, 0x64, 0x82, 0x44, 0xda, 0x80, 0x17, 0x84, 0x3a,
  4563. 0x1b, 0xdd, 0x18, 0xde, 0x8c, 0xa8, 0x37, 0x13, 0xf1, 0x91, 0xba, 0x8f, 0xe8, 0x7d, 0xcc, 0x55,
  4564. 0xce, 0x68, 0x2b, 0xce, 0x27, 0xab, 0xde, 0xd5, 0x5b, 0x43, 0x28, 0x44, 0xd9, 0x7c, 0x2e, 0xd8,
  4565. 0x1a, 0x55, 0xc2, 0xf1, 0xb2, 0x93, 0xe2, 0xff, 0x13, 0x7a, 0x6f, 0x89, 0x91, 0xaf, 0xf1, 0x7a,
  4566. 0x49, 0x63, 0xfe, 0xf6, 0x50, 0x9a, 0x68, 0x85, 0x0a, 0xe4, 0xa2, 0x4a, 0x05, 0x15, 0xe2, 0x3c,
  4567. 0xf1, 0x82, 0x46, 0x5d, 0x93, 0x60, 0x98, 0x8c, 0xf4, 0x2f, 0x52, 0x4a, 0xa8, 0xa8, 0x18, 0x23,
  4568. 0x9a, 0xc0, 0x26, 0x8b, 0x8e, 0xdb, 0x43, 0x69, 0xe2, 0x51, 0x1d, 0xbb, 0xc2, 0xfb, 0x51, 0x3d,
  4569. 0x78, 0xdd, 0xf7, 0xa3, 0x5a, 0x72, 0xe7, 0x6b, 0x53, 0x3b, 0xd9, 0x47, 0xe9, 0xa6, 0x67, 0x9d,
  4570. 0x4d, 0x07, 0x1f, 0x87, 0x7e, 0xeb, 0x7f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x9c, 0x3b, 0x5a, 0x51,
  4571. 0xf0, 0x2c, 0x00, 0x00,
  4572. }