api.pb.go 73 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043
  1. // Code generated by protoc-gen-go. DO NOT EDIT.
  2. // source: api/api.proto
  3. /*
  4. Package api is a generated protocol buffer package.
  5. It is generated from these files:
  6. api/api.proto
  7. It has these top-level messages:
  8. StorageResource
  9. StoragePool
  10. VolumeLocator
  11. Source
  12. Group
  13. VolumeSpec
  14. ReplicaSet
  15. RuntimeStateMap
  16. Volume
  17. Stats
  18. Alert
  19. Alerts
  20. VolumeCreateRequest
  21. VolumeResponse
  22. VolumeCreateResponse
  23. VolumeStateAction
  24. VolumeSetRequest
  25. VolumeSetResponse
  26. SnapCreateRequest
  27. SnapCreateResponse
  28. VolumeInfo
  29. GraphDriverChanges
  30. ClusterResponse
  31. ActiveRequest
  32. ActiveRequests
  33. */
  34. package api
  35. import proto "github.com/golang/protobuf/proto"
  36. import fmt "fmt"
  37. import math "math"
  38. import google_protobuf "github.com/golang/protobuf/ptypes/timestamp"
  39. // Reference imports to suppress errors if they are not otherwise used.
  40. var _ = proto.Marshal
  41. var _ = fmt.Errorf
  42. var _ = math.Inf
  43. // This is a compile-time assertion to ensure that this generated file
  44. // is compatible with the proto package it is being compiled against.
  45. // A compilation error at this line likely means your copy of the
  46. // proto package needs to be updated.
  47. const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
  48. type Status int32
  49. const (
  50. Status_STATUS_NONE Status = 0
  51. Status_STATUS_INIT Status = 1
  52. Status_STATUS_OK Status = 2
  53. Status_STATUS_OFFLINE Status = 3
  54. Status_STATUS_ERROR Status = 4
  55. Status_STATUS_NOT_IN_QUORUM Status = 5
  56. Status_STATUS_DECOMMISSION Status = 6
  57. Status_STATUS_MAINTENANCE Status = 7
  58. Status_STATUS_STORAGE_DOWN Status = 8
  59. Status_STATUS_STORAGE_DEGRADED Status = 9
  60. Status_STATUS_NEEDS_REBOOT Status = 10
  61. Status_STATUS_STORAGE_REBALANCE Status = 11
  62. Status_STATUS_STORAGE_DRIVE_REPLACE Status = 12
  63. // Add statuses before MAX and update the number for MAX
  64. Status_STATUS_MAX Status = 13
  65. )
  66. var Status_name = map[int32]string{
  67. 0: "STATUS_NONE",
  68. 1: "STATUS_INIT",
  69. 2: "STATUS_OK",
  70. 3: "STATUS_OFFLINE",
  71. 4: "STATUS_ERROR",
  72. 5: "STATUS_NOT_IN_QUORUM",
  73. 6: "STATUS_DECOMMISSION",
  74. 7: "STATUS_MAINTENANCE",
  75. 8: "STATUS_STORAGE_DOWN",
  76. 9: "STATUS_STORAGE_DEGRADED",
  77. 10: "STATUS_NEEDS_REBOOT",
  78. 11: "STATUS_STORAGE_REBALANCE",
  79. 12: "STATUS_STORAGE_DRIVE_REPLACE",
  80. 13: "STATUS_MAX",
  81. }
  82. var Status_value = map[string]int32{
  83. "STATUS_NONE": 0,
  84. "STATUS_INIT": 1,
  85. "STATUS_OK": 2,
  86. "STATUS_OFFLINE": 3,
  87. "STATUS_ERROR": 4,
  88. "STATUS_NOT_IN_QUORUM": 5,
  89. "STATUS_DECOMMISSION": 6,
  90. "STATUS_MAINTENANCE": 7,
  91. "STATUS_STORAGE_DOWN": 8,
  92. "STATUS_STORAGE_DEGRADED": 9,
  93. "STATUS_NEEDS_REBOOT": 10,
  94. "STATUS_STORAGE_REBALANCE": 11,
  95. "STATUS_STORAGE_DRIVE_REPLACE": 12,
  96. "STATUS_MAX": 13,
  97. }
  98. func (x Status) String() string {
  99. return proto.EnumName(Status_name, int32(x))
  100. }
  101. func (Status) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
  102. type DriverType int32
  103. const (
  104. DriverType_DRIVER_TYPE_NONE DriverType = 0
  105. DriverType_DRIVER_TYPE_FILE DriverType = 1
  106. DriverType_DRIVER_TYPE_BLOCK DriverType = 2
  107. DriverType_DRIVER_TYPE_OBJECT DriverType = 3
  108. DriverType_DRIVER_TYPE_CLUSTERED DriverType = 4
  109. DriverType_DRIVER_TYPE_GRAPH DriverType = 5
  110. )
  111. var DriverType_name = map[int32]string{
  112. 0: "DRIVER_TYPE_NONE",
  113. 1: "DRIVER_TYPE_FILE",
  114. 2: "DRIVER_TYPE_BLOCK",
  115. 3: "DRIVER_TYPE_OBJECT",
  116. 4: "DRIVER_TYPE_CLUSTERED",
  117. 5: "DRIVER_TYPE_GRAPH",
  118. }
  119. var DriverType_value = map[string]int32{
  120. "DRIVER_TYPE_NONE": 0,
  121. "DRIVER_TYPE_FILE": 1,
  122. "DRIVER_TYPE_BLOCK": 2,
  123. "DRIVER_TYPE_OBJECT": 3,
  124. "DRIVER_TYPE_CLUSTERED": 4,
  125. "DRIVER_TYPE_GRAPH": 5,
  126. }
  127. func (x DriverType) String() string {
  128. return proto.EnumName(DriverType_name, int32(x))
  129. }
  130. func (DriverType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
  131. type FSType int32
  132. const (
  133. FSType_FS_TYPE_NONE FSType = 0
  134. FSType_FS_TYPE_BTRFS FSType = 1
  135. FSType_FS_TYPE_EXT4 FSType = 2
  136. FSType_FS_TYPE_FUSE FSType = 3
  137. FSType_FS_TYPE_NFS FSType = 4
  138. FSType_FS_TYPE_VFS FSType = 5
  139. FSType_FS_TYPE_XFS FSType = 6
  140. FSType_FS_TYPE_ZFS FSType = 7
  141. )
  142. var FSType_name = map[int32]string{
  143. 0: "FS_TYPE_NONE",
  144. 1: "FS_TYPE_BTRFS",
  145. 2: "FS_TYPE_EXT4",
  146. 3: "FS_TYPE_FUSE",
  147. 4: "FS_TYPE_NFS",
  148. 5: "FS_TYPE_VFS",
  149. 6: "FS_TYPE_XFS",
  150. 7: "FS_TYPE_ZFS",
  151. }
  152. var FSType_value = map[string]int32{
  153. "FS_TYPE_NONE": 0,
  154. "FS_TYPE_BTRFS": 1,
  155. "FS_TYPE_EXT4": 2,
  156. "FS_TYPE_FUSE": 3,
  157. "FS_TYPE_NFS": 4,
  158. "FS_TYPE_VFS": 5,
  159. "FS_TYPE_XFS": 6,
  160. "FS_TYPE_ZFS": 7,
  161. }
  162. func (x FSType) String() string {
  163. return proto.EnumName(FSType_name, int32(x))
  164. }
  165. func (FSType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
  166. type GraphDriverChangeType int32
  167. const (
  168. GraphDriverChangeType_GRAPH_DRIVER_CHANGE_TYPE_NONE GraphDriverChangeType = 0
  169. GraphDriverChangeType_GRAPH_DRIVER_CHANGE_TYPE_MODIFIED GraphDriverChangeType = 1
  170. GraphDriverChangeType_GRAPH_DRIVER_CHANGE_TYPE_ADDED GraphDriverChangeType = 2
  171. GraphDriverChangeType_GRAPH_DRIVER_CHANGE_TYPE_DELETED GraphDriverChangeType = 3
  172. )
  173. var GraphDriverChangeType_name = map[int32]string{
  174. 0: "GRAPH_DRIVER_CHANGE_TYPE_NONE",
  175. 1: "GRAPH_DRIVER_CHANGE_TYPE_MODIFIED",
  176. 2: "GRAPH_DRIVER_CHANGE_TYPE_ADDED",
  177. 3: "GRAPH_DRIVER_CHANGE_TYPE_DELETED",
  178. }
  179. var GraphDriverChangeType_value = map[string]int32{
  180. "GRAPH_DRIVER_CHANGE_TYPE_NONE": 0,
  181. "GRAPH_DRIVER_CHANGE_TYPE_MODIFIED": 1,
  182. "GRAPH_DRIVER_CHANGE_TYPE_ADDED": 2,
  183. "GRAPH_DRIVER_CHANGE_TYPE_DELETED": 3,
  184. }
  185. func (x GraphDriverChangeType) String() string {
  186. return proto.EnumName(GraphDriverChangeType_name, int32(x))
  187. }
  188. func (GraphDriverChangeType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
  189. type SeverityType int32
  190. const (
  191. SeverityType_SEVERITY_TYPE_NONE SeverityType = 0
  192. SeverityType_SEVERITY_TYPE_ALARM SeverityType = 1
  193. SeverityType_SEVERITY_TYPE_WARNING SeverityType = 2
  194. SeverityType_SEVERITY_TYPE_NOTIFY SeverityType = 3
  195. )
  196. var SeverityType_name = map[int32]string{
  197. 0: "SEVERITY_TYPE_NONE",
  198. 1: "SEVERITY_TYPE_ALARM",
  199. 2: "SEVERITY_TYPE_WARNING",
  200. 3: "SEVERITY_TYPE_NOTIFY",
  201. }
  202. var SeverityType_value = map[string]int32{
  203. "SEVERITY_TYPE_NONE": 0,
  204. "SEVERITY_TYPE_ALARM": 1,
  205. "SEVERITY_TYPE_WARNING": 2,
  206. "SEVERITY_TYPE_NOTIFY": 3,
  207. }
  208. func (x SeverityType) String() string {
  209. return proto.EnumName(SeverityType_name, int32(x))
  210. }
  211. func (SeverityType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
  212. type ResourceType int32
  213. const (
  214. ResourceType_RESOURCE_TYPE_NONE ResourceType = 0
  215. ResourceType_RESOURCE_TYPE_VOLUME ResourceType = 1
  216. ResourceType_RESOURCE_TYPE_NODE ResourceType = 2
  217. ResourceType_RESOURCE_TYPE_CLUSTER ResourceType = 3
  218. ResourceType_RESOURCE_TYPE_DRIVE ResourceType = 4
  219. )
  220. var ResourceType_name = map[int32]string{
  221. 0: "RESOURCE_TYPE_NONE",
  222. 1: "RESOURCE_TYPE_VOLUME",
  223. 2: "RESOURCE_TYPE_NODE",
  224. 3: "RESOURCE_TYPE_CLUSTER",
  225. 4: "RESOURCE_TYPE_DRIVE",
  226. }
  227. var ResourceType_value = map[string]int32{
  228. "RESOURCE_TYPE_NONE": 0,
  229. "RESOURCE_TYPE_VOLUME": 1,
  230. "RESOURCE_TYPE_NODE": 2,
  231. "RESOURCE_TYPE_CLUSTER": 3,
  232. "RESOURCE_TYPE_DRIVE": 4,
  233. }
  234. func (x ResourceType) String() string {
  235. return proto.EnumName(ResourceType_name, int32(x))
  236. }
  237. func (ResourceType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
  238. type AlertActionType int32
  239. const (
  240. AlertActionType_ALERT_ACTION_TYPE_NONE AlertActionType = 0
  241. AlertActionType_ALERT_ACTION_TYPE_DELETE AlertActionType = 1
  242. AlertActionType_ALERT_ACTION_TYPE_CREATE AlertActionType = 2
  243. AlertActionType_ALERT_ACTION_TYPE_UPDATE AlertActionType = 3
  244. )
  245. var AlertActionType_name = map[int32]string{
  246. 0: "ALERT_ACTION_TYPE_NONE",
  247. 1: "ALERT_ACTION_TYPE_DELETE",
  248. 2: "ALERT_ACTION_TYPE_CREATE",
  249. 3: "ALERT_ACTION_TYPE_UPDATE",
  250. }
  251. var AlertActionType_value = map[string]int32{
  252. "ALERT_ACTION_TYPE_NONE": 0,
  253. "ALERT_ACTION_TYPE_DELETE": 1,
  254. "ALERT_ACTION_TYPE_CREATE": 2,
  255. "ALERT_ACTION_TYPE_UPDATE": 3,
  256. }
  257. func (x AlertActionType) String() string {
  258. return proto.EnumName(AlertActionType_name, int32(x))
  259. }
  260. func (AlertActionType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
  261. type VolumeActionParam int32
  262. const (
  263. VolumeActionParam_VOLUME_ACTION_PARAM_NONE VolumeActionParam = 0
  264. // Maps to the boolean value false
  265. VolumeActionParam_VOLUME_ACTION_PARAM_OFF VolumeActionParam = 1
  266. // Maps to the boolean value true.
  267. VolumeActionParam_VOLUME_ACTION_PARAM_ON VolumeActionParam = 2
  268. )
  269. var VolumeActionParam_name = map[int32]string{
  270. 0: "VOLUME_ACTION_PARAM_NONE",
  271. 1: "VOLUME_ACTION_PARAM_OFF",
  272. 2: "VOLUME_ACTION_PARAM_ON",
  273. }
  274. var VolumeActionParam_value = map[string]int32{
  275. "VOLUME_ACTION_PARAM_NONE": 0,
  276. "VOLUME_ACTION_PARAM_OFF": 1,
  277. "VOLUME_ACTION_PARAM_ON": 2,
  278. }
  279. func (x VolumeActionParam) String() string {
  280. return proto.EnumName(VolumeActionParam_name, int32(x))
  281. }
  282. func (VolumeActionParam) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
  283. type CosType int32
  284. const (
  285. CosType_NONE CosType = 0
  286. CosType_LOW CosType = 1
  287. CosType_MEDIUM CosType = 2
  288. CosType_HIGH CosType = 3
  289. )
  290. var CosType_name = map[int32]string{
  291. 0: "NONE",
  292. 1: "LOW",
  293. 2: "MEDIUM",
  294. 3: "HIGH",
  295. }
  296. var CosType_value = map[string]int32{
  297. "NONE": 0,
  298. "LOW": 1,
  299. "MEDIUM": 2,
  300. "HIGH": 3,
  301. }
  302. func (x CosType) String() string {
  303. return proto.EnumName(CosType_name, int32(x))
  304. }
  305. func (CosType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
  306. type IoProfile int32
  307. const (
  308. IoProfile_IO_PROFILE_SEQUENTIAL IoProfile = 0
  309. IoProfile_IO_PROFILE_RANDOM IoProfile = 1
  310. IoProfile_IO_PROFILE_DB IoProfile = 2
  311. IoProfile_IO_PROFILE_DB_REMOTE IoProfile = 3
  312. )
  313. var IoProfile_name = map[int32]string{
  314. 0: "IO_PROFILE_SEQUENTIAL",
  315. 1: "IO_PROFILE_RANDOM",
  316. 2: "IO_PROFILE_DB",
  317. 3: "IO_PROFILE_DB_REMOTE",
  318. }
  319. var IoProfile_value = map[string]int32{
  320. "IO_PROFILE_SEQUENTIAL": 0,
  321. "IO_PROFILE_RANDOM": 1,
  322. "IO_PROFILE_DB": 2,
  323. "IO_PROFILE_DB_REMOTE": 3,
  324. }
  325. func (x IoProfile) String() string {
  326. return proto.EnumName(IoProfile_name, int32(x))
  327. }
  328. func (IoProfile) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
  329. // VolumeState represents the state of a volume.
  330. type VolumeState int32
  331. const (
  332. VolumeState_VOLUME_STATE_NONE VolumeState = 0
  333. // Volume is transitioning to new state
  334. VolumeState_VOLUME_STATE_PENDING VolumeState = 1
  335. // Volume is ready to be assigned to a container
  336. VolumeState_VOLUME_STATE_AVAILABLE VolumeState = 2
  337. // Volume is attached to container
  338. VolumeState_VOLUME_STATE_ATTACHED VolumeState = 3
  339. // Volume is detached but associated with a container
  340. VolumeState_VOLUME_STATE_DETACHED VolumeState = 4
  341. // Volume detach is in progress
  342. VolumeState_VOLUME_STATE_DETATCHING VolumeState = 5
  343. // Volume is in error state
  344. VolumeState_VOLUME_STATE_ERROR VolumeState = 6
  345. // Volume is deleted, it will remain in this state
  346. // while resources are asynchronously reclaimed
  347. VolumeState_VOLUME_STATE_DELETED VolumeState = 7
  348. // Volume is trying to be detached
  349. VolumeState_VOLUME_STATE_TRY_DETACHING VolumeState = 8
  350. // Volume is undergoing restore
  351. VolumeState_VOLUME_STATE_RESTORE VolumeState = 9
  352. )
  353. var VolumeState_name = map[int32]string{
  354. 0: "VOLUME_STATE_NONE",
  355. 1: "VOLUME_STATE_PENDING",
  356. 2: "VOLUME_STATE_AVAILABLE",
  357. 3: "VOLUME_STATE_ATTACHED",
  358. 4: "VOLUME_STATE_DETACHED",
  359. 5: "VOLUME_STATE_DETATCHING",
  360. 6: "VOLUME_STATE_ERROR",
  361. 7: "VOLUME_STATE_DELETED",
  362. 8: "VOLUME_STATE_TRY_DETACHING",
  363. 9: "VOLUME_STATE_RESTORE",
  364. }
  365. var VolumeState_value = map[string]int32{
  366. "VOLUME_STATE_NONE": 0,
  367. "VOLUME_STATE_PENDING": 1,
  368. "VOLUME_STATE_AVAILABLE": 2,
  369. "VOLUME_STATE_ATTACHED": 3,
  370. "VOLUME_STATE_DETACHED": 4,
  371. "VOLUME_STATE_DETATCHING": 5,
  372. "VOLUME_STATE_ERROR": 6,
  373. "VOLUME_STATE_DELETED": 7,
  374. "VOLUME_STATE_TRY_DETACHING": 8,
  375. "VOLUME_STATE_RESTORE": 9,
  376. }
  377. func (x VolumeState) String() string {
  378. return proto.EnumName(VolumeState_name, int32(x))
  379. }
  380. func (VolumeState) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
  381. // VolumeStatus represents a health status for a volume.
  382. type VolumeStatus int32
  383. const (
  384. VolumeStatus_VOLUME_STATUS_NONE VolumeStatus = 0
  385. // Volume is not present
  386. VolumeStatus_VOLUME_STATUS_NOT_PRESENT VolumeStatus = 1
  387. // Volume is healthy
  388. VolumeStatus_VOLUME_STATUS_UP VolumeStatus = 2
  389. // Volume is in fail mode
  390. VolumeStatus_VOLUME_STATUS_DOWN VolumeStatus = 3
  391. // Volume is up but with degraded performance
  392. // In a RAID group, this may indicate a problem with one or more drives
  393. VolumeStatus_VOLUME_STATUS_DEGRADED VolumeStatus = 4
  394. )
  395. var VolumeStatus_name = map[int32]string{
  396. 0: "VOLUME_STATUS_NONE",
  397. 1: "VOLUME_STATUS_NOT_PRESENT",
  398. 2: "VOLUME_STATUS_UP",
  399. 3: "VOLUME_STATUS_DOWN",
  400. 4: "VOLUME_STATUS_DEGRADED",
  401. }
  402. var VolumeStatus_value = map[string]int32{
  403. "VOLUME_STATUS_NONE": 0,
  404. "VOLUME_STATUS_NOT_PRESENT": 1,
  405. "VOLUME_STATUS_UP": 2,
  406. "VOLUME_STATUS_DOWN": 3,
  407. "VOLUME_STATUS_DEGRADED": 4,
  408. }
  409. func (x VolumeStatus) String() string {
  410. return proto.EnumName(VolumeStatus_name, int32(x))
  411. }
  412. func (VolumeStatus) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
  413. type StorageMedium int32
  414. const (
  415. // Magnetic spinning disk.
  416. StorageMedium_STORAGE_MEDIUM_MAGNETIC StorageMedium = 0
  417. // SSD disk
  418. StorageMedium_STORAGE_MEDIUM_SSD StorageMedium = 1
  419. // NVME disk
  420. StorageMedium_STORAGE_MEDIUM_NVME StorageMedium = 2
  421. )
  422. var StorageMedium_name = map[int32]string{
  423. 0: "STORAGE_MEDIUM_MAGNETIC",
  424. 1: "STORAGE_MEDIUM_SSD",
  425. 2: "STORAGE_MEDIUM_NVME",
  426. }
  427. var StorageMedium_value = map[string]int32{
  428. "STORAGE_MEDIUM_MAGNETIC": 0,
  429. "STORAGE_MEDIUM_SSD": 1,
  430. "STORAGE_MEDIUM_NVME": 2,
  431. }
  432. func (x StorageMedium) String() string {
  433. return proto.EnumName(StorageMedium_name, int32(x))
  434. }
  435. func (StorageMedium) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }
  436. type ClusterNotify int32
  437. const (
  438. // Node is down
  439. ClusterNotify_CLUSTER_NOTIFY_DOWN ClusterNotify = 0
  440. )
  441. var ClusterNotify_name = map[int32]string{
  442. 0: "CLUSTER_NOTIFY_DOWN",
  443. }
  444. var ClusterNotify_value = map[string]int32{
  445. "CLUSTER_NOTIFY_DOWN": 0,
  446. }
  447. func (x ClusterNotify) String() string {
  448. return proto.EnumName(ClusterNotify_name, int32(x))
  449. }
  450. func (ClusterNotify) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }
  451. type AttachState int32
  452. const (
  453. // Attached and available externally
  454. AttachState_ATTACH_STATE_EXTERNAL AttachState = 0
  455. // Attached but only available internally
  456. AttachState_ATTACH_STATE_INTERNAL AttachState = 1
  457. // Switching from External to Internal
  458. AttachState_ATTACH_STATE_INTERNAL_SWITCH AttachState = 2
  459. )
  460. var AttachState_name = map[int32]string{
  461. 0: "ATTACH_STATE_EXTERNAL",
  462. 1: "ATTACH_STATE_INTERNAL",
  463. 2: "ATTACH_STATE_INTERNAL_SWITCH",
  464. }
  465. var AttachState_value = map[string]int32{
  466. "ATTACH_STATE_EXTERNAL": 0,
  467. "ATTACH_STATE_INTERNAL": 1,
  468. "ATTACH_STATE_INTERNAL_SWITCH": 2,
  469. }
  470. func (x AttachState) String() string {
  471. return proto.EnumName(AttachState_name, int32(x))
  472. }
  473. func (AttachState) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{14} }
  474. // StorageResource groups properties of a storage device.
  475. type StorageResource struct {
  476. // Id is the LUN identifier.
  477. Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
  478. // Path device path for this storage resource.
  479. Path string `protobuf:"bytes,2,opt,name=path" json:"path,omitempty"`
  480. // Storage medium.
  481. Medium StorageMedium `protobuf:"varint,3,opt,name=medium,enum=openstorage.api.StorageMedium" json:"medium,omitempty"`
  482. // True if this device is online.
  483. Online bool `protobuf:"varint,4,opt,name=online" json:"online,omitempty"`
  484. // IOPS
  485. Iops uint64 `protobuf:"varint,5,opt,name=iops" json:"iops,omitempty"`
  486. // SeqWrite
  487. SeqWrite float64 `protobuf:"fixed64,6,opt,name=seq_write,json=seqWrite" json:"seq_write,omitempty"`
  488. // SeqRead
  489. SeqRead float64 `protobuf:"fixed64,7,opt,name=seq_read,json=seqRead" json:"seq_read,omitempty"`
  490. // RandRW
  491. RandRW float64 `protobuf:"fixed64,8,opt,name=randRW" json:"randRW,omitempty"`
  492. // Total size in bytes.
  493. Size uint64 `protobuf:"varint,9,opt,name=size" json:"size,omitempty"`
  494. // Physical Bytes used.
  495. Used uint64 `protobuf:"varint,10,opt,name=used" json:"used,omitempty"`
  496. // True if this device is rotational.
  497. RotationSpeed string `protobuf:"bytes,11,opt,name=rotation_speed,json=rotationSpeed" json:"rotation_speed,omitempty"`
  498. // Timestamp of last time this device was scanned.
  499. LastScan *google_protobuf.Timestamp `protobuf:"bytes,12,opt,name=last_scan,json=lastScan" json:"last_scan,omitempty"`
  500. }
  501. func (m *StorageResource) Reset() { *m = StorageResource{} }
  502. func (m *StorageResource) String() string { return proto.CompactTextString(m) }
  503. func (*StorageResource) ProtoMessage() {}
  504. func (*StorageResource) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
  505. func (m *StorageResource) GetId() string {
  506. if m != nil {
  507. return m.Id
  508. }
  509. return ""
  510. }
  511. func (m *StorageResource) GetPath() string {
  512. if m != nil {
  513. return m.Path
  514. }
  515. return ""
  516. }
  517. func (m *StorageResource) GetMedium() StorageMedium {
  518. if m != nil {
  519. return m.Medium
  520. }
  521. return StorageMedium_STORAGE_MEDIUM_MAGNETIC
  522. }
  523. func (m *StorageResource) GetOnline() bool {
  524. if m != nil {
  525. return m.Online
  526. }
  527. return false
  528. }
  529. func (m *StorageResource) GetIops() uint64 {
  530. if m != nil {
  531. return m.Iops
  532. }
  533. return 0
  534. }
  535. func (m *StorageResource) GetSeqWrite() float64 {
  536. if m != nil {
  537. return m.SeqWrite
  538. }
  539. return 0
  540. }
  541. func (m *StorageResource) GetSeqRead() float64 {
  542. if m != nil {
  543. return m.SeqRead
  544. }
  545. return 0
  546. }
  547. func (m *StorageResource) GetRandRW() float64 {
  548. if m != nil {
  549. return m.RandRW
  550. }
  551. return 0
  552. }
  553. func (m *StorageResource) GetSize() uint64 {
  554. if m != nil {
  555. return m.Size
  556. }
  557. return 0
  558. }
  559. func (m *StorageResource) GetUsed() uint64 {
  560. if m != nil {
  561. return m.Used
  562. }
  563. return 0
  564. }
  565. func (m *StorageResource) GetRotationSpeed() string {
  566. if m != nil {
  567. return m.RotationSpeed
  568. }
  569. return ""
  570. }
  571. func (m *StorageResource) GetLastScan() *google_protobuf.Timestamp {
  572. if m != nil {
  573. return m.LastScan
  574. }
  575. return nil
  576. }
  577. // StoragePool groups different storage devices based on their CosType
  578. type StoragePool struct {
  579. // ID pool ID
  580. ID int32 `protobuf:"varint,1,opt,name=ID,json=iD" json:"ID,omitempty"`
  581. // Cos reflects the capabilities of this drive pool
  582. Cos CosType `protobuf:"varint,2,opt,name=Cos,json=cos,enum=openstorage.api.CosType" json:"Cos,omitempty"`
  583. // Medium underlying storage type
  584. Medium StorageMedium `protobuf:"varint,3,opt,name=Medium,json=medium,enum=openstorage.api.StorageMedium" json:"Medium,omitempty"`
  585. // RaidLevel storage raid level
  586. RaidLevel string `protobuf:"bytes,4,opt,name=RaidLevel,json=raidLevel" json:"RaidLevel,omitempty"`
  587. // TotalSize of the pool
  588. TotalSize uint64 `protobuf:"varint,7,opt,name=TotalSize,json=totalSize" json:"TotalSize,omitempty"`
  589. // Used size of the pool
  590. Used uint64 `protobuf:"varint,8,opt,name=Used,json=used" json:"Used,omitempty"`
  591. // Labels is a list of user defined name-value pairs
  592. Labels map[string]string `protobuf:"bytes,9,rep,name=labels" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
  593. }
  594. func (m *StoragePool) Reset() { *m = StoragePool{} }
  595. func (m *StoragePool) String() string { return proto.CompactTextString(m) }
  596. func (*StoragePool) ProtoMessage() {}
  597. func (*StoragePool) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
  598. func (m *StoragePool) GetID() int32 {
  599. if m != nil {
  600. return m.ID
  601. }
  602. return 0
  603. }
  604. func (m *StoragePool) GetCos() CosType {
  605. if m != nil {
  606. return m.Cos
  607. }
  608. return CosType_NONE
  609. }
  610. func (m *StoragePool) GetMedium() StorageMedium {
  611. if m != nil {
  612. return m.Medium
  613. }
  614. return StorageMedium_STORAGE_MEDIUM_MAGNETIC
  615. }
  616. func (m *StoragePool) GetRaidLevel() string {
  617. if m != nil {
  618. return m.RaidLevel
  619. }
  620. return ""
  621. }
  622. func (m *StoragePool) GetTotalSize() uint64 {
  623. if m != nil {
  624. return m.TotalSize
  625. }
  626. return 0
  627. }
  628. func (m *StoragePool) GetUsed() uint64 {
  629. if m != nil {
  630. return m.Used
  631. }
  632. return 0
  633. }
  634. func (m *StoragePool) GetLabels() map[string]string {
  635. if m != nil {
  636. return m.Labels
  637. }
  638. return nil
  639. }
  640. // VolumeLocator is a structure that is attached to a volume
  641. // and is used to carry opaque metadata.
  642. type VolumeLocator struct {
  643. // User friendly identifier
  644. Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
  645. // A set of name-value pairs that acts as search filters
  646. VolumeLabels map[string]string `protobuf:"bytes,2,rep,name=volume_labels,json=volumeLabels" json:"volume_labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
  647. }
  648. func (m *VolumeLocator) Reset() { *m = VolumeLocator{} }
  649. func (m *VolumeLocator) String() string { return proto.CompactTextString(m) }
  650. func (*VolumeLocator) ProtoMessage() {}
  651. func (*VolumeLocator) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
  652. func (m *VolumeLocator) GetName() string {
  653. if m != nil {
  654. return m.Name
  655. }
  656. return ""
  657. }
  658. func (m *VolumeLocator) GetVolumeLabels() map[string]string {
  659. if m != nil {
  660. return m.VolumeLabels
  661. }
  662. return nil
  663. }
  664. type Source struct {
  665. // A volume id, if specified will create a clone of the parent.
  666. Parent string `protobuf:"bytes,1,opt,name=parent" json:"parent,omitempty"`
  667. // Seed will seed the volume from the specified URI
  668. // Any additional config for the source comes from the labels in the spec
  669. Seed string `protobuf:"bytes,2,opt,name=seed" json:"seed,omitempty"`
  670. }
  671. func (m *Source) Reset() { *m = Source{} }
  672. func (m *Source) String() string { return proto.CompactTextString(m) }
  673. func (*Source) ProtoMessage() {}
  674. func (*Source) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
  675. func (m *Source) GetParent() string {
  676. if m != nil {
  677. return m.Parent
  678. }
  679. return ""
  680. }
  681. func (m *Source) GetSeed() string {
  682. if m != nil {
  683. return m.Seed
  684. }
  685. return ""
  686. }
  687. type Group struct {
  688. // Id common identifier across volumes that have the same group.
  689. Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
  690. }
  691. func (m *Group) Reset() { *m = Group{} }
  692. func (m *Group) String() string { return proto.CompactTextString(m) }
  693. func (*Group) ProtoMessage() {}
  694. func (*Group) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
  695. func (m *Group) GetId() string {
  696. if m != nil {
  697. return m.Id
  698. }
  699. return ""
  700. }
  701. // VolumeSpec has the properties needed to create a volume.
  702. type VolumeSpec struct {
  703. // Ephemeral storage
  704. Ephemeral bool `protobuf:"varint,1,opt,name=ephemeral" json:"ephemeral,omitempty"`
  705. // Size specifies the thin provisioned volume size.
  706. Size uint64 `protobuf:"varint,2,opt,name=size" json:"size,omitempty"`
  707. // Format specifies the filesystem for this volume.
  708. Format FSType `protobuf:"varint,3,opt,name=format,enum=openstorage.api.FSType" json:"format,omitempty"`
  709. // BlockSize for the filesystem.
  710. BlockSize int64 `protobuf:"varint,4,opt,name=block_size,json=blockSize" json:"block_size,omitempty"`
  711. // HaLevel specifies the number of copies of data.
  712. HaLevel int64 `protobuf:"varint,5,opt,name=ha_level,json=haLevel" json:"ha_level,omitempty"`
  713. // Cos specifies the relative class of service.
  714. Cos CosType `protobuf:"varint,6,opt,name=cos,enum=openstorage.api.CosType" json:"cos,omitempty"`
  715. // IoProfile provides a hint about application using this volume.
  716. IoProfile IoProfile `protobuf:"varint,7,opt,name=io_profile,json=ioProfile,enum=openstorage.api.IoProfile" json:"io_profile,omitempty"`
  717. // Dedupe specifies if the volume data is to be de-duplicated.
  718. Dedupe bool `protobuf:"varint,8,opt,name=dedupe" json:"dedupe,omitempty"`
  719. // SnapshotInterval in minutes, set to 0 to disable snapshots
  720. SnapshotInterval uint32 `protobuf:"varint,9,opt,name=snapshot_interval,json=snapshotInterval" json:"snapshot_interval,omitempty"`
  721. // VolumeLabels configuration labels
  722. VolumeLabels map[string]string `protobuf:"bytes,10,rep,name=volume_labels,json=volumeLabels" json:"volume_labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
  723. // Shared is true if this volume can be remotely accessed.
  724. Shared bool `protobuf:"varint,11,opt,name=shared" json:"shared,omitempty"`
  725. // ReplicaSet is the desired set of nodes for the volume data.
  726. ReplicaSet *ReplicaSet `protobuf:"bytes,12,opt,name=replica_set,json=replicaSet" json:"replica_set,omitempty"`
  727. // Aggregatiokn level Specifies the number of parts the volume can be aggregated from.
  728. AggregationLevel uint32 `protobuf:"varint,13,opt,name=aggregation_level,json=aggregationLevel" json:"aggregation_level,omitempty"`
  729. // Encrypted is true if this volume will be cryptographically secured.
  730. Encrypted bool `protobuf:"varint,14,opt,name=encrypted" json:"encrypted,omitempty"`
  731. // Passphrase for an encrypted volume
  732. Passphrase string `protobuf:"bytes,15,opt,name=passphrase" json:"passphrase,omitempty"`
  733. // SnapshotSchedule a well known string that specifies when snapshots should be taken.
  734. SnapshotSchedule string `protobuf:"bytes,16,opt,name=snapshot_schedule,json=snapshotSchedule" json:"snapshot_schedule,omitempty"`
  735. // Scale allows autocreation of volumes.
  736. Scale uint32 `protobuf:"varint,17,opt,name=scale" json:"scale,omitempty"`
  737. // Sticky volumes cannot be deleted until the flag is removed.
  738. Sticky bool `protobuf:"varint,18,opt,name=sticky" json:"sticky,omitempty"`
  739. // Group identifies a consistency group
  740. Group *Group `protobuf:"bytes,21,opt,name=group" json:"group,omitempty"`
  741. // GroupEnforced is true if consistency group creation is enforced.
  742. GroupEnforced bool `protobuf:"varint,22,opt,name=group_enforced,json=groupEnforced" json:"group_enforced,omitempty"`
  743. // Compressed is true if this volume is to be compressed.
  744. Compressed bool `protobuf:"varint,23,opt,name=compressed" json:"compressed,omitempty"`
  745. }
  746. func (m *VolumeSpec) Reset() { *m = VolumeSpec{} }
  747. func (m *VolumeSpec) String() string { return proto.CompactTextString(m) }
  748. func (*VolumeSpec) ProtoMessage() {}
  749. func (*VolumeSpec) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
  750. func (m *VolumeSpec) GetEphemeral() bool {
  751. if m != nil {
  752. return m.Ephemeral
  753. }
  754. return false
  755. }
  756. func (m *VolumeSpec) GetSize() uint64 {
  757. if m != nil {
  758. return m.Size
  759. }
  760. return 0
  761. }
  762. func (m *VolumeSpec) GetFormat() FSType {
  763. if m != nil {
  764. return m.Format
  765. }
  766. return FSType_FS_TYPE_NONE
  767. }
  768. func (m *VolumeSpec) GetBlockSize() int64 {
  769. if m != nil {
  770. return m.BlockSize
  771. }
  772. return 0
  773. }
  774. func (m *VolumeSpec) GetHaLevel() int64 {
  775. if m != nil {
  776. return m.HaLevel
  777. }
  778. return 0
  779. }
  780. func (m *VolumeSpec) GetCos() CosType {
  781. if m != nil {
  782. return m.Cos
  783. }
  784. return CosType_NONE
  785. }
  786. func (m *VolumeSpec) GetIoProfile() IoProfile {
  787. if m != nil {
  788. return m.IoProfile
  789. }
  790. return IoProfile_IO_PROFILE_SEQUENTIAL
  791. }
  792. func (m *VolumeSpec) GetDedupe() bool {
  793. if m != nil {
  794. return m.Dedupe
  795. }
  796. return false
  797. }
  798. func (m *VolumeSpec) GetSnapshotInterval() uint32 {
  799. if m != nil {
  800. return m.SnapshotInterval
  801. }
  802. return 0
  803. }
  804. func (m *VolumeSpec) GetVolumeLabels() map[string]string {
  805. if m != nil {
  806. return m.VolumeLabels
  807. }
  808. return nil
  809. }
  810. func (m *VolumeSpec) GetShared() bool {
  811. if m != nil {
  812. return m.Shared
  813. }
  814. return false
  815. }
  816. func (m *VolumeSpec) GetReplicaSet() *ReplicaSet {
  817. if m != nil {
  818. return m.ReplicaSet
  819. }
  820. return nil
  821. }
  822. func (m *VolumeSpec) GetAggregationLevel() uint32 {
  823. if m != nil {
  824. return m.AggregationLevel
  825. }
  826. return 0
  827. }
  828. func (m *VolumeSpec) GetEncrypted() bool {
  829. if m != nil {
  830. return m.Encrypted
  831. }
  832. return false
  833. }
  834. func (m *VolumeSpec) GetPassphrase() string {
  835. if m != nil {
  836. return m.Passphrase
  837. }
  838. return ""
  839. }
  840. func (m *VolumeSpec) GetSnapshotSchedule() string {
  841. if m != nil {
  842. return m.SnapshotSchedule
  843. }
  844. return ""
  845. }
  846. func (m *VolumeSpec) GetScale() uint32 {
  847. if m != nil {
  848. return m.Scale
  849. }
  850. return 0
  851. }
  852. func (m *VolumeSpec) GetSticky() bool {
  853. if m != nil {
  854. return m.Sticky
  855. }
  856. return false
  857. }
  858. func (m *VolumeSpec) GetGroup() *Group {
  859. if m != nil {
  860. return m.Group
  861. }
  862. return nil
  863. }
  864. func (m *VolumeSpec) GetGroupEnforced() bool {
  865. if m != nil {
  866. return m.GroupEnforced
  867. }
  868. return false
  869. }
  870. func (m *VolumeSpec) GetCompressed() bool {
  871. if m != nil {
  872. return m.Compressed
  873. }
  874. return false
  875. }
  876. // ReplicaSet set of machine IDs (nodes) to which part of this volume is erasure
  877. // coded - for clustered storage arrays
  878. type ReplicaSet struct {
  879. Nodes []string `protobuf:"bytes,1,rep,name=nodes" json:"nodes,omitempty"`
  880. }
  881. func (m *ReplicaSet) Reset() { *m = ReplicaSet{} }
  882. func (m *ReplicaSet) String() string { return proto.CompactTextString(m) }
  883. func (*ReplicaSet) ProtoMessage() {}
  884. func (*ReplicaSet) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
  885. func (m *ReplicaSet) GetNodes() []string {
  886. if m != nil {
  887. return m.Nodes
  888. }
  889. return nil
  890. }
  891. // RuntimeStateMap is a list of name value mapping of driver specific runtime
  892. // information.
  893. type RuntimeStateMap struct {
  894. RuntimeState map[string]string `protobuf:"bytes,1,rep,name=runtime_state,json=runtimeState" json:"runtime_state,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
  895. }
  896. func (m *RuntimeStateMap) Reset() { *m = RuntimeStateMap{} }
  897. func (m *RuntimeStateMap) String() string { return proto.CompactTextString(m) }
  898. func (*RuntimeStateMap) ProtoMessage() {}
  899. func (*RuntimeStateMap) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
  900. func (m *RuntimeStateMap) GetRuntimeState() map[string]string {
  901. if m != nil {
  902. return m.RuntimeState
  903. }
  904. return nil
  905. }
  906. // Volume represents an abstract storage volume.
  907. // Volume represents an abstract storage volume.
  908. type Volume struct {
  909. // Self referential volume ID.
  910. Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
  911. // Source specified seed data for the volume.
  912. Source *Source `protobuf:"bytes,2,opt,name=source" json:"source,omitempty"`
  913. // Group volumes in the same group have the same group id.
  914. Group *Group `protobuf:"bytes,3,opt,name=group" json:"group,omitempty"`
  915. // Readonly is true if this volume is to be mounted with readonly access.
  916. Readonly bool `protobuf:"varint,4,opt,name=readonly" json:"readonly,omitempty"`
  917. // User specified locator
  918. Locator *VolumeLocator `protobuf:"bytes,5,opt,name=locator" json:"locator,omitempty"`
  919. // Volume creation time
  920. Ctime *google_protobuf.Timestamp `protobuf:"bytes,6,opt,name=ctime" json:"ctime,omitempty"`
  921. // User specified VolumeSpec
  922. Spec *VolumeSpec `protobuf:"bytes,7,opt,name=spec" json:"spec,omitempty"`
  923. // Usage is bytes consumed by vtheis volume.
  924. Usage uint64 `protobuf:"varint,8,opt,name=usage" json:"usage,omitempty"`
  925. // LastScan is the time when an integrity check was run.
  926. LastScan *google_protobuf.Timestamp `protobuf:"bytes,9,opt,name=last_scan,json=lastScan" json:"last_scan,omitempty"`
  927. // Format specifies the filesytem for this volume.
  928. Format FSType `protobuf:"varint,10,opt,name=format,enum=openstorage.api.FSType" json:"format,omitempty"`
  929. // Status is the availability status of this volume.
  930. Status VolumeStatus `protobuf:"varint,11,opt,name=status,enum=openstorage.api.VolumeStatus" json:"status,omitempty"`
  931. // State is the current runtime state of this volume.
  932. State VolumeState `protobuf:"varint,12,opt,name=state,enum=openstorage.api.VolumeState" json:"state,omitempty"`
  933. // AttachedOn is the node instance identifier for clustered systems.
  934. AttachedOn string `protobuf:"bytes,13,opt,name=attached_on,json=attachedOn" json:"attached_on,omitempty"`
  935. // AttachedState shows whether the device is attached for internal or external use.
  936. AttachedState AttachState `protobuf:"varint,14,opt,name=attached_state,json=attachedState,enum=openstorage.api.AttachState" json:"attached_state,omitempty"`
  937. // DevicePath is the device exported by block device implementations.
  938. DevicePath string `protobuf:"bytes,15,opt,name=device_path,json=devicePath" json:"device_path,omitempty"`
  939. // SecureDevicePath is the device path for an encrypted volume.
  940. SecureDevicePath string `protobuf:"bytes,16,opt,name=secure_device_path,json=secureDevicePath" json:"secure_device_path,omitempty"`
  941. // AttachPath is the mounted path in the host namespace.
  942. AttachPath []string `protobuf:"bytes,17,rep,name=attach_path,json=attachPath" json:"attach_path,omitempty"`
  943. // AttachInfo is a list of name value mappings that provides attach information.
  944. AttachInfo map[string]string `protobuf:"bytes,18,rep,name=attach_info,json=attachInfo" json:"attach_info,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
  945. // ReplicatSets storage for this volumefor clustered storage arrays.
  946. ReplicaSets []*ReplicaSet `protobuf:"bytes,19,rep,name=replica_sets,json=replicaSets" json:"replica_sets,omitempty"`
  947. // RuntimeState is a lst of name value mapping of driver specific runtime
  948. // information.
  949. RuntimeState []*RuntimeStateMap `protobuf:"bytes,20,rep,name=runtime_state,json=runtimeState" json:"runtime_state,omitempty"`
  950. // Error is the Last recorded error.
  951. Error string `protobuf:"bytes,21,opt,name=error" json:"error,omitempty"`
  952. }
  953. func (m *Volume) Reset() { *m = Volume{} }
  954. func (m *Volume) String() string { return proto.CompactTextString(m) }
  955. func (*Volume) ProtoMessage() {}
  956. func (*Volume) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
  957. func (m *Volume) GetId() string {
  958. if m != nil {
  959. return m.Id
  960. }
  961. return ""
  962. }
  963. func (m *Volume) GetSource() *Source {
  964. if m != nil {
  965. return m.Source
  966. }
  967. return nil
  968. }
  969. func (m *Volume) GetGroup() *Group {
  970. if m != nil {
  971. return m.Group
  972. }
  973. return nil
  974. }
  975. func (m *Volume) GetReadonly() bool {
  976. if m != nil {
  977. return m.Readonly
  978. }
  979. return false
  980. }
  981. func (m *Volume) GetLocator() *VolumeLocator {
  982. if m != nil {
  983. return m.Locator
  984. }
  985. return nil
  986. }
  987. func (m *Volume) GetCtime() *google_protobuf.Timestamp {
  988. if m != nil {
  989. return m.Ctime
  990. }
  991. return nil
  992. }
  993. func (m *Volume) GetSpec() *VolumeSpec {
  994. if m != nil {
  995. return m.Spec
  996. }
  997. return nil
  998. }
  999. func (m *Volume) GetUsage() uint64 {
  1000. if m != nil {
  1001. return m.Usage
  1002. }
  1003. return 0
  1004. }
  1005. func (m *Volume) GetLastScan() *google_protobuf.Timestamp {
  1006. if m != nil {
  1007. return m.LastScan
  1008. }
  1009. return nil
  1010. }
  1011. func (m *Volume) GetFormat() FSType {
  1012. if m != nil {
  1013. return m.Format
  1014. }
  1015. return FSType_FS_TYPE_NONE
  1016. }
  1017. func (m *Volume) GetStatus() VolumeStatus {
  1018. if m != nil {
  1019. return m.Status
  1020. }
  1021. return VolumeStatus_VOLUME_STATUS_NONE
  1022. }
  1023. func (m *Volume) GetState() VolumeState {
  1024. if m != nil {
  1025. return m.State
  1026. }
  1027. return VolumeState_VOLUME_STATE_NONE
  1028. }
  1029. func (m *Volume) GetAttachedOn() string {
  1030. if m != nil {
  1031. return m.AttachedOn
  1032. }
  1033. return ""
  1034. }
  1035. func (m *Volume) GetAttachedState() AttachState {
  1036. if m != nil {
  1037. return m.AttachedState
  1038. }
  1039. return AttachState_ATTACH_STATE_EXTERNAL
  1040. }
  1041. func (m *Volume) GetDevicePath() string {
  1042. if m != nil {
  1043. return m.DevicePath
  1044. }
  1045. return ""
  1046. }
  1047. func (m *Volume) GetSecureDevicePath() string {
  1048. if m != nil {
  1049. return m.SecureDevicePath
  1050. }
  1051. return ""
  1052. }
  1053. func (m *Volume) GetAttachPath() []string {
  1054. if m != nil {
  1055. return m.AttachPath
  1056. }
  1057. return nil
  1058. }
  1059. func (m *Volume) GetAttachInfo() map[string]string {
  1060. if m != nil {
  1061. return m.AttachInfo
  1062. }
  1063. return nil
  1064. }
  1065. func (m *Volume) GetReplicaSets() []*ReplicaSet {
  1066. if m != nil {
  1067. return m.ReplicaSets
  1068. }
  1069. return nil
  1070. }
  1071. func (m *Volume) GetRuntimeState() []*RuntimeStateMap {
  1072. if m != nil {
  1073. return m.RuntimeState
  1074. }
  1075. return nil
  1076. }
  1077. func (m *Volume) GetError() string {
  1078. if m != nil {
  1079. return m.Error
  1080. }
  1081. return ""
  1082. }
  1083. type Stats struct {
  1084. // Reads completed successfully
  1085. Reads uint64 `protobuf:"varint,1,opt,name=reads" json:"reads,omitempty"`
  1086. // Time spent in reads in ms
  1087. ReadMs uint64 `protobuf:"varint,2,opt,name=read_ms,json=readMs" json:"read_ms,omitempty"`
  1088. ReadBytes uint64 `protobuf:"varint,3,opt,name=read_bytes,json=readBytes" json:"read_bytes,omitempty"`
  1089. // Writes completed successfully
  1090. Writes uint64 `protobuf:"varint,4,opt,name=writes" json:"writes,omitempty"`
  1091. // Time spent in writes in ms
  1092. WriteMs uint64 `protobuf:"varint,5,opt,name=write_ms,json=writeMs" json:"write_ms,omitempty"`
  1093. WriteBytes uint64 `protobuf:"varint,6,opt,name=write_bytes,json=writeBytes" json:"write_bytes,omitempty"`
  1094. // IOs curently in progress
  1095. IoProgress uint64 `protobuf:"varint,7,opt,name=io_progress,json=ioProgress" json:"io_progress,omitempty"`
  1096. // Time spent doing IOs ms
  1097. IoMs uint64 `protobuf:"varint,8,opt,name=io_ms,json=ioMs" json:"io_ms,omitempty"`
  1098. // BytesUsed
  1099. BytesUsed uint64 `protobuf:"varint,9,opt,name=bytes_used,json=bytesUsed" json:"bytes_used,omitempty"`
  1100. // Interval in ms during which stats were collected
  1101. IntervalMs uint64 `protobuf:"varint,10,opt,name=interval_ms,json=intervalMs" json:"interval_ms,omitempty"`
  1102. }
  1103. func (m *Stats) Reset() { *m = Stats{} }
  1104. func (m *Stats) String() string { return proto.CompactTextString(m) }
  1105. func (*Stats) ProtoMessage() {}
  1106. func (*Stats) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
  1107. func (m *Stats) GetReads() uint64 {
  1108. if m != nil {
  1109. return m.Reads
  1110. }
  1111. return 0
  1112. }
  1113. func (m *Stats) GetReadMs() uint64 {
  1114. if m != nil {
  1115. return m.ReadMs
  1116. }
  1117. return 0
  1118. }
  1119. func (m *Stats) GetReadBytes() uint64 {
  1120. if m != nil {
  1121. return m.ReadBytes
  1122. }
  1123. return 0
  1124. }
  1125. func (m *Stats) GetWrites() uint64 {
  1126. if m != nil {
  1127. return m.Writes
  1128. }
  1129. return 0
  1130. }
  1131. func (m *Stats) GetWriteMs() uint64 {
  1132. if m != nil {
  1133. return m.WriteMs
  1134. }
  1135. return 0
  1136. }
  1137. func (m *Stats) GetWriteBytes() uint64 {
  1138. if m != nil {
  1139. return m.WriteBytes
  1140. }
  1141. return 0
  1142. }
  1143. func (m *Stats) GetIoProgress() uint64 {
  1144. if m != nil {
  1145. return m.IoProgress
  1146. }
  1147. return 0
  1148. }
  1149. func (m *Stats) GetIoMs() uint64 {
  1150. if m != nil {
  1151. return m.IoMs
  1152. }
  1153. return 0
  1154. }
  1155. func (m *Stats) GetBytesUsed() uint64 {
  1156. if m != nil {
  1157. return m.BytesUsed
  1158. }
  1159. return 0
  1160. }
  1161. func (m *Stats) GetIntervalMs() uint64 {
  1162. if m != nil {
  1163. return m.IntervalMs
  1164. }
  1165. return 0
  1166. }
  1167. type Alert struct {
  1168. // Id for Alert
  1169. Id int64 `protobuf:"varint,1,opt,name=id" json:"id,omitempty"`
  1170. // Severity of the Alert
  1171. Severity SeverityType `protobuf:"varint,2,opt,name=severity,enum=openstorage.api.SeverityType" json:"severity,omitempty"`
  1172. // AlertType user defined alert type
  1173. AlertType int64 `protobuf:"varint,3,opt,name=alert_type,json=alertType" json:"alert_type,omitempty"`
  1174. // Message describing the Alert
  1175. Message string `protobuf:"bytes,4,opt,name=message" json:"message,omitempty"`
  1176. // Timestamp when Alert occured
  1177. Timestamp *google_protobuf.Timestamp `protobuf:"bytes,5,opt,name=timestamp" json:"timestamp,omitempty"`
  1178. // ResourceId where Alert occured
  1179. ResourceId string `protobuf:"bytes,6,opt,name=resource_id,json=resourceId" json:"resource_id,omitempty"`
  1180. // Resource where Alert occured
  1181. Resource ResourceType `protobuf:"varint,7,opt,name=resource,enum=openstorage.api.ResourceType" json:"resource,omitempty"`
  1182. // Cleared Flag
  1183. Cleared bool `protobuf:"varint,8,opt,name=cleared" json:"cleared,omitempty"`
  1184. // TTL in seconds for this Alert
  1185. Ttl uint64 `protobuf:"varint,9,opt,name=ttl" json:"ttl,omitempty"`
  1186. // UniqueTag helps identify a unique alert for a given resouce
  1187. UniqueTag string `protobuf:"bytes,10,opt,name=unique_tag,json=uniqueTag" json:"unique_tag,omitempty"`
  1188. }
  1189. func (m *Alert) Reset() { *m = Alert{} }
  1190. func (m *Alert) String() string { return proto.CompactTextString(m) }
  1191. func (*Alert) ProtoMessage() {}
  1192. func (*Alert) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
  1193. func (m *Alert) GetId() int64 {
  1194. if m != nil {
  1195. return m.Id
  1196. }
  1197. return 0
  1198. }
  1199. func (m *Alert) GetSeverity() SeverityType {
  1200. if m != nil {
  1201. return m.Severity
  1202. }
  1203. return SeverityType_SEVERITY_TYPE_NONE
  1204. }
  1205. func (m *Alert) GetAlertType() int64 {
  1206. if m != nil {
  1207. return m.AlertType
  1208. }
  1209. return 0
  1210. }
  1211. func (m *Alert) GetMessage() string {
  1212. if m != nil {
  1213. return m.Message
  1214. }
  1215. return ""
  1216. }
  1217. func (m *Alert) GetTimestamp() *google_protobuf.Timestamp {
  1218. if m != nil {
  1219. return m.Timestamp
  1220. }
  1221. return nil
  1222. }
  1223. func (m *Alert) GetResourceId() string {
  1224. if m != nil {
  1225. return m.ResourceId
  1226. }
  1227. return ""
  1228. }
  1229. func (m *Alert) GetResource() ResourceType {
  1230. if m != nil {
  1231. return m.Resource
  1232. }
  1233. return ResourceType_RESOURCE_TYPE_NONE
  1234. }
  1235. func (m *Alert) GetCleared() bool {
  1236. if m != nil {
  1237. return m.Cleared
  1238. }
  1239. return false
  1240. }
  1241. func (m *Alert) GetTtl() uint64 {
  1242. if m != nil {
  1243. return m.Ttl
  1244. }
  1245. return 0
  1246. }
  1247. func (m *Alert) GetUniqueTag() string {
  1248. if m != nil {
  1249. return m.UniqueTag
  1250. }
  1251. return ""
  1252. }
  1253. type Alerts struct {
  1254. Alert []*Alert `protobuf:"bytes,1,rep,name=alert" json:"alert,omitempty"`
  1255. }
  1256. func (m *Alerts) Reset() { *m = Alerts{} }
  1257. func (m *Alerts) String() string { return proto.CompactTextString(m) }
  1258. func (*Alerts) ProtoMessage() {}
  1259. func (*Alerts) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
  1260. func (m *Alerts) GetAlert() []*Alert {
  1261. if m != nil {
  1262. return m.Alert
  1263. }
  1264. return nil
  1265. }
  1266. type VolumeCreateRequest struct {
  1267. // User specified volume name and labels
  1268. Locator *VolumeLocator `protobuf:"bytes,1,opt,name=locator" json:"locator,omitempty"`
  1269. // Source to create volume
  1270. Source *Source `protobuf:"bytes,2,opt,name=source" json:"source,omitempty"`
  1271. // The storage spec for the volume
  1272. Spec *VolumeSpec `protobuf:"bytes,3,opt,name=spec" json:"spec,omitempty"`
  1273. }
  1274. func (m *VolumeCreateRequest) Reset() { *m = VolumeCreateRequest{} }
  1275. func (m *VolumeCreateRequest) String() string { return proto.CompactTextString(m) }
  1276. func (*VolumeCreateRequest) ProtoMessage() {}
  1277. func (*VolumeCreateRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }
  1278. func (m *VolumeCreateRequest) GetLocator() *VolumeLocator {
  1279. if m != nil {
  1280. return m.Locator
  1281. }
  1282. return nil
  1283. }
  1284. func (m *VolumeCreateRequest) GetSource() *Source {
  1285. if m != nil {
  1286. return m.Source
  1287. }
  1288. return nil
  1289. }
  1290. func (m *VolumeCreateRequest) GetSpec() *VolumeSpec {
  1291. if m != nil {
  1292. return m.Spec
  1293. }
  1294. return nil
  1295. }
  1296. type VolumeResponse struct {
  1297. Error string `protobuf:"bytes,1,opt,name=error" json:"error,omitempty"`
  1298. }
  1299. func (m *VolumeResponse) Reset() { *m = VolumeResponse{} }
  1300. func (m *VolumeResponse) String() string { return proto.CompactTextString(m) }
  1301. func (*VolumeResponse) ProtoMessage() {}
  1302. func (*VolumeResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }
  1303. func (m *VolumeResponse) GetError() string {
  1304. if m != nil {
  1305. return m.Error
  1306. }
  1307. return ""
  1308. }
  1309. type VolumeCreateResponse struct {
  1310. // ID of the newly created volume
  1311. Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
  1312. VolumeResponse *VolumeResponse `protobuf:"bytes,2,opt,name=volume_response,json=volumeResponse" json:"volume_response,omitempty"`
  1313. }
  1314. func (m *VolumeCreateResponse) Reset() { *m = VolumeCreateResponse{} }
  1315. func (m *VolumeCreateResponse) String() string { return proto.CompactTextString(m) }
  1316. func (*VolumeCreateResponse) ProtoMessage() {}
  1317. func (*VolumeCreateResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} }
  1318. func (m *VolumeCreateResponse) GetId() string {
  1319. if m != nil {
  1320. return m.Id
  1321. }
  1322. return ""
  1323. }
  1324. func (m *VolumeCreateResponse) GetVolumeResponse() *VolumeResponse {
  1325. if m != nil {
  1326. return m.VolumeResponse
  1327. }
  1328. return nil
  1329. }
  1330. // VolumeStateAction specifies desired actions.
  1331. type VolumeStateAction struct {
  1332. // Attach or Detach volume
  1333. Attach VolumeActionParam `protobuf:"varint,1,opt,name=attach,enum=openstorage.api.VolumeActionParam" json:"attach,omitempty"`
  1334. // Mount or unmount volume
  1335. Mount VolumeActionParam `protobuf:"varint,2,opt,name=mount,enum=openstorage.api.VolumeActionParam" json:"mount,omitempty"`
  1336. // MountPath Path where the device is mounted
  1337. MountPath string `protobuf:"bytes,3,opt,name=mount_path,json=mountPath" json:"mount_path,omitempty"`
  1338. // DevicePath Path returned in attach
  1339. DevicePath string `protobuf:"bytes,4,opt,name=device_path,json=devicePath" json:"device_path,omitempty"`
  1340. // UnmountBeforeDetach is used to check whether unmount should be done before
  1341. // a detach
  1342. UnmountBeforeDetach bool `protobuf:"varint,5,opt,name=unmount_before_detach,json=unmountBeforeDetach" json:"unmount_before_detach,omitempty"`
  1343. }
  1344. func (m *VolumeStateAction) Reset() { *m = VolumeStateAction{} }
  1345. func (m *VolumeStateAction) String() string { return proto.CompactTextString(m) }
  1346. func (*VolumeStateAction) ProtoMessage() {}
  1347. func (*VolumeStateAction) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} }
  1348. func (m *VolumeStateAction) GetAttach() VolumeActionParam {
  1349. if m != nil {
  1350. return m.Attach
  1351. }
  1352. return VolumeActionParam_VOLUME_ACTION_PARAM_NONE
  1353. }
  1354. func (m *VolumeStateAction) GetMount() VolumeActionParam {
  1355. if m != nil {
  1356. return m.Mount
  1357. }
  1358. return VolumeActionParam_VOLUME_ACTION_PARAM_NONE
  1359. }
  1360. func (m *VolumeStateAction) GetMountPath() string {
  1361. if m != nil {
  1362. return m.MountPath
  1363. }
  1364. return ""
  1365. }
  1366. func (m *VolumeStateAction) GetDevicePath() string {
  1367. if m != nil {
  1368. return m.DevicePath
  1369. }
  1370. return ""
  1371. }
  1372. func (m *VolumeStateAction) GetUnmountBeforeDetach() bool {
  1373. if m != nil {
  1374. return m.UnmountBeforeDetach
  1375. }
  1376. return false
  1377. }
  1378. type VolumeSetRequest struct {
  1379. // User specified volume name and labels
  1380. Locator *VolumeLocator `protobuf:"bytes,1,opt,name=locator" json:"locator,omitempty"`
  1381. // The storage spec for the volume
  1382. Spec *VolumeSpec `protobuf:"bytes,2,opt,name=spec" json:"spec,omitempty"`
  1383. // State modification on this volume.
  1384. Action *VolumeStateAction `protobuf:"bytes,3,opt,name=action" json:"action,omitempty"`
  1385. // additional options
  1386. // required for the Set operation.
  1387. Options map[string]string `protobuf:"bytes,4,rep,name=options" json:"options,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
  1388. }
  1389. func (m *VolumeSetRequest) Reset() { *m = VolumeSetRequest{} }
  1390. func (m *VolumeSetRequest) String() string { return proto.CompactTextString(m) }
  1391. func (*VolumeSetRequest) ProtoMessage() {}
  1392. func (*VolumeSetRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} }
  1393. func (m *VolumeSetRequest) GetLocator() *VolumeLocator {
  1394. if m != nil {
  1395. return m.Locator
  1396. }
  1397. return nil
  1398. }
  1399. func (m *VolumeSetRequest) GetSpec() *VolumeSpec {
  1400. if m != nil {
  1401. return m.Spec
  1402. }
  1403. return nil
  1404. }
  1405. func (m *VolumeSetRequest) GetAction() *VolumeStateAction {
  1406. if m != nil {
  1407. return m.Action
  1408. }
  1409. return nil
  1410. }
  1411. func (m *VolumeSetRequest) GetOptions() map[string]string {
  1412. if m != nil {
  1413. return m.Options
  1414. }
  1415. return nil
  1416. }
  1417. type VolumeSetResponse struct {
  1418. Volume *Volume `protobuf:"bytes,1,opt,name=volume" json:"volume,omitempty"`
  1419. VolumeResponse *VolumeResponse `protobuf:"bytes,2,opt,name=volume_response,json=volumeResponse" json:"volume_response,omitempty"`
  1420. }
  1421. func (m *VolumeSetResponse) Reset() { *m = VolumeSetResponse{} }
  1422. func (m *VolumeSetResponse) String() string { return proto.CompactTextString(m) }
  1423. func (*VolumeSetResponse) ProtoMessage() {}
  1424. func (*VolumeSetResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} }
  1425. func (m *VolumeSetResponse) GetVolume() *Volume {
  1426. if m != nil {
  1427. return m.Volume
  1428. }
  1429. return nil
  1430. }
  1431. func (m *VolumeSetResponse) GetVolumeResponse() *VolumeResponse {
  1432. if m != nil {
  1433. return m.VolumeResponse
  1434. }
  1435. return nil
  1436. }
  1437. type SnapCreateRequest struct {
  1438. // volume id
  1439. Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
  1440. Locator *VolumeLocator `protobuf:"bytes,2,opt,name=locator" json:"locator,omitempty"`
  1441. Readonly bool `protobuf:"varint,3,opt,name=readonly" json:"readonly,omitempty"`
  1442. }
  1443. func (m *SnapCreateRequest) Reset() { *m = SnapCreateRequest{} }
  1444. func (m *SnapCreateRequest) String() string { return proto.CompactTextString(m) }
  1445. func (*SnapCreateRequest) ProtoMessage() {}
  1446. func (*SnapCreateRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} }
  1447. func (m *SnapCreateRequest) GetId() string {
  1448. if m != nil {
  1449. return m.Id
  1450. }
  1451. return ""
  1452. }
  1453. func (m *SnapCreateRequest) GetLocator() *VolumeLocator {
  1454. if m != nil {
  1455. return m.Locator
  1456. }
  1457. return nil
  1458. }
  1459. func (m *SnapCreateRequest) GetReadonly() bool {
  1460. if m != nil {
  1461. return m.Readonly
  1462. }
  1463. return false
  1464. }
  1465. type SnapCreateResponse struct {
  1466. VolumeCreateResponse *VolumeCreateResponse `protobuf:"bytes,1,opt,name=volume_create_response,json=volumeCreateResponse" json:"volume_create_response,omitempty"`
  1467. }
  1468. func (m *SnapCreateResponse) Reset() { *m = SnapCreateResponse{} }
  1469. func (m *SnapCreateResponse) String() string { return proto.CompactTextString(m) }
  1470. func (*SnapCreateResponse) ProtoMessage() {}
  1471. func (*SnapCreateResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19} }
  1472. func (m *SnapCreateResponse) GetVolumeCreateResponse() *VolumeCreateResponse {
  1473. if m != nil {
  1474. return m.VolumeCreateResponse
  1475. }
  1476. return nil
  1477. }
  1478. type VolumeInfo struct {
  1479. VolumeId string `protobuf:"bytes,1,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
  1480. Path string `protobuf:"bytes,2,opt,name=path" json:"path,omitempty"`
  1481. Storage *VolumeSpec `protobuf:"bytes,3,opt,name=storage" json:"storage,omitempty"`
  1482. }
  1483. func (m *VolumeInfo) Reset() { *m = VolumeInfo{} }
  1484. func (m *VolumeInfo) String() string { return proto.CompactTextString(m) }
  1485. func (*VolumeInfo) ProtoMessage() {}
  1486. func (*VolumeInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20} }
  1487. func (m *VolumeInfo) GetVolumeId() string {
  1488. if m != nil {
  1489. return m.VolumeId
  1490. }
  1491. return ""
  1492. }
  1493. func (m *VolumeInfo) GetPath() string {
  1494. if m != nil {
  1495. return m.Path
  1496. }
  1497. return ""
  1498. }
  1499. func (m *VolumeInfo) GetStorage() *VolumeSpec {
  1500. if m != nil {
  1501. return m.Storage
  1502. }
  1503. return nil
  1504. }
  1505. // GraphDriverChanges represent a list of changes between the filesystem layers
  1506. // specified by the ID and Parent. // Parent may be an empty string, in which
  1507. // case there is no parent.
  1508. // Where the Path is the filesystem path within the layered filesystem
  1509. type GraphDriverChanges struct {
  1510. Path string `protobuf:"bytes,1,opt,name=path" json:"path,omitempty"`
  1511. Kind GraphDriverChangeType `protobuf:"varint,2,opt,name=kind,enum=openstorage.api.GraphDriverChangeType" json:"kind,omitempty"`
  1512. }
  1513. func (m *GraphDriverChanges) Reset() { *m = GraphDriverChanges{} }
  1514. func (m *GraphDriverChanges) String() string { return proto.CompactTextString(m) }
  1515. func (*GraphDriverChanges) ProtoMessage() {}
  1516. func (*GraphDriverChanges) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{21} }
  1517. func (m *GraphDriverChanges) GetPath() string {
  1518. if m != nil {
  1519. return m.Path
  1520. }
  1521. return ""
  1522. }
  1523. func (m *GraphDriverChanges) GetKind() GraphDriverChangeType {
  1524. if m != nil {
  1525. return m.Kind
  1526. }
  1527. return GraphDriverChangeType_GRAPH_DRIVER_CHANGE_TYPE_NONE
  1528. }
  1529. type ClusterResponse struct {
  1530. Error string `protobuf:"bytes,1,opt,name=error" json:"error,omitempty"`
  1531. }
  1532. func (m *ClusterResponse) Reset() { *m = ClusterResponse{} }
  1533. func (m *ClusterResponse) String() string { return proto.CompactTextString(m) }
  1534. func (*ClusterResponse) ProtoMessage() {}
  1535. func (*ClusterResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{22} }
  1536. func (m *ClusterResponse) GetError() string {
  1537. if m != nil {
  1538. return m.Error
  1539. }
  1540. return ""
  1541. }
  1542. type ActiveRequest struct {
  1543. ReqestKV map[int64]string `protobuf:"bytes,1,rep,name=ReqestKV,json=reqestKV" json:"ReqestKV,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
  1544. }
  1545. func (m *ActiveRequest) Reset() { *m = ActiveRequest{} }
  1546. func (m *ActiveRequest) String() string { return proto.CompactTextString(m) }
  1547. func (*ActiveRequest) ProtoMessage() {}
  1548. func (*ActiveRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{23} }
  1549. func (m *ActiveRequest) GetReqestKV() map[int64]string {
  1550. if m != nil {
  1551. return m.ReqestKV
  1552. }
  1553. return nil
  1554. }
  1555. type ActiveRequests struct {
  1556. RequestCount int64 `protobuf:"varint,1,opt,name=RequestCount,json=requestCount" json:"RequestCount,omitempty"`
  1557. ActiveRequest []*ActiveRequest `protobuf:"bytes,2,rep,name=ActiveRequest,json=activeRequest" json:"ActiveRequest,omitempty"`
  1558. }
  1559. func (m *ActiveRequests) Reset() { *m = ActiveRequests{} }
  1560. func (m *ActiveRequests) String() string { return proto.CompactTextString(m) }
  1561. func (*ActiveRequests) ProtoMessage() {}
  1562. func (*ActiveRequests) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{24} }
  1563. func (m *ActiveRequests) GetRequestCount() int64 {
  1564. if m != nil {
  1565. return m.RequestCount
  1566. }
  1567. return 0
  1568. }
  1569. func (m *ActiveRequests) GetActiveRequest() []*ActiveRequest {
  1570. if m != nil {
  1571. return m.ActiveRequest
  1572. }
  1573. return nil
  1574. }
  1575. func init() {
  1576. proto.RegisterType((*StorageResource)(nil), "openstorage.api.StorageResource")
  1577. proto.RegisterType((*StoragePool)(nil), "openstorage.api.StoragePool")
  1578. proto.RegisterType((*VolumeLocator)(nil), "openstorage.api.VolumeLocator")
  1579. proto.RegisterType((*Source)(nil), "openstorage.api.Source")
  1580. proto.RegisterType((*Group)(nil), "openstorage.api.Group")
  1581. proto.RegisterType((*VolumeSpec)(nil), "openstorage.api.VolumeSpec")
  1582. proto.RegisterType((*ReplicaSet)(nil), "openstorage.api.ReplicaSet")
  1583. proto.RegisterType((*RuntimeStateMap)(nil), "openstorage.api.RuntimeStateMap")
  1584. proto.RegisterType((*Volume)(nil), "openstorage.api.Volume")
  1585. proto.RegisterType((*Stats)(nil), "openstorage.api.Stats")
  1586. proto.RegisterType((*Alert)(nil), "openstorage.api.Alert")
  1587. proto.RegisterType((*Alerts)(nil), "openstorage.api.Alerts")
  1588. proto.RegisterType((*VolumeCreateRequest)(nil), "openstorage.api.VolumeCreateRequest")
  1589. proto.RegisterType((*VolumeResponse)(nil), "openstorage.api.VolumeResponse")
  1590. proto.RegisterType((*VolumeCreateResponse)(nil), "openstorage.api.VolumeCreateResponse")
  1591. proto.RegisterType((*VolumeStateAction)(nil), "openstorage.api.VolumeStateAction")
  1592. proto.RegisterType((*VolumeSetRequest)(nil), "openstorage.api.VolumeSetRequest")
  1593. proto.RegisterType((*VolumeSetResponse)(nil), "openstorage.api.VolumeSetResponse")
  1594. proto.RegisterType((*SnapCreateRequest)(nil), "openstorage.api.SnapCreateRequest")
  1595. proto.RegisterType((*SnapCreateResponse)(nil), "openstorage.api.SnapCreateResponse")
  1596. proto.RegisterType((*VolumeInfo)(nil), "openstorage.api.VolumeInfo")
  1597. proto.RegisterType((*GraphDriverChanges)(nil), "openstorage.api.GraphDriverChanges")
  1598. proto.RegisterType((*ClusterResponse)(nil), "openstorage.api.ClusterResponse")
  1599. proto.RegisterType((*ActiveRequest)(nil), "openstorage.api.ActiveRequest")
  1600. proto.RegisterType((*ActiveRequests)(nil), "openstorage.api.ActiveRequests")
  1601. proto.RegisterEnum("openstorage.api.Status", Status_name, Status_value)
  1602. proto.RegisterEnum("openstorage.api.DriverType", DriverType_name, DriverType_value)
  1603. proto.RegisterEnum("openstorage.api.FSType", FSType_name, FSType_value)
  1604. proto.RegisterEnum("openstorage.api.GraphDriverChangeType", GraphDriverChangeType_name, GraphDriverChangeType_value)
  1605. proto.RegisterEnum("openstorage.api.SeverityType", SeverityType_name, SeverityType_value)
  1606. proto.RegisterEnum("openstorage.api.ResourceType", ResourceType_name, ResourceType_value)
  1607. proto.RegisterEnum("openstorage.api.AlertActionType", AlertActionType_name, AlertActionType_value)
  1608. proto.RegisterEnum("openstorage.api.VolumeActionParam", VolumeActionParam_name, VolumeActionParam_value)
  1609. proto.RegisterEnum("openstorage.api.CosType", CosType_name, CosType_value)
  1610. proto.RegisterEnum("openstorage.api.IoProfile", IoProfile_name, IoProfile_value)
  1611. proto.RegisterEnum("openstorage.api.VolumeState", VolumeState_name, VolumeState_value)
  1612. proto.RegisterEnum("openstorage.api.VolumeStatus", VolumeStatus_name, VolumeStatus_value)
  1613. proto.RegisterEnum("openstorage.api.StorageMedium", StorageMedium_name, StorageMedium_value)
  1614. proto.RegisterEnum("openstorage.api.ClusterNotify", ClusterNotify_name, ClusterNotify_value)
  1615. proto.RegisterEnum("openstorage.api.AttachState", AttachState_name, AttachState_value)
  1616. }
  1617. func init() { proto.RegisterFile("api/api.proto", fileDescriptor0) }
  1618. var fileDescriptor0 = []byte{
  1619. // 2941 bytes of a gzipped FileDescriptorProto
  1620. 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x59, 0x4b, 0x73, 0xe3, 0xc6,
  1621. 0xb5, 0x1e, 0xf0, 0x25, 0xf2, 0x50, 0x94, 0xa0, 0x1e, 0x8d, 0xc4, 0xd1, 0xbc, 0x64, 0xd6, 0xb5,
  1622. 0xad, 0xd2, 0xf5, 0xd5, 0xb8, 0x74, 0x6d, 0xdf, 0xf1, 0xdc, 0x27, 0x45, 0x82, 0x12, 0xaf, 0xf9,
  1623. 0x90, 0x1b, 0x90, 0x66, 0xc6, 0xa9, 0x14, 0x0a, 0x43, 0xb6, 0x24, 0x64, 0x28, 0x02, 0x03, 0x80,
  1624. 0x4a, 0xc9, 0x7f, 0x20, 0x9b, 0x54, 0xb2, 0x4a, 0x52, 0x5e, 0xe5, 0x07, 0x78, 0x95, 0x75, 0x16,
  1625. 0x59, 0x67, 0x93, 0x5f, 0x92, 0x4d, 0xd6, 0xa9, 0x54, 0xa5, 0xce, 0xe9, 0x06, 0x05, 0x90, 0xd2,
  1626. 0x3c, 0x12, 0xef, 0xba, 0xbf, 0xf3, 0xe8, 0xd3, 0xa7, 0xcf, 0x0b, 0x24, 0x54, 0x1c, 0xdf, 0x7d,
  1627. 0xec, 0xf8, 0xee, 0x8e, 0x1f, 0x78, 0x91, 0xc7, 0x96, 0x3d, 0x5f, 0x8c, 0xc3, 0xc8, 0x0b, 0x9c,
  1628. 0x53, 0xb1, 0xe3, 0xf8, 0xee, 0xc6, 0xa3, 0x53, 0xcf, 0x3b, 0x1d, 0x89, 0xc7, 0x44, 0x7e, 0x39,
  1629. 0x39, 0x79, 0x1c, 0xb9, 0xe7, 0x22, 0x8c, 0x9c, 0x73, 0x5f, 0x4a, 0xd4, 0xfe, 0x92, 0x81, 0x65,
  1630. 0x53, 0x0a, 0x70, 0x11, 0x7a, 0x93, 0x60, 0x20, 0xd8, 0x12, 0x64, 0xdc, 0x61, 0x55, 0xdb, 0xd4,
  1631. 0xb6, 0x4a, 0x3c, 0xe3, 0x0e, 0x19, 0x83, 0x9c, 0xef, 0x44, 0x67, 0xd5, 0x0c, 0x21, 0xb4, 0x66,
  1632. 0x5f, 0x40, 0xe1, 0x5c, 0x0c, 0xdd, 0xc9, 0x79, 0x35, 0xbb, 0xa9, 0x6d, 0x2d, 0xed, 0x3e, 0xdc,
  1633. 0x99, 0x39, 0x7a, 0x47, 0x69, 0xed, 0x12, 0x17, 0x57, 0xdc, 0x6c, 0x0d, 0x0a, 0xde, 0x78, 0xe4,
  1634. 0x8e, 0x45, 0x35, 0xb7, 0xa9, 0x6d, 0x15, 0xb9, 0xda, 0xe1, 0x19, 0xae, 0xe7, 0x87, 0xd5, 0xfc,
  1635. 0xa6, 0xb6, 0x95, 0xe3, 0xb4, 0x66, 0xf7, 0xa0, 0x14, 0x8a, 0xd7, 0xf6, 0x4f, 0x03, 0x37, 0x12,
  1636. 0xd5, 0xc2, 0xa6, 0xb6, 0xa5, 0xf1, 0x62, 0x28, 0x5e, 0x3f, 0xc3, 0x3d, 0xbb, 0x0b, 0xb8, 0xb6,
  1637. 0x03, 0xe1, 0x0c, 0xab, 0x0b, 0x44, 0x5b, 0x08, 0xc5, 0x6b, 0x2e, 0x9c, 0x21, 0x9e, 0x11, 0x38,
  1638. 0xe3, 0x21, 0x7f, 0x56, 0x2d, 0x12, 0x41, 0xed, 0xf0, 0x8c, 0xd0, 0xfd, 0x56, 0x54, 0x4b, 0xf2,
  1639. 0x0c, 0x5c, 0x23, 0x36, 0x09, 0xc5, 0xb0, 0x0a, 0x12, 0xc3, 0x35, 0xfb, 0x10, 0x96, 0x02, 0x2f,
  1640. 0x72, 0x22, 0xd7, 0x1b, 0xdb, 0xa1, 0x2f, 0xc4, 0xb0, 0x5a, 0xa6, 0x9b, 0x57, 0x62, 0xd4, 0x44,
  1641. 0x90, 0xfd, 0x07, 0x94, 0x46, 0x4e, 0x18, 0xd9, 0xe1, 0xc0, 0x19, 0x57, 0x17, 0x37, 0xb5, 0xad,
  1642. 0xf2, 0xee, 0xc6, 0x8e, 0xf4, 0xf7, 0x4e, 0xec, 0xef, 0x1d, 0x2b, 0xf6, 0x37, 0x2f, 0x22, 0xb3,
  1643. 0x39, 0x70, 0xc6, 0xb5, 0x3f, 0x65, 0xa0, 0xac, 0xbc, 0x73, 0xe8, 0x79, 0x23, 0xf4, 0x77, 0xbb,
  1644. 0x49, 0xfe, 0xce, 0xf3, 0x8c, 0xdb, 0x64, 0xdb, 0x90, 0x6d, 0x78, 0x21, 0xb9, 0x7b, 0x69, 0xb7,
  1645. 0x3a, 0xe7, 0xd8, 0x86, 0x17, 0x5a, 0x97, 0xbe, 0xe0, 0xd9, 0x81, 0x17, 0xe2, 0x3b, 0x74, 0xff,
  1646. 0x91, 0x77, 0xb8, 0x0f, 0x25, 0xee, 0xb8, 0xc3, 0x8e, 0xb8, 0x10, 0x23, 0x7a, 0x8a, 0x12, 0x2f,
  1647. 0x05, 0x31, 0x80, 0x54, 0xcb, 0x8b, 0x9c, 0x91, 0x89, 0xee, 0x5a, 0x20, 0xd7, 0x94, 0xa2, 0x18,
  1648. 0x40, 0x9f, 0x1d, 0xa1, 0xcf, 0x8a, 0x09, 0x9f, 0xfd, 0x1f, 0x14, 0x46, 0xce, 0x4b, 0x31, 0x0a,
  1649. 0xab, 0xa5, 0xcd, 0xec, 0x56, 0x79, 0x77, 0xeb, 0x26, 0x3b, 0xf0, 0xc6, 0x3b, 0x1d, 0x62, 0x35,
  1650. 0xc6, 0x51, 0x70, 0xc9, 0x95, 0xdc, 0xc6, 0x97, 0x50, 0x4e, 0xc0, 0x4c, 0x87, 0xec, 0x2b, 0x71,
  1651. 0xa9, 0xa2, 0x10, 0x97, 0x6c, 0x15, 0xf2, 0x17, 0xce, 0x68, 0x22, 0x54, 0x1c, 0xca, 0xcd, 0xd3,
  1652. 0xcc, 0x13, 0xad, 0xf6, 0x7b, 0x0d, 0x2a, 0xc7, 0xde, 0x68, 0x72, 0x2e, 0x3a, 0xde, 0xc0, 0x89,
  1653. 0xbc, 0x00, 0x4d, 0x1c, 0x3b, 0xe7, 0x42, 0x89, 0xd3, 0x9a, 0x1d, 0x41, 0xe5, 0x82, 0x98, 0x6c,
  1654. 0x65, 0x69, 0x86, 0x2c, 0xfd, 0x74, 0xce, 0xd2, 0x94, 0xaa, 0x78, 0x97, 0xb0, 0x78, 0xf1, 0x22,
  1655. 0x01, 0x6d, 0xfc, 0x2f, 0xac, 0xcc, 0xb1, 0xbc, 0x97, 0xf5, 0x9f, 0x41, 0xc1, 0x94, 0x89, 0xb7,
  1656. 0x06, 0x05, 0xdf, 0x09, 0xc4, 0x38, 0x52, 0x82, 0x6a, 0x47, 0x81, 0x8b, 0x61, 0xa8, 0x12, 0x10,
  1657. 0xd7, 0xb5, 0x75, 0xc8, 0xef, 0x07, 0xde, 0xc4, 0x9f, 0xcd, 0xd6, 0xda, 0x5f, 0x0b, 0x00, 0xd2,
  1658. 0x20, 0xd3, 0x17, 0x03, 0x7c, 0x4a, 0xe1, 0x9f, 0x89, 0x73, 0x11, 0x38, 0x23, 0xe2, 0x2a, 0xf2,
  1659. 0x2b, 0x60, 0x9a, 0x12, 0x99, 0x44, 0x4a, 0x3c, 0x86, 0xc2, 0x89, 0x17, 0x9c, 0x3b, 0x91, 0x0a,
  1660. 0xa9, 0xf5, 0x39, 0x07, 0xb5, 0x4c, 0x0a, 0x40, 0xc5, 0xc6, 0x1e, 0x00, 0xbc, 0x1c, 0x79, 0x83,
  1661. 0x57, 0x36, 0xa9, 0xc2, 0x60, 0xca, 0xf2, 0x12, 0x21, 0x14, 0x2e, 0x77, 0xa1, 0x78, 0xe6, 0xd8,
  1662. 0x23, 0x8a, 0xb4, 0x3c, 0x11, 0x17, 0xce, 0x1c, 0x19, 0x67, 0xdb, 0x80, 0x41, 0x4c, 0xb9, 0xfd,
  1663. 0xd6, 0x48, 0xff, 0x12, 0xc0, 0xf5, 0x6c, 0x3f, 0xf0, 0x4e, 0xdc, 0x91, 0x0c, 0xca, 0xa5, 0xdd,
  1664. 0x8d, 0x39, 0x91, 0xb6, 0x77, 0x28, 0x39, 0x78, 0xc9, 0x8d, 0x97, 0xe8, 0xd7, 0xa1, 0x18, 0x4e,
  1665. 0x7c, 0x41, 0x21, 0x5b, 0xe4, 0x6a, 0xc7, 0xfe, 0x15, 0x56, 0xc2, 0xb1, 0xe3, 0x87, 0x67, 0x5e,
  1666. 0x64, 0xbb, 0xe3, 0x48, 0x04, 0x17, 0xce, 0x88, 0xaa, 0x43, 0x85, 0xeb, 0x31, 0xa1, 0xad, 0x70,
  1667. 0xc6, 0x67, 0xc3, 0x07, 0x28, 0x7c, 0xfe, 0xed, 0x86, 0xf0, 0x41, 0xe7, 0xbf, 0x2d, 0x76, 0xd0,
  1668. 0xb0, 0xf0, 0xcc, 0x09, 0x54, 0x85, 0x29, 0x72, 0xb5, 0x63, 0xff, 0x05, 0xe5, 0x40, 0xf8, 0x23,
  1669. 0x77, 0xe0, 0xd8, 0xa1, 0x88, 0x54, 0x71, 0xb9, 0x37, 0x77, 0x12, 0x97, 0x3c, 0xa6, 0x88, 0x38,
  1670. 0x04, 0xd3, 0x35, 0x5e, 0xcb, 0x39, 0x3d, 0x0d, 0xc4, 0xa9, 0x2c, 0x61, 0xd2, 0xf3, 0x15, 0x79,
  1671. 0xad, 0x04, 0x61, 0x9a, 0xea, 0x62, 0x3c, 0x08, 0x2e, 0xfd, 0x48, 0x0c, 0xab, 0x4b, 0x2a, 0x3e,
  1672. 0x62, 0x80, 0x3d, 0x04, 0xf0, 0x9d, 0x30, 0xf4, 0xcf, 0x02, 0x27, 0x14, 0xd5, 0x65, 0x0a, 0xb2,
  1673. 0x04, 0x92, 0xf2, 0x60, 0x38, 0x38, 0x13, 0xc3, 0xc9, 0x48, 0x54, 0x75, 0x62, 0x9b, 0x7a, 0xd0,
  1674. 0x54, 0x38, 0xa6, 0x40, 0x38, 0x70, 0x46, 0xa2, 0xba, 0x42, 0xb6, 0xc8, 0x0d, 0xf9, 0x20, 0x72,
  1675. 0x07, 0xaf, 0x2e, 0xab, 0x4c, 0xf9, 0x80, 0x76, 0xec, 0x13, 0xc8, 0x9f, 0x62, 0x80, 0x57, 0xef,
  1676. 0xd0, 0xed, 0xd7, 0xe6, 0x6e, 0x4f, 0xe1, 0xcf, 0x25, 0x13, 0xd6, 0x6c, 0x5a, 0xd8, 0x62, 0x7c,
  1677. 0xe2, 0x05, 0x03, 0x31, 0xac, 0xae, 0x91, 0xb6, 0x0a, 0xa1, 0x86, 0x02, 0xf1, 0x3e, 0x03, 0xef,
  1678. 0xdc, 0x0f, 0x44, 0x88, 0x05, 0x6c, 0x9d, 0x58, 0x12, 0xc8, 0x3f, 0x9f, 0xcc, 0x35, 0x80, 0xab,
  1679. 0x57, 0x41, 0xbe, 0xb1, 0x37, 0x14, 0x61, 0x55, 0xdb, 0xcc, 0x22, 0x1f, 0x6d, 0x6a, 0xdf, 0x6b,
  1680. 0xb0, 0xcc, 0x27, 0x63, 0x6c, 0xc5, 0x66, 0xe4, 0x44, 0xa2, 0xeb, 0xf8, 0xec, 0x19, 0x54, 0x02,
  1681. 0x09, 0xd9, 0x21, 0x62, 0x24, 0x51, 0xde, 0xdd, 0x9d, 0x7f, 0xf3, 0xb4, 0x60, 0x6a, 0xaf, 0x42,
  1682. 0x2c, 0x48, 0x40, 0x78, 0xa3, 0x39, 0x96, 0xf7, 0xba, 0xd1, 0x6f, 0x8a, 0x50, 0x90, 0x3e, 0x99,
  1683. 0x1b, 0x0c, 0x1e, 0x43, 0x41, 0x8e, 0x0c, 0x24, 0x55, 0xbe, 0xa6, 0x52, 0xc8, 0xc2, 0xc6, 0x15,
  1684. 0xdb, 0xd5, 0x9b, 0x66, 0xdf, 0xe5, 0x4d, 0x37, 0xa0, 0x88, 0xed, 0xdd, 0x1b, 0x8f, 0x2e, 0xd5,
  1685. 0xb4, 0x30, 0xdd, 0xb3, 0x27, 0xb0, 0x30, 0x92, 0x05, 0x9a, 0x6a, 0x4a, 0xf9, 0x9a, 0xc6, 0x97,
  1686. 0x2a, 0xe3, 0x3c, 0x66, 0x67, 0x9f, 0x42, 0x7e, 0x80, 0xee, 0xa0, 0xaa, 0xf3, 0xe6, 0x96, 0x2d,
  1687. 0x19, 0xd9, 0x63, 0xc8, 0x85, 0xbe, 0x18, 0x50, 0xcd, 0xb9, 0x2e, 0x0d, 0xaf, 0x12, 0x9e, 0x13,
  1688. 0x23, 0x3a, 0x73, 0x12, 0x3a, 0xa7, 0x42, 0x75, 0x48, 0xb9, 0x49, 0xcf, 0x0b, 0xa5, 0x77, 0x9f,
  1689. 0x17, 0x12, 0x05, 0x19, 0xde, 0xad, 0x20, 0x7f, 0x8e, 0x29, 0xe5, 0x44, 0x93, 0x90, 0xca, 0xca,
  1690. 0xd2, 0xee, 0x83, 0x9b, 0x4c, 0x26, 0x26, 0xae, 0x98, 0xd9, 0x2e, 0xe4, 0x65, 0xec, 0x2d, 0x92,
  1691. 0xd4, 0xfd, 0x37, 0x48, 0x09, 0x2e, 0x59, 0xd9, 0x23, 0x28, 0x3b, 0x51, 0xe4, 0x60, 0x8a, 0xdb,
  1692. 0xde, 0x98, 0xaa, 0x4c, 0x89, 0x43, 0x0c, 0xf5, 0xc7, 0xac, 0x01, 0x4b, 0x53, 0x06, 0xa9, 0x7d,
  1693. 0xe9, 0x06, 0xed, 0x75, 0x62, 0x93, 0xda, 0x2b, 0xb1, 0x8c, 0x19, 0x9f, 0x32, 0x14, 0x17, 0xee,
  1694. 0x40, 0xd8, 0x34, 0x88, 0xaa, 0x3a, 0x24, 0xa1, 0x43, 0x1c, 0x47, 0x3f, 0x01, 0x16, 0x8a, 0xc1,
  1695. 0x24, 0x10, 0x76, 0x92, 0x2f, 0x2e, 0x44, 0x44, 0x69, 0x5e, 0x71, 0x4f, 0x8d, 0x96, 0x6c, 0x2b,
  1696. 0x94, 0x9c, 0xca, 0x68, 0x62, 0x38, 0x98, 0x32, 0xb8, 0xe3, 0x13, 0xaf, 0xca, 0x28, 0x17, 0x3f,
  1697. 0xbe, 0xc1, 0x1f, 0xca, 0xf0, 0xf6, 0xf8, 0xc4, 0x93, 0x09, 0xa8, 0x34, 0x21, 0xc0, 0xfe, 0x07,
  1698. 0x16, 0x13, 0x95, 0x3c, 0xac, 0xde, 0x26, 0x55, 0x6f, 0x2c, 0xe5, 0xe5, 0xab, 0x52, 0x1e, 0x32,
  1699. 0x63, 0xb6, 0x2e, 0xac, 0x92, 0x82, 0xcd, 0xb7, 0xd5, 0x85, 0x74, 0x15, 0xc0, 0x88, 0x14, 0x41,
  1700. 0xe0, 0x05, 0x54, 0x4c, 0x4b, 0x5c, 0x6e, 0x36, 0xfe, 0x1b, 0x96, 0x67, 0x6c, 0x7f, 0xaf, 0xca,
  1701. 0xf0, 0xdb, 0x0c, 0xe4, 0x51, 0x7d, 0x88, 0x3c, 0x98, 0x99, 0x21, 0xc9, 0xe5, 0xb8, 0xdc, 0xb0,
  1702. 0x75, 0x58, 0xc0, 0x85, 0x7d, 0x1e, 0xaa, 0xf9, 0xa2, 0x80, 0xdb, 0x6e, 0x88, 0x03, 0x03, 0x11,
  1703. 0x5e, 0x5e, 0x46, 0x22, 0xa4, 0x5a, 0x90, 0xe3, 0x25, 0x44, 0xf6, 0x10, 0xc0, 0x8e, 0x40, 0x33,
  1704. 0x7f, 0x48, 0x59, 0x9f, 0xe3, 0x6a, 0x87, 0x83, 0x04, 0xad, 0x50, 0xa1, 0xfc, 0x4e, 0x58, 0xa0,
  1705. 0x7d, 0x37, 0xc4, 0x17, 0x95, 0x24, 0xa9, 0xb2, 0x40, 0x54, 0x20, 0x48, 0xea, 0x7c, 0x04, 0x65,
  1706. 0x39, 0x3d, 0x9c, 0x62, 0xa5, 0x57, 0x33, 0x2d, 0xd0, 0x88, 0x40, 0x08, 0xbb, 0x0d, 0x79, 0xd7,
  1707. 0x43, 0xcd, 0xc5, 0xf8, 0x0b, 0x44, 0x1a, 0x4a, 0x0a, 0x6d, 0xfa, 0x46, 0x90, 0xdf, 0x0d, 0x25,
  1708. 0x42, 0x70, 0x00, 0x26, 0xa5, 0x6a, 0x3c, 0x40, 0x49, 0x50, 0x4a, 0x15, 0xd4, 0x0d, 0x6b, 0x7f,
  1709. 0xce, 0x40, 0xbe, 0x3e, 0x12, 0x41, 0x94, 0x28, 0x9d, 0x59, 0x2a, 0x9d, 0x5f, 0xe2, 0xe7, 0xcb,
  1710. 0x85, 0x08, 0xdc, 0xe8, 0x52, 0x0d, 0xfa, 0xf3, 0x49, 0x6a, 0x2a, 0x06, 0xca, 0xed, 0x29, 0x3b,
  1711. 0x1a, 0xe5, 0xa0, 0x4e, 0x3b, 0xba, 0xf4, 0x05, 0x79, 0x2f, 0xcb, 0x4b, 0x84, 0x20, 0x23, 0xab,
  1712. 0xc2, 0xc2, 0xb9, 0x08, 0xa9, 0xfc, 0xc8, 0xb9, 0x3e, 0xde, 0xb2, 0x27, 0x50, 0x9a, 0x7e, 0xfe,
  1713. 0xa9, 0xaa, 0xf9, 0xa6, 0x02, 0x74, 0xc5, 0x8c, 0x17, 0x0d, 0xd4, 0xd7, 0xa1, 0xed, 0x0e, 0xc9,
  1714. 0xbd, 0x25, 0x1c, 0x39, 0x24, 0xd4, 0xa6, 0xeb, 0xc4, 0x3b, 0x35, 0x9a, 0x3d, 0xb8, 0x26, 0xc4,
  1715. 0x25, 0x83, 0xbc, 0x4e, 0xcc, 0x8e, 0xf6, 0x0e, 0x46, 0x82, 0x86, 0x20, 0x39, 0x9d, 0xc5, 0x5b,
  1716. 0x8c, 0xc5, 0x28, 0x1a, 0x29, 0xb7, 0xe3, 0x12, 0xaf, 0x3e, 0x19, 0xbb, 0xaf, 0x27, 0xc2, 0x8e,
  1717. 0x9c, 0x53, 0xf2, 0x77, 0x89, 0x97, 0x24, 0x62, 0x39, 0xa7, 0xb5, 0x2f, 0xa0, 0x40, 0xde, 0x0e,
  1718. 0xb1, 0xd1, 0x90, 0x47, 0x54, 0x1b, 0x9d, 0x6f, 0x34, 0xc4, 0xc7, 0x25, 0x53, 0xed, 0x77, 0x1a,
  1719. 0xdc, 0x96, 0xb9, 0xdc, 0x08, 0x04, 0x96, 0x1f, 0xf1, 0x7a, 0x22, 0xc2, 0x28, 0xd9, 0x64, 0xb4,
  1720. 0xf7, 0x6b, 0x32, 0xef, 0xdd, 0x19, 0xe3, 0x1e, 0x93, 0x7d, 0xc7, 0x1e, 0x53, 0xfb, 0x08, 0x96,
  1721. 0x24, 0xc6, 0x45, 0xe8, 0x7b, 0xe3, 0x30, 0x91, 0xe3, 0x5a, 0x22, 0xc7, 0x6b, 0x3e, 0xac, 0xa6,
  1722. 0xaf, 0xa6, 0xb8, 0x67, 0x7b, 0xf9, 0x01, 0x2c, 0xab, 0xf1, 0x36, 0x50, 0x2c, 0xca, 0xf4, 0x47,
  1723. 0x37, 0xd8, 0x12, 0x6b, 0xe2, 0x4b, 0x17, 0xa9, 0x7d, 0xed, 0x6f, 0x5a, 0x3c, 0x44, 0x51, 0xed,
  1724. 0xa9, 0x0f, 0x70, 0xd8, 0x64, 0x4f, 0xa1, 0x20, 0xcb, 0x22, 0x9d, 0xb9, 0xb4, 0x5b, 0xbb, 0x41,
  1725. 0xad, 0x64, 0x3f, 0x74, 0x02, 0xe7, 0x9c, 0x2b, 0x09, 0xf6, 0x04, 0xf2, 0xe7, 0xde, 0x64, 0x1c,
  1726. 0xa9, 0x4c, 0x79, 0x17, 0x51, 0x29, 0x80, 0x01, 0x43, 0x0b, 0x59, 0xe8, 0xb3, 0x32, 0x60, 0x08,
  1727. 0x89, 0x1b, 0x41, 0xb2, 0x5f, 0xe4, 0xe6, 0xfa, 0xca, 0x2e, 0xdc, 0x99, 0x8c, 0xa5, 0x86, 0x97,
  1728. 0xe2, 0xc4, 0xa3, 0xfe, 0x42, 0x97, 0xc8, 0x53, 0xa8, 0xde, 0x56, 0xc4, 0x3d, 0xa2, 0x35, 0x89,
  1729. 0x54, 0xfb, 0x43, 0x06, 0x74, 0x75, 0x7f, 0x11, 0xfd, 0x10, 0xa1, 0x24, 0x23, 0x23, 0xf3, 0xae,
  1730. 0xd3, 0x07, 0x7a, 0x9a, 0x3c, 0xa1, 0x82, 0xa9, 0xf6, 0xa6, 0x3e, 0x2e, 0x7d, 0xc6, 0x95, 0x04,
  1731. 0x3b, 0x80, 0x05, 0xcf, 0xc7, 0x15, 0xd6, 0x5e, 0xcc, 0x9c, 0x9d, 0x9b, 0x84, 0xa7, 0x57, 0xdb,
  1732. 0xe9, 0x4b, 0x01, 0xd9, 0xfb, 0x62, 0xf1, 0x8d, 0xa7, 0xb0, 0x98, 0x24, 0xbc, 0x57, 0x63, 0xf9,
  1733. 0xc5, 0x55, 0x04, 0xe1, 0x31, 0x2a, 0x62, 0x1f, 0x43, 0x41, 0x46, 0x9a, 0xf2, 0xe0, 0xfa, 0x4d,
  1734. 0x81, 0xa9, 0xd8, 0x7e, 0xc0, 0x90, 0xbe, 0x84, 0x15, 0x73, 0xec, 0xf8, 0xe9, 0xea, 0x30, 0x9b,
  1735. 0x41, 0x89, 0x27, 0xce, 0xbc, 0xdf, 0x13, 0x27, 0x07, 0xdd, 0x6c, 0x7a, 0xd0, 0xad, 0xbd, 0x06,
  1736. 0x96, 0x3c, 0x5a, 0xf9, 0xe2, 0x47, 0xb0, 0xa6, 0xae, 0x36, 0x20, 0xc2, 0xd5, 0x0d, 0xa5, 0x6f,
  1737. 0x3e, 0xbc, 0xe1, 0xe8, 0xb4, 0x1a, 0xbe, 0x7a, 0x71, 0x0d, 0x5a, 0x8b, 0xe2, 0x1f, 0x10, 0x68,
  1738. 0x82, 0xb9, 0x07, 0x25, 0x75, 0xd4, 0xf4, 0xb6, 0x45, 0x09, 0xb4, 0xaf, 0xff, 0x69, 0xf0, 0x73,
  1739. 0x58, 0x50, 0x07, 0xbf, 0x4b, 0x35, 0x8b, 0x79, 0x6b, 0x43, 0x60, 0xfb, 0x81, 0xe3, 0x9f, 0x35,
  1740. 0x03, 0xf7, 0x42, 0x04, 0x8d, 0x33, 0x67, 0x7c, 0x2a, 0xc2, 0xe9, 0x01, 0x5a, 0xe2, 0x80, 0xa7,
  1741. 0x90, 0x7b, 0xe5, 0x8e, 0x87, 0xaa, 0x1a, 0x7c, 0x74, 0xcd, 0x47, 0xc4, 0x8c, 0x1a, 0xea, 0x38,
  1742. 0x24, 0x53, 0xfb, 0x18, 0x96, 0x1b, 0xa3, 0x49, 0x18, 0x89, 0xe0, 0x2d, 0x75, 0xf3, 0xd7, 0x1a,
  1743. 0x54, 0x30, 0x39, 0x2e, 0xa6, 0xef, 0x7d, 0x00, 0x45, 0x2e, 0x5e, 0x8b, 0x30, 0xfa, 0xea, 0x58,
  1744. 0xb5, 0x95, 0x4f, 0xe6, 0xdb, 0x4a, 0x52, 0x62, 0x27, 0x66, 0x97, 0xa9, 0x51, 0x0c, 0xd4, 0x76,
  1745. 0xe3, 0x3f, 0xa1, 0x92, 0x22, 0x25, 0x93, 0x23, 0xfb, 0xb6, 0xe4, 0xf8, 0x16, 0x96, 0x52, 0xa7,
  1746. 0x84, 0xac, 0x06, 0x8b, 0x6a, 0xdd, 0xa0, 0x2a, 0x29, 0xd5, 0x2c, 0x06, 0x09, 0x8c, 0x35, 0x67,
  1747. 0x6e, 0xa3, 0x7e, 0xfc, 0x7a, 0xf8, 0xe6, 0x1b, 0xf0, 0x8a, 0x93, 0xdc, 0x6e, 0xff, 0x31, 0x03,
  1748. 0x05, 0xf9, 0xd1, 0xc0, 0x96, 0xa1, 0x6c, 0x5a, 0x75, 0xeb, 0xc8, 0xb4, 0x7b, 0xfd, 0x9e, 0xa1,
  1749. 0xdf, 0x4a, 0x00, 0xed, 0x5e, 0xdb, 0xd2, 0x35, 0x56, 0x81, 0x92, 0x02, 0xfa, 0x5f, 0xe9, 0x19,
  1750. 0xc6, 0x60, 0x29, 0xde, 0xb6, 0x5a, 0x9d, 0x76, 0xcf, 0xd0, 0xb3, 0x4c, 0x87, 0x45, 0x85, 0x19,
  1751. 0x9c, 0xf7, 0xb9, 0x9e, 0x63, 0x55, 0x58, 0x9d, 0xaa, 0xb5, 0xec, 0x76, 0xcf, 0xfe, 0xfa, 0xa8,
  1752. 0xcf, 0x8f, 0xba, 0x7a, 0x9e, 0xad, 0xc3, 0x6d, 0x45, 0x69, 0x1a, 0x8d, 0x7e, 0xb7, 0xdb, 0x36,
  1753. 0xcd, 0x76, 0xbf, 0xa7, 0x17, 0xd8, 0x1a, 0x30, 0x45, 0xe8, 0xd6, 0xdb, 0x3d, 0xcb, 0xe8, 0xd5,
  1754. 0x7b, 0x0d, 0x43, 0x5f, 0x48, 0x08, 0x98, 0x56, 0x9f, 0xd7, 0xf7, 0x0d, 0xbb, 0xd9, 0x7f, 0xd6,
  1755. 0xd3, 0x8b, 0xec, 0x1e, 0xac, 0xcf, 0x12, 0x8c, 0x7d, 0x5e, 0x6f, 0x1a, 0x4d, 0xbd, 0x94, 0x90,
  1756. 0xea, 0x19, 0x46, 0xd3, 0xb4, 0xb9, 0xb1, 0xd7, 0xef, 0x5b, 0x3a, 0xb0, 0xfb, 0x50, 0x9d, 0x91,
  1757. 0xe2, 0xc6, 0x5e, 0xbd, 0x43, 0x87, 0x95, 0xd9, 0x26, 0xdc, 0x9f, 0xd5, 0xc9, 0xdb, 0xc7, 0xc8,
  1758. 0x73, 0xd8, 0xa9, 0x37, 0x0c, 0x7d, 0x91, 0x2d, 0x01, 0x4c, 0xcd, 0x7c, 0xae, 0x57, 0xb6, 0xbf,
  1759. 0xd3, 0x00, 0x64, 0x90, 0xd2, 0xd8, 0xb6, 0x0a, 0x3a, 0x49, 0x70, 0xdb, 0x7a, 0x71, 0x68, 0xc4,
  1760. 0x4e, 0x9d, 0x41, 0x5b, 0xed, 0x8e, 0xa1, 0x6b, 0xec, 0x0e, 0xac, 0x24, 0xd1, 0xbd, 0x4e, 0xbf,
  1761. 0x81, 0x1e, 0x5e, 0x03, 0x96, 0x84, 0xfb, 0x7b, 0xff, 0x6f, 0x34, 0x2c, 0x3d, 0xcb, 0xee, 0xc2,
  1762. 0x9d, 0x24, 0xde, 0xe8, 0x1c, 0x99, 0x96, 0xc1, 0x8d, 0xa6, 0x9e, 0x9b, 0xd5, 0xb4, 0xcf, 0xeb,
  1763. 0x87, 0x07, 0x7a, 0x7e, 0xfb, 0x57, 0x1a, 0x14, 0xe4, 0x37, 0x25, 0x3e, 0x51, 0xcb, 0x4c, 0xd9,
  1764. 0xb4, 0x02, 0x95, 0x18, 0xd9, 0xb3, 0x78, 0xcb, 0xd4, 0xb5, 0x24, 0x93, 0xf1, 0xdc, 0xfa, 0x4c,
  1765. 0xcf, 0x24, 0x91, 0xd6, 0x91, 0x89, 0x6f, 0xbd, 0x0c, 0xe5, 0xa9, 0xa2, 0x96, 0xa9, 0xe7, 0x92,
  1766. 0xc0, 0x71, 0xcb, 0xd4, 0xf3, 0x49, 0xe0, 0x79, 0xcb, 0xd4, 0x0b, 0x49, 0xe0, 0x9b, 0x96, 0xa9,
  1767. 0x2f, 0x6c, 0x7f, 0xaf, 0xc1, 0x9d, 0x6b, 0xb3, 0x9b, 0x7d, 0x00, 0x0f, 0xc8, 0x78, 0x5b, 0x5d,
  1768. 0xa7, 0x71, 0x50, 0xef, 0xed, 0x1b, 0x29, 0xbb, 0x3f, 0x84, 0x0f, 0x6e, 0x64, 0xe9, 0xf6, 0x9b,
  1769. 0xed, 0x56, 0xdb, 0x68, 0xea, 0x1a, 0xab, 0xc1, 0xc3, 0x1b, 0xd9, 0xea, 0x4d, 0x0c, 0x92, 0x0c,
  1770. 0xfb, 0x17, 0xd8, 0xbc, 0x91, 0xa7, 0x69, 0x74, 0x0c, 0xcb, 0x68, 0xea, 0xd9, 0xed, 0x08, 0x16,
  1771. 0x93, 0x23, 0x3c, 0x05, 0xaa, 0x71, 0x6c, 0xf0, 0xb6, 0xf5, 0x22, 0x65, 0x18, 0x86, 0x5c, 0x0a,
  1772. 0xaf, 0x77, 0xea, 0xbc, 0xab, 0x6b, 0xf8, 0x70, 0x69, 0xc2, 0xb3, 0x3a, 0xef, 0xb5, 0x7b, 0xfb,
  1773. 0x7a, 0x86, 0xf2, 0x64, 0x46, 0x97, 0xd5, 0x6e, 0xbd, 0xd0, 0xb3, 0xdb, 0x3f, 0xd7, 0xb0, 0x1c,
  1774. 0x5c, 0x8d, 0xda, 0x78, 0x2c, 0x37, 0xcc, 0xfe, 0x11, 0x6f, 0xa4, 0xfd, 0x51, 0x85, 0xd5, 0x34,
  1775. 0x7e, 0xdc, 0xef, 0x1c, 0x75, 0x31, 0xbe, 0xae, 0x91, 0x68, 0x1a, 0x7a, 0x06, 0xed, 0x49, 0xe3,
  1776. 0x2a, 0x94, 0xf4, 0x2c, 0xde, 0x21, 0x4d, 0x22, 0xcf, 0xe8, 0xb9, 0xed, 0x9f, 0x69, 0xb0, 0x4c,
  1777. 0xc3, 0xb6, 0x9c, 0x34, 0xc8, 0xa2, 0x0d, 0x58, 0xab, 0x77, 0x0c, 0x6e, 0xd9, 0xf5, 0x86, 0xd5,
  1778. 0xee, 0xf7, 0x52, 0x56, 0xdd, 0x87, 0xea, 0x3c, 0x4d, 0xfa, 0x54, 0xd7, 0xae, 0xa7, 0x36, 0xb8,
  1779. 0x51, 0xb7, 0xd0, 0xbe, 0x6b, 0xa9, 0x47, 0x87, 0x4d, 0xa4, 0x66, 0xb7, 0x7f, 0x12, 0x0f, 0x15,
  1780. 0x89, 0x39, 0x11, 0x45, 0xe4, 0xb5, 0x63, 0x99, 0xc3, 0x3a, 0xaf, 0x77, 0x63, 0x63, 0xee, 0xc1,
  1781. 0xfa, 0x75, 0xd4, 0x7e, 0xab, 0xa5, 0x6b, 0x78, 0x8b, 0x6b, 0x89, 0x3d, 0x3d, 0xb3, 0xbd, 0x0b,
  1782. 0x0b, 0xea, 0xc7, 0x6b, 0x56, 0x84, 0x9c, 0xd2, 0xb6, 0x00, 0xd9, 0x4e, 0xff, 0x99, 0xae, 0x31,
  1783. 0x80, 0x42, 0xd7, 0x68, 0xb6, 0x8f, 0xba, 0x7a, 0x06, 0xc9, 0x07, 0xed, 0xfd, 0x03, 0xb2, 0xaf,
  1784. 0x34, 0xfd, 0xf5, 0x1a, 0x5d, 0xdd, 0xee, 0xdb, 0x87, 0xbc, 0x8f, 0x29, 0x6f, 0x9b, 0xc6, 0xd7,
  1785. 0x47, 0x46, 0xcf, 0x6a, 0xd7, 0x3b, 0xfa, 0x2d, 0xcc, 0xd9, 0x04, 0x89, 0xd7, 0x7b, 0xcd, 0x3e,
  1786. 0x06, 0xcb, 0x0a, 0x54, 0x12, 0x70, 0x73, 0x4f, 0x06, 0x49, 0x0a, 0xb2, 0xb9, 0xd1, 0xed, 0x93,
  1787. 0x2f, 0xbe, 0xcb, 0x40, 0x39, 0x31, 0x05, 0xa2, 0x4e, 0x75, 0x17, 0xac, 0x51, 0xc9, 0x10, 0x49,
  1788. 0xc1, 0x87, 0x46, 0xaf, 0x89, 0xf1, 0x97, 0xbc, 0xbc, 0xa4, 0xd4, 0x8f, 0xeb, 0xed, 0x4e, 0x7d,
  1789. 0xaf, 0xa3, 0xc2, 0x24, 0x4d, 0xb3, 0xac, 0x7a, 0xe3, 0x00, 0x53, 0x62, 0x8e, 0xd4, 0x34, 0x14,
  1790. 0x29, 0x97, 0xf0, 0xf5, 0x15, 0xc9, 0x6a, 0x1c, 0xe0, 0x71, 0x79, 0x8c, 0xc8, 0x14, 0x51, 0xb6,
  1791. 0x8b, 0xc2, 0x9c, 0x81, 0x71, 0xf2, 0x2d, 0xb0, 0x87, 0xb0, 0x91, 0xa2, 0x58, 0xfc, 0x85, 0x3a,
  1792. 0x0d, 0x35, 0x16, 0xe7, 0x24, 0xb9, 0x81, 0x85, 0xdb, 0xd0, 0x4b, 0xdb, 0xbf, 0xd4, 0x60, 0x31,
  1793. 0xf9, 0xfb, 0xd8, 0xcc, 0xe1, 0x57, 0x1d, 0xef, 0x01, 0xdc, 0x9d, 0xc5, 0x2d, 0xfb, 0x90, 0x1b,
  1794. 0xa6, 0xd1, 0xc3, 0xfe, 0xb7, 0x0a, 0x7a, 0x9a, 0x7c, 0x74, 0x28, 0x8b, 0x74, 0x1a, 0xa5, 0xa6,
  1795. 0x94, 0x9d, 0x71, 0x28, 0x75, 0x39, 0xd5, 0x93, 0x72, 0xdb, 0x3f, 0x86, 0x4a, 0xea, 0x5f, 0x3c,
  1796. 0xd9, 0xc1, 0x64, 0x9b, 0x91, 0x81, 0x64, 0x77, 0xeb, 0xfb, 0x3d, 0xc3, 0x6a, 0x37, 0xf4, 0x5b,
  1797. 0xb2, 0x1f, 0xa6, 0x88, 0xa6, 0x89, 0x85, 0x8d, 0x3a, 0x5b, 0x0a, 0xef, 0x1d, 0x77, 0x0d, 0x3d,
  1798. 0xb3, 0xbd, 0x05, 0x15, 0x35, 0x13, 0xf5, 0xbc, 0xc8, 0x3d, 0xb9, 0x44, 0x4e, 0x95, 0xd9, 0xaa,
  1799. 0xac, 0x48, 0x23, 0x6f, 0x6d, 0x0b, 0x28, 0x27, 0x7e, 0xa5, 0xc3, 0xd7, 0x94, 0x6f, 0x1b, 0xbf,
  1800. 0xca, 0x73, 0xcb, 0xe0, 0x3d, 0x0a, 0xd2, 0x59, 0x12, 0x36, 0x66, 0x22, 0x69, 0xd8, 0x2a, 0xaf,
  1801. 0x25, 0xd9, 0xe6, 0xb3, 0xb6, 0xd5, 0x38, 0xd0, 0x33, 0x7b, 0xf7, 0xe1, 0xf6, 0xc0, 0x3b, 0x9f,
  1802. 0x1d, 0x4d, 0x0e, 0xb5, 0x6f, 0xb2, 0x8e, 0xef, 0xbe, 0x2c, 0xd0, 0x6f, 0x15, 0xff, 0xfe, 0xf7,
  1803. 0x00, 0x00, 0x00, 0xff, 0xff, 0xcd, 0xbf, 0x37, 0x4d, 0xfc, 0x1e, 0x00, 0x00,
  1804. }