@azure/arm-netapp 23.0.0 → 24.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (640) hide show
  1. package/dist/browser/api/accounts/index.d.ts +1 -1
  2. package/dist/browser/api/accounts/index.js.map +1 -1
  3. package/dist/browser/api/accounts/operations.js +19 -19
  4. package/dist/browser/api/accounts/operations.js.map +1 -1
  5. package/dist/browser/api/backupPolicies/index.d.ts +1 -1
  6. package/dist/browser/api/backupPolicies/index.js.map +1 -1
  7. package/dist/browser/api/backupPolicies/operations.js +9 -9
  8. package/dist/browser/api/backupPolicies/operations.js.map +1 -1
  9. package/dist/browser/api/backupVaults/index.d.ts +1 -1
  10. package/dist/browser/api/backupVaults/index.js.map +1 -1
  11. package/dist/browser/api/backupVaults/operations.js +9 -9
  12. package/dist/browser/api/backupVaults/operations.js.map +1 -1
  13. package/dist/browser/api/backups/index.d.ts +1 -1
  14. package/dist/browser/api/backups/index.js.map +1 -1
  15. package/dist/browser/api/backups/operations.js +11 -11
  16. package/dist/browser/api/backups/operations.js.map +1 -1
  17. package/dist/browser/api/backupsUnderAccount/index.d.ts +1 -1
  18. package/dist/browser/api/backupsUnderAccount/index.js.map +1 -1
  19. package/dist/browser/api/backupsUnderAccount/operations.js +2 -2
  20. package/dist/browser/api/backupsUnderAccount/operations.js.map +1 -1
  21. package/dist/browser/api/backupsUnderBackupVault/index.d.ts +1 -1
  22. package/dist/browser/api/backupsUnderBackupVault/index.js.map +1 -1
  23. package/dist/browser/api/backupsUnderBackupVault/operations.js +2 -2
  24. package/dist/browser/api/backupsUnderBackupVault/operations.js.map +1 -1
  25. package/dist/browser/api/backupsUnderVolume/index.d.ts +1 -1
  26. package/dist/browser/api/backupsUnderVolume/index.js.map +1 -1
  27. package/dist/browser/api/backupsUnderVolume/operations.js +2 -2
  28. package/dist/browser/api/backupsUnderVolume/operations.js.map +1 -1
  29. package/dist/browser/api/buckets/index.d.ts +3 -0
  30. package/dist/browser/api/buckets/index.js +4 -0
  31. package/dist/browser/api/buckets/index.js.map +1 -0
  32. package/dist/browser/api/buckets/operations.d.ts +44 -0
  33. package/dist/browser/api/buckets/operations.js +285 -0
  34. package/dist/browser/api/buckets/operations.js.map +1 -0
  35. package/dist/browser/api/buckets/options.d.ts +36 -0
  36. package/dist/browser/api/buckets/options.js +4 -0
  37. package/dist/browser/api/buckets/options.js.map +1 -0
  38. package/dist/browser/api/caches/index.d.ts +3 -0
  39. package/dist/browser/api/caches/index.js +4 -0
  40. package/dist/browser/api/caches/index.js.map +1 -0
  41. package/dist/browser/api/caches/operations.d.ts +44 -0
  42. package/dist/browser/api/caches/operations.js +279 -0
  43. package/dist/browser/api/caches/operations.js.map +1 -0
  44. package/dist/browser/api/caches/options.d.ts +36 -0
  45. package/dist/browser/api/caches/options.js +4 -0
  46. package/dist/browser/api/caches/options.js.map +1 -0
  47. package/dist/browser/api/index.d.ts +2 -1
  48. package/dist/browser/api/index.js +1 -1
  49. package/dist/browser/api/index.js.map +1 -1
  50. package/dist/browser/api/netAppManagementContext.js +1 -1
  51. package/dist/browser/api/netAppManagementContext.js.map +1 -1
  52. package/dist/browser/api/netAppResource/index.d.ts +1 -1
  53. package/dist/browser/api/netAppResource/index.js.map +1 -1
  54. package/dist/browser/api/netAppResource/operations.js +7 -7
  55. package/dist/browser/api/netAppResource/operations.js.map +1 -1
  56. package/dist/browser/api/netAppResourceQuotaLimits/index.d.ts +1 -1
  57. package/dist/browser/api/netAppResourceQuotaLimits/index.js.map +1 -1
  58. package/dist/browser/api/netAppResourceQuotaLimits/operations.js +3 -3
  59. package/dist/browser/api/netAppResourceQuotaLimits/operations.js.map +1 -1
  60. package/dist/browser/api/netAppResourceQuotaLimitsAccount/index.d.ts +1 -1
  61. package/dist/browser/api/netAppResourceQuotaLimitsAccount/index.js.map +1 -1
  62. package/dist/browser/api/netAppResourceQuotaLimitsAccount/operations.js +3 -3
  63. package/dist/browser/api/netAppResourceQuotaLimitsAccount/operations.js.map +1 -1
  64. package/dist/browser/api/netAppResourceRegionInfos/index.d.ts +1 -1
  65. package/dist/browser/api/netAppResourceRegionInfos/index.js.map +1 -1
  66. package/dist/browser/api/netAppResourceRegionInfos/operations.js +3 -3
  67. package/dist/browser/api/netAppResourceRegionInfos/operations.js.map +1 -1
  68. package/dist/browser/api/netAppResourceUsages/index.d.ts +1 -1
  69. package/dist/browser/api/netAppResourceUsages/index.js.map +1 -1
  70. package/dist/browser/api/netAppResourceUsages/operations.js +3 -3
  71. package/dist/browser/api/netAppResourceUsages/operations.js.map +1 -1
  72. package/dist/browser/api/operations/index.d.ts +1 -1
  73. package/dist/browser/api/operations/index.js.map +1 -1
  74. package/dist/browser/api/operations/operations.js +2 -2
  75. package/dist/browser/api/operations/operations.js.map +1 -1
  76. package/dist/browser/api/pools/index.d.ts +1 -1
  77. package/dist/browser/api/pools/index.js.map +1 -1
  78. package/dist/browser/api/pools/operations.js +9 -9
  79. package/dist/browser/api/pools/operations.js.map +1 -1
  80. package/dist/browser/api/ransomwareReports/index.d.ts +1 -1
  81. package/dist/browser/api/ransomwareReports/index.js.map +1 -1
  82. package/dist/browser/api/ransomwareReports/operations.js +5 -5
  83. package/dist/browser/api/ransomwareReports/operations.js.map +1 -1
  84. package/dist/browser/api/snapshotPolicies/index.d.ts +1 -1
  85. package/dist/browser/api/snapshotPolicies/index.js.map +1 -1
  86. package/dist/browser/api/snapshotPolicies/operations.js +9 -9
  87. package/dist/browser/api/snapshotPolicies/operations.js.map +1 -1
  88. package/dist/browser/api/snapshots/index.d.ts +1 -1
  89. package/dist/browser/api/snapshots/index.js.map +1 -1
  90. package/dist/browser/api/snapshots/operations.js +11 -11
  91. package/dist/browser/api/snapshots/operations.js.map +1 -1
  92. package/dist/browser/api/subvolumes/index.d.ts +1 -1
  93. package/dist/browser/api/subvolumes/index.js.map +1 -1
  94. package/dist/browser/api/subvolumes/operations.js +11 -11
  95. package/dist/browser/api/subvolumes/operations.js.map +1 -1
  96. package/dist/browser/api/volumeGroups/index.d.ts +1 -1
  97. package/dist/browser/api/volumeGroups/index.js.map +1 -1
  98. package/dist/browser/api/volumeGroups/operations.js +7 -7
  99. package/dist/browser/api/volumeGroups/operations.js.map +1 -1
  100. package/dist/browser/api/volumeQuotaRules/index.d.ts +1 -1
  101. package/dist/browser/api/volumeQuotaRules/index.js.map +1 -1
  102. package/dist/browser/api/volumeQuotaRules/operations.js +9 -9
  103. package/dist/browser/api/volumeQuotaRules/operations.js.map +1 -1
  104. package/dist/browser/api/volumes/index.d.ts +1 -1
  105. package/dist/browser/api/volumes/index.js.map +1 -1
  106. package/dist/browser/api/volumes/operations.js +56 -56
  107. package/dist/browser/api/volumes/operations.js.map +1 -1
  108. package/dist/browser/classic/buckets/index.d.ts +31 -0
  109. package/dist/browser/classic/buckets/index.js +21 -0
  110. package/dist/browser/classic/buckets/index.js.map +1 -0
  111. package/dist/browser/classic/caches/index.d.ts +31 -0
  112. package/dist/browser/classic/caches/index.js +21 -0
  113. package/dist/browser/classic/caches/index.js.map +1 -0
  114. package/dist/browser/classic/index.d.ts +23 -21
  115. package/dist/browser/classic/index.js.map +1 -1
  116. package/dist/browser/index.d.ts +35 -29
  117. package/dist/browser/index.js +1 -1
  118. package/dist/browser/index.js.map +1 -1
  119. package/dist/browser/models/index.d.ts +2 -1
  120. package/dist/browser/models/index.js +1 -1
  121. package/dist/browser/models/index.js.map +1 -1
  122. package/dist/browser/models/models.d.ts +954 -45
  123. package/dist/browser/models/models.js +753 -31
  124. package/dist/browser/models/models.js.map +1 -1
  125. package/dist/browser/netAppManagementClient.d.ts +7 -1
  126. package/dist/browser/netAppManagementClient.js +8 -0
  127. package/dist/browser/netAppManagementClient.js.map +1 -1
  128. package/dist/browser/restorePollerHelpers.js +14 -2
  129. package/dist/browser/restorePollerHelpers.js.map +1 -1
  130. package/dist/browser/static-helpers/urlTemplate.js +5 -5
  131. package/dist/browser/static-helpers/urlTemplate.js.map +1 -1
  132. package/dist/commonjs/api/accounts/index.d.ts +1 -1
  133. package/dist/commonjs/api/accounts/index.js +46 -17
  134. package/dist/commonjs/api/accounts/index.js.map +7 -1
  135. package/dist/commonjs/api/accounts/operations.js +387 -297
  136. package/dist/commonjs/api/accounts/operations.js.map +7 -1
  137. package/dist/commonjs/api/accounts/options.js +16 -5
  138. package/dist/commonjs/api/accounts/options.js.map +7 -1
  139. package/dist/commonjs/api/backupPolicies/index.d.ts +1 -1
  140. package/dist/commonjs/api/backupPolicies/index.js +36 -12
  141. package/dist/commonjs/api/backupPolicies/index.js.map +7 -1
  142. package/dist/commonjs/api/backupPolicies/operations.js +210 -159
  143. package/dist/commonjs/api/backupPolicies/operations.js.map +7 -1
  144. package/dist/commonjs/api/backupPolicies/options.js +16 -5
  145. package/dist/commonjs/api/backupPolicies/options.js.map +7 -1
  146. package/dist/commonjs/api/backupVaults/index.d.ts +1 -1
  147. package/dist/commonjs/api/backupVaults/index.js +36 -12
  148. package/dist/commonjs/api/backupVaults/index.js.map +7 -1
  149. package/dist/commonjs/api/backupVaults/operations.js +210 -159
  150. package/dist/commonjs/api/backupVaults/operations.js.map +7 -1
  151. package/dist/commonjs/api/backupVaults/options.js +16 -5
  152. package/dist/commonjs/api/backupVaults/options.js.map +7 -1
  153. package/dist/commonjs/api/backups/index.d.ts +1 -1
  154. package/dist/commonjs/api/backups/index.js +40 -14
  155. package/dist/commonjs/api/backups/index.js.map +7 -1
  156. package/dist/commonjs/api/backups/operations.js +311 -219
  157. package/dist/commonjs/api/backups/operations.js.map +7 -1
  158. package/dist/commonjs/api/backups/options.js +16 -5
  159. package/dist/commonjs/api/backups/options.js.map +7 -1
  160. package/dist/commonjs/api/backupsUnderAccount/index.d.ts +1 -1
  161. package/dist/commonjs/api/backupsUnderAccount/index.js +28 -8
  162. package/dist/commonjs/api/backupsUnderAccount/index.js.map +7 -1
  163. package/dist/commonjs/api/backupsUnderAccount/operations.js +66 -40
  164. package/dist/commonjs/api/backupsUnderAccount/operations.js.map +7 -1
  165. package/dist/commonjs/api/backupsUnderAccount/options.js +16 -5
  166. package/dist/commonjs/api/backupsUnderAccount/options.js.map +7 -1
  167. package/dist/commonjs/api/backupsUnderBackupVault/index.d.ts +1 -1
  168. package/dist/commonjs/api/backupsUnderBackupVault/index.js +28 -8
  169. package/dist/commonjs/api/backupsUnderBackupVault/index.js.map +7 -1
  170. package/dist/commonjs/api/backupsUnderBackupVault/operations.js +76 -42
  171. package/dist/commonjs/api/backupsUnderBackupVault/operations.js.map +7 -1
  172. package/dist/commonjs/api/backupsUnderBackupVault/options.js +16 -5
  173. package/dist/commonjs/api/backupsUnderBackupVault/options.js.map +7 -1
  174. package/dist/commonjs/api/backupsUnderVolume/index.d.ts +1 -1
  175. package/dist/commonjs/api/backupsUnderVolume/index.js +28 -8
  176. package/dist/commonjs/api/backupsUnderVolume/index.js.map +7 -1
  177. package/dist/commonjs/api/backupsUnderVolume/operations.js +76 -42
  178. package/dist/commonjs/api/backupsUnderVolume/operations.js.map +7 -1
  179. package/dist/commonjs/api/backupsUnderVolume/options.js +16 -5
  180. package/dist/commonjs/api/backupsUnderVolume/options.js.map +7 -1
  181. package/dist/commonjs/api/buckets/index.d.ts +3 -0
  182. package/dist/commonjs/api/buckets/index.js +42 -0
  183. package/dist/commonjs/api/buckets/index.js.map +7 -0
  184. package/dist/commonjs/api/buckets/operations.d.ts +44 -0
  185. package/dist/commonjs/api/buckets/operations.js +440 -0
  186. package/dist/commonjs/api/buckets/operations.js.map +7 -0
  187. package/dist/commonjs/api/buckets/options.d.ts +36 -0
  188. package/dist/commonjs/api/buckets/options.js +16 -0
  189. package/dist/commonjs/api/buckets/options.js.map +7 -0
  190. package/dist/commonjs/api/caches/index.d.ts +3 -0
  191. package/dist/commonjs/api/caches/index.js +42 -0
  192. package/dist/commonjs/api/caches/index.js.map +7 -0
  193. package/dist/commonjs/api/caches/operations.d.ts +44 -0
  194. package/dist/commonjs/api/caches/operations.js +396 -0
  195. package/dist/commonjs/api/caches/operations.js.map +7 -0
  196. package/dist/commonjs/api/caches/options.d.ts +36 -0
  197. package/dist/commonjs/api/caches/options.js +16 -0
  198. package/dist/commonjs/api/caches/options.js.map +7 -0
  199. package/dist/commonjs/api/index.d.ts +2 -1
  200. package/dist/commonjs/api/index.js +28 -8
  201. package/dist/commonjs/api/index.js.map +7 -1
  202. package/dist/commonjs/api/netAppManagementContext.js +43 -25
  203. package/dist/commonjs/api/netAppManagementContext.js.map +7 -1
  204. package/dist/commonjs/api/netAppResource/index.d.ts +1 -1
  205. package/dist/commonjs/api/netAppResource/index.js +38 -13
  206. package/dist/commonjs/api/netAppResource/index.js.map +7 -1
  207. package/dist/commonjs/api/netAppResource/operations.js +224 -168
  208. package/dist/commonjs/api/netAppResource/operations.js.map +7 -1
  209. package/dist/commonjs/api/netAppResource/options.js +16 -5
  210. package/dist/commonjs/api/netAppResource/options.js.map +7 -1
  211. package/dist/commonjs/api/netAppResourceQuotaLimits/index.d.ts +1 -1
  212. package/dist/commonjs/api/netAppResourceQuotaLimits/index.js +30 -9
  213. package/dist/commonjs/api/netAppResourceQuotaLimits/index.js.map +7 -1
  214. package/dist/commonjs/api/netAppResourceQuotaLimits/operations.js +95 -57
  215. package/dist/commonjs/api/netAppResourceQuotaLimits/operations.js.map +7 -1
  216. package/dist/commonjs/api/netAppResourceQuotaLimits/options.js +16 -5
  217. package/dist/commonjs/api/netAppResourceQuotaLimits/options.js.map +7 -1
  218. package/dist/commonjs/api/netAppResourceQuotaLimitsAccount/index.d.ts +1 -1
  219. package/dist/commonjs/api/netAppResourceQuotaLimitsAccount/index.js +30 -9
  220. package/dist/commonjs/api/netAppResourceQuotaLimitsAccount/index.js.map +7 -1
  221. package/dist/commonjs/api/netAppResourceQuotaLimitsAccount/operations.js +97 -59
  222. package/dist/commonjs/api/netAppResourceQuotaLimitsAccount/operations.js.map +7 -1
  223. package/dist/commonjs/api/netAppResourceQuotaLimitsAccount/options.js +16 -5
  224. package/dist/commonjs/api/netAppResourceQuotaLimitsAccount/options.js.map +7 -1
  225. package/dist/commonjs/api/netAppResourceRegionInfos/index.d.ts +1 -1
  226. package/dist/commonjs/api/netAppResourceRegionInfos/index.js +30 -9
  227. package/dist/commonjs/api/netAppResourceRegionInfos/index.js.map +7 -1
  228. package/dist/commonjs/api/netAppResourceRegionInfos/operations.js +94 -56
  229. package/dist/commonjs/api/netAppResourceRegionInfos/operations.js.map +7 -1
  230. package/dist/commonjs/api/netAppResourceRegionInfos/options.js +16 -5
  231. package/dist/commonjs/api/netAppResourceRegionInfos/options.js.map +7 -1
  232. package/dist/commonjs/api/netAppResourceUsages/index.d.ts +1 -1
  233. package/dist/commonjs/api/netAppResourceUsages/index.js +30 -9
  234. package/dist/commonjs/api/netAppResourceUsages/index.js.map +7 -1
  235. package/dist/commonjs/api/netAppResourceUsages/operations.js +95 -57
  236. package/dist/commonjs/api/netAppResourceUsages/operations.js.map +7 -1
  237. package/dist/commonjs/api/netAppResourceUsages/options.js +16 -5
  238. package/dist/commonjs/api/netAppResourceUsages/options.js.map +7 -1
  239. package/dist/commonjs/api/operations/index.d.ts +1 -1
  240. package/dist/commonjs/api/operations/index.js +28 -8
  241. package/dist/commonjs/api/operations/index.js.map +7 -1
  242. package/dist/commonjs/api/operations/operations.js +62 -30
  243. package/dist/commonjs/api/operations/operations.js.map +7 -1
  244. package/dist/commonjs/api/operations/options.js +16 -5
  245. package/dist/commonjs/api/operations/options.js.map +7 -1
  246. package/dist/commonjs/api/pools/index.d.ts +1 -1
  247. package/dist/commonjs/api/pools/index.js +36 -12
  248. package/dist/commonjs/api/pools/index.js.map +7 -1
  249. package/dist/commonjs/api/pools/operations.js +210 -159
  250. package/dist/commonjs/api/pools/operations.js.map +7 -1
  251. package/dist/commonjs/api/pools/options.js +16 -5
  252. package/dist/commonjs/api/pools/options.js.map +7 -1
  253. package/dist/commonjs/api/ransomwareReports/index.d.ts +1 -1
  254. package/dist/commonjs/api/ransomwareReports/index.js +32 -10
  255. package/dist/commonjs/api/ransomwareReports/index.js.map +7 -1
  256. package/dist/commonjs/api/ransomwareReports/operations.js +159 -110
  257. package/dist/commonjs/api/ransomwareReports/operations.js.map +7 -1
  258. package/dist/commonjs/api/ransomwareReports/options.js +16 -5
  259. package/dist/commonjs/api/ransomwareReports/options.js.map +7 -1
  260. package/dist/commonjs/api/snapshotPolicies/index.d.ts +1 -1
  261. package/dist/commonjs/api/snapshotPolicies/index.js +38 -13
  262. package/dist/commonjs/api/snapshotPolicies/index.js.map +7 -1
  263. package/dist/commonjs/api/snapshotPolicies/operations.js +257 -181
  264. package/dist/commonjs/api/snapshotPolicies/operations.js.map +7 -1
  265. package/dist/commonjs/api/snapshotPolicies/options.js +16 -5
  266. package/dist/commonjs/api/snapshotPolicies/options.js.map +7 -1
  267. package/dist/commonjs/api/snapshots/index.d.ts +1 -1
  268. package/dist/commonjs/api/snapshots/index.js +38 -13
  269. package/dist/commonjs/api/snapshots/index.js.map +7 -1
  270. package/dist/commonjs/api/snapshots/operations.js +304 -204
  271. package/dist/commonjs/api/snapshots/operations.js.map +7 -1
  272. package/dist/commonjs/api/snapshots/options.js +16 -5
  273. package/dist/commonjs/api/snapshots/options.js.map +7 -1
  274. package/dist/commonjs/api/subvolumes/index.d.ts +1 -1
  275. package/dist/commonjs/api/subvolumes/index.js +38 -13
  276. package/dist/commonjs/api/subvolumes/index.js.map +7 -1
  277. package/dist/commonjs/api/subvolumes/operations.js +302 -203
  278. package/dist/commonjs/api/subvolumes/operations.js.map +7 -1
  279. package/dist/commonjs/api/subvolumes/options.js +16 -5
  280. package/dist/commonjs/api/subvolumes/options.js.map +7 -1
  281. package/dist/commonjs/api/volumeGroups/index.d.ts +1 -1
  282. package/dist/commonjs/api/volumeGroups/index.js +34 -11
  283. package/dist/commonjs/api/volumeGroups/index.js.map +7 -1
  284. package/dist/commonjs/api/volumeGroups/operations.js +171 -126
  285. package/dist/commonjs/api/volumeGroups/operations.js.map +7 -1
  286. package/dist/commonjs/api/volumeGroups/options.js +16 -5
  287. package/dist/commonjs/api/volumeGroups/options.js.map +7 -1
  288. package/dist/commonjs/api/volumeQuotaRules/index.d.ts +1 -1
  289. package/dist/commonjs/api/volumeQuotaRules/index.js +36 -12
  290. package/dist/commonjs/api/volumeQuotaRules/index.js.map +7 -1
  291. package/dist/commonjs/api/volumeQuotaRules/operations.js +254 -169
  292. package/dist/commonjs/api/volumeQuotaRules/operations.js.map +7 -1
  293. package/dist/commonjs/api/volumeQuotaRules/options.js +16 -5
  294. package/dist/commonjs/api/volumeQuotaRules/options.js.map +7 -1
  295. package/dist/commonjs/api/volumes/index.d.ts +1 -1
  296. package/dist/commonjs/api/volumes/index.js +82 -35
  297. package/dist/commonjs/api/volumes/index.js.map +7 -1
  298. package/dist/commonjs/api/volumes/operations.js +1227 -883
  299. package/dist/commonjs/api/volumes/operations.js.map +7 -1
  300. package/dist/commonjs/api/volumes/options.js +16 -5
  301. package/dist/commonjs/api/volumes/options.js.map +7 -1
  302. package/dist/commonjs/classic/accounts/index.js +43 -22
  303. package/dist/commonjs/classic/accounts/index.js.map +7 -1
  304. package/dist/commonjs/classic/backupPolicies/index.js +38 -17
  305. package/dist/commonjs/classic/backupPolicies/index.js.map +7 -1
  306. package/dist/commonjs/classic/backupVaults/index.js +38 -17
  307. package/dist/commonjs/classic/backupVaults/index.js.map +7 -1
  308. package/dist/commonjs/classic/backups/index.js +47 -19
  309. package/dist/commonjs/classic/backups/index.js.map +7 -1
  310. package/dist/commonjs/classic/backupsUnderAccount/index.js +34 -13
  311. package/dist/commonjs/classic/backupsUnderAccount/index.js.map +7 -1
  312. package/dist/commonjs/classic/backupsUnderBackupVault/index.js +42 -13
  313. package/dist/commonjs/classic/backupsUnderBackupVault/index.js.map +7 -1
  314. package/dist/commonjs/classic/backupsUnderVolume/index.js +34 -13
  315. package/dist/commonjs/classic/backupsUnderVolume/index.js.map +7 -1
  316. package/dist/commonjs/classic/buckets/index.d.ts +31 -0
  317. package/dist/commonjs/classic/buckets/index.js +89 -0
  318. package/dist/commonjs/classic/buckets/index.js.map +7 -0
  319. package/dist/commonjs/classic/caches/index.d.ts +31 -0
  320. package/dist/commonjs/classic/caches/index.js +45 -0
  321. package/dist/commonjs/classic/caches/index.js.map +7 -0
  322. package/dist/commonjs/classic/index.d.ts +23 -21
  323. package/dist/commonjs/classic/index.js +16 -5
  324. package/dist/commonjs/classic/index.js.map +7 -1
  325. package/dist/commonjs/classic/netAppResource/index.js +39 -18
  326. package/dist/commonjs/classic/netAppResource/index.js.map +7 -1
  327. package/dist/commonjs/classic/netAppResourceQuotaLimits/index.js +35 -14
  328. package/dist/commonjs/classic/netAppResourceQuotaLimits/index.js.map +7 -1
  329. package/dist/commonjs/classic/netAppResourceQuotaLimitsAccount/index.js +35 -14
  330. package/dist/commonjs/classic/netAppResourceQuotaLimitsAccount/index.js.map +7 -1
  331. package/dist/commonjs/classic/netAppResourceRegionInfos/index.js +35 -14
  332. package/dist/commonjs/classic/netAppResourceRegionInfos/index.js.map +7 -1
  333. package/dist/commonjs/classic/netAppResourceUsages/index.js +35 -14
  334. package/dist/commonjs/classic/netAppResourceUsages/index.js.map +7 -1
  335. package/dist/commonjs/classic/operations/index.js +34 -13
  336. package/dist/commonjs/classic/operations/index.js.map +7 -1
  337. package/dist/commonjs/classic/pools/index.js +38 -17
  338. package/dist/commonjs/classic/pools/index.js.map +7 -1
  339. package/dist/commonjs/classic/ransomwareReports/index.js +53 -15
  340. package/dist/commonjs/classic/ransomwareReports/index.js.map +7 -1
  341. package/dist/commonjs/classic/snapshotPolicies/index.js +39 -18
  342. package/dist/commonjs/classic/snapshotPolicies/index.js.map +7 -1
  343. package/dist/commonjs/classic/snapshots/index.js +66 -18
  344. package/dist/commonjs/classic/snapshots/index.js.map +7 -1
  345. package/dist/commonjs/classic/subvolumes/index.js +73 -18
  346. package/dist/commonjs/classic/subvolumes/index.js.map +7 -1
  347. package/dist/commonjs/classic/volumeGroups/index.js +37 -16
  348. package/dist/commonjs/classic/volumeGroups/index.js.map +7 -1
  349. package/dist/commonjs/classic/volumeQuotaRules/index.js +72 -17
  350. package/dist/commonjs/classic/volumeQuotaRules/index.js.map +7 -1
  351. package/dist/commonjs/classic/volumes/index.js +128 -40
  352. package/dist/commonjs/classic/volumes/index.js.map +7 -1
  353. package/dist/commonjs/index.d.ts +35 -29
  354. package/dist/commonjs/index.js +163 -60
  355. package/dist/commonjs/index.js.map +7 -1
  356. package/dist/commonjs/logger.js +29 -8
  357. package/dist/commonjs/logger.js.map +7 -1
  358. package/dist/commonjs/models/index.d.ts +2 -1
  359. package/dist/commonjs/models/index.js +154 -54
  360. package/dist/commonjs/models/index.js.map +7 -1
  361. package/dist/commonjs/models/models.d.ts +954 -45
  362. package/dist/commonjs/models/models.js +2947 -2423
  363. package/dist/commonjs/models/models.js.map +7 -1
  364. package/dist/commonjs/netAppManagementClient.d.ts +7 -1
  365. package/dist/commonjs/netAppManagementClient.js +141 -114
  366. package/dist/commonjs/netAppManagementClient.js.map +7 -1
  367. package/dist/commonjs/restorePollerHelpers.js +204 -182
  368. package/dist/commonjs/restorePollerHelpers.js.map +7 -1
  369. package/dist/commonjs/static-helpers/cloudSettingHelpers.js +50 -40
  370. package/dist/commonjs/static-helpers/cloudSettingHelpers.js.map +7 -1
  371. package/dist/commonjs/static-helpers/pagingHelpers.js +123 -126
  372. package/dist/commonjs/static-helpers/pagingHelpers.js.map +7 -1
  373. package/dist/commonjs/static-helpers/pollingHelpers.js +93 -90
  374. package/dist/commonjs/static-helpers/pollingHelpers.js.map +7 -1
  375. package/dist/commonjs/static-helpers/urlTemplate.js +166 -172
  376. package/dist/commonjs/static-helpers/urlTemplate.js.map +7 -1
  377. package/dist/commonjs/tsdoc-metadata.json +1 -1
  378. package/dist/esm/api/accounts/index.d.ts +1 -1
  379. package/dist/esm/api/accounts/index.js.map +1 -1
  380. package/dist/esm/api/accounts/operations.js +19 -19
  381. package/dist/esm/api/accounts/operations.js.map +1 -1
  382. package/dist/esm/api/backupPolicies/index.d.ts +1 -1
  383. package/dist/esm/api/backupPolicies/index.js.map +1 -1
  384. package/dist/esm/api/backupPolicies/operations.js +9 -9
  385. package/dist/esm/api/backupPolicies/operations.js.map +1 -1
  386. package/dist/esm/api/backupVaults/index.d.ts +1 -1
  387. package/dist/esm/api/backupVaults/index.js.map +1 -1
  388. package/dist/esm/api/backupVaults/operations.js +9 -9
  389. package/dist/esm/api/backupVaults/operations.js.map +1 -1
  390. package/dist/esm/api/backups/index.d.ts +1 -1
  391. package/dist/esm/api/backups/index.js.map +1 -1
  392. package/dist/esm/api/backups/operations.js +11 -11
  393. package/dist/esm/api/backups/operations.js.map +1 -1
  394. package/dist/esm/api/backupsUnderAccount/index.d.ts +1 -1
  395. package/dist/esm/api/backupsUnderAccount/index.js.map +1 -1
  396. package/dist/esm/api/backupsUnderAccount/operations.js +2 -2
  397. package/dist/esm/api/backupsUnderAccount/operations.js.map +1 -1
  398. package/dist/esm/api/backupsUnderBackupVault/index.d.ts +1 -1
  399. package/dist/esm/api/backupsUnderBackupVault/index.js.map +1 -1
  400. package/dist/esm/api/backupsUnderBackupVault/operations.js +2 -2
  401. package/dist/esm/api/backupsUnderBackupVault/operations.js.map +1 -1
  402. package/dist/esm/api/backupsUnderVolume/index.d.ts +1 -1
  403. package/dist/esm/api/backupsUnderVolume/index.js.map +1 -1
  404. package/dist/esm/api/backupsUnderVolume/operations.js +2 -2
  405. package/dist/esm/api/backupsUnderVolume/operations.js.map +1 -1
  406. package/dist/esm/api/buckets/index.d.ts +3 -0
  407. package/dist/esm/api/buckets/index.js +4 -0
  408. package/dist/esm/api/buckets/index.js.map +1 -0
  409. package/dist/esm/api/buckets/operations.d.ts +44 -0
  410. package/dist/esm/api/buckets/operations.js +285 -0
  411. package/dist/esm/api/buckets/operations.js.map +1 -0
  412. package/dist/esm/api/buckets/options.d.ts +36 -0
  413. package/dist/esm/api/buckets/options.js +4 -0
  414. package/dist/esm/api/buckets/options.js.map +1 -0
  415. package/dist/esm/api/caches/index.d.ts +3 -0
  416. package/dist/esm/api/caches/index.js +4 -0
  417. package/dist/esm/api/caches/index.js.map +1 -0
  418. package/dist/esm/api/caches/operations.d.ts +44 -0
  419. package/dist/esm/api/caches/operations.js +279 -0
  420. package/dist/esm/api/caches/operations.js.map +1 -0
  421. package/dist/esm/api/caches/options.d.ts +36 -0
  422. package/dist/esm/api/caches/options.js +4 -0
  423. package/dist/esm/api/caches/options.js.map +1 -0
  424. package/dist/esm/api/index.d.ts +2 -1
  425. package/dist/esm/api/index.js +1 -1
  426. package/dist/esm/api/index.js.map +1 -1
  427. package/dist/esm/api/netAppManagementContext.js +1 -1
  428. package/dist/esm/api/netAppManagementContext.js.map +1 -1
  429. package/dist/esm/api/netAppResource/index.d.ts +1 -1
  430. package/dist/esm/api/netAppResource/index.js.map +1 -1
  431. package/dist/esm/api/netAppResource/operations.js +7 -7
  432. package/dist/esm/api/netAppResource/operations.js.map +1 -1
  433. package/dist/esm/api/netAppResourceQuotaLimits/index.d.ts +1 -1
  434. package/dist/esm/api/netAppResourceQuotaLimits/index.js.map +1 -1
  435. package/dist/esm/api/netAppResourceQuotaLimits/operations.js +3 -3
  436. package/dist/esm/api/netAppResourceQuotaLimits/operations.js.map +1 -1
  437. package/dist/esm/api/netAppResourceQuotaLimitsAccount/index.d.ts +1 -1
  438. package/dist/esm/api/netAppResourceQuotaLimitsAccount/index.js.map +1 -1
  439. package/dist/esm/api/netAppResourceQuotaLimitsAccount/operations.js +3 -3
  440. package/dist/esm/api/netAppResourceQuotaLimitsAccount/operations.js.map +1 -1
  441. package/dist/esm/api/netAppResourceRegionInfos/index.d.ts +1 -1
  442. package/dist/esm/api/netAppResourceRegionInfos/index.js.map +1 -1
  443. package/dist/esm/api/netAppResourceRegionInfos/operations.js +3 -3
  444. package/dist/esm/api/netAppResourceRegionInfos/operations.js.map +1 -1
  445. package/dist/esm/api/netAppResourceUsages/index.d.ts +1 -1
  446. package/dist/esm/api/netAppResourceUsages/index.js.map +1 -1
  447. package/dist/esm/api/netAppResourceUsages/operations.js +3 -3
  448. package/dist/esm/api/netAppResourceUsages/operations.js.map +1 -1
  449. package/dist/esm/api/operations/index.d.ts +1 -1
  450. package/dist/esm/api/operations/index.js.map +1 -1
  451. package/dist/esm/api/operations/operations.js +2 -2
  452. package/dist/esm/api/operations/operations.js.map +1 -1
  453. package/dist/esm/api/pools/index.d.ts +1 -1
  454. package/dist/esm/api/pools/index.js.map +1 -1
  455. package/dist/esm/api/pools/operations.js +9 -9
  456. package/dist/esm/api/pools/operations.js.map +1 -1
  457. package/dist/esm/api/ransomwareReports/index.d.ts +1 -1
  458. package/dist/esm/api/ransomwareReports/index.js.map +1 -1
  459. package/dist/esm/api/ransomwareReports/operations.js +5 -5
  460. package/dist/esm/api/ransomwareReports/operations.js.map +1 -1
  461. package/dist/esm/api/snapshotPolicies/index.d.ts +1 -1
  462. package/dist/esm/api/snapshotPolicies/index.js.map +1 -1
  463. package/dist/esm/api/snapshotPolicies/operations.js +9 -9
  464. package/dist/esm/api/snapshotPolicies/operations.js.map +1 -1
  465. package/dist/esm/api/snapshots/index.d.ts +1 -1
  466. package/dist/esm/api/snapshots/index.js.map +1 -1
  467. package/dist/esm/api/snapshots/operations.js +11 -11
  468. package/dist/esm/api/snapshots/operations.js.map +1 -1
  469. package/dist/esm/api/subvolumes/index.d.ts +1 -1
  470. package/dist/esm/api/subvolumes/index.js.map +1 -1
  471. package/dist/esm/api/subvolumes/operations.js +11 -11
  472. package/dist/esm/api/subvolumes/operations.js.map +1 -1
  473. package/dist/esm/api/volumeGroups/index.d.ts +1 -1
  474. package/dist/esm/api/volumeGroups/index.js.map +1 -1
  475. package/dist/esm/api/volumeGroups/operations.js +7 -7
  476. package/dist/esm/api/volumeGroups/operations.js.map +1 -1
  477. package/dist/esm/api/volumeQuotaRules/index.d.ts +1 -1
  478. package/dist/esm/api/volumeQuotaRules/index.js.map +1 -1
  479. package/dist/esm/api/volumeQuotaRules/operations.js +9 -9
  480. package/dist/esm/api/volumeQuotaRules/operations.js.map +1 -1
  481. package/dist/esm/api/volumes/index.d.ts +1 -1
  482. package/dist/esm/api/volumes/index.js.map +1 -1
  483. package/dist/esm/api/volumes/operations.js +56 -56
  484. package/dist/esm/api/volumes/operations.js.map +1 -1
  485. package/dist/esm/classic/buckets/index.d.ts +31 -0
  486. package/dist/esm/classic/buckets/index.js +21 -0
  487. package/dist/esm/classic/buckets/index.js.map +1 -0
  488. package/dist/esm/classic/caches/index.d.ts +31 -0
  489. package/dist/esm/classic/caches/index.js +21 -0
  490. package/dist/esm/classic/caches/index.js.map +1 -0
  491. package/dist/esm/classic/index.d.ts +23 -21
  492. package/dist/esm/classic/index.js.map +1 -1
  493. package/dist/esm/index.d.ts +35 -29
  494. package/dist/esm/index.js +1 -1
  495. package/dist/esm/index.js.map +1 -1
  496. package/dist/esm/models/index.d.ts +2 -1
  497. package/dist/esm/models/index.js +1 -1
  498. package/dist/esm/models/index.js.map +1 -1
  499. package/dist/esm/models/models.d.ts +954 -45
  500. package/dist/esm/models/models.js +753 -31
  501. package/dist/esm/models/models.js.map +1 -1
  502. package/dist/esm/netAppManagementClient.d.ts +7 -1
  503. package/dist/esm/netAppManagementClient.js +8 -0
  504. package/dist/esm/netAppManagementClient.js.map +1 -1
  505. package/dist/esm/restorePollerHelpers.js +14 -2
  506. package/dist/esm/restorePollerHelpers.js.map +1 -1
  507. package/dist/esm/static-helpers/urlTemplate.js +5 -5
  508. package/dist/esm/static-helpers/urlTemplate.js.map +1 -1
  509. package/dist/react-native/api/accounts/index.d.ts +1 -1
  510. package/dist/react-native/api/accounts/index.js.map +1 -1
  511. package/dist/react-native/api/accounts/operations.js +19 -19
  512. package/dist/react-native/api/accounts/operations.js.map +1 -1
  513. package/dist/react-native/api/backupPolicies/index.d.ts +1 -1
  514. package/dist/react-native/api/backupPolicies/index.js.map +1 -1
  515. package/dist/react-native/api/backupPolicies/operations.js +9 -9
  516. package/dist/react-native/api/backupPolicies/operations.js.map +1 -1
  517. package/dist/react-native/api/backupVaults/index.d.ts +1 -1
  518. package/dist/react-native/api/backupVaults/index.js.map +1 -1
  519. package/dist/react-native/api/backupVaults/operations.js +9 -9
  520. package/dist/react-native/api/backupVaults/operations.js.map +1 -1
  521. package/dist/react-native/api/backups/index.d.ts +1 -1
  522. package/dist/react-native/api/backups/index.js.map +1 -1
  523. package/dist/react-native/api/backups/operations.js +11 -11
  524. package/dist/react-native/api/backups/operations.js.map +1 -1
  525. package/dist/react-native/api/backupsUnderAccount/index.d.ts +1 -1
  526. package/dist/react-native/api/backupsUnderAccount/index.js.map +1 -1
  527. package/dist/react-native/api/backupsUnderAccount/operations.js +2 -2
  528. package/dist/react-native/api/backupsUnderAccount/operations.js.map +1 -1
  529. package/dist/react-native/api/backupsUnderBackupVault/index.d.ts +1 -1
  530. package/dist/react-native/api/backupsUnderBackupVault/index.js.map +1 -1
  531. package/dist/react-native/api/backupsUnderBackupVault/operations.js +2 -2
  532. package/dist/react-native/api/backupsUnderBackupVault/operations.js.map +1 -1
  533. package/dist/react-native/api/backupsUnderVolume/index.d.ts +1 -1
  534. package/dist/react-native/api/backupsUnderVolume/index.js.map +1 -1
  535. package/dist/react-native/api/backupsUnderVolume/operations.js +2 -2
  536. package/dist/react-native/api/backupsUnderVolume/operations.js.map +1 -1
  537. package/dist/react-native/api/buckets/index.d.ts +3 -0
  538. package/dist/react-native/api/buckets/index.js +4 -0
  539. package/dist/react-native/api/buckets/index.js.map +1 -0
  540. package/dist/react-native/api/buckets/operations.d.ts +44 -0
  541. package/dist/react-native/api/buckets/operations.js +285 -0
  542. package/dist/react-native/api/buckets/operations.js.map +1 -0
  543. package/dist/react-native/api/buckets/options.d.ts +36 -0
  544. package/dist/react-native/api/buckets/options.js +4 -0
  545. package/dist/react-native/api/buckets/options.js.map +1 -0
  546. package/dist/react-native/api/caches/index.d.ts +3 -0
  547. package/dist/react-native/api/caches/index.js +4 -0
  548. package/dist/react-native/api/caches/index.js.map +1 -0
  549. package/dist/react-native/api/caches/operations.d.ts +44 -0
  550. package/dist/react-native/api/caches/operations.js +279 -0
  551. package/dist/react-native/api/caches/operations.js.map +1 -0
  552. package/dist/react-native/api/caches/options.d.ts +36 -0
  553. package/dist/react-native/api/caches/options.js +4 -0
  554. package/dist/react-native/api/caches/options.js.map +1 -0
  555. package/dist/react-native/api/index.d.ts +2 -1
  556. package/dist/react-native/api/index.js +1 -1
  557. package/dist/react-native/api/index.js.map +1 -1
  558. package/dist/react-native/api/netAppManagementContext.js +1 -1
  559. package/dist/react-native/api/netAppManagementContext.js.map +1 -1
  560. package/dist/react-native/api/netAppResource/index.d.ts +1 -1
  561. package/dist/react-native/api/netAppResource/index.js.map +1 -1
  562. package/dist/react-native/api/netAppResource/operations.js +7 -7
  563. package/dist/react-native/api/netAppResource/operations.js.map +1 -1
  564. package/dist/react-native/api/netAppResourceQuotaLimits/index.d.ts +1 -1
  565. package/dist/react-native/api/netAppResourceQuotaLimits/index.js.map +1 -1
  566. package/dist/react-native/api/netAppResourceQuotaLimits/operations.js +3 -3
  567. package/dist/react-native/api/netAppResourceQuotaLimits/operations.js.map +1 -1
  568. package/dist/react-native/api/netAppResourceQuotaLimitsAccount/index.d.ts +1 -1
  569. package/dist/react-native/api/netAppResourceQuotaLimitsAccount/index.js.map +1 -1
  570. package/dist/react-native/api/netAppResourceQuotaLimitsAccount/operations.js +3 -3
  571. package/dist/react-native/api/netAppResourceQuotaLimitsAccount/operations.js.map +1 -1
  572. package/dist/react-native/api/netAppResourceRegionInfos/index.d.ts +1 -1
  573. package/dist/react-native/api/netAppResourceRegionInfos/index.js.map +1 -1
  574. package/dist/react-native/api/netAppResourceRegionInfos/operations.js +3 -3
  575. package/dist/react-native/api/netAppResourceRegionInfos/operations.js.map +1 -1
  576. package/dist/react-native/api/netAppResourceUsages/index.d.ts +1 -1
  577. package/dist/react-native/api/netAppResourceUsages/index.js.map +1 -1
  578. package/dist/react-native/api/netAppResourceUsages/operations.js +3 -3
  579. package/dist/react-native/api/netAppResourceUsages/operations.js.map +1 -1
  580. package/dist/react-native/api/operations/index.d.ts +1 -1
  581. package/dist/react-native/api/operations/index.js.map +1 -1
  582. package/dist/react-native/api/operations/operations.js +2 -2
  583. package/dist/react-native/api/operations/operations.js.map +1 -1
  584. package/dist/react-native/api/pools/index.d.ts +1 -1
  585. package/dist/react-native/api/pools/index.js.map +1 -1
  586. package/dist/react-native/api/pools/operations.js +9 -9
  587. package/dist/react-native/api/pools/operations.js.map +1 -1
  588. package/dist/react-native/api/ransomwareReports/index.d.ts +1 -1
  589. package/dist/react-native/api/ransomwareReports/index.js.map +1 -1
  590. package/dist/react-native/api/ransomwareReports/operations.js +5 -5
  591. package/dist/react-native/api/ransomwareReports/operations.js.map +1 -1
  592. package/dist/react-native/api/snapshotPolicies/index.d.ts +1 -1
  593. package/dist/react-native/api/snapshotPolicies/index.js.map +1 -1
  594. package/dist/react-native/api/snapshotPolicies/operations.js +9 -9
  595. package/dist/react-native/api/snapshotPolicies/operations.js.map +1 -1
  596. package/dist/react-native/api/snapshots/index.d.ts +1 -1
  597. package/dist/react-native/api/snapshots/index.js.map +1 -1
  598. package/dist/react-native/api/snapshots/operations.js +11 -11
  599. package/dist/react-native/api/snapshots/operations.js.map +1 -1
  600. package/dist/react-native/api/subvolumes/index.d.ts +1 -1
  601. package/dist/react-native/api/subvolumes/index.js.map +1 -1
  602. package/dist/react-native/api/subvolumes/operations.js +11 -11
  603. package/dist/react-native/api/subvolumes/operations.js.map +1 -1
  604. package/dist/react-native/api/volumeGroups/index.d.ts +1 -1
  605. package/dist/react-native/api/volumeGroups/index.js.map +1 -1
  606. package/dist/react-native/api/volumeGroups/operations.js +7 -7
  607. package/dist/react-native/api/volumeGroups/operations.js.map +1 -1
  608. package/dist/react-native/api/volumeQuotaRules/index.d.ts +1 -1
  609. package/dist/react-native/api/volumeQuotaRules/index.js.map +1 -1
  610. package/dist/react-native/api/volumeQuotaRules/operations.js +9 -9
  611. package/dist/react-native/api/volumeQuotaRules/operations.js.map +1 -1
  612. package/dist/react-native/api/volumes/index.d.ts +1 -1
  613. package/dist/react-native/api/volumes/index.js.map +1 -1
  614. package/dist/react-native/api/volumes/operations.js +56 -56
  615. package/dist/react-native/api/volumes/operations.js.map +1 -1
  616. package/dist/react-native/classic/buckets/index.d.ts +31 -0
  617. package/dist/react-native/classic/buckets/index.js +21 -0
  618. package/dist/react-native/classic/buckets/index.js.map +1 -0
  619. package/dist/react-native/classic/caches/index.d.ts +31 -0
  620. package/dist/react-native/classic/caches/index.js +21 -0
  621. package/dist/react-native/classic/caches/index.js.map +1 -0
  622. package/dist/react-native/classic/index.d.ts +23 -21
  623. package/dist/react-native/classic/index.js.map +1 -1
  624. package/dist/react-native/index.d.ts +35 -29
  625. package/dist/react-native/index.js +1 -1
  626. package/dist/react-native/index.js.map +1 -1
  627. package/dist/react-native/models/index.d.ts +2 -1
  628. package/dist/react-native/models/index.js +1 -1
  629. package/dist/react-native/models/index.js.map +1 -1
  630. package/dist/react-native/models/models.d.ts +954 -45
  631. package/dist/react-native/models/models.js +753 -31
  632. package/dist/react-native/models/models.js.map +1 -1
  633. package/dist/react-native/netAppManagementClient.d.ts +7 -1
  634. package/dist/react-native/netAppManagementClient.js +8 -0
  635. package/dist/react-native/netAppManagementClient.js.map +1 -1
  636. package/dist/react-native/restorePollerHelpers.js +14 -2
  637. package/dist/react-native/restorePollerHelpers.js.map +1 -1
  638. package/dist/react-native/static-helpers/urlTemplate.js +5 -5
  639. package/dist/react-native/static-helpers/urlTemplate.js.map +1 -1
  640. package/package.json +49 -49
@@ -1 +1 @@
1
- {"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/models/models.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/**\n * This file contains only generated model types and their (de)serializers.\n * Disable the following rules for internal models with '_' prefix and deserializers which require 'any' for raw JSON input.\n */\n/* eslint-disable @typescript-eslint/naming-convention */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/** A list of REST API operations supported by an Azure Resource Provider. It contains an URL link to get the next set of results. */\nexport interface _OperationListResult {\n /** The Operation items on this page */\n value: Operation[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _operationListResultDeserializer(item: any): _OperationListResult {\n return {\n value: operationArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function operationArrayDeserializer(result: Array<Operation>): any[] {\n return result.map((item) => {\n return operationDeserializer(item);\n });\n}\n\n/** Microsoft.NetApp REST API operation definition. */\nexport interface Operation {\n /** Operation name: {provider}/{resource}/{operation} */\n name?: string;\n /** Display metadata associated with the operation. */\n display?: OperationDisplay;\n /** The origin of operations. */\n origin?: string;\n /** Properties of operation, include metric specifications. */\n properties?: OperationProperties;\n}\n\nexport function operationDeserializer(item: any): Operation {\n return {\n name: item[\"name\"],\n display: !item[\"display\"] ? item[\"display\"] : operationDisplayDeserializer(item[\"display\"]),\n origin: item[\"origin\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : operationPropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** Display metadata associated with the operation. */\nexport interface OperationDisplay {\n /** Service provider: Microsoft NetApp. */\n provider?: string;\n /** Resource on which the operation is performed etc. */\n resource?: string;\n /** Type of operation: get, read, delete, etc. */\n operation?: string;\n /** Operation description. */\n description?: string;\n}\n\nexport function operationDisplayDeserializer(item: any): OperationDisplay {\n return {\n provider: item[\"provider\"],\n resource: item[\"resource\"],\n operation: item[\"operation\"],\n description: item[\"description\"],\n };\n}\n\n/** Properties of operation, include metric specifications. */\nexport interface OperationProperties {\n /** One property of operation, include metric specifications. */\n serviceSpecification?: ServiceSpecification;\n}\n\nexport function operationPropertiesDeserializer(item: any): OperationProperties {\n return {\n serviceSpecification: !item[\"serviceSpecification\"]\n ? item[\"serviceSpecification\"]\n : serviceSpecificationDeserializer(item[\"serviceSpecification\"]),\n };\n}\n\n/** One property of operation, include metric specifications. */\nexport interface ServiceSpecification {\n /** Metric specifications of operation. */\n metricSpecifications?: MetricSpecification[];\n /** Log specification of operation. */\n logSpecifications?: LogSpecification[];\n}\n\nexport function serviceSpecificationDeserializer(item: any): ServiceSpecification {\n return {\n metricSpecifications: !item[\"metricSpecifications\"]\n ? item[\"metricSpecifications\"]\n : metricSpecificationArrayDeserializer(item[\"metricSpecifications\"]),\n logSpecifications: !item[\"logSpecifications\"]\n ? item[\"logSpecifications\"]\n : logSpecificationArrayDeserializer(item[\"logSpecifications\"]),\n };\n}\n\nexport function metricSpecificationArrayDeserializer(result: Array<MetricSpecification>): any[] {\n return result.map((item) => {\n return metricSpecificationDeserializer(item);\n });\n}\n\n/** Metric specification of operation. */\nexport interface MetricSpecification {\n /** Name of metric specification. */\n name?: string;\n /** Display name of metric specification. */\n displayName?: string;\n /** Display description of metric specification. */\n displayDescription?: string;\n /** Unit could be Bytes or Count. */\n unit?: string;\n /** Support metric aggregation type. */\n supportedAggregationTypes?: MetricAggregationType[];\n /** The supported time grain types for the metrics. */\n supportedTimeGrainTypes?: string[];\n /** The internal metric name. */\n internalMetricName?: string;\n /** Whether or not the service is using regional MDM accounts. */\n enableRegionalMdmAccount?: boolean;\n /** The source MDM account. */\n sourceMdmAccount?: string;\n /** The source MDM namespace. */\n sourceMdmNamespace?: string;\n /** Dimensions of blobs, including blob type and access tier. */\n dimensions?: Dimension[];\n /** Aggregation type could be Average. */\n aggregationType?: string;\n /** The property to decide fill gap with zero or not. */\n fillGapWithZero?: boolean;\n /** The category this metric specification belong to, could be Capacity. */\n category?: string;\n /** Account Resource Id. */\n resourceIdDimensionNameOverride?: string;\n /** Whether the metric is internal. */\n isInternal?: boolean;\n}\n\nexport function metricSpecificationDeserializer(item: any): MetricSpecification {\n return {\n name: item[\"name\"],\n displayName: item[\"displayName\"],\n displayDescription: item[\"displayDescription\"],\n unit: item[\"unit\"],\n supportedAggregationTypes: !item[\"supportedAggregationTypes\"]\n ? item[\"supportedAggregationTypes\"]\n : item[\"supportedAggregationTypes\"].map((p: any) => {\n return p;\n }),\n supportedTimeGrainTypes: !item[\"supportedTimeGrainTypes\"]\n ? item[\"supportedTimeGrainTypes\"]\n : item[\"supportedTimeGrainTypes\"].map((p: any) => {\n return p;\n }),\n internalMetricName: item[\"internalMetricName\"],\n enableRegionalMdmAccount: item[\"enableRegionalMdmAccount\"],\n sourceMdmAccount: item[\"sourceMdmAccount\"],\n sourceMdmNamespace: item[\"sourceMdmNamespace\"],\n dimensions: !item[\"dimensions\"]\n ? item[\"dimensions\"]\n : dimensionArrayDeserializer(item[\"dimensions\"]),\n aggregationType: item[\"aggregationType\"],\n fillGapWithZero: item[\"fillGapWithZero\"],\n category: item[\"category\"],\n resourceIdDimensionNameOverride: item[\"resourceIdDimensionNameOverride\"],\n isInternal: item[\"isInternal\"],\n };\n}\n\n/** Known values of {@link MetricAggregationType} that the service accepts. */\nexport enum KnownMetricAggregationType {\n /** Average */\n Average = \"Average\",\n}\n\n/** Type of MetricAggregationType */\nexport type MetricAggregationType = string;\n\nexport function dimensionArrayDeserializer(result: Array<Dimension>): any[] {\n return result.map((item) => {\n return dimensionDeserializer(item);\n });\n}\n\n/** Dimension of blobs, possibly be blob type or access tier. */\nexport interface Dimension {\n /** Display name of dimension. */\n name?: string;\n /** Display name of dimension. */\n displayName?: string;\n}\n\nexport function dimensionDeserializer(item: any): Dimension {\n return {\n name: item[\"name\"],\n displayName: item[\"displayName\"],\n };\n}\n\nexport function logSpecificationArrayDeserializer(result: Array<LogSpecification>): any[] {\n return result.map((item) => {\n return logSpecificationDeserializer(item);\n });\n}\n\n/** Log Definition of a single resource metric. */\nexport interface LogSpecification {\n /** Name of log specification. */\n name?: string;\n /** Display name of log specification. */\n displayName?: string;\n}\n\nexport function logSpecificationDeserializer(item: any): LogSpecification {\n return {\n name: item[\"name\"],\n displayName: item[\"displayName\"],\n };\n}\n\n/** Common error response for all Azure Resource Manager APIs to return error details for failed operations. */\nexport interface ErrorResponse {\n /** The error object. */\n error?: ErrorDetail;\n}\n\nexport function errorResponseDeserializer(item: any): ErrorResponse {\n return {\n error: !item[\"error\"] ? item[\"error\"] : errorDetailDeserializer(item[\"error\"]),\n };\n}\n\n/** The error detail. */\nexport interface ErrorDetail {\n /** The error code. */\n readonly code?: string;\n /** The error message. */\n readonly message?: string;\n /** The error target. */\n readonly target?: string;\n /** The error details. */\n readonly details?: ErrorDetail[];\n /** The error additional info. */\n readonly additionalInfo?: ErrorAdditionalInfo[];\n}\n\nexport function errorDetailDeserializer(item: any): ErrorDetail {\n return {\n code: item[\"code\"],\n message: item[\"message\"],\n target: item[\"target\"],\n details: !item[\"details\"] ? item[\"details\"] : errorDetailArrayDeserializer(item[\"details\"]),\n additionalInfo: !item[\"additionalInfo\"]\n ? item[\"additionalInfo\"]\n : errorAdditionalInfoArrayDeserializer(item[\"additionalInfo\"]),\n };\n}\n\nexport function errorDetailArrayDeserializer(result: Array<ErrorDetail>): any[] {\n return result.map((item) => {\n return errorDetailDeserializer(item);\n });\n}\n\nexport function errorAdditionalInfoArrayDeserializer(result: Array<ErrorAdditionalInfo>): any[] {\n return result.map((item) => {\n return errorAdditionalInfoDeserializer(item);\n });\n}\n\n/** The resource management error additional info. */\nexport interface ErrorAdditionalInfo {\n /** The additional info type. */\n readonly type?: string;\n /** The additional info. */\n readonly info?: any;\n}\n\nexport function errorAdditionalInfoDeserializer(item: any): ErrorAdditionalInfo {\n return {\n type: item[\"type\"],\n info: item[\"info\"],\n };\n}\n\n/** Information regarding Quota Item. */\nexport interface QuotaItem extends ProxyResource {\n /** QuotaItem properties */\n properties?: QuotaItemProperties;\n}\n\nexport function quotaItemDeserializer(item: any): QuotaItem {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : quotaItemPropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** QuotaItem Properties */\nexport interface QuotaItemProperties {\n /** The current quota value. */\n readonly current?: number;\n /** The default quota value. */\n readonly default?: number;\n /** The usage quota value. */\n readonly usage?: number | null;\n}\n\nexport function quotaItemPropertiesDeserializer(item: any): QuotaItemProperties {\n return {\n current: item[\"current\"],\n default: item[\"default\"],\n usage: item[\"usage\"],\n };\n}\n\n/** The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location */\nexport interface ProxyResource extends Resource {}\n\nexport function proxyResourceSerializer(item: ProxyResource): any {\n return item;\n}\n\nexport function proxyResourceDeserializer(item: any): ProxyResource {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n };\n}\n\n/** Common fields that are returned in the response for all Azure Resource Manager resources */\nexport interface Resource {\n /** Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} */\n readonly id?: string;\n /** The name of the resource */\n readonly name?: string;\n /** The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\" */\n readonly type?: string;\n /** Azure Resource Manager metadata containing createdBy and modifiedBy information. */\n readonly systemData?: SystemData;\n}\n\nexport function resourceSerializer(item: Resource): any {\n return item;\n}\n\nexport function resourceDeserializer(item: any): Resource {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n };\n}\n\n/** Metadata pertaining to creation and last modification of the resource. */\nexport interface SystemData {\n /** The identity that created the resource. */\n createdBy?: string;\n /** The type of identity that created the resource. */\n createdByType?: CreatedByType;\n /** The timestamp of resource creation (UTC). */\n createdAt?: Date;\n /** The identity that last modified the resource. */\n lastModifiedBy?: string;\n /** The type of identity that last modified the resource. */\n lastModifiedByType?: CreatedByType;\n /** The timestamp of resource last modification (UTC) */\n lastModifiedAt?: Date;\n}\n\nexport function systemDataDeserializer(item: any): SystemData {\n return {\n createdBy: item[\"createdBy\"],\n createdByType: item[\"createdByType\"],\n createdAt: !item[\"createdAt\"] ? item[\"createdAt\"] : new Date(item[\"createdAt\"]),\n lastModifiedBy: item[\"lastModifiedBy\"],\n lastModifiedByType: item[\"lastModifiedByType\"],\n lastModifiedAt: !item[\"lastModifiedAt\"]\n ? item[\"lastModifiedAt\"]\n : new Date(item[\"lastModifiedAt\"]),\n };\n}\n\n/** The kind of entity that created the resource. */\nexport enum KnownCreatedByType {\n /** The entity was created by a user. */\n User = \"User\",\n /** The entity was created by an application. */\n Application = \"Application\",\n /** The entity was created by a managed identity. */\n ManagedIdentity = \"ManagedIdentity\",\n /** The entity was created by a key. */\n Key = \"Key\",\n}\n\n/**\n * The kind of entity that created the resource. \\\n * {@link KnownCreatedByType} can be used interchangeably with CreatedByType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **User**: The entity was created by a user. \\\n * **Application**: The entity was created by an application. \\\n * **ManagedIdentity**: The entity was created by a managed identity. \\\n * **Key**: The entity was created by a key.\n */\nexport type CreatedByType = string;\n\n/** List of Quota Items */\nexport interface _QuotaItemList {\n /** The QuotaItem items on this page */\n value: QuotaItem[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _quotaItemListDeserializer(item: any): _QuotaItemList {\n return {\n value: quotaItemArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function quotaItemArrayDeserializer(result: Array<QuotaItem>): any[] {\n return result.map((item) => {\n return quotaItemDeserializer(item);\n });\n}\n\n/** Volume group resource for create */\nexport interface VolumeGroupDetails extends ProxyResource {\n /** Volume group properties */\n properties?: VolumeGroupProperties;\n /** Resource location */\n location?: string;\n}\n\nexport function volumeGroupDetailsSerializer(item: VolumeGroupDetails): any {\n return {\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : volumeGroupPropertiesSerializer(item[\"properties\"]),\n location: item[\"location\"],\n };\n}\n\nexport function volumeGroupDetailsDeserializer(item: any): VolumeGroupDetails {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : volumeGroupPropertiesDeserializer(item[\"properties\"]),\n location: item[\"location\"],\n };\n}\n\n/** Volume group properties */\nexport interface VolumeGroupProperties {\n /** Azure lifecycle management */\n readonly provisioningState?: string;\n /** Volume group details */\n groupMetaData?: VolumeGroupMetaData;\n /** List of volumes from group */\n volumes?: VolumeGroupVolumeProperties[];\n}\n\nexport function volumeGroupPropertiesSerializer(item: VolumeGroupProperties): any {\n return {\n groupMetaData: !item[\"groupMetaData\"]\n ? item[\"groupMetaData\"]\n : volumeGroupMetaDataSerializer(item[\"groupMetaData\"]),\n volumes: !item[\"volumes\"]\n ? item[\"volumes\"]\n : volumeGroupVolumePropertiesArraySerializer(item[\"volumes\"]),\n };\n}\n\nexport function volumeGroupPropertiesDeserializer(item: any): VolumeGroupProperties {\n return {\n provisioningState: item[\"provisioningState\"],\n groupMetaData: !item[\"groupMetaData\"]\n ? item[\"groupMetaData\"]\n : volumeGroupMetaDataDeserializer(item[\"groupMetaData\"]),\n volumes: !item[\"volumes\"]\n ? item[\"volumes\"]\n : volumeGroupVolumePropertiesArrayDeserializer(item[\"volumes\"]),\n };\n}\n\n/** Volume group properties */\nexport interface VolumeGroupMetaData {\n /** Group Description */\n groupDescription?: string;\n /** Application Type */\n applicationType?: ApplicationType;\n /** Application specific identifier */\n applicationIdentifier?: string;\n /** Application specific placement rules for the volume group */\n globalPlacementRules?: PlacementKeyValuePairs[];\n /** Number of volumes in volume group */\n readonly volumesCount?: number;\n}\n\nexport function volumeGroupMetaDataSerializer(item: VolumeGroupMetaData): any {\n return {\n groupDescription: item[\"groupDescription\"],\n applicationType: item[\"applicationType\"],\n applicationIdentifier: item[\"applicationIdentifier\"],\n globalPlacementRules: !item[\"globalPlacementRules\"]\n ? item[\"globalPlacementRules\"]\n : placementKeyValuePairsArraySerializer(item[\"globalPlacementRules\"]),\n };\n}\n\nexport function volumeGroupMetaDataDeserializer(item: any): VolumeGroupMetaData {\n return {\n groupDescription: item[\"groupDescription\"],\n applicationType: item[\"applicationType\"],\n applicationIdentifier: item[\"applicationIdentifier\"],\n globalPlacementRules: !item[\"globalPlacementRules\"]\n ? item[\"globalPlacementRules\"]\n : placementKeyValuePairsArrayDeserializer(item[\"globalPlacementRules\"]),\n volumesCount: item[\"volumesCount\"],\n };\n}\n\n/** Application Type */\nexport enum KnownApplicationType {\n /** SAP-HANA */\n SAPHana = \"SAP-HANA\",\n /** ORACLE */\n Oracle = \"ORACLE\",\n}\n\n/**\n * Application Type \\\n * {@link KnownApplicationType} can be used interchangeably with ApplicationType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **SAP-HANA** \\\n * **ORACLE**\n */\nexport type ApplicationType = string;\n\nexport function placementKeyValuePairsArraySerializer(\n result: Array<PlacementKeyValuePairs>,\n): any[] {\n return result.map((item) => {\n return placementKeyValuePairsSerializer(item);\n });\n}\n\nexport function placementKeyValuePairsArrayDeserializer(\n result: Array<PlacementKeyValuePairs>,\n): any[] {\n return result.map((item) => {\n return placementKeyValuePairsDeserializer(item);\n });\n}\n\n/** Application specific parameters for the placement of volumes in the volume group */\nexport interface PlacementKeyValuePairs {\n /** Key for an application specific parameter for the placement of volumes in the volume group */\n key: string;\n /** Value for an application specific parameter for the placement of volumes in the volume group */\n value: string;\n}\n\nexport function placementKeyValuePairsSerializer(item: PlacementKeyValuePairs): any {\n return { key: item[\"key\"], value: item[\"value\"] };\n}\n\nexport function placementKeyValuePairsDeserializer(item: any): PlacementKeyValuePairs {\n return {\n key: item[\"key\"],\n value: item[\"value\"],\n };\n}\n\nexport function volumeGroupVolumePropertiesArraySerializer(\n result: Array<VolumeGroupVolumeProperties>,\n): any[] {\n return result.map((item) => {\n return volumeGroupVolumePropertiesSerializer(item);\n });\n}\n\nexport function volumeGroupVolumePropertiesArrayDeserializer(\n result: Array<VolumeGroupVolumeProperties>,\n): any[] {\n return result.map((item) => {\n return volumeGroupVolumePropertiesDeserializer(item);\n });\n}\n\n/** Volume resource */\nexport interface VolumeGroupVolumeProperties {\n /** Resource Id */\n readonly id?: string;\n /** Resource name */\n name?: string;\n /** Resource type */\n readonly type?: string;\n /** Resource tags */\n tags?: Record<string, string>;\n /** Availability Zone */\n zones?: string[];\n /** Volume properties */\n properties: VolumeProperties;\n}\n\nexport function volumeGroupVolumePropertiesSerializer(item: VolumeGroupVolumeProperties): any {\n return {\n name: item[\"name\"],\n tags: item[\"tags\"],\n zones: !item[\"zones\"]\n ? item[\"zones\"]\n : item[\"zones\"].map((p: any) => {\n return p;\n }),\n properties: volumePropertiesSerializer(item[\"properties\"]),\n };\n}\n\nexport function volumeGroupVolumePropertiesDeserializer(item: any): VolumeGroupVolumeProperties {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n zones: !item[\"zones\"]\n ? item[\"zones\"]\n : item[\"zones\"].map((p: any) => {\n return p;\n }),\n properties: volumePropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** Volume properties */\nexport interface VolumeProperties {\n /** Unique FileSystem Identifier. */\n readonly fileSystemId?: string;\n /** A unique file path for the volume. Used when creating mount targets */\n creationToken: string;\n /** The service level of the file system */\n serviceLevel?: ServiceLevel;\n /** Maximum storage quota allowed for a file system in bytes. This is a soft quota used for alerting only. For regular volumes, valid values are in the range 50GiB to 100TiB. For large volumes, valid values are in the range 100TiB to 500TiB, and on an exceptional basis, from to 2400GiB to 2400TiB. Values expressed in bytes as multiples of 1 GiB. */\n usageThreshold: number;\n /** Set of export policy rules */\n exportPolicy?: VolumePropertiesExportPolicy;\n /** Set of protocol types, default NFSv3, CIFS for SMB protocol */\n protocolTypes?: string[];\n /** Azure lifecycle management */\n readonly provisioningState?: string;\n /** Resource identifier used to identify the Snapshot. */\n snapshotId?: string | null;\n /** If enabled (true) the snapshot the volume was created from will be automatically deleted after the volume create operation has finished. Defaults to false */\n deleteBaseSnapshot?: boolean;\n /** Resource identifier used to identify the Backup. */\n backupId?: string | null;\n /** Unique Baremetal Tenant Identifier. */\n readonly baremetalTenantId?: string;\n /** The Azure Resource URI for a delegated subnet. Must have the delegation Microsoft.NetApp/volumes */\n subnetId: string;\n /** The original value of the network features type available to the volume at the time it was created. */\n networkFeatures?: NetworkFeatures;\n /** The effective value of the network features type available to the volume, or current effective state of update. */\n readonly effectiveNetworkFeatures?: NetworkFeatures;\n /** Network Sibling Set ID for the the group of volumes sharing networking resources. */\n readonly networkSiblingSetId?: string;\n /** Provides storage to network proximity information for the volume. */\n readonly storageToNetworkProximity?: VolumeStorageToNetworkProximity;\n /** List of mount targets */\n readonly mountTargets?: MountTargetProperties[];\n /** What type of volume is this. For destination volumes in Cross Region Replication, set type to DataProtection. For creating clone volume, set type to ShortTermClone */\n volumeType?: string;\n /** DataProtection type volumes include an object containing details of the replication */\n dataProtection?: VolumePropertiesDataProtection;\n /** While auto splitting the short term clone volume, if the parent pool does not have enough space to accommodate the volume after split, it will be automatically resized, which will lead to increased billing. To accept capacity pool size auto grow and create a short term clone volume, set the property as accepted. */\n acceptGrowCapacityPoolForShortTermCloneSplit?: AcceptGrowCapacityPoolForShortTermCloneSplit;\n /** Restoring */\n readonly isRestoring?: boolean;\n /** If enabled (true) the volume will contain a read-only snapshot directory which provides access to each of the volume's snapshots (defaults to true). */\n snapshotDirectoryVisible?: boolean;\n /** Describe if a volume is KerberosEnabled. To be use with swagger version 2020-05-01 or later */\n kerberosEnabled?: boolean;\n /** The security style of volume, default unix, defaults to ntfs for dual protocol or CIFS protocol */\n securityStyle?: SecurityStyle;\n /** Enables encryption for in-flight smb3 data. Only applicable for SMB/DualProtocol volume. To be used with swagger version 2020-08-01 or later */\n smbEncryption?: boolean;\n /** Enables access-based enumeration share property for SMB Shares. Only applicable for SMB/DualProtocol volume */\n smbAccessBasedEnumeration?: SmbAccessBasedEnumeration | null;\n /** Enables non-browsable property for SMB Shares. Only applicable for SMB/DualProtocol volume */\n smbNonBrowsable?: SmbNonBrowsable;\n /** Enables continuously available share property for smb volume. Only applicable for SMB volume */\n smbContinuouslyAvailable?: boolean;\n /** Maximum throughput in MiB/s that can be achieved by this volume and this will be accepted as input only for manual qosType volume */\n throughputMibps?: number | null;\n /** Actual throughput in MiB/s for auto qosType volumes calculated based on size and serviceLevel */\n readonly actualThroughputMibps?: number;\n /** Source of key used to encrypt data in volume. Applicable if NetApp account has encryption.keySource = 'Microsoft.KeyVault'. Possible values (case-insensitive) are: 'Microsoft.NetApp, Microsoft.KeyVault' */\n encryptionKeySource?: EncryptionKeySource;\n /** The resource ID of private endpoint for KeyVault. It must reside in the same VNET as the volume. Only applicable if encryptionKeySource = 'Microsoft.KeyVault'. */\n keyVaultPrivateEndpointResourceId?: string;\n /** Specifies whether LDAP is enabled or not for a given NFS volume. */\n ldapEnabled?: boolean;\n /** Specifies whether Cool Access(tiering) is enabled for the volume. */\n coolAccess?: boolean;\n /** Specifies the number of days after which data that is not accessed by clients will be tiered. */\n coolnessPeriod?: number;\n /**\n * coolAccessRetrievalPolicy determines the data retrieval behavior from the cool tier to standard storage based on the read pattern for cool access enabled volumes. The possible values for this field are:\n * Default - Data will be pulled from cool tier to standard storage on random reads. This policy is the default.\n * OnRead - All client-driven data read is pulled from cool tier to standard storage on both sequential and random reads.\n * Never - No client-driven data is pulled from cool tier to standard storage.\n */\n coolAccessRetrievalPolicy?: CoolAccessRetrievalPolicy;\n /** coolAccessTieringPolicy determines which cold data blocks are moved to cool tier. The possible values for this field are: Auto - Moves cold user data blocks in both the Snapshot copies and the active file system to the cool tier tier. This policy is the default. SnapshotOnly - Moves user data blocks of the Volume Snapshot copies that are not associated with the active file system to the cool tier. */\n coolAccessTieringPolicy?: CoolAccessTieringPolicy;\n /** UNIX permissions for NFS volume accepted in octal 4 digit format. First digit selects the set user ID(4), set group ID (2) and sticky (1) attributes. Second digit selects permission for the owner of the file: read (4), write (2) and execute (1). Third selects permissions for other users in the same group. the fourth for other users not in the group. 0755 - gives read/write/execute permissions to owner and read/execute to group and other users. */\n unixPermissions?: string | null;\n /** When a volume is being restored from another volume's snapshot, will show the percentage completion of this cloning process. When this value is empty/null there is no cloning process currently happening on this volume. This value will update every 5 minutes during cloning. */\n readonly cloneProgress?: number | null;\n /** Flag indicating whether file access logs are enabled for the volume, based on active diagnostic settings present on the volume. */\n readonly fileAccessLogs?: FileAccessLogs;\n /** Specifies whether the volume is enabled for Azure VMware Solution (AVS) datastore purpose */\n avsDataStore?: AvsDataStore;\n /** Data store resource unique identifier */\n readonly dataStoreResourceId?: string[];\n /** Specifies if default quota is enabled for the volume. */\n isDefaultQuotaEnabled?: boolean;\n /** Default user quota for volume in KiBs. If isDefaultQuotaEnabled is set, the minimum value of 4 KiBs applies . */\n defaultUserQuotaInKiBs?: number;\n /** Default group quota for volume in KiBs. If isDefaultQuotaEnabled is set, the minimum value of 4 KiBs applies. */\n defaultGroupQuotaInKiBs?: number;\n /** Maximum number of files allowed. Needs a service request in order to be changed. Only allowed to be changed if volume quota is more than 4TiB. */\n readonly maximumNumberOfFiles?: number;\n /** Volume Group Name */\n readonly volumeGroupName?: string;\n /** Pool Resource Id used in case of creating a volume through volume group */\n capacityPoolResourceId?: string;\n /** Proximity placement group associated with the volume */\n proximityPlacementGroup?: string;\n /** T2 network information */\n readonly t2Network?: string;\n /** Volume spec name is the application specific designation or identifier for the particular volume in a volume group for e.g. data, log */\n volumeSpecName?: string;\n /** Specifies if the volume is encrypted or not. Only available on volumes created or updated after 2022-01-01. */\n readonly encrypted?: boolean;\n /** Application specific placement rules for the particular volume */\n placementRules?: PlacementKeyValuePairs[];\n /** Flag indicating whether subvolume operations are enabled on the volume */\n enableSubvolumes?: EnableSubvolumes;\n /** The availability zone where the volume is provisioned. This refers to the logical availability zone where the volume resides. */\n readonly provisionedAvailabilityZone?: string | null;\n /** Specifies whether volume is a Large Volume or Regular Volume. */\n isLargeVolume?: boolean;\n /** Id of the snapshot or backup that the volume is restored from. */\n readonly originatingResourceId?: string | null;\n /** Space shared by short term clone volume with parent volume in bytes. */\n readonly inheritedSizeInBytes?: number | null;\n}\n\nexport function volumePropertiesSerializer(item: VolumeProperties): any {\n return {\n creationToken: item[\"creationToken\"],\n serviceLevel: item[\"serviceLevel\"],\n usageThreshold: item[\"usageThreshold\"],\n exportPolicy: !item[\"exportPolicy\"]\n ? item[\"exportPolicy\"]\n : volumePropertiesExportPolicySerializer(item[\"exportPolicy\"]),\n protocolTypes: !item[\"protocolTypes\"]\n ? item[\"protocolTypes\"]\n : item[\"protocolTypes\"].map((p: any) => {\n return p;\n }),\n snapshotId: item[\"snapshotId\"],\n deleteBaseSnapshot: item[\"deleteBaseSnapshot\"],\n backupId: item[\"backupId\"],\n subnetId: item[\"subnetId\"],\n networkFeatures: item[\"networkFeatures\"],\n volumeType: item[\"volumeType\"],\n dataProtection: !item[\"dataProtection\"]\n ? item[\"dataProtection\"]\n : volumePropertiesDataProtectionSerializer(item[\"dataProtection\"]),\n acceptGrowCapacityPoolForShortTermCloneSplit:\n item[\"acceptGrowCapacityPoolForShortTermCloneSplit\"],\n snapshotDirectoryVisible: item[\"snapshotDirectoryVisible\"],\n kerberosEnabled: item[\"kerberosEnabled\"],\n securityStyle: item[\"securityStyle\"],\n smbEncryption: item[\"smbEncryption\"],\n smbAccessBasedEnumeration: item[\"smbAccessBasedEnumeration\"],\n smbNonBrowsable: item[\"smbNonBrowsable\"],\n smbContinuouslyAvailable: item[\"smbContinuouslyAvailable\"],\n throughputMibps: item[\"throughputMibps\"],\n encryptionKeySource: item[\"encryptionKeySource\"],\n keyVaultPrivateEndpointResourceId: item[\"keyVaultPrivateEndpointResourceId\"],\n ldapEnabled: item[\"ldapEnabled\"],\n coolAccess: item[\"coolAccess\"],\n coolnessPeriod: item[\"coolnessPeriod\"],\n coolAccessRetrievalPolicy: item[\"coolAccessRetrievalPolicy\"],\n coolAccessTieringPolicy: item[\"coolAccessTieringPolicy\"],\n unixPermissions: item[\"unixPermissions\"],\n avsDataStore: item[\"avsDataStore\"],\n isDefaultQuotaEnabled: item[\"isDefaultQuotaEnabled\"],\n defaultUserQuotaInKiBs: item[\"defaultUserQuotaInKiBs\"],\n defaultGroupQuotaInKiBs: item[\"defaultGroupQuotaInKiBs\"],\n capacityPoolResourceId: item[\"capacityPoolResourceId\"],\n proximityPlacementGroup: item[\"proximityPlacementGroup\"],\n volumeSpecName: item[\"volumeSpecName\"],\n placementRules: !item[\"placementRules\"]\n ? item[\"placementRules\"]\n : placementKeyValuePairsArraySerializer(item[\"placementRules\"]),\n enableSubvolumes: item[\"enableSubvolumes\"],\n isLargeVolume: item[\"isLargeVolume\"],\n };\n}\n\nexport function volumePropertiesDeserializer(item: any): VolumeProperties {\n return {\n fileSystemId: item[\"fileSystemId\"],\n creationToken: item[\"creationToken\"],\n serviceLevel: item[\"serviceLevel\"],\n usageThreshold: item[\"usageThreshold\"],\n exportPolicy: !item[\"exportPolicy\"]\n ? item[\"exportPolicy\"]\n : volumePropertiesExportPolicyDeserializer(item[\"exportPolicy\"]),\n protocolTypes: !item[\"protocolTypes\"]\n ? item[\"protocolTypes\"]\n : item[\"protocolTypes\"].map((p: any) => {\n return p;\n }),\n provisioningState: item[\"provisioningState\"],\n snapshotId: item[\"snapshotId\"],\n deleteBaseSnapshot: item[\"deleteBaseSnapshot\"],\n backupId: item[\"backupId\"],\n baremetalTenantId: item[\"baremetalTenantId\"],\n subnetId: item[\"subnetId\"],\n networkFeatures: item[\"networkFeatures\"],\n effectiveNetworkFeatures: item[\"effectiveNetworkFeatures\"],\n networkSiblingSetId: item[\"networkSiblingSetId\"],\n storageToNetworkProximity: item[\"storageToNetworkProximity\"],\n mountTargets: !item[\"mountTargets\"]\n ? item[\"mountTargets\"]\n : mountTargetPropertiesArrayDeserializer(item[\"mountTargets\"]),\n volumeType: item[\"volumeType\"],\n dataProtection: !item[\"dataProtection\"]\n ? item[\"dataProtection\"]\n : volumePropertiesDataProtectionDeserializer(item[\"dataProtection\"]),\n acceptGrowCapacityPoolForShortTermCloneSplit:\n item[\"acceptGrowCapacityPoolForShortTermCloneSplit\"],\n isRestoring: item[\"isRestoring\"],\n snapshotDirectoryVisible: item[\"snapshotDirectoryVisible\"],\n kerberosEnabled: item[\"kerberosEnabled\"],\n securityStyle: item[\"securityStyle\"],\n smbEncryption: item[\"smbEncryption\"],\n smbAccessBasedEnumeration: item[\"smbAccessBasedEnumeration\"],\n smbNonBrowsable: item[\"smbNonBrowsable\"],\n smbContinuouslyAvailable: item[\"smbContinuouslyAvailable\"],\n throughputMibps: item[\"throughputMibps\"],\n actualThroughputMibps: item[\"actualThroughputMibps\"],\n encryptionKeySource: item[\"encryptionKeySource\"],\n keyVaultPrivateEndpointResourceId: item[\"keyVaultPrivateEndpointResourceId\"],\n ldapEnabled: item[\"ldapEnabled\"],\n coolAccess: item[\"coolAccess\"],\n coolnessPeriod: item[\"coolnessPeriod\"],\n coolAccessRetrievalPolicy: item[\"coolAccessRetrievalPolicy\"],\n coolAccessTieringPolicy: item[\"coolAccessTieringPolicy\"],\n unixPermissions: item[\"unixPermissions\"],\n cloneProgress: item[\"cloneProgress\"],\n fileAccessLogs: item[\"fileAccessLogs\"],\n avsDataStore: item[\"avsDataStore\"],\n dataStoreResourceId: !item[\"dataStoreResourceId\"]\n ? item[\"dataStoreResourceId\"]\n : item[\"dataStoreResourceId\"].map((p: any) => {\n return p;\n }),\n isDefaultQuotaEnabled: item[\"isDefaultQuotaEnabled\"],\n defaultUserQuotaInKiBs: item[\"defaultUserQuotaInKiBs\"],\n defaultGroupQuotaInKiBs: item[\"defaultGroupQuotaInKiBs\"],\n maximumNumberOfFiles: item[\"maximumNumberOfFiles\"],\n volumeGroupName: item[\"volumeGroupName\"],\n capacityPoolResourceId: item[\"capacityPoolResourceId\"],\n proximityPlacementGroup: item[\"proximityPlacementGroup\"],\n t2Network: item[\"t2Network\"],\n volumeSpecName: item[\"volumeSpecName\"],\n encrypted: item[\"encrypted\"],\n placementRules: !item[\"placementRules\"]\n ? item[\"placementRules\"]\n : placementKeyValuePairsArrayDeserializer(item[\"placementRules\"]),\n enableSubvolumes: item[\"enableSubvolumes\"],\n provisionedAvailabilityZone: item[\"provisionedAvailabilityZone\"],\n isLargeVolume: item[\"isLargeVolume\"],\n originatingResourceId: item[\"originatingResourceId\"],\n inheritedSizeInBytes: item[\"inheritedSizeInBytes\"],\n };\n}\n\n/** The service level of the file system */\nexport enum KnownServiceLevel {\n /** Standard service level */\n Standard = \"Standard\",\n /** Premium service level */\n Premium = \"Premium\",\n /** Ultra service level */\n Ultra = \"Ultra\",\n /** Zone redundant storage service level. This will be deprecated soon. */\n StandardZRS = \"StandardZRS\",\n /** Flexible service level */\n Flexible = \"Flexible\",\n}\n\n/**\n * The service level of the file system \\\n * {@link KnownServiceLevel} can be used interchangeably with ServiceLevel,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Standard**: Standard service level \\\n * **Premium**: Premium service level \\\n * **Ultra**: Ultra service level \\\n * **StandardZRS**: Zone redundant storage service level. This will be deprecated soon. \\\n * **Flexible**: Flexible service level\n */\nexport type ServiceLevel = string;\n\n/** Set of export policy rules */\nexport interface VolumePropertiesExportPolicy {\n /** Export policy rule */\n rules?: ExportPolicyRule[];\n}\n\nexport function volumePropertiesExportPolicySerializer(item: VolumePropertiesExportPolicy): any {\n return { rules: !item[\"rules\"] ? item[\"rules\"] : exportPolicyRuleArraySerializer(item[\"rules\"]) };\n}\n\nexport function volumePropertiesExportPolicyDeserializer(item: any): VolumePropertiesExportPolicy {\n return {\n rules: !item[\"rules\"] ? item[\"rules\"] : exportPolicyRuleArrayDeserializer(item[\"rules\"]),\n };\n}\n\nexport function exportPolicyRuleArraySerializer(result: Array<ExportPolicyRule>): any[] {\n return result.map((item) => {\n return exportPolicyRuleSerializer(item);\n });\n}\n\nexport function exportPolicyRuleArrayDeserializer(result: Array<ExportPolicyRule>): any[] {\n return result.map((item) => {\n return exportPolicyRuleDeserializer(item);\n });\n}\n\n/** Volume Export Policy Rule */\nexport interface ExportPolicyRule {\n /** Order index */\n ruleIndex?: number;\n /** Read only access */\n unixReadOnly?: boolean;\n /** Read and write access */\n unixReadWrite?: boolean;\n /** Kerberos5 Read only access. To be use with swagger version 2020-05-01 or later */\n kerberos5ReadOnly?: boolean;\n /** Kerberos5 Read and write access. To be use with swagger version 2020-05-01 or later */\n kerberos5ReadWrite?: boolean;\n /** Kerberos5i Read only access. To be use with swagger version 2020-05-01 or later */\n kerberos5IReadOnly?: boolean;\n /** Kerberos5i Read and write access. To be use with swagger version 2020-05-01 or later */\n kerberos5IReadWrite?: boolean;\n /** Kerberos5p Read only access. To be use with swagger version 2020-05-01 or later */\n kerberos5PReadOnly?: boolean;\n /** Kerberos5p Read and write access. To be use with swagger version 2020-05-01 or later */\n kerberos5PReadWrite?: boolean;\n /** Allows CIFS protocol */\n cifs?: boolean;\n /** Allows NFSv3 protocol. Enable only for NFSv3 type volumes */\n nfsv3?: boolean;\n /** Allows NFSv4.1 protocol. Enable only for NFSv4.1 type volumes */\n nfsv41?: boolean;\n /** Client ingress specification as comma separated string with IPv4 CIDRs, IPv4 host addresses and host names */\n allowedClients?: string;\n /** Has root access to volume */\n hasRootAccess?: boolean;\n /** This parameter specifies who is authorized to change the ownership of a file. restricted - Only root user can change the ownership of the file. unrestricted - Non-root users can change ownership of files that they own. */\n chownMode?: ChownMode;\n}\n\nexport function exportPolicyRuleSerializer(item: ExportPolicyRule): any {\n return {\n ruleIndex: item[\"ruleIndex\"],\n unixReadOnly: item[\"unixReadOnly\"],\n unixReadWrite: item[\"unixReadWrite\"],\n kerberos5ReadOnly: item[\"kerberos5ReadOnly\"],\n kerberos5ReadWrite: item[\"kerberos5ReadWrite\"],\n kerberos5iReadOnly: item[\"kerberos5IReadOnly\"],\n kerberos5iReadWrite: item[\"kerberos5IReadWrite\"],\n kerberos5pReadOnly: item[\"kerberos5PReadOnly\"],\n kerberos5pReadWrite: item[\"kerberos5PReadWrite\"],\n cifs: item[\"cifs\"],\n nfsv3: item[\"nfsv3\"],\n nfsv41: item[\"nfsv41\"],\n allowedClients: item[\"allowedClients\"],\n hasRootAccess: item[\"hasRootAccess\"],\n chownMode: item[\"chownMode\"],\n };\n}\n\nexport function exportPolicyRuleDeserializer(item: any): ExportPolicyRule {\n return {\n ruleIndex: item[\"ruleIndex\"],\n unixReadOnly: item[\"unixReadOnly\"],\n unixReadWrite: item[\"unixReadWrite\"],\n kerberos5ReadOnly: item[\"kerberos5ReadOnly\"],\n kerberos5ReadWrite: item[\"kerberos5ReadWrite\"],\n kerberos5IReadOnly: item[\"kerberos5iReadOnly\"],\n kerberos5IReadWrite: item[\"kerberos5iReadWrite\"],\n kerberos5PReadOnly: item[\"kerberos5pReadOnly\"],\n kerberos5PReadWrite: item[\"kerberos5pReadWrite\"],\n cifs: item[\"cifs\"],\n nfsv3: item[\"nfsv3\"],\n nfsv41: item[\"nfsv41\"],\n allowedClients: item[\"allowedClients\"],\n hasRootAccess: item[\"hasRootAccess\"],\n chownMode: item[\"chownMode\"],\n };\n}\n\n/** This parameter specifies who is authorized to change the ownership of a file. restricted - Only root user can change the ownership of the file. unrestricted - Non-root users can change ownership of files that they own. */\nexport enum KnownChownMode {\n /** Restricted */\n Restricted = \"Restricted\",\n /** Unrestricted */\n Unrestricted = \"Unrestricted\",\n}\n\n/**\n * This parameter specifies who is authorized to change the ownership of a file. restricted - Only root user can change the ownership of the file. unrestricted - Non-root users can change ownership of files that they own. \\\n * {@link KnownChownMode} can be used interchangeably with ChownMode,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Restricted** \\\n * **Unrestricted**\n */\nexport type ChownMode = string;\n\n/** Network features available to the volume, or current state of update. */\nexport enum KnownNetworkFeatures {\n /** Basic network features. */\n Basic = \"Basic\",\n /** Standard network features. */\n Standard = \"Standard\",\n /** Updating from Basic to Standard network features. */\n BasicStandard = \"Basic_Standard\",\n /** Updating from Standard to Basic network features. */\n StandardBasic = \"Standard_Basic\",\n}\n\n/**\n * Network features available to the volume, or current state of update. \\\n * {@link KnownNetworkFeatures} can be used interchangeably with NetworkFeatures,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Basic**: Basic network features. \\\n * **Standard**: Standard network features. \\\n * **Basic_Standard**: Updating from Basic to Standard network features. \\\n * **Standard_Basic**: Updating from Standard to Basic network features.\n */\nexport type NetworkFeatures = string;\n\n/** Provides storage to network proximity information for the volume. */\nexport enum KnownVolumeStorageToNetworkProximity {\n /** Basic storage to network connectivity. */\n Default = \"Default\",\n /** Standard T1 storage to network connectivity. */\n T1 = \"T1\",\n /** Standard T2 storage to network connectivity. */\n T2 = \"T2\",\n /** Standard AcrossT2 storage to network connectivity. */\n AcrossT2 = \"AcrossT2\",\n}\n\n/**\n * Provides storage to network proximity information for the volume. \\\n * {@link KnownVolumeStorageToNetworkProximity} can be used interchangeably with VolumeStorageToNetworkProximity,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Default**: Basic storage to network connectivity. \\\n * **T1**: Standard T1 storage to network connectivity. \\\n * **T2**: Standard T2 storage to network connectivity. \\\n * **AcrossT2**: Standard AcrossT2 storage to network connectivity.\n */\nexport type VolumeStorageToNetworkProximity = string;\n\nexport function mountTargetPropertiesArrayDeserializer(\n result: Array<MountTargetProperties>,\n): any[] {\n return result.map((item) => {\n return mountTargetPropertiesDeserializer(item);\n });\n}\n\n/** Mount target properties */\nexport interface MountTargetProperties {\n /** UUID v4 used to identify the MountTarget */\n readonly mountTargetId?: string;\n /** UUID v4 used to identify the MountTarget */\n fileSystemId: string;\n /** The mount target's IPv4 address */\n readonly ipAddress?: string;\n /** The SMB server's Fully Qualified Domain Name, FQDN */\n smbServerFqdn?: string;\n}\n\nexport function mountTargetPropertiesDeserializer(item: any): MountTargetProperties {\n return {\n mountTargetId: item[\"mountTargetId\"],\n fileSystemId: item[\"fileSystemId\"],\n ipAddress: item[\"ipAddress\"],\n smbServerFqdn: item[\"smbServerFqdn\"],\n };\n}\n\n/** DataProtection type volumes include an object containing details of the replication */\nexport interface VolumePropertiesDataProtection {\n /** Backup Properties */\n backup?: VolumeBackupProperties;\n /** Replication properties */\n replication?: ReplicationObject;\n /** Snapshot properties. */\n snapshot?: VolumeSnapshotProperties;\n /** VolumeRelocation properties */\n volumeRelocation?: VolumeRelocationProperties;\n /** Advanced Ransomware Protection settings */\n ransomwareProtection?: RansomwareProtectionSettings;\n}\n\nexport function volumePropertiesDataProtectionSerializer(\n item: VolumePropertiesDataProtection,\n): any {\n return {\n backup: !item[\"backup\"] ? item[\"backup\"] : volumeBackupPropertiesSerializer(item[\"backup\"]),\n replication: !item[\"replication\"]\n ? item[\"replication\"]\n : replicationObjectSerializer(item[\"replication\"]),\n snapshot: !item[\"snapshot\"]\n ? item[\"snapshot\"]\n : volumeSnapshotPropertiesSerializer(item[\"snapshot\"]),\n volumeRelocation: !item[\"volumeRelocation\"]\n ? item[\"volumeRelocation\"]\n : volumeRelocationPropertiesSerializer(item[\"volumeRelocation\"]),\n ransomwareProtection: !item[\"ransomwareProtection\"]\n ? item[\"ransomwareProtection\"]\n : ransomwareProtectionSettingsSerializer(item[\"ransomwareProtection\"]),\n };\n}\n\nexport function volumePropertiesDataProtectionDeserializer(\n item: any,\n): VolumePropertiesDataProtection {\n return {\n backup: !item[\"backup\"] ? item[\"backup\"] : volumeBackupPropertiesDeserializer(item[\"backup\"]),\n replication: !item[\"replication\"]\n ? item[\"replication\"]\n : replicationObjectDeserializer(item[\"replication\"]),\n snapshot: !item[\"snapshot\"]\n ? item[\"snapshot\"]\n : volumeSnapshotPropertiesDeserializer(item[\"snapshot\"]),\n volumeRelocation: !item[\"volumeRelocation\"]\n ? item[\"volumeRelocation\"]\n : volumeRelocationPropertiesDeserializer(item[\"volumeRelocation\"]),\n ransomwareProtection: !item[\"ransomwareProtection\"]\n ? item[\"ransomwareProtection\"]\n : ransomwareProtectionSettingsDeserializer(item[\"ransomwareProtection\"]),\n };\n}\n\n/** Volume Backup Properties */\nexport interface VolumeBackupProperties {\n /** Backup Policy Resource ID */\n backupPolicyId?: string;\n /** Policy Enforced */\n policyEnforced?: boolean;\n /** Backup Vault Resource ID */\n backupVaultId?: string;\n}\n\nexport function volumeBackupPropertiesSerializer(item: VolumeBackupProperties): any {\n return {\n backupPolicyId: item[\"backupPolicyId\"],\n policyEnforced: item[\"policyEnforced\"],\n backupVaultId: item[\"backupVaultId\"],\n };\n}\n\nexport function volumeBackupPropertiesDeserializer(item: any): VolumeBackupProperties {\n return {\n backupPolicyId: item[\"backupPolicyId\"],\n policyEnforced: item[\"policyEnforced\"],\n backupVaultId: item[\"backupVaultId\"],\n };\n}\n\n/** Replication properties */\nexport interface ReplicationObject {\n /** Id */\n readonly replicationId?: string;\n /** Indicates whether the local volume is the source or destination for the Volume Replication */\n readonly endpointType?: EndpointType;\n /** Schedule */\n replicationSchedule?: ReplicationSchedule;\n /** The resource ID of the remote volume. Required for cross region and cross zone replication */\n remoteVolumeResourceId?: string;\n /** The full path to a volume that is to be migrated into ANF. Required for Migration volumes */\n remotePath?: RemotePath;\n /** The remote region for the other end of the Volume Replication. */\n remoteVolumeRegion?: string;\n /** A list of destination replications */\n readonly destinationReplications?: DestinationReplication[];\n}\n\nexport function replicationObjectSerializer(item: ReplicationObject): any {\n return {\n replicationSchedule: item[\"replicationSchedule\"],\n remoteVolumeResourceId: item[\"remoteVolumeResourceId\"],\n remotePath: !item[\"remotePath\"] ? item[\"remotePath\"] : remotePathSerializer(item[\"remotePath\"]),\n remoteVolumeRegion: item[\"remoteVolumeRegion\"],\n };\n}\n\nexport function replicationObjectDeserializer(item: any): ReplicationObject {\n return {\n replicationId: item[\"replicationId\"],\n endpointType: item[\"endpointType\"],\n replicationSchedule: item[\"replicationSchedule\"],\n remoteVolumeResourceId: item[\"remoteVolumeResourceId\"],\n remotePath: !item[\"remotePath\"]\n ? item[\"remotePath\"]\n : remotePathDeserializer(item[\"remotePath\"]),\n remoteVolumeRegion: item[\"remoteVolumeRegion\"],\n destinationReplications: !item[\"destinationReplications\"]\n ? item[\"destinationReplications\"]\n : destinationReplicationArrayDeserializer(item[\"destinationReplications\"]),\n };\n}\n\n/** Indicates whether the local volume is the source or destination for the Volume Replication */\nexport enum KnownEndpointType {\n /** src */\n Src = \"src\",\n /** dst */\n Dst = \"dst\",\n}\n\n/**\n * Indicates whether the local volume is the source or destination for the Volume Replication \\\n * {@link KnownEndpointType} can be used interchangeably with EndpointType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **src** \\\n * **dst**\n */\nexport type EndpointType = string;\n\n/** Schedule */\nexport enum KnownReplicationSchedule {\n /** _10minutely */\n \"10Minutely\" = \"_10minutely\",\n /** hourly */\n Hourly = \"hourly\",\n /** daily */\n Daily = \"daily\",\n}\n\n/**\n * Schedule \\\n * {@link KnownReplicationSchedule} can be used interchangeably with ReplicationSchedule,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **_10minutely** \\\n * **hourly** \\\n * **daily**\n */\nexport type ReplicationSchedule = string;\n\n/** The full path to a volume that is to be migrated into ANF. Required for Migration volumes */\nexport interface RemotePath {\n /** The Path to a ONTAP Host */\n externalHostName: string;\n /** The name of a server on the ONTAP Host */\n serverName: string;\n /** The name of a volume on the server */\n volumeName: string;\n}\n\nexport function remotePathSerializer(item: RemotePath): any {\n return {\n externalHostName: item[\"externalHostName\"],\n serverName: item[\"serverName\"],\n volumeName: item[\"volumeName\"],\n };\n}\n\nexport function remotePathDeserializer(item: any): RemotePath {\n return {\n externalHostName: item[\"externalHostName\"],\n serverName: item[\"serverName\"],\n volumeName: item[\"volumeName\"],\n };\n}\n\nexport function destinationReplicationArrayDeserializer(\n result: Array<DestinationReplication>,\n): any[] {\n return result.map((item) => {\n return destinationReplicationDeserializer(item);\n });\n}\n\n/** Destination replication properties */\nexport interface DestinationReplication {\n /** The resource ID of the remote volume */\n resourceId?: string;\n /** Indicates whether the replication is cross zone or cross region. */\n replicationType?: ReplicationType;\n /** The remote region for the destination volume. */\n region?: string;\n /** The remote zone for the destination volume. */\n zone?: string;\n}\n\nexport function destinationReplicationDeserializer(item: any): DestinationReplication {\n return {\n resourceId: item[\"resourceId\"],\n replicationType: item[\"replicationType\"],\n region: item[\"region\"],\n zone: item[\"zone\"],\n };\n}\n\n/** Indicates whether the replication is cross zone or cross region. */\nexport enum KnownReplicationType {\n /** Cross region replication */\n CrossRegionReplication = \"CrossRegionReplication\",\n /** Cross zone replication */\n CrossZoneReplication = \"CrossZoneReplication\",\n}\n\n/**\n * Indicates whether the replication is cross zone or cross region. \\\n * {@link KnownReplicationType} can be used interchangeably with ReplicationType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **CrossRegionReplication**: Cross region replication \\\n * **CrossZoneReplication**: Cross zone replication\n */\nexport type ReplicationType = string;\n\n/** Volume Snapshot Properties */\nexport interface VolumeSnapshotProperties {\n /** Snapshot Policy ResourceId */\n snapshotPolicyId?: string;\n}\n\nexport function volumeSnapshotPropertiesSerializer(item: VolumeSnapshotProperties): any {\n return { snapshotPolicyId: item[\"snapshotPolicyId\"] };\n}\n\nexport function volumeSnapshotPropertiesDeserializer(item: any): VolumeSnapshotProperties {\n return {\n snapshotPolicyId: item[\"snapshotPolicyId\"],\n };\n}\n\n/** Volume relocation properties */\nexport interface VolumeRelocationProperties {\n /** Has relocation been requested for this volume */\n relocationRequested?: boolean;\n /** Has relocation finished and is ready to be cleaned up */\n readonly readyToBeFinalized?: boolean;\n}\n\nexport function volumeRelocationPropertiesSerializer(item: VolumeRelocationProperties): any {\n return { relocationRequested: item[\"relocationRequested\"] };\n}\n\nexport function volumeRelocationPropertiesDeserializer(item: any): VolumeRelocationProperties {\n return {\n relocationRequested: item[\"relocationRequested\"],\n readyToBeFinalized: item[\"readyToBeFinalized\"],\n };\n}\n\n/** Advanced Ransomware Protection reports (ARP) settings */\nexport interface RansomwareProtectionSettings {\n /** The desired value of the Advanced Ransomware Protection feature state available to the volume */\n desiredRansomwareProtectionState?: DesiredRansomwareProtectionState;\n /** The actual state of the Advanced Ransomware Protection feature currently active on the volume */\n readonly actualRansomwareProtectionState?: ActualRansomwareProtectionState;\n}\n\nexport function ransomwareProtectionSettingsSerializer(item: RansomwareProtectionSettings): any {\n return { desiredRansomwareProtectionState: item[\"desiredRansomwareProtectionState\"] };\n}\n\nexport function ransomwareProtectionSettingsDeserializer(item: any): RansomwareProtectionSettings {\n return {\n desiredRansomwareProtectionState: item[\"desiredRansomwareProtectionState\"],\n actualRansomwareProtectionState: item[\"actualRansomwareProtectionState\"],\n };\n}\n\n/** The desired state of the Advanced Ransomware Protection feature */\nexport enum KnownDesiredRansomwareProtectionState {\n /** Advanced Ransomware Protection is disabled */\n Disabled = \"Disabled\",\n /** Advanced Ransomware Protection is enabled */\n Enabled = \"Enabled\",\n}\n\n/**\n * The desired state of the Advanced Ransomware Protection feature \\\n * {@link KnownDesiredRansomwareProtectionState} can be used interchangeably with DesiredRansomwareProtectionState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Disabled**: Advanced Ransomware Protection is disabled \\\n * **Enabled**: Advanced Ransomware Protection is enabled\n */\nexport type DesiredRansomwareProtectionState = string;\n\n/** The actual state of the Advanced Ransomware Protection feature */\nexport enum KnownActualRansomwareProtectionState {\n /** Advanced Ransomware Protection is disabled */\n Disabled = \"Disabled\",\n /** Advanced Ransomware Protection is enabled */\n Enabled = \"Enabled\",\n /** Advanced Ransomware Protection is in learning mode */\n Learning = \"Learning\",\n /** Advanced Ransomware Protection is in paused state */\n Paused = \"Paused\",\n}\n\n/**\n * The actual state of the Advanced Ransomware Protection feature \\\n * {@link KnownActualRansomwareProtectionState} can be used interchangeably with ActualRansomwareProtectionState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Disabled**: Advanced Ransomware Protection is disabled \\\n * **Enabled**: Advanced Ransomware Protection is enabled \\\n * **Learning**: Advanced Ransomware Protection is in learning mode \\\n * **Paused**: Advanced Ransomware Protection is in paused state\n */\nexport type ActualRansomwareProtectionState = string;\n\n/** While auto splitting the short term clone volume, if the parent pool does not have enough space to accommodate the volume after split, it will be automatically resized, which will lead to increased billing. To accept capacity pool size auto grow and create a short term clone volume, set the property as accepted. */\nexport enum KnownAcceptGrowCapacityPoolForShortTermCloneSplit {\n /** Auto grow capacity pool for short term clone split is accepted. */\n Accepted = \"Accepted\",\n /** Auto grow capacity pool for short term clone split is declined. Short term clone volume creation will not be allowed, to create short term clone volume accept auto grow capacity pool. */\n Declined = \"Declined\",\n}\n\n/**\n * While auto splitting the short term clone volume, if the parent pool does not have enough space to accommodate the volume after split, it will be automatically resized, which will lead to increased billing. To accept capacity pool size auto grow and create a short term clone volume, set the property as accepted. \\\n * {@link KnownAcceptGrowCapacityPoolForShortTermCloneSplit} can be used interchangeably with AcceptGrowCapacityPoolForShortTermCloneSplit,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Accepted**: Auto grow capacity pool for short term clone split is accepted. \\\n * **Declined**: Auto grow capacity pool for short term clone split is declined. Short term clone volume creation will not be allowed, to create short term clone volume accept auto grow capacity pool.\n */\nexport type AcceptGrowCapacityPoolForShortTermCloneSplit = string;\n\n/** The security style of volume, default unix, defaults to ntfs for dual protocol or CIFS protocol */\nexport enum KnownSecurityStyle {\n /** ntfs */\n Ntfs = \"ntfs\",\n /** unix */\n Unix = \"unix\",\n}\n\n/**\n * The security style of volume, default unix, defaults to ntfs for dual protocol or CIFS protocol \\\n * {@link KnownSecurityStyle} can be used interchangeably with SecurityStyle,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **ntfs** \\\n * **unix**\n */\nexport type SecurityStyle = string;\n\n/** Enables access-based enumeration share property for SMB Shares. Only applicable for SMB/DualProtocol volume */\nexport enum KnownSmbAccessBasedEnumeration {\n /** smbAccessBasedEnumeration share setting is disabled */\n Disabled = \"Disabled\",\n /** smbAccessBasedEnumeration share setting is enabled */\n Enabled = \"Enabled\",\n}\n\n/**\n * Enables access-based enumeration share property for SMB Shares. Only applicable for SMB/DualProtocol volume \\\n * {@link KnownSmbAccessBasedEnumeration} can be used interchangeably with SmbAccessBasedEnumeration,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Disabled**: smbAccessBasedEnumeration share setting is disabled \\\n * **Enabled**: smbAccessBasedEnumeration share setting is enabled\n */\nexport type SmbAccessBasedEnumeration = string;\n\n/** Enables non-browsable property for SMB Shares. Only applicable for SMB/DualProtocol volume */\nexport enum KnownSmbNonBrowsable {\n /** smbNonBrowsable share setting is disabled */\n Disabled = \"Disabled\",\n /** smbNonBrowsable share setting is enabled */\n Enabled = \"Enabled\",\n}\n\n/**\n * Enables non-browsable property for SMB Shares. Only applicable for SMB/DualProtocol volume \\\n * {@link KnownSmbNonBrowsable} can be used interchangeably with SmbNonBrowsable,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Disabled**: smbNonBrowsable share setting is disabled \\\n * **Enabled**: smbNonBrowsable share setting is enabled\n */\nexport type SmbNonBrowsable = string;\n\n/** Source of key used to encrypt data in volume. Applicable if NetApp account has encryption.keySource = 'Microsoft.KeyVault'. Possible values (case-insensitive) are: 'Microsoft.NetApp, Microsoft.KeyVault' */\nexport enum KnownEncryptionKeySource {\n /** Microsoft-managed key encryption */\n MicrosoftNetApp = \"Microsoft.NetApp\",\n /** Customer-managed key encryption */\n MicrosoftKeyVault = \"Microsoft.KeyVault\",\n}\n\n/**\n * Source of key used to encrypt data in volume. Applicable if NetApp account has encryption.keySource = 'Microsoft.KeyVault'. Possible values (case-insensitive) are: 'Microsoft.NetApp, Microsoft.KeyVault' \\\n * {@link KnownEncryptionKeySource} can be used interchangeably with EncryptionKeySource,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Microsoft.NetApp**: Microsoft-managed key encryption \\\n * **Microsoft.KeyVault**: Customer-managed key encryption\n */\nexport type EncryptionKeySource = string;\n\n/**\n * coolAccessRetrievalPolicy determines the data retrieval behavior from the cool tier to standard storage based on the read pattern for cool access enabled volumes. The possible values for this field are:\n * Default - Data will be pulled from cool tier to standard storage on random reads. This policy is the default.\n * OnRead - All client-driven data read is pulled from cool tier to standard storage on both sequential and random reads.\n * Never - No client-driven data is pulled from cool tier to standard storage.\n */\nexport enum KnownCoolAccessRetrievalPolicy {\n /** Default */\n Default = \"Default\",\n /** OnRead */\n OnRead = \"OnRead\",\n /** Never */\n Never = \"Never\",\n}\n\n/**\n * coolAccessRetrievalPolicy determines the data retrieval behavior from the cool tier to standard storage based on the read pattern for cool access enabled volumes. The possible values for this field are:\n * Default - Data will be pulled from cool tier to standard storage on random reads. This policy is the default.\n * OnRead - All client-driven data read is pulled from cool tier to standard storage on both sequential and random reads.\n * Never - No client-driven data is pulled from cool tier to standard storage. \\\n * {@link KnownCoolAccessRetrievalPolicy} can be used interchangeably with CoolAccessRetrievalPolicy,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Default** \\\n * **OnRead** \\\n * **Never**\n */\nexport type CoolAccessRetrievalPolicy = string;\n\n/** coolAccessTieringPolicy determines which cold data blocks are moved to cool tier. The possible values for this field are: Auto - Moves cold user data blocks in both the Snapshot copies and the active file system to the cool tier tier. This policy is the default. SnapshotOnly - Moves user data blocks of the Volume Snapshot copies that are not associated with the active file system to the cool tier. */\nexport enum KnownCoolAccessTieringPolicy {\n /** Auto */\n Auto = \"Auto\",\n /** SnapshotOnly */\n SnapshotOnly = \"SnapshotOnly\",\n}\n\n/**\n * coolAccessTieringPolicy determines which cold data blocks are moved to cool tier. The possible values for this field are: Auto - Moves cold user data blocks in both the Snapshot copies and the active file system to the cool tier tier. This policy is the default. SnapshotOnly - Moves user data blocks of the Volume Snapshot copies that are not associated with the active file system to the cool tier. \\\n * {@link KnownCoolAccessTieringPolicy} can be used interchangeably with CoolAccessTieringPolicy,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Auto** \\\n * **SnapshotOnly**\n */\nexport type CoolAccessTieringPolicy = string;\n\n/** Flag indicating whether file access logs are enabled for the volume, based on active diagnostic settings present on the volume. */\nexport enum KnownFileAccessLogs {\n /** fileAccessLogs are enabled */\n Enabled = \"Enabled\",\n /** fileAccessLogs are not enabled */\n Disabled = \"Disabled\",\n}\n\n/**\n * Flag indicating whether file access logs are enabled for the volume, based on active diagnostic settings present on the volume. \\\n * {@link KnownFileAccessLogs} can be used interchangeably with FileAccessLogs,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enabled**: fileAccessLogs are enabled \\\n * **Disabled**: fileAccessLogs are not enabled\n */\nexport type FileAccessLogs = string;\n\n/** Specifies whether the volume is enabled for Azure VMware Solution (AVS) datastore purpose */\nexport enum KnownAvsDataStore {\n /** avsDataStore is enabled */\n Enabled = \"Enabled\",\n /** avsDataStore is disabled */\n Disabled = \"Disabled\",\n}\n\n/**\n * Specifies whether the volume is enabled for Azure VMware Solution (AVS) datastore purpose \\\n * {@link KnownAvsDataStore} can be used interchangeably with AvsDataStore,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enabled**: avsDataStore is enabled \\\n * **Disabled**: avsDataStore is disabled\n */\nexport type AvsDataStore = string;\n\n/** Flag indicating whether subvolume operations are enabled on the volume */\nexport enum KnownEnableSubvolumes {\n /** subvolumes are enabled */\n Enabled = \"Enabled\",\n /** subvolumes are not enabled */\n Disabled = \"Disabled\",\n}\n\n/**\n * Flag indicating whether subvolume operations are enabled on the volume \\\n * {@link KnownEnableSubvolumes} can be used interchangeably with EnableSubvolumes,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enabled**: subvolumes are enabled \\\n * **Disabled**: subvolumes are not enabled\n */\nexport type EnableSubvolumes = string;\n\n/** List of volume group resources */\nexport interface _VolumeGroupList {\n /** The VolumeGroup items on this page */\n value: VolumeGroup[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _volumeGroupListDeserializer(item: any): _VolumeGroupList {\n return {\n value: volumeGroupArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function volumeGroupArrayDeserializer(result: Array<VolumeGroup>): any[] {\n return result.map((item) => {\n return volumeGroupDeserializer(item);\n });\n}\n\n/** Volume group resource */\nexport interface VolumeGroup {\n /** Resource location */\n location?: string;\n /** Resource Id */\n readonly id?: string;\n /** Resource name */\n readonly name?: string;\n /** Resource type */\n readonly type?: string;\n /** Volume group properties */\n properties?: VolumeGroupListProperties;\n}\n\nexport function volumeGroupDeserializer(item: any): VolumeGroup {\n return {\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : volumeGroupListPropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** Volume group properties */\nexport interface VolumeGroupListProperties {\n /** Azure lifecycle management */\n readonly provisioningState?: string;\n /** Volume group details */\n groupMetaData?: VolumeGroupMetaData;\n}\n\nexport function volumeGroupListPropertiesDeserializer(item: any): VolumeGroupListProperties {\n return {\n provisioningState: item[\"provisioningState\"],\n groupMetaData: !item[\"groupMetaData\"]\n ? item[\"groupMetaData\"]\n : volumeGroupMetaDataDeserializer(item[\"groupMetaData\"]),\n };\n}\n\n/** Backup under a Backup Vault */\nexport interface Backup extends ProxyResource {\n /** Backup Properties */\n properties: BackupProperties;\n}\n\nexport function backupSerializer(item: Backup): any {\n return { properties: backupPropertiesSerializer(item[\"properties\"]) };\n}\n\nexport function backupDeserializer(item: any): Backup {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: backupPropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** Backup properties */\nexport interface BackupProperties {\n /** UUID v4 used to identify the Backup */\n readonly backupId?: string;\n /** The creation date of the backup */\n readonly creationDate?: Date;\n /** The snapshot creation date of the backup */\n readonly snapshotCreationDate?: Date | null;\n /** The completion date of the backup */\n readonly completionDate?: Date | null;\n /** Azure lifecycle management */\n readonly provisioningState?: string;\n /** Size of backup in bytes */\n readonly size?: number;\n /** Label for backup */\n label?: string;\n /** Type of backup Manual or Scheduled */\n readonly backupType?: BackupType;\n /** Failure reason */\n readonly failureReason?: string;\n /** ResourceId used to identify the Volume */\n volumeResourceId: string;\n /** Manual backup an already existing snapshot. This will always be false for scheduled backups and true/false for manual backups */\n useExistingSnapshot?: boolean;\n /** The name of the snapshot */\n snapshotName?: string;\n /** ResourceId used to identify the backup policy */\n readonly backupPolicyResourceId?: string;\n /** Specifies if the backup is for a large volume. */\n readonly isLargeVolume?: boolean;\n}\n\nexport function backupPropertiesSerializer(item: BackupProperties): any {\n return {\n label: item[\"label\"],\n volumeResourceId: item[\"volumeResourceId\"],\n useExistingSnapshot: item[\"useExistingSnapshot\"],\n snapshotName: item[\"snapshotName\"],\n };\n}\n\nexport function backupPropertiesDeserializer(item: any): BackupProperties {\n return {\n backupId: item[\"backupId\"],\n creationDate: !item[\"creationDate\"] ? item[\"creationDate\"] : new Date(item[\"creationDate\"]),\n snapshotCreationDate: !item[\"snapshotCreationDate\"]\n ? item[\"snapshotCreationDate\"]\n : new Date(item[\"snapshotCreationDate\"]),\n completionDate: !item[\"completionDate\"]\n ? item[\"completionDate\"]\n : new Date(item[\"completionDate\"]),\n provisioningState: item[\"provisioningState\"],\n size: item[\"size\"],\n label: item[\"label\"],\n backupType: item[\"backupType\"],\n failureReason: item[\"failureReason\"],\n volumeResourceId: item[\"volumeResourceId\"],\n useExistingSnapshot: item[\"useExistingSnapshot\"],\n snapshotName: item[\"snapshotName\"],\n backupPolicyResourceId: item[\"backupPolicyResourceId\"],\n isLargeVolume: item[\"isLargeVolume\"],\n };\n}\n\n/** Type of backup Manual or Scheduled */\nexport enum KnownBackupType {\n /** Manual backup */\n Manual = \"Manual\",\n /** Scheduled backup */\n Scheduled = \"Scheduled\",\n}\n\n/**\n * Type of backup Manual or Scheduled \\\n * {@link KnownBackupType} can be used interchangeably with BackupType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Manual**: Manual backup \\\n * **Scheduled**: Scheduled backup\n */\nexport type BackupType = string;\n\n/** Backup patch */\nexport interface BackupPatch {\n /** Backup Patch Properties */\n properties?: BackupPatchProperties;\n}\n\nexport function backupPatchSerializer(item: BackupPatch): any {\n return {\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : backupPatchPropertiesSerializer(item[\"properties\"]),\n };\n}\n\n/** Backup patch properties */\nexport interface BackupPatchProperties {\n /** Label for backup */\n label?: string;\n}\n\nexport function backupPatchPropertiesSerializer(item: BackupPatchProperties): any {\n return { label: item[\"label\"] };\n}\n\n/** List of Backups */\nexport interface _BackupsList {\n /** The Backup items on this page */\n value: Backup[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _backupsListDeserializer(item: any): _BackupsList {\n return {\n value: backupArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function backupArraySerializer(result: Array<Backup>): any[] {\n return result.map((item) => {\n return backupSerializer(item);\n });\n}\n\nexport function backupArrayDeserializer(result: Array<Backup>): any[] {\n return result.map((item) => {\n return backupDeserializer(item);\n });\n}\n\n/** Backup status */\nexport interface BackupStatus {\n /** Backup health status */\n readonly healthy?: boolean;\n /** Status of the backup mirror relationship */\n readonly relationshipStatus?: VolumeBackupRelationshipStatus;\n /** The status of the backup */\n readonly mirrorState?: MirrorState;\n /** Reason for the unhealthy backup relationship */\n readonly unhealthyReason?: string;\n /** Displays error message if the backup is in an error state */\n readonly errorMessage?: string;\n /** Displays the last transfer size */\n readonly lastTransferSize?: number;\n /** Displays the last transfer type */\n readonly lastTransferType?: string;\n /** Displays the total bytes transferred */\n readonly totalTransferBytes?: number;\n /** Displays the total number of bytes transferred for the ongoing operation */\n readonly transferProgressBytes?: number;\n}\n\nexport function backupStatusDeserializer(item: any): BackupStatus {\n return {\n healthy: item[\"healthy\"],\n relationshipStatus: item[\"relationshipStatus\"],\n mirrorState: item[\"mirrorState\"],\n unhealthyReason: item[\"unhealthyReason\"],\n errorMessage: item[\"errorMessage\"],\n lastTransferSize: item[\"lastTransferSize\"],\n lastTransferType: item[\"lastTransferType\"],\n totalTransferBytes: item[\"totalTransferBytes\"],\n transferProgressBytes: item[\"transferProgressBytes\"],\n };\n}\n\n/** Status of the volume backup relationship */\nexport enum KnownVolumeBackupRelationshipStatus {\n /** Idle */\n Idle = \"Idle\",\n /** Transferring */\n Transferring = \"Transferring\",\n /** Failed */\n Failed = \"Failed\",\n /** Unknown */\n Unknown = \"Unknown\",\n}\n\n/**\n * Status of the volume backup relationship \\\n * {@link KnownVolumeBackupRelationshipStatus} can be used interchangeably with VolumeBackupRelationshipStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Idle** \\\n * **Transferring** \\\n * **Failed** \\\n * **Unknown**\n */\nexport type VolumeBackupRelationshipStatus = string;\n\n/** The status of the replication */\nexport enum KnownMirrorState {\n /** Uninitialized */\n Uninitialized = \"Uninitialized\",\n /** Mirrored */\n Mirrored = \"Mirrored\",\n /** Broken */\n Broken = \"Broken\",\n}\n\n/**\n * The status of the replication \\\n * {@link KnownMirrorState} can be used interchangeably with MirrorState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Uninitialized** \\\n * **Mirrored** \\\n * **Broken**\n */\nexport type MirrorState = string;\n\n/** Restore status */\nexport interface RestoreStatus {\n /** Restore health status */\n readonly healthy?: boolean;\n /** Status of the restore SnapMirror relationship */\n readonly relationshipStatus?: VolumeRestoreRelationshipStatus;\n /** The status of the restore */\n readonly mirrorState?: MirrorState;\n /** Reason for the unhealthy restore relationship */\n readonly unhealthyReason?: string;\n /** Displays error message if the restore is in an error state */\n readonly errorMessage?: string;\n /** Displays the total bytes transferred */\n readonly totalTransferBytes?: number;\n}\n\nexport function restoreStatusDeserializer(item: any): RestoreStatus {\n return {\n healthy: item[\"healthy\"],\n relationshipStatus: item[\"relationshipStatus\"],\n mirrorState: item[\"mirrorState\"],\n unhealthyReason: item[\"unhealthyReason\"],\n errorMessage: item[\"errorMessage\"],\n totalTransferBytes: item[\"totalTransferBytes\"],\n };\n}\n\n/** Status of the volume restore relationship */\nexport enum KnownVolumeRestoreRelationshipStatus {\n /** Idle */\n Idle = \"Idle\",\n /** Transferring */\n Transferring = \"Transferring\",\n /** Failed */\n Failed = \"Failed\",\n /** Unknown */\n Unknown = \"Unknown\",\n}\n\n/**\n * Status of the volume restore relationship \\\n * {@link KnownVolumeRestoreRelationshipStatus} can be used interchangeably with VolumeRestoreRelationshipStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Idle** \\\n * **Transferring** \\\n * **Failed** \\\n * **Unknown**\n */\nexport type VolumeRestoreRelationshipStatus = string;\n\n/** Volume resource */\nexport interface Volume extends TrackedResource {\n /** Volume properties */\n properties: VolumeProperties;\n /** \"If etag is provided in the response body, it may also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields.\") */\n readonly etag?: string;\n /** The availability zones. */\n zones?: string[];\n}\n\nexport function volumeSerializer(item: Volume): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: volumePropertiesSerializer(item[\"properties\"]),\n zones: !item[\"zones\"]\n ? item[\"zones\"]\n : item[\"zones\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function volumeDeserializer(item: any): Volume {\n return {\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: volumePropertiesDeserializer(item[\"properties\"]),\n etag: item[\"etag\"],\n zones: !item[\"zones\"]\n ? item[\"zones\"]\n : item[\"zones\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location' */\nexport interface TrackedResource extends Resource {\n /** Resource tags. */\n tags?: Record<string, string>;\n /** The geo-location where the resource lives */\n location: string;\n}\n\nexport function trackedResourceSerializer(item: TrackedResource): any {\n return { tags: item[\"tags\"], location: item[\"location\"] };\n}\n\nexport function trackedResourceDeserializer(item: any): TrackedResource {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n location: item[\"location\"],\n };\n}\n\n/** Volume patch resource */\nexport interface VolumePatch {\n /** Resource location */\n location?: string;\n /** Resource Id */\n readonly id?: string;\n /** Resource name */\n readonly name?: string;\n /** Resource type */\n readonly type?: string;\n /** Resource tags */\n tags?: Record<string, string>;\n /** Patchable volume properties */\n properties?: VolumePatchProperties;\n}\n\nexport function volumePatchSerializer(item: VolumePatch): any {\n return {\n location: item[\"location\"],\n tags: item[\"tags\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : volumePatchPropertiesSerializer(item[\"properties\"]),\n };\n}\n\n/** Patchable volume properties */\nexport interface VolumePatchProperties {\n /** The service level of the file system */\n serviceLevel?: ServiceLevel;\n /** Maximum storage quota allowed for a file system in bytes. This is a soft quota used for alerting only. For regular volumes, valid values are in the range 50GiB to 100TiB. For large volumes, valid values are in the range 100TiB to 500TiB, and on an exceptional basis, from to 2400GiB to 2400TiB. Values expressed in bytes as multiples of 1 GiB. */\n usageThreshold?: number;\n /** Set of export policy rules */\n exportPolicy?: VolumePatchPropertiesExportPolicy;\n /** Set of protocol types, default NFSv3, CIFS for SMB protocol */\n protocolTypes?: string[];\n /** Maximum throughput in MiB/s that can be achieved by this volume and this will be accepted as input only for manual qosType volume */\n throughputMibps?: number;\n /** DataProtection type volumes include an object containing details of the replication */\n dataProtection?: VolumePatchPropertiesDataProtection;\n /** Specifies if default quota is enabled for the volume. */\n isDefaultQuotaEnabled?: boolean;\n /** Default user quota for volume in KiBs. If isDefaultQuotaEnabled is set, the minimum value of 4 KiBs applies . */\n defaultUserQuotaInKiBs?: number;\n /** Default group quota for volume in KiBs. If isDefaultQuotaEnabled is set, the minimum value of 4 KiBs applies. */\n defaultGroupQuotaInKiBs?: number;\n /** UNIX permissions for NFS volume accepted in octal 4 digit format. First digit selects the set user ID(4), set group ID (2) and sticky (1) attributes. Second digit selects permission for the owner of the file: read (4), write (2) and execute (1). Third selects permissions for other users in the same group. the fourth for other users not in the group. 0755 - gives read/write/execute permissions to owner and read/execute to group and other users. */\n unixPermissions?: string | null;\n /** Specifies whether Cool Access(tiering) is enabled for the volume. */\n coolAccess?: boolean;\n /** Specifies the number of days after which data that is not accessed by clients will be tiered. */\n coolnessPeriod?: number;\n /**\n * coolAccessRetrievalPolicy determines the data retrieval behavior from the cool tier to standard storage based on the read pattern for cool access enabled volumes. The possible values for this field are:\n * Default - Data will be pulled from cool tier to standard storage on random reads. This policy is the default.\n * OnRead - All client-driven data read is pulled from cool tier to standard storage on both sequential and random reads.\n * Never - No client-driven data is pulled from cool tier to standard storage.\n */\n coolAccessRetrievalPolicy?: CoolAccessRetrievalPolicy;\n /** coolAccessTieringPolicy determines which cold data blocks are moved to cool tier. The possible values for this field are: Auto - Moves cold user data blocks in both the Snapshot copies and the active file system to the cool tier tier. This policy is the default. SnapshotOnly - Moves user data blocks of the Volume Snapshot copies that are not associated with the active file system to the cool tier. */\n coolAccessTieringPolicy?: CoolAccessTieringPolicy;\n /** If enabled (true) the volume will contain a read-only snapshot directory which provides access to each of the volume's snapshots. */\n snapshotDirectoryVisible?: boolean;\n /** Enables access-based enumeration share property for SMB Shares. Only applicable for SMB/DualProtocol volume */\n smbAccessBasedEnumeration?: SmbAccessBasedEnumeration | null;\n /** Enables non-browsable property for SMB Shares. Only applicable for SMB/DualProtocol volume */\n smbNonBrowsable?: SmbNonBrowsable;\n}\n\nexport function volumePatchPropertiesSerializer(item: VolumePatchProperties): any {\n return {\n serviceLevel: item[\"serviceLevel\"],\n usageThreshold: item[\"usageThreshold\"],\n exportPolicy: !item[\"exportPolicy\"]\n ? item[\"exportPolicy\"]\n : volumePatchPropertiesExportPolicySerializer(item[\"exportPolicy\"]),\n protocolTypes: !item[\"protocolTypes\"]\n ? item[\"protocolTypes\"]\n : item[\"protocolTypes\"].map((p: any) => {\n return p;\n }),\n throughputMibps: item[\"throughputMibps\"],\n dataProtection: !item[\"dataProtection\"]\n ? item[\"dataProtection\"]\n : volumePatchPropertiesDataProtectionSerializer(item[\"dataProtection\"]),\n isDefaultQuotaEnabled: item[\"isDefaultQuotaEnabled\"],\n defaultUserQuotaInKiBs: item[\"defaultUserQuotaInKiBs\"],\n defaultGroupQuotaInKiBs: item[\"defaultGroupQuotaInKiBs\"],\n unixPermissions: item[\"unixPermissions\"],\n coolAccess: item[\"coolAccess\"],\n coolnessPeriod: item[\"coolnessPeriod\"],\n coolAccessRetrievalPolicy: item[\"coolAccessRetrievalPolicy\"],\n coolAccessTieringPolicy: item[\"coolAccessTieringPolicy\"],\n snapshotDirectoryVisible: item[\"snapshotDirectoryVisible\"],\n smbAccessBasedEnumeration: item[\"smbAccessBasedEnumeration\"],\n smbNonBrowsable: item[\"smbNonBrowsable\"],\n };\n}\n\n/** Set of export policy rules */\nexport interface VolumePatchPropertiesExportPolicy {\n /** Export policy rule */\n rules?: ExportPolicyRule[];\n}\n\nexport function volumePatchPropertiesExportPolicySerializer(\n item: VolumePatchPropertiesExportPolicy,\n): any {\n return { rules: !item[\"rules\"] ? item[\"rules\"] : exportPolicyRuleArraySerializer(item[\"rules\"]) };\n}\n\n/** DataProtection type volumes include an object containing details of the replication */\nexport interface VolumePatchPropertiesDataProtection {\n /** Backup Properties */\n backup?: VolumeBackupProperties;\n /** Snapshot properties. */\n snapshot?: VolumeSnapshotProperties;\n /** Advanced Ransomware Protection updatable settings */\n ransomwareProtection?: RansomwareProtectionPatchSettings;\n}\n\nexport function volumePatchPropertiesDataProtectionSerializer(\n item: VolumePatchPropertiesDataProtection,\n): any {\n return {\n backup: !item[\"backup\"] ? item[\"backup\"] : volumeBackupPropertiesSerializer(item[\"backup\"]),\n snapshot: !item[\"snapshot\"]\n ? item[\"snapshot\"]\n : volumeSnapshotPropertiesSerializer(item[\"snapshot\"]),\n ransomwareProtection: !item[\"ransomwareProtection\"]\n ? item[\"ransomwareProtection\"]\n : ransomwareProtectionPatchSettingsSerializer(item[\"ransomwareProtection\"]),\n };\n}\n\n/** Advanced Ransomware Protection reports (ARP) updatable settings */\nexport interface RansomwareProtectionPatchSettings {\n /** The desired value of the ARP feature state available to the volume */\n desiredRansomwareProtectionState?: DesiredRansomwareProtectionState;\n}\n\nexport function ransomwareProtectionPatchSettingsSerializer(\n item: RansomwareProtectionPatchSettings,\n): any {\n return { desiredRansomwareProtectionState: item[\"desiredRansomwareProtectionState\"] };\n}\n\n/** List of volume resources */\nexport interface _VolumeList {\n /** The Volume items on this page */\n value: Volume[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _volumeListDeserializer(item: any): _VolumeList {\n return {\n value: volumeArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function volumeArraySerializer(result: Array<Volume>): any[] {\n return result.map((item) => {\n return volumeSerializer(item);\n });\n}\n\nexport function volumeArrayDeserializer(result: Array<Volume>): any[] {\n return result.map((item) => {\n return volumeDeserializer(item);\n });\n}\n\n/** revert a volume to the snapshot */\nexport interface VolumeRevert {\n /** Resource id of the snapshot */\n snapshotId?: string;\n}\n\nexport function volumeRevertSerializer(item: VolumeRevert): any {\n return { snapshotId: item[\"snapshotId\"] };\n}\n\n/** Break file locks request */\nexport interface BreakFileLocksRequest {\n /** To clear file locks on a volume for a particular client */\n clientIp?: string;\n /** Break File locks could be a disruptive operation for application as locks on the volume will be broken, if want to process, set to true. */\n confirmRunningDisruptiveOperation?: boolean;\n}\n\nexport function breakFileLocksRequestSerializer(item: BreakFileLocksRequest): any {\n return {\n clientIp: item[\"clientIp\"],\n confirmRunningDisruptiveOperation: item[\"confirmRunningDisruptiveOperation\"],\n };\n}\n\n/** Get group Id list for LDAP User request */\nexport interface GetGroupIdListForLdapUserRequest {\n /** username is required to fetch the group to which user is part of */\n username: string;\n}\n\nexport function getGroupIdListForLdapUserRequestSerializer(\n item: GetGroupIdListForLdapUserRequest,\n): any {\n return { username: item[\"username\"] };\n}\n\n/** Group Id list for Ldap user */\nexport interface GetGroupIdListForLdapUserResponse {\n /** Group Id list */\n groupIdsForLdapUser?: string[];\n}\n\nexport function getGroupIdListForLdapUserResponseDeserializer(\n item: any,\n): GetGroupIdListForLdapUserResponse {\n return {\n groupIdsForLdapUser: !item[\"groupIdsForLdapUser\"]\n ? item[\"groupIdsForLdapUser\"]\n : item[\"groupIdsForLdapUser\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Break replication request */\nexport interface BreakReplicationRequest {\n /** If replication is in status transferring and you want to force break the replication, set to true */\n forceBreakReplication?: boolean;\n}\n\nexport function breakReplicationRequestSerializer(item: BreakReplicationRequest): any {\n return { forceBreakReplication: item[\"forceBreakReplication\"] };\n}\n\n/** Re-establish request object supplied in the body of the operation. */\nexport interface ReestablishReplicationRequest {\n /** Resource id of the source volume for the replication */\n sourceVolumeId?: string;\n}\n\nexport function reestablishReplicationRequestSerializer(item: ReestablishReplicationRequest): any {\n return { sourceVolumeId: item[\"sourceVolumeId\"] };\n}\n\n/** Replication status */\nexport interface ReplicationStatus {\n /** Replication health check */\n healthy?: boolean;\n /** Status of the mirror relationship */\n relationshipStatus?: VolumeReplicationRelationshipStatus;\n /** The status of the replication */\n mirrorState?: MirrorState;\n /** The progress of the replication */\n totalProgress?: string;\n /** Displays error message if the replication is in an error state */\n errorMessage?: string;\n}\n\nexport function replicationStatusDeserializer(item: any): ReplicationStatus {\n return {\n healthy: item[\"healthy\"],\n relationshipStatus: item[\"relationshipStatus\"],\n mirrorState: item[\"mirrorState\"],\n totalProgress: item[\"totalProgress\"],\n errorMessage: item[\"errorMessage\"],\n };\n}\n\n/** Status of the volume replication relationship */\nexport enum KnownVolumeReplicationRelationshipStatus {\n /** Idle */\n Idle = \"Idle\",\n /** Transferring */\n Transferring = \"Transferring\",\n}\n\n/**\n * Status of the volume replication relationship \\\n * {@link KnownVolumeReplicationRelationshipStatus} can be used interchangeably with VolumeReplicationRelationshipStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Idle** \\\n * **Transferring**\n */\nexport type VolumeReplicationRelationshipStatus = string;\n\n/** Body for the list replications endpoint. If supplied, the body will be used as a filter for example to exclude deleted replications. If omitted, the endpoint returns all replications */\nexport interface ListReplicationsRequest {\n /** Exclude Replications filter. 'None' returns all replications, 'Deleted' excludes deleted replications. Default is 'None' */\n exclude?: Exclude;\n}\n\nexport function listReplicationsRequestSerializer(item: ListReplicationsRequest): any {\n return { exclude: item[\"exclude\"] };\n}\n\n/** An option to filter out replications. 'None' returns all replications, 'Deleted' excludes deleted replications. Default is 'None' */\nexport enum KnownExclude {\n /** 'None' returns all replications */\n None = \"None\",\n /** 'Deleted' excludes deleted replications */\n Deleted = \"Deleted\",\n}\n\n/**\n * An option to filter out replications. 'None' returns all replications, 'Deleted' excludes deleted replications. Default is 'None' \\\n * {@link KnownExclude} can be used interchangeably with Exclude,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **None**: 'None' returns all replications \\\n * **Deleted**: 'Deleted' excludes deleted replications\n */\nexport type Exclude = string;\n\n/** List Replications */\nexport interface _ListReplications {\n /** The Replication items on this page */\n value: Replication[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _listReplicationsDeserializer(item: any): _ListReplications {\n return {\n value: replicationArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function replicationArrayDeserializer(result: Array<Replication>): any[] {\n return result.map((item) => {\n return replicationDeserializer(item);\n });\n}\n\n/** Replication properties */\nexport interface Replication {\n /** UUID v4 used to identify the replication. */\n readonly replicationId?: string;\n /** Indicates whether the local volume is the source or destination for the Volume Replication */\n endpointType?: EndpointType;\n /** Schedule */\n replicationSchedule?: ReplicationSchedule;\n /** The resource ID of the remote volume. */\n remoteVolumeResourceId?: string;\n /** The remote region for the other end of the Volume Replication. */\n remoteVolumeRegion?: string;\n /** The status of the replication */\n readonly mirrorState?: ReplicationMirrorState;\n /** Replication creation time */\n readonly replicationCreationTime?: Date;\n /** Replication deletion time */\n readonly replicationDeletionTime?: Date;\n}\n\nexport function replicationDeserializer(item: any): Replication {\n return {\n replicationId: item[\"replicationId\"],\n endpointType: item[\"endpointType\"],\n replicationSchedule: item[\"replicationSchedule\"],\n remoteVolumeResourceId: item[\"remoteVolumeResourceId\"],\n remoteVolumeRegion: item[\"remoteVolumeRegion\"],\n mirrorState: item[\"mirrorState\"],\n replicationCreationTime: !item[\"replicationCreationTime\"]\n ? item[\"replicationCreationTime\"]\n : new Date(item[\"replicationCreationTime\"]),\n replicationDeletionTime: !item[\"replicationDeletionTime\"]\n ? item[\"replicationDeletionTime\"]\n : new Date(item[\"replicationDeletionTime\"]),\n };\n}\n\n/** The status of the replication */\nexport enum KnownReplicationMirrorState {\n /** Destination volume has not been initialized */\n Uninitialized = \"Uninitialized\",\n /** Destination volume has been initialized and is ready */\n Mirrored = \"Mirrored\",\n /** Destination volume is RW, replication relationship has been broken off */\n Broken = \"Broken\",\n}\n\n/**\n * The status of the replication \\\n * {@link KnownReplicationMirrorState} can be used interchangeably with ReplicationMirrorState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Uninitialized**: Destination volume has not been initialized \\\n * **Mirrored**: Destination volume has been initialized and is ready \\\n * **Broken**: Destination volume is RW, replication relationship has been broken off\n */\nexport type ReplicationMirrorState = string;\n\n/** Authorize request */\nexport interface AuthorizeRequest {\n /** Resource id of the remote volume */\n remoteVolumeResourceId?: string;\n}\n\nexport function authorizeRequestSerializer(item: AuthorizeRequest): any {\n return { remoteVolumeResourceId: item[\"remoteVolumeResourceId\"] };\n}\n\n/** Source Cluster properties for a cluster peer request */\nexport interface PeerClusterForVolumeMigrationRequest {\n /** A list of IC-LIF IPs that can be used to connect to the On-prem cluster */\n peerIpAddresses: string[];\n}\n\nexport function peerClusterForVolumeMigrationRequestSerializer(\n item: PeerClusterForVolumeMigrationRequest,\n): any {\n return {\n peerIpAddresses: item[\"peerIpAddresses\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Information about cluster peering process */\nexport interface ClusterPeerCommandResponse {\n /** A command that needs to be run on the external ONTAP to accept cluster peering. Will only be present if <code>clusterPeeringStatus</code> is <code>pending</code> */\n peerAcceptCommand?: string;\n}\n\nexport function clusterPeerCommandResponseDeserializer(item: any): ClusterPeerCommandResponse {\n return {\n peerAcceptCommand: item[\"peerAcceptCommand\"],\n };\n}\n\n/** Information about svm peering process */\nexport interface SvmPeerCommandResponse {\n /** A command that needs to be run on the external ONTAP to accept svm peering. Will only be present if <code>svmPeeringStatus</code> is <code>pending</code> */\n svmPeeringCommand?: string;\n}\n\nexport function svmPeerCommandResponseDeserializer(item: any): SvmPeerCommandResponse {\n return {\n svmPeeringCommand: item[\"svmPeeringCommand\"],\n };\n}\n\n/** Pool change request */\nexport interface PoolChangeRequest {\n /** Resource id of the pool to move volume to */\n newPoolResourceId: string;\n}\n\nexport function poolChangeRequestSerializer(item: PoolChangeRequest): any {\n return { newPoolResourceId: item[\"newPoolResourceId\"] };\n}\n\n/** Relocate volume request */\nexport interface RelocateVolumeRequest {\n /** New creation token for the volume that controls the mount point name */\n creationToken?: string;\n}\n\nexport function relocateVolumeRequestSerializer(item: RelocateVolumeRequest): any {\n return { creationToken: item[\"creationToken\"] };\n}\n\n/** Quota report filters. When filtering by quotaType or quotaTarget, both properties must be supplied together. This constraint is enforced by the service/API at runtime, and requests violating this rule will return a validation error. The usageThresholdPercentage filter is independent and can be used alone or in combination with quotaType and quotaTarget to further refine results. */\nexport interface QuotaReportFilterRequest {\n /** Type of quota. If provided, quotaTarget must also be specified. The quotaType and quotaTarget properties are optional, but when filtering by quota type, quotaType and quotaTarget must be supplied together. Service/API will return an error if only one is provided. */\n quotaType?: QuotaType;\n /** UserID/GroupID/SID based on the quota target type. UserID and groupID can be found by running 'id' or 'getent' command for the user or group and SID can be found by running <wmic useraccount where name='user-name' get sid>. If provided, quotaType must also be specified. The quotaType and quotaTarget properties are optional, but when filtering by quota target, quotaType and quotaTarget must be supplied together. Service/API will return an error if only one is provided. */\n quotaTarget?: string;\n /** The usageThresholdPercentage filter takes the usage threshold percentage and returns records where the usage is greater than or equal to the input value. This is an optional property. */\n usageThresholdPercentage?: number;\n}\n\nexport function quotaReportFilterRequestSerializer(item: QuotaReportFilterRequest): any {\n return {\n quotaType: item[\"quotaType\"],\n quotaTarget: item[\"quotaTarget\"],\n usageThresholdPercentage: item[\"usageThresholdPercentage\"],\n };\n}\n\n/** Type of quota */\nexport enum KnownQuotaType {\n /** Default user quota */\n DefaultUserQuota = \"DefaultUserQuota\",\n /** Default group quota */\n DefaultGroupQuota = \"DefaultGroupQuota\",\n /** Individual user quota */\n IndividualUserQuota = \"IndividualUserQuota\",\n /** Individual group quota */\n IndividualGroupQuota = \"IndividualGroupQuota\",\n}\n\n/**\n * Type of quota \\\n * {@link KnownQuotaType} can be used interchangeably with QuotaType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **DefaultUserQuota**: Default user quota \\\n * **DefaultGroupQuota**: Default group quota \\\n * **IndividualUserQuota**: Individual user quota \\\n * **IndividualGroupQuota**: Individual group quota\n */\nexport type QuotaType = string;\n\n/** * Result of ListQuotaReportResponse */\nexport interface ListQuotaReportResult {\n /** Represents the properties of the ListQuotaReport. */\n properties?: ListQuotaReportResponse;\n}\n\nexport function listQuotaReportResultDeserializer(item: any): ListQuotaReportResult {\n return {\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : listQuotaReportResponseDeserializer(item[\"properties\"]),\n };\n}\n\n/** Quota Report for volume */\nexport interface ListQuotaReportResponse {\n /** List of quota reports */\n quotaReportRecords?: QuotaReport[];\n}\n\nexport function listQuotaReportResponseDeserializer(item: any): ListQuotaReportResponse {\n return {\n quotaReportRecords: !item[\"quotaReportRecords\"]\n ? item[\"quotaReportRecords\"]\n : quotaReportArrayDeserializer(item[\"quotaReportRecords\"]),\n };\n}\n\nexport function quotaReportArrayDeserializer(result: Array<QuotaReport>): any[] {\n return result.map((item) => {\n return quotaReportDeserializer(item);\n });\n}\n\n/** Quota report record properties */\nexport interface QuotaReport {\n /** Type of quota */\n quotaType?: QuotaType;\n /** UserID/GroupID/SID based on the quota target type. UserID and groupID can be found by running ‘id’ or ‘getent’ command for the user or group and SID can be found by running <wmic useraccount where name='user-name' get sid> */\n quotaTarget?: string;\n /** Specifies the current usage in kibibytes for the user/group quota. */\n quotaLimitUsedInKiBs?: number;\n /** Specifies the total size limit in kibibytes for the user/group quota. */\n quotaLimitTotalInKiBs?: number;\n /** Percentage of used size compared to total size. */\n percentageUsed?: number;\n /** Flag to indicate whether the quota is derived from default quota. */\n isDerivedQuota?: boolean;\n}\n\nexport function quotaReportDeserializer(item: any): QuotaReport {\n return {\n quotaType: item[\"quotaType\"],\n quotaTarget: item[\"quotaTarget\"],\n quotaLimitUsedInKiBs: item[\"quotaLimitUsedInKiBs\"],\n quotaLimitTotalInKiBs: item[\"quotaLimitTotalInKiBs\"],\n percentageUsed: item[\"percentageUsed\"],\n isDerivedQuota: item[\"isDerivedQuota\"],\n };\n}\n\n/** Snapshot of a Volume */\nexport interface Snapshot extends ProxyResource {\n /** Snapshot Properties */\n properties?: SnapshotProperties;\n /** Resource location */\n location: string;\n}\n\nexport function snapshotSerializer(item: Snapshot): any {\n return {\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : snapshotPropertiesSerializer(item[\"properties\"]),\n location: item[\"location\"],\n };\n}\n\nexport function snapshotDeserializer(item: any): Snapshot {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : snapshotPropertiesDeserializer(item[\"properties\"]),\n location: item[\"location\"],\n };\n}\n\n/** Snapshot properties */\nexport interface SnapshotProperties {\n /** UUID v4 used to identify the Snapshot */\n readonly snapshotId?: string;\n /** The creation date of the snapshot */\n readonly created?: Date;\n /** Azure lifecycle management */\n readonly provisioningState?: string;\n}\n\nexport function snapshotPropertiesSerializer(item: SnapshotProperties): any {\n return item;\n}\n\nexport function snapshotPropertiesDeserializer(item: any): SnapshotProperties {\n return {\n snapshotId: item[\"snapshotId\"],\n created: !item[\"created\"] ? item[\"created\"] : new Date(item[\"created\"]),\n provisioningState: item[\"provisioningState\"],\n };\n}\n\n/** Snapshot of a Volume */\nexport interface SnapshotPatch {}\n\nexport function snapshotPatchSerializer(item: SnapshotPatch): any {\n return item;\n}\n\n/** List of Snapshots */\nexport interface _SnapshotsList {\n /** The Snapshot items on this page */\n value: Snapshot[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _snapshotsListDeserializer(item: any): _SnapshotsList {\n return {\n value: snapshotArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function snapshotArraySerializer(result: Array<Snapshot>): any[] {\n return result.map((item) => {\n return snapshotSerializer(item);\n });\n}\n\nexport function snapshotArrayDeserializer(result: Array<Snapshot>): any[] {\n return result.map((item) => {\n return snapshotDeserializer(item);\n });\n}\n\n/** Restore payload for Single File Snapshot Restore */\nexport interface SnapshotRestoreFiles {\n /** List of files to be restored */\n filePaths: string[];\n /** Destination folder where the files will be restored */\n destinationPath?: string;\n}\n\nexport function snapshotRestoreFilesSerializer(item: SnapshotRestoreFiles): any {\n return {\n filePaths: item[\"filePaths\"].map((p: any) => {\n return p;\n }),\n destinationPath: item[\"destinationPath\"],\n };\n}\n\n/** Snapshot policy information */\nexport interface SnapshotPolicy extends TrackedResource {\n /** Snapshot policy Properties */\n properties: SnapshotPolicyProperties;\n /** \"If etag is provided in the response body, it may also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields.\") */\n readonly etag?: string;\n}\n\nexport function snapshotPolicySerializer(item: SnapshotPolicy): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: snapshotPolicyPropertiesSerializer(item[\"properties\"]),\n };\n}\n\nexport function snapshotPolicyDeserializer(item: any): SnapshotPolicy {\n return {\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: snapshotPolicyPropertiesDeserializer(item[\"properties\"]),\n etag: item[\"etag\"],\n };\n}\n\n/** Snapshot policy properties */\nexport interface SnapshotPolicyProperties {\n /** Schedule for hourly snapshots */\n hourlySchedule?: HourlySchedule;\n /** Schedule for daily snapshots */\n dailySchedule?: DailySchedule;\n /** Schedule for weekly snapshots */\n weeklySchedule?: WeeklySchedule;\n /** Schedule for monthly snapshots */\n monthlySchedule?: MonthlySchedule;\n /** The property to decide policy is enabled or not */\n enabled?: boolean;\n /** Azure lifecycle management */\n readonly provisioningState?: string;\n}\n\nexport function snapshotPolicyPropertiesSerializer(item: SnapshotPolicyProperties): any {\n return {\n hourlySchedule: !item[\"hourlySchedule\"]\n ? item[\"hourlySchedule\"]\n : hourlyScheduleSerializer(item[\"hourlySchedule\"]),\n dailySchedule: !item[\"dailySchedule\"]\n ? item[\"dailySchedule\"]\n : dailyScheduleSerializer(item[\"dailySchedule\"]),\n weeklySchedule: !item[\"weeklySchedule\"]\n ? item[\"weeklySchedule\"]\n : weeklyScheduleSerializer(item[\"weeklySchedule\"]),\n monthlySchedule: !item[\"monthlySchedule\"]\n ? item[\"monthlySchedule\"]\n : monthlyScheduleSerializer(item[\"monthlySchedule\"]),\n enabled: item[\"enabled\"],\n };\n}\n\nexport function snapshotPolicyPropertiesDeserializer(item: any): SnapshotPolicyProperties {\n return {\n hourlySchedule: !item[\"hourlySchedule\"]\n ? item[\"hourlySchedule\"]\n : hourlyScheduleDeserializer(item[\"hourlySchedule\"]),\n dailySchedule: !item[\"dailySchedule\"]\n ? item[\"dailySchedule\"]\n : dailyScheduleDeserializer(item[\"dailySchedule\"]),\n weeklySchedule: !item[\"weeklySchedule\"]\n ? item[\"weeklySchedule\"]\n : weeklyScheduleDeserializer(item[\"weeklySchedule\"]),\n monthlySchedule: !item[\"monthlySchedule\"]\n ? item[\"monthlySchedule\"]\n : monthlyScheduleDeserializer(item[\"monthlySchedule\"]),\n enabled: item[\"enabled\"],\n provisioningState: item[\"provisioningState\"],\n };\n}\n\n/** Hourly Schedule properties */\nexport interface HourlySchedule {\n /** Hourly snapshot count to keep */\n snapshotsToKeep?: number;\n /** Indicates which minute snapshot should be taken */\n minute?: number;\n /** Resource size in bytes, current storage usage for the volume in bytes */\n usedBytes?: number;\n}\n\nexport function hourlyScheduleSerializer(item: HourlySchedule): any {\n return {\n snapshotsToKeep: item[\"snapshotsToKeep\"],\n minute: item[\"minute\"],\n usedBytes: item[\"usedBytes\"],\n };\n}\n\nexport function hourlyScheduleDeserializer(item: any): HourlySchedule {\n return {\n snapshotsToKeep: item[\"snapshotsToKeep\"],\n minute: item[\"minute\"],\n usedBytes: item[\"usedBytes\"],\n };\n}\n\n/** Daily Schedule properties */\nexport interface DailySchedule {\n /** Daily snapshot count to keep */\n snapshotsToKeep?: number;\n /** Indicates which hour in UTC timezone a snapshot should be taken */\n hour?: number;\n /** Indicates which minute snapshot should be taken */\n minute?: number;\n /** Resource size in bytes, current storage usage for the volume in bytes */\n usedBytes?: number;\n}\n\nexport function dailyScheduleSerializer(item: DailySchedule): any {\n return {\n snapshotsToKeep: item[\"snapshotsToKeep\"],\n hour: item[\"hour\"],\n minute: item[\"minute\"],\n usedBytes: item[\"usedBytes\"],\n };\n}\n\nexport function dailyScheduleDeserializer(item: any): DailySchedule {\n return {\n snapshotsToKeep: item[\"snapshotsToKeep\"],\n hour: item[\"hour\"],\n minute: item[\"minute\"],\n usedBytes: item[\"usedBytes\"],\n };\n}\n\n/** Weekly Schedule properties, make a snapshot every week at a specific day or days */\nexport interface WeeklySchedule {\n /** Weekly snapshot count to keep */\n snapshotsToKeep?: number;\n /** Indicates which weekdays snapshot should be taken, accepts a comma separated list of week day names in english */\n day?: string;\n /** Indicates which hour in UTC timezone a snapshot should be taken */\n hour?: number;\n /** Indicates which minute snapshot should be taken */\n minute?: number;\n /** Resource size in bytes, current storage usage for the volume in bytes */\n usedBytes?: number;\n}\n\nexport function weeklyScheduleSerializer(item: WeeklySchedule): any {\n return {\n snapshotsToKeep: item[\"snapshotsToKeep\"],\n day: item[\"day\"],\n hour: item[\"hour\"],\n minute: item[\"minute\"],\n usedBytes: item[\"usedBytes\"],\n };\n}\n\nexport function weeklyScheduleDeserializer(item: any): WeeklySchedule {\n return {\n snapshotsToKeep: item[\"snapshotsToKeep\"],\n day: item[\"day\"],\n hour: item[\"hour\"],\n minute: item[\"minute\"],\n usedBytes: item[\"usedBytes\"],\n };\n}\n\n/** Monthly Schedule properties */\nexport interface MonthlySchedule {\n /** Monthly snapshot count to keep */\n snapshotsToKeep?: number;\n /** Indicates which days of the month snapshot should be taken. A comma delimited string. */\n daysOfMonth?: string;\n /** Indicates which hour in UTC timezone a snapshot should be taken */\n hour?: number;\n /** Indicates which minute snapshot should be taken */\n minute?: number;\n /** Resource size in bytes, current storage usage for the volume in bytes */\n usedBytes?: number;\n}\n\nexport function monthlyScheduleSerializer(item: MonthlySchedule): any {\n return {\n snapshotsToKeep: item[\"snapshotsToKeep\"],\n daysOfMonth: item[\"daysOfMonth\"],\n hour: item[\"hour\"],\n minute: item[\"minute\"],\n usedBytes: item[\"usedBytes\"],\n };\n}\n\nexport function monthlyScheduleDeserializer(item: any): MonthlySchedule {\n return {\n snapshotsToKeep: item[\"snapshotsToKeep\"],\n daysOfMonth: item[\"daysOfMonth\"],\n hour: item[\"hour\"],\n minute: item[\"minute\"],\n usedBytes: item[\"usedBytes\"],\n };\n}\n\n/** Snapshot policy Details for create and update */\nexport interface SnapshotPolicyPatch {\n /** Resource location */\n location?: string;\n /** Resource Id */\n readonly id?: string;\n /** Resource name */\n readonly name?: string;\n /** Resource type */\n readonly type?: string;\n /** Resource tags */\n tags?: Record<string, string>;\n /** Snapshot Policy properties */\n properties?: SnapshotPolicyProperties;\n}\n\nexport function snapshotPolicyPatchSerializer(item: SnapshotPolicyPatch): any {\n return {\n location: item[\"location\"],\n tags: item[\"tags\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : snapshotPolicyPropertiesSerializer(item[\"properties\"]),\n };\n}\n\n/** List of Snapshot Policies */\nexport interface _SnapshotPoliciesList {\n /** The SnapshotPolicy items on this page */\n value: SnapshotPolicy[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _snapshotPoliciesListDeserializer(item: any): _SnapshotPoliciesList {\n return {\n value: snapshotPolicyArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function snapshotPolicyArraySerializer(result: Array<SnapshotPolicy>): any[] {\n return result.map((item) => {\n return snapshotPolicySerializer(item);\n });\n}\n\nexport function snapshotPolicyArrayDeserializer(result: Array<SnapshotPolicy>): any[] {\n return result.map((item) => {\n return snapshotPolicyDeserializer(item);\n });\n}\n\n/** Volumes associated with snapshot policy */\nexport interface SnapshotPolicyVolumeList {\n /** The Volume items on this page */\n value: Volume[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function snapshotPolicyVolumeListDeserializer(item: any): SnapshotPolicyVolumeList {\n return {\n value: volumeArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\n/** Backup policy information */\nexport interface BackupPolicy extends TrackedResource {\n /** Backup policy Properties */\n properties: BackupPolicyProperties;\n /** \"If etag is provided in the response body, it may also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields.\") */\n readonly etag?: string;\n}\n\nexport function backupPolicySerializer(item: BackupPolicy): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: backupPolicyPropertiesSerializer(item[\"properties\"]),\n };\n}\n\nexport function backupPolicyDeserializer(item: any): BackupPolicy {\n return {\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: backupPolicyPropertiesDeserializer(item[\"properties\"]),\n etag: item[\"etag\"],\n };\n}\n\n/** Backup policy properties */\nexport interface BackupPolicyProperties {\n /** Backup Policy GUID ID */\n readonly backupPolicyId?: string;\n /** Azure lifecycle management */\n readonly provisioningState?: string;\n /** Daily backups count to keep */\n dailyBackupsToKeep?: number;\n /** Weekly backups count to keep */\n weeklyBackupsToKeep?: number;\n /** Monthly backups count to keep */\n monthlyBackupsToKeep?: number;\n /** Volumes using current backup policy */\n readonly volumesAssigned?: number;\n /** The property to decide policy is enabled or not */\n enabled?: boolean;\n /** A list of volumes assigned to this policy */\n readonly volumeBackups?: VolumeBackups[];\n}\n\nexport function backupPolicyPropertiesSerializer(item: BackupPolicyProperties): any {\n return {\n dailyBackupsToKeep: item[\"dailyBackupsToKeep\"],\n weeklyBackupsToKeep: item[\"weeklyBackupsToKeep\"],\n monthlyBackupsToKeep: item[\"monthlyBackupsToKeep\"],\n enabled: item[\"enabled\"],\n };\n}\n\nexport function backupPolicyPropertiesDeserializer(item: any): BackupPolicyProperties {\n return {\n backupPolicyId: item[\"backupPolicyId\"],\n provisioningState: item[\"provisioningState\"],\n dailyBackupsToKeep: item[\"dailyBackupsToKeep\"],\n weeklyBackupsToKeep: item[\"weeklyBackupsToKeep\"],\n monthlyBackupsToKeep: item[\"monthlyBackupsToKeep\"],\n volumesAssigned: item[\"volumesAssigned\"],\n enabled: item[\"enabled\"],\n volumeBackups: !item[\"volumeBackups\"]\n ? item[\"volumeBackups\"]\n : volumeBackupsArrayDeserializer(item[\"volumeBackups\"]),\n };\n}\n\nexport function volumeBackupsArrayDeserializer(result: Array<VolumeBackups>): any[] {\n return result.map((item) => {\n return volumeBackupsDeserializer(item);\n });\n}\n\n/** Volume details using the backup policy */\nexport interface VolumeBackups {\n /** Volume name */\n volumeName?: string;\n /** ResourceId used to identify the Volume */\n volumeResourceId?: string;\n /** Total count of backups for volume */\n backupsCount?: number;\n /** Policy enabled */\n policyEnabled?: boolean;\n}\n\nexport function volumeBackupsDeserializer(item: any): VolumeBackups {\n return {\n volumeName: item[\"volumeName\"],\n volumeResourceId: item[\"volumeResourceId\"],\n backupsCount: item[\"backupsCount\"],\n policyEnabled: item[\"policyEnabled\"],\n };\n}\n\n/** Backup policy Details for create and update */\nexport interface BackupPolicyPatch {\n /** Resource location */\n location?: string;\n /** Resource Id */\n readonly id?: string;\n /** Resource name */\n readonly name?: string;\n /** Resource type */\n readonly type?: string;\n /** Resource tags */\n tags?: Record<string, string>;\n /** Backup policy Properties */\n properties?: BackupPolicyProperties;\n}\n\nexport function backupPolicyPatchSerializer(item: BackupPolicyPatch): any {\n return {\n location: item[\"location\"],\n tags: item[\"tags\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : backupPolicyPropertiesSerializer(item[\"properties\"]),\n };\n}\n\n/** List of Backup Policies */\nexport interface _BackupPoliciesList {\n /** The BackupPolicy items on this page */\n value: BackupPolicy[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _backupPoliciesListDeserializer(item: any): _BackupPoliciesList {\n return {\n value: backupPolicyArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function backupPolicyArraySerializer(result: Array<BackupPolicy>): any[] {\n return result.map((item) => {\n return backupPolicySerializer(item);\n });\n}\n\nexport function backupPolicyArrayDeserializer(result: Array<BackupPolicy>): any[] {\n return result.map((item) => {\n return backupPolicyDeserializer(item);\n });\n}\n\n/** Quota Rule of a Volume */\nexport interface VolumeQuotaRule extends TrackedResource {\n /** Volume Quota Rule Properties */\n properties?: VolumeQuotaRulesProperties;\n}\n\nexport function volumeQuotaRuleSerializer(item: VolumeQuotaRule): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : volumeQuotaRulesPropertiesSerializer(item[\"properties\"]),\n };\n}\n\nexport function volumeQuotaRuleDeserializer(item: any): VolumeQuotaRule {\n return {\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : volumeQuotaRulesPropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** Volume Quota Rule properties */\nexport interface VolumeQuotaRulesProperties {\n /** Gets the status of the VolumeQuotaRule at the time the operation was called. */\n readonly provisioningState?: NetAppProvisioningState;\n /** Size of quota */\n quotaSizeInKiBs?: number;\n /** Type of quota */\n quotaType?: QuotaType;\n /** UserID/GroupID/SID based on the quota target type. UserID and groupID can be found by running ‘id’ or ‘getent’ command for the user or group and SID can be found by running <wmic useraccount where name='user-name' get sid> */\n quotaTarget?: string;\n}\n\nexport function volumeQuotaRulesPropertiesSerializer(item: VolumeQuotaRulesProperties): any {\n return {\n quotaSizeInKiBs: item[\"quotaSizeInKiBs\"],\n quotaType: item[\"quotaType\"],\n quotaTarget: item[\"quotaTarget\"],\n };\n}\n\nexport function volumeQuotaRulesPropertiesDeserializer(item: any): VolumeQuotaRulesProperties {\n return {\n provisioningState: item[\"provisioningState\"],\n quotaSizeInKiBs: item[\"quotaSizeInKiBs\"],\n quotaType: item[\"quotaType\"],\n quotaTarget: item[\"quotaTarget\"],\n };\n}\n\n/** Gets the status of the VolumeQuotaRule at the time the operation was called. */\nexport enum KnownNetAppProvisioningState {\n /** Resource has been Accepted */\n Accepted = \"Accepted\",\n /** Resource is being Created */\n Creating = \"Creating\",\n /** Resource is being Patched */\n Patching = \"Patching\",\n /** Resource is updating */\n Updating = \"Updating\",\n /** Resource is being Deleted */\n Deleting = \"Deleting\",\n /** Resource is being Moved */\n Moving = \"Moving\",\n /** Resource has Failed */\n Failed = \"Failed\",\n /** Resource has Succeeded */\n Succeeded = \"Succeeded\",\n}\n\n/**\n * Gets the status of the VolumeQuotaRule at the time the operation was called. \\\n * {@link KnownNetAppProvisioningState} can be used interchangeably with NetAppProvisioningState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Accepted**: Resource has been Accepted \\\n * **Creating**: Resource is being Created \\\n * **Patching**: Resource is being Patched \\\n * **Updating**: Resource is updating \\\n * **Deleting**: Resource is being Deleted \\\n * **Moving**: Resource is being Moved \\\n * **Failed**: Resource has Failed \\\n * **Succeeded**: Resource has Succeeded\n */\nexport type NetAppProvisioningState = string;\n\n/** Patchable Quota Rule of a Volume */\nexport interface VolumeQuotaRulePatch {\n /** Resource tags */\n tags?: Record<string, string>;\n /** Volume Quota Rule Properties */\n properties?: VolumeQuotaRulesProperties;\n}\n\nexport function volumeQuotaRulePatchSerializer(item: VolumeQuotaRulePatch): any {\n return {\n tags: item[\"tags\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : volumeQuotaRulesPropertiesSerializer(item[\"properties\"]),\n };\n}\n\n/** List of Volume Quota Rules */\nexport interface _VolumeQuotaRulesList {\n /** The VolumeQuotaRule items on this page */\n value: VolumeQuotaRule[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _volumeQuotaRulesListDeserializer(item: any): _VolumeQuotaRulesList {\n return {\n value: volumeQuotaRuleArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function volumeQuotaRuleArraySerializer(result: Array<VolumeQuotaRule>): any[] {\n return result.map((item) => {\n return volumeQuotaRuleSerializer(item);\n });\n}\n\nexport function volumeQuotaRuleArrayDeserializer(result: Array<VolumeQuotaRule>): any[] {\n return result.map((item) => {\n return volumeQuotaRuleDeserializer(item);\n });\n}\n\n/**\n * Advanced Ransomware Protection (ARP) report\n * Get details of the specified Advanced Ransomware Protection report (ARP).\n * ARP reports are created with a list of suspected files when it detects any combination of high data entropy, abnormal volume activity with data encryption, and unusual file extensions.\n * ARP creates snapshots named Anti_ransomware_backup when it detects a potential ransomware threat. You can use one of these ARP snapshots or another snapshot of your volume to restore data.\n */\nexport interface RansomwareReport extends ProxyResource {\n /** Advanced Ransomware Protection reports Properties */\n properties?: RansomwareReportProperties;\n}\n\nexport function ransomwareReportDeserializer(item: any): RansomwareReport {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : ransomwareReportPropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/**\n * Advanced Ransomware Protection (ARP) report properties.\n *\n * Evaluate the report to determine whether the activity is acceptable (false positive) or whether an attack seems malicious using the ClearSuspects operation.\n *\n * Advanced Ransomware Protection (ARP) creates snapshots named Anti_ransomware_backup when it detects a potential ransomware threat. You can use one of the ARP snapshots or another snapshot of your volume to restore data.\n */\nexport interface RansomwareReportProperties {\n /** The creation date and time of the report */\n readonly eventTime?: Date;\n /** State of the Advanced Ransomware Protection (ARP) report */\n readonly state?: RansomwareReportState;\n /** Severity of the Advanced Ransomware Protection (ARP) report */\n readonly severity?: RansomwareReportSeverity;\n /** The number of cleared suspects identified by the ARP report */\n readonly clearedCount?: number;\n /** The number of suspects identified by the ARP report */\n readonly reportedCount?: number;\n /** Suspects identified in an ARP report */\n readonly suspects?: RansomwareSuspects[];\n /** Azure lifecycle management */\n readonly provisioningState?: string;\n}\n\nexport function ransomwareReportPropertiesDeserializer(item: any): RansomwareReportProperties {\n return {\n eventTime: !item[\"eventTime\"] ? item[\"eventTime\"] : new Date(item[\"eventTime\"]),\n state: item[\"state\"],\n severity: item[\"severity\"],\n clearedCount: item[\"clearedCount\"],\n reportedCount: item[\"reportedCount\"],\n suspects: !item[\"suspects\"]\n ? item[\"suspects\"]\n : ransomwareSuspectsArrayDeserializer(item[\"suspects\"]),\n provisioningState: item[\"provisioningState\"],\n };\n}\n\n/** State of the Advanced Ransomware Protection (ARP) report */\nexport enum KnownRansomwareReportState {\n /** The ARP report has been created. Take action by running clearsuspects marking suspects as FalsePositive or PotentialThreats */\n Active = \"Active\",\n /** The ARP Report has been resolved */\n Resolved = \"Resolved\",\n}\n\n/**\n * State of the Advanced Ransomware Protection (ARP) report \\\n * {@link KnownRansomwareReportState} can be used interchangeably with RansomwareReportState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Active**: The ARP report has been created. Take action by running clearsuspects marking suspects as FalsePositive or PotentialThreats \\\n * **Resolved**: The ARP Report has been resolved\n */\nexport type RansomwareReportState = string;\n\n/** Severity of the Advanced Ransomware Protection (ARP) report */\nexport enum KnownRansomwareReportSeverity {\n /** No data is suspected for ransomware activity */\n None = \"None\",\n /** Low attack probability */\n Low = \"Low\",\n /** Moderate attack probability */\n Moderate = \"Moderate\",\n /** High amount of data is suspected for ransomware activity */\n High = \"High\",\n}\n\n/**\n * Severity of the Advanced Ransomware Protection (ARP) report \\\n * {@link KnownRansomwareReportSeverity} can be used interchangeably with RansomwareReportSeverity,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **None**: No data is suspected for ransomware activity \\\n * **Low**: Low attack probability \\\n * **Moderate**: Moderate attack probability \\\n * **High**: High amount of data is suspected for ransomware activity\n */\nexport type RansomwareReportSeverity = string;\n\nexport function ransomwareSuspectsArrayDeserializer(result: Array<RansomwareSuspects>): any[] {\n return result.map((item) => {\n return ransomwareSuspectsDeserializer(item);\n });\n}\n\n/** List of suspects identified in an Advanced Ransomware Protection (ARP) report */\nexport interface RansomwareSuspects {\n /** Suspect File extension */\n readonly extension?: string;\n /** ARP report suspect resolution */\n readonly resolution?: RansomwareSuspectResolution;\n /** The number of suspect files at the time of ARP report, this number can change as files get created and report status progresses */\n readonly fileCount?: number;\n /** Suspect files */\n readonly suspectFiles?: SuspectFile[];\n}\n\nexport function ransomwareSuspectsDeserializer(item: any): RansomwareSuspects {\n return {\n extension: item[\"extension\"],\n resolution: item[\"resolution\"],\n fileCount: item[\"fileCount\"],\n suspectFiles: !item[\"suspectFiles\"]\n ? item[\"suspectFiles\"]\n : suspectFileArrayDeserializer(item[\"suspectFiles\"]),\n };\n}\n\n/** ARP report suspect resolution */\nexport enum KnownRansomwareSuspectResolution {\n /** The identified file type is unexpected in your workload and should be treated as a potential attack */\n PotentialThreat = \"PotentialThreat\",\n /** The identified file type is expected in your workload and can be ignored */\n FalsePositive = \"FalsePositive\",\n}\n\n/**\n * ARP report suspect resolution \\\n * {@link KnownRansomwareSuspectResolution} can be used interchangeably with RansomwareSuspectResolution,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **PotentialThreat**: The identified file type is unexpected in your workload and should be treated as a potential attack \\\n * **FalsePositive**: The identified file type is expected in your workload and can be ignored\n */\nexport type RansomwareSuspectResolution = string;\n\nexport function suspectFileArrayDeserializer(result: Array<SuspectFile>): any[] {\n return result.map((item) => {\n return suspectFileDeserializer(item);\n });\n}\n\n/** Suspect file information */\nexport interface SuspectFile {\n /** Suspect filename */\n readonly suspectFileName?: string;\n /** The creation date and time of the file */\n readonly fileTimestamp?: Date;\n}\n\nexport function suspectFileDeserializer(item: any): SuspectFile {\n return {\n suspectFileName: item[\"suspectFileName\"],\n fileTimestamp: !item[\"fileTimestamp\"] ? item[\"fileTimestamp\"] : new Date(item[\"fileTimestamp\"]),\n };\n}\n\n/** List of Advanced Ransomware Protection (ARP) reports */\nexport interface _RansomwareReportsList {\n /** The RansomwareReport items on this page */\n value: RansomwareReport[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _ransomwareReportsListDeserializer(item: any): _RansomwareReportsList {\n return {\n value: ransomwareReportArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function ransomwareReportArrayDeserializer(result: Array<RansomwareReport>): any[] {\n return result.map((item) => {\n return ransomwareReportDeserializer(item);\n });\n}\n\n/** Clear suspects for Advanced Ransomware Protection (ARP) report */\nexport interface RansomwareSuspectsClearRequest {\n /** ARP report suspect resolution */\n resolution: RansomwareSuspectResolution;\n /** List of file extensions resolved (PotentialThreat or FalsePositive) */\n extensions: string[];\n}\n\nexport function ransomwareSuspectsClearRequestSerializer(\n item: RansomwareSuspectsClearRequest,\n): any {\n return {\n resolution: item[\"resolution\"],\n extensions: item[\"extensions\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Backup Vault information */\nexport interface BackupVault extends TrackedResource {\n /** Backup Vault Properties */\n properties?: BackupVaultProperties;\n}\n\nexport function backupVaultSerializer(item: BackupVault): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : backupVaultPropertiesSerializer(item[\"properties\"]),\n };\n}\n\nexport function backupVaultDeserializer(item: any): BackupVault {\n return {\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : backupVaultPropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** Backup Vault properties */\nexport interface BackupVaultProperties {\n /** Azure lifecycle management */\n readonly provisioningState?: string;\n}\n\nexport function backupVaultPropertiesSerializer(item: BackupVaultProperties): any {\n return item;\n}\n\nexport function backupVaultPropertiesDeserializer(item: any): BackupVaultProperties {\n return {\n provisioningState: item[\"provisioningState\"],\n };\n}\n\n/** Backup Vault information */\nexport interface BackupVaultPatch {\n /** Resource tags */\n tags?: Record<string, string>;\n}\n\nexport function backupVaultPatchSerializer(item: BackupVaultPatch): any {\n return { tags: item[\"tags\"] };\n}\n\n/** List of Backup Vaults */\nexport interface _BackupVaultsList {\n /** The BackupVault items on this page */\n value: BackupVault[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _backupVaultsListDeserializer(item: any): _BackupVaultsList {\n return {\n value: backupVaultArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function backupVaultArraySerializer(result: Array<BackupVault>): any[] {\n return result.map((item) => {\n return backupVaultSerializer(item);\n });\n}\n\nexport function backupVaultArrayDeserializer(result: Array<BackupVault>): any[] {\n return result.map((item) => {\n return backupVaultDeserializer(item);\n });\n}\n\n/** Information regarding regionInfo Item. */\nexport interface RegionInfoResource extends ProxyResource {\n /** regionInfo properties */\n properties?: RegionInfo;\n}\n\nexport function regionInfoResourceDeserializer(item: any): RegionInfoResource {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : regionInfoDeserializer(item[\"properties\"]),\n };\n}\n\n/** Provides region specific information. */\nexport interface RegionInfo {\n /** Provides storage to network proximity information in the region. */\n storageToNetworkProximity?: RegionStorageToNetworkProximity;\n /** Provides logical availability zone mappings for the subscription for a region. */\n availabilityZoneMappings?: RegionInfoAvailabilityZoneMappingsItem[];\n}\n\nexport function regionInfoDeserializer(item: any): RegionInfo {\n return {\n storageToNetworkProximity: item[\"storageToNetworkProximity\"],\n availabilityZoneMappings: !item[\"availabilityZoneMappings\"]\n ? item[\"availabilityZoneMappings\"]\n : regionInfoAvailabilityZoneMappingsItemArrayDeserializer(item[\"availabilityZoneMappings\"]),\n };\n}\n\n/** Provides storage to network proximity information in the region. */\nexport enum KnownRegionStorageToNetworkProximity {\n /** Basic network connectivity. */\n Default = \"Default\",\n /** Standard T1 network connectivity. */\n T1 = \"T1\",\n /** Standard T2 network connectivity. */\n T2 = \"T2\",\n /** Standard AcrossT2 network connectivity. */\n AcrossT2 = \"AcrossT2\",\n /** Standard T1 and T2 network connectivity. */\n T1AndT2 = \"T1AndT2\",\n /** Standard T1 and AcrossT2 network connectivity. */\n T1AndAcrossT2 = \"T1AndAcrossT2\",\n /** Standard T2 and AcrossT2 network connectivity. */\n T2AndAcrossT2 = \"T2AndAcrossT2\",\n /** Standard T1, T2 and AcrossT2 network connectivity. */\n T1AndT2AndAcrossT2 = \"T1AndT2AndAcrossT2\",\n}\n\n/**\n * Provides storage to network proximity information in the region. \\\n * {@link KnownRegionStorageToNetworkProximity} can be used interchangeably with RegionStorageToNetworkProximity,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Default**: Basic network connectivity. \\\n * **T1**: Standard T1 network connectivity. \\\n * **T2**: Standard T2 network connectivity. \\\n * **AcrossT2**: Standard AcrossT2 network connectivity. \\\n * **T1AndT2**: Standard T1 and T2 network connectivity. \\\n * **T1AndAcrossT2**: Standard T1 and AcrossT2 network connectivity. \\\n * **T2AndAcrossT2**: Standard T2 and AcrossT2 network connectivity. \\\n * **T1AndT2AndAcrossT2**: Standard T1, T2 and AcrossT2 network connectivity.\n */\nexport type RegionStorageToNetworkProximity = string;\n\nexport function regionInfoAvailabilityZoneMappingsItemArrayDeserializer(\n result: Array<RegionInfoAvailabilityZoneMappingsItem>,\n): any[] {\n return result.map((item) => {\n return regionInfoAvailabilityZoneMappingsItemDeserializer(item);\n });\n}\n\n/** model interface RegionInfoAvailabilityZoneMappingsItem */\nexport interface RegionInfoAvailabilityZoneMappingsItem {\n /** Logical availability zone. */\n availabilityZone?: string;\n /** Available availability zone */\n isAvailable?: boolean;\n}\n\nexport function regionInfoAvailabilityZoneMappingsItemDeserializer(\n item: any,\n): RegionInfoAvailabilityZoneMappingsItem {\n return {\n availabilityZone: item[\"availabilityZone\"],\n isAvailable: item[\"isAvailable\"],\n };\n}\n\n/** List of regionInfo resources */\nexport interface _RegionInfosList {\n /** The RegionInfoResource items on this page */\n value: RegionInfoResource[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _regionInfosListDeserializer(item: any): _RegionInfosList {\n return {\n value: regionInfoResourceArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function regionInfoResourceArrayDeserializer(result: Array<RegionInfoResource>): any[] {\n return result.map((item) => {\n return regionInfoResourceDeserializer(item);\n });\n}\n\n/** NetApp account resource */\nexport interface NetAppAccount extends TrackedResource {\n /** NetApp Account properties */\n properties?: AccountProperties;\n /** \"If etag is provided in the response body, it may also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields.\") */\n readonly etag?: string;\n /** The managed service identities assigned to this resource. */\n identity?: ManagedServiceIdentity;\n}\n\nexport function netAppAccountSerializer(item: NetAppAccount): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : accountPropertiesSerializer(item[\"properties\"]),\n identity: !item[\"identity\"]\n ? item[\"identity\"]\n : managedServiceIdentitySerializer(item[\"identity\"]),\n };\n}\n\nexport function netAppAccountDeserializer(item: any): NetAppAccount {\n return {\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : accountPropertiesDeserializer(item[\"properties\"]),\n etag: item[\"etag\"],\n identity: !item[\"identity\"]\n ? item[\"identity\"]\n : managedServiceIdentityDeserializer(item[\"identity\"]),\n };\n}\n\n/** NetApp account properties */\nexport interface AccountProperties {\n /** Azure lifecycle management */\n readonly provisioningState?: string;\n /** Active Directories */\n activeDirectories?: ActiveDirectory[];\n /** Encryption settings */\n encryption?: AccountEncryption;\n /** Shows the status of disableShowmount for all volumes under the subscription, null equals false */\n readonly disableShowmount?: boolean | null;\n /** Domain for NFSv4 user ID mapping. This property will be set for all NetApp accounts in the subscription and region and only affect non ldap NFSv4 volumes. */\n nfsV4IDDomain?: string | null;\n /** MultiAD Status for the account */\n readonly multiAdStatus?: MultiAdStatus;\n}\n\nexport function accountPropertiesSerializer(item: AccountProperties): any {\n return {\n activeDirectories: !item[\"activeDirectories\"]\n ? item[\"activeDirectories\"]\n : activeDirectoryArraySerializer(item[\"activeDirectories\"]),\n encryption: !item[\"encryption\"]\n ? item[\"encryption\"]\n : accountEncryptionSerializer(item[\"encryption\"]),\n nfsV4IDDomain: item[\"nfsV4IDDomain\"],\n };\n}\n\nexport function accountPropertiesDeserializer(item: any): AccountProperties {\n return {\n provisioningState: item[\"provisioningState\"],\n activeDirectories: !item[\"activeDirectories\"]\n ? item[\"activeDirectories\"]\n : activeDirectoryArrayDeserializer(item[\"activeDirectories\"]),\n encryption: !item[\"encryption\"]\n ? item[\"encryption\"]\n : accountEncryptionDeserializer(item[\"encryption\"]),\n disableShowmount: item[\"disableShowmount\"],\n nfsV4IDDomain: item[\"nfsV4IDDomain\"],\n multiAdStatus: item[\"multiAdStatus\"],\n };\n}\n\nexport function activeDirectoryArraySerializer(result: Array<ActiveDirectory>): any[] {\n return result.map((item) => {\n return activeDirectorySerializer(item);\n });\n}\n\nexport function activeDirectoryArrayDeserializer(result: Array<ActiveDirectory>): any[] {\n return result.map((item) => {\n return activeDirectoryDeserializer(item);\n });\n}\n\n/** Active Directory */\nexport interface ActiveDirectory {\n /** Id of the Active Directory */\n activeDirectoryId?: string | null;\n /** A domain user account with permission to create machine accounts */\n username?: string;\n /** Plain text password of Active Directory domain administrator, value is masked in the response */\n password?: string;\n /** Name of the Active Directory domain */\n domain?: string;\n /** Comma separated list of DNS server IP addresses (IPv4 only) for the Active Directory domain */\n dns?: string;\n /** Status of the Active Directory */\n readonly status?: ActiveDirectoryStatus;\n /** Any details in regards to the Status of the Active Directory */\n readonly statusDetails?: string;\n /** NetBIOS name of the SMB server. This name will be registered as a computer account in the AD and used to mount volumes */\n smbServerName?: string;\n /** The Organizational Unit (OU) within the Windows Active Directory */\n organizationalUnit?: string;\n /** The Active Directory site the service will limit Domain Controller discovery to */\n site?: string;\n /** Users to be added to the Built-in Backup Operator active directory group. A list of unique usernames without domain specifier */\n backupOperators?: string[];\n /** Users to be added to the Built-in Administrators active directory group. A list of unique usernames without domain specifier */\n administrators?: string[];\n /** kdc server IP address for the active directory machine. This optional parameter is used only while creating kerberos volume. */\n kdcIP?: string;\n /** Name of the active directory machine. This optional parameter is used only while creating kerberos volume */\n adName?: string;\n /** When LDAP over SSL/TLS is enabled, the LDAP client is required to have base64 encoded Active Directory Certificate Service's self-signed root CA certificate, this optional parameter is used only for dual protocol with LDAP user-mapping volumes. */\n serverRootCACertificate?: string;\n /** If enabled, AES encryption will be enabled for SMB communication. */\n aesEncryption?: boolean;\n /** Specifies whether or not the LDAP traffic needs to be signed. */\n ldapSigning?: boolean;\n /** Domain Users in the Active directory to be given SeSecurityPrivilege privilege (Needed for SMB Continuously available shares for SQL). A list of unique usernames without domain specifier */\n securityOperators?: string[];\n /** Specifies whether or not the LDAP traffic needs to be secured via TLS. */\n ldapOverTLS?: boolean;\n /** If enabled, NFS client local users can also (in addition to LDAP users) access the NFS volumes. */\n allowLocalNfsUsersWithLdap?: boolean;\n /** If enabled, Traffic between the SMB server to Domain Controller (DC) will be encrypted. */\n encryptDCConnections?: boolean;\n /** LDAP Search scope options */\n ldapSearchScope?: LdapSearchScopeOpt;\n /** Comma separated list of IPv4 addresses of preferred servers for LDAP client. At most two comma separated IPv4 addresses can be passed. */\n preferredServersForLdapClient?: string;\n}\n\nexport function activeDirectorySerializer(item: ActiveDirectory): any {\n return {\n activeDirectoryId: item[\"activeDirectoryId\"],\n username: item[\"username\"],\n password: item[\"password\"],\n domain: item[\"domain\"],\n dns: item[\"dns\"],\n smbServerName: item[\"smbServerName\"],\n organizationalUnit: item[\"organizationalUnit\"],\n site: item[\"site\"],\n backupOperators: !item[\"backupOperators\"]\n ? item[\"backupOperators\"]\n : item[\"backupOperators\"].map((p: any) => {\n return p;\n }),\n administrators: !item[\"administrators\"]\n ? item[\"administrators\"]\n : item[\"administrators\"].map((p: any) => {\n return p;\n }),\n kdcIP: item[\"kdcIP\"],\n adName: item[\"adName\"],\n serverRootCACertificate: item[\"serverRootCACertificate\"],\n aesEncryption: item[\"aesEncryption\"],\n ldapSigning: item[\"ldapSigning\"],\n securityOperators: !item[\"securityOperators\"]\n ? item[\"securityOperators\"]\n : item[\"securityOperators\"].map((p: any) => {\n return p;\n }),\n ldapOverTLS: item[\"ldapOverTLS\"],\n allowLocalNfsUsersWithLdap: item[\"allowLocalNfsUsersWithLdap\"],\n encryptDCConnections: item[\"encryptDCConnections\"],\n ldapSearchScope: !item[\"ldapSearchScope\"]\n ? item[\"ldapSearchScope\"]\n : ldapSearchScopeOptSerializer(item[\"ldapSearchScope\"]),\n preferredServersForLdapClient: item[\"preferredServersForLdapClient\"],\n };\n}\n\nexport function activeDirectoryDeserializer(item: any): ActiveDirectory {\n return {\n activeDirectoryId: item[\"activeDirectoryId\"],\n username: item[\"username\"],\n password: item[\"password\"],\n domain: item[\"domain\"],\n dns: item[\"dns\"],\n status: item[\"status\"],\n statusDetails: item[\"statusDetails\"],\n smbServerName: item[\"smbServerName\"],\n organizationalUnit: item[\"organizationalUnit\"],\n site: item[\"site\"],\n backupOperators: !item[\"backupOperators\"]\n ? item[\"backupOperators\"]\n : item[\"backupOperators\"].map((p: any) => {\n return p;\n }),\n administrators: !item[\"administrators\"]\n ? item[\"administrators\"]\n : item[\"administrators\"].map((p: any) => {\n return p;\n }),\n kdcIP: item[\"kdcIP\"],\n adName: item[\"adName\"],\n serverRootCACertificate: item[\"serverRootCACertificate\"],\n aesEncryption: item[\"aesEncryption\"],\n ldapSigning: item[\"ldapSigning\"],\n securityOperators: !item[\"securityOperators\"]\n ? item[\"securityOperators\"]\n : item[\"securityOperators\"].map((p: any) => {\n return p;\n }),\n ldapOverTLS: item[\"ldapOverTLS\"],\n allowLocalNfsUsersWithLdap: item[\"allowLocalNfsUsersWithLdap\"],\n encryptDCConnections: item[\"encryptDCConnections\"],\n ldapSearchScope: !item[\"ldapSearchScope\"]\n ? item[\"ldapSearchScope\"]\n : ldapSearchScopeOptDeserializer(item[\"ldapSearchScope\"]),\n preferredServersForLdapClient: item[\"preferredServersForLdapClient\"],\n };\n}\n\n/** Status of the Active Directory */\nexport enum KnownActiveDirectoryStatus {\n /** Active Directory created but not in use */\n Created = \"Created\",\n /** Active Directory in use by SMB Volume */\n InUse = \"InUse\",\n /** Active Directory Deleted */\n Deleted = \"Deleted\",\n /** Error with the Active Directory */\n Error = \"Error\",\n /** Active Directory Updating */\n Updating = \"Updating\",\n}\n\n/**\n * Status of the Active Directory \\\n * {@link KnownActiveDirectoryStatus} can be used interchangeably with ActiveDirectoryStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Created**: Active Directory created but not in use \\\n * **InUse**: Active Directory in use by SMB Volume \\\n * **Deleted**: Active Directory Deleted \\\n * **Error**: Error with the Active Directory \\\n * **Updating**: Active Directory Updating\n */\nexport type ActiveDirectoryStatus = string;\n\n/** LDAP search scope */\nexport interface LdapSearchScopeOpt {\n /** This specifies the user DN, which overrides the base DN for user lookups. */\n userDN?: string;\n /** This specifies the group DN, which overrides the base DN for group lookups. */\n groupDN?: string;\n /** This specifies the custom LDAP search filter to be used when looking up group membership from LDAP server. */\n groupMembershipFilter?: string;\n}\n\nexport function ldapSearchScopeOptSerializer(item: LdapSearchScopeOpt): any {\n return {\n userDN: item[\"userDN\"],\n groupDN: item[\"groupDN\"],\n groupMembershipFilter: item[\"groupMembershipFilter\"],\n };\n}\n\nexport function ldapSearchScopeOptDeserializer(item: any): LdapSearchScopeOpt {\n return {\n userDN: item[\"userDN\"],\n groupDN: item[\"groupDN\"],\n groupMembershipFilter: item[\"groupMembershipFilter\"],\n };\n}\n\n/** Encryption settings */\nexport interface AccountEncryption {\n /** The encryption keySource (provider). Possible values (case-insensitive): Microsoft.NetApp, Microsoft.KeyVault */\n keySource?: KeySource;\n /** Properties provided by KeVault. Applicable if keySource is 'Microsoft.KeyVault'. */\n keyVaultProperties?: KeyVaultProperties;\n /** Identity used to authenticate to KeyVault. Applicable if keySource is 'Microsoft.KeyVault'. */\n identity?: EncryptionIdentity;\n}\n\nexport function accountEncryptionSerializer(item: AccountEncryption): any {\n return {\n keySource: item[\"keySource\"],\n keyVaultProperties: !item[\"keyVaultProperties\"]\n ? item[\"keyVaultProperties\"]\n : keyVaultPropertiesSerializer(item[\"keyVaultProperties\"]),\n identity: !item[\"identity\"] ? item[\"identity\"] : encryptionIdentitySerializer(item[\"identity\"]),\n };\n}\n\nexport function accountEncryptionDeserializer(item: any): AccountEncryption {\n return {\n keySource: item[\"keySource\"],\n keyVaultProperties: !item[\"keyVaultProperties\"]\n ? item[\"keyVaultProperties\"]\n : keyVaultPropertiesDeserializer(item[\"keyVaultProperties\"]),\n identity: !item[\"identity\"]\n ? item[\"identity\"]\n : encryptionIdentityDeserializer(item[\"identity\"]),\n };\n}\n\n/** The encryption keySource (provider). Possible values (case-insensitive): Microsoft.NetApp, Microsoft.KeyVault */\nexport enum KnownKeySource {\n /** Microsoft-managed key encryption */\n MicrosoftNetApp = \"Microsoft.NetApp\",\n /** Customer-managed key encryption */\n MicrosoftKeyVault = \"Microsoft.KeyVault\",\n}\n\n/**\n * The encryption keySource (provider). Possible values (case-insensitive): Microsoft.NetApp, Microsoft.KeyVault \\\n * {@link KnownKeySource} can be used interchangeably with KeySource,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Microsoft.NetApp**: Microsoft-managed key encryption \\\n * **Microsoft.KeyVault**: Customer-managed key encryption\n */\nexport type KeySource = string;\n\n/** Properties of key vault. */\nexport interface KeyVaultProperties {\n /** UUID v4 used to identify the Azure Key Vault configuration */\n readonly keyVaultId?: string;\n /** The Uri of KeyVault. */\n keyVaultUri: string;\n /** The name of KeyVault key. */\n keyName: string;\n /** The resource ID of KeyVault. */\n keyVaultResourceId?: string;\n /** Status of the KeyVault connection. */\n readonly status?: KeyVaultStatus;\n}\n\nexport function keyVaultPropertiesSerializer(item: KeyVaultProperties): any {\n return {\n keyVaultUri: item[\"keyVaultUri\"],\n keyName: item[\"keyName\"],\n keyVaultResourceId: item[\"keyVaultResourceId\"],\n };\n}\n\nexport function keyVaultPropertiesDeserializer(item: any): KeyVaultProperties {\n return {\n keyVaultId: item[\"keyVaultId\"],\n keyVaultUri: item[\"keyVaultUri\"],\n keyName: item[\"keyName\"],\n keyVaultResourceId: item[\"keyVaultResourceId\"],\n status: item[\"status\"],\n };\n}\n\n/** Status of the KeyVault connection. */\nexport enum KnownKeyVaultStatus {\n /** KeyVault connection created but not in use */\n Created = \"Created\",\n /** KeyVault connection in use by SMB Volume */\n InUse = \"InUse\",\n /** KeyVault connection Deleted */\n Deleted = \"Deleted\",\n /** Error with the KeyVault connection */\n Error = \"Error\",\n /** KeyVault connection Updating */\n Updating = \"Updating\",\n}\n\n/**\n * Status of the KeyVault connection. \\\n * {@link KnownKeyVaultStatus} can be used interchangeably with KeyVaultStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Created**: KeyVault connection created but not in use \\\n * **InUse**: KeyVault connection in use by SMB Volume \\\n * **Deleted**: KeyVault connection Deleted \\\n * **Error**: Error with the KeyVault connection \\\n * **Updating**: KeyVault connection Updating\n */\nexport type KeyVaultStatus = string;\n\n/** Identity used to authenticate with key vault. */\nexport interface EncryptionIdentity {\n /** The principal ID (object ID) of the identity used to authenticate with key vault. Read-only. */\n readonly principalId?: string;\n /** The ARM resource identifier of the user assigned identity used to authenticate with key vault. Applicable if identity.type has 'UserAssigned'. It should match key of identity.userAssignedIdentities. */\n userAssignedIdentity?: string;\n /** ClientId of the multi-tenant Entra ID Application. Used to access cross-tenant keyvaults. */\n federatedClientId?: string;\n}\n\nexport function encryptionIdentitySerializer(item: EncryptionIdentity): any {\n return {\n userAssignedIdentity: item[\"userAssignedIdentity\"],\n federatedClientId: item[\"federatedClientId\"],\n };\n}\n\nexport function encryptionIdentityDeserializer(item: any): EncryptionIdentity {\n return {\n principalId: item[\"principalId\"],\n userAssignedIdentity: item[\"userAssignedIdentity\"],\n federatedClientId: item[\"federatedClientId\"],\n };\n}\n\n/** MultiAD Status for the account */\nexport enum KnownMultiAdStatus {\n /** Account is MultiAD disabled, Means its a SharedAD or SingleAD account. */\n Disabled = \"Disabled\",\n /** Account is MultiAD enabled */\n Enabled = \"Enabled\",\n}\n\n/**\n * MultiAD Status for the account \\\n * {@link KnownMultiAdStatus} can be used interchangeably with MultiAdStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Disabled**: Account is MultiAD disabled, Means its a SharedAD or SingleAD account. \\\n * **Enabled**: Account is MultiAD enabled\n */\nexport type MultiAdStatus = string;\n\n/** Managed service identity (system assigned and/or user assigned identities) */\nexport interface ManagedServiceIdentity {\n /** The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity. */\n readonly principalId?: string;\n /** The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity. */\n readonly tenantId?: string;\n /** The type of managed identity assigned to this resource. */\n type: ManagedServiceIdentityType;\n /** The identities assigned to this resource by the user. */\n userAssignedIdentities?: Record<string, UserAssignedIdentity | null>;\n}\n\nexport function managedServiceIdentitySerializer(item: ManagedServiceIdentity): any {\n return { type: item[\"type\"], userAssignedIdentities: item[\"userAssignedIdentities\"] };\n}\n\nexport function managedServiceIdentityDeserializer(item: any): ManagedServiceIdentity {\n return {\n principalId: item[\"principalId\"],\n tenantId: item[\"tenantId\"],\n type: item[\"type\"],\n userAssignedIdentities: !item[\"userAssignedIdentities\"]\n ? item[\"userAssignedIdentities\"]\n : Object.fromEntries(\n Object.entries(item[\"userAssignedIdentities\"]).map(([k, p]: [string, any]) => [\n k,\n !p ? p : userAssignedIdentityDeserializer(p),\n ]),\n ),\n };\n}\n\n/** Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). */\nexport enum KnownManagedServiceIdentityType {\n /** No managed identity. */\n None = \"None\",\n /** System assigned managed identity. */\n SystemAssigned = \"SystemAssigned\",\n /** User assigned managed identity. */\n UserAssigned = \"UserAssigned\",\n /** System and user assigned managed identity. */\n SystemAssignedUserAssigned = \"SystemAssigned,UserAssigned\",\n}\n\n/**\n * Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). \\\n * {@link KnownManagedServiceIdentityType} can be used interchangeably with ManagedServiceIdentityType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **None**: No managed identity. \\\n * **SystemAssigned**: System assigned managed identity. \\\n * **UserAssigned**: User assigned managed identity. \\\n * **SystemAssigned,UserAssigned**: System and user assigned managed identity.\n */\nexport type ManagedServiceIdentityType = string;\n\n/** User assigned identity properties */\nexport interface UserAssignedIdentity {\n /** The principal ID of the assigned identity. */\n readonly principalId?: string;\n /** The client ID of the assigned identity. */\n readonly clientId?: string;\n}\n\nexport function userAssignedIdentitySerializer(item: UserAssignedIdentity): any {\n return item;\n}\n\nexport function userAssignedIdentityDeserializer(item: any): UserAssignedIdentity {\n return {\n principalId: item[\"principalId\"],\n clientId: item[\"clientId\"],\n };\n}\n\n/** NetApp account patch resource */\nexport interface NetAppAccountPatch {\n /** Resource location */\n location?: string;\n /** Resource Id */\n readonly id?: string;\n /** Resource name */\n readonly name?: string;\n /** Resource type */\n readonly type?: string;\n /** Resource tags */\n tags?: Record<string, string>;\n /** NetApp Account properties */\n properties?: AccountProperties;\n /** The identity used for the resource. */\n identity?: ManagedServiceIdentity;\n}\n\nexport function netAppAccountPatchSerializer(item: NetAppAccountPatch): any {\n return {\n location: item[\"location\"],\n tags: item[\"tags\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : accountPropertiesSerializer(item[\"properties\"]),\n identity: !item[\"identity\"]\n ? item[\"identity\"]\n : managedServiceIdentitySerializer(item[\"identity\"]),\n };\n}\n\n/** List of NetApp account resources */\nexport interface _NetAppAccountList {\n /** The NetAppAccount items on this page */\n value: NetAppAccount[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _netAppAccountListDeserializer(item: any): _NetAppAccountList {\n return {\n value: netAppAccountArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function netAppAccountArraySerializer(result: Array<NetAppAccount>): any[] {\n return result.map((item) => {\n return netAppAccountSerializer(item);\n });\n}\n\nexport function netAppAccountArrayDeserializer(result: Array<NetAppAccount>): any[] {\n return result.map((item) => {\n return netAppAccountDeserializer(item);\n });\n}\n\n/** Encryption transition request */\nexport interface EncryptionTransitionRequest {\n /** Identifier for the virtual network */\n virtualNetworkId: string;\n /** Identifier of the private endpoint to reach the Azure Key Vault */\n privateEndpointId: string;\n}\n\nexport function encryptionTransitionRequestSerializer(item: EncryptionTransitionRequest): any {\n return {\n virtualNetworkId: item[\"virtualNetworkId\"],\n privateEndpointId: item[\"privateEndpointId\"],\n };\n}\n\n/** Result of getKeyVaultStatus with information about how volumes under NetApp account are encrypted. */\nexport interface GetKeyVaultStatusResponse {\n /** Represents the properties of the getKeyVaultStatus. */\n properties?: GetKeyVaultStatusResponseProperties;\n}\n\nexport function getKeyVaultStatusResponseDeserializer(item: any): GetKeyVaultStatusResponse {\n return {\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : getKeyVaultStatusResponsePropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** Properties which represents Change key vault status. */\nexport interface GetKeyVaultStatusResponseProperties {\n /** The URI of the key vault/managed HSM that should be used for encryption. */\n keyVaultUri?: string;\n /** The name of the key that should be used for encryption. */\n keyName?: string;\n /** Azure resource ID of the key vault/managed HSM that should be used for encryption. */\n keyVaultResourceId?: string;\n /** Pairs of virtual network ID and private endpoint ID. Every virtual network that has volumes encrypted with customer-managed keys needs its own key vault private endpoint. */\n keyVaultPrivateEndpoints?: KeyVaultPrivateEndpoint[];\n}\n\nexport function getKeyVaultStatusResponsePropertiesDeserializer(\n item: any,\n): GetKeyVaultStatusResponseProperties {\n return {\n keyVaultUri: item[\"keyVaultUri\"],\n keyName: item[\"keyName\"],\n keyVaultResourceId: item[\"keyVaultResourceId\"],\n keyVaultPrivateEndpoints: !item[\"keyVaultPrivateEndpoints\"]\n ? item[\"keyVaultPrivateEndpoints\"]\n : keyVaultPrivateEndpointArrayDeserializer(item[\"keyVaultPrivateEndpoints\"]),\n };\n}\n\nexport function keyVaultPrivateEndpointArraySerializer(\n result: Array<KeyVaultPrivateEndpoint>,\n): any[] {\n return result.map((item) => {\n return keyVaultPrivateEndpointSerializer(item);\n });\n}\n\nexport function keyVaultPrivateEndpointArrayDeserializer(\n result: Array<KeyVaultPrivateEndpoint>,\n): any[] {\n return result.map((item) => {\n return keyVaultPrivateEndpointDeserializer(item);\n });\n}\n\n/** Pairs of virtual network ID and private endpoint ID. Every virtual network that has volumes encrypted with customer-managed keys needs its own key vault private endpoint. */\nexport interface KeyVaultPrivateEndpoint {\n /** Identifier for the virtual network id */\n virtualNetworkId?: string;\n /** Identifier of the private endpoint to reach the Azure Key Vault */\n privateEndpointId?: string;\n}\n\nexport function keyVaultPrivateEndpointSerializer(item: KeyVaultPrivateEndpoint): any {\n return {\n virtualNetworkId: item[\"virtualNetworkId\"],\n privateEndpointId: item[\"privateEndpointId\"],\n };\n}\n\nexport function keyVaultPrivateEndpointDeserializer(item: any): KeyVaultPrivateEndpoint {\n return {\n virtualNetworkId: item[\"virtualNetworkId\"],\n privateEndpointId: item[\"privateEndpointId\"],\n };\n}\n\n/** Change key vault request */\nexport interface ChangeKeyVault {\n /** The URI of the key vault/managed HSM that should be used for encryption. */\n keyVaultUri: string;\n /** The name of the key that should be used for encryption. */\n keyName: string;\n /** Azure resource ID of the key vault/managed HSM that should be used for encryption. */\n keyVaultResourceId?: string;\n /** Pairs of virtual network ID and private endpoint ID. Every virtual network that has volumes encrypted with customer-managed keys needs its own key vault private endpoint. */\n keyVaultPrivateEndpoints: KeyVaultPrivateEndpoint[];\n}\n\nexport function changeKeyVaultSerializer(item: ChangeKeyVault): any {\n return {\n keyVaultUri: item[\"keyVaultUri\"],\n keyName: item[\"keyName\"],\n keyVaultResourceId: item[\"keyVaultResourceId\"],\n keyVaultPrivateEndpoints: keyVaultPrivateEndpointArraySerializer(\n item[\"keyVaultPrivateEndpoints\"],\n ),\n };\n}\n\n/** Migrate Backups Request */\nexport interface BackupsMigrationRequest {\n /** The ResourceId of the Backup Vault */\n backupVaultId: string;\n}\n\nexport function backupsMigrationRequestSerializer(item: BackupsMigrationRequest): any {\n return { backupVaultId: item[\"backupVaultId\"] };\n}\n\n/** Capacity pool resource */\nexport interface CapacityPool extends TrackedResource {\n /** Capacity pool properties */\n properties: PoolProperties;\n /** \"If etag is provided in the response body, it may also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields.\") */\n readonly etag?: string;\n}\n\nexport function capacityPoolSerializer(item: CapacityPool): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: poolPropertiesSerializer(item[\"properties\"]),\n };\n}\n\nexport function capacityPoolDeserializer(item: any): CapacityPool {\n return {\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: poolPropertiesDeserializer(item[\"properties\"]),\n etag: item[\"etag\"],\n };\n}\n\n/** Pool properties */\nexport interface PoolProperties {\n /** UUID v4 used to identify the Pool */\n readonly poolId?: string;\n /** Provisioned size of the pool (in bytes). Allowed values are in 1TiB chunks (value must be multiple of 1099511627776). */\n size: number;\n /** The service level of the file system */\n serviceLevel: ServiceLevel;\n /** Azure lifecycle management */\n readonly provisioningState?: string;\n /** Total throughput of pool in MiB/s */\n readonly totalThroughputMibps?: number;\n /** Utilized throughput of pool in MiB/s */\n readonly utilizedThroughputMibps?: number;\n /** Maximum throughput in MiB/s that can be achieved by this pool and this will be accepted as input only for manual qosType pool with Flexible service level */\n customThroughputMibps?: number | null;\n /** The qos type of the pool */\n qosType?: QosType;\n /** If enabled (true) the pool can contain cool Access enabled volumes. */\n coolAccess?: boolean;\n /** Encryption type of the capacity pool, set encryption type for data at rest for this pool and all volumes in it. This value can only be set when creating new pool. */\n encryptionType?: EncryptionType | null;\n}\n\nexport function poolPropertiesSerializer(item: PoolProperties): any {\n return {\n size: item[\"size\"],\n serviceLevel: item[\"serviceLevel\"],\n customThroughputMibps: item[\"customThroughputMibps\"],\n qosType: item[\"qosType\"],\n coolAccess: item[\"coolAccess\"],\n encryptionType: item[\"encryptionType\"],\n };\n}\n\nexport function poolPropertiesDeserializer(item: any): PoolProperties {\n return {\n poolId: item[\"poolId\"],\n size: item[\"size\"],\n serviceLevel: item[\"serviceLevel\"],\n provisioningState: item[\"provisioningState\"],\n totalThroughputMibps: item[\"totalThroughputMibps\"],\n utilizedThroughputMibps: item[\"utilizedThroughputMibps\"],\n customThroughputMibps: item[\"customThroughputMibps\"],\n qosType: item[\"qosType\"],\n coolAccess: item[\"coolAccess\"],\n encryptionType: item[\"encryptionType\"],\n };\n}\n\n/** The qos type of the pool */\nexport enum KnownQosType {\n /** qos type Auto */\n Auto = \"Auto\",\n /** qos type Manual */\n Manual = \"Manual\",\n}\n\n/**\n * The qos type of the pool \\\n * {@link KnownQosType} can be used interchangeably with QosType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Auto**: qos type Auto \\\n * **Manual**: qos type Manual\n */\nexport type QosType = string;\n\n/** Encryption type of the capacity pool, set encryption type for data at rest for this pool and all volumes in it. This value can only be set when creating new pool. */\nexport enum KnownEncryptionType {\n /** EncryptionType Single, volumes will use single encryption at rest */\n Single = \"Single\",\n /** EncryptionType Double, volumes will use double encryption at rest */\n Double = \"Double\",\n}\n\n/**\n * Encryption type of the capacity pool, set encryption type for data at rest for this pool and all volumes in it. This value can only be set when creating new pool. \\\n * {@link KnownEncryptionType} can be used interchangeably with EncryptionType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Single**: EncryptionType Single, volumes will use single encryption at rest \\\n * **Double**: EncryptionType Double, volumes will use double encryption at rest\n */\nexport type EncryptionType = string;\n\n/** Capacity pool patch resource */\nexport interface CapacityPoolPatch {\n /** Resource location */\n location?: string;\n /** Resource Id */\n readonly id?: string;\n /** Resource name */\n readonly name?: string;\n /** Resource type */\n readonly type?: string;\n /** Resource tags */\n tags?: Record<string, string>;\n /** Capacity pool properties */\n properties?: PoolPatchProperties;\n}\n\nexport function capacityPoolPatchSerializer(item: CapacityPoolPatch): any {\n return {\n location: item[\"location\"],\n tags: item[\"tags\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : poolPatchPropertiesSerializer(item[\"properties\"]),\n };\n}\n\n/** Patchable pool properties */\nexport interface PoolPatchProperties {\n /** Provisioned size of the pool (in bytes). Allowed values are in 1TiB chunks (value must be multiple of 1099511627776). */\n size?: number;\n /** The qos type of the pool */\n qosType?: QosType;\n /** If enabled (true) the pool can contain cool Access enabled volumes. */\n coolAccess?: boolean;\n /** Maximum throughput in MiB/s that can be achieved by this pool and this will be accepted as input only for manual qosType pool with Flexible service level */\n customThroughputMibps?: number | null;\n}\n\nexport function poolPatchPropertiesSerializer(item: PoolPatchProperties): any {\n return {\n size: item[\"size\"],\n qosType: item[\"qosType\"],\n coolAccess: item[\"coolAccess\"],\n customThroughputMibps: item[\"customThroughputMibps\"],\n };\n}\n\n/** List of capacity pool resources */\nexport interface _CapacityPoolList {\n /** The CapacityPool items on this page */\n value: CapacityPool[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _capacityPoolListDeserializer(item: any): _CapacityPoolList {\n return {\n value: capacityPoolArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function capacityPoolArraySerializer(result: Array<CapacityPool>): any[] {\n return result.map((item) => {\n return capacityPoolSerializer(item);\n });\n}\n\nexport function capacityPoolArrayDeserializer(result: Array<CapacityPool>): any[] {\n return result.map((item) => {\n return capacityPoolDeserializer(item);\n });\n}\n\n/** Restore payload for Single File Backup Restore */\nexport interface BackupRestoreFiles {\n /** List of files to be restored */\n fileList: string[];\n /** Destination folder where the files will be restored. The path name should start with a forward slash. If it is omitted from request then restore is done at the root folder of the destination volume by default */\n restoreFilePath?: string;\n /** Resource Id of the destination volume on which the files need to be restored */\n destinationVolumeId: string;\n}\n\nexport function backupRestoreFilesSerializer(item: BackupRestoreFiles): any {\n return {\n fileList: item[\"fileList\"].map((p: any) => {\n return p;\n }),\n restoreFilePath: item[\"restoreFilePath\"],\n destinationVolumeId: item[\"destinationVolumeId\"],\n };\n}\n\n/** Subvolume Information properties */\nexport interface SubvolumeInfo extends ProxyResource {\n /** Subvolume Properties */\n properties?: SubvolumeProperties;\n}\n\nexport function subvolumeInfoSerializer(item: SubvolumeInfo): any {\n return {\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : subvolumePropertiesSerializer(item[\"properties\"]),\n };\n}\n\nexport function subvolumeInfoDeserializer(item: any): SubvolumeInfo {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : subvolumePropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** This represents path associated with the subvolume */\nexport interface SubvolumeProperties {\n /** Path to the subvolume */\n path?: string;\n /** Truncate subvolume to the provided size in bytes */\n size?: number | null;\n /** parent path to the subvolume */\n parentPath?: string | null;\n /** Azure lifecycle management */\n readonly provisioningState?: string;\n}\n\nexport function subvolumePropertiesSerializer(item: SubvolumeProperties): any {\n return { path: item[\"path\"], size: item[\"size\"], parentPath: item[\"parentPath\"] };\n}\n\nexport function subvolumePropertiesDeserializer(item: any): SubvolumeProperties {\n return {\n path: item[\"path\"],\n size: item[\"size\"],\n parentPath: item[\"parentPath\"],\n provisioningState: item[\"provisioningState\"],\n };\n}\n\n/** Subvolume Patch Request properties */\nexport interface SubvolumePatchRequest {\n /** Subvolume Properties */\n properties?: SubvolumePatchParams;\n}\n\nexport function subvolumePatchRequestSerializer(item: SubvolumePatchRequest): any {\n return {\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : subvolumePatchParamsSerializer(item[\"properties\"]),\n };\n}\n\n/** Parameters with which a subvolume can be updated */\nexport interface SubvolumePatchParams {\n /** Truncate subvolume to the provided size in bytes */\n size?: number | null;\n /** path to the subvolume */\n path?: string;\n}\n\nexport function subvolumePatchParamsSerializer(item: SubvolumePatchParams): any {\n return { size: item[\"size\"], path: item[\"path\"] };\n}\n\n/** List of Subvolumes */\nexport interface _SubvolumesList {\n /** The SubvolumeInfo items on this page */\n value: SubvolumeInfo[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _subvolumesListDeserializer(item: any): _SubvolumesList {\n return {\n value: subvolumeInfoArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function subvolumeInfoArraySerializer(result: Array<SubvolumeInfo>): any[] {\n return result.map((item) => {\n return subvolumeInfoSerializer(item);\n });\n}\n\nexport function subvolumeInfoArrayDeserializer(result: Array<SubvolumeInfo>): any[] {\n return result.map((item) => {\n return subvolumeInfoDeserializer(item);\n });\n}\n\n/** Result of the post subvolume and action is to get metadata of the subvolume. */\nexport interface SubvolumeModel {\n /** Resource Id */\n readonly id?: string;\n /** Resource name */\n readonly name?: string;\n /** Resource type */\n readonly type?: string;\n /** It represents the minimal properties of the subvolume. */\n properties?: SubvolumeModelProperties;\n}\n\nexport function subvolumeModelDeserializer(item: any): SubvolumeModel {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : subvolumeModelPropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** Properties which represents actual subvolume model which is stored as a file in the system. */\nexport interface SubvolumeModelProperties {\n /** Path to the subvolume */\n path?: string;\n /** Path to the parent subvolume */\n parentPath?: string;\n /** Size of subvolume */\n size?: number;\n /** Bytes used */\n bytesUsed?: number;\n /** Permissions of the subvolume */\n permissions?: string;\n /** Creation time and date */\n creationTimeStamp?: Date;\n /** Most recent access time and date */\n accessedTimeStamp?: Date;\n /** Most recent modification time and date */\n modifiedTimeStamp?: Date;\n /** Most recent change time and date */\n changedTimeStamp?: Date;\n /** Azure lifecycle management */\n provisioningState?: string;\n}\n\nexport function subvolumeModelPropertiesDeserializer(item: any): SubvolumeModelProperties {\n return {\n path: item[\"path\"],\n parentPath: item[\"parentPath\"],\n size: item[\"size\"],\n bytesUsed: item[\"bytesUsed\"],\n permissions: item[\"permissions\"],\n creationTimeStamp: !item[\"creationTimeStamp\"]\n ? item[\"creationTimeStamp\"]\n : new Date(item[\"creationTimeStamp\"]),\n accessedTimeStamp: !item[\"accessedTimeStamp\"]\n ? item[\"accessedTimeStamp\"]\n : new Date(item[\"accessedTimeStamp\"]),\n modifiedTimeStamp: !item[\"modifiedTimeStamp\"]\n ? item[\"modifiedTimeStamp\"]\n : new Date(item[\"modifiedTimeStamp\"]),\n changedTimeStamp: !item[\"changedTimeStamp\"]\n ? item[\"changedTimeStamp\"]\n : new Date(item[\"changedTimeStamp\"]),\n provisioningState: item[\"provisioningState\"],\n };\n}\n\n/** Resource name availability request content. */\nexport interface ResourceNameAvailabilityRequest {\n /** Resource name to verify. */\n name: string;\n /** Resource type used for verification. */\n type: CheckNameResourceTypes;\n /** Resource group name. */\n resourceGroup: string;\n}\n\nexport function resourceNameAvailabilityRequestSerializer(\n item: ResourceNameAvailabilityRequest,\n): any {\n return { name: item[\"name\"], type: item[\"type\"], resourceGroup: item[\"resourceGroup\"] };\n}\n\n/** Resource type used for verification. */\nexport enum KnownCheckNameResourceTypes {\n /** Microsoft.NetApp/netAppAccounts */\n MicrosoftNetAppNetAppAccounts = \"Microsoft.NetApp/netAppAccounts\",\n /** Microsoft.NetApp/netAppAccounts/capacityPools */\n MicrosoftNetAppNetAppAccountsCapacityPools = \"Microsoft.NetApp/netAppAccounts/capacityPools\",\n /** Microsoft.NetApp/netAppAccounts/capacityPools/volumes */\n MicrosoftNetAppNetAppAccountsCapacityPoolsVolumes = \"Microsoft.NetApp/netAppAccounts/capacityPools/volumes\",\n /** Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots */\n MicrosoftNetAppNetAppAccountsCapacityPoolsVolumesSnapshots = \"Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots\",\n /** ANF Backup under a volume , deprecated, use `Microsoft.NetApp/netAppAccounts/backupVaults/backups` instead. */\n MicrosoftNetAppNetAppAccountsBackupVaultsBackups = \"Microsoft.NetApp/netAppAccounts/backupVaults/backups\",\n /** ANF Backup under a Backup Vault */\n MicrosoftNetAppNetAppAccountsCapacityPoolsVolumesBackups = \"Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups\",\n}\n\n/**\n * Resource type used for verification. \\\n * {@link KnownCheckNameResourceTypes} can be used interchangeably with CheckNameResourceTypes,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Microsoft.NetApp\\/netAppAccounts** \\\n * **Microsoft.NetApp\\/netAppAccounts\\/capacityPools** \\\n * **Microsoft.NetApp\\/netAppAccounts\\/capacityPools\\/volumes** \\\n * **Microsoft.NetApp\\/netAppAccounts\\/capacityPools\\/volumes\\/snapshots** \\\n * **Microsoft.NetApp\\/netAppAccounts\\/backupVaults\\/backups**: ANF Backup under a volume , deprecated, use `Microsoft.NetApp\\/netAppAccounts\\/backupVaults\\/backups` instead. \\\n * **Microsoft.NetApp\\/netAppAccounts\\/capacityPools\\/volumes\\/backups**: ANF Backup under a Backup Vault\n */\nexport type CheckNameResourceTypes = string;\n\n/** Information regarding availability of a resource. */\nexport interface CheckAvailabilityResponse {\n /** <code>true</code> indicates name is valid and available. <code>false</code> indicates the name is invalid, unavailable, or both. */\n isAvailable?: boolean;\n /** <code>Invalid</code> indicates the name provided does not match Azure App Service naming requirements. <code>AlreadyExists</code> indicates that the name is already in use and is therefore unavailable. */\n reason?: InAvailabilityReasonType;\n /** If reason == invalid, provide the user with the reason why the given name is invalid, and provide the resource naming requirements so that the user can select a valid name. If reason == AlreadyExists, explain that resource name is already in use, and direct them to select a different name. */\n message?: string;\n}\n\nexport function checkAvailabilityResponseDeserializer(item: any): CheckAvailabilityResponse {\n return {\n isAvailable: item[\"isAvailable\"],\n reason: item[\"reason\"],\n message: item[\"message\"],\n };\n}\n\n/** <code>Invalid</code> indicates the name provided does not match Azure App Service naming requirements. <code>AlreadyExists</code> indicates that the name is already in use and is therefore unavailable. */\nexport enum KnownInAvailabilityReasonType {\n /** Invalid */\n Invalid = \"Invalid\",\n /** AlreadyExists */\n AlreadyExists = \"AlreadyExists\",\n}\n\n/**\n * <code>Invalid</code> indicates the name provided does not match Azure App Service naming requirements. <code>AlreadyExists</code> indicates that the name is already in use and is therefore unavailable. \\\n * {@link KnownInAvailabilityReasonType} can be used interchangeably with InAvailabilityReasonType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Invalid** \\\n * **AlreadyExists**\n */\nexport type InAvailabilityReasonType = string;\n\n/** File path availability request content - availability is based on the name and the subnetId. */\nexport interface FilePathAvailabilityRequest {\n /** File path to verify. */\n name: string;\n /** The Azure Resource URI for a delegated subnet. Must have the delegation Microsoft.NetApp/volumes */\n subnetId: string;\n /** The Azure Resource logical availability zone which is used within zone mapping lookup for the subscription and region. The lookup will retrieve the physical zone where volume is placed. */\n availabilityZone?: string | null;\n}\n\nexport function filePathAvailabilityRequestSerializer(item: FilePathAvailabilityRequest): any {\n return {\n name: item[\"name\"],\n subnetId: item[\"subnetId\"],\n availabilityZone: item[\"availabilityZone\"],\n };\n}\n\n/** Quota availability request content. */\nexport interface QuotaAvailabilityRequest {\n /** Name of the resource to verify. */\n name: string;\n /** Resource type used for verification. */\n type: CheckQuotaNameResourceTypes;\n /** Resource group name. */\n resourceGroup: string;\n}\n\nexport function quotaAvailabilityRequestSerializer(item: QuotaAvailabilityRequest): any {\n return { name: item[\"name\"], type: item[\"type\"], resourceGroup: item[\"resourceGroup\"] };\n}\n\n/** Resource type used for verification. */\nexport enum KnownCheckQuotaNameResourceTypes {\n /** Microsoft.NetApp/netAppAccounts */\n MicrosoftNetAppNetAppAccounts = \"Microsoft.NetApp/netAppAccounts\",\n /** Microsoft.NetApp/netAppAccounts/capacityPools */\n MicrosoftNetAppNetAppAccountsCapacityPools = \"Microsoft.NetApp/netAppAccounts/capacityPools\",\n /** Microsoft.NetApp/netAppAccounts/capacityPools/volumes */\n MicrosoftNetAppNetAppAccountsCapacityPoolsVolumes = \"Microsoft.NetApp/netAppAccounts/capacityPools/volumes\",\n /** Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots */\n MicrosoftNetAppNetAppAccountsCapacityPoolsVolumesSnapshots = \"Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots\",\n /** ANF Backup under a volume , deprecated, use `Microsoft.NetApp/netAppAccounts/backupVaults/backups` instead. */\n MicrosoftNetAppNetAppAccountsBackupVaultsBackups = \"Microsoft.NetApp/netAppAccounts/backupVaults/backups\",\n /** ANF Backup under a Backup Vault */\n MicrosoftNetAppNetAppAccountsCapacityPoolsVolumesBackups = \"Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups\",\n}\n\n/**\n * Resource type used for verification. \\\n * {@link KnownCheckQuotaNameResourceTypes} can be used interchangeably with CheckQuotaNameResourceTypes,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Microsoft.NetApp\\/netAppAccounts** \\\n * **Microsoft.NetApp\\/netAppAccounts\\/capacityPools** \\\n * **Microsoft.NetApp\\/netAppAccounts\\/capacityPools\\/volumes** \\\n * **Microsoft.NetApp\\/netAppAccounts\\/capacityPools\\/volumes\\/snapshots** \\\n * **Microsoft.NetApp\\/netAppAccounts\\/backupVaults\\/backups**: ANF Backup under a volume , deprecated, use `Microsoft.NetApp\\/netAppAccounts\\/backupVaults\\/backups` instead. \\\n * **Microsoft.NetApp\\/netAppAccounts\\/capacityPools\\/volumes\\/backups**: ANF Backup under a Backup Vault\n */\nexport type CheckQuotaNameResourceTypes = string;\n\n/** Network sibling set query. */\nexport interface QueryNetworkSiblingSetRequest {\n /** Network Sibling Set ID for a group of volumes sharing networking resources in a subnet. */\n networkSiblingSetId: string;\n /** The Azure Resource URI for a delegated subnet. Must have the delegation Microsoft.NetApp/volumes. Example /subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.Network/virtualNetworks/testVnet/subnets/{mySubnet} */\n subnetId: string;\n}\n\nexport function queryNetworkSiblingSetRequestSerializer(item: QueryNetworkSiblingSetRequest): any {\n return { networkSiblingSetId: item[\"networkSiblingSetId\"], subnetId: item[\"subnetId\"] };\n}\n\n/** Describes the contents of a network sibling set. */\nexport interface NetworkSiblingSet {\n /** Network Sibling Set ID for a group of volumes sharing networking resources in a subnet. */\n networkSiblingSetId?: string;\n /** The Azure Resource URI for a delegated subnet. Must have the delegation Microsoft.NetApp/volumes. Example /subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.Network/virtualNetworks/testVnet/subnets/{mySubnet} */\n subnetId?: string;\n /** Network sibling set state Id identifying the current state of the sibling set. */\n networkSiblingSetStateId?: string;\n /** Network features available to the volume, or current state of update. */\n networkFeatures?: NetworkFeatures;\n /** Gets the status of the NetworkSiblingSet at the time the operation was called. */\n readonly provisioningState?: NetworkSiblingSetProvisioningState;\n /** List of NIC information */\n nicInfoList?: NicInfo[];\n}\n\nexport function networkSiblingSetDeserializer(item: any): NetworkSiblingSet {\n return {\n networkSiblingSetId: item[\"networkSiblingSetId\"],\n subnetId: item[\"subnetId\"],\n networkSiblingSetStateId: item[\"networkSiblingSetStateId\"],\n networkFeatures: item[\"networkFeatures\"],\n provisioningState: item[\"provisioningState\"],\n nicInfoList: !item[\"nicInfoList\"]\n ? item[\"nicInfoList\"]\n : nicInfoArrayDeserializer(item[\"nicInfoList\"]),\n };\n}\n\n/** Gets the status of the NetworkSiblingSet at the time the operation was called. */\nexport enum KnownNetworkSiblingSetProvisioningState {\n /** Succeeded */\n Succeeded = \"Succeeded\",\n /** Failed */\n Failed = \"Failed\",\n /** Canceled */\n Canceled = \"Canceled\",\n /** Updating */\n Updating = \"Updating\",\n}\n\n/**\n * Gets the status of the NetworkSiblingSet at the time the operation was called. \\\n * {@link KnownNetworkSiblingSetProvisioningState} can be used interchangeably with NetworkSiblingSetProvisioningState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Succeeded** \\\n * **Failed** \\\n * **Canceled** \\\n * **Updating**\n */\nexport type NetworkSiblingSetProvisioningState = string;\n\nexport function nicInfoArrayDeserializer(result: Array<NicInfo>): any[] {\n return result.map((item) => {\n return nicInfoDeserializer(item);\n });\n}\n\n/** NIC information and list of volumes for which the NIC has the primary mount IP Address. */\nexport interface NicInfo {\n /** IP Address */\n readonly ipAddress?: string;\n /** Volume resource Ids */\n volumeResourceIds?: string[];\n}\n\nexport function nicInfoDeserializer(item: any): NicInfo {\n return {\n ipAddress: item[\"ipAddress\"],\n volumeResourceIds: !item[\"volumeResourceIds\"]\n ? item[\"volumeResourceIds\"]\n : item[\"volumeResourceIds\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Network sibling set update. */\nexport interface UpdateNetworkSiblingSetRequest {\n /** Network Sibling Set ID for a group of volumes sharing networking resources in a subnet. */\n networkSiblingSetId: string;\n /** The Azure Resource URI for a delegated subnet. Must have the delegation Microsoft.NetApp/volumes. Example /subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.Network/virtualNetworks/testVnet/subnets/{mySubnet} */\n subnetId: string;\n /** Network sibling set state Id identifying the current state of the sibling set. */\n networkSiblingSetStateId: string;\n /** Network features available to the volume. */\n networkFeatures: NetworkFeatures;\n}\n\nexport function updateNetworkSiblingSetRequestSerializer(\n item: UpdateNetworkSiblingSetRequest,\n): any {\n return {\n networkSiblingSetId: item[\"networkSiblingSetId\"],\n subnetId: item[\"subnetId\"],\n networkSiblingSetStateId: item[\"networkSiblingSetStateId\"],\n networkFeatures: item[\"networkFeatures\"],\n };\n}\n\n/** Usages result */\nexport interface _UsagesListResult {\n /** The UsageResult items on this page */\n value: UsageResult[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _usagesListResultDeserializer(item: any): _UsagesListResult {\n return {\n value: usageResultArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function usageResultArrayDeserializer(result: Array<UsageResult>): any[] {\n return result.map((item) => {\n return usageResultDeserializer(item);\n });\n}\n\n/** Usages entity model */\nexport interface UsageResult {\n /** The id of the usage. */\n readonly id?: string;\n /** The name of the usage. */\n readonly name?: UsageName;\n /** Usage properties */\n properties?: UsageProperties;\n}\n\nexport function usageResultDeserializer(item: any): UsageResult {\n return {\n id: item[\"id\"],\n name: !item[\"name\"] ? item[\"name\"] : usageNameDeserializer(item[\"name\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : usagePropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** The name of the usage. */\nexport interface UsageName {\n /** The name of the usage. */\n value?: string;\n /** The localized name of the usage. */\n localizedValue?: string;\n}\n\nexport function usageNameDeserializer(item: any): UsageName {\n return {\n value: item[\"value\"],\n localizedValue: item[\"localizedValue\"],\n };\n}\n\n/** Usage properties */\nexport interface UsageProperties {\n /** The current usage value for the subscription. */\n readonly currentValue?: number;\n /** The limit of the usage. */\n readonly limit?: number;\n /** The unit of the usage. */\n readonly unit?: string;\n}\n\nexport function usagePropertiesDeserializer(item: any): UsageProperties {\n return {\n currentValue: item[\"currentValue\"],\n limit: item[\"limit\"],\n unit: item[\"unit\"],\n };\n}\n\n/** The available API versions. */\nexport enum KnownVersions {\n /** The 2025-06-01 API version. */\n V20250601 = \"2025-06-01\",\n /** The 2025-08-01 API version. */\n V20250801 = \"2025-08-01\",\n /** The 2025-09-01 API version. */\n V20250901 = \"2025-09-01\",\n /** The 2025-12-01 API version. */\n V20251201 = \"2025-12-01\",\n}\n"]}
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/models/models.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/**\n * This file contains only generated model types and their (de)serializers.\n * Disable the following rules for internal models with '_' prefix and deserializers which require 'any' for raw JSON input.\n */\n/* eslint-disable @typescript-eslint/naming-convention */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/** A list of REST API operations supported by an Azure Resource Provider. It contains an URL link to get the next set of results. */\nexport interface _OperationListResult {\n /** The Operation items on this page */\n value: Operation[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _operationListResultDeserializer(item: any): _OperationListResult {\n return {\n value: operationArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function operationArrayDeserializer(result: Array<Operation>): any[] {\n return result.map((item) => {\n return operationDeserializer(item);\n });\n}\n\n/** Microsoft.NetApp REST API operation definition. */\nexport interface Operation {\n /** Operation name: {provider}/{resource}/{operation} */\n name?: string;\n /** Display metadata associated with the operation. */\n display?: OperationDisplay;\n /** The origin of operations. */\n origin?: string;\n /** Properties of operation, include metric specifications. */\n properties?: OperationProperties;\n}\n\nexport function operationDeserializer(item: any): Operation {\n return {\n name: item[\"name\"],\n display: !item[\"display\"] ? item[\"display\"] : operationDisplayDeserializer(item[\"display\"]),\n origin: item[\"origin\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : operationPropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** Display metadata associated with the operation. */\nexport interface OperationDisplay {\n /** Service provider: Microsoft NetApp. */\n provider?: string;\n /** Resource on which the operation is performed etc. */\n resource?: string;\n /** Type of operation: get, read, delete, etc. */\n operation?: string;\n /** Operation description. */\n description?: string;\n}\n\nexport function operationDisplayDeserializer(item: any): OperationDisplay {\n return {\n provider: item[\"provider\"],\n resource: item[\"resource\"],\n operation: item[\"operation\"],\n description: item[\"description\"],\n };\n}\n\n/** Properties of operation, include metric specifications. */\nexport interface OperationProperties {\n /** One property of operation, include metric specifications. */\n serviceSpecification?: ServiceSpecification;\n}\n\nexport function operationPropertiesDeserializer(item: any): OperationProperties {\n return {\n serviceSpecification: !item[\"serviceSpecification\"]\n ? item[\"serviceSpecification\"]\n : serviceSpecificationDeserializer(item[\"serviceSpecification\"]),\n };\n}\n\n/** One property of operation, include metric specifications. */\nexport interface ServiceSpecification {\n /** Metric specifications of operation. */\n metricSpecifications?: MetricSpecification[];\n /** Log specification of operation. */\n logSpecifications?: LogSpecification[];\n}\n\nexport function serviceSpecificationDeserializer(item: any): ServiceSpecification {\n return {\n metricSpecifications: !item[\"metricSpecifications\"]\n ? item[\"metricSpecifications\"]\n : metricSpecificationArrayDeserializer(item[\"metricSpecifications\"]),\n logSpecifications: !item[\"logSpecifications\"]\n ? item[\"logSpecifications\"]\n : logSpecificationArrayDeserializer(item[\"logSpecifications\"]),\n };\n}\n\nexport function metricSpecificationArrayDeserializer(result: Array<MetricSpecification>): any[] {\n return result.map((item) => {\n return metricSpecificationDeserializer(item);\n });\n}\n\n/** Metric specification of operation. */\nexport interface MetricSpecification {\n /** Name of metric specification. */\n name?: string;\n /** Display name of metric specification. */\n displayName?: string;\n /** Display description of metric specification. */\n displayDescription?: string;\n /** Unit could be Bytes or Count. */\n unit?: string;\n /** Support metric aggregation type. */\n supportedAggregationTypes?: MetricAggregationType[];\n /** The supported time grain types for the metrics. */\n supportedTimeGrainTypes?: string[];\n /** The internal metric name. */\n internalMetricName?: string;\n /** Whether or not the service is using regional MDM accounts. */\n enableRegionalMdmAccount?: boolean;\n /** The source MDM account. */\n sourceMdmAccount?: string;\n /** The source MDM namespace. */\n sourceMdmNamespace?: string;\n /** Dimensions of blobs, including blob type and access tier. */\n dimensions?: Dimension[];\n /** Aggregation type could be Average. */\n aggregationType?: string;\n /** The property to decide fill gap with zero or not. */\n fillGapWithZero?: boolean;\n /** The category this metric specification belong to, could be Capacity. */\n category?: string;\n /** Account Resource Id. */\n resourceIdDimensionNameOverride?: string;\n /** Whether the metric is internal. */\n isInternal?: boolean;\n}\n\nexport function metricSpecificationDeserializer(item: any): MetricSpecification {\n return {\n name: item[\"name\"],\n displayName: item[\"displayName\"],\n displayDescription: item[\"displayDescription\"],\n unit: item[\"unit\"],\n supportedAggregationTypes: !item[\"supportedAggregationTypes\"]\n ? item[\"supportedAggregationTypes\"]\n : item[\"supportedAggregationTypes\"].map((p: any) => {\n return p;\n }),\n supportedTimeGrainTypes: !item[\"supportedTimeGrainTypes\"]\n ? item[\"supportedTimeGrainTypes\"]\n : item[\"supportedTimeGrainTypes\"].map((p: any) => {\n return p;\n }),\n internalMetricName: item[\"internalMetricName\"],\n enableRegionalMdmAccount: item[\"enableRegionalMdmAccount\"],\n sourceMdmAccount: item[\"sourceMdmAccount\"],\n sourceMdmNamespace: item[\"sourceMdmNamespace\"],\n dimensions: !item[\"dimensions\"]\n ? item[\"dimensions\"]\n : dimensionArrayDeserializer(item[\"dimensions\"]),\n aggregationType: item[\"aggregationType\"],\n fillGapWithZero: item[\"fillGapWithZero\"],\n category: item[\"category\"],\n resourceIdDimensionNameOverride: item[\"resourceIdDimensionNameOverride\"],\n isInternal: item[\"isInternal\"],\n };\n}\n\n/** Known values of {@link MetricAggregationType} that the service accepts. */\nexport enum KnownMetricAggregationType {\n /** Average */\n Average = \"Average\",\n}\n\n/** Type of MetricAggregationType */\nexport type MetricAggregationType = string;\n\nexport function dimensionArrayDeserializer(result: Array<Dimension>): any[] {\n return result.map((item) => {\n return dimensionDeserializer(item);\n });\n}\n\n/** Dimension of blobs, possibly be blob type or access tier. */\nexport interface Dimension {\n /** Display name of dimension. */\n name?: string;\n /** Display name of dimension. */\n displayName?: string;\n}\n\nexport function dimensionDeserializer(item: any): Dimension {\n return {\n name: item[\"name\"],\n displayName: item[\"displayName\"],\n };\n}\n\nexport function logSpecificationArrayDeserializer(result: Array<LogSpecification>): any[] {\n return result.map((item) => {\n return logSpecificationDeserializer(item);\n });\n}\n\n/** Log Definition of a single resource metric. */\nexport interface LogSpecification {\n /** Name of log specification. */\n name?: string;\n /** Display name of log specification. */\n displayName?: string;\n}\n\nexport function logSpecificationDeserializer(item: any): LogSpecification {\n return {\n name: item[\"name\"],\n displayName: item[\"displayName\"],\n };\n}\n\n/** Common error response for all Azure Resource Manager APIs to return error details for failed operations. */\nexport interface ErrorResponse {\n /** The error object. */\n error?: ErrorDetail;\n}\n\nexport function errorResponseDeserializer(item: any): ErrorResponse {\n return {\n error: !item[\"error\"] ? item[\"error\"] : errorDetailDeserializer(item[\"error\"]),\n };\n}\n\n/** The error detail. */\nexport interface ErrorDetail {\n /** The error code. */\n readonly code?: string;\n /** The error message. */\n readonly message?: string;\n /** The error target. */\n readonly target?: string;\n /** The error details. */\n readonly details?: ErrorDetail[];\n /** The error additional info. */\n readonly additionalInfo?: ErrorAdditionalInfo[];\n}\n\nexport function errorDetailDeserializer(item: any): ErrorDetail {\n return {\n code: item[\"code\"],\n message: item[\"message\"],\n target: item[\"target\"],\n details: !item[\"details\"] ? item[\"details\"] : errorDetailArrayDeserializer(item[\"details\"]),\n additionalInfo: !item[\"additionalInfo\"]\n ? item[\"additionalInfo\"]\n : errorAdditionalInfoArrayDeserializer(item[\"additionalInfo\"]),\n };\n}\n\nexport function errorDetailArrayDeserializer(result: Array<ErrorDetail>): any[] {\n return result.map((item) => {\n return errorDetailDeserializer(item);\n });\n}\n\nexport function errorAdditionalInfoArrayDeserializer(result: Array<ErrorAdditionalInfo>): any[] {\n return result.map((item) => {\n return errorAdditionalInfoDeserializer(item);\n });\n}\n\n/** The resource management error additional info. */\nexport interface ErrorAdditionalInfo {\n /** The additional info type. */\n readonly type?: string;\n /** The additional info. */\n readonly info?: any;\n}\n\nexport function errorAdditionalInfoDeserializer(item: any): ErrorAdditionalInfo {\n return {\n type: item[\"type\"],\n info: item[\"info\"],\n };\n}\n\n/** Information regarding Quota Item. */\nexport interface QuotaItem extends ProxyResource {\n /** QuotaItem properties */\n properties?: QuotaItemProperties;\n}\n\nexport function quotaItemDeserializer(item: any): QuotaItem {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : quotaItemPropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** QuotaItem Properties */\nexport interface QuotaItemProperties {\n /** The current quota value. */\n readonly current?: number;\n /** The default quota value. */\n readonly default?: number;\n /** The usage quota value. */\n readonly usage?: number | null;\n}\n\nexport function quotaItemPropertiesDeserializer(item: any): QuotaItemProperties {\n return {\n current: item[\"current\"],\n default: item[\"default\"],\n usage: item[\"usage\"],\n };\n}\n\n/** The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location */\nexport interface ProxyResource extends Resource {}\n\nexport function proxyResourceSerializer(_item: ProxyResource): any {\n return {};\n}\n\nexport function proxyResourceDeserializer(item: any): ProxyResource {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n };\n}\n\n/** Common fields that are returned in the response for all Azure Resource Manager resources */\nexport interface Resource {\n /** Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} */\n readonly id?: string;\n /** The name of the resource */\n readonly name?: string;\n /** The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\" */\n readonly type?: string;\n /** Azure Resource Manager metadata containing createdBy and modifiedBy information. */\n readonly systemData?: SystemData;\n}\n\nexport function resourceSerializer(_item: Resource): any {\n return {};\n}\n\nexport function resourceDeserializer(item: any): Resource {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n };\n}\n\n/** Metadata pertaining to creation and last modification of the resource. */\nexport interface SystemData {\n /** The identity that created the resource. */\n createdBy?: string;\n /** The type of identity that created the resource. */\n createdByType?: CreatedByType;\n /** The timestamp of resource creation (UTC). */\n createdAt?: Date;\n /** The identity that last modified the resource. */\n lastModifiedBy?: string;\n /** The type of identity that last modified the resource. */\n lastModifiedByType?: CreatedByType;\n /** The timestamp of resource last modification (UTC) */\n lastModifiedAt?: Date;\n}\n\nexport function systemDataDeserializer(item: any): SystemData {\n return {\n createdBy: item[\"createdBy\"],\n createdByType: item[\"createdByType\"],\n createdAt: !item[\"createdAt\"] ? item[\"createdAt\"] : new Date(item[\"createdAt\"]),\n lastModifiedBy: item[\"lastModifiedBy\"],\n lastModifiedByType: item[\"lastModifiedByType\"],\n lastModifiedAt: !item[\"lastModifiedAt\"]\n ? item[\"lastModifiedAt\"]\n : new Date(item[\"lastModifiedAt\"]),\n };\n}\n\n/** The kind of entity that created the resource. */\nexport enum KnownCreatedByType {\n /** The entity was created by a user. */\n User = \"User\",\n /** The entity was created by an application. */\n Application = \"Application\",\n /** The entity was created by a managed identity. */\n ManagedIdentity = \"ManagedIdentity\",\n /** The entity was created by a key. */\n Key = \"Key\",\n}\n\n/**\n * The kind of entity that created the resource. \\\n * {@link KnownCreatedByType} can be used interchangeably with CreatedByType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **User**: The entity was created by a user. \\\n * **Application**: The entity was created by an application. \\\n * **ManagedIdentity**: The entity was created by a managed identity. \\\n * **Key**: The entity was created by a key.\n */\nexport type CreatedByType = string;\n\n/** List of Quota Items */\nexport interface _QuotaItemList {\n /** The QuotaItem items on this page */\n value: QuotaItem[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _quotaItemListDeserializer(item: any): _QuotaItemList {\n return {\n value: quotaItemArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function quotaItemArrayDeserializer(result: Array<QuotaItem>): any[] {\n return result.map((item) => {\n return quotaItemDeserializer(item);\n });\n}\n\n/** Volume group resource for create */\nexport interface VolumeGroupDetails extends ProxyResource {\n /** Volume group properties */\n properties?: VolumeGroupProperties;\n /** Resource location */\n location?: string;\n}\n\nexport function volumeGroupDetailsSerializer(item: VolumeGroupDetails): any {\n return {\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : volumeGroupPropertiesSerializer(item[\"properties\"]),\n location: item[\"location\"],\n };\n}\n\nexport function volumeGroupDetailsDeserializer(item: any): VolumeGroupDetails {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : volumeGroupPropertiesDeserializer(item[\"properties\"]),\n location: item[\"location\"],\n };\n}\n\n/** Volume group properties */\nexport interface VolumeGroupProperties {\n /** Azure lifecycle management */\n readonly provisioningState?: string;\n /** Volume group details */\n groupMetaData?: VolumeGroupMetaData;\n /** List of volumes from group */\n volumes?: VolumeGroupVolumeProperties[];\n}\n\nexport function volumeGroupPropertiesSerializer(item: VolumeGroupProperties): any {\n return {\n groupMetaData: !item[\"groupMetaData\"]\n ? item[\"groupMetaData\"]\n : volumeGroupMetaDataSerializer(item[\"groupMetaData\"]),\n volumes: !item[\"volumes\"]\n ? item[\"volumes\"]\n : volumeGroupVolumePropertiesArraySerializer(item[\"volumes\"]),\n };\n}\n\nexport function volumeGroupPropertiesDeserializer(item: any): VolumeGroupProperties {\n return {\n provisioningState: item[\"provisioningState\"],\n groupMetaData: !item[\"groupMetaData\"]\n ? item[\"groupMetaData\"]\n : volumeGroupMetaDataDeserializer(item[\"groupMetaData\"]),\n volumes: !item[\"volumes\"]\n ? item[\"volumes\"]\n : volumeGroupVolumePropertiesArrayDeserializer(item[\"volumes\"]),\n };\n}\n\n/** Volume group properties */\nexport interface VolumeGroupMetaData {\n /** Group Description */\n groupDescription?: string;\n /** Application Type */\n applicationType?: ApplicationType;\n /** Application specific identifier */\n applicationIdentifier?: string;\n /** Application specific placement rules for the volume group */\n globalPlacementRules?: PlacementKeyValuePairs[];\n /** Number of volumes in volume group */\n readonly volumesCount?: number;\n}\n\nexport function volumeGroupMetaDataSerializer(item: VolumeGroupMetaData): any {\n return {\n groupDescription: item[\"groupDescription\"],\n applicationType: item[\"applicationType\"],\n applicationIdentifier: item[\"applicationIdentifier\"],\n globalPlacementRules: !item[\"globalPlacementRules\"]\n ? item[\"globalPlacementRules\"]\n : placementKeyValuePairsArraySerializer(item[\"globalPlacementRules\"]),\n };\n}\n\nexport function volumeGroupMetaDataDeserializer(item: any): VolumeGroupMetaData {\n return {\n groupDescription: item[\"groupDescription\"],\n applicationType: item[\"applicationType\"],\n applicationIdentifier: item[\"applicationIdentifier\"],\n globalPlacementRules: !item[\"globalPlacementRules\"]\n ? item[\"globalPlacementRules\"]\n : placementKeyValuePairsArrayDeserializer(item[\"globalPlacementRules\"]),\n volumesCount: item[\"volumesCount\"],\n };\n}\n\n/** Application Type */\nexport enum KnownApplicationType {\n /** SAP-HANA */\n SAPHana = \"SAP-HANA\",\n /** ORACLE */\n Oracle = \"ORACLE\",\n}\n\n/**\n * Application Type \\\n * {@link KnownApplicationType} can be used interchangeably with ApplicationType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **SAP-HANA** \\\n * **ORACLE**\n */\nexport type ApplicationType = string;\n\nexport function placementKeyValuePairsArraySerializer(\n result: Array<PlacementKeyValuePairs>,\n): any[] {\n return result.map((item) => {\n return placementKeyValuePairsSerializer(item);\n });\n}\n\nexport function placementKeyValuePairsArrayDeserializer(\n result: Array<PlacementKeyValuePairs>,\n): any[] {\n return result.map((item) => {\n return placementKeyValuePairsDeserializer(item);\n });\n}\n\n/** Application specific parameters for the placement of volumes in the volume group */\nexport interface PlacementKeyValuePairs {\n /** Key for an application specific parameter for the placement of volumes in the volume group */\n key: string;\n /** Value for an application specific parameter for the placement of volumes in the volume group */\n value: string;\n}\n\nexport function placementKeyValuePairsSerializer(item: PlacementKeyValuePairs): any {\n return { key: item[\"key\"], value: item[\"value\"] };\n}\n\nexport function placementKeyValuePairsDeserializer(item: any): PlacementKeyValuePairs {\n return {\n key: item[\"key\"],\n value: item[\"value\"],\n };\n}\n\nexport function volumeGroupVolumePropertiesArraySerializer(\n result: Array<VolumeGroupVolumeProperties>,\n): any[] {\n return result.map((item) => {\n return volumeGroupVolumePropertiesSerializer(item);\n });\n}\n\nexport function volumeGroupVolumePropertiesArrayDeserializer(\n result: Array<VolumeGroupVolumeProperties>,\n): any[] {\n return result.map((item) => {\n return volumeGroupVolumePropertiesDeserializer(item);\n });\n}\n\n/** Volume resource */\nexport interface VolumeGroupVolumeProperties {\n /** Resource Id */\n readonly id?: string;\n /** Resource name */\n name?: string;\n /** Resource type */\n readonly type?: string;\n /** Resource tags */\n tags?: Record<string, string>;\n /** Availability Zone */\n zones?: string[];\n /** Volume properties */\n properties: VolumeProperties;\n}\n\nexport function volumeGroupVolumePropertiesSerializer(item: VolumeGroupVolumeProperties): any {\n return {\n name: item[\"name\"],\n tags: item[\"tags\"],\n zones: !item[\"zones\"]\n ? item[\"zones\"]\n : item[\"zones\"].map((p: any) => {\n return p;\n }),\n properties: volumePropertiesSerializer(item[\"properties\"]),\n };\n}\n\nexport function volumeGroupVolumePropertiesDeserializer(item: any): VolumeGroupVolumeProperties {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n zones: !item[\"zones\"]\n ? item[\"zones\"]\n : item[\"zones\"].map((p: any) => {\n return p;\n }),\n properties: volumePropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** Volume properties */\nexport interface VolumeProperties {\n /** Unique FileSystem Identifier. */\n readonly fileSystemId?: string;\n /** A unique file path for the volume. Used when creating mount targets */\n creationToken: string;\n /** The service level of the file system */\n serviceLevel?: ServiceLevel;\n /** Maximum storage quota allowed for a file system in bytes. This is a soft quota used for alerting only. For regular volumes, valid values are in the range 50GiB to 100TiB. For large volumes, valid values are in the range 100TiB to 500TiB, and on an exceptional basis, from to 2400GiB to 2400TiB. Values expressed in bytes as multiples of 1 GiB. */\n usageThreshold: number;\n /** Set of export policy rules */\n exportPolicy?: VolumePropertiesExportPolicy;\n /** Set of protocol types, default NFSv3, CIFS for SMB protocol */\n protocolTypes?: string[];\n /** Azure lifecycle management */\n readonly provisioningState?: string;\n /** Resource identifier used to identify the Snapshot. */\n snapshotId?: string | null;\n /** If enabled (true) the snapshot the volume was created from will be automatically deleted after the volume create operation has finished. Defaults to false */\n deleteBaseSnapshot?: boolean;\n /** Resource identifier used to identify the Backup. */\n backupId?: string | null;\n /** Unique Baremetal Tenant Identifier. */\n readonly baremetalTenantId?: string;\n /** The Azure Resource URI for a delegated subnet. Must have the delegation Microsoft.NetApp/volumes */\n subnetId: string;\n /** The original value of the network features type available to the volume at the time it was created. */\n networkFeatures?: NetworkFeatures;\n /** The effective value of the network features type available to the volume, or current effective state of update. */\n readonly effectiveNetworkFeatures?: NetworkFeatures;\n /** Network Sibling Set ID for the the group of volumes sharing networking resources. */\n readonly networkSiblingSetId?: string;\n /** Provides storage to network proximity information for the volume. */\n readonly storageToNetworkProximity?: VolumeStorageToNetworkProximity;\n /** List of mount targets */\n readonly mountTargets?: MountTargetProperties[];\n /** What type of volume is this. For destination volumes in Cross Region Replication, set type to DataProtection. For creating clone volume, set type to ShortTermClone */\n volumeType?: string;\n /** DataProtection type volumes include an object containing details of the replication */\n dataProtection?: VolumePropertiesDataProtection;\n /** While auto splitting the short term clone volume, if the parent pool does not have enough space to accommodate the volume after split, it will be automatically resized, which will lead to increased billing. To accept capacity pool size auto grow and create a short term clone volume, set the property as accepted. */\n acceptGrowCapacityPoolForShortTermCloneSplit?: AcceptGrowCapacityPoolForShortTermCloneSplit;\n /** Restoring */\n readonly isRestoring?: boolean;\n /** If enabled (true) the volume will contain a read-only snapshot directory which provides access to each of the volume's snapshots (defaults to true). */\n snapshotDirectoryVisible?: boolean;\n /** Describe if a volume is KerberosEnabled. To be use with swagger version 2020-05-01 or later */\n kerberosEnabled?: boolean;\n /** The security style of volume, default unix, defaults to ntfs for dual protocol or CIFS protocol */\n securityStyle?: SecurityStyle;\n /** Enables encryption for in-flight smb3 data. Only applicable for SMB/DualProtocol volume. To be used with swagger version 2020-08-01 or later */\n smbEncryption?: boolean;\n /** Enables access-based enumeration share property for SMB Shares. Only applicable for SMB/DualProtocol volume */\n smbAccessBasedEnumeration?: SmbAccessBasedEnumeration | null;\n /** Enables non-browsable property for SMB Shares. Only applicable for SMB/DualProtocol volume */\n smbNonBrowsable?: SmbNonBrowsable;\n /** Enables continuously available share property for smb volume. Only applicable for SMB volume */\n smbContinuouslyAvailable?: boolean;\n /** Maximum throughput in MiB/s that can be achieved by this volume and this will be accepted as input only for manual qosType volume */\n throughputMibps?: number | null;\n /** Actual throughput in MiB/s for auto qosType volumes calculated based on size and serviceLevel */\n readonly actualThroughputMibps?: number;\n /** Source of key used to encrypt data in volume. Applicable if NetApp account has encryption.keySource = 'Microsoft.KeyVault'. Possible values (case-insensitive) are: 'Microsoft.NetApp, Microsoft.KeyVault' */\n encryptionKeySource?: EncryptionKeySource;\n /** The resource ID of private endpoint for KeyVault. It must reside in the same VNET as the volume. Only applicable if encryptionKeySource = 'Microsoft.KeyVault'. */\n keyVaultPrivateEndpointResourceId?: string;\n /** Specifies whether LDAP is enabled or not for a given NFS volume. */\n ldapEnabled?: boolean;\n /** Specifies whether Cool Access(tiering) is enabled for the volume. */\n coolAccess?: boolean;\n /** Specifies the number of days after which data that is not accessed by clients will be tiered. */\n coolnessPeriod?: number;\n /**\n * coolAccessRetrievalPolicy determines the data retrieval behavior from the cool tier to standard storage based on the read pattern for cool access enabled volumes. The possible values for this field are:\n * Default - Data will be pulled from cool tier to standard storage on random reads. This policy is the default.\n * OnRead - All client-driven data read is pulled from cool tier to standard storage on both sequential and random reads.\n * Never - No client-driven data is pulled from cool tier to standard storage.\n */\n coolAccessRetrievalPolicy?: CoolAccessRetrievalPolicy;\n /** coolAccessTieringPolicy determines which cold data blocks are moved to cool tier. The possible values for this field are: Auto - Moves cold user data blocks in both the Snapshot copies and the active file system to the cool tier tier. This policy is the default. SnapshotOnly - Moves user data blocks of the Volume Snapshot copies that are not associated with the active file system to the cool tier. */\n coolAccessTieringPolicy?: CoolAccessTieringPolicy;\n /** UNIX permissions for NFS volume accepted in octal 4 digit format. First digit selects the set user ID(4), set group ID (2) and sticky (1) attributes. Second digit selects permission for the owner of the file: read (4), write (2) and execute (1). Third selects permissions for other users in the same group. the fourth for other users not in the group. 0755 - gives read/write/execute permissions to owner and read/execute to group and other users. */\n unixPermissions?: string | null;\n /** When a volume is being restored from another volume's snapshot, will show the percentage completion of this cloning process. When this value is empty/null there is no cloning process currently happening on this volume. This value will update every 5 minutes during cloning. */\n readonly cloneProgress?: number | null;\n /** Flag indicating whether file access logs are enabled for the volume, based on active diagnostic settings present on the volume. */\n readonly fileAccessLogs?: FileAccessLogs;\n /** Specifies whether the volume is enabled for Azure VMware Solution (AVS) datastore purpose */\n avsDataStore?: AvsDataStore;\n /** Data store resource unique identifier */\n readonly dataStoreResourceId?: string[];\n /** Specifies if default quota is enabled for the volume. */\n isDefaultQuotaEnabled?: boolean;\n /** Default user quota for volume in KiBs. If isDefaultQuotaEnabled is set, the minimum value of 4 KiBs applies . */\n defaultUserQuotaInKiBs?: number;\n /** Default group quota for volume in KiBs. If isDefaultQuotaEnabled is set, the minimum value of 4 KiBs applies. */\n defaultGroupQuotaInKiBs?: number;\n /** Maximum number of files allowed. Needs a service request in order to be changed. Only allowed to be changed if volume quota is more than 4TiB. */\n readonly maximumNumberOfFiles?: number;\n /** Volume Group Name */\n readonly volumeGroupName?: string;\n /** Pool Resource Id used in case of creating a volume through volume group */\n capacityPoolResourceId?: string;\n /** Proximity placement group associated with the volume */\n proximityPlacementGroup?: string;\n /** T2 network information */\n readonly t2Network?: string;\n /** Volume spec name is the application specific designation or identifier for the particular volume in a volume group for e.g. data, log */\n volumeSpecName?: string;\n /** Specifies if the volume is encrypted or not. Only available on volumes created or updated after 2022-01-01. */\n readonly encrypted?: boolean;\n /** Application specific placement rules for the particular volume */\n placementRules?: PlacementKeyValuePairs[];\n /** Flag indicating whether subvolume operations are enabled on the volume */\n enableSubvolumes?: EnableSubvolumes;\n /** The availability zone where the volume is provisioned. This refers to the logical availability zone where the volume resides. */\n readonly provisionedAvailabilityZone?: string | null;\n /** Specifies whether volume is a Large Volume or Regular Volume. */\n isLargeVolume?: boolean;\n /** Id of the snapshot or backup that the volume is restored from. */\n readonly originatingResourceId?: string | null;\n /** Space shared by short term clone volume with parent volume in bytes. */\n readonly inheritedSizeInBytes?: number | null;\n}\n\nexport function volumePropertiesSerializer(item: VolumeProperties): any {\n return {\n creationToken: item[\"creationToken\"],\n serviceLevel: item[\"serviceLevel\"],\n usageThreshold: item[\"usageThreshold\"],\n exportPolicy: !item[\"exportPolicy\"]\n ? item[\"exportPolicy\"]\n : volumePropertiesExportPolicySerializer(item[\"exportPolicy\"]),\n protocolTypes: !item[\"protocolTypes\"]\n ? item[\"protocolTypes\"]\n : item[\"protocolTypes\"].map((p: any) => {\n return p;\n }),\n snapshotId: item[\"snapshotId\"],\n deleteBaseSnapshot: item[\"deleteBaseSnapshot\"],\n backupId: item[\"backupId\"],\n subnetId: item[\"subnetId\"],\n networkFeatures: item[\"networkFeatures\"],\n volumeType: item[\"volumeType\"],\n dataProtection: !item[\"dataProtection\"]\n ? item[\"dataProtection\"]\n : volumePropertiesDataProtectionSerializer(item[\"dataProtection\"]),\n acceptGrowCapacityPoolForShortTermCloneSplit:\n item[\"acceptGrowCapacityPoolForShortTermCloneSplit\"],\n snapshotDirectoryVisible: item[\"snapshotDirectoryVisible\"],\n kerberosEnabled: item[\"kerberosEnabled\"],\n securityStyle: item[\"securityStyle\"],\n smbEncryption: item[\"smbEncryption\"],\n smbAccessBasedEnumeration: item[\"smbAccessBasedEnumeration\"],\n smbNonBrowsable: item[\"smbNonBrowsable\"],\n smbContinuouslyAvailable: item[\"smbContinuouslyAvailable\"],\n throughputMibps: item[\"throughputMibps\"],\n encryptionKeySource: item[\"encryptionKeySource\"],\n keyVaultPrivateEndpointResourceId: item[\"keyVaultPrivateEndpointResourceId\"],\n ldapEnabled: item[\"ldapEnabled\"],\n coolAccess: item[\"coolAccess\"],\n coolnessPeriod: item[\"coolnessPeriod\"],\n coolAccessRetrievalPolicy: item[\"coolAccessRetrievalPolicy\"],\n coolAccessTieringPolicy: item[\"coolAccessTieringPolicy\"],\n unixPermissions: item[\"unixPermissions\"],\n avsDataStore: item[\"avsDataStore\"],\n isDefaultQuotaEnabled: item[\"isDefaultQuotaEnabled\"],\n defaultUserQuotaInKiBs: item[\"defaultUserQuotaInKiBs\"],\n defaultGroupQuotaInKiBs: item[\"defaultGroupQuotaInKiBs\"],\n capacityPoolResourceId: item[\"capacityPoolResourceId\"],\n proximityPlacementGroup: item[\"proximityPlacementGroup\"],\n volumeSpecName: item[\"volumeSpecName\"],\n placementRules: !item[\"placementRules\"]\n ? item[\"placementRules\"]\n : placementKeyValuePairsArraySerializer(item[\"placementRules\"]),\n enableSubvolumes: item[\"enableSubvolumes\"],\n isLargeVolume: item[\"isLargeVolume\"],\n };\n}\n\nexport function volumePropertiesDeserializer(item: any): VolumeProperties {\n return {\n fileSystemId: item[\"fileSystemId\"],\n creationToken: item[\"creationToken\"],\n serviceLevel: item[\"serviceLevel\"],\n usageThreshold: item[\"usageThreshold\"],\n exportPolicy: !item[\"exportPolicy\"]\n ? item[\"exportPolicy\"]\n : volumePropertiesExportPolicyDeserializer(item[\"exportPolicy\"]),\n protocolTypes: !item[\"protocolTypes\"]\n ? item[\"protocolTypes\"]\n : item[\"protocolTypes\"].map((p: any) => {\n return p;\n }),\n provisioningState: item[\"provisioningState\"],\n snapshotId: item[\"snapshotId\"],\n deleteBaseSnapshot: item[\"deleteBaseSnapshot\"],\n backupId: item[\"backupId\"],\n baremetalTenantId: item[\"baremetalTenantId\"],\n subnetId: item[\"subnetId\"],\n networkFeatures: item[\"networkFeatures\"],\n effectiveNetworkFeatures: item[\"effectiveNetworkFeatures\"],\n networkSiblingSetId: item[\"networkSiblingSetId\"],\n storageToNetworkProximity: item[\"storageToNetworkProximity\"],\n mountTargets: !item[\"mountTargets\"]\n ? item[\"mountTargets\"]\n : mountTargetPropertiesArrayDeserializer(item[\"mountTargets\"]),\n volumeType: item[\"volumeType\"],\n dataProtection: !item[\"dataProtection\"]\n ? item[\"dataProtection\"]\n : volumePropertiesDataProtectionDeserializer(item[\"dataProtection\"]),\n acceptGrowCapacityPoolForShortTermCloneSplit:\n item[\"acceptGrowCapacityPoolForShortTermCloneSplit\"],\n isRestoring: item[\"isRestoring\"],\n snapshotDirectoryVisible: item[\"snapshotDirectoryVisible\"],\n kerberosEnabled: item[\"kerberosEnabled\"],\n securityStyle: item[\"securityStyle\"],\n smbEncryption: item[\"smbEncryption\"],\n smbAccessBasedEnumeration: item[\"smbAccessBasedEnumeration\"],\n smbNonBrowsable: item[\"smbNonBrowsable\"],\n smbContinuouslyAvailable: item[\"smbContinuouslyAvailable\"],\n throughputMibps: item[\"throughputMibps\"],\n actualThroughputMibps: item[\"actualThroughputMibps\"],\n encryptionKeySource: item[\"encryptionKeySource\"],\n keyVaultPrivateEndpointResourceId: item[\"keyVaultPrivateEndpointResourceId\"],\n ldapEnabled: item[\"ldapEnabled\"],\n coolAccess: item[\"coolAccess\"],\n coolnessPeriod: item[\"coolnessPeriod\"],\n coolAccessRetrievalPolicy: item[\"coolAccessRetrievalPolicy\"],\n coolAccessTieringPolicy: item[\"coolAccessTieringPolicy\"],\n unixPermissions: item[\"unixPermissions\"],\n cloneProgress: item[\"cloneProgress\"],\n fileAccessLogs: item[\"fileAccessLogs\"],\n avsDataStore: item[\"avsDataStore\"],\n dataStoreResourceId: !item[\"dataStoreResourceId\"]\n ? item[\"dataStoreResourceId\"]\n : item[\"dataStoreResourceId\"].map((p: any) => {\n return p;\n }),\n isDefaultQuotaEnabled: item[\"isDefaultQuotaEnabled\"],\n defaultUserQuotaInKiBs: item[\"defaultUserQuotaInKiBs\"],\n defaultGroupQuotaInKiBs: item[\"defaultGroupQuotaInKiBs\"],\n maximumNumberOfFiles: item[\"maximumNumberOfFiles\"],\n volumeGroupName: item[\"volumeGroupName\"],\n capacityPoolResourceId: item[\"capacityPoolResourceId\"],\n proximityPlacementGroup: item[\"proximityPlacementGroup\"],\n t2Network: item[\"t2Network\"],\n volumeSpecName: item[\"volumeSpecName\"],\n encrypted: item[\"encrypted\"],\n placementRules: !item[\"placementRules\"]\n ? item[\"placementRules\"]\n : placementKeyValuePairsArrayDeserializer(item[\"placementRules\"]),\n enableSubvolumes: item[\"enableSubvolumes\"],\n provisionedAvailabilityZone: item[\"provisionedAvailabilityZone\"],\n isLargeVolume: item[\"isLargeVolume\"],\n originatingResourceId: item[\"originatingResourceId\"],\n inheritedSizeInBytes: item[\"inheritedSizeInBytes\"],\n };\n}\n\n/** The service level of the file system */\nexport enum KnownServiceLevel {\n /** Standard service level */\n Standard = \"Standard\",\n /** Premium service level */\n Premium = \"Premium\",\n /** Ultra service level */\n Ultra = \"Ultra\",\n /** Zone redundant storage service level. This will be deprecated soon. */\n StandardZRS = \"StandardZRS\",\n /** Flexible service level */\n Flexible = \"Flexible\",\n}\n\n/**\n * The service level of the file system \\\n * {@link KnownServiceLevel} can be used interchangeably with ServiceLevel,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Standard**: Standard service level \\\n * **Premium**: Premium service level \\\n * **Ultra**: Ultra service level \\\n * **StandardZRS**: Zone redundant storage service level. This will be deprecated soon. \\\n * **Flexible**: Flexible service level\n */\nexport type ServiceLevel = string;\n\n/** Set of export policy rules */\nexport interface VolumePropertiesExportPolicy {\n /** Export policy rule */\n rules?: ExportPolicyRule[];\n}\n\nexport function volumePropertiesExportPolicySerializer(item: VolumePropertiesExportPolicy): any {\n return { rules: !item[\"rules\"] ? item[\"rules\"] : exportPolicyRuleArraySerializer(item[\"rules\"]) };\n}\n\nexport function volumePropertiesExportPolicyDeserializer(item: any): VolumePropertiesExportPolicy {\n return {\n rules: !item[\"rules\"] ? item[\"rules\"] : exportPolicyRuleArrayDeserializer(item[\"rules\"]),\n };\n}\n\nexport function exportPolicyRuleArraySerializer(result: Array<ExportPolicyRule>): any[] {\n return result.map((item) => {\n return exportPolicyRuleSerializer(item);\n });\n}\n\nexport function exportPolicyRuleArrayDeserializer(result: Array<ExportPolicyRule>): any[] {\n return result.map((item) => {\n return exportPolicyRuleDeserializer(item);\n });\n}\n\n/** Volume Export Policy Rule */\nexport interface ExportPolicyRule {\n /** Order index */\n ruleIndex?: number;\n /** Read only access */\n unixReadOnly?: boolean;\n /** Read and write access */\n unixReadWrite?: boolean;\n /** Kerberos5 Read only access. To be use with swagger version 2020-05-01 or later */\n kerberos5ReadOnly?: boolean;\n /** Kerberos5 Read and write access. To be use with swagger version 2020-05-01 or later */\n kerberos5ReadWrite?: boolean;\n /** Kerberos5i Read only access. To be use with swagger version 2020-05-01 or later */\n kerberos5IReadOnly?: boolean;\n /** Kerberos5i Read and write access. To be use with swagger version 2020-05-01 or later */\n kerberos5IReadWrite?: boolean;\n /** Kerberos5p Read only access. To be use with swagger version 2020-05-01 or later */\n kerberos5PReadOnly?: boolean;\n /** Kerberos5p Read and write access. To be use with swagger version 2020-05-01 or later */\n kerberos5PReadWrite?: boolean;\n /** Allows CIFS protocol */\n cifs?: boolean;\n /** Allows NFSv3 protocol. Enable only for NFSv3 type volumes */\n nfsv3?: boolean;\n /** Allows NFSv4.1 protocol. Enable only for NFSv4.1 type volumes */\n nfsv41?: boolean;\n /** Client ingress specification as comma separated string with IPv4 CIDRs, IPv4 host addresses and host names */\n allowedClients?: string;\n /** Has root access to volume */\n hasRootAccess?: boolean;\n /** This parameter specifies who is authorized to change the ownership of a file. restricted - Only root user can change the ownership of the file. unrestricted - Non-root users can change ownership of files that they own. */\n chownMode?: ChownMode;\n}\n\nexport function exportPolicyRuleSerializer(item: ExportPolicyRule): any {\n return {\n ruleIndex: item[\"ruleIndex\"],\n unixReadOnly: item[\"unixReadOnly\"],\n unixReadWrite: item[\"unixReadWrite\"],\n kerberos5ReadOnly: item[\"kerberos5ReadOnly\"],\n kerberos5ReadWrite: item[\"kerberos5ReadWrite\"],\n kerberos5iReadOnly: item[\"kerberos5IReadOnly\"],\n kerberos5iReadWrite: item[\"kerberos5IReadWrite\"],\n kerberos5pReadOnly: item[\"kerberos5PReadOnly\"],\n kerberos5pReadWrite: item[\"kerberos5PReadWrite\"],\n cifs: item[\"cifs\"],\n nfsv3: item[\"nfsv3\"],\n nfsv41: item[\"nfsv41\"],\n allowedClients: item[\"allowedClients\"],\n hasRootAccess: item[\"hasRootAccess\"],\n chownMode: item[\"chownMode\"],\n };\n}\n\nexport function exportPolicyRuleDeserializer(item: any): ExportPolicyRule {\n return {\n ruleIndex: item[\"ruleIndex\"],\n unixReadOnly: item[\"unixReadOnly\"],\n unixReadWrite: item[\"unixReadWrite\"],\n kerberos5ReadOnly: item[\"kerberos5ReadOnly\"],\n kerberos5ReadWrite: item[\"kerberos5ReadWrite\"],\n kerberos5IReadOnly: item[\"kerberos5iReadOnly\"],\n kerberos5IReadWrite: item[\"kerberos5iReadWrite\"],\n kerberos5PReadOnly: item[\"kerberos5pReadOnly\"],\n kerberos5PReadWrite: item[\"kerberos5pReadWrite\"],\n cifs: item[\"cifs\"],\n nfsv3: item[\"nfsv3\"],\n nfsv41: item[\"nfsv41\"],\n allowedClients: item[\"allowedClients\"],\n hasRootAccess: item[\"hasRootAccess\"],\n chownMode: item[\"chownMode\"],\n };\n}\n\n/** This parameter specifies who is authorized to change the ownership of a file. restricted - Only root user can change the ownership of the file. unrestricted - Non-root users can change ownership of files that they own. */\nexport enum KnownChownMode {\n /** Restricted */\n Restricted = \"Restricted\",\n /** Unrestricted */\n Unrestricted = \"Unrestricted\",\n}\n\n/**\n * This parameter specifies who is authorized to change the ownership of a file. restricted - Only root user can change the ownership of the file. unrestricted - Non-root users can change ownership of files that they own. \\\n * {@link KnownChownMode} can be used interchangeably with ChownMode,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Restricted** \\\n * **Unrestricted**\n */\nexport type ChownMode = string;\n\n/** Network features available to the volume, or current state of update. */\nexport enum KnownNetworkFeatures {\n /** Basic network features. */\n Basic = \"Basic\",\n /** Standard network features. */\n Standard = \"Standard\",\n /** Updating from Basic to Standard network features. */\n BasicStandard = \"Basic_Standard\",\n /** Updating from Standard to Basic network features. */\n StandardBasic = \"Standard_Basic\",\n}\n\n/**\n * Network features available to the volume, or current state of update. \\\n * {@link KnownNetworkFeatures} can be used interchangeably with NetworkFeatures,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Basic**: Basic network features. \\\n * **Standard**: Standard network features. \\\n * **Basic_Standard**: Updating from Basic to Standard network features. \\\n * **Standard_Basic**: Updating from Standard to Basic network features.\n */\nexport type NetworkFeatures = string;\n\n/** Provides storage to network proximity information for the volume. */\nexport enum KnownVolumeStorageToNetworkProximity {\n /** Basic storage to network connectivity. */\n Default = \"Default\",\n /** Standard T1 storage to network connectivity. */\n T1 = \"T1\",\n /** Standard T2 storage to network connectivity. */\n T2 = \"T2\",\n /** Standard AcrossT2 storage to network connectivity. */\n AcrossT2 = \"AcrossT2\",\n}\n\n/**\n * Provides storage to network proximity information for the volume. \\\n * {@link KnownVolumeStorageToNetworkProximity} can be used interchangeably with VolumeStorageToNetworkProximity,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Default**: Basic storage to network connectivity. \\\n * **T1**: Standard T1 storage to network connectivity. \\\n * **T2**: Standard T2 storage to network connectivity. \\\n * **AcrossT2**: Standard AcrossT2 storage to network connectivity.\n */\nexport type VolumeStorageToNetworkProximity = string;\n\nexport function mountTargetPropertiesArrayDeserializer(\n result: Array<MountTargetProperties>,\n): any[] {\n return result.map((item) => {\n return mountTargetPropertiesDeserializer(item);\n });\n}\n\n/** Mount target properties */\nexport interface MountTargetProperties {\n /** UUID v4 used to identify the MountTarget */\n readonly mountTargetId?: string;\n /** UUID v4 used to identify the MountTarget */\n fileSystemId: string;\n /** The mount target's IPv4 address */\n readonly ipAddress?: string;\n /** The SMB server's Fully Qualified Domain Name, FQDN */\n smbServerFqdn?: string;\n}\n\nexport function mountTargetPropertiesDeserializer(item: any): MountTargetProperties {\n return {\n mountTargetId: item[\"mountTargetId\"],\n fileSystemId: item[\"fileSystemId\"],\n ipAddress: item[\"ipAddress\"],\n smbServerFqdn: item[\"smbServerFqdn\"],\n };\n}\n\n/** DataProtection type volumes include an object containing details of the replication */\nexport interface VolumePropertiesDataProtection {\n /** Backup Properties */\n backup?: VolumeBackupProperties;\n /** Replication properties */\n replication?: ReplicationObject;\n /** Snapshot properties. */\n snapshot?: VolumeSnapshotProperties;\n /** VolumeRelocation properties */\n volumeRelocation?: VolumeRelocationProperties;\n /** Advanced Ransomware Protection settings */\n ransomwareProtection?: RansomwareProtectionSettings;\n}\n\nexport function volumePropertiesDataProtectionSerializer(\n item: VolumePropertiesDataProtection,\n): any {\n return {\n backup: !item[\"backup\"] ? item[\"backup\"] : volumeBackupPropertiesSerializer(item[\"backup\"]),\n replication: !item[\"replication\"]\n ? item[\"replication\"]\n : replicationObjectSerializer(item[\"replication\"]),\n snapshot: !item[\"snapshot\"]\n ? item[\"snapshot\"]\n : volumeSnapshotPropertiesSerializer(item[\"snapshot\"]),\n volumeRelocation: !item[\"volumeRelocation\"]\n ? item[\"volumeRelocation\"]\n : volumeRelocationPropertiesSerializer(item[\"volumeRelocation\"]),\n ransomwareProtection: !item[\"ransomwareProtection\"]\n ? item[\"ransomwareProtection\"]\n : ransomwareProtectionSettingsSerializer(item[\"ransomwareProtection\"]),\n };\n}\n\nexport function volumePropertiesDataProtectionDeserializer(\n item: any,\n): VolumePropertiesDataProtection {\n return {\n backup: !item[\"backup\"] ? item[\"backup\"] : volumeBackupPropertiesDeserializer(item[\"backup\"]),\n replication: !item[\"replication\"]\n ? item[\"replication\"]\n : replicationObjectDeserializer(item[\"replication\"]),\n snapshot: !item[\"snapshot\"]\n ? item[\"snapshot\"]\n : volumeSnapshotPropertiesDeserializer(item[\"snapshot\"]),\n volumeRelocation: !item[\"volumeRelocation\"]\n ? item[\"volumeRelocation\"]\n : volumeRelocationPropertiesDeserializer(item[\"volumeRelocation\"]),\n ransomwareProtection: !item[\"ransomwareProtection\"]\n ? item[\"ransomwareProtection\"]\n : ransomwareProtectionSettingsDeserializer(item[\"ransomwareProtection\"]),\n };\n}\n\n/** Volume Backup Properties */\nexport interface VolumeBackupProperties {\n /** Backup Policy Resource ID */\n backupPolicyId?: string;\n /** Policy Enforced */\n policyEnforced?: boolean;\n /** Backup Vault Resource ID */\n backupVaultId?: string;\n}\n\nexport function volumeBackupPropertiesSerializer(item: VolumeBackupProperties): any {\n return {\n backupPolicyId: item[\"backupPolicyId\"],\n policyEnforced: item[\"policyEnforced\"],\n backupVaultId: item[\"backupVaultId\"],\n };\n}\n\nexport function volumeBackupPropertiesDeserializer(item: any): VolumeBackupProperties {\n return {\n backupPolicyId: item[\"backupPolicyId\"],\n policyEnforced: item[\"policyEnforced\"],\n backupVaultId: item[\"backupVaultId\"],\n };\n}\n\n/** Replication properties */\nexport interface ReplicationObject {\n /** Id */\n readonly replicationId?: string;\n /** Indicates whether the local volume is the source or destination for the Volume Replication */\n readonly endpointType?: EndpointType;\n /** Schedule */\n replicationSchedule?: ReplicationSchedule;\n /** The resource ID of the remote volume. Required for cross region and cross zone replication */\n remoteVolumeResourceId?: string;\n /** The full path to a volume that is to be migrated into ANF. Required for Migration volumes */\n remotePath?: RemotePath;\n /** The remote region for the other end of the Volume Replication. */\n remoteVolumeRegion?: string;\n /** A list of destination replications */\n readonly destinationReplications?: DestinationReplication[];\n /** Property that only applies to external replications. Provides a machine-readable value for the status of the external replication setup. */\n readonly externalReplicationSetupStatus?: ExternalReplicationSetupStatus;\n /** Contains human-readable instructions on what the next step is to finish the external replication setup. */\n readonly externalReplicationSetupInfo?: string;\n /** The mirror state property describes the current status of data replication for a replication. It provides insight into whether the data is actively being mirrored, if the replication process has been paused, or if it has yet to be initialized. */\n readonly mirrorState?: MirrorState;\n /** The status of the Volume Replication */\n readonly relationshipStatus?: VolumeReplicationRelationshipStatus;\n}\n\nexport function replicationObjectSerializer(item: ReplicationObject): any {\n return {\n replicationSchedule: item[\"replicationSchedule\"],\n remoteVolumeResourceId: item[\"remoteVolumeResourceId\"],\n remotePath: !item[\"remotePath\"] ? item[\"remotePath\"] : remotePathSerializer(item[\"remotePath\"]),\n remoteVolumeRegion: item[\"remoteVolumeRegion\"],\n };\n}\n\nexport function replicationObjectDeserializer(item: any): ReplicationObject {\n return {\n replicationId: item[\"replicationId\"],\n endpointType: item[\"endpointType\"],\n replicationSchedule: item[\"replicationSchedule\"],\n remoteVolumeResourceId: item[\"remoteVolumeResourceId\"],\n remotePath: !item[\"remotePath\"]\n ? item[\"remotePath\"]\n : remotePathDeserializer(item[\"remotePath\"]),\n remoteVolumeRegion: item[\"remoteVolumeRegion\"],\n destinationReplications: !item[\"destinationReplications\"]\n ? item[\"destinationReplications\"]\n : destinationReplicationArrayDeserializer(item[\"destinationReplications\"]),\n externalReplicationSetupStatus: item[\"externalReplicationSetupStatus\"],\n externalReplicationSetupInfo: item[\"externalReplicationSetupInfo\"],\n mirrorState: item[\"mirrorState\"],\n relationshipStatus: item[\"relationshipStatus\"],\n };\n}\n\n/** Indicates whether the local volume is the source or destination for the Volume Replication */\nexport enum KnownEndpointType {\n /** src */\n Src = \"src\",\n /** dst */\n Dst = \"dst\",\n}\n\n/**\n * Indicates whether the local volume is the source or destination for the Volume Replication \\\n * {@link KnownEndpointType} can be used interchangeably with EndpointType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **src** \\\n * **dst**\n */\nexport type EndpointType = string;\n\n/** Schedule */\nexport enum KnownReplicationSchedule {\n /** _10minutely */\n \"10Minutely\" = \"_10minutely\",\n /** hourly */\n Hourly = \"hourly\",\n /** daily */\n Daily = \"daily\",\n}\n\n/**\n * Schedule \\\n * {@link KnownReplicationSchedule} can be used interchangeably with ReplicationSchedule,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **_10minutely** \\\n * **hourly** \\\n * **daily**\n */\nexport type ReplicationSchedule = string;\n\n/** The full path to a volume that is to be migrated into ANF. Required for Migration volumes */\nexport interface RemotePath {\n /** The Path to a ONTAP Host */\n externalHostName: string;\n /** The name of a server on the ONTAP Host */\n serverName: string;\n /** The name of a volume on the server */\n volumeName: string;\n}\n\nexport function remotePathSerializer(item: RemotePath): any {\n return {\n externalHostName: item[\"externalHostName\"],\n serverName: item[\"serverName\"],\n volumeName: item[\"volumeName\"],\n };\n}\n\nexport function remotePathDeserializer(item: any): RemotePath {\n return {\n externalHostName: item[\"externalHostName\"],\n serverName: item[\"serverName\"],\n volumeName: item[\"volumeName\"],\n };\n}\n\nexport function destinationReplicationArrayDeserializer(\n result: Array<DestinationReplication>,\n): any[] {\n return result.map((item) => {\n return destinationReplicationDeserializer(item);\n });\n}\n\n/** Destination replication properties */\nexport interface DestinationReplication {\n /** The resource ID of the remote volume */\n resourceId?: string;\n /** Indicates whether the replication is cross zone or cross region. */\n replicationType?: ReplicationType;\n /** The remote region for the destination volume. */\n region?: string;\n /** The remote zone for the destination volume. */\n zone?: string;\n}\n\nexport function destinationReplicationDeserializer(item: any): DestinationReplication {\n return {\n resourceId: item[\"resourceId\"],\n replicationType: item[\"replicationType\"],\n region: item[\"region\"],\n zone: item[\"zone\"],\n };\n}\n\n/** Indicates whether the replication is cross zone or cross region. */\nexport enum KnownReplicationType {\n /** Cross region replication */\n CrossRegionReplication = \"CrossRegionReplication\",\n /** Cross zone replication */\n CrossZoneReplication = \"CrossZoneReplication\",\n}\n\n/**\n * Indicates whether the replication is cross zone or cross region. \\\n * {@link KnownReplicationType} can be used interchangeably with ReplicationType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **CrossRegionReplication**: Cross region replication \\\n * **CrossZoneReplication**: Cross zone replication\n */\nexport type ReplicationType = string;\n\n/** Property that only applies to external replications. Provides a machine-readable value for the status of the external replication setup. */\nexport enum KnownExternalReplicationSetupStatus {\n /** Your cluster needs to be peered by using the 'peerExternalCluster' action */\n ClusterPeerRequired = \"ClusterPeerRequired\",\n /** The peering needs to be accepted on your cluster before the setup can proceed */\n ClusterPeerPending = \"ClusterPeerPending\",\n /** Need to call 'authorizeExternalReplication' and accept the returned 'vserver peer accept' command on your cluster to finish setting up the external replication */\n VServerPeerRequired = \"VServerPeerRequired\",\n /** Need to call 'authorizeExternalReplication' to finish setting up the external replication */\n ReplicationCreateRequired = \"ReplicationCreateRequired\",\n /** External Replication setup is complete, you can now monitor the 'mirrorState' in the replication status for the health of the replication */\n NoActionRequired = \"NoActionRequired\",\n}\n\n/**\n * Property that only applies to external replications. Provides a machine-readable value for the status of the external replication setup. \\\n * {@link KnownExternalReplicationSetupStatus} can be used interchangeably with ExternalReplicationSetupStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **ClusterPeerRequired**: Your cluster needs to be peered by using the 'peerExternalCluster' action \\\n * **ClusterPeerPending**: The peering needs to be accepted on your cluster before the setup can proceed \\\n * **VServerPeerRequired**: Need to call 'authorizeExternalReplication' and accept the returned 'vserver peer accept' command on your cluster to finish setting up the external replication \\\n * **ReplicationCreateRequired**: Need to call 'authorizeExternalReplication' to finish setting up the external replication \\\n * **NoActionRequired**: External Replication setup is complete, you can now monitor the 'mirrorState' in the replication status for the health of the replication\n */\nexport type ExternalReplicationSetupStatus = string;\n\n/** The status of the replication */\nexport enum KnownMirrorState {\n /** Uninitialized */\n Uninitialized = \"Uninitialized\",\n /** Mirrored */\n Mirrored = \"Mirrored\",\n /** Broken */\n Broken = \"Broken\",\n}\n\n/**\n * The status of the replication \\\n * {@link KnownMirrorState} can be used interchangeably with MirrorState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Uninitialized** \\\n * **Mirrored** \\\n * **Broken**\n */\nexport type MirrorState = string;\n\n/** Status of the volume replication relationship */\nexport enum KnownVolumeReplicationRelationshipStatus {\n /** Idle */\n Idle = \"Idle\",\n /** Transferring */\n Transferring = \"Transferring\",\n}\n\n/**\n * Status of the volume replication relationship \\\n * {@link KnownVolumeReplicationRelationshipStatus} can be used interchangeably with VolumeReplicationRelationshipStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Idle** \\\n * **Transferring**\n */\nexport type VolumeReplicationRelationshipStatus = string;\n\n/** Volume Snapshot Properties */\nexport interface VolumeSnapshotProperties {\n /** Snapshot Policy ResourceId */\n snapshotPolicyId?: string;\n}\n\nexport function volumeSnapshotPropertiesSerializer(item: VolumeSnapshotProperties): any {\n return { snapshotPolicyId: item[\"snapshotPolicyId\"] };\n}\n\nexport function volumeSnapshotPropertiesDeserializer(item: any): VolumeSnapshotProperties {\n return {\n snapshotPolicyId: item[\"snapshotPolicyId\"],\n };\n}\n\n/** Volume relocation properties */\nexport interface VolumeRelocationProperties {\n /** Has relocation been requested for this volume */\n relocationRequested?: boolean;\n /** Has relocation finished and is ready to be cleaned up */\n readonly readyToBeFinalized?: boolean;\n}\n\nexport function volumeRelocationPropertiesSerializer(item: VolumeRelocationProperties): any {\n return { relocationRequested: item[\"relocationRequested\"] };\n}\n\nexport function volumeRelocationPropertiesDeserializer(item: any): VolumeRelocationProperties {\n return {\n relocationRequested: item[\"relocationRequested\"],\n readyToBeFinalized: item[\"readyToBeFinalized\"],\n };\n}\n\n/** Advanced Ransomware Protection reports (ARP) settings */\nexport interface RansomwareProtectionSettings {\n /** The desired value of the Advanced Ransomware Protection feature state available to the volume */\n desiredRansomwareProtectionState?: DesiredRansomwareProtectionState;\n /** The actual state of the Advanced Ransomware Protection feature currently active on the volume */\n readonly actualRansomwareProtectionState?: ActualRansomwareProtectionState;\n}\n\nexport function ransomwareProtectionSettingsSerializer(item: RansomwareProtectionSettings): any {\n return { desiredRansomwareProtectionState: item[\"desiredRansomwareProtectionState\"] };\n}\n\nexport function ransomwareProtectionSettingsDeserializer(item: any): RansomwareProtectionSettings {\n return {\n desiredRansomwareProtectionState: item[\"desiredRansomwareProtectionState\"],\n actualRansomwareProtectionState: item[\"actualRansomwareProtectionState\"],\n };\n}\n\n/** The desired state of the Advanced Ransomware Protection feature */\nexport enum KnownDesiredRansomwareProtectionState {\n /** Advanced Ransomware Protection is disabled */\n Disabled = \"Disabled\",\n /** Advanced Ransomware Protection is enabled */\n Enabled = \"Enabled\",\n}\n\n/**\n * The desired state of the Advanced Ransomware Protection feature \\\n * {@link KnownDesiredRansomwareProtectionState} can be used interchangeably with DesiredRansomwareProtectionState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Disabled**: Advanced Ransomware Protection is disabled \\\n * **Enabled**: Advanced Ransomware Protection is enabled\n */\nexport type DesiredRansomwareProtectionState = string;\n\n/** The actual state of the Advanced Ransomware Protection feature */\nexport enum KnownActualRansomwareProtectionState {\n /** Advanced Ransomware Protection is disabled */\n Disabled = \"Disabled\",\n /** Advanced Ransomware Protection is enabled */\n Enabled = \"Enabled\",\n /** Advanced Ransomware Protection is in learning mode */\n Learning = \"Learning\",\n /** Advanced Ransomware Protection is in paused state */\n Paused = \"Paused\",\n}\n\n/**\n * The actual state of the Advanced Ransomware Protection feature \\\n * {@link KnownActualRansomwareProtectionState} can be used interchangeably with ActualRansomwareProtectionState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Disabled**: Advanced Ransomware Protection is disabled \\\n * **Enabled**: Advanced Ransomware Protection is enabled \\\n * **Learning**: Advanced Ransomware Protection is in learning mode \\\n * **Paused**: Advanced Ransomware Protection is in paused state\n */\nexport type ActualRansomwareProtectionState = string;\n\n/** While auto splitting the short term clone volume, if the parent pool does not have enough space to accommodate the volume after split, it will be automatically resized, which will lead to increased billing. To accept capacity pool size auto grow and create a short term clone volume, set the property as accepted. */\nexport enum KnownAcceptGrowCapacityPoolForShortTermCloneSplit {\n /** Auto grow capacity pool for short term clone split is accepted. */\n Accepted = \"Accepted\",\n /** Auto grow capacity pool for short term clone split is declined. Short term clone volume creation will not be allowed, to create short term clone volume accept auto grow capacity pool. */\n Declined = \"Declined\",\n}\n\n/**\n * While auto splitting the short term clone volume, if the parent pool does not have enough space to accommodate the volume after split, it will be automatically resized, which will lead to increased billing. To accept capacity pool size auto grow and create a short term clone volume, set the property as accepted. \\\n * {@link KnownAcceptGrowCapacityPoolForShortTermCloneSplit} can be used interchangeably with AcceptGrowCapacityPoolForShortTermCloneSplit,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Accepted**: Auto grow capacity pool for short term clone split is accepted. \\\n * **Declined**: Auto grow capacity pool for short term clone split is declined. Short term clone volume creation will not be allowed, to create short term clone volume accept auto grow capacity pool.\n */\nexport type AcceptGrowCapacityPoolForShortTermCloneSplit = string;\n\n/** The security style of volume, default unix, defaults to ntfs for dual protocol or CIFS protocol */\nexport enum KnownSecurityStyle {\n /** ntfs */\n Ntfs = \"ntfs\",\n /** unix */\n Unix = \"unix\",\n}\n\n/**\n * The security style of volume, default unix, defaults to ntfs for dual protocol or CIFS protocol \\\n * {@link KnownSecurityStyle} can be used interchangeably with SecurityStyle,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **ntfs** \\\n * **unix**\n */\nexport type SecurityStyle = string;\n\n/** Enables access-based enumeration share property for SMB Shares. Only applicable for SMB/DualProtocol volume */\nexport enum KnownSmbAccessBasedEnumeration {\n /** smbAccessBasedEnumeration share setting is disabled */\n Disabled = \"Disabled\",\n /** smbAccessBasedEnumeration share setting is enabled */\n Enabled = \"Enabled\",\n}\n\n/**\n * Enables access-based enumeration share property for SMB Shares. Only applicable for SMB/DualProtocol volume \\\n * {@link KnownSmbAccessBasedEnumeration} can be used interchangeably with SmbAccessBasedEnumeration,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Disabled**: smbAccessBasedEnumeration share setting is disabled \\\n * **Enabled**: smbAccessBasedEnumeration share setting is enabled\n */\nexport type SmbAccessBasedEnumeration = string;\n\n/** Enables non-browsable property for SMB Shares. Only applicable for SMB/DualProtocol volume */\nexport enum KnownSmbNonBrowsable {\n /** smbNonBrowsable share setting is disabled */\n Disabled = \"Disabled\",\n /** smbNonBrowsable share setting is enabled */\n Enabled = \"Enabled\",\n}\n\n/**\n * Enables non-browsable property for SMB Shares. Only applicable for SMB/DualProtocol volume \\\n * {@link KnownSmbNonBrowsable} can be used interchangeably with SmbNonBrowsable,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Disabled**: smbNonBrowsable share setting is disabled \\\n * **Enabled**: smbNonBrowsable share setting is enabled\n */\nexport type SmbNonBrowsable = string;\n\n/** Source of key used to encrypt data in volume. Applicable if NetApp account has encryption.keySource = 'Microsoft.KeyVault'. Possible values (case-insensitive) are: 'Microsoft.NetApp, Microsoft.KeyVault' */\nexport enum KnownEncryptionKeySource {\n /** Microsoft-managed key encryption */\n MicrosoftNetApp = \"Microsoft.NetApp\",\n /** Customer-managed key encryption */\n MicrosoftKeyVault = \"Microsoft.KeyVault\",\n}\n\n/**\n * Source of key used to encrypt data in volume. Applicable if NetApp account has encryption.keySource = 'Microsoft.KeyVault'. Possible values (case-insensitive) are: 'Microsoft.NetApp, Microsoft.KeyVault' \\\n * {@link KnownEncryptionKeySource} can be used interchangeably with EncryptionKeySource,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Microsoft.NetApp**: Microsoft-managed key encryption \\\n * **Microsoft.KeyVault**: Customer-managed key encryption\n */\nexport type EncryptionKeySource = string;\n\n/**\n * coolAccessRetrievalPolicy determines the data retrieval behavior from the cool tier to standard storage based on the read pattern for cool access enabled volumes. The possible values for this field are:\n * Default - Data will be pulled from cool tier to standard storage on random reads. This policy is the default.\n * OnRead - All client-driven data read is pulled from cool tier to standard storage on both sequential and random reads.\n * Never - No client-driven data is pulled from cool tier to standard storage.\n */\nexport enum KnownCoolAccessRetrievalPolicy {\n /** Default */\n Default = \"Default\",\n /** OnRead */\n OnRead = \"OnRead\",\n /** Never */\n Never = \"Never\",\n}\n\n/**\n * coolAccessRetrievalPolicy determines the data retrieval behavior from the cool tier to standard storage based on the read pattern for cool access enabled volumes. The possible values for this field are:\n * Default - Data will be pulled from cool tier to standard storage on random reads. This policy is the default.\n * OnRead - All client-driven data read is pulled from cool tier to standard storage on both sequential and random reads.\n * Never - No client-driven data is pulled from cool tier to standard storage. \\\n * {@link KnownCoolAccessRetrievalPolicy} can be used interchangeably with CoolAccessRetrievalPolicy,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Default** \\\n * **OnRead** \\\n * **Never**\n */\nexport type CoolAccessRetrievalPolicy = string;\n\n/** coolAccessTieringPolicy determines which cold data blocks are moved to cool tier. The possible values for this field are: Auto - Moves cold user data blocks in both the Snapshot copies and the active file system to the cool tier tier. This policy is the default. SnapshotOnly - Moves user data blocks of the Volume Snapshot copies that are not associated with the active file system to the cool tier. */\nexport enum KnownCoolAccessTieringPolicy {\n /** Auto */\n Auto = \"Auto\",\n /** SnapshotOnly */\n SnapshotOnly = \"SnapshotOnly\",\n}\n\n/**\n * coolAccessTieringPolicy determines which cold data blocks are moved to cool tier. The possible values for this field are: Auto - Moves cold user data blocks in both the Snapshot copies and the active file system to the cool tier tier. This policy is the default. SnapshotOnly - Moves user data blocks of the Volume Snapshot copies that are not associated with the active file system to the cool tier. \\\n * {@link KnownCoolAccessTieringPolicy} can be used interchangeably with CoolAccessTieringPolicy,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Auto** \\\n * **SnapshotOnly**\n */\nexport type CoolAccessTieringPolicy = string;\n\n/** Flag indicating whether file access logs are enabled for the volume, based on active diagnostic settings present on the volume. */\nexport enum KnownFileAccessLogs {\n /** fileAccessLogs are enabled */\n Enabled = \"Enabled\",\n /** fileAccessLogs are not enabled */\n Disabled = \"Disabled\",\n}\n\n/**\n * Flag indicating whether file access logs are enabled for the volume, based on active diagnostic settings present on the volume. \\\n * {@link KnownFileAccessLogs} can be used interchangeably with FileAccessLogs,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enabled**: fileAccessLogs are enabled \\\n * **Disabled**: fileAccessLogs are not enabled\n */\nexport type FileAccessLogs = string;\n\n/** Specifies whether the volume is enabled for Azure VMware Solution (AVS) datastore purpose */\nexport enum KnownAvsDataStore {\n /** avsDataStore is enabled */\n Enabled = \"Enabled\",\n /** avsDataStore is disabled */\n Disabled = \"Disabled\",\n}\n\n/**\n * Specifies whether the volume is enabled for Azure VMware Solution (AVS) datastore purpose \\\n * {@link KnownAvsDataStore} can be used interchangeably with AvsDataStore,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enabled**: avsDataStore is enabled \\\n * **Disabled**: avsDataStore is disabled\n */\nexport type AvsDataStore = string;\n\n/** Flag indicating whether subvolume operations are enabled on the volume */\nexport enum KnownEnableSubvolumes {\n /** subvolumes are enabled */\n Enabled = \"Enabled\",\n /** subvolumes are not enabled */\n Disabled = \"Disabled\",\n}\n\n/**\n * Flag indicating whether subvolume operations are enabled on the volume \\\n * {@link KnownEnableSubvolumes} can be used interchangeably with EnableSubvolumes,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enabled**: subvolumes are enabled \\\n * **Disabled**: subvolumes are not enabled\n */\nexport type EnableSubvolumes = string;\n\n/** List of volume group resources */\nexport interface _VolumeGroupList {\n /** The VolumeGroup items on this page */\n value: VolumeGroup[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _volumeGroupListDeserializer(item: any): _VolumeGroupList {\n return {\n value: volumeGroupArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function volumeGroupArrayDeserializer(result: Array<VolumeGroup>): any[] {\n return result.map((item) => {\n return volumeGroupDeserializer(item);\n });\n}\n\n/** Volume group resource */\nexport interface VolumeGroup {\n /** Resource location */\n location?: string;\n /** Resource Id */\n readonly id?: string;\n /** Resource name */\n readonly name?: string;\n /** Resource type */\n readonly type?: string;\n /** Volume group properties */\n properties?: VolumeGroupListProperties;\n}\n\nexport function volumeGroupDeserializer(item: any): VolumeGroup {\n return {\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : volumeGroupListPropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** Volume group properties */\nexport interface VolumeGroupListProperties {\n /** Azure lifecycle management */\n readonly provisioningState?: string;\n /** Volume group details */\n groupMetaData?: VolumeGroupMetaData;\n}\n\nexport function volumeGroupListPropertiesDeserializer(item: any): VolumeGroupListProperties {\n return {\n provisioningState: item[\"provisioningState\"],\n groupMetaData: !item[\"groupMetaData\"]\n ? item[\"groupMetaData\"]\n : volumeGroupMetaDataDeserializer(item[\"groupMetaData\"]),\n };\n}\n\n/** Backup under a Backup Vault */\nexport interface Backup extends ProxyResource {\n /** Backup Properties */\n properties: BackupProperties;\n}\n\nexport function backupSerializer(item: Backup): any {\n return { properties: backupPropertiesSerializer(item[\"properties\"]) };\n}\n\nexport function backupDeserializer(item: any): Backup {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: backupPropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** Backup properties */\nexport interface BackupProperties {\n /** UUID v4 used to identify the Backup */\n readonly backupId?: string;\n /** The creation date of the backup */\n readonly creationDate?: Date;\n /** The snapshot creation date of the backup */\n readonly snapshotCreationDate?: Date | null;\n /** The completion date of the backup */\n readonly completionDate?: Date | null;\n /** Azure lifecycle management */\n readonly provisioningState?: string;\n /** Size of backup in bytes */\n readonly size?: number;\n /** Label for backup */\n label?: string;\n /** Type of backup Manual or Scheduled */\n readonly backupType?: BackupType;\n /** Failure reason */\n readonly failureReason?: string;\n /** ResourceId used to identify the Volume */\n volumeResourceId: string;\n /** Manual backup an already existing snapshot. This will always be false for scheduled backups and true/false for manual backups */\n useExistingSnapshot?: boolean;\n /** The name of the snapshot */\n snapshotName?: string;\n /** ResourceId used to identify the backup policy */\n readonly backupPolicyResourceId?: string;\n /** Specifies if the backup is for a large volume. */\n readonly isLargeVolume?: boolean;\n}\n\nexport function backupPropertiesSerializer(item: BackupProperties): any {\n return {\n label: item[\"label\"],\n volumeResourceId: item[\"volumeResourceId\"],\n useExistingSnapshot: item[\"useExistingSnapshot\"],\n snapshotName: item[\"snapshotName\"],\n };\n}\n\nexport function backupPropertiesDeserializer(item: any): BackupProperties {\n return {\n backupId: item[\"backupId\"],\n creationDate: !item[\"creationDate\"] ? item[\"creationDate\"] : new Date(item[\"creationDate\"]),\n snapshotCreationDate: !item[\"snapshotCreationDate\"]\n ? item[\"snapshotCreationDate\"]\n : new Date(item[\"snapshotCreationDate\"]),\n completionDate: !item[\"completionDate\"]\n ? item[\"completionDate\"]\n : new Date(item[\"completionDate\"]),\n provisioningState: item[\"provisioningState\"],\n size: item[\"size\"],\n label: item[\"label\"],\n backupType: item[\"backupType\"],\n failureReason: item[\"failureReason\"],\n volumeResourceId: item[\"volumeResourceId\"],\n useExistingSnapshot: item[\"useExistingSnapshot\"],\n snapshotName: item[\"snapshotName\"],\n backupPolicyResourceId: item[\"backupPolicyResourceId\"],\n isLargeVolume: item[\"isLargeVolume\"],\n };\n}\n\n/** Type of backup Manual or Scheduled */\nexport enum KnownBackupType {\n /** Manual backup */\n Manual = \"Manual\",\n /** Scheduled backup */\n Scheduled = \"Scheduled\",\n}\n\n/**\n * Type of backup Manual or Scheduled \\\n * {@link KnownBackupType} can be used interchangeably with BackupType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Manual**: Manual backup \\\n * **Scheduled**: Scheduled backup\n */\nexport type BackupType = string;\n\n/** Backup patch */\nexport interface BackupPatch {\n /** Backup Patch Properties */\n properties?: BackupPatchProperties;\n}\n\nexport function backupPatchSerializer(item: BackupPatch): any {\n return {\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : backupPatchPropertiesSerializer(item[\"properties\"]),\n };\n}\n\n/** Backup patch properties */\nexport interface BackupPatchProperties {\n /** Label for backup */\n label?: string;\n}\n\nexport function backupPatchPropertiesSerializer(item: BackupPatchProperties): any {\n return { label: item[\"label\"] };\n}\n\n/** List of Backups */\nexport interface _BackupsList {\n /** The Backup items on this page */\n value: Backup[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _backupsListDeserializer(item: any): _BackupsList {\n return {\n value: backupArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function backupArraySerializer(result: Array<Backup>): any[] {\n return result.map((item) => {\n return backupSerializer(item);\n });\n}\n\nexport function backupArrayDeserializer(result: Array<Backup>): any[] {\n return result.map((item) => {\n return backupDeserializer(item);\n });\n}\n\n/** Backup status */\nexport interface BackupStatus {\n /** Backup health status */\n readonly healthy?: boolean;\n /** Status of the backup mirror relationship */\n readonly relationshipStatus?: VolumeBackupRelationshipStatus;\n /** The status of the backup */\n readonly mirrorState?: MirrorState;\n /** Reason for the unhealthy backup relationship */\n readonly unhealthyReason?: string;\n /** Displays error message if the backup is in an error state */\n readonly errorMessage?: string;\n /** Displays the last transfer size */\n readonly lastTransferSize?: number;\n /** Displays the last transfer type */\n readonly lastTransferType?: string;\n /** Displays the total bytes transferred */\n readonly totalTransferBytes?: number;\n /** Displays the total number of bytes transferred for the ongoing operation */\n readonly transferProgressBytes?: number;\n}\n\nexport function backupStatusDeserializer(item: any): BackupStatus {\n return {\n healthy: item[\"healthy\"],\n relationshipStatus: item[\"relationshipStatus\"],\n mirrorState: item[\"mirrorState\"],\n unhealthyReason: item[\"unhealthyReason\"],\n errorMessage: item[\"errorMessage\"],\n lastTransferSize: item[\"lastTransferSize\"],\n lastTransferType: item[\"lastTransferType\"],\n totalTransferBytes: item[\"totalTransferBytes\"],\n transferProgressBytes: item[\"transferProgressBytes\"],\n };\n}\n\n/** Status of the volume backup relationship */\nexport enum KnownVolumeBackupRelationshipStatus {\n /** Idle */\n Idle = \"Idle\",\n /** Transferring */\n Transferring = \"Transferring\",\n /** Failed */\n Failed = \"Failed\",\n /** Unknown */\n Unknown = \"Unknown\",\n}\n\n/**\n * Status of the volume backup relationship \\\n * {@link KnownVolumeBackupRelationshipStatus} can be used interchangeably with VolumeBackupRelationshipStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Idle** \\\n * **Transferring** \\\n * **Failed** \\\n * **Unknown**\n */\nexport type VolumeBackupRelationshipStatus = string;\n\n/** Restore status */\nexport interface RestoreStatus {\n /** Restore health status */\n readonly healthy?: boolean;\n /** Status of the restore SnapMirror relationship */\n readonly relationshipStatus?: VolumeRestoreRelationshipStatus;\n /** The status of the restore */\n readonly mirrorState?: MirrorState;\n /** Reason for the unhealthy restore relationship */\n readonly unhealthyReason?: string;\n /** Displays error message if the restore is in an error state */\n readonly errorMessage?: string;\n /** Displays the total bytes transferred */\n readonly totalTransferBytes?: number;\n}\n\nexport function restoreStatusDeserializer(item: any): RestoreStatus {\n return {\n healthy: item[\"healthy\"],\n relationshipStatus: item[\"relationshipStatus\"],\n mirrorState: item[\"mirrorState\"],\n unhealthyReason: item[\"unhealthyReason\"],\n errorMessage: item[\"errorMessage\"],\n totalTransferBytes: item[\"totalTransferBytes\"],\n };\n}\n\n/** Status of the volume restore relationship */\nexport enum KnownVolumeRestoreRelationshipStatus {\n /** Idle */\n Idle = \"Idle\",\n /** Transferring */\n Transferring = \"Transferring\",\n /** Failed */\n Failed = \"Failed\",\n /** Unknown */\n Unknown = \"Unknown\",\n}\n\n/**\n * Status of the volume restore relationship \\\n * {@link KnownVolumeRestoreRelationshipStatus} can be used interchangeably with VolumeRestoreRelationshipStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Idle** \\\n * **Transferring** \\\n * **Failed** \\\n * **Unknown**\n */\nexport type VolumeRestoreRelationshipStatus = string;\n\n/** Volume resource */\nexport interface Volume extends TrackedResource {\n /** Volume properties */\n properties: VolumeProperties;\n /** \"If etag is provided in the response body, it may also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields.\") */\n readonly etag?: string;\n /** The availability zones. */\n zones?: string[];\n}\n\nexport function volumeSerializer(item: Volume): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: volumePropertiesSerializer(item[\"properties\"]),\n zones: !item[\"zones\"]\n ? item[\"zones\"]\n : item[\"zones\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function volumeDeserializer(item: any): Volume {\n return {\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: volumePropertiesDeserializer(item[\"properties\"]),\n etag: item[\"etag\"],\n zones: !item[\"zones\"]\n ? item[\"zones\"]\n : item[\"zones\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location' */\nexport interface TrackedResource extends Resource {\n /** Resource tags. */\n tags?: Record<string, string>;\n /** The geo-location where the resource lives */\n location: string;\n}\n\nexport function trackedResourceSerializer(item: TrackedResource): any {\n return { tags: item[\"tags\"], location: item[\"location\"] };\n}\n\nexport function trackedResourceDeserializer(item: any): TrackedResource {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n location: item[\"location\"],\n };\n}\n\n/** Volume patch resource */\nexport interface VolumePatch {\n /** Resource location */\n location?: string;\n /** Resource Id */\n readonly id?: string;\n /** Resource name */\n readonly name?: string;\n /** Resource type */\n readonly type?: string;\n /** Resource tags */\n tags?: Record<string, string>;\n /** Patchable volume properties */\n properties?: VolumePatchProperties;\n}\n\nexport function volumePatchSerializer(item: VolumePatch): any {\n return {\n location: item[\"location\"],\n tags: item[\"tags\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : volumePatchPropertiesSerializer(item[\"properties\"]),\n };\n}\n\n/** Patchable volume properties */\nexport interface VolumePatchProperties {\n /** The service level of the file system */\n serviceLevel?: ServiceLevel;\n /** Maximum storage quota allowed for a file system in bytes. This is a soft quota used for alerting only. For regular volumes, valid values are in the range 50GiB to 100TiB. For large volumes, valid values are in the range 100TiB to 500TiB, and on an exceptional basis, from to 2400GiB to 2400TiB. Values expressed in bytes as multiples of 1 GiB. */\n usageThreshold?: number;\n /** Set of export policy rules */\n exportPolicy?: VolumePatchPropertiesExportPolicy;\n /** Set of protocol types, default NFSv3, CIFS for SMB protocol */\n protocolTypes?: string[];\n /** Maximum throughput in MiB/s that can be achieved by this volume and this will be accepted as input only for manual qosType volume */\n throughputMibps?: number;\n /** DataProtection type volumes include an object containing details of the replication */\n dataProtection?: VolumePatchPropertiesDataProtection;\n /** Specifies if default quota is enabled for the volume. */\n isDefaultQuotaEnabled?: boolean;\n /** Default user quota for volume in KiBs. If isDefaultQuotaEnabled is set, the minimum value of 4 KiBs applies . */\n defaultUserQuotaInKiBs?: number;\n /** Default group quota for volume in KiBs. If isDefaultQuotaEnabled is set, the minimum value of 4 KiBs applies. */\n defaultGroupQuotaInKiBs?: number;\n /** UNIX permissions for NFS volume accepted in octal 4 digit format. First digit selects the set user ID(4), set group ID (2) and sticky (1) attributes. Second digit selects permission for the owner of the file: read (4), write (2) and execute (1). Third selects permissions for other users in the same group. the fourth for other users not in the group. 0755 - gives read/write/execute permissions to owner and read/execute to group and other users. */\n unixPermissions?: string | null;\n /** Specifies whether Cool Access(tiering) is enabled for the volume. */\n coolAccess?: boolean;\n /** Specifies the number of days after which data that is not accessed by clients will be tiered. */\n coolnessPeriod?: number;\n /**\n * coolAccessRetrievalPolicy determines the data retrieval behavior from the cool tier to standard storage based on the read pattern for cool access enabled volumes. The possible values for this field are:\n * Default - Data will be pulled from cool tier to standard storage on random reads. This policy is the default.\n * OnRead - All client-driven data read is pulled from cool tier to standard storage on both sequential and random reads.\n * Never - No client-driven data is pulled from cool tier to standard storage.\n */\n coolAccessRetrievalPolicy?: CoolAccessRetrievalPolicy;\n /** coolAccessTieringPolicy determines which cold data blocks are moved to cool tier. The possible values for this field are: Auto - Moves cold user data blocks in both the Snapshot copies and the active file system to the cool tier tier. This policy is the default. SnapshotOnly - Moves user data blocks of the Volume Snapshot copies that are not associated with the active file system to the cool tier. */\n coolAccessTieringPolicy?: CoolAccessTieringPolicy;\n /** If enabled (true) the volume will contain a read-only snapshot directory which provides access to each of the volume's snapshots. */\n snapshotDirectoryVisible?: boolean;\n /** Enables access-based enumeration share property for SMB Shares. Only applicable for SMB/DualProtocol volume */\n smbAccessBasedEnumeration?: SmbAccessBasedEnumeration | null;\n /** Enables non-browsable property for SMB Shares. Only applicable for SMB/DualProtocol volume */\n smbNonBrowsable?: SmbNonBrowsable;\n}\n\nexport function volumePatchPropertiesSerializer(item: VolumePatchProperties): any {\n return {\n serviceLevel: item[\"serviceLevel\"],\n usageThreshold: item[\"usageThreshold\"],\n exportPolicy: !item[\"exportPolicy\"]\n ? item[\"exportPolicy\"]\n : volumePatchPropertiesExportPolicySerializer(item[\"exportPolicy\"]),\n protocolTypes: !item[\"protocolTypes\"]\n ? item[\"protocolTypes\"]\n : item[\"protocolTypes\"].map((p: any) => {\n return p;\n }),\n throughputMibps: item[\"throughputMibps\"],\n dataProtection: !item[\"dataProtection\"]\n ? item[\"dataProtection\"]\n : volumePatchPropertiesDataProtectionSerializer(item[\"dataProtection\"]),\n isDefaultQuotaEnabled: item[\"isDefaultQuotaEnabled\"],\n defaultUserQuotaInKiBs: item[\"defaultUserQuotaInKiBs\"],\n defaultGroupQuotaInKiBs: item[\"defaultGroupQuotaInKiBs\"],\n unixPermissions: item[\"unixPermissions\"],\n coolAccess: item[\"coolAccess\"],\n coolnessPeriod: item[\"coolnessPeriod\"],\n coolAccessRetrievalPolicy: item[\"coolAccessRetrievalPolicy\"],\n coolAccessTieringPolicy: item[\"coolAccessTieringPolicy\"],\n snapshotDirectoryVisible: item[\"snapshotDirectoryVisible\"],\n smbAccessBasedEnumeration: item[\"smbAccessBasedEnumeration\"],\n smbNonBrowsable: item[\"smbNonBrowsable\"],\n };\n}\n\n/** Set of export policy rules */\nexport interface VolumePatchPropertiesExportPolicy {\n /** Export policy rule */\n rules?: ExportPolicyRule[];\n}\n\nexport function volumePatchPropertiesExportPolicySerializer(\n item: VolumePatchPropertiesExportPolicy,\n): any {\n return { rules: !item[\"rules\"] ? item[\"rules\"] : exportPolicyRuleArraySerializer(item[\"rules\"]) };\n}\n\n/** DataProtection type volumes include an object containing details of the replication */\nexport interface VolumePatchPropertiesDataProtection {\n /** Backup Properties */\n backup?: VolumeBackupProperties;\n /** Snapshot properties. */\n snapshot?: VolumeSnapshotProperties;\n /** Advanced Ransomware Protection updatable settings */\n ransomwareProtection?: RansomwareProtectionPatchSettings;\n}\n\nexport function volumePatchPropertiesDataProtectionSerializer(\n item: VolumePatchPropertiesDataProtection,\n): any {\n return {\n backup: !item[\"backup\"] ? item[\"backup\"] : volumeBackupPropertiesSerializer(item[\"backup\"]),\n snapshot: !item[\"snapshot\"]\n ? item[\"snapshot\"]\n : volumeSnapshotPropertiesSerializer(item[\"snapshot\"]),\n ransomwareProtection: !item[\"ransomwareProtection\"]\n ? item[\"ransomwareProtection\"]\n : ransomwareProtectionPatchSettingsSerializer(item[\"ransomwareProtection\"]),\n };\n}\n\n/** Advanced Ransomware Protection reports (ARP) updatable settings */\nexport interface RansomwareProtectionPatchSettings {\n /** The desired value of the ARP feature state available to the volume */\n desiredRansomwareProtectionState?: DesiredRansomwareProtectionState;\n}\n\nexport function ransomwareProtectionPatchSettingsSerializer(\n item: RansomwareProtectionPatchSettings,\n): any {\n return { desiredRansomwareProtectionState: item[\"desiredRansomwareProtectionState\"] };\n}\n\n/** List of volume resources */\nexport interface _VolumeList {\n /** The Volume items on this page */\n value: Volume[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _volumeListDeserializer(item: any): _VolumeList {\n return {\n value: volumeArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function volumeArraySerializer(result: Array<Volume>): any[] {\n return result.map((item) => {\n return volumeSerializer(item);\n });\n}\n\nexport function volumeArrayDeserializer(result: Array<Volume>): any[] {\n return result.map((item) => {\n return volumeDeserializer(item);\n });\n}\n\n/** revert a volume to the snapshot */\nexport interface VolumeRevert {\n /** Resource id of the snapshot */\n snapshotId?: string;\n}\n\nexport function volumeRevertSerializer(item: VolumeRevert): any {\n return { snapshotId: item[\"snapshotId\"] };\n}\n\n/** Break file locks request */\nexport interface BreakFileLocksRequest {\n /** To clear file locks on a volume for a particular client */\n clientIp?: string;\n /** Break File locks could be a disruptive operation for application as locks on the volume will be broken, if want to process, set to true. */\n confirmRunningDisruptiveOperation?: boolean;\n}\n\nexport function breakFileLocksRequestSerializer(item: BreakFileLocksRequest): any {\n return {\n clientIp: item[\"clientIp\"],\n confirmRunningDisruptiveOperation: item[\"confirmRunningDisruptiveOperation\"],\n };\n}\n\n/** Get group Id list for LDAP User request */\nexport interface GetGroupIdListForLdapUserRequest {\n /** username is required to fetch the group to which user is part of */\n username: string;\n}\n\nexport function getGroupIdListForLdapUserRequestSerializer(\n item: GetGroupIdListForLdapUserRequest,\n): any {\n return { username: item[\"username\"] };\n}\n\n/** Group Id list for Ldap user */\nexport interface GetGroupIdListForLdapUserResponse {\n /** Group Id list */\n groupIdsForLdapUser?: string[];\n}\n\nexport function getGroupIdListForLdapUserResponseDeserializer(\n item: any,\n): GetGroupIdListForLdapUserResponse {\n return {\n groupIdsForLdapUser: !item[\"groupIdsForLdapUser\"]\n ? item[\"groupIdsForLdapUser\"]\n : item[\"groupIdsForLdapUser\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Break replication request */\nexport interface BreakReplicationRequest {\n /** If replication is in status transferring and you want to force break the replication, set to true */\n forceBreakReplication?: boolean;\n}\n\nexport function breakReplicationRequestSerializer(item: BreakReplicationRequest): any {\n return { forceBreakReplication: item[\"forceBreakReplication\"] };\n}\n\n/** Re-establish request object supplied in the body of the operation. */\nexport interface ReestablishReplicationRequest {\n /** Resource id of the source volume for the replication */\n sourceVolumeId?: string;\n}\n\nexport function reestablishReplicationRequestSerializer(item: ReestablishReplicationRequest): any {\n return { sourceVolumeId: item[\"sourceVolumeId\"] };\n}\n\n/** Replication status */\nexport interface ReplicationStatus {\n /** Replication health check */\n healthy?: boolean;\n /** Status of the mirror relationship */\n relationshipStatus?: VolumeReplicationRelationshipStatus;\n /** The status of the replication */\n mirrorState?: MirrorState;\n /** The progress of the replication */\n totalProgress?: string;\n /** Displays error message if the replication is in an error state */\n errorMessage?: string;\n}\n\nexport function replicationStatusDeserializer(item: any): ReplicationStatus {\n return {\n healthy: item[\"healthy\"],\n relationshipStatus: item[\"relationshipStatus\"],\n mirrorState: item[\"mirrorState\"],\n totalProgress: item[\"totalProgress\"],\n errorMessage: item[\"errorMessage\"],\n };\n}\n\n/** Body for the list replications endpoint. If supplied, the body will be used as a filter for example to exclude deleted replications. If omitted, the endpoint returns all replications */\nexport interface ListReplicationsRequest {\n /** Exclude Replications filter. 'None' returns all replications, 'Deleted' excludes deleted replications. Default is 'None' */\n exclude?: Exclude;\n}\n\nexport function listReplicationsRequestSerializer(item: ListReplicationsRequest): any {\n return { exclude: item[\"exclude\"] };\n}\n\n/** An option to filter out replications. 'None' returns all replications, 'Deleted' excludes deleted replications. Default is 'None' */\nexport enum KnownExclude {\n /** 'None' returns all replications */\n None = \"None\",\n /** 'Deleted' excludes deleted replications */\n Deleted = \"Deleted\",\n}\n\n/**\n * An option to filter out replications. 'None' returns all replications, 'Deleted' excludes deleted replications. Default is 'None' \\\n * {@link KnownExclude} can be used interchangeably with Exclude,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **None**: 'None' returns all replications \\\n * **Deleted**: 'Deleted' excludes deleted replications\n */\nexport type Exclude = string;\n\n/** List Replications */\nexport interface _ListReplications {\n /** The Replication items on this page */\n value: Replication[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _listReplicationsDeserializer(item: any): _ListReplications {\n return {\n value: replicationArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function replicationArrayDeserializer(result: Array<Replication>): any[] {\n return result.map((item) => {\n return replicationDeserializer(item);\n });\n}\n\n/** Replication properties */\nexport interface Replication {\n /** UUID v4 used to identify the replication. */\n readonly replicationId?: string;\n /** Indicates whether the local volume is the source or destination for the Volume Replication */\n endpointType?: EndpointType;\n /** Schedule */\n replicationSchedule?: ReplicationSchedule;\n /** The resource ID of the remote volume. */\n remoteVolumeResourceId?: string;\n /** The remote region for the other end of the Volume Replication. */\n remoteVolumeRegion?: string;\n /** The status of the replication */\n readonly mirrorState?: ReplicationMirrorState;\n /** Replication creation time */\n readonly replicationCreationTime?: Date;\n /** Replication deletion time */\n readonly replicationDeletionTime?: Date;\n}\n\nexport function replicationDeserializer(item: any): Replication {\n return {\n replicationId: item[\"replicationId\"],\n endpointType: item[\"endpointType\"],\n replicationSchedule: item[\"replicationSchedule\"],\n remoteVolumeResourceId: item[\"remoteVolumeResourceId\"],\n remoteVolumeRegion: item[\"remoteVolumeRegion\"],\n mirrorState: item[\"mirrorState\"],\n replicationCreationTime: !item[\"replicationCreationTime\"]\n ? item[\"replicationCreationTime\"]\n : new Date(item[\"replicationCreationTime\"]),\n replicationDeletionTime: !item[\"replicationDeletionTime\"]\n ? item[\"replicationDeletionTime\"]\n : new Date(item[\"replicationDeletionTime\"]),\n };\n}\n\n/** The status of the replication */\nexport enum KnownReplicationMirrorState {\n /** Destination volume has not been initialized */\n Uninitialized = \"Uninitialized\",\n /** Destination volume has been initialized and is ready */\n Mirrored = \"Mirrored\",\n /** Destination volume is RW, replication relationship has been broken off */\n Broken = \"Broken\",\n}\n\n/**\n * The status of the replication \\\n * {@link KnownReplicationMirrorState} can be used interchangeably with ReplicationMirrorState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Uninitialized**: Destination volume has not been initialized \\\n * **Mirrored**: Destination volume has been initialized and is ready \\\n * **Broken**: Destination volume is RW, replication relationship has been broken off\n */\nexport type ReplicationMirrorState = string;\n\n/** Authorize request */\nexport interface AuthorizeRequest {\n /** Resource id of the remote volume */\n remoteVolumeResourceId?: string;\n}\n\nexport function authorizeRequestSerializer(item: AuthorizeRequest): any {\n return { remoteVolumeResourceId: item[\"remoteVolumeResourceId\"] };\n}\n\n/** Source Cluster properties for a cluster peer request */\nexport interface PeerClusterForVolumeMigrationRequest {\n /** A list of IC-LIF IPs that can be used to connect to the On-prem cluster */\n peerIpAddresses: string[];\n}\n\nexport function peerClusterForVolumeMigrationRequestSerializer(\n item: PeerClusterForVolumeMigrationRequest,\n): any {\n return {\n peerIpAddresses: item[\"peerIpAddresses\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Information about cluster peering process */\nexport interface ClusterPeerCommandResponse {\n /** Represents the properties of the cluster peer command response. */\n properties?: ClusterPeerCommandResponseProperties;\n}\n\nexport function clusterPeerCommandResponseDeserializer(item: any): ClusterPeerCommandResponse {\n return {\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : clusterPeerCommandResponsePropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** Properties of the cluster peer command response. */\nexport interface ClusterPeerCommandResponseProperties {\n /** ClusterPeeringCommand to run to accept cluster peer. Will only be present if <code>clusterPeeringStatus</code> is <code>pending</code>. */\n clusterPeeringCommand?: string;\n /** Passphrase for use with cluster peer command */\n passphrase?: string;\n}\n\nexport function clusterPeerCommandResponsePropertiesDeserializer(\n item: any,\n): ClusterPeerCommandResponseProperties {\n return {\n clusterPeeringCommand: item[\"clusterPeeringCommand\"],\n passphrase: item[\"passphrase\"],\n };\n}\n\n/** Information about svm peering process */\nexport interface SvmPeerCommandResponse {\n /** Represents the properties of the SVM peer command response. */\n properties?: SvmPeerCommandResponseProperties;\n}\n\nexport function svmPeerCommandResponseDeserializer(item: any): SvmPeerCommandResponse {\n return {\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : svmPeerCommandResponsePropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** Properties of the SVM peer command response. */\nexport interface SvmPeerCommandResponseProperties {\n /** A command that needs to be run on the external ONTAP to accept svm peering. Will only be present if <code>svmPeeringStatus</code> is <code>pending</code> */\n svmPeeringCommand?: string;\n}\n\nexport function svmPeerCommandResponsePropertiesDeserializer(\n item: any,\n): SvmPeerCommandResponseProperties {\n return {\n svmPeeringCommand: item[\"svmPeeringCommand\"],\n };\n}\n\n/** Pool change request */\nexport interface PoolChangeRequest {\n /** Resource id of the pool to move volume to */\n newPoolResourceId: string;\n}\n\nexport function poolChangeRequestSerializer(item: PoolChangeRequest): any {\n return { newPoolResourceId: item[\"newPoolResourceId\"] };\n}\n\n/** Relocate volume request */\nexport interface RelocateVolumeRequest {\n /** New creation token for the volume that controls the mount point name */\n creationToken?: string;\n}\n\nexport function relocateVolumeRequestSerializer(item: RelocateVolumeRequest): any {\n return { creationToken: item[\"creationToken\"] };\n}\n\n/** Quota report filters. When filtering by quotaType or quotaTarget, both properties must be supplied together. This constraint is enforced by the service/API at runtime, and requests violating this rule will return a validation error. The usageThresholdPercentage filter is independent and can be used alone or in combination with quotaType and quotaTarget to further refine results. */\nexport interface QuotaReportFilterRequest {\n /** Type of quota. If provided, quotaTarget must also be specified. The quotaType and quotaTarget properties are optional, but when filtering by quota type, quotaType and quotaTarget must be supplied together. Service/API will return an error if only one is provided. */\n quotaType?: QuotaType;\n /** UserID/GroupID/SID based on the quota target type. UserID and groupID can be found by running 'id' or 'getent' command for the user or group and SID can be found by running <wmic useraccount where name='user-name' get sid>. If provided, quotaType must also be specified. The quotaType and quotaTarget properties are optional, but when filtering by quota target, quotaType and quotaTarget must be supplied together. Service/API will return an error if only one is provided. */\n quotaTarget?: string;\n /** The usageThresholdPercentage filter takes the usage threshold percentage and returns records where the usage is greater than or equal to the input value. This is an optional property. */\n usageThresholdPercentage?: number;\n}\n\nexport function quotaReportFilterRequestSerializer(item: QuotaReportFilterRequest): any {\n return {\n quotaType: item[\"quotaType\"],\n quotaTarget: item[\"quotaTarget\"],\n usageThresholdPercentage: item[\"usageThresholdPercentage\"],\n };\n}\n\n/** Type of quota */\nexport enum KnownQuotaType {\n /** Default user quota */\n DefaultUserQuota = \"DefaultUserQuota\",\n /** Default group quota */\n DefaultGroupQuota = \"DefaultGroupQuota\",\n /** Individual user quota */\n IndividualUserQuota = \"IndividualUserQuota\",\n /** Individual group quota */\n IndividualGroupQuota = \"IndividualGroupQuota\",\n}\n\n/**\n * Type of quota \\\n * {@link KnownQuotaType} can be used interchangeably with QuotaType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **DefaultUserQuota**: Default user quota \\\n * **DefaultGroupQuota**: Default group quota \\\n * **IndividualUserQuota**: Individual user quota \\\n * **IndividualGroupQuota**: Individual group quota\n */\nexport type QuotaType = string;\n\n/** * Result of ListQuotaReportResponse */\nexport interface ListQuotaReportResult {\n /** Represents the properties of the ListQuotaReport. */\n properties?: ListQuotaReportResponse;\n}\n\nexport function listQuotaReportResultDeserializer(item: any): ListQuotaReportResult {\n return {\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : listQuotaReportResponseDeserializer(item[\"properties\"]),\n };\n}\n\n/** Quota Report for volume */\nexport interface ListQuotaReportResponse {\n /** List of quota reports */\n quotaReportRecords?: QuotaReport[];\n}\n\nexport function listQuotaReportResponseDeserializer(item: any): ListQuotaReportResponse {\n return {\n quotaReportRecords: !item[\"quotaReportRecords\"]\n ? item[\"quotaReportRecords\"]\n : quotaReportArrayDeserializer(item[\"quotaReportRecords\"]),\n };\n}\n\nexport function quotaReportArrayDeserializer(result: Array<QuotaReport>): any[] {\n return result.map((item) => {\n return quotaReportDeserializer(item);\n });\n}\n\n/** Quota report record properties */\nexport interface QuotaReport {\n /** Type of quota */\n quotaType?: QuotaType;\n /** UserID/GroupID/SID based on the quota target type. UserID and groupID can be found by running ‘id’ or ‘getent’ command for the user or group and SID can be found by running <wmic useraccount where name='user-name' get sid> */\n quotaTarget?: string;\n /** Specifies the current usage in kibibytes for the user/group quota. */\n quotaLimitUsedInKiBs?: number;\n /** Specifies the total size limit in kibibytes for the user/group quota. */\n quotaLimitTotalInKiBs?: number;\n /** Percentage of used size compared to total size. */\n percentageUsed?: number;\n /** Flag to indicate whether the quota is derived from default quota. */\n isDerivedQuota?: boolean;\n}\n\nexport function quotaReportDeserializer(item: any): QuotaReport {\n return {\n quotaType: item[\"quotaType\"],\n quotaTarget: item[\"quotaTarget\"],\n quotaLimitUsedInKiBs: item[\"quotaLimitUsedInKiBs\"],\n quotaLimitTotalInKiBs: item[\"quotaLimitTotalInKiBs\"],\n percentageUsed: item[\"percentageUsed\"],\n isDerivedQuota: item[\"isDerivedQuota\"],\n };\n}\n\n/** Snapshot of a Volume */\nexport interface Snapshot extends ProxyResource {\n /** Snapshot Properties */\n properties?: SnapshotProperties;\n /** Resource location */\n location: string;\n}\n\nexport function snapshotSerializer(item: Snapshot): any {\n return {\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : snapshotPropertiesSerializer(item[\"properties\"]),\n location: item[\"location\"],\n };\n}\n\nexport function snapshotDeserializer(item: any): Snapshot {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : snapshotPropertiesDeserializer(item[\"properties\"]),\n location: item[\"location\"],\n };\n}\n\n/** Snapshot properties */\nexport interface SnapshotProperties {\n /** UUID v4 used to identify the Snapshot */\n readonly snapshotId?: string;\n /** The creation date of the snapshot */\n readonly created?: Date;\n /** Azure lifecycle management */\n readonly provisioningState?: string;\n}\n\nexport function snapshotPropertiesSerializer(_item: SnapshotProperties): any {\n return {};\n}\n\nexport function snapshotPropertiesDeserializer(item: any): SnapshotProperties {\n return {\n snapshotId: item[\"snapshotId\"],\n created: !item[\"created\"] ? item[\"created\"] : new Date(item[\"created\"]),\n provisioningState: item[\"provisioningState\"],\n };\n}\n\n/** Snapshot of a Volume */\nexport interface SnapshotPatch {}\n\nexport function snapshotPatchSerializer(_item: SnapshotPatch): any {\n return {};\n}\n\n/** List of Snapshots */\nexport interface _SnapshotsList {\n /** The Snapshot items on this page */\n value: Snapshot[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _snapshotsListDeserializer(item: any): _SnapshotsList {\n return {\n value: snapshotArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function snapshotArraySerializer(result: Array<Snapshot>): any[] {\n return result.map((item) => {\n return snapshotSerializer(item);\n });\n}\n\nexport function snapshotArrayDeserializer(result: Array<Snapshot>): any[] {\n return result.map((item) => {\n return snapshotDeserializer(item);\n });\n}\n\n/** Restore payload for Single File Snapshot Restore */\nexport interface SnapshotRestoreFiles {\n /** List of files to be restored */\n filePaths: string[];\n /** Destination folder where the files will be restored */\n destinationPath?: string;\n}\n\nexport function snapshotRestoreFilesSerializer(item: SnapshotRestoreFiles): any {\n return {\n filePaths: item[\"filePaths\"].map((p: any) => {\n return p;\n }),\n destinationPath: item[\"destinationPath\"],\n };\n}\n\n/** Snapshot policy information */\nexport interface SnapshotPolicy extends TrackedResource {\n /** Snapshot policy Properties */\n properties: SnapshotPolicyProperties;\n /** \"If etag is provided in the response body, it may also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields.\") */\n readonly etag?: string;\n}\n\nexport function snapshotPolicySerializer(item: SnapshotPolicy): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: snapshotPolicyPropertiesSerializer(item[\"properties\"]),\n };\n}\n\nexport function snapshotPolicyDeserializer(item: any): SnapshotPolicy {\n return {\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: snapshotPolicyPropertiesDeserializer(item[\"properties\"]),\n etag: item[\"etag\"],\n };\n}\n\n/** Snapshot policy properties */\nexport interface SnapshotPolicyProperties {\n /** Schedule for hourly snapshots */\n hourlySchedule?: HourlySchedule;\n /** Schedule for daily snapshots */\n dailySchedule?: DailySchedule;\n /** Schedule for weekly snapshots */\n weeklySchedule?: WeeklySchedule;\n /** Schedule for monthly snapshots */\n monthlySchedule?: MonthlySchedule;\n /** The property to decide policy is enabled or not */\n enabled?: boolean;\n /** Azure lifecycle management */\n readonly provisioningState?: string;\n}\n\nexport function snapshotPolicyPropertiesSerializer(item: SnapshotPolicyProperties): any {\n return {\n hourlySchedule: !item[\"hourlySchedule\"]\n ? item[\"hourlySchedule\"]\n : hourlyScheduleSerializer(item[\"hourlySchedule\"]),\n dailySchedule: !item[\"dailySchedule\"]\n ? item[\"dailySchedule\"]\n : dailyScheduleSerializer(item[\"dailySchedule\"]),\n weeklySchedule: !item[\"weeklySchedule\"]\n ? item[\"weeklySchedule\"]\n : weeklyScheduleSerializer(item[\"weeklySchedule\"]),\n monthlySchedule: !item[\"monthlySchedule\"]\n ? item[\"monthlySchedule\"]\n : monthlyScheduleSerializer(item[\"monthlySchedule\"]),\n enabled: item[\"enabled\"],\n };\n}\n\nexport function snapshotPolicyPropertiesDeserializer(item: any): SnapshotPolicyProperties {\n return {\n hourlySchedule: !item[\"hourlySchedule\"]\n ? item[\"hourlySchedule\"]\n : hourlyScheduleDeserializer(item[\"hourlySchedule\"]),\n dailySchedule: !item[\"dailySchedule\"]\n ? item[\"dailySchedule\"]\n : dailyScheduleDeserializer(item[\"dailySchedule\"]),\n weeklySchedule: !item[\"weeklySchedule\"]\n ? item[\"weeklySchedule\"]\n : weeklyScheduleDeserializer(item[\"weeklySchedule\"]),\n monthlySchedule: !item[\"monthlySchedule\"]\n ? item[\"monthlySchedule\"]\n : monthlyScheduleDeserializer(item[\"monthlySchedule\"]),\n enabled: item[\"enabled\"],\n provisioningState: item[\"provisioningState\"],\n };\n}\n\n/** Hourly Schedule properties */\nexport interface HourlySchedule {\n /** Hourly snapshot count to keep */\n snapshotsToKeep?: number;\n /** Indicates which minute snapshot should be taken */\n minute?: number;\n /** Resource size in bytes, current storage usage for the volume in bytes */\n usedBytes?: number;\n}\n\nexport function hourlyScheduleSerializer(item: HourlySchedule): any {\n return {\n snapshotsToKeep: item[\"snapshotsToKeep\"],\n minute: item[\"minute\"],\n usedBytes: item[\"usedBytes\"],\n };\n}\n\nexport function hourlyScheduleDeserializer(item: any): HourlySchedule {\n return {\n snapshotsToKeep: item[\"snapshotsToKeep\"],\n minute: item[\"minute\"],\n usedBytes: item[\"usedBytes\"],\n };\n}\n\n/** Daily Schedule properties */\nexport interface DailySchedule {\n /** Daily snapshot count to keep */\n snapshotsToKeep?: number;\n /** Indicates which hour in UTC timezone a snapshot should be taken */\n hour?: number;\n /** Indicates which minute snapshot should be taken */\n minute?: number;\n /** Resource size in bytes, current storage usage for the volume in bytes */\n usedBytes?: number;\n}\n\nexport function dailyScheduleSerializer(item: DailySchedule): any {\n return {\n snapshotsToKeep: item[\"snapshotsToKeep\"],\n hour: item[\"hour\"],\n minute: item[\"minute\"],\n usedBytes: item[\"usedBytes\"],\n };\n}\n\nexport function dailyScheduleDeserializer(item: any): DailySchedule {\n return {\n snapshotsToKeep: item[\"snapshotsToKeep\"],\n hour: item[\"hour\"],\n minute: item[\"minute\"],\n usedBytes: item[\"usedBytes\"],\n };\n}\n\n/** Weekly Schedule properties, make a snapshot every week at a specific day or days */\nexport interface WeeklySchedule {\n /** Weekly snapshot count to keep */\n snapshotsToKeep?: number;\n /** Indicates which weekdays snapshot should be taken, accepts a comma separated list of week day names in english */\n day?: string;\n /** Indicates which hour in UTC timezone a snapshot should be taken */\n hour?: number;\n /** Indicates which minute snapshot should be taken */\n minute?: number;\n /** Resource size in bytes, current storage usage for the volume in bytes */\n usedBytes?: number;\n}\n\nexport function weeklyScheduleSerializer(item: WeeklySchedule): any {\n return {\n snapshotsToKeep: item[\"snapshotsToKeep\"],\n day: item[\"day\"],\n hour: item[\"hour\"],\n minute: item[\"minute\"],\n usedBytes: item[\"usedBytes\"],\n };\n}\n\nexport function weeklyScheduleDeserializer(item: any): WeeklySchedule {\n return {\n snapshotsToKeep: item[\"snapshotsToKeep\"],\n day: item[\"day\"],\n hour: item[\"hour\"],\n minute: item[\"minute\"],\n usedBytes: item[\"usedBytes\"],\n };\n}\n\n/** Monthly Schedule properties */\nexport interface MonthlySchedule {\n /** Monthly snapshot count to keep */\n snapshotsToKeep?: number;\n /** Indicates which days of the month snapshot should be taken. A comma delimited string. */\n daysOfMonth?: string;\n /** Indicates which hour in UTC timezone a snapshot should be taken */\n hour?: number;\n /** Indicates which minute snapshot should be taken */\n minute?: number;\n /** Resource size in bytes, current storage usage for the volume in bytes */\n usedBytes?: number;\n}\n\nexport function monthlyScheduleSerializer(item: MonthlySchedule): any {\n return {\n snapshotsToKeep: item[\"snapshotsToKeep\"],\n daysOfMonth: item[\"daysOfMonth\"],\n hour: item[\"hour\"],\n minute: item[\"minute\"],\n usedBytes: item[\"usedBytes\"],\n };\n}\n\nexport function monthlyScheduleDeserializer(item: any): MonthlySchedule {\n return {\n snapshotsToKeep: item[\"snapshotsToKeep\"],\n daysOfMonth: item[\"daysOfMonth\"],\n hour: item[\"hour\"],\n minute: item[\"minute\"],\n usedBytes: item[\"usedBytes\"],\n };\n}\n\n/** Snapshot policy Details for create and update */\nexport interface SnapshotPolicyPatch {\n /** Resource location */\n location?: string;\n /** Resource Id */\n readonly id?: string;\n /** Resource name */\n readonly name?: string;\n /** Resource type */\n readonly type?: string;\n /** Resource tags */\n tags?: Record<string, string>;\n /** Snapshot Policy properties */\n properties?: SnapshotPolicyProperties;\n}\n\nexport function snapshotPolicyPatchSerializer(item: SnapshotPolicyPatch): any {\n return {\n location: item[\"location\"],\n tags: item[\"tags\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : snapshotPolicyPropertiesSerializer(item[\"properties\"]),\n };\n}\n\n/** List of Snapshot Policies */\nexport interface _SnapshotPoliciesList {\n /** The SnapshotPolicy items on this page */\n value: SnapshotPolicy[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _snapshotPoliciesListDeserializer(item: any): _SnapshotPoliciesList {\n return {\n value: snapshotPolicyArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function snapshotPolicyArraySerializer(result: Array<SnapshotPolicy>): any[] {\n return result.map((item) => {\n return snapshotPolicySerializer(item);\n });\n}\n\nexport function snapshotPolicyArrayDeserializer(result: Array<SnapshotPolicy>): any[] {\n return result.map((item) => {\n return snapshotPolicyDeserializer(item);\n });\n}\n\n/** Volumes associated with snapshot policy */\nexport interface SnapshotPolicyVolumeList {\n /** The Volume items on this page */\n value: Volume[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function snapshotPolicyVolumeListDeserializer(item: any): SnapshotPolicyVolumeList {\n return {\n value: volumeArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\n/** Backup policy information */\nexport interface BackupPolicy extends TrackedResource {\n /** Backup policy Properties */\n properties: BackupPolicyProperties;\n /** \"If etag is provided in the response body, it may also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields.\") */\n readonly etag?: string;\n}\n\nexport function backupPolicySerializer(item: BackupPolicy): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: backupPolicyPropertiesSerializer(item[\"properties\"]),\n };\n}\n\nexport function backupPolicyDeserializer(item: any): BackupPolicy {\n return {\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: backupPolicyPropertiesDeserializer(item[\"properties\"]),\n etag: item[\"etag\"],\n };\n}\n\n/** Backup policy properties */\nexport interface BackupPolicyProperties {\n /** Backup Policy GUID ID */\n readonly backupPolicyId?: string;\n /** Azure lifecycle management */\n readonly provisioningState?: string;\n /** Daily backups count to keep */\n dailyBackupsToKeep?: number;\n /** Weekly backups count to keep */\n weeklyBackupsToKeep?: number;\n /** Monthly backups count to keep */\n monthlyBackupsToKeep?: number;\n /** Volumes using current backup policy */\n readonly volumesAssigned?: number;\n /** The property to decide policy is enabled or not */\n enabled?: boolean;\n /** A list of volumes assigned to this policy */\n readonly volumeBackups?: VolumeBackups[];\n}\n\nexport function backupPolicyPropertiesSerializer(item: BackupPolicyProperties): any {\n return {\n dailyBackupsToKeep: item[\"dailyBackupsToKeep\"],\n weeklyBackupsToKeep: item[\"weeklyBackupsToKeep\"],\n monthlyBackupsToKeep: item[\"monthlyBackupsToKeep\"],\n enabled: item[\"enabled\"],\n };\n}\n\nexport function backupPolicyPropertiesDeserializer(item: any): BackupPolicyProperties {\n return {\n backupPolicyId: item[\"backupPolicyId\"],\n provisioningState: item[\"provisioningState\"],\n dailyBackupsToKeep: item[\"dailyBackupsToKeep\"],\n weeklyBackupsToKeep: item[\"weeklyBackupsToKeep\"],\n monthlyBackupsToKeep: item[\"monthlyBackupsToKeep\"],\n volumesAssigned: item[\"volumesAssigned\"],\n enabled: item[\"enabled\"],\n volumeBackups: !item[\"volumeBackups\"]\n ? item[\"volumeBackups\"]\n : volumeBackupsArrayDeserializer(item[\"volumeBackups\"]),\n };\n}\n\nexport function volumeBackupsArrayDeserializer(result: Array<VolumeBackups>): any[] {\n return result.map((item) => {\n return volumeBackupsDeserializer(item);\n });\n}\n\n/** Volume details using the backup policy */\nexport interface VolumeBackups {\n /** Volume name */\n volumeName?: string;\n /** ResourceId used to identify the Volume */\n volumeResourceId?: string;\n /** Total count of backups for volume */\n backupsCount?: number;\n /** Policy enabled */\n policyEnabled?: boolean;\n}\n\nexport function volumeBackupsDeserializer(item: any): VolumeBackups {\n return {\n volumeName: item[\"volumeName\"],\n volumeResourceId: item[\"volumeResourceId\"],\n backupsCount: item[\"backupsCount\"],\n policyEnabled: item[\"policyEnabled\"],\n };\n}\n\n/** Backup policy Details for create and update */\nexport interface BackupPolicyPatch {\n /** Resource location */\n location?: string;\n /** Resource Id */\n readonly id?: string;\n /** Resource name */\n readonly name?: string;\n /** Resource type */\n readonly type?: string;\n /** Resource tags */\n tags?: Record<string, string>;\n /** Backup policy Properties */\n properties?: BackupPolicyProperties;\n}\n\nexport function backupPolicyPatchSerializer(item: BackupPolicyPatch): any {\n return {\n location: item[\"location\"],\n tags: item[\"tags\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : backupPolicyPropertiesSerializer(item[\"properties\"]),\n };\n}\n\n/** List of Backup Policies */\nexport interface _BackupPoliciesList {\n /** The BackupPolicy items on this page */\n value: BackupPolicy[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _backupPoliciesListDeserializer(item: any): _BackupPoliciesList {\n return {\n value: backupPolicyArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function backupPolicyArraySerializer(result: Array<BackupPolicy>): any[] {\n return result.map((item) => {\n return backupPolicySerializer(item);\n });\n}\n\nexport function backupPolicyArrayDeserializer(result: Array<BackupPolicy>): any[] {\n return result.map((item) => {\n return backupPolicyDeserializer(item);\n });\n}\n\n/** Quota Rule of a Volume */\nexport interface VolumeQuotaRule extends TrackedResource {\n /** Volume Quota Rule Properties */\n properties?: VolumeQuotaRulesProperties;\n}\n\nexport function volumeQuotaRuleSerializer(item: VolumeQuotaRule): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : volumeQuotaRulesPropertiesSerializer(item[\"properties\"]),\n };\n}\n\nexport function volumeQuotaRuleDeserializer(item: any): VolumeQuotaRule {\n return {\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : volumeQuotaRulesPropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** Volume Quota Rule properties */\nexport interface VolumeQuotaRulesProperties {\n /** Gets the status of the VolumeQuotaRule at the time the operation was called. */\n readonly provisioningState?: NetAppProvisioningState;\n /** Size of quota */\n quotaSizeInKiBs?: number;\n /** Type of quota */\n quotaType?: QuotaType;\n /** UserID/GroupID/SID based on the quota target type. UserID and groupID can be found by running ‘id’ or ‘getent’ command for the user or group and SID can be found by running <wmic useraccount where name='user-name' get sid> */\n quotaTarget?: string;\n}\n\nexport function volumeQuotaRulesPropertiesSerializer(item: VolumeQuotaRulesProperties): any {\n return {\n quotaSizeInKiBs: item[\"quotaSizeInKiBs\"],\n quotaType: item[\"quotaType\"],\n quotaTarget: item[\"quotaTarget\"],\n };\n}\n\nexport function volumeQuotaRulesPropertiesDeserializer(item: any): VolumeQuotaRulesProperties {\n return {\n provisioningState: item[\"provisioningState\"],\n quotaSizeInKiBs: item[\"quotaSizeInKiBs\"],\n quotaType: item[\"quotaType\"],\n quotaTarget: item[\"quotaTarget\"],\n };\n}\n\n/** Gets the status of the VolumeQuotaRule at the time the operation was called. */\nexport enum KnownNetAppProvisioningState {\n /** Resource has been Accepted */\n Accepted = \"Accepted\",\n /** Resource is being Created */\n Creating = \"Creating\",\n /** Resource is being Patched */\n Patching = \"Patching\",\n /** Resource is updating */\n Updating = \"Updating\",\n /** Resource is being Deleted */\n Deleting = \"Deleting\",\n /** Resource is being Moved */\n Moving = \"Moving\",\n /** Resource has Failed */\n Failed = \"Failed\",\n /** Resource has Succeeded */\n Succeeded = \"Succeeded\",\n}\n\n/**\n * Gets the status of the VolumeQuotaRule at the time the operation was called. \\\n * {@link KnownNetAppProvisioningState} can be used interchangeably with NetAppProvisioningState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Accepted**: Resource has been Accepted \\\n * **Creating**: Resource is being Created \\\n * **Patching**: Resource is being Patched \\\n * **Updating**: Resource is updating \\\n * **Deleting**: Resource is being Deleted \\\n * **Moving**: Resource is being Moved \\\n * **Failed**: Resource has Failed \\\n * **Succeeded**: Resource has Succeeded\n */\nexport type NetAppProvisioningState = string;\n\n/** Patchable Quota Rule of a Volume */\nexport interface VolumeQuotaRulePatch {\n /** Resource tags */\n tags?: Record<string, string>;\n /** Volume Quota Rule Properties */\n properties?: VolumeQuotaRulesProperties;\n}\n\nexport function volumeQuotaRulePatchSerializer(item: VolumeQuotaRulePatch): any {\n return {\n tags: item[\"tags\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : volumeQuotaRulesPropertiesSerializer(item[\"properties\"]),\n };\n}\n\n/** List of Volume Quota Rules */\nexport interface _VolumeQuotaRulesList {\n /** The VolumeQuotaRule items on this page */\n value: VolumeQuotaRule[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _volumeQuotaRulesListDeserializer(item: any): _VolumeQuotaRulesList {\n return {\n value: volumeQuotaRuleArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function volumeQuotaRuleArraySerializer(result: Array<VolumeQuotaRule>): any[] {\n return result.map((item) => {\n return volumeQuotaRuleSerializer(item);\n });\n}\n\nexport function volumeQuotaRuleArrayDeserializer(result: Array<VolumeQuotaRule>): any[] {\n return result.map((item) => {\n return volumeQuotaRuleDeserializer(item);\n });\n}\n\n/**\n * Advanced Ransomware Protection (ARP) report\n * Get details of the specified Advanced Ransomware Protection report (ARP).\n * ARP reports are created with a list of suspected files when it detects any combination of high data entropy, abnormal volume activity with data encryption, and unusual file extensions.\n * ARP creates snapshots named Anti_ransomware_backup when it detects a potential ransomware threat. You can use one of these ARP snapshots or another snapshot of your volume to restore data.\n */\nexport interface RansomwareReport extends ProxyResource {\n /** Advanced Ransomware Protection reports Properties */\n properties?: RansomwareReportProperties;\n}\n\nexport function ransomwareReportDeserializer(item: any): RansomwareReport {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : ransomwareReportPropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/**\n * Advanced Ransomware Protection (ARP) report properties.\n *\n * Evaluate the report to determine whether the activity is acceptable (false positive) or whether an attack seems malicious using the ClearSuspects operation.\n *\n * Advanced Ransomware Protection (ARP) creates snapshots named Anti_ransomware_backup when it detects a potential ransomware threat. You can use one of the ARP snapshots or another snapshot of your volume to restore data.\n */\nexport interface RansomwareReportProperties {\n /** The creation date and time of the report */\n readonly eventTime?: Date;\n /** State of the Advanced Ransomware Protection (ARP) report */\n readonly state?: RansomwareReportState;\n /** Severity of the Advanced Ransomware Protection (ARP) report */\n readonly severity?: RansomwareReportSeverity;\n /** The number of cleared suspects identified by the ARP report */\n readonly clearedCount?: number;\n /** The number of suspects identified by the ARP report */\n readonly reportedCount?: number;\n /** Suspects identified in an ARP report */\n readonly suspects?: RansomwareSuspects[];\n /** Azure lifecycle management */\n readonly provisioningState?: string;\n}\n\nexport function ransomwareReportPropertiesDeserializer(item: any): RansomwareReportProperties {\n return {\n eventTime: !item[\"eventTime\"] ? item[\"eventTime\"] : new Date(item[\"eventTime\"]),\n state: item[\"state\"],\n severity: item[\"severity\"],\n clearedCount: item[\"clearedCount\"],\n reportedCount: item[\"reportedCount\"],\n suspects: !item[\"suspects\"]\n ? item[\"suspects\"]\n : ransomwareSuspectsArrayDeserializer(item[\"suspects\"]),\n provisioningState: item[\"provisioningState\"],\n };\n}\n\n/** State of the Advanced Ransomware Protection (ARP) report */\nexport enum KnownRansomwareReportState {\n /** The ARP report has been created. Take action by running clearsuspects marking suspects as FalsePositive or PotentialThreats */\n Active = \"Active\",\n /** The ARP Report has been resolved */\n Resolved = \"Resolved\",\n}\n\n/**\n * State of the Advanced Ransomware Protection (ARP) report \\\n * {@link KnownRansomwareReportState} can be used interchangeably with RansomwareReportState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Active**: The ARP report has been created. Take action by running clearsuspects marking suspects as FalsePositive or PotentialThreats \\\n * **Resolved**: The ARP Report has been resolved\n */\nexport type RansomwareReportState = string;\n\n/** Severity of the Advanced Ransomware Protection (ARP) report */\nexport enum KnownRansomwareReportSeverity {\n /** No data is suspected for ransomware activity */\n None = \"None\",\n /** Low attack probability */\n Low = \"Low\",\n /** Moderate attack probability */\n Moderate = \"Moderate\",\n /** High amount of data is suspected for ransomware activity */\n High = \"High\",\n}\n\n/**\n * Severity of the Advanced Ransomware Protection (ARP) report \\\n * {@link KnownRansomwareReportSeverity} can be used interchangeably with RansomwareReportSeverity,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **None**: No data is suspected for ransomware activity \\\n * **Low**: Low attack probability \\\n * **Moderate**: Moderate attack probability \\\n * **High**: High amount of data is suspected for ransomware activity\n */\nexport type RansomwareReportSeverity = string;\n\nexport function ransomwareSuspectsArrayDeserializer(result: Array<RansomwareSuspects>): any[] {\n return result.map((item) => {\n return ransomwareSuspectsDeserializer(item);\n });\n}\n\n/** List of suspects identified in an Advanced Ransomware Protection (ARP) report */\nexport interface RansomwareSuspects {\n /** Suspect File extension */\n readonly extension?: string;\n /** ARP report suspect resolution */\n readonly resolution?: RansomwareSuspectResolution;\n /** The number of suspect files at the time of ARP report, this number can change as files get created and report status progresses */\n readonly fileCount?: number;\n /** Suspect files */\n readonly suspectFiles?: SuspectFile[];\n}\n\nexport function ransomwareSuspectsDeserializer(item: any): RansomwareSuspects {\n return {\n extension: item[\"extension\"],\n resolution: item[\"resolution\"],\n fileCount: item[\"fileCount\"],\n suspectFiles: !item[\"suspectFiles\"]\n ? item[\"suspectFiles\"]\n : suspectFileArrayDeserializer(item[\"suspectFiles\"]),\n };\n}\n\n/** ARP report suspect resolution */\nexport enum KnownRansomwareSuspectResolution {\n /** The identified file type is unexpected in your workload and should be treated as a potential attack */\n PotentialThreat = \"PotentialThreat\",\n /** The identified file type is expected in your workload and can be ignored */\n FalsePositive = \"FalsePositive\",\n}\n\n/**\n * ARP report suspect resolution \\\n * {@link KnownRansomwareSuspectResolution} can be used interchangeably with RansomwareSuspectResolution,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **PotentialThreat**: The identified file type is unexpected in your workload and should be treated as a potential attack \\\n * **FalsePositive**: The identified file type is expected in your workload and can be ignored\n */\nexport type RansomwareSuspectResolution = string;\n\nexport function suspectFileArrayDeserializer(result: Array<SuspectFile>): any[] {\n return result.map((item) => {\n return suspectFileDeserializer(item);\n });\n}\n\n/** Suspect file information */\nexport interface SuspectFile {\n /** Suspect filename */\n readonly suspectFileName?: string;\n /** The creation date and time of the file */\n readonly fileTimestamp?: Date;\n}\n\nexport function suspectFileDeserializer(item: any): SuspectFile {\n return {\n suspectFileName: item[\"suspectFileName\"],\n fileTimestamp: !item[\"fileTimestamp\"] ? item[\"fileTimestamp\"] : new Date(item[\"fileTimestamp\"]),\n };\n}\n\n/** List of Advanced Ransomware Protection (ARP) reports */\nexport interface _RansomwareReportsList {\n /** The RansomwareReport items on this page */\n value: RansomwareReport[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _ransomwareReportsListDeserializer(item: any): _RansomwareReportsList {\n return {\n value: ransomwareReportArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function ransomwareReportArrayDeserializer(result: Array<RansomwareReport>): any[] {\n return result.map((item) => {\n return ransomwareReportDeserializer(item);\n });\n}\n\n/** Clear suspects for Advanced Ransomware Protection (ARP) report */\nexport interface RansomwareSuspectsClearRequest {\n /** ARP report suspect resolution */\n resolution: RansomwareSuspectResolution;\n /** List of file extensions resolved (PotentialThreat or FalsePositive) */\n extensions: string[];\n}\n\nexport function ransomwareSuspectsClearRequestSerializer(\n item: RansomwareSuspectsClearRequest,\n): any {\n return {\n resolution: item[\"resolution\"],\n extensions: item[\"extensions\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Backup Vault information */\nexport interface BackupVault extends TrackedResource {\n /** Backup Vault Properties */\n properties?: BackupVaultProperties;\n}\n\nexport function backupVaultSerializer(item: BackupVault): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : backupVaultPropertiesSerializer(item[\"properties\"]),\n };\n}\n\nexport function backupVaultDeserializer(item: any): BackupVault {\n return {\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : backupVaultPropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** Backup Vault properties */\nexport interface BackupVaultProperties {\n /** Azure lifecycle management */\n readonly provisioningState?: string;\n}\n\nexport function backupVaultPropertiesSerializer(_item: BackupVaultProperties): any {\n return {};\n}\n\nexport function backupVaultPropertiesDeserializer(item: any): BackupVaultProperties {\n return {\n provisioningState: item[\"provisioningState\"],\n };\n}\n\n/** Backup Vault information */\nexport interface BackupVaultPatch {\n /** Resource tags */\n tags?: Record<string, string>;\n}\n\nexport function backupVaultPatchSerializer(item: BackupVaultPatch): any {\n return { tags: item[\"tags\"] };\n}\n\n/** List of Backup Vaults */\nexport interface _BackupVaultsList {\n /** The BackupVault items on this page */\n value: BackupVault[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _backupVaultsListDeserializer(item: any): _BackupVaultsList {\n return {\n value: backupVaultArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function backupVaultArraySerializer(result: Array<BackupVault>): any[] {\n return result.map((item) => {\n return backupVaultSerializer(item);\n });\n}\n\nexport function backupVaultArrayDeserializer(result: Array<BackupVault>): any[] {\n return result.map((item) => {\n return backupVaultDeserializer(item);\n });\n}\n\n/** Bucket resource */\nexport interface Bucket extends ProxyResource {\n /** Bucket properties */\n properties?: BucketProperties;\n}\n\nexport function bucketSerializer(item: Bucket): any {\n return {\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : bucketPropertiesSerializer(item[\"properties\"]),\n };\n}\n\nexport function bucketDeserializer(item: any): Bucket {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : bucketPropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** Bucket resource properties */\nexport interface BucketProperties {\n /** The volume path mounted inside the bucket. The default is the root path '/' if no value is provided when the bucket is created. */\n path?: string;\n /** File System user having access to volume data. For Unix, this is the user's uid and gid. For Windows, this is the user's username. Note that the Unix and Windows user details are mutually exclusive, meaning one or other must be supplied, but not both. */\n fileSystemUser?: FileSystemUser;\n /** Provisioning state of the resource */\n readonly provisioningState?: NetAppProvisioningState;\n /**\n * The bucket credentials status. There states:\n *\n * \"NoCredentialsSet\": Access and Secret key pair have not been generated.\n * \"CredentialsExpired\": Access and Secret key pair have expired.\n * \"Active\": The certificate has been installed and credentials are unexpired.\n */\n readonly status?: CredentialsStatus;\n /** Properties of the server managing the lifecycle of volume buckets */\n server?: BucketServerProperties;\n /** Access permissions for the bucket. Either ReadOnly or ReadWrite. The default is ReadOnly if no value is provided during bucket creation. */\n permissions?: BucketPermissions;\n /**\n * Specifies the Azure Key Vault settings. These are used when\n * a) retrieving the bucket server certificate, and\n * b) storing the bucket credentials\n *\n * Notes:\n *\n * 1. If a bucket certificate was previously provided directly using the certificateObject property, it is possible to subsequently use the Azure Key Vault for certificate management by using these 'akvDetails' properties. However, once Azure Key Vault is configured, it is no longer possible to provide the certificate directly via the certificateObject property.\n * 2. These properties are mutually exclusive with the server.certificateObject property.\n */\n akvDetails?: AzureKeyVaultDetails;\n}\n\nexport function bucketPropertiesSerializer(item: BucketProperties): any {\n return {\n path: item[\"path\"],\n fileSystemUser: !item[\"fileSystemUser\"]\n ? item[\"fileSystemUser\"]\n : fileSystemUserSerializer(item[\"fileSystemUser\"]),\n server: !item[\"server\"] ? item[\"server\"] : bucketServerPropertiesSerializer(item[\"server\"]),\n permissions: item[\"permissions\"],\n akvDetails: !item[\"akvDetails\"]\n ? item[\"akvDetails\"]\n : azureKeyVaultDetailsSerializer(item[\"akvDetails\"]),\n };\n}\n\nexport function bucketPropertiesDeserializer(item: any): BucketProperties {\n return {\n path: item[\"path\"],\n fileSystemUser: !item[\"fileSystemUser\"]\n ? item[\"fileSystemUser\"]\n : fileSystemUserDeserializer(item[\"fileSystemUser\"]),\n provisioningState: item[\"provisioningState\"],\n status: item[\"status\"],\n server: !item[\"server\"] ? item[\"server\"] : bucketServerPropertiesDeserializer(item[\"server\"]),\n permissions: item[\"permissions\"],\n akvDetails: !item[\"akvDetails\"]\n ? item[\"akvDetails\"]\n : azureKeyVaultDetailsDeserializer(item[\"akvDetails\"]),\n };\n}\n\n/** File System user having access to volume data. For Unix, this is the user's uid and gid. For Windows, this is the user's username. Note that the Unix and Windows user details are mutually exclusive, meaning one or other must be supplied, but not both. */\nexport interface FileSystemUser {\n /** The effective NFS User ID and Group ID when accessing the volume data. */\n nfsUser?: NfsUser;\n /** The effective CIFS username when accessing the volume data. */\n cifsUser?: CifsUser;\n}\n\nexport function fileSystemUserSerializer(item: FileSystemUser): any {\n return {\n nfsUser: !item[\"nfsUser\"] ? item[\"nfsUser\"] : nfsUserSerializer(item[\"nfsUser\"]),\n cifsUser: !item[\"cifsUser\"] ? item[\"cifsUser\"] : cifsUserSerializer(item[\"cifsUser\"]),\n };\n}\n\nexport function fileSystemUserDeserializer(item: any): FileSystemUser {\n return {\n nfsUser: !item[\"nfsUser\"] ? item[\"nfsUser\"] : nfsUserDeserializer(item[\"nfsUser\"]),\n cifsUser: !item[\"cifsUser\"] ? item[\"cifsUser\"] : cifsUserDeserializer(item[\"cifsUser\"]),\n };\n}\n\n/** The effective NFS User ID and Group ID when accessing the volume data. */\nexport interface NfsUser {\n /** The NFS user's UID */\n userId?: number;\n /** The NFS user's GID */\n groupId?: number;\n}\n\nexport function nfsUserSerializer(item: NfsUser): any {\n return { userId: item[\"userId\"], groupId: item[\"groupId\"] };\n}\n\nexport function nfsUserDeserializer(item: any): NfsUser {\n return {\n userId: item[\"userId\"],\n groupId: item[\"groupId\"],\n };\n}\n\n/** The effective CIFS username when accessing the volume data. */\nexport interface CifsUser {\n /** The CIFS user's username */\n username?: string;\n}\n\nexport function cifsUserSerializer(item: CifsUser): any {\n return { username: item[\"username\"] };\n}\n\nexport function cifsUserDeserializer(item: any): CifsUser {\n return {\n username: item[\"username\"],\n };\n}\n\n/**\n * The bucket credentials status. There states:\n *\n * \"NoCredentialsSet\": Access and Secret key pair have not been generated.\n * \"CredentialsExpired\": Access and Secret key pair have expired.\n * \"Active\": The certificate has been installed and credentials are unexpired.\n */\nexport enum KnownCredentialsStatus {\n /** Access and Secret key pair have not been generated. */\n NoCredentialsSet = \"NoCredentialsSet\",\n /** Access and Secret key pair have expired. */\n CredentialsExpired = \"CredentialsExpired\",\n /** The certificate has been installed on the bucket server and the bucket credentials are unexpired. */\n Active = \"Active\",\n}\n\n/**\n * The bucket credentials status. There states:\n *\n * \"NoCredentialsSet\": Access and Secret key pair have not been generated.\n * \"CredentialsExpired\": Access and Secret key pair have expired.\n * \"Active\": The certificate has been installed and credentials are unexpired. \\\n * {@link KnownCredentialsStatus} can be used interchangeably with CredentialsStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **NoCredentialsSet**: Access and Secret key pair have not been generated. \\\n * **CredentialsExpired**: Access and Secret key pair have expired. \\\n * **Active**: The certificate has been installed on the bucket server and the bucket credentials are unexpired.\n */\nexport type CredentialsStatus = string;\n\n/** Properties of the server managing the lifecycle of volume buckets */\nexport interface BucketServerProperties {\n /** The host part of the bucket URL, resolving to the bucket IP address and allowed by the server certificate. */\n fqdn?: string;\n /** Certificate Common Name taken from the certificate installed on the bucket server */\n readonly certificateCommonName?: string;\n /** The bucket server's certificate expiry date. */\n readonly certificateExpiryDate?: Date;\n /** The bucket server's IPv4 address */\n readonly ipAddress?: string;\n /**\n * The base64-encoded contents of a PEM file, which includes both the bucket server's certificate and private key. It is generated by the end user and allows the user to access volume data in a read-only manner.\n * Note: This is only used when Azure Key Vault is not configured. This property is mutually exclusive with the Azure Key Vault 'akv' properties.\n */\n certificateObject?: string;\n /**\n * Action to take when there is a certificate conflict.\n * Possible values include: 'Update', 'Fail'\n */\n onCertificateConflictAction?: OnCertificateConflictAction;\n}\n\nexport function bucketServerPropertiesSerializer(item: BucketServerProperties): any {\n return {\n fqdn: item[\"fqdn\"],\n certificateObject: item[\"certificateObject\"],\n onCertificateConflictAction: item[\"onCertificateConflictAction\"],\n };\n}\n\nexport function bucketServerPropertiesDeserializer(item: any): BucketServerProperties {\n return {\n fqdn: item[\"fqdn\"],\n certificateCommonName: item[\"certificateCommonName\"],\n certificateExpiryDate: !item[\"certificateExpiryDate\"]\n ? item[\"certificateExpiryDate\"]\n : new Date(item[\"certificateExpiryDate\"]),\n ipAddress: item[\"ipAddress\"],\n certificateObject: item[\"certificateObject\"],\n onCertificateConflictAction: item[\"onCertificateConflictAction\"],\n };\n}\n\n/**\n * This action is triggered when a certificate conflict occurs. A conflict arises if you try to create a new bucket while one or more already exist on the server, or if you update a bucket when multiple buckets are present. This happens because a single certificate is shared among all buckets on the same server.\n *\n * Note: This applies both to certificates provided directly via the certificateObject property and to those retrieved from Azure Key Vault. Details for the latter case are specified in the akvDetails.certificateAkvDetails section.\n */\nexport enum KnownOnCertificateConflictAction {\n /** Update the existing certificate regardless of whether there is a conflict or not. This means all buckets on the server will now use the new certificate. */\n Update = \"Update\",\n /** Fail the operation if a conflict occurs, meaning the bucket operation will fail, and the existing certificate will continue to be in use. */\n Fail = \"Fail\",\n}\n\n/**\n * This action is triggered when a certificate conflict occurs. A conflict arises if you try to create a new bucket while one or more already exist on the server, or if you update a bucket when multiple buckets are present. This happens because a single certificate is shared among all buckets on the same server.\n *\n * Note: This applies both to certificates provided directly via the certificateObject property and to those retrieved from Azure Key Vault. Details for the latter case are specified in the akvDetails.certificateAkvDetails section. \\\n * {@link KnownOnCertificateConflictAction} can be used interchangeably with OnCertificateConflictAction,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Update**: Update the existing certificate regardless of whether there is a conflict or not. This means all buckets on the server will now use the new certificate. \\\n * **Fail**: Fail the operation if a conflict occurs, meaning the bucket operation will fail, and the existing certificate will continue to be in use.\n */\nexport type OnCertificateConflictAction = string;\n\n/** Access permissions for the bucket. Either ReadOnly or ReadWrite. The default is ReadOnly if no value is provided during bucket creation. */\nexport enum KnownBucketPermissions {\n /** Read-only access to bucket. */\n ReadOnly = \"ReadOnly\",\n /** Read-write access to bucket. */\n ReadWrite = \"ReadWrite\",\n}\n\n/**\n * Access permissions for the bucket. Either ReadOnly or ReadWrite. The default is ReadOnly if no value is provided during bucket creation. \\\n * {@link KnownBucketPermissions} can be used interchangeably with BucketPermissions,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **ReadOnly**: Read-only access to bucket. \\\n * **ReadWrite**: Read-write access to bucket.\n */\nexport type BucketPermissions = string;\n\n/**\n * Specifies the Azure Key Vault settings. These are used when\n * a) retrieving the bucket server certificate, and\n * b) storing the bucket credentials\n *\n * Notes:\n *\n * 1. If a bucket certificate was previously provided directly using the certificateObject property, it is possible to subsequently use the Azure Key Vault for certificate management by using these 'akvDetails' properties. However, once Azure Key Vault is configured, it is no longer possible to provide the certificate directly via the certificateObject property.\n *\n * 2. These properties are mutually exclusive with the server.certificateObject property.\n */\nexport interface AzureKeyVaultDetails {\n /** Specifies the Azure Key Vault settings for retrieving the bucket server certificate. */\n certificateAkvDetails?: CertificateAkvDetails;\n /** Specifies the Azure Key Vault settings for storing the bucket credentials. */\n credentialsAkvDetails?: CredentialsAkvDetails;\n}\n\nexport function azureKeyVaultDetailsSerializer(item: AzureKeyVaultDetails): any {\n return {\n certificateAkvDetails: !item[\"certificateAkvDetails\"]\n ? item[\"certificateAkvDetails\"]\n : certificateAkvDetailsSerializer(item[\"certificateAkvDetails\"]),\n credentialsAkvDetails: !item[\"credentialsAkvDetails\"]\n ? item[\"credentialsAkvDetails\"]\n : credentialsAkvDetailsSerializer(item[\"credentialsAkvDetails\"]),\n };\n}\n\nexport function azureKeyVaultDetailsDeserializer(item: any): AzureKeyVaultDetails {\n return {\n certificateAkvDetails: !item[\"certificateAkvDetails\"]\n ? item[\"certificateAkvDetails\"]\n : certificateAkvDetailsDeserializer(item[\"certificateAkvDetails\"]),\n credentialsAkvDetails: !item[\"credentialsAkvDetails\"]\n ? item[\"credentialsAkvDetails\"]\n : credentialsAkvDetailsDeserializer(item[\"credentialsAkvDetails\"]),\n };\n}\n\n/** Specifies the Azure Key Vault settings for retrieving the bucket server certificate. */\nexport interface CertificateAkvDetails {\n /** The base URI of the Azure Key Vault that is used when retrieving the bucket certificate. */\n certificateKeyVaultUri?: string;\n /** The name of the bucket server certificate stored in the Azure Key Vault. */\n certificateName?: string;\n}\n\nexport function certificateAkvDetailsSerializer(item: CertificateAkvDetails): any {\n return {\n certificateKeyVaultUri: item[\"certificateKeyVaultUri\"],\n certificateName: item[\"certificateName\"],\n };\n}\n\nexport function certificateAkvDetailsDeserializer(item: any): CertificateAkvDetails {\n return {\n certificateKeyVaultUri: item[\"certificateKeyVaultUri\"],\n certificateName: item[\"certificateName\"],\n };\n}\n\n/** Specifies the Azure Key Vault settings for storing the bucket credentials. */\nexport interface CredentialsAkvDetails {\n /** The base URI of the Azure Key Vault that is used when storing the bucket credentials. */\n credentialsKeyVaultUri?: string;\n /**\n * The name of the secret stored in Azure Key Vault. The associated key pair has the following structure:\n *\n * {\n * \"access_key_id\": \"<REDACTED>\",\n * \"secret_access_key\": \"<REDACTED>\"\n * }\n */\n secretName?: string;\n}\n\nexport function credentialsAkvDetailsSerializer(item: CredentialsAkvDetails): any {\n return { credentialsKeyVaultUri: item[\"credentialsKeyVaultUri\"], secretName: item[\"secretName\"] };\n}\n\nexport function credentialsAkvDetailsDeserializer(item: any): CredentialsAkvDetails {\n return {\n credentialsKeyVaultUri: item[\"credentialsKeyVaultUri\"],\n secretName: item[\"secretName\"],\n };\n}\n\n/** Bucket resource */\nexport interface BucketPatch extends ProxyResource {\n /** Bucket properties */\n properties?: BucketPatchProperties;\n}\n\nexport function bucketPatchSerializer(item: BucketPatch): any {\n return {\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : bucketPatchPropertiesSerializer(item[\"properties\"]),\n };\n}\n\n/** Bucket resource properties for a Patch operation */\nexport interface BucketPatchProperties {\n /** File System user having access to volume data. For Unix, this is the user's uid and gid. For Windows, this is the user's username. Note that the Unix and Windows user details are mutually exclusive, meaning one or other must be supplied, but not both. */\n fileSystemUser?: FileSystemUser;\n /** Provisioning state of the resource */\n readonly provisioningState?: NetAppProvisioningState;\n /** Properties of the server managing the lifecycle of volume buckets */\n server?: BucketServerPatchProperties;\n /** Access permissions for the bucket. Either ReadOnly or ReadWrite. */\n permissions?: BucketPatchPermissions;\n /**\n * Specifies the Azure Key Vault settings. These are used when\n * a) retrieving the bucket server certificate, and\n * b) storing the bucket credentials\n *\n * Notes:\n *\n * 1. If a bucket certificate was previously provided directly using the certificateObject property, it is possible to subsequently use the Azure Key Vault for certificate management by using these 'akvDetails' properties. However, once Azure Key Vault is configured, it is no longer possible to provide the certificate directly via the certificateObject property.\n * 2. These properties are mutually exclusive with the server.certificateObject property.\n */\n akvDetails?: AzureKeyVaultDetails;\n}\n\nexport function bucketPatchPropertiesSerializer(item: BucketPatchProperties): any {\n return {\n fileSystemUser: !item[\"fileSystemUser\"]\n ? item[\"fileSystemUser\"]\n : fileSystemUserSerializer(item[\"fileSystemUser\"]),\n server: !item[\"server\"]\n ? item[\"server\"]\n : bucketServerPatchPropertiesSerializer(item[\"server\"]),\n permissions: item[\"permissions\"],\n akvDetails: !item[\"akvDetails\"]\n ? item[\"akvDetails\"]\n : azureKeyVaultDetailsSerializer(item[\"akvDetails\"]),\n };\n}\n\n/** Properties of the server managing the lifecycle of volume buckets */\nexport interface BucketServerPatchProperties {\n /** The host part of the bucket URL, resolving to the bucket IP address and allowed by the server certificate. */\n fqdn?: string;\n /**\n * The base64-encoded contents of a PEM file, which includes both the bucket server's certificate and private key. It is generated by the end user and allows the user to access volume data in a read-only manner.\n * Note: This is only used when Azure Key Vault is not configured. This property is mutually exclusive with the Azure Key Vault 'akv' properties.\n */\n certificateObject?: string;\n /**\n * Action to take when there is a certificate conflict.\n * Possible values include: 'Update', 'Fail'\n */\n onCertificateConflictAction?: OnCertificateConflictAction;\n}\n\nexport function bucketServerPatchPropertiesSerializer(item: BucketServerPatchProperties): any {\n return {\n fqdn: item[\"fqdn\"],\n certificateObject: item[\"certificateObject\"],\n onCertificateConflictAction: item[\"onCertificateConflictAction\"],\n };\n}\n\n/** Access permissions for the bucket. Either ReadOnly or ReadWrite. */\nexport enum KnownBucketPatchPermissions {\n /** Read-only access to bucket. */\n ReadOnly = \"ReadOnly\",\n /** Read-write access to bucket. */\n ReadWrite = \"ReadWrite\",\n}\n\n/**\n * Access permissions for the bucket. Either ReadOnly or ReadWrite. \\\n * {@link KnownBucketPatchPermissions} can be used interchangeably with BucketPatchPermissions,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **ReadOnly**: Read-only access to bucket. \\\n * **ReadWrite**: Read-write access to bucket.\n */\nexport type BucketPatchPermissions = string;\n\n/** List of volume bucket resources */\nexport interface _BucketList {\n /** The Bucket items on this page */\n value: Bucket[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _bucketListDeserializer(item: any): _BucketList {\n return {\n value: bucketArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function bucketArraySerializer(result: Array<Bucket>): any[] {\n return result.map((item) => {\n return bucketSerializer(item);\n });\n}\n\nexport function bucketArrayDeserializer(result: Array<Bucket>): any[] {\n return result.map((item) => {\n return bucketDeserializer(item);\n });\n}\n\n/** The bucket's Access and Secret key pair Expiry Time expressed as the number of days from now. */\nexport interface BucketCredentialsExpiry {\n /** The number of days from now until the newly generated Access and Secret key pair will expire. */\n keyPairExpiryDays?: number;\n}\n\nexport function bucketCredentialsExpirySerializer(item: BucketCredentialsExpiry): any {\n return { keyPairExpiryDays: item[\"keyPairExpiryDays\"] };\n}\n\n/** Bucket Access Key, Secret Key, and Expiry date and time of the key pair */\nexport interface BucketGenerateCredentials {\n /** The Access Key that is required along with the Secret Key to access the bucket. */\n readonly accessKey?: string;\n /** The Secret Key that is required along with the Access Key to access the bucket. */\n readonly secretKey?: string;\n /** The bucket's Access and Secret key pair expiry date and time (in UTC). */\n readonly keyPairExpiry?: Date;\n}\n\nexport function bucketGenerateCredentialsDeserializer(item: any): BucketGenerateCredentials {\n return {\n accessKey: item[\"accessKey\"],\n secretKey: item[\"secretKey\"],\n keyPairExpiry: !item[\"keyPairExpiry\"] ? item[\"keyPairExpiry\"] : new Date(item[\"keyPairExpiry\"]),\n };\n}\n\n/** Cache resource */\nexport interface Cache extends TrackedResource {\n /** Cache properties */\n properties: CacheProperties;\n /** \"If etag is provided in the response body, it may also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields.\") */\n readonly etag?: string;\n /** The availability zones. */\n zones?: string[];\n}\n\nexport function cacheSerializer(item: Cache): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: cachePropertiesSerializer(item[\"properties\"]),\n zones: !item[\"zones\"]\n ? item[\"zones\"]\n : item[\"zones\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function cacheDeserializer(item: any): Cache {\n return {\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: cachePropertiesDeserializer(item[\"properties\"]),\n etag: item[\"etag\"],\n zones: !item[\"zones\"]\n ? item[\"zones\"]\n : item[\"zones\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Cache resource properties */\nexport interface CacheProperties {\n /** The file path of the Cache. */\n filePath: string;\n /** Maximum storage quota allowed for a file system in bytes. Valid values are in the range 50GiB to 1PiB. Values expressed in bytes as multiples of 1GiB. */\n size: number;\n /** Set of export policy rules */\n exportPolicy?: CachePropertiesExportPolicy;\n /** Set of supported protocol types, which include NFSv3, NFSv4 and SMB protocol */\n protocolTypes?: ProtocolTypes[];\n /** Azure lifecycle management */\n readonly provisioningState?: CacheProvisioningState;\n /** Azure NetApp Files Cache lifecycle management */\n readonly cacheState?: CacheLifeCycleState;\n /** The Azure Resource URI for a delegated cache subnet that will be used to allocate data IPs. */\n cacheSubnetResourceId: string;\n /** The Azure Resource URI for a delegated subnet that will be used for ANF Intercluster Interface IP addresses. */\n peeringSubnetResourceId: string;\n /** List of mount targets that can be used to mount this cache */\n readonly mountTargets?: CacheMountTargetProperties[];\n /** Describe if a cache is Kerberos enabled. */\n kerberos?: KerberosState;\n /** SMB information for the cache */\n smbSettings?: SmbSettings;\n /** Maximum throughput in MiB/s that can be achieved by this cache volume and this will be accepted as input only for manual qosType cache */\n throughputMibps?: number;\n /** Actual throughput in MiB/s for auto qosType volumes calculated based on size and serviceLevel */\n readonly actualThroughputMibps?: number;\n /** Source of key used to encrypt data in the cache. Applicable if NetApp account has encryption.keySource = 'Microsoft.KeyVault'. Possible values (case-insensitive) are: 'Microsoft.NetApp, Microsoft.KeyVault' */\n encryptionKeySource: EncryptionKeySource;\n /** The resource ID of private endpoint for KeyVault. It must reside in the same VNET as the volume. Only applicable if encryptionKeySource = 'Microsoft.KeyVault'. */\n keyVaultPrivateEndpointResourceId?: string;\n /** Maximum number of files allowed. */\n readonly maximumNumberOfFiles?: number;\n /** Specifies if the cache is encryption or not. */\n readonly encryption?: EncryptionState;\n /** Language supported for volume. */\n readonly language?: VolumeLanguage;\n /** Specifies whether LDAP is enabled or not for flexcache volume. */\n ldap?: LdapState;\n /** Specifies the type of LDAP server for flexcache volume. */\n ldapServerType?: LdapServerType;\n /** Origin cluster information */\n originClusterInformation: OriginClusterInformation;\n /** Flag indicating whether a CIFS change notification is enabled for the cache. */\n cifsChangeNotifications?: CifsChangeNotifyState;\n /** Flag indicating whether the global file lock is enabled for the cache. */\n globalFileLocking?: GlobalFileLockingState;\n /** Flag indicating whether writeback is enabled for the cache. */\n writeBack?: EnableWriteBackState;\n}\n\nexport function cachePropertiesSerializer(item: CacheProperties): any {\n return {\n filePath: item[\"filePath\"],\n size: item[\"size\"],\n exportPolicy: !item[\"exportPolicy\"]\n ? item[\"exportPolicy\"]\n : cachePropertiesExportPolicySerializer(item[\"exportPolicy\"]),\n protocolTypes: !item[\"protocolTypes\"]\n ? item[\"protocolTypes\"]\n : item[\"protocolTypes\"].map((p: any) => {\n return p;\n }),\n cacheSubnetResourceId: item[\"cacheSubnetResourceId\"],\n peeringSubnetResourceId: item[\"peeringSubnetResourceId\"],\n kerberos: item[\"kerberos\"],\n smbSettings: !item[\"smbSettings\"]\n ? item[\"smbSettings\"]\n : smbSettingsSerializer(item[\"smbSettings\"]),\n throughputMibps: item[\"throughputMibps\"],\n encryptionKeySource: item[\"encryptionKeySource\"],\n keyVaultPrivateEndpointResourceId: item[\"keyVaultPrivateEndpointResourceId\"],\n ldap: item[\"ldap\"],\n ldapServerType: item[\"ldapServerType\"],\n originClusterInformation: originClusterInformationSerializer(item[\"originClusterInformation\"]),\n cifsChangeNotifications: item[\"cifsChangeNotifications\"],\n globalFileLocking: item[\"globalFileLocking\"],\n writeBack: item[\"writeBack\"],\n };\n}\n\nexport function cachePropertiesDeserializer(item: any): CacheProperties {\n return {\n filePath: item[\"filePath\"],\n size: item[\"size\"],\n exportPolicy: !item[\"exportPolicy\"]\n ? item[\"exportPolicy\"]\n : cachePropertiesExportPolicyDeserializer(item[\"exportPolicy\"]),\n protocolTypes: !item[\"protocolTypes\"]\n ? item[\"protocolTypes\"]\n : item[\"protocolTypes\"].map((p: any) => {\n return p;\n }),\n provisioningState: item[\"provisioningState\"],\n cacheState: item[\"cacheState\"],\n cacheSubnetResourceId: item[\"cacheSubnetResourceId\"],\n peeringSubnetResourceId: item[\"peeringSubnetResourceId\"],\n mountTargets: !item[\"mountTargets\"]\n ? item[\"mountTargets\"]\n : cacheMountTargetPropertiesArrayDeserializer(item[\"mountTargets\"]),\n kerberos: item[\"kerberos\"],\n smbSettings: !item[\"smbSettings\"]\n ? item[\"smbSettings\"]\n : smbSettingsDeserializer(item[\"smbSettings\"]),\n throughputMibps: item[\"throughputMibps\"],\n actualThroughputMibps: item[\"actualThroughputMibps\"],\n encryptionKeySource: item[\"encryptionKeySource\"],\n keyVaultPrivateEndpointResourceId: item[\"keyVaultPrivateEndpointResourceId\"],\n maximumNumberOfFiles: item[\"maximumNumberOfFiles\"],\n encryption: item[\"encryption\"],\n language: item[\"language\"],\n ldap: item[\"ldap\"],\n ldapServerType: item[\"ldapServerType\"],\n originClusterInformation: originClusterInformationDeserializer(\n item[\"originClusterInformation\"],\n ),\n cifsChangeNotifications: item[\"cifsChangeNotifications\"],\n globalFileLocking: item[\"globalFileLocking\"],\n writeBack: item[\"writeBack\"],\n };\n}\n\n/** Set of export policy rules */\nexport interface CachePropertiesExportPolicy {\n /** Export policy rule */\n rules?: ExportPolicyRule[];\n}\n\nexport function cachePropertiesExportPolicySerializer(item: CachePropertiesExportPolicy): any {\n return { rules: !item[\"rules\"] ? item[\"rules\"] : exportPolicyRuleArraySerializer(item[\"rules\"]) };\n}\n\nexport function cachePropertiesExportPolicyDeserializer(item: any): CachePropertiesExportPolicy {\n return {\n rules: !item[\"rules\"] ? item[\"rules\"] : exportPolicyRuleArrayDeserializer(item[\"rules\"]),\n };\n}\n\n/** Set of supported protocol types, which include NFSv3, NFSv4 and SMB protocol */\nexport enum KnownProtocolTypes {\n /** NFSv3 protocol type */\n NFSv3 = \"NFSv3\",\n /** NFSv4 protocol type */\n NFSv4 = \"NFSv4\",\n /** SMB protocol type */\n SMB = \"SMB\",\n}\n\n/**\n * Set of supported protocol types, which include NFSv3, NFSv4 and SMB protocol \\\n * {@link KnownProtocolTypes} can be used interchangeably with ProtocolTypes,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **NFSv3**: NFSv3 protocol type \\\n * **NFSv4**: NFSv4 protocol type \\\n * **SMB**: SMB protocol type\n */\nexport type ProtocolTypes = string;\n\n/** Azure lifecycle management */\nexport enum KnownCacheProvisioningState {\n /** The resource is being created. */\n Creating = \"Creating\",\n /** The resource is being updated. */\n Updating = \"Updating\",\n /** The resource is being deleted. */\n Deleting = \"Deleting\",\n /** The resource is in a failed state. */\n Failed = \"Failed\",\n /** The resource is succeeded. */\n Succeeded = \"Succeeded\",\n /** Resource creation was canceled. */\n Canceled = \"Canceled\",\n}\n\n/**\n * Azure lifecycle management \\\n * {@link KnownCacheProvisioningState} can be used interchangeably with CacheProvisioningState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Creating**: The resource is being created. \\\n * **Updating**: The resource is being updated. \\\n * **Deleting**: The resource is being deleted. \\\n * **Failed**: The resource is in a failed state. \\\n * **Succeeded**: The resource is succeeded. \\\n * **Canceled**: Resource creation was canceled.\n */\nexport type CacheProvisioningState = string;\n\n/** Azure NetApp Files Cache lifecycle management */\nexport enum KnownCacheLifeCycleState {\n /** Cluster peering offer has been sent. */\n ClusterPeeringOfferSent = \"ClusterPeeringOfferSent\",\n /** VServer peering offer has been sent. */\n VserverPeeringOfferSent = \"VserverPeeringOfferSent\",\n /** Cache creation in progress. */\n Creating = \"Creating\",\n /** Cache creation succeeded and is available for use. */\n Succeeded = \"Succeeded\",\n /** Cache is in a failed state */\n Failed = \"Failed\",\n}\n\n/**\n * Azure NetApp Files Cache lifecycle management \\\n * {@link KnownCacheLifeCycleState} can be used interchangeably with CacheLifeCycleState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **ClusterPeeringOfferSent**: Cluster peering offer has been sent. \\\n * **VserverPeeringOfferSent**: VServer peering offer has been sent. \\\n * **Creating**: Cache creation in progress. \\\n * **Succeeded**: Cache creation succeeded and is available for use. \\\n * **Failed**: Cache is in a failed state\n */\nexport type CacheLifeCycleState = string;\n\nexport function cacheMountTargetPropertiesArrayDeserializer(\n result: Array<CacheMountTargetProperties>,\n): any[] {\n return result.map((item) => {\n return cacheMountTargetPropertiesDeserializer(item);\n });\n}\n\n/** Contains all the information needed to mount a cache */\nexport interface CacheMountTargetProperties {\n /** UUID v4 used to identify the MountTarget */\n readonly mountTargetId?: string;\n /** The mount target's IPv4 address, used to mount the cache. */\n readonly ipAddress?: string;\n /** The SMB server's Fully Qualified Domain Name, FQDN */\n readonly smbServerFqdn?: string;\n}\n\nexport function cacheMountTargetPropertiesDeserializer(item: any): CacheMountTargetProperties {\n return {\n mountTargetId: item[\"mountTargetId\"],\n ipAddress: item[\"ipAddress\"],\n smbServerFqdn: item[\"smbServerFqdn\"],\n };\n}\n\n/** Describe if a cache is Kerberos enabled. */\nexport enum KnownKerberosState {\n /** Kerberos is disabled */\n Disabled = \"Disabled\",\n /** Kerberos is enabled */\n Enabled = \"Enabled\",\n}\n\n/**\n * Describe if a cache is Kerberos enabled. \\\n * {@link KnownKerberosState} can be used interchangeably with KerberosState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Disabled**: Kerberos is disabled \\\n * **Enabled**: Kerberos is enabled\n */\nexport type KerberosState = string;\n\n/** SMB settings for the cache */\nexport interface SmbSettings {\n /** Enables encryption for in-flight smb3 data. Only applicable for SMB/DualProtocol cache. */\n smbEncryption?: SmbEncryptionState;\n /** Enables access-based enumeration share property for SMB Shares. Only applicable for SMB/DualProtocol volume */\n smbAccessBasedEnumeration?: SmbAccessBasedEnumeration;\n /** Enables non-browsable property for SMB Shares. Only applicable for SMB/DualProtocol volume */\n smbNonBrowsable?: SmbNonBrowsable;\n}\n\nexport function smbSettingsSerializer(item: SmbSettings): any {\n return {\n smbEncryption: item[\"smbEncryption\"],\n smbAccessBasedEnumeration: item[\"smbAccessBasedEnumeration\"],\n smbNonBrowsable: item[\"smbNonBrowsable\"],\n };\n}\n\nexport function smbSettingsDeserializer(item: any): SmbSettings {\n return {\n smbEncryption: item[\"smbEncryption\"],\n smbAccessBasedEnumeration: item[\"smbAccessBasedEnumeration\"],\n smbNonBrowsable: item[\"smbNonBrowsable\"],\n };\n}\n\n/** Enables encryption for in-flight smb3 data. Only applicable for SMB/DualProtocol cache */\nexport enum KnownSmbEncryptionState {\n /** SMB encryption is disabled */\n Disabled = \"Disabled\",\n /** SMB encryption is enabled */\n Enabled = \"Enabled\",\n}\n\n/**\n * Enables encryption for in-flight smb3 data. Only applicable for SMB/DualProtocol cache \\\n * {@link KnownSmbEncryptionState} can be used interchangeably with SmbEncryptionState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Disabled**: SMB encryption is disabled \\\n * **Enabled**: SMB encryption is enabled\n */\nexport type SmbEncryptionState = string;\n\n/** Specifies if the cache is encryption or not. */\nexport enum KnownEncryptionState {\n /** Encryption is disabled */\n Disabled = \"Disabled\",\n /** Encryption is enabled */\n Enabled = \"Enabled\",\n}\n\n/**\n * Specifies if the cache is encryption or not. \\\n * {@link KnownEncryptionState} can be used interchangeably with EncryptionState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Disabled**: Encryption is disabled \\\n * **Enabled**: Encryption is enabled\n */\nexport type EncryptionState = string;\n\n/** Language supported for volume. */\nexport enum KnownVolumeLanguage {\n /** Posix with UTF-8 */\n CUtf8 = \"c.utf-8\",\n /** UTF-8 with 4 byte character support */\n Utf8Mb4 = \"utf8mb4\",\n /** Arabic - Deprecated */\n Ar = \"ar\",\n /** Arabic with UTF-8 */\n ArUtf8 = \"ar.utf-8\",\n /** Croatian - Deprecated */\n Hr = \"hr\",\n /** Croatian with UTF-8 */\n HrUtf8 = \"hr.utf-8\",\n /** Czech - Deprecated */\n Cs = \"cs\",\n /** Czech with UTF-8 */\n CsUtf8 = \"cs.utf-8\",\n /** Danish - Deprecated */\n Da = \"da\",\n /** Danish with UTF-8 */\n DaUtf8 = \"da.utf-8\",\n /** Dutch - Deprecated */\n Nl = \"nl\",\n /** Dutch with UTF-8 */\n NlUtf8 = \"nl.utf-8\",\n /** English - Deprecated */\n En = \"en\",\n /** English with UTF-8 */\n EnUtf8 = \"en.utf-8\",\n /** Finnish - Deprecated */\n Fi = \"fi\",\n /** Finnish with UTF-8 */\n FiUtf8 = \"fi.utf-8\",\n /** French - Deprecated */\n Fr = \"fr\",\n /** French with UTF-8 */\n FrUtf8 = \"fr.utf-8\",\n /** German - Deprecated */\n De = \"de\",\n /** German with UTF-8 */\n DeUtf8 = \"de.utf-8\",\n /** Hebrew - Deprecated */\n He = \"he\",\n /** Hebrew with UTF-8 */\n HeUtf8 = \"he.utf-8\",\n /** Hungarian - Deprecated */\n Hu = \"hu\",\n /** Hungarian with UTF-8 */\n HuUtf8 = \"hu.utf-8\",\n /** Italian - Deprecated */\n It = \"it\",\n /** Italian with UTF-8 */\n ItUtf8 = \"it.utf-8\",\n /** Japanese euc-j - Deprecated */\n Ja = \"ja\",\n /** Japanese euc-j with UTF-8 */\n JaUtf8 = \"ja.utf-8\",\n /** Japanese euc-j - Deprecated */\n JaV1 = \"ja-v1\",\n /** Japanese euc-j with UTF-8 */\n JaV1Utf8 = \"ja-v1.utf-8\",\n /** Japanese pck */\n JaJpPck = \"ja-jp.pck\",\n /** Japanese pck with UTF-8 - Deprecated */\n JaJpPckUtf8 = \"ja-jp.pck.utf-8\",\n /** Japanese cp932 */\n JaJp932 = \"ja-jp.932\",\n /** Japanese cp932 with UTF-8 - Deprecated */\n JaJp932Utf8 = \"ja-jp.932.utf-8\",\n /** Japanese pck - sjis */\n JaJpPckV2 = \"ja-jp.pck-v2\",\n /** Japanese pck - sjis with UTF-8 - Deprecated */\n JaJpPckV2Utf8 = \"ja-jp.pck-v2.utf-8\",\n /** Korean - Deprecated */\n Ko = \"ko\",\n /** Korean with UTF-8 */\n KoUtf8 = \"ko.utf-8\",\n /** Norwegian - Deprecated */\n No = \"no\",\n /** Norwegian with UTF-8 */\n NoUtf8 = \"no.utf-8\",\n /** Polish - Deprecated */\n Pl = \"pl\",\n /** Polish with UTF-8 */\n PlUtf8 = \"pl.utf-8\",\n /** Portuguese - Deprecated */\n Pt = \"pt\",\n /** Portuguese with UTF-8 */\n PtUtf8 = \"pt.utf-8\",\n /** Posix - Deprecated */\n C = \"c\",\n /** Romanian - Deprecated */\n Ro = \"ro\",\n /** Romanian with UTF-8 */\n RoUtf8 = \"ro.utf-8\",\n /** Russian - Deprecated */\n Ru = \"ru\",\n /** Russian with UTF-8 */\n RuUtf8 = \"ru.utf-8\",\n /** Simplified Chinese - Deprecated */\n Zh = \"zh\",\n /** Simplified Chinese with UTF-8 */\n ZhUtf8 = \"zh.utf-8\",\n /** Simplified gbk Chinese */\n ZhGbk = \"zh.gbk\",\n /** Simplified gbk Chinese with UTF-8 - Deprecated */\n ZhGbkUtf8 = \"zh.gbk.utf-8\",\n /** Traditional Chinese BIG 5 */\n ZhTwBig5 = \"zh-tw.big5\",\n /** Traditional Chinese BIG 5 with UTF-8 - Deprecated */\n ZhTwBig5Utf8 = \"zh-tw.big5.utf-8\",\n /** Traditional Chinese EUC-TW */\n ZhTw = \"zh-tw\",\n /** Traditional Chinese EUC-TW with UTF-8 - Deprecated */\n ZhTwUtf8 = \"zh-tw.utf-8\",\n /** Slovak - Deprecated */\n Sk = \"sk\",\n /** Slovak with UTF-8 */\n SkUtf8 = \"sk.utf-8\",\n /** Slovenian - Deprecated */\n Sl = \"sl\",\n /** Slovenian with UTF-8 */\n SlUtf8 = \"sl.utf-8\",\n /** Spanish - Deprecated */\n Es = \"es\",\n /** Spanish with UTF-8 */\n EsUtf8 = \"es.utf-8\",\n /** Swedish - Deprecated */\n Sv = \"sv\",\n /** Swedish with UTF-8 */\n SvUtf8 = \"sv.utf-8\",\n /** Turkish - Deprecated */\n Tr = \"tr\",\n /** Turkish with UTF-8 */\n TrUtf8 = \"tr.utf-8\",\n /** US English - Deprecated */\n EnUs = \"en-us\",\n /** US English with UTF-8 */\n EnUsUtf8 = \"en-us.utf-8\",\n}\n\n/**\n * Language supported for volume. \\\n * {@link KnownVolumeLanguage} can be used interchangeably with VolumeLanguage,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **c.utf-8**: Posix with UTF-8 \\\n * **utf8mb4**: UTF-8 with 4 byte character support \\\n * **ar**: Arabic - Deprecated \\\n * **ar.utf-8**: Arabic with UTF-8 \\\n * **hr**: Croatian - Deprecated \\\n * **hr.utf-8**: Croatian with UTF-8 \\\n * **cs**: Czech - Deprecated \\\n * **cs.utf-8**: Czech with UTF-8 \\\n * **da**: Danish - Deprecated \\\n * **da.utf-8**: Danish with UTF-8 \\\n * **nl**: Dutch - Deprecated \\\n * **nl.utf-8**: Dutch with UTF-8 \\\n * **en**: English - Deprecated \\\n * **en.utf-8**: English with UTF-8 \\\n * **fi**: Finnish - Deprecated \\\n * **fi.utf-8**: Finnish with UTF-8 \\\n * **fr**: French - Deprecated \\\n * **fr.utf-8**: French with UTF-8 \\\n * **de**: German - Deprecated \\\n * **de.utf-8**: German with UTF-8 \\\n * **he**: Hebrew - Deprecated \\\n * **he.utf-8**: Hebrew with UTF-8 \\\n * **hu**: Hungarian - Deprecated \\\n * **hu.utf-8**: Hungarian with UTF-8 \\\n * **it**: Italian - Deprecated \\\n * **it.utf-8**: Italian with UTF-8 \\\n * **ja**: Japanese euc-j - Deprecated \\\n * **ja.utf-8**: Japanese euc-j with UTF-8 \\\n * **ja-v1**: Japanese euc-j - Deprecated \\\n * **ja-v1.utf-8**: Japanese euc-j with UTF-8 \\\n * **ja-jp.pck**: Japanese pck \\\n * **ja-jp.pck.utf-8**: Japanese pck with UTF-8 - Deprecated \\\n * **ja-jp.932**: Japanese cp932 \\\n * **ja-jp.932.utf-8**: Japanese cp932 with UTF-8 - Deprecated \\\n * **ja-jp.pck-v2**: Japanese pck - sjis \\\n * **ja-jp.pck-v2.utf-8**: Japanese pck - sjis with UTF-8 - Deprecated \\\n * **ko**: Korean - Deprecated \\\n * **ko.utf-8**: Korean with UTF-8 \\\n * **no**: Norwegian - Deprecated \\\n * **no.utf-8**: Norwegian with UTF-8 \\\n * **pl**: Polish - Deprecated \\\n * **pl.utf-8**: Polish with UTF-8 \\\n * **pt**: Portuguese - Deprecated \\\n * **pt.utf-8**: Portuguese with UTF-8 \\\n * **c**: Posix - Deprecated \\\n * **ro**: Romanian - Deprecated \\\n * **ro.utf-8**: Romanian with UTF-8 \\\n * **ru**: Russian - Deprecated \\\n * **ru.utf-8**: Russian with UTF-8 \\\n * **zh**: Simplified Chinese - Deprecated \\\n * **zh.utf-8**: Simplified Chinese with UTF-8 \\\n * **zh.gbk**: Simplified gbk Chinese \\\n * **zh.gbk.utf-8**: Simplified gbk Chinese with UTF-8 - Deprecated \\\n * **zh-tw.big5**: Traditional Chinese BIG 5 \\\n * **zh-tw.big5.utf-8**: Traditional Chinese BIG 5 with UTF-8 - Deprecated \\\n * **zh-tw**: Traditional Chinese EUC-TW \\\n * **zh-tw.utf-8**: Traditional Chinese EUC-TW with UTF-8 - Deprecated \\\n * **sk**: Slovak - Deprecated \\\n * **sk.utf-8**: Slovak with UTF-8 \\\n * **sl**: Slovenian - Deprecated \\\n * **sl.utf-8**: Slovenian with UTF-8 \\\n * **es**: Spanish - Deprecated \\\n * **es.utf-8**: Spanish with UTF-8 \\\n * **sv**: Swedish - Deprecated \\\n * **sv.utf-8**: Swedish with UTF-8 \\\n * **tr**: Turkish - Deprecated \\\n * **tr.utf-8**: Turkish with UTF-8 \\\n * **en-us**: US English - Deprecated \\\n * **en-us.utf-8**: US English with UTF-8\n */\nexport type VolumeLanguage = string;\n\n/** Specifies whether LDAP is enabled or not. */\nexport enum KnownLdapState {\n /** ldap is disabled. */\n Disabled = \"Disabled\",\n /** ldap is enabled */\n Enabled = \"Enabled\",\n}\n\n/**\n * Specifies whether LDAP is enabled or not. \\\n * {@link KnownLdapState} can be used interchangeably with LdapState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Disabled**: ldap is disabled. \\\n * **Enabled**: ldap is enabled\n */\nexport type LdapState = string;\n\n/** The type of the LDAP server */\nexport enum KnownLdapServerType {\n /** The volume should use Active Directory for LDAP connections. */\n ActiveDirectory = \"ActiveDirectory\",\n /** The volume should use OpenLDAP for LDAP connections. */\n OpenLdap = \"OpenLDAP\",\n}\n\n/**\n * The type of the LDAP server \\\n * {@link KnownLdapServerType} can be used interchangeably with LdapServerType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **ActiveDirectory**: The volume should use Active Directory for LDAP connections. \\\n * **OpenLDAP**: The volume should use OpenLDAP for LDAP connections.\n */\nexport type LdapServerType = string;\n\n/** Stores the origin cluster information associated to a cache. */\nexport interface OriginClusterInformation {\n /** ONTAP cluster name of external cluster hosting the origin volume. Must match the exact cluster name. */\n peerClusterName: string;\n /** ONTAP Intercluster LIF IP addresses. One IP address per cluster node is required */\n peerAddresses: string[];\n /** External Vserver (SVM) name name of the SVM hosting the origin volume */\n peerVserverName: string;\n /** External origin volume name associated to this cache */\n peerVolumeName: string;\n}\n\nexport function originClusterInformationSerializer(item: OriginClusterInformation): any {\n return {\n peerClusterName: item[\"peerClusterName\"],\n peerAddresses: item[\"peerAddresses\"].map((p: any) => {\n return p;\n }),\n peerVserverName: item[\"peerVserverName\"],\n peerVolumeName: item[\"peerVolumeName\"],\n };\n}\n\nexport function originClusterInformationDeserializer(item: any): OriginClusterInformation {\n return {\n peerClusterName: item[\"peerClusterName\"],\n peerAddresses: item[\"peerAddresses\"].map((p: any) => {\n return p;\n }),\n peerVserverName: item[\"peerVserverName\"],\n peerVolumeName: item[\"peerVolumeName\"],\n };\n}\n\n/** Flag indicating whether a CIFS change notification is enabled for the cache. */\nexport enum KnownCifsChangeNotifyState {\n /** CIFS change notification is disabled */\n Disabled = \"Disabled\",\n /** CIFS change notification is enabled */\n Enabled = \"Enabled\",\n}\n\n/**\n * Flag indicating whether a CIFS change notification is enabled for the cache. \\\n * {@link KnownCifsChangeNotifyState} can be used interchangeably with CifsChangeNotifyState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Disabled**: CIFS change notification is disabled \\\n * **Enabled**: CIFS change notification is enabled\n */\nexport type CifsChangeNotifyState = string;\n\n/** Flag indicating whether the global file lock is enabled for the cache. */\nexport enum KnownGlobalFileLockingState {\n /** Global file locking is disabled */\n Disabled = \"Disabled\",\n /** Global file locking is enabled */\n Enabled = \"Enabled\",\n}\n\n/**\n * Flag indicating whether the global file lock is enabled for the cache. \\\n * {@link KnownGlobalFileLockingState} can be used interchangeably with GlobalFileLockingState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Disabled**: Global file locking is disabled \\\n * **Enabled**: Global file locking is enabled\n */\nexport type GlobalFileLockingState = string;\n\n/** Flag indicating whether writeback is enabled for the cache. */\nexport enum KnownEnableWriteBackState {\n /** Writeback cache is disabled */\n Disabled = \"Disabled\",\n /** Writeback cache is enabled */\n Enabled = \"Enabled\",\n}\n\n/**\n * Flag indicating whether writeback is enabled for the cache. \\\n * {@link KnownEnableWriteBackState} can be used interchangeably with EnableWriteBackState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Disabled**: Writeback cache is disabled \\\n * **Enabled**: Writeback cache is enabled\n */\nexport type EnableWriteBackState = string;\n\n/** The type used for update operations of the Cache. */\nexport interface CacheUpdate {\n /** Resource tags. */\n tags?: Record<string, string>;\n /** The resource-specific properties for this resource. */\n properties?: CacheUpdateProperties;\n}\n\nexport function cacheUpdateSerializer(item: CacheUpdate): any {\n return {\n tags: item[\"tags\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : cacheUpdatePropertiesSerializer(item[\"properties\"]),\n };\n}\n\n/** The updatable properties of the Cache. */\nexport interface CacheUpdateProperties {\n /** Maximum storage quota allowed for a file system in bytes. Valid values are in the range 50GiB to 1PiB. Values expressed in bytes as multiples of 1GiB. */\n size?: number;\n /** Set of export policy rules */\n exportPolicy?: CachePropertiesExportPolicy;\n /** Set of supported protocol types, which include NFSv3, NFSv4 and SMB protocol */\n protocolTypes?: ProtocolTypes[];\n /** SMB information for the cache */\n smbSettings?: SmbSettings;\n /** Maximum throughput in MiB/s that can be achieved by this cache volume and this will be accepted as input only for manual qosType cache */\n throughputMibps?: number;\n /** The resource ID of private endpoint for KeyVault. It must reside in the same VNET as the volume. Only applicable if encryptionKeySource = 'Microsoft.KeyVault'. */\n keyVaultPrivateEndpointResourceId?: string;\n /** Flag indicating whether a CIFS change notification is enabled for the cache. */\n cifsChangeNotifications?: CifsChangeNotifyState;\n /** Flag indicating whether writeback is enabled for the cache. */\n writeBack?: EnableWriteBackState;\n}\n\nexport function cacheUpdatePropertiesSerializer(item: CacheUpdateProperties): any {\n return {\n size: item[\"size\"],\n exportPolicy: !item[\"exportPolicy\"]\n ? item[\"exportPolicy\"]\n : cachePropertiesExportPolicySerializer(item[\"exportPolicy\"]),\n protocolTypes: !item[\"protocolTypes\"]\n ? item[\"protocolTypes\"]\n : item[\"protocolTypes\"].map((p: any) => {\n return p;\n }),\n smbSettings: !item[\"smbSettings\"]\n ? item[\"smbSettings\"]\n : smbSettingsSerializer(item[\"smbSettings\"]),\n throughputMibps: item[\"throughputMibps\"],\n keyVaultPrivateEndpointResourceId: item[\"keyVaultPrivateEndpointResourceId\"],\n cifsChangeNotifications: item[\"cifsChangeNotifications\"],\n writeBack: item[\"writeBack\"],\n };\n}\n\n/** List of Cache resources */\nexport interface _CacheList {\n /** The Cache items on this page */\n value: Cache[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _cacheListDeserializer(item: any): _CacheList {\n return {\n value: cacheArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function cacheArraySerializer(result: Array<Cache>): any[] {\n return result.map((item) => {\n return cacheSerializer(item);\n });\n}\n\nexport function cacheArrayDeserializer(result: Array<Cache>): any[] {\n return result.map((item) => {\n return cacheDeserializer(item);\n });\n}\n\n/** The response containing peering passphrases and commands for cluster and vserver peering. */\nexport interface PeeringPassphrases {\n /** The cluster peering command. */\n clusterPeeringCommand: string;\n /** The cluster peering passphrase. */\n clusterPeeringPassphrase: string;\n /** The vserver peering command. */\n vserverPeeringCommand: string;\n /** Warnings that are critical for the cluster peering and vserver peering processes. */\n readonly criticalWarning?: string;\n}\n\nexport function peeringPassphrasesDeserializer(item: any): PeeringPassphrases {\n return {\n clusterPeeringCommand: item[\"clusterPeeringCommand\"],\n clusterPeeringPassphrase: item[\"clusterPeeringPassphrase\"],\n vserverPeeringCommand: item[\"vserverPeeringCommand\"],\n criticalWarning: item[\"criticalWarning\"],\n };\n}\n\n/** Information regarding regionInfo Item. */\nexport interface RegionInfoResource extends ProxyResource {\n /** regionInfo properties */\n properties?: RegionInfo;\n}\n\nexport function regionInfoResourceDeserializer(item: any): RegionInfoResource {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : regionInfoDeserializer(item[\"properties\"]),\n };\n}\n\n/** Provides region specific information. */\nexport interface RegionInfo {\n /** Provides storage to network proximity information in the region. */\n storageToNetworkProximity?: RegionStorageToNetworkProximity;\n /** Provides logical availability zone mappings for the subscription for a region. */\n availabilityZoneMappings?: RegionInfoAvailabilityZoneMappingsItem[];\n}\n\nexport function regionInfoDeserializer(item: any): RegionInfo {\n return {\n storageToNetworkProximity: item[\"storageToNetworkProximity\"],\n availabilityZoneMappings: !item[\"availabilityZoneMappings\"]\n ? item[\"availabilityZoneMappings\"]\n : regionInfoAvailabilityZoneMappingsItemArrayDeserializer(item[\"availabilityZoneMappings\"]),\n };\n}\n\n/** Provides storage to network proximity information in the region. */\nexport enum KnownRegionStorageToNetworkProximity {\n /** Basic network connectivity. */\n Default = \"Default\",\n /** Standard T1 network connectivity. */\n T1 = \"T1\",\n /** Standard T2 network connectivity. */\n T2 = \"T2\",\n /** Standard AcrossT2 network connectivity. */\n AcrossT2 = \"AcrossT2\",\n /** Standard T1 and T2 network connectivity. */\n T1AndT2 = \"T1AndT2\",\n /** Standard T1 and AcrossT2 network connectivity. */\n T1AndAcrossT2 = \"T1AndAcrossT2\",\n /** Standard T2 and AcrossT2 network connectivity. */\n T2AndAcrossT2 = \"T2AndAcrossT2\",\n /** Standard T1, T2 and AcrossT2 network connectivity. */\n T1AndT2AndAcrossT2 = \"T1AndT2AndAcrossT2\",\n}\n\n/**\n * Provides storage to network proximity information in the region. \\\n * {@link KnownRegionStorageToNetworkProximity} can be used interchangeably with RegionStorageToNetworkProximity,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Default**: Basic network connectivity. \\\n * **T1**: Standard T1 network connectivity. \\\n * **T2**: Standard T2 network connectivity. \\\n * **AcrossT2**: Standard AcrossT2 network connectivity. \\\n * **T1AndT2**: Standard T1 and T2 network connectivity. \\\n * **T1AndAcrossT2**: Standard T1 and AcrossT2 network connectivity. \\\n * **T2AndAcrossT2**: Standard T2 and AcrossT2 network connectivity. \\\n * **T1AndT2AndAcrossT2**: Standard T1, T2 and AcrossT2 network connectivity.\n */\nexport type RegionStorageToNetworkProximity = string;\n\nexport function regionInfoAvailabilityZoneMappingsItemArrayDeserializer(\n result: Array<RegionInfoAvailabilityZoneMappingsItem>,\n): any[] {\n return result.map((item) => {\n return regionInfoAvailabilityZoneMappingsItemDeserializer(item);\n });\n}\n\n/** model interface RegionInfoAvailabilityZoneMappingsItem */\nexport interface RegionInfoAvailabilityZoneMappingsItem {\n /** Logical availability zone. */\n availabilityZone?: string;\n /** Available availability zone */\n isAvailable?: boolean;\n}\n\nexport function regionInfoAvailabilityZoneMappingsItemDeserializer(\n item: any,\n): RegionInfoAvailabilityZoneMappingsItem {\n return {\n availabilityZone: item[\"availabilityZone\"],\n isAvailable: item[\"isAvailable\"],\n };\n}\n\n/** List of regionInfo resources */\nexport interface _RegionInfosList {\n /** The RegionInfoResource items on this page */\n value: RegionInfoResource[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _regionInfosListDeserializer(item: any): _RegionInfosList {\n return {\n value: regionInfoResourceArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function regionInfoResourceArrayDeserializer(result: Array<RegionInfoResource>): any[] {\n return result.map((item) => {\n return regionInfoResourceDeserializer(item);\n });\n}\n\n/** NetApp account resource */\nexport interface NetAppAccount extends TrackedResource {\n /** NetApp Account properties */\n properties?: AccountProperties;\n /** \"If etag is provided in the response body, it may also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields.\") */\n readonly etag?: string;\n /** The managed service identities assigned to this resource. */\n identity?: ManagedServiceIdentity;\n}\n\nexport function netAppAccountSerializer(item: NetAppAccount): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : accountPropertiesSerializer(item[\"properties\"]),\n identity: !item[\"identity\"]\n ? item[\"identity\"]\n : managedServiceIdentitySerializer(item[\"identity\"]),\n };\n}\n\nexport function netAppAccountDeserializer(item: any): NetAppAccount {\n return {\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : accountPropertiesDeserializer(item[\"properties\"]),\n etag: item[\"etag\"],\n identity: !item[\"identity\"]\n ? item[\"identity\"]\n : managedServiceIdentityDeserializer(item[\"identity\"]),\n };\n}\n\n/** NetApp account properties */\nexport interface AccountProperties {\n /** Azure lifecycle management */\n readonly provisioningState?: string;\n /** Active Directories */\n activeDirectories?: ActiveDirectory[];\n /** Encryption settings */\n encryption?: AccountEncryption;\n /** Shows the status of disableShowmount for all volumes under the subscription, null equals false */\n readonly disableShowmount?: boolean | null;\n /** Domain for NFSv4 user ID mapping. This property will be set for all NetApp accounts in the subscription and region and only affect non ldap NFSv4 volumes. */\n nfsV4IDDomain?: string | null;\n /** MultiAD Status for the account */\n readonly multiAdStatus?: MultiAdStatus;\n}\n\nexport function accountPropertiesSerializer(item: AccountProperties): any {\n return {\n activeDirectories: !item[\"activeDirectories\"]\n ? item[\"activeDirectories\"]\n : activeDirectoryArraySerializer(item[\"activeDirectories\"]),\n encryption: !item[\"encryption\"]\n ? item[\"encryption\"]\n : accountEncryptionSerializer(item[\"encryption\"]),\n nfsV4IDDomain: item[\"nfsV4IDDomain\"],\n };\n}\n\nexport function accountPropertiesDeserializer(item: any): AccountProperties {\n return {\n provisioningState: item[\"provisioningState\"],\n activeDirectories: !item[\"activeDirectories\"]\n ? item[\"activeDirectories\"]\n : activeDirectoryArrayDeserializer(item[\"activeDirectories\"]),\n encryption: !item[\"encryption\"]\n ? item[\"encryption\"]\n : accountEncryptionDeserializer(item[\"encryption\"]),\n disableShowmount: item[\"disableShowmount\"],\n nfsV4IDDomain: item[\"nfsV4IDDomain\"],\n multiAdStatus: item[\"multiAdStatus\"],\n };\n}\n\nexport function activeDirectoryArraySerializer(result: Array<ActiveDirectory>): any[] {\n return result.map((item) => {\n return activeDirectorySerializer(item);\n });\n}\n\nexport function activeDirectoryArrayDeserializer(result: Array<ActiveDirectory>): any[] {\n return result.map((item) => {\n return activeDirectoryDeserializer(item);\n });\n}\n\n/** Active Directory */\nexport interface ActiveDirectory {\n /** Id of the Active Directory */\n activeDirectoryId?: string | null;\n /** A domain user account with permission to create machine accounts */\n username?: string;\n /** Plain text password of Active Directory domain administrator, value is masked in the response */\n password?: string;\n /** Name of the Active Directory domain */\n domain?: string;\n /** Comma separated list of DNS server IP addresses (IPv4 only) for the Active Directory domain */\n dns?: string;\n /** Status of the Active Directory */\n readonly status?: ActiveDirectoryStatus;\n /** Any details in regards to the Status of the Active Directory */\n readonly statusDetails?: string;\n /** NetBIOS name of the SMB server. This name will be registered as a computer account in the AD and used to mount volumes */\n smbServerName?: string;\n /** The Organizational Unit (OU) within the Windows Active Directory */\n organizationalUnit?: string;\n /** The Active Directory site the service will limit Domain Controller discovery to */\n site?: string;\n /** Users to be added to the Built-in Backup Operator active directory group. A list of unique usernames without domain specifier */\n backupOperators?: string[];\n /** Users to be added to the Built-in Administrators active directory group. A list of unique usernames without domain specifier */\n administrators?: string[];\n /** kdc server IP address for the active directory machine. This optional parameter is used only while creating kerberos volume. */\n kdcIP?: string;\n /** Name of the active directory machine. This optional parameter is used only while creating kerberos volume */\n adName?: string;\n /** When LDAP over SSL/TLS is enabled, the LDAP client is required to have base64 encoded Active Directory Certificate Service's self-signed root CA certificate, this optional parameter is used only for dual protocol with LDAP user-mapping volumes. */\n serverRootCACertificate?: string;\n /** If enabled, AES encryption will be enabled for SMB communication. */\n aesEncryption?: boolean;\n /** Specifies whether or not the LDAP traffic needs to be signed. */\n ldapSigning?: boolean;\n /** Domain Users in the Active directory to be given SeSecurityPrivilege privilege (Needed for SMB Continuously available shares for SQL). A list of unique usernames without domain specifier */\n securityOperators?: string[];\n /** Specifies whether or not the LDAP traffic needs to be secured via TLS. */\n ldapOverTLS?: boolean;\n /** If enabled, NFS client local users can also (in addition to LDAP users) access the NFS volumes. */\n allowLocalNfsUsersWithLdap?: boolean;\n /** If enabled, Traffic between the SMB server to Domain Controller (DC) will be encrypted. */\n encryptDCConnections?: boolean;\n /** LDAP Search scope options */\n ldapSearchScope?: LdapSearchScopeOpt;\n /** Comma separated list of IPv4 addresses of preferred servers for LDAP client. At most two comma separated IPv4 addresses can be passed. */\n preferredServersForLdapClient?: string;\n}\n\nexport function activeDirectorySerializer(item: ActiveDirectory): any {\n return {\n activeDirectoryId: item[\"activeDirectoryId\"],\n username: item[\"username\"],\n password: item[\"password\"],\n domain: item[\"domain\"],\n dns: item[\"dns\"],\n smbServerName: item[\"smbServerName\"],\n organizationalUnit: item[\"organizationalUnit\"],\n site: item[\"site\"],\n backupOperators: !item[\"backupOperators\"]\n ? item[\"backupOperators\"]\n : item[\"backupOperators\"].map((p: any) => {\n return p;\n }),\n administrators: !item[\"administrators\"]\n ? item[\"administrators\"]\n : item[\"administrators\"].map((p: any) => {\n return p;\n }),\n kdcIP: item[\"kdcIP\"],\n adName: item[\"adName\"],\n serverRootCACertificate: item[\"serverRootCACertificate\"],\n aesEncryption: item[\"aesEncryption\"],\n ldapSigning: item[\"ldapSigning\"],\n securityOperators: !item[\"securityOperators\"]\n ? item[\"securityOperators\"]\n : item[\"securityOperators\"].map((p: any) => {\n return p;\n }),\n ldapOverTLS: item[\"ldapOverTLS\"],\n allowLocalNfsUsersWithLdap: item[\"allowLocalNfsUsersWithLdap\"],\n encryptDCConnections: item[\"encryptDCConnections\"],\n ldapSearchScope: !item[\"ldapSearchScope\"]\n ? item[\"ldapSearchScope\"]\n : ldapSearchScopeOptSerializer(item[\"ldapSearchScope\"]),\n preferredServersForLdapClient: item[\"preferredServersForLdapClient\"],\n };\n}\n\nexport function activeDirectoryDeserializer(item: any): ActiveDirectory {\n return {\n activeDirectoryId: item[\"activeDirectoryId\"],\n username: item[\"username\"],\n password: item[\"password\"],\n domain: item[\"domain\"],\n dns: item[\"dns\"],\n status: item[\"status\"],\n statusDetails: item[\"statusDetails\"],\n smbServerName: item[\"smbServerName\"],\n organizationalUnit: item[\"organizationalUnit\"],\n site: item[\"site\"],\n backupOperators: !item[\"backupOperators\"]\n ? item[\"backupOperators\"]\n : item[\"backupOperators\"].map((p: any) => {\n return p;\n }),\n administrators: !item[\"administrators\"]\n ? item[\"administrators\"]\n : item[\"administrators\"].map((p: any) => {\n return p;\n }),\n kdcIP: item[\"kdcIP\"],\n adName: item[\"adName\"],\n serverRootCACertificate: item[\"serverRootCACertificate\"],\n aesEncryption: item[\"aesEncryption\"],\n ldapSigning: item[\"ldapSigning\"],\n securityOperators: !item[\"securityOperators\"]\n ? item[\"securityOperators\"]\n : item[\"securityOperators\"].map((p: any) => {\n return p;\n }),\n ldapOverTLS: item[\"ldapOverTLS\"],\n allowLocalNfsUsersWithLdap: item[\"allowLocalNfsUsersWithLdap\"],\n encryptDCConnections: item[\"encryptDCConnections\"],\n ldapSearchScope: !item[\"ldapSearchScope\"]\n ? item[\"ldapSearchScope\"]\n : ldapSearchScopeOptDeserializer(item[\"ldapSearchScope\"]),\n preferredServersForLdapClient: item[\"preferredServersForLdapClient\"],\n };\n}\n\n/** Status of the Active Directory */\nexport enum KnownActiveDirectoryStatus {\n /** Active Directory created but not in use */\n Created = \"Created\",\n /** Active Directory in use by SMB Volume */\n InUse = \"InUse\",\n /** Active Directory Deleted */\n Deleted = \"Deleted\",\n /** Error with the Active Directory */\n Error = \"Error\",\n /** Active Directory Updating */\n Updating = \"Updating\",\n}\n\n/**\n * Status of the Active Directory \\\n * {@link KnownActiveDirectoryStatus} can be used interchangeably with ActiveDirectoryStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Created**: Active Directory created but not in use \\\n * **InUse**: Active Directory in use by SMB Volume \\\n * **Deleted**: Active Directory Deleted \\\n * **Error**: Error with the Active Directory \\\n * **Updating**: Active Directory Updating\n */\nexport type ActiveDirectoryStatus = string;\n\n/** LDAP search scope */\nexport interface LdapSearchScopeOpt {\n /** This specifies the user DN, which overrides the base DN for user lookups. */\n userDN?: string;\n /** This specifies the group DN, which overrides the base DN for group lookups. */\n groupDN?: string;\n /** This specifies the custom LDAP search filter to be used when looking up group membership from LDAP server. */\n groupMembershipFilter?: string;\n}\n\nexport function ldapSearchScopeOptSerializer(item: LdapSearchScopeOpt): any {\n return {\n userDN: item[\"userDN\"],\n groupDN: item[\"groupDN\"],\n groupMembershipFilter: item[\"groupMembershipFilter\"],\n };\n}\n\nexport function ldapSearchScopeOptDeserializer(item: any): LdapSearchScopeOpt {\n return {\n userDN: item[\"userDN\"],\n groupDN: item[\"groupDN\"],\n groupMembershipFilter: item[\"groupMembershipFilter\"],\n };\n}\n\n/** Encryption settings */\nexport interface AccountEncryption {\n /** The encryption keySource (provider). Possible values (case-insensitive): Microsoft.NetApp, Microsoft.KeyVault */\n keySource?: KeySource;\n /** Properties provided by KeVault. Applicable if keySource is 'Microsoft.KeyVault'. */\n keyVaultProperties?: KeyVaultProperties;\n /** Identity used to authenticate to KeyVault. Applicable if keySource is 'Microsoft.KeyVault'. */\n identity?: EncryptionIdentity;\n}\n\nexport function accountEncryptionSerializer(item: AccountEncryption): any {\n return {\n keySource: item[\"keySource\"],\n keyVaultProperties: !item[\"keyVaultProperties\"]\n ? item[\"keyVaultProperties\"]\n : keyVaultPropertiesSerializer(item[\"keyVaultProperties\"]),\n identity: !item[\"identity\"] ? item[\"identity\"] : encryptionIdentitySerializer(item[\"identity\"]),\n };\n}\n\nexport function accountEncryptionDeserializer(item: any): AccountEncryption {\n return {\n keySource: item[\"keySource\"],\n keyVaultProperties: !item[\"keyVaultProperties\"]\n ? item[\"keyVaultProperties\"]\n : keyVaultPropertiesDeserializer(item[\"keyVaultProperties\"]),\n identity: !item[\"identity\"]\n ? item[\"identity\"]\n : encryptionIdentityDeserializer(item[\"identity\"]),\n };\n}\n\n/** The encryption keySource (provider). Possible values (case-insensitive): Microsoft.NetApp, Microsoft.KeyVault */\nexport enum KnownKeySource {\n /** Microsoft-managed key encryption */\n MicrosoftNetApp = \"Microsoft.NetApp\",\n /** Customer-managed key encryption */\n MicrosoftKeyVault = \"Microsoft.KeyVault\",\n}\n\n/**\n * The encryption keySource (provider). Possible values (case-insensitive): Microsoft.NetApp, Microsoft.KeyVault \\\n * {@link KnownKeySource} can be used interchangeably with KeySource,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Microsoft.NetApp**: Microsoft-managed key encryption \\\n * **Microsoft.KeyVault**: Customer-managed key encryption\n */\nexport type KeySource = string;\n\n/** Properties of key vault. */\nexport interface KeyVaultProperties {\n /** UUID v4 used to identify the Azure Key Vault configuration */\n readonly keyVaultId?: string;\n /** The Uri of KeyVault. */\n keyVaultUri: string;\n /** The name of KeyVault key. */\n keyName: string;\n /** The resource ID of KeyVault. */\n keyVaultResourceId?: string;\n /** Status of the KeyVault connection. */\n readonly status?: KeyVaultStatus;\n}\n\nexport function keyVaultPropertiesSerializer(item: KeyVaultProperties): any {\n return {\n keyVaultUri: item[\"keyVaultUri\"],\n keyName: item[\"keyName\"],\n keyVaultResourceId: item[\"keyVaultResourceId\"],\n };\n}\n\nexport function keyVaultPropertiesDeserializer(item: any): KeyVaultProperties {\n return {\n keyVaultId: item[\"keyVaultId\"],\n keyVaultUri: item[\"keyVaultUri\"],\n keyName: item[\"keyName\"],\n keyVaultResourceId: item[\"keyVaultResourceId\"],\n status: item[\"status\"],\n };\n}\n\n/** Status of the KeyVault connection. */\nexport enum KnownKeyVaultStatus {\n /** KeyVault connection created but not in use */\n Created = \"Created\",\n /** KeyVault connection in use by SMB Volume */\n InUse = \"InUse\",\n /** KeyVault connection Deleted */\n Deleted = \"Deleted\",\n /** Error with the KeyVault connection */\n Error = \"Error\",\n /** KeyVault connection Updating */\n Updating = \"Updating\",\n}\n\n/**\n * Status of the KeyVault connection. \\\n * {@link KnownKeyVaultStatus} can be used interchangeably with KeyVaultStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Created**: KeyVault connection created but not in use \\\n * **InUse**: KeyVault connection in use by SMB Volume \\\n * **Deleted**: KeyVault connection Deleted \\\n * **Error**: Error with the KeyVault connection \\\n * **Updating**: KeyVault connection Updating\n */\nexport type KeyVaultStatus = string;\n\n/** Identity used to authenticate with key vault. */\nexport interface EncryptionIdentity {\n /** The principal ID (object ID) of the identity used to authenticate with key vault. Read-only. */\n readonly principalId?: string;\n /** The ARM resource identifier of the user assigned identity used to authenticate with key vault. Applicable if identity.type has 'UserAssigned'. It should match key of identity.userAssignedIdentities. */\n userAssignedIdentity?: string;\n /** ClientId of the multi-tenant Entra ID Application. Used to access cross-tenant keyvaults. */\n federatedClientId?: string;\n}\n\nexport function encryptionIdentitySerializer(item: EncryptionIdentity): any {\n return {\n userAssignedIdentity: item[\"userAssignedIdentity\"],\n federatedClientId: item[\"federatedClientId\"],\n };\n}\n\nexport function encryptionIdentityDeserializer(item: any): EncryptionIdentity {\n return {\n principalId: item[\"principalId\"],\n userAssignedIdentity: item[\"userAssignedIdentity\"],\n federatedClientId: item[\"federatedClientId\"],\n };\n}\n\n/** MultiAD Status for the account */\nexport enum KnownMultiAdStatus {\n /** Account is MultiAD disabled, Means its a SharedAD or SingleAD account. */\n Disabled = \"Disabled\",\n /** Account is MultiAD enabled */\n Enabled = \"Enabled\",\n}\n\n/**\n * MultiAD Status for the account \\\n * {@link KnownMultiAdStatus} can be used interchangeably with MultiAdStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Disabled**: Account is MultiAD disabled, Means its a SharedAD or SingleAD account. \\\n * **Enabled**: Account is MultiAD enabled\n */\nexport type MultiAdStatus = string;\n\n/** Managed service identity (system assigned and/or user assigned identities) */\nexport interface ManagedServiceIdentity {\n /** The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity. */\n readonly principalId?: string;\n /** The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity. */\n readonly tenantId?: string;\n /** The type of managed identity assigned to this resource. */\n type: ManagedServiceIdentityType;\n /** The identities assigned to this resource by the user. */\n userAssignedIdentities?: Record<string, UserAssignedIdentity | null>;\n}\n\nexport function managedServiceIdentitySerializer(item: ManagedServiceIdentity): any {\n return { type: item[\"type\"], userAssignedIdentities: item[\"userAssignedIdentities\"] };\n}\n\nexport function managedServiceIdentityDeserializer(item: any): ManagedServiceIdentity {\n return {\n principalId: item[\"principalId\"],\n tenantId: item[\"tenantId\"],\n type: item[\"type\"],\n userAssignedIdentities: !item[\"userAssignedIdentities\"]\n ? item[\"userAssignedIdentities\"]\n : Object.fromEntries(\n Object.entries(item[\"userAssignedIdentities\"]).map(([k, p]: [string, any]) => [\n k,\n !p ? p : userAssignedIdentityDeserializer(p),\n ]),\n ),\n };\n}\n\n/** Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). */\nexport enum KnownManagedServiceIdentityType {\n /** No managed identity. */\n None = \"None\",\n /** System assigned managed identity. */\n SystemAssigned = \"SystemAssigned\",\n /** User assigned managed identity. */\n UserAssigned = \"UserAssigned\",\n /** System and user assigned managed identity. */\n SystemAssignedUserAssigned = \"SystemAssigned,UserAssigned\",\n}\n\n/**\n * Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). \\\n * {@link KnownManagedServiceIdentityType} can be used interchangeably with ManagedServiceIdentityType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **None**: No managed identity. \\\n * **SystemAssigned**: System assigned managed identity. \\\n * **UserAssigned**: User assigned managed identity. \\\n * **SystemAssigned,UserAssigned**: System and user assigned managed identity.\n */\nexport type ManagedServiceIdentityType = string;\n\n/** User assigned identity properties */\nexport interface UserAssignedIdentity {\n /** The principal ID of the assigned identity. */\n readonly principalId?: string;\n /** The client ID of the assigned identity. */\n readonly clientId?: string;\n}\n\nexport function userAssignedIdentitySerializer(_item: UserAssignedIdentity): any {\n return {};\n}\n\nexport function userAssignedIdentityDeserializer(item: any): UserAssignedIdentity {\n return {\n principalId: item[\"principalId\"],\n clientId: item[\"clientId\"],\n };\n}\n\n/** NetApp account patch resource */\nexport interface NetAppAccountPatch {\n /** Resource location */\n location?: string;\n /** Resource Id */\n readonly id?: string;\n /** Resource name */\n readonly name?: string;\n /** Resource type */\n readonly type?: string;\n /** Resource tags */\n tags?: Record<string, string>;\n /** NetApp Account properties */\n properties?: AccountProperties;\n /** The identity used for the resource. */\n identity?: ManagedServiceIdentity;\n}\n\nexport function netAppAccountPatchSerializer(item: NetAppAccountPatch): any {\n return {\n location: item[\"location\"],\n tags: item[\"tags\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : accountPropertiesSerializer(item[\"properties\"]),\n identity: !item[\"identity\"]\n ? item[\"identity\"]\n : managedServiceIdentitySerializer(item[\"identity\"]),\n };\n}\n\n/** List of NetApp account resources */\nexport interface _NetAppAccountList {\n /** The NetAppAccount items on this page */\n value: NetAppAccount[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _netAppAccountListDeserializer(item: any): _NetAppAccountList {\n return {\n value: netAppAccountArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function netAppAccountArraySerializer(result: Array<NetAppAccount>): any[] {\n return result.map((item) => {\n return netAppAccountSerializer(item);\n });\n}\n\nexport function netAppAccountArrayDeserializer(result: Array<NetAppAccount>): any[] {\n return result.map((item) => {\n return netAppAccountDeserializer(item);\n });\n}\n\n/** Encryption transition request */\nexport interface EncryptionTransitionRequest {\n /** Identifier for the virtual network */\n virtualNetworkId: string;\n /** Identifier of the private endpoint to reach the Azure Key Vault */\n privateEndpointId: string;\n}\n\nexport function encryptionTransitionRequestSerializer(item: EncryptionTransitionRequest): any {\n return {\n virtualNetworkId: item[\"virtualNetworkId\"],\n privateEndpointId: item[\"privateEndpointId\"],\n };\n}\n\n/** Result of getKeyVaultStatus with information about how volumes under NetApp account are encrypted. */\nexport interface GetKeyVaultStatusResponse {\n /** Represents the properties of the getKeyVaultStatus. */\n properties?: GetKeyVaultStatusResponseProperties;\n}\n\nexport function getKeyVaultStatusResponseDeserializer(item: any): GetKeyVaultStatusResponse {\n return {\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : getKeyVaultStatusResponsePropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** Properties which represents Change key vault status. */\nexport interface GetKeyVaultStatusResponseProperties {\n /** The URI of the key vault/managed HSM that should be used for encryption. */\n keyVaultUri?: string;\n /** The name of the key that should be used for encryption. */\n keyName?: string;\n /** Azure resource ID of the key vault/managed HSM that should be used for encryption. */\n keyVaultResourceId?: string;\n /** Pairs of virtual network ID and private endpoint ID. Every virtual network that has volumes encrypted with customer-managed keys needs its own key vault private endpoint. */\n keyVaultPrivateEndpoints?: KeyVaultPrivateEndpoint[];\n}\n\nexport function getKeyVaultStatusResponsePropertiesDeserializer(\n item: any,\n): GetKeyVaultStatusResponseProperties {\n return {\n keyVaultUri: item[\"keyVaultUri\"],\n keyName: item[\"keyName\"],\n keyVaultResourceId: item[\"keyVaultResourceId\"],\n keyVaultPrivateEndpoints: !item[\"keyVaultPrivateEndpoints\"]\n ? item[\"keyVaultPrivateEndpoints\"]\n : keyVaultPrivateEndpointArrayDeserializer(item[\"keyVaultPrivateEndpoints\"]),\n };\n}\n\nexport function keyVaultPrivateEndpointArraySerializer(\n result: Array<KeyVaultPrivateEndpoint>,\n): any[] {\n return result.map((item) => {\n return keyVaultPrivateEndpointSerializer(item);\n });\n}\n\nexport function keyVaultPrivateEndpointArrayDeserializer(\n result: Array<KeyVaultPrivateEndpoint>,\n): any[] {\n return result.map((item) => {\n return keyVaultPrivateEndpointDeserializer(item);\n });\n}\n\n/** Pairs of virtual network ID and private endpoint ID. Every virtual network that has volumes encrypted with customer-managed keys needs its own key vault private endpoint. */\nexport interface KeyVaultPrivateEndpoint {\n /** Identifier for the virtual network id */\n virtualNetworkId?: string;\n /** Identifier of the private endpoint to reach the Azure Key Vault */\n privateEndpointId?: string;\n}\n\nexport function keyVaultPrivateEndpointSerializer(item: KeyVaultPrivateEndpoint): any {\n return {\n virtualNetworkId: item[\"virtualNetworkId\"],\n privateEndpointId: item[\"privateEndpointId\"],\n };\n}\n\nexport function keyVaultPrivateEndpointDeserializer(item: any): KeyVaultPrivateEndpoint {\n return {\n virtualNetworkId: item[\"virtualNetworkId\"],\n privateEndpointId: item[\"privateEndpointId\"],\n };\n}\n\n/** Change key vault request */\nexport interface ChangeKeyVault {\n /** The URI of the key vault/managed HSM that should be used for encryption. */\n keyVaultUri: string;\n /** The name of the key that should be used for encryption. */\n keyName: string;\n /** Azure resource ID of the key vault/managed HSM that should be used for encryption. */\n keyVaultResourceId?: string;\n /** Pairs of virtual network ID and private endpoint ID. Every virtual network that has volumes encrypted with customer-managed keys needs its own key vault private endpoint. */\n keyVaultPrivateEndpoints: KeyVaultPrivateEndpoint[];\n}\n\nexport function changeKeyVaultSerializer(item: ChangeKeyVault): any {\n return {\n keyVaultUri: item[\"keyVaultUri\"],\n keyName: item[\"keyName\"],\n keyVaultResourceId: item[\"keyVaultResourceId\"],\n keyVaultPrivateEndpoints: keyVaultPrivateEndpointArraySerializer(\n item[\"keyVaultPrivateEndpoints\"],\n ),\n };\n}\n\n/** Migrate Backups Request */\nexport interface BackupsMigrationRequest {\n /** The ResourceId of the Backup Vault */\n backupVaultId: string;\n}\n\nexport function backupsMigrationRequestSerializer(item: BackupsMigrationRequest): any {\n return { backupVaultId: item[\"backupVaultId\"] };\n}\n\n/** Capacity pool resource */\nexport interface CapacityPool extends TrackedResource {\n /** Capacity pool properties */\n properties: PoolProperties;\n /** \"If etag is provided in the response body, it may also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields.\") */\n readonly etag?: string;\n}\n\nexport function capacityPoolSerializer(item: CapacityPool): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: poolPropertiesSerializer(item[\"properties\"]),\n };\n}\n\nexport function capacityPoolDeserializer(item: any): CapacityPool {\n return {\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: poolPropertiesDeserializer(item[\"properties\"]),\n etag: item[\"etag\"],\n };\n}\n\n/** Pool properties */\nexport interface PoolProperties {\n /** UUID v4 used to identify the Pool */\n readonly poolId?: string;\n /** Provisioned size of the pool (in bytes). Allowed values are in 1TiB chunks (value must be multiple of 1099511627776). */\n size: number;\n /** The service level of the file system */\n serviceLevel: ServiceLevel;\n /** Azure lifecycle management */\n readonly provisioningState?: string;\n /** Total throughput of pool in MiB/s */\n readonly totalThroughputMibps?: number;\n /** Utilized throughput of pool in MiB/s */\n readonly utilizedThroughputMibps?: number;\n /** Maximum throughput in MiB/s that can be achieved by this pool and this will be accepted as input only for manual qosType pool with Flexible service level */\n customThroughputMibps?: number | null;\n /** The qos type of the pool */\n qosType?: QosType;\n /** If enabled (true) the pool can contain cool Access enabled volumes. */\n coolAccess?: boolean;\n /** Encryption type of the capacity pool, set encryption type for data at rest for this pool and all volumes in it. This value can only be set when creating new pool. */\n encryptionType?: EncryptionType | null;\n}\n\nexport function poolPropertiesSerializer(item: PoolProperties): any {\n return {\n size: item[\"size\"],\n serviceLevel: item[\"serviceLevel\"],\n customThroughputMibps: item[\"customThroughputMibps\"],\n qosType: item[\"qosType\"],\n coolAccess: item[\"coolAccess\"],\n encryptionType: item[\"encryptionType\"],\n };\n}\n\nexport function poolPropertiesDeserializer(item: any): PoolProperties {\n return {\n poolId: item[\"poolId\"],\n size: item[\"size\"],\n serviceLevel: item[\"serviceLevel\"],\n provisioningState: item[\"provisioningState\"],\n totalThroughputMibps: item[\"totalThroughputMibps\"],\n utilizedThroughputMibps: item[\"utilizedThroughputMibps\"],\n customThroughputMibps: item[\"customThroughputMibps\"],\n qosType: item[\"qosType\"],\n coolAccess: item[\"coolAccess\"],\n encryptionType: item[\"encryptionType\"],\n };\n}\n\n/** The qos type of the pool */\nexport enum KnownQosType {\n /** qos type Auto */\n Auto = \"Auto\",\n /** qos type Manual */\n Manual = \"Manual\",\n}\n\n/**\n * The qos type of the pool \\\n * {@link KnownQosType} can be used interchangeably with QosType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Auto**: qos type Auto \\\n * **Manual**: qos type Manual\n */\nexport type QosType = string;\n\n/** Encryption type of the capacity pool, set encryption type for data at rest for this pool and all volumes in it. This value can only be set when creating new pool. */\nexport enum KnownEncryptionType {\n /** EncryptionType Single, volumes will use single encryption at rest */\n Single = \"Single\",\n /** EncryptionType Double, volumes will use double encryption at rest */\n Double = \"Double\",\n}\n\n/**\n * Encryption type of the capacity pool, set encryption type for data at rest for this pool and all volumes in it. This value can only be set when creating new pool. \\\n * {@link KnownEncryptionType} can be used interchangeably with EncryptionType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Single**: EncryptionType Single, volumes will use single encryption at rest \\\n * **Double**: EncryptionType Double, volumes will use double encryption at rest\n */\nexport type EncryptionType = string;\n\n/** Capacity pool patch resource */\nexport interface CapacityPoolPatch {\n /** Resource location */\n location?: string;\n /** Resource Id */\n readonly id?: string;\n /** Resource name */\n readonly name?: string;\n /** Resource type */\n readonly type?: string;\n /** Resource tags */\n tags?: Record<string, string>;\n /** Capacity pool properties */\n properties?: PoolPatchProperties;\n}\n\nexport function capacityPoolPatchSerializer(item: CapacityPoolPatch): any {\n return {\n location: item[\"location\"],\n tags: item[\"tags\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : poolPatchPropertiesSerializer(item[\"properties\"]),\n };\n}\n\n/** Patchable pool properties */\nexport interface PoolPatchProperties {\n /** Provisioned size of the pool (in bytes). Allowed values are in 1TiB chunks (value must be multiple of 1099511627776). */\n size?: number;\n /** The qos type of the pool */\n qosType?: QosType;\n /** If enabled (true) the pool can contain cool Access enabled volumes. */\n coolAccess?: boolean;\n /** Maximum throughput in MiB/s that can be achieved by this pool and this will be accepted as input only for manual qosType pool with Flexible service level */\n customThroughputMibps?: number | null;\n}\n\nexport function poolPatchPropertiesSerializer(item: PoolPatchProperties): any {\n return {\n size: item[\"size\"],\n qosType: item[\"qosType\"],\n coolAccess: item[\"coolAccess\"],\n customThroughputMibps: item[\"customThroughputMibps\"],\n };\n}\n\n/** List of capacity pool resources */\nexport interface _CapacityPoolList {\n /** The CapacityPool items on this page */\n value: CapacityPool[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _capacityPoolListDeserializer(item: any): _CapacityPoolList {\n return {\n value: capacityPoolArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function capacityPoolArraySerializer(result: Array<CapacityPool>): any[] {\n return result.map((item) => {\n return capacityPoolSerializer(item);\n });\n}\n\nexport function capacityPoolArrayDeserializer(result: Array<CapacityPool>): any[] {\n return result.map((item) => {\n return capacityPoolDeserializer(item);\n });\n}\n\n/** Restore payload for Single File Backup Restore */\nexport interface BackupRestoreFiles {\n /** List of files to be restored */\n fileList: string[];\n /** Destination folder where the files will be restored. The path name should start with a forward slash. If it is omitted from request then restore is done at the root folder of the destination volume by default */\n restoreFilePath?: string;\n /** Resource Id of the destination volume on which the files need to be restored */\n destinationVolumeId: string;\n}\n\nexport function backupRestoreFilesSerializer(item: BackupRestoreFiles): any {\n return {\n fileList: item[\"fileList\"].map((p: any) => {\n return p;\n }),\n restoreFilePath: item[\"restoreFilePath\"],\n destinationVolumeId: item[\"destinationVolumeId\"],\n };\n}\n\n/** Subvolume Information properties */\nexport interface SubvolumeInfo extends ProxyResource {\n /** Subvolume Properties */\n properties?: SubvolumeProperties;\n}\n\nexport function subvolumeInfoSerializer(item: SubvolumeInfo): any {\n return {\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : subvolumePropertiesSerializer(item[\"properties\"]),\n };\n}\n\nexport function subvolumeInfoDeserializer(item: any): SubvolumeInfo {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : subvolumePropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** This represents path associated with the subvolume */\nexport interface SubvolumeProperties {\n /** Path to the subvolume */\n path?: string;\n /** Truncate subvolume to the provided size in bytes */\n size?: number | null;\n /** parent path to the subvolume */\n parentPath?: string | null;\n /** Azure lifecycle management */\n readonly provisioningState?: string;\n}\n\nexport function subvolumePropertiesSerializer(item: SubvolumeProperties): any {\n return { path: item[\"path\"], size: item[\"size\"], parentPath: item[\"parentPath\"] };\n}\n\nexport function subvolumePropertiesDeserializer(item: any): SubvolumeProperties {\n return {\n path: item[\"path\"],\n size: item[\"size\"],\n parentPath: item[\"parentPath\"],\n provisioningState: item[\"provisioningState\"],\n };\n}\n\n/** Subvolume Patch Request properties */\nexport interface SubvolumePatchRequest {\n /** Subvolume Properties */\n properties?: SubvolumePatchParams;\n}\n\nexport function subvolumePatchRequestSerializer(item: SubvolumePatchRequest): any {\n return {\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : subvolumePatchParamsSerializer(item[\"properties\"]),\n };\n}\n\n/** Parameters with which a subvolume can be updated */\nexport interface SubvolumePatchParams {\n /** Truncate subvolume to the provided size in bytes */\n size?: number | null;\n /** path to the subvolume */\n path?: string;\n}\n\nexport function subvolumePatchParamsSerializer(item: SubvolumePatchParams): any {\n return { size: item[\"size\"], path: item[\"path\"] };\n}\n\n/** List of Subvolumes */\nexport interface _SubvolumesList {\n /** The SubvolumeInfo items on this page */\n value: SubvolumeInfo[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _subvolumesListDeserializer(item: any): _SubvolumesList {\n return {\n value: subvolumeInfoArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function subvolumeInfoArraySerializer(result: Array<SubvolumeInfo>): any[] {\n return result.map((item) => {\n return subvolumeInfoSerializer(item);\n });\n}\n\nexport function subvolumeInfoArrayDeserializer(result: Array<SubvolumeInfo>): any[] {\n return result.map((item) => {\n return subvolumeInfoDeserializer(item);\n });\n}\n\n/** Result of the post subvolume and action is to get metadata of the subvolume. */\nexport interface SubvolumeModel {\n /** Resource Id */\n readonly id?: string;\n /** Resource name */\n readonly name?: string;\n /** Resource type */\n readonly type?: string;\n /** It represents the minimal properties of the subvolume. */\n properties?: SubvolumeModelProperties;\n}\n\nexport function subvolumeModelDeserializer(item: any): SubvolumeModel {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : subvolumeModelPropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** Properties which represents actual subvolume model which is stored as a file in the system. */\nexport interface SubvolumeModelProperties {\n /** Path to the subvolume */\n path?: string;\n /** Path to the parent subvolume */\n parentPath?: string;\n /** Size of subvolume */\n size?: number;\n /** Bytes used */\n bytesUsed?: number;\n /** Permissions of the subvolume */\n permissions?: string;\n /** Creation time and date */\n creationTimeStamp?: Date;\n /** Most recent access time and date */\n accessedTimeStamp?: Date;\n /** Most recent modification time and date */\n modifiedTimeStamp?: Date;\n /** Most recent change time and date */\n changedTimeStamp?: Date;\n /** Azure lifecycle management */\n provisioningState?: string;\n}\n\nexport function subvolumeModelPropertiesDeserializer(item: any): SubvolumeModelProperties {\n return {\n path: item[\"path\"],\n parentPath: item[\"parentPath\"],\n size: item[\"size\"],\n bytesUsed: item[\"bytesUsed\"],\n permissions: item[\"permissions\"],\n creationTimeStamp: !item[\"creationTimeStamp\"]\n ? item[\"creationTimeStamp\"]\n : new Date(item[\"creationTimeStamp\"]),\n accessedTimeStamp: !item[\"accessedTimeStamp\"]\n ? item[\"accessedTimeStamp\"]\n : new Date(item[\"accessedTimeStamp\"]),\n modifiedTimeStamp: !item[\"modifiedTimeStamp\"]\n ? item[\"modifiedTimeStamp\"]\n : new Date(item[\"modifiedTimeStamp\"]),\n changedTimeStamp: !item[\"changedTimeStamp\"]\n ? item[\"changedTimeStamp\"]\n : new Date(item[\"changedTimeStamp\"]),\n provisioningState: item[\"provisioningState\"],\n };\n}\n\n/** Resource name availability request content. */\nexport interface ResourceNameAvailabilityRequest {\n /** Resource name to verify. */\n name: string;\n /** Resource type used for verification. */\n type: CheckNameResourceTypes;\n /** Resource group name. */\n resourceGroup: string;\n}\n\nexport function resourceNameAvailabilityRequestSerializer(\n item: ResourceNameAvailabilityRequest,\n): any {\n return { name: item[\"name\"], type: item[\"type\"], resourceGroup: item[\"resourceGroup\"] };\n}\n\n/** Resource type used for verification. */\nexport enum KnownCheckNameResourceTypes {\n /** Microsoft.NetApp/netAppAccounts */\n MicrosoftNetAppNetAppAccounts = \"Microsoft.NetApp/netAppAccounts\",\n /** Microsoft.NetApp/netAppAccounts/capacityPools */\n MicrosoftNetAppNetAppAccountsCapacityPools = \"Microsoft.NetApp/netAppAccounts/capacityPools\",\n /** Microsoft.NetApp/netAppAccounts/capacityPools/volumes */\n MicrosoftNetAppNetAppAccountsCapacityPoolsVolumes = \"Microsoft.NetApp/netAppAccounts/capacityPools/volumes\",\n /** Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots */\n MicrosoftNetAppNetAppAccountsCapacityPoolsVolumesSnapshots = \"Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots\",\n /** ANF Backup under a volume , deprecated, use `Microsoft.NetApp/netAppAccounts/backupVaults/backups` instead. */\n MicrosoftNetAppNetAppAccountsBackupVaultsBackups = \"Microsoft.NetApp/netAppAccounts/backupVaults/backups\",\n /** ANF Backup under a Backup Vault */\n MicrosoftNetAppNetAppAccountsCapacityPoolsVolumesBackups = \"Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups\",\n}\n\n/**\n * Resource type used for verification. \\\n * {@link KnownCheckNameResourceTypes} can be used interchangeably with CheckNameResourceTypes,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Microsoft.NetApp\\/netAppAccounts** \\\n * **Microsoft.NetApp\\/netAppAccounts\\/capacityPools** \\\n * **Microsoft.NetApp\\/netAppAccounts\\/capacityPools\\/volumes** \\\n * **Microsoft.NetApp\\/netAppAccounts\\/capacityPools\\/volumes\\/snapshots** \\\n * **Microsoft.NetApp\\/netAppAccounts\\/backupVaults\\/backups**: ANF Backup under a volume , deprecated, use `Microsoft.NetApp\\/netAppAccounts\\/backupVaults\\/backups` instead. \\\n * **Microsoft.NetApp\\/netAppAccounts\\/capacityPools\\/volumes\\/backups**: ANF Backup under a Backup Vault\n */\nexport type CheckNameResourceTypes = string;\n\n/** Information regarding availability of a resource. */\nexport interface CheckAvailabilityResponse {\n /** <code>true</code> indicates name is valid and available. <code>false</code> indicates the name is invalid, unavailable, or both. */\n isAvailable?: boolean;\n /** <code>Invalid</code> indicates the name provided does not match Azure App Service naming requirements. <code>AlreadyExists</code> indicates that the name is already in use and is therefore unavailable. */\n reason?: InAvailabilityReasonType;\n /** If reason == invalid, provide the user with the reason why the given name is invalid, and provide the resource naming requirements so that the user can select a valid name. If reason == AlreadyExists, explain that resource name is already in use, and direct them to select a different name. */\n message?: string;\n}\n\nexport function checkAvailabilityResponseDeserializer(item: any): CheckAvailabilityResponse {\n return {\n isAvailable: item[\"isAvailable\"],\n reason: item[\"reason\"],\n message: item[\"message\"],\n };\n}\n\n/** <code>Invalid</code> indicates the name provided does not match Azure App Service naming requirements. <code>AlreadyExists</code> indicates that the name is already in use and is therefore unavailable. */\nexport enum KnownInAvailabilityReasonType {\n /** Invalid */\n Invalid = \"Invalid\",\n /** AlreadyExists */\n AlreadyExists = \"AlreadyExists\",\n}\n\n/**\n * <code>Invalid</code> indicates the name provided does not match Azure App Service naming requirements. <code>AlreadyExists</code> indicates that the name is already in use and is therefore unavailable. \\\n * {@link KnownInAvailabilityReasonType} can be used interchangeably with InAvailabilityReasonType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Invalid** \\\n * **AlreadyExists**\n */\nexport type InAvailabilityReasonType = string;\n\n/** File path availability request content - availability is based on the name and the subnetId. */\nexport interface FilePathAvailabilityRequest {\n /** File path to verify. */\n name: string;\n /** The Azure Resource URI for a delegated subnet. Must have the delegation Microsoft.NetApp/volumes */\n subnetId: string;\n /** The Azure Resource logical availability zone which is used within zone mapping lookup for the subscription and region. The lookup will retrieve the physical zone where volume is placed. */\n availabilityZone?: string | null;\n}\n\nexport function filePathAvailabilityRequestSerializer(item: FilePathAvailabilityRequest): any {\n return {\n name: item[\"name\"],\n subnetId: item[\"subnetId\"],\n availabilityZone: item[\"availabilityZone\"],\n };\n}\n\n/** Quota availability request content. */\nexport interface QuotaAvailabilityRequest {\n /** Name of the resource to verify. */\n name: string;\n /** Resource type used for verification. */\n type: CheckQuotaNameResourceTypes;\n /** Resource group name. */\n resourceGroup: string;\n}\n\nexport function quotaAvailabilityRequestSerializer(item: QuotaAvailabilityRequest): any {\n return { name: item[\"name\"], type: item[\"type\"], resourceGroup: item[\"resourceGroup\"] };\n}\n\n/** Resource type used for verification. */\nexport enum KnownCheckQuotaNameResourceTypes {\n /** Microsoft.NetApp/netAppAccounts */\n MicrosoftNetAppNetAppAccounts = \"Microsoft.NetApp/netAppAccounts\",\n /** Microsoft.NetApp/netAppAccounts/capacityPools */\n MicrosoftNetAppNetAppAccountsCapacityPools = \"Microsoft.NetApp/netAppAccounts/capacityPools\",\n /** Microsoft.NetApp/netAppAccounts/capacityPools/volumes */\n MicrosoftNetAppNetAppAccountsCapacityPoolsVolumes = \"Microsoft.NetApp/netAppAccounts/capacityPools/volumes\",\n /** Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots */\n MicrosoftNetAppNetAppAccountsCapacityPoolsVolumesSnapshots = \"Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots\",\n /** ANF Backup under a volume , deprecated, use `Microsoft.NetApp/netAppAccounts/backupVaults/backups` instead. */\n MicrosoftNetAppNetAppAccountsBackupVaultsBackups = \"Microsoft.NetApp/netAppAccounts/backupVaults/backups\",\n /** ANF Backup under a Backup Vault */\n MicrosoftNetAppNetAppAccountsCapacityPoolsVolumesBackups = \"Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups\",\n}\n\n/**\n * Resource type used for verification. \\\n * {@link KnownCheckQuotaNameResourceTypes} can be used interchangeably with CheckQuotaNameResourceTypes,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Microsoft.NetApp\\/netAppAccounts** \\\n * **Microsoft.NetApp\\/netAppAccounts\\/capacityPools** \\\n * **Microsoft.NetApp\\/netAppAccounts\\/capacityPools\\/volumes** \\\n * **Microsoft.NetApp\\/netAppAccounts\\/capacityPools\\/volumes\\/snapshots** \\\n * **Microsoft.NetApp\\/netAppAccounts\\/backupVaults\\/backups**: ANF Backup under a volume , deprecated, use `Microsoft.NetApp\\/netAppAccounts\\/backupVaults\\/backups` instead. \\\n * **Microsoft.NetApp\\/netAppAccounts\\/capacityPools\\/volumes\\/backups**: ANF Backup under a Backup Vault\n */\nexport type CheckQuotaNameResourceTypes = string;\n\n/** Network sibling set query. */\nexport interface QueryNetworkSiblingSetRequest {\n /** Network Sibling Set ID for a group of volumes sharing networking resources in a subnet. */\n networkSiblingSetId: string;\n /** The Azure Resource URI for a delegated subnet. Must have the delegation Microsoft.NetApp/volumes. Example /subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.Network/virtualNetworks/testVnet/subnets/{mySubnet} */\n subnetId: string;\n}\n\nexport function queryNetworkSiblingSetRequestSerializer(item: QueryNetworkSiblingSetRequest): any {\n return { networkSiblingSetId: item[\"networkSiblingSetId\"], subnetId: item[\"subnetId\"] };\n}\n\n/** Describes the contents of a network sibling set. */\nexport interface NetworkSiblingSet {\n /** Network Sibling Set ID for a group of volumes sharing networking resources in a subnet. */\n networkSiblingSetId?: string;\n /** The Azure Resource URI for a delegated subnet. Must have the delegation Microsoft.NetApp/volumes. Example /subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.Network/virtualNetworks/testVnet/subnets/{mySubnet} */\n subnetId?: string;\n /** Network sibling set state Id identifying the current state of the sibling set. */\n networkSiblingSetStateId?: string;\n /** Network features available to the volume, or current state of update. */\n networkFeatures?: NetworkFeatures;\n /** Gets the status of the NetworkSiblingSet at the time the operation was called. */\n readonly provisioningState?: NetworkSiblingSetProvisioningState;\n /** List of NIC information */\n nicInfoList?: NicInfo[];\n}\n\nexport function networkSiblingSetDeserializer(item: any): NetworkSiblingSet {\n return {\n networkSiblingSetId: item[\"networkSiblingSetId\"],\n subnetId: item[\"subnetId\"],\n networkSiblingSetStateId: item[\"networkSiblingSetStateId\"],\n networkFeatures: item[\"networkFeatures\"],\n provisioningState: item[\"provisioningState\"],\n nicInfoList: !item[\"nicInfoList\"]\n ? item[\"nicInfoList\"]\n : nicInfoArrayDeserializer(item[\"nicInfoList\"]),\n };\n}\n\n/** Gets the status of the NetworkSiblingSet at the time the operation was called. */\nexport enum KnownNetworkSiblingSetProvisioningState {\n /** Succeeded */\n Succeeded = \"Succeeded\",\n /** Failed */\n Failed = \"Failed\",\n /** Canceled */\n Canceled = \"Canceled\",\n /** Updating */\n Updating = \"Updating\",\n}\n\n/**\n * Gets the status of the NetworkSiblingSet at the time the operation was called. \\\n * {@link KnownNetworkSiblingSetProvisioningState} can be used interchangeably with NetworkSiblingSetProvisioningState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Succeeded** \\\n * **Failed** \\\n * **Canceled** \\\n * **Updating**\n */\nexport type NetworkSiblingSetProvisioningState = string;\n\nexport function nicInfoArrayDeserializer(result: Array<NicInfo>): any[] {\n return result.map((item) => {\n return nicInfoDeserializer(item);\n });\n}\n\n/** NIC information and list of volumes for which the NIC has the primary mount IP Address. */\nexport interface NicInfo {\n /** IP Address */\n readonly ipAddress?: string;\n /** Volume resource Ids */\n volumeResourceIds?: string[];\n}\n\nexport function nicInfoDeserializer(item: any): NicInfo {\n return {\n ipAddress: item[\"ipAddress\"],\n volumeResourceIds: !item[\"volumeResourceIds\"]\n ? item[\"volumeResourceIds\"]\n : item[\"volumeResourceIds\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Network sibling set update. */\nexport interface UpdateNetworkSiblingSetRequest {\n /** Network Sibling Set ID for a group of volumes sharing networking resources in a subnet. */\n networkSiblingSetId: string;\n /** The Azure Resource URI for a delegated subnet. Must have the delegation Microsoft.NetApp/volumes. Example /subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.Network/virtualNetworks/testVnet/subnets/{mySubnet} */\n subnetId: string;\n /** Network sibling set state Id identifying the current state of the sibling set. */\n networkSiblingSetStateId: string;\n /** Network features available to the volume. */\n networkFeatures: NetworkFeatures;\n}\n\nexport function updateNetworkSiblingSetRequestSerializer(\n item: UpdateNetworkSiblingSetRequest,\n): any {\n return {\n networkSiblingSetId: item[\"networkSiblingSetId\"],\n subnetId: item[\"subnetId\"],\n networkSiblingSetStateId: item[\"networkSiblingSetStateId\"],\n networkFeatures: item[\"networkFeatures\"],\n };\n}\n\n/** Usages result */\nexport interface _UsagesListResult {\n /** The UsageResult items on this page */\n value: UsageResult[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _usagesListResultDeserializer(item: any): _UsagesListResult {\n return {\n value: usageResultArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function usageResultArrayDeserializer(result: Array<UsageResult>): any[] {\n return result.map((item) => {\n return usageResultDeserializer(item);\n });\n}\n\n/** Usages entity model */\nexport interface UsageResult {\n /** The id of the usage. */\n readonly id?: string;\n /** The name of the usage. */\n readonly name?: UsageName;\n /** Usage properties */\n properties?: UsageProperties;\n}\n\nexport function usageResultDeserializer(item: any): UsageResult {\n return {\n id: item[\"id\"],\n name: !item[\"name\"] ? item[\"name\"] : usageNameDeserializer(item[\"name\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : usagePropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** The name of the usage. */\nexport interface UsageName {\n /** The name of the usage. */\n value?: string;\n /** The localized name of the usage. */\n localizedValue?: string;\n}\n\nexport function usageNameDeserializer(item: any): UsageName {\n return {\n value: item[\"value\"],\n localizedValue: item[\"localizedValue\"],\n };\n}\n\n/** Usage properties */\nexport interface UsageProperties {\n /** The current usage value for the subscription. */\n readonly currentValue?: number;\n /** The limit of the usage. */\n readonly limit?: number;\n /** The unit of the usage. */\n readonly unit?: string;\n}\n\nexport function usagePropertiesDeserializer(item: any): UsageProperties {\n return {\n currentValue: item[\"currentValue\"],\n limit: item[\"limit\"],\n unit: item[\"unit\"],\n };\n}\n\n/** The available API versions. */\nexport enum KnownVersions {\n /** The 2025-06-01 API version. */\n V20250601 = \"2025-06-01\",\n /** The 2025-08-01 API version. */\n V20250801 = \"2025-08-01\",\n /** The 2025-09-01 API version. */\n V20250901 = \"2025-09-01\",\n /** The 2025-12-01 API version. */\n V20251201 = \"2025-12-01\",\n /** The 2026-01-01 API version. */\n V20260101 = \"2026-01-01\",\n}\n"]}