@azure/arm-managementgroups 2.0.4-alpha.20260309.1 → 3.0.0-beta.1

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 (609) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +18 -19
  3. package/dist/browser/api/entities/index.d.ts +3 -0
  4. package/dist/browser/api/entities/index.js +4 -0
  5. package/dist/browser/api/entities/index.js.map +1 -0
  6. package/dist/browser/api/entities/operations.d.ts +10 -0
  7. package/dist/browser/api/entities/operations.js +43 -0
  8. package/dist/browser/api/entities/operations.js.map +1 -0
  9. package/dist/browser/api/entities/options.d.ts +34 -0
  10. package/dist/browser/api/entities/options.js +4 -0
  11. package/dist/browser/api/entities/options.js.map +1 -0
  12. package/dist/browser/api/hierarchySettings/index.d.ts +3 -0
  13. package/dist/browser/api/hierarchySettings/index.js +4 -0
  14. package/dist/browser/api/hierarchySettings/index.js.map +1 -0
  15. package/dist/browser/api/hierarchySettings/operations.d.ts +25 -0
  16. package/dist/browser/api/hierarchySettings/operations.js +137 -0
  17. package/dist/browser/api/hierarchySettings/operations.js.map +1 -0
  18. package/dist/browser/api/hierarchySettings/options.d.ts +17 -0
  19. package/dist/browser/api/hierarchySettings/options.js +4 -0
  20. package/dist/browser/api/hierarchySettings/options.js.map +1 -0
  21. package/dist/browser/api/index.d.ts +5 -0
  22. package/dist/browser/api/index.js +5 -0
  23. package/dist/browser/api/index.js.map +1 -0
  24. package/dist/browser/api/managementGroupSubscriptions/index.d.ts +3 -0
  25. package/dist/browser/api/managementGroupSubscriptions/index.js +4 -0
  26. package/dist/browser/api/managementGroupSubscriptions/index.js.map +1 -0
  27. package/dist/browser/api/managementGroupSubscriptions/operations.d.ts +22 -0
  28. package/dist/browser/api/managementGroupSubscriptions/operations.js +129 -0
  29. package/dist/browser/api/managementGroupSubscriptions/operations.js.map +1 -0
  30. package/dist/browser/api/managementGroupSubscriptions/options.d.ts +25 -0
  31. package/dist/browser/api/managementGroupSubscriptions/options.js +4 -0
  32. package/dist/browser/api/managementGroupSubscriptions/options.js.map +1 -0
  33. package/dist/browser/api/managementGroups/index.d.ts +3 -0
  34. package/dist/browser/api/managementGroups/index.js +4 -0
  35. package/dist/browser/api/managementGroups/index.js.map +1 -0
  36. package/dist/browser/api/managementGroups/operations.d.ts +37 -0
  37. package/dist/browser/api/managementGroups/operations.js +207 -0
  38. package/dist/browser/api/managementGroups/operations.js.map +1 -0
  39. package/dist/browser/api/managementGroups/options.d.ts +53 -0
  40. package/dist/browser/api/managementGroups/options.js +4 -0
  41. package/dist/browser/api/managementGroups/options.js.map +1 -0
  42. package/dist/browser/api/managementGroupsAPIContext.d.ts +28 -0
  43. package/dist/browser/api/managementGroupsAPIContext.js +30 -0
  44. package/dist/browser/api/managementGroupsAPIContext.js.map +1 -0
  45. package/dist/browser/api/operations/index.d.ts +3 -0
  46. package/dist/browser/api/operations/index.js +4 -0
  47. package/dist/browser/api/operations/index.js.map +1 -0
  48. package/dist/browser/api/operations/operations.d.ts +10 -0
  49. package/dist/browser/api/operations/operations.js +31 -0
  50. package/dist/browser/api/operations/operations.js.map +1 -0
  51. package/dist/browser/api/operations/options.d.ts +5 -0
  52. package/dist/browser/api/operations/options.js +4 -0
  53. package/dist/browser/api/operations/options.js.map +1 -0
  54. package/dist/browser/api/operations.d.ts +17 -0
  55. package/dist/browser/api/operations.js +83 -0
  56. package/dist/browser/api/operations.js.map +1 -0
  57. package/dist/browser/api/options.d.ts +11 -0
  58. package/dist/browser/api/options.js +4 -0
  59. package/dist/browser/api/options.js.map +1 -0
  60. package/dist/browser/classic/entities/index.d.ts +11 -0
  61. package/dist/browser/classic/entities/index.js +14 -0
  62. package/dist/browser/classic/entities/index.js.map +1 -0
  63. package/dist/browser/classic/hierarchySettings/index.d.ts +18 -0
  64. package/dist/browser/classic/hierarchySettings/index.js +18 -0
  65. package/dist/browser/classic/hierarchySettings/index.js.map +1 -0
  66. package/dist/browser/classic/index.d.ts +6 -0
  67. package/dist/browser/classic/index.js +4 -0
  68. package/dist/browser/classic/index.js.map +1 -0
  69. package/dist/browser/classic/managementGroupSubscriptions/index.d.ts +17 -0
  70. package/dist/browser/classic/managementGroupSubscriptions/index.js +17 -0
  71. package/dist/browser/classic/managementGroupSubscriptions/index.js.map +1 -0
  72. package/dist/browser/classic/managementGroups/index.d.ts +37 -0
  73. package/dist/browser/classic/managementGroups/index.js +36 -0
  74. package/dist/browser/classic/managementGroups/index.js.map +1 -0
  75. package/dist/browser/classic/operations/index.d.ts +11 -0
  76. package/dist/browser/classic/operations/index.js +14 -0
  77. package/dist/browser/classic/operations/index.js.map +1 -0
  78. package/dist/browser/index.d.ts +18 -3
  79. package/dist/browser/index.js +7 -11
  80. package/dist/browser/index.js.map +1 -1
  81. package/dist/browser/logger.d.ts +2 -0
  82. package/dist/browser/logger.js +5 -0
  83. package/dist/browser/logger.js.map +1 -0
  84. package/dist/browser/managementGroupsAPI.d.ts +35 -34
  85. package/dist/browser/managementGroupsAPI.js +47 -172
  86. package/dist/browser/managementGroupsAPI.js.map +1 -1
  87. package/dist/browser/models/index.d.ts +2 -973
  88. package/dist/browser/models/index.js +3 -63
  89. package/dist/browser/models/index.js.map +1 -1
  90. package/dist/browser/models/models.d.ts +666 -0
  91. package/dist/browser/models/models.js +586 -0
  92. package/dist/browser/models/models.js.map +1 -0
  93. package/dist/browser/restorePollerHelpers.d.ts +21 -0
  94. package/dist/browser/restorePollerHelpers.js +101 -0
  95. package/dist/browser/restorePollerHelpers.js.map +1 -0
  96. package/dist/browser/static-helpers/cloudSettingHelpers.d.ts +22 -0
  97. package/dist/browser/static-helpers/cloudSettingHelpers.js +38 -0
  98. package/dist/browser/static-helpers/cloudSettingHelpers.js.map +1 -0
  99. package/dist/browser/static-helpers/pagingHelpers.d.ts +74 -0
  100. package/dist/browser/static-helpers/pagingHelpers.js +143 -0
  101. package/dist/browser/static-helpers/pagingHelpers.js.map +1 -0
  102. package/dist/browser/static-helpers/pollingHelpers.d.ts +34 -0
  103. package/dist/browser/static-helpers/pollingHelpers.js +95 -0
  104. package/dist/browser/static-helpers/pollingHelpers.js.map +1 -0
  105. package/dist/browser/static-helpers/serialization/check-prop-undefined.d.ts +8 -0
  106. package/dist/browser/static-helpers/serialization/check-prop-undefined.js +17 -0
  107. package/dist/browser/static-helpers/serialization/check-prop-undefined.js.map +1 -0
  108. package/dist/browser/static-helpers/simplePollerHelpers.d.ts +73 -0
  109. package/dist/browser/static-helpers/simplePollerHelpers.js +44 -0
  110. package/dist/browser/static-helpers/simplePollerHelpers.js.map +1 -0
  111. package/dist/browser/static-helpers/urlTemplate.d.ts +5 -0
  112. package/dist/browser/static-helpers/urlTemplate.js +200 -0
  113. package/dist/browser/static-helpers/urlTemplate.js.map +1 -0
  114. package/dist/commonjs/api/entities/index.d.ts +3 -0
  115. package/dist/commonjs/{operationsInterfaces/managementGroupSubscriptions.js → api/entities/index.js} +15 -2
  116. package/dist/commonjs/api/entities/index.js.map +7 -0
  117. package/dist/commonjs/api/entities/operations.d.ts +10 -0
  118. package/dist/commonjs/api/entities/operations.js +80 -0
  119. package/dist/commonjs/api/entities/operations.js.map +7 -0
  120. package/dist/commonjs/api/entities/options.d.ts +34 -0
  121. package/dist/commonjs/{operationsInterfaces/entities.js → api/entities/options.js} +3 -2
  122. package/dist/commonjs/api/entities/options.js.map +7 -0
  123. package/dist/commonjs/api/hierarchySettings/index.d.ts +3 -0
  124. package/dist/commonjs/api/hierarchySettings/index.js +36 -0
  125. package/dist/commonjs/api/hierarchySettings/index.js.map +7 -0
  126. package/dist/commonjs/api/hierarchySettings/operations.d.ts +25 -0
  127. package/dist/commonjs/api/hierarchySettings/operations.js +204 -0
  128. package/dist/commonjs/api/hierarchySettings/operations.js.map +7 -0
  129. package/dist/commonjs/api/hierarchySettings/options.d.ts +17 -0
  130. package/dist/commonjs/{operationsInterfaces/managementGroups.js → api/hierarchySettings/options.js} +3 -2
  131. package/dist/commonjs/api/hierarchySettings/options.js.map +7 -0
  132. package/dist/commonjs/api/index.d.ts +5 -0
  133. package/dist/commonjs/api/index.js +35 -0
  134. package/dist/commonjs/api/index.js.map +7 -0
  135. package/dist/commonjs/api/managementGroupSubscriptions/index.d.ts +3 -0
  136. package/dist/commonjs/api/managementGroupSubscriptions/index.js +34 -0
  137. package/dist/commonjs/api/managementGroupSubscriptions/index.js.map +7 -0
  138. package/dist/commonjs/api/managementGroupSubscriptions/operations.d.ts +22 -0
  139. package/dist/commonjs/api/managementGroupSubscriptions/operations.js +193 -0
  140. package/dist/commonjs/api/managementGroupSubscriptions/operations.js.map +7 -0
  141. package/dist/commonjs/api/managementGroupSubscriptions/options.d.ts +25 -0
  142. package/dist/commonjs/{operationsInterfaces/hierarchySettingsOperations.js → api/managementGroupSubscriptions/options.js} +3 -2
  143. package/dist/commonjs/api/managementGroupSubscriptions/options.js.map +7 -0
  144. package/dist/commonjs/api/managementGroups/index.d.ts +3 -0
  145. package/dist/commonjs/api/managementGroups/index.js +38 -0
  146. package/dist/commonjs/api/managementGroups/index.js.map +7 -0
  147. package/dist/commonjs/api/managementGroups/operations.d.ts +37 -0
  148. package/dist/commonjs/api/managementGroups/operations.js +289 -0
  149. package/dist/commonjs/api/managementGroups/operations.js.map +7 -0
  150. package/dist/commonjs/api/managementGroups/options.d.ts +53 -0
  151. package/dist/commonjs/api/managementGroups/options.js +16 -0
  152. package/dist/commonjs/api/managementGroups/options.js.map +7 -0
  153. package/dist/commonjs/api/managementGroupsAPIContext.d.ts +28 -0
  154. package/dist/commonjs/api/managementGroupsAPIContext.js +47 -0
  155. package/dist/commonjs/api/managementGroupsAPIContext.js.map +7 -0
  156. package/dist/commonjs/api/operations/index.d.ts +3 -0
  157. package/dist/commonjs/api/operations/index.js +28 -0
  158. package/dist/commonjs/api/operations/index.js.map +7 -0
  159. package/dist/commonjs/api/operations/operations.d.ts +10 -0
  160. package/dist/commonjs/api/operations/operations.js +68 -0
  161. package/dist/commonjs/api/operations/operations.js.map +7 -0
  162. package/dist/commonjs/api/operations/options.d.ts +5 -0
  163. package/dist/commonjs/api/operations/options.js +16 -0
  164. package/dist/commonjs/api/operations/options.js.map +7 -0
  165. package/dist/commonjs/api/operations.d.ts +17 -0
  166. package/dist/commonjs/api/operations.js +132 -0
  167. package/dist/commonjs/api/operations.js.map +7 -0
  168. package/dist/commonjs/api/options.d.ts +11 -0
  169. package/dist/commonjs/api/options.js +16 -0
  170. package/dist/commonjs/api/options.js.map +7 -0
  171. package/dist/commonjs/classic/entities/index.d.ts +11 -0
  172. package/dist/commonjs/{pagingHelper.js → classic/entities/index.js} +15 -20
  173. package/dist/commonjs/classic/entities/index.js.map +7 -0
  174. package/dist/commonjs/classic/hierarchySettings/index.d.ts +18 -0
  175. package/dist/commonjs/classic/hierarchySettings/index.js +42 -0
  176. package/dist/commonjs/classic/hierarchySettings/index.js.map +7 -0
  177. package/dist/commonjs/classic/index.d.ts +6 -0
  178. package/dist/commonjs/{operationsInterfaces/operations.js → classic/index.js} +3 -2
  179. package/dist/commonjs/classic/index.js.map +7 -0
  180. package/dist/commonjs/classic/managementGroupSubscriptions/index.d.ts +17 -0
  181. package/dist/commonjs/classic/managementGroupSubscriptions/index.js +41 -0
  182. package/dist/commonjs/classic/managementGroupSubscriptions/index.js.map +7 -0
  183. package/dist/commonjs/classic/managementGroups/index.d.ts +37 -0
  184. package/dist/commonjs/classic/managementGroups/index.js +60 -0
  185. package/dist/commonjs/classic/managementGroups/index.js.map +7 -0
  186. package/dist/commonjs/classic/operations/index.d.ts +11 -0
  187. package/dist/commonjs/{operations → classic/operations}/index.js +20 -11
  188. package/dist/commonjs/classic/operations/index.js.map +7 -0
  189. package/dist/commonjs/index.d.ts +18 -3
  190. package/dist/commonjs/index.js +27 -8
  191. package/dist/commonjs/index.js.map +3 -3
  192. package/dist/commonjs/logger.d.ts +2 -0
  193. package/dist/commonjs/logger.js +29 -0
  194. package/dist/commonjs/logger.js.map +7 -0
  195. package/dist/commonjs/managementGroupsAPI.d.ts +35 -34
  196. package/dist/commonjs/managementGroupsAPI.js +44 -185
  197. package/dist/commonjs/managementGroupsAPI.js.map +4 -4
  198. package/dist/commonjs/models/index.d.ts +2 -973
  199. package/dist/commonjs/models/index.js +16 -43
  200. package/dist/commonjs/models/index.js.map +4 -4
  201. package/dist/commonjs/models/models.d.ts +666 -0
  202. package/dist/commonjs/models/models.js +658 -0
  203. package/dist/commonjs/models/models.js.map +7 -0
  204. package/dist/commonjs/restorePollerHelpers.d.ts +21 -0
  205. package/dist/commonjs/restorePollerHelpers.js +114 -0
  206. package/dist/commonjs/restorePollerHelpers.js.map +7 -0
  207. package/dist/commonjs/static-helpers/cloudSettingHelpers.d.ts +22 -0
  208. package/dist/commonjs/static-helpers/cloudSettingHelpers.js +52 -0
  209. package/dist/commonjs/static-helpers/cloudSettingHelpers.js.map +7 -0
  210. package/dist/commonjs/static-helpers/pagingHelpers.d.ts +74 -0
  211. package/dist/commonjs/static-helpers/pagingHelpers.js +143 -0
  212. package/dist/commonjs/static-helpers/pagingHelpers.js.map +7 -0
  213. package/dist/commonjs/static-helpers/pollingHelpers.d.ts +34 -0
  214. package/dist/commonjs/static-helpers/pollingHelpers.js +101 -0
  215. package/dist/commonjs/static-helpers/pollingHelpers.js.map +7 -0
  216. package/dist/commonjs/static-helpers/serialization/check-prop-undefined.d.ts +8 -0
  217. package/dist/commonjs/{lroImpl.js → static-helpers/serialization/check-prop-undefined.js} +12 -23
  218. package/dist/commonjs/static-helpers/serialization/check-prop-undefined.js.map +7 -0
  219. package/dist/commonjs/static-helpers/simplePollerHelpers.d.ts +73 -0
  220. package/dist/commonjs/static-helpers/simplePollerHelpers.js +67 -0
  221. package/dist/commonjs/static-helpers/simplePollerHelpers.js.map +7 -0
  222. package/dist/commonjs/static-helpers/urlTemplate.d.ts +5 -0
  223. package/dist/commonjs/static-helpers/urlTemplate.js +197 -0
  224. package/dist/commonjs/static-helpers/urlTemplate.js.map +7 -0
  225. package/dist/commonjs/tsdoc-metadata.json +1 -1
  226. package/dist/esm/api/entities/index.d.ts +3 -0
  227. package/dist/esm/api/entities/index.js +4 -0
  228. package/dist/esm/api/entities/index.js.map +1 -0
  229. package/dist/esm/api/entities/operations.d.ts +10 -0
  230. package/dist/esm/api/entities/operations.js +43 -0
  231. package/dist/esm/api/entities/operations.js.map +1 -0
  232. package/dist/esm/api/entities/options.d.ts +34 -0
  233. package/dist/esm/api/entities/options.js +4 -0
  234. package/dist/esm/api/entities/options.js.map +1 -0
  235. package/dist/esm/api/hierarchySettings/index.d.ts +3 -0
  236. package/dist/esm/api/hierarchySettings/index.js +4 -0
  237. package/dist/esm/api/hierarchySettings/index.js.map +1 -0
  238. package/dist/esm/api/hierarchySettings/operations.d.ts +25 -0
  239. package/dist/esm/api/hierarchySettings/operations.js +137 -0
  240. package/dist/esm/api/hierarchySettings/operations.js.map +1 -0
  241. package/dist/esm/api/hierarchySettings/options.d.ts +17 -0
  242. package/dist/esm/api/hierarchySettings/options.js +4 -0
  243. package/dist/esm/api/hierarchySettings/options.js.map +1 -0
  244. package/dist/esm/api/index.d.ts +5 -0
  245. package/dist/esm/api/index.js +5 -0
  246. package/dist/esm/api/index.js.map +1 -0
  247. package/dist/esm/api/managementGroupSubscriptions/index.d.ts +3 -0
  248. package/dist/esm/api/managementGroupSubscriptions/index.js +4 -0
  249. package/dist/esm/api/managementGroupSubscriptions/index.js.map +1 -0
  250. package/dist/esm/api/managementGroupSubscriptions/operations.d.ts +22 -0
  251. package/dist/esm/api/managementGroupSubscriptions/operations.js +129 -0
  252. package/dist/esm/api/managementGroupSubscriptions/operations.js.map +1 -0
  253. package/dist/esm/api/managementGroupSubscriptions/options.d.ts +25 -0
  254. package/dist/esm/api/managementGroupSubscriptions/options.js +4 -0
  255. package/dist/esm/api/managementGroupSubscriptions/options.js.map +1 -0
  256. package/dist/esm/api/managementGroups/index.d.ts +3 -0
  257. package/dist/esm/api/managementGroups/index.js +4 -0
  258. package/dist/esm/api/managementGroups/index.js.map +1 -0
  259. package/dist/esm/api/managementGroups/operations.d.ts +37 -0
  260. package/dist/esm/api/managementGroups/operations.js +207 -0
  261. package/dist/esm/api/managementGroups/operations.js.map +1 -0
  262. package/dist/esm/api/managementGroups/options.d.ts +53 -0
  263. package/dist/esm/api/managementGroups/options.js +4 -0
  264. package/dist/esm/api/managementGroups/options.js.map +1 -0
  265. package/dist/esm/api/managementGroupsAPIContext.d.ts +28 -0
  266. package/dist/esm/api/managementGroupsAPIContext.js +30 -0
  267. package/dist/esm/api/managementGroupsAPIContext.js.map +1 -0
  268. package/dist/esm/api/operations/index.d.ts +3 -0
  269. package/dist/esm/api/operations/index.js +4 -0
  270. package/dist/esm/api/operations/index.js.map +1 -0
  271. package/dist/esm/api/operations/operations.d.ts +10 -0
  272. package/dist/esm/api/operations/operations.js +31 -0
  273. package/dist/esm/api/operations/operations.js.map +1 -0
  274. package/dist/esm/api/operations/options.d.ts +5 -0
  275. package/dist/esm/api/operations/options.js +4 -0
  276. package/dist/esm/api/operations/options.js.map +1 -0
  277. package/dist/esm/api/operations.d.ts +17 -0
  278. package/dist/esm/api/operations.js +83 -0
  279. package/dist/esm/api/operations.js.map +1 -0
  280. package/dist/esm/api/options.d.ts +11 -0
  281. package/dist/esm/api/options.js +4 -0
  282. package/dist/esm/api/options.js.map +1 -0
  283. package/dist/esm/classic/entities/index.d.ts +11 -0
  284. package/dist/esm/classic/entities/index.js +14 -0
  285. package/dist/esm/classic/entities/index.js.map +1 -0
  286. package/dist/esm/classic/hierarchySettings/index.d.ts +18 -0
  287. package/dist/esm/classic/hierarchySettings/index.js +18 -0
  288. package/dist/esm/classic/hierarchySettings/index.js.map +1 -0
  289. package/dist/esm/classic/index.d.ts +6 -0
  290. package/dist/esm/classic/index.js +4 -0
  291. package/dist/esm/classic/index.js.map +1 -0
  292. package/dist/esm/classic/managementGroupSubscriptions/index.d.ts +17 -0
  293. package/dist/esm/classic/managementGroupSubscriptions/index.js +17 -0
  294. package/dist/esm/classic/managementGroupSubscriptions/index.js.map +1 -0
  295. package/dist/esm/classic/managementGroups/index.d.ts +37 -0
  296. package/dist/esm/classic/managementGroups/index.js +36 -0
  297. package/dist/esm/classic/managementGroups/index.js.map +1 -0
  298. package/dist/esm/classic/operations/index.d.ts +11 -0
  299. package/dist/esm/classic/operations/index.js +14 -0
  300. package/dist/esm/classic/operations/index.js.map +1 -0
  301. package/dist/esm/index.d.ts +18 -3
  302. package/dist/esm/index.js +9 -8
  303. package/dist/esm/index.js.map +1 -7
  304. package/dist/esm/logger.d.ts +2 -0
  305. package/dist/esm/logger.js +5 -0
  306. package/dist/esm/logger.js.map +1 -0
  307. package/dist/esm/managementGroupsAPI.d.ts +35 -34
  308. package/dist/esm/managementGroupsAPI.js +57 -193
  309. package/dist/esm/managementGroupsAPI.js.map +1 -7
  310. package/dist/esm/models/index.d.ts +2 -973
  311. package/dist/esm/models/index.js +4 -40
  312. package/dist/esm/models/index.js.map +1 -7
  313. package/dist/esm/models/models.d.ts +666 -0
  314. package/dist/esm/models/models.js +586 -0
  315. package/dist/esm/models/models.js.map +1 -0
  316. package/dist/esm/restorePollerHelpers.d.ts +21 -0
  317. package/dist/esm/restorePollerHelpers.js +101 -0
  318. package/dist/esm/restorePollerHelpers.js.map +1 -0
  319. package/dist/esm/static-helpers/cloudSettingHelpers.d.ts +22 -0
  320. package/dist/esm/static-helpers/cloudSettingHelpers.js +38 -0
  321. package/dist/esm/static-helpers/cloudSettingHelpers.js.map +1 -0
  322. package/dist/esm/static-helpers/pagingHelpers.d.ts +74 -0
  323. package/dist/esm/static-helpers/pagingHelpers.js +143 -0
  324. package/dist/esm/static-helpers/pagingHelpers.js.map +1 -0
  325. package/dist/esm/static-helpers/pollingHelpers.d.ts +34 -0
  326. package/dist/esm/static-helpers/pollingHelpers.js +95 -0
  327. package/dist/esm/static-helpers/pollingHelpers.js.map +1 -0
  328. package/dist/esm/static-helpers/serialization/check-prop-undefined.d.ts +8 -0
  329. package/dist/esm/static-helpers/serialization/check-prop-undefined.js +17 -0
  330. package/dist/esm/static-helpers/serialization/check-prop-undefined.js.map +1 -0
  331. package/dist/esm/static-helpers/simplePollerHelpers.d.ts +73 -0
  332. package/dist/esm/static-helpers/simplePollerHelpers.js +44 -0
  333. package/dist/esm/static-helpers/simplePollerHelpers.js.map +1 -0
  334. package/dist/esm/static-helpers/urlTemplate.d.ts +5 -0
  335. package/dist/esm/static-helpers/urlTemplate.js +200 -0
  336. package/dist/esm/static-helpers/urlTemplate.js.map +1 -0
  337. package/package.json +190 -79
  338. package/CHANGELOG.md +0 -43
  339. package/dist/browser/index.d.ts.map +0 -1
  340. package/dist/browser/lroImpl.d.ts +0 -16
  341. package/dist/browser/lroImpl.d.ts.map +0 -1
  342. package/dist/browser/lroImpl.js +0 -33
  343. package/dist/browser/lroImpl.js.map +0 -1
  344. package/dist/browser/managementGroupsAPI.d.ts.map +0 -1
  345. package/dist/browser/models/index.d.ts.map +0 -1
  346. package/dist/browser/models/mappers.d.ts +0 -39
  347. package/dist/browser/models/mappers.d.ts.map +0 -1
  348. package/dist/browser/models/mappers.js +0 -1355
  349. package/dist/browser/models/mappers.js.map +0 -1
  350. package/dist/browser/models/parameters.d.ts +0 -24
  351. package/dist/browser/models/parameters.d.ts.map +0 -1
  352. package/dist/browser/models/parameters.js +0 -200
  353. package/dist/browser/models/parameters.js.map +0 -1
  354. package/dist/browser/operations/entities.d.ts +0 -34
  355. package/dist/browser/operations/entities.d.ts.map +0 -1
  356. package/dist/browser/operations/entities.js +0 -139
  357. package/dist/browser/operations/entities.js.map +0 -1
  358. package/dist/browser/operations/hierarchySettingsOperations.d.ts +0 -52
  359. package/dist/browser/operations/hierarchySettingsOperations.d.ts.map +0 -1
  360. package/dist/browser/operations/hierarchySettingsOperations.js +0 -155
  361. package/dist/browser/operations/hierarchySettingsOperations.js.map +0 -1
  362. package/dist/browser/operations/index.d.ts +0 -6
  363. package/dist/browser/operations/index.d.ts.map +0 -1
  364. package/dist/browser/operations/index.js +0 -13
  365. package/dist/browser/operations/index.js.map +0 -1
  366. package/dist/browser/operations/managementGroupSubscriptions.d.ts +0 -62
  367. package/dist/browser/operations/managementGroupSubscriptions.d.ts.map +0 -1
  368. package/dist/browser/operations/managementGroupSubscriptions.js +0 -212
  369. package/dist/browser/operations/managementGroupSubscriptions.js.map +0 -1
  370. package/dist/browser/operations/managementGroups.d.ts +0 -109
  371. package/dist/browser/operations/managementGroups.d.ts.map +0 -1
  372. package/dist/browser/operations/managementGroups.js +0 -461
  373. package/dist/browser/operations/managementGroups.js.map +0 -1
  374. package/dist/browser/operations/operations.d.ts +0 -32
  375. package/dist/browser/operations/operations.d.ts.map +0 -1
  376. package/dist/browser/operations/operations.js +0 -117
  377. package/dist/browser/operations/operations.js.map +0 -1
  378. package/dist/browser/operationsInterfaces/entities.d.ts +0 -12
  379. package/dist/browser/operationsInterfaces/entities.d.ts.map +0 -1
  380. package/dist/browser/operationsInterfaces/entities.js +0 -9
  381. package/dist/browser/operationsInterfaces/entities.js.map +0 -1
  382. package/dist/browser/operationsInterfaces/hierarchySettingsOperations.d.ts +0 -44
  383. package/dist/browser/operationsInterfaces/hierarchySettingsOperations.d.ts.map +0 -1
  384. package/dist/browser/operationsInterfaces/hierarchySettingsOperations.js +0 -9
  385. package/dist/browser/operationsInterfaces/hierarchySettingsOperations.js.map +0 -1
  386. package/dist/browser/operationsInterfaces/index.d.ts +0 -6
  387. package/dist/browser/operationsInterfaces/index.d.ts.map +0 -1
  388. package/dist/browser/operationsInterfaces/index.js +0 -13
  389. package/dist/browser/operationsInterfaces/index.js.map +0 -1
  390. package/dist/browser/operationsInterfaces/managementGroupSubscriptions.d.ts +0 -37
  391. package/dist/browser/operationsInterfaces/managementGroupSubscriptions.d.ts.map +0 -1
  392. package/dist/browser/operationsInterfaces/managementGroupSubscriptions.js +0 -9
  393. package/dist/browser/operationsInterfaces/managementGroupSubscriptions.js.map +0 -1
  394. package/dist/browser/operationsInterfaces/managementGroups.d.ts +0 -71
  395. package/dist/browser/operationsInterfaces/managementGroups.d.ts.map +0 -1
  396. package/dist/browser/operationsInterfaces/managementGroups.js +0 -9
  397. package/dist/browser/operationsInterfaces/managementGroups.js.map +0 -1
  398. package/dist/browser/operationsInterfaces/operations.d.ts +0 -11
  399. package/dist/browser/operationsInterfaces/operations.d.ts.map +0 -1
  400. package/dist/browser/operationsInterfaces/operations.js +0 -9
  401. package/dist/browser/operationsInterfaces/operations.js.map +0 -1
  402. package/dist/browser/pagingHelper.d.ts +0 -13
  403. package/dist/browser/pagingHelper.d.ts.map +0 -1
  404. package/dist/browser/pagingHelper.js +0 -30
  405. package/dist/browser/pagingHelper.js.map +0 -1
  406. package/dist/commonjs/index.d.ts.map +0 -1
  407. package/dist/commonjs/lroImpl.d.ts +0 -16
  408. package/dist/commonjs/lroImpl.d.ts.map +0 -1
  409. package/dist/commonjs/lroImpl.js.map +0 -7
  410. package/dist/commonjs/managementGroupsAPI.d.ts.map +0 -1
  411. package/dist/commonjs/models/index.d.ts.map +0 -1
  412. package/dist/commonjs/models/mappers.d.ts +0 -39
  413. package/dist/commonjs/models/mappers.d.ts.map +0 -1
  414. package/dist/commonjs/models/mappers.js +0 -1445
  415. package/dist/commonjs/models/mappers.js.map +0 -7
  416. package/dist/commonjs/models/parameters.d.ts +0 -24
  417. package/dist/commonjs/models/parameters.d.ts.map +0 -1
  418. package/dist/commonjs/models/parameters.js +0 -260
  419. package/dist/commonjs/models/parameters.js.map +0 -7
  420. package/dist/commonjs/operations/entities.d.ts +0 -34
  421. package/dist/commonjs/operations/entities.d.ts.map +0 -1
  422. package/dist/commonjs/operations/entities.js +0 -171
  423. package/dist/commonjs/operations/entities.js.map +0 -7
  424. package/dist/commonjs/operations/hierarchySettingsOperations.d.ts +0 -52
  425. package/dist/commonjs/operations/hierarchySettingsOperations.d.ts.map +0 -1
  426. package/dist/commonjs/operations/hierarchySettingsOperations.js +0 -200
  427. package/dist/commonjs/operations/hierarchySettingsOperations.js.map +0 -7
  428. package/dist/commonjs/operations/index.d.ts +0 -6
  429. package/dist/commonjs/operations/index.d.ts.map +0 -1
  430. package/dist/commonjs/operations/index.js.map +0 -7
  431. package/dist/commonjs/operations/managementGroupSubscriptions.d.ts +0 -62
  432. package/dist/commonjs/operations/managementGroupSubscriptions.d.ts.map +0 -1
  433. package/dist/commonjs/operations/managementGroupSubscriptions.js +0 -273
  434. package/dist/commonjs/operations/managementGroupSubscriptions.js.map +0 -7
  435. package/dist/commonjs/operations/managementGroups.d.ts +0 -109
  436. package/dist/commonjs/operations/managementGroups.d.ts.map +0 -1
  437. package/dist/commonjs/operations/managementGroups.js +0 -521
  438. package/dist/commonjs/operations/managementGroups.js.map +0 -7
  439. package/dist/commonjs/operations/operations.d.ts +0 -32
  440. package/dist/commonjs/operations/operations.d.ts.map +0 -1
  441. package/dist/commonjs/operations/operations.js +0 -149
  442. package/dist/commonjs/operations/operations.js.map +0 -7
  443. package/dist/commonjs/operationsInterfaces/entities.d.ts +0 -12
  444. package/dist/commonjs/operationsInterfaces/entities.d.ts.map +0 -1
  445. package/dist/commonjs/operationsInterfaces/entities.js.map +0 -7
  446. package/dist/commonjs/operationsInterfaces/hierarchySettingsOperations.d.ts +0 -44
  447. package/dist/commonjs/operationsInterfaces/hierarchySettingsOperations.d.ts.map +0 -1
  448. package/dist/commonjs/operationsInterfaces/hierarchySettingsOperations.js.map +0 -7
  449. package/dist/commonjs/operationsInterfaces/index.d.ts +0 -6
  450. package/dist/commonjs/operationsInterfaces/index.d.ts.map +0 -1
  451. package/dist/commonjs/operationsInterfaces/index.js +0 -29
  452. package/dist/commonjs/operationsInterfaces/index.js.map +0 -7
  453. package/dist/commonjs/operationsInterfaces/managementGroupSubscriptions.d.ts +0 -37
  454. package/dist/commonjs/operationsInterfaces/managementGroupSubscriptions.d.ts.map +0 -1
  455. package/dist/commonjs/operationsInterfaces/managementGroupSubscriptions.js.map +0 -7
  456. package/dist/commonjs/operationsInterfaces/managementGroups.d.ts +0 -71
  457. package/dist/commonjs/operationsInterfaces/managementGroups.d.ts.map +0 -1
  458. package/dist/commonjs/operationsInterfaces/managementGroups.js.map +0 -7
  459. package/dist/commonjs/operationsInterfaces/operations.d.ts +0 -11
  460. package/dist/commonjs/operationsInterfaces/operations.d.ts.map +0 -1
  461. package/dist/commonjs/operationsInterfaces/operations.js.map +0 -7
  462. package/dist/commonjs/pagingHelper.d.ts +0 -13
  463. package/dist/commonjs/pagingHelper.d.ts.map +0 -1
  464. package/dist/commonjs/pagingHelper.js.map +0 -7
  465. package/dist/esm/index.d.ts.map +0 -1
  466. package/dist/esm/lroImpl.d.ts +0 -16
  467. package/dist/esm/lroImpl.d.ts.map +0 -1
  468. package/dist/esm/lroImpl.js +0 -23
  469. package/dist/esm/lroImpl.js.map +0 -7
  470. package/dist/esm/managementGroupsAPI.d.ts.map +0 -1
  471. package/dist/esm/models/index.d.ts.map +0 -1
  472. package/dist/esm/models/mappers.d.ts +0 -39
  473. package/dist/esm/models/mappers.d.ts.map +0 -1
  474. package/dist/esm/models/mappers.js +0 -1386
  475. package/dist/esm/models/mappers.js.map +0 -7
  476. package/dist/esm/models/parameters.d.ts +0 -24
  477. package/dist/esm/models/parameters.d.ts.map +0 -1
  478. package/dist/esm/models/parameters.js +0 -221
  479. package/dist/esm/models/parameters.js.map +0 -7
  480. package/dist/esm/operations/entities.d.ts +0 -34
  481. package/dist/esm/operations/entities.d.ts.map +0 -1
  482. package/dist/esm/operations/entities.js +0 -138
  483. package/dist/esm/operations/entities.js.map +0 -7
  484. package/dist/esm/operations/hierarchySettingsOperations.d.ts +0 -52
  485. package/dist/esm/operations/hierarchySettingsOperations.d.ts.map +0 -1
  486. package/dist/esm/operations/hierarchySettingsOperations.js +0 -167
  487. package/dist/esm/operations/hierarchySettingsOperations.js.map +0 -7
  488. package/dist/esm/operations/index.d.ts +0 -6
  489. package/dist/esm/operations/index.d.ts.map +0 -1
  490. package/dist/esm/operations/index.js +0 -5
  491. package/dist/esm/operations/index.js.map +0 -7
  492. package/dist/esm/operations/managementGroupSubscriptions.d.ts +0 -62
  493. package/dist/esm/operations/managementGroupSubscriptions.d.ts.map +0 -1
  494. package/dist/esm/operations/managementGroupSubscriptions.js +0 -240
  495. package/dist/esm/operations/managementGroupSubscriptions.js.map +0 -7
  496. package/dist/esm/operations/managementGroups.d.ts +0 -109
  497. package/dist/esm/operations/managementGroups.d.ts.map +0 -1
  498. package/dist/esm/operations/managementGroups.js +0 -488
  499. package/dist/esm/operations/managementGroups.js.map +0 -7
  500. package/dist/esm/operations/operations.d.ts +0 -32
  501. package/dist/esm/operations/operations.d.ts.map +0 -1
  502. package/dist/esm/operations/operations.js +0 -116
  503. package/dist/esm/operations/operations.js.map +0 -7
  504. package/dist/esm/operationsInterfaces/entities.d.ts +0 -12
  505. package/dist/esm/operationsInterfaces/entities.d.ts.map +0 -1
  506. package/dist/esm/operationsInterfaces/entities.js +0 -0
  507. package/dist/esm/operationsInterfaces/entities.js.map +0 -7
  508. package/dist/esm/operationsInterfaces/hierarchySettingsOperations.d.ts +0 -44
  509. package/dist/esm/operationsInterfaces/hierarchySettingsOperations.d.ts.map +0 -1
  510. package/dist/esm/operationsInterfaces/hierarchySettingsOperations.js +0 -0
  511. package/dist/esm/operationsInterfaces/hierarchySettingsOperations.js.map +0 -7
  512. package/dist/esm/operationsInterfaces/index.d.ts +0 -6
  513. package/dist/esm/operationsInterfaces/index.d.ts.map +0 -1
  514. package/dist/esm/operationsInterfaces/index.js +0 -5
  515. package/dist/esm/operationsInterfaces/index.js.map +0 -7
  516. package/dist/esm/operationsInterfaces/managementGroupSubscriptions.d.ts +0 -37
  517. package/dist/esm/operationsInterfaces/managementGroupSubscriptions.d.ts.map +0 -1
  518. package/dist/esm/operationsInterfaces/managementGroupSubscriptions.js +0 -0
  519. package/dist/esm/operationsInterfaces/managementGroupSubscriptions.js.map +0 -7
  520. package/dist/esm/operationsInterfaces/managementGroups.d.ts +0 -71
  521. package/dist/esm/operationsInterfaces/managementGroups.d.ts.map +0 -1
  522. package/dist/esm/operationsInterfaces/managementGroups.js +0 -0
  523. package/dist/esm/operationsInterfaces/managementGroups.js.map +0 -7
  524. package/dist/esm/operationsInterfaces/operations.d.ts +0 -11
  525. package/dist/esm/operationsInterfaces/operations.d.ts.map +0 -1
  526. package/dist/esm/operationsInterfaces/operations.js +0 -0
  527. package/dist/esm/operationsInterfaces/operations.js.map +0 -7
  528. package/dist/esm/pagingHelper.d.ts +0 -13
  529. package/dist/esm/pagingHelper.d.ts.map +0 -1
  530. package/dist/esm/pagingHelper.js +0 -19
  531. package/dist/esm/pagingHelper.js.map +0 -7
  532. package/dist/react-native/index.d.ts +0 -5
  533. package/dist/react-native/index.d.ts.map +0 -1
  534. package/dist/react-native/index.js +0 -13
  535. package/dist/react-native/index.js.map +0 -1
  536. package/dist/react-native/lroImpl.d.ts +0 -16
  537. package/dist/react-native/lroImpl.d.ts.map +0 -1
  538. package/dist/react-native/lroImpl.js +0 -33
  539. package/dist/react-native/lroImpl.js.map +0 -1
  540. package/dist/react-native/managementGroupsAPI.d.ts +0 -38
  541. package/dist/react-native/managementGroupsAPI.d.ts.map +0 -1
  542. package/dist/react-native/managementGroupsAPI.js +0 -183
  543. package/dist/react-native/managementGroupsAPI.js.map +0 -1
  544. package/dist/react-native/models/index.d.ts +0 -974
  545. package/dist/react-native/models/index.d.ts.map +0 -1
  546. package/dist/react-native/models/index.js +0 -64
  547. package/dist/react-native/models/index.js.map +0 -1
  548. package/dist/react-native/models/mappers.d.ts +0 -39
  549. package/dist/react-native/models/mappers.d.ts.map +0 -1
  550. package/dist/react-native/models/mappers.js +0 -1355
  551. package/dist/react-native/models/mappers.js.map +0 -1
  552. package/dist/react-native/models/parameters.d.ts +0 -24
  553. package/dist/react-native/models/parameters.d.ts.map +0 -1
  554. package/dist/react-native/models/parameters.js +0 -200
  555. package/dist/react-native/models/parameters.js.map +0 -1
  556. package/dist/react-native/operations/entities.d.ts +0 -34
  557. package/dist/react-native/operations/entities.d.ts.map +0 -1
  558. package/dist/react-native/operations/entities.js +0 -139
  559. package/dist/react-native/operations/entities.js.map +0 -1
  560. package/dist/react-native/operations/hierarchySettingsOperations.d.ts +0 -52
  561. package/dist/react-native/operations/hierarchySettingsOperations.d.ts.map +0 -1
  562. package/dist/react-native/operations/hierarchySettingsOperations.js +0 -155
  563. package/dist/react-native/operations/hierarchySettingsOperations.js.map +0 -1
  564. package/dist/react-native/operations/index.d.ts +0 -6
  565. package/dist/react-native/operations/index.d.ts.map +0 -1
  566. package/dist/react-native/operations/index.js +0 -13
  567. package/dist/react-native/operations/index.js.map +0 -1
  568. package/dist/react-native/operations/managementGroupSubscriptions.d.ts +0 -62
  569. package/dist/react-native/operations/managementGroupSubscriptions.d.ts.map +0 -1
  570. package/dist/react-native/operations/managementGroupSubscriptions.js +0 -212
  571. package/dist/react-native/operations/managementGroupSubscriptions.js.map +0 -1
  572. package/dist/react-native/operations/managementGroups.d.ts +0 -109
  573. package/dist/react-native/operations/managementGroups.d.ts.map +0 -1
  574. package/dist/react-native/operations/managementGroups.js +0 -461
  575. package/dist/react-native/operations/managementGroups.js.map +0 -1
  576. package/dist/react-native/operations/operations.d.ts +0 -32
  577. package/dist/react-native/operations/operations.d.ts.map +0 -1
  578. package/dist/react-native/operations/operations.js +0 -117
  579. package/dist/react-native/operations/operations.js.map +0 -1
  580. package/dist/react-native/operationsInterfaces/entities.d.ts +0 -12
  581. package/dist/react-native/operationsInterfaces/entities.d.ts.map +0 -1
  582. package/dist/react-native/operationsInterfaces/entities.js +0 -9
  583. package/dist/react-native/operationsInterfaces/entities.js.map +0 -1
  584. package/dist/react-native/operationsInterfaces/hierarchySettingsOperations.d.ts +0 -44
  585. package/dist/react-native/operationsInterfaces/hierarchySettingsOperations.d.ts.map +0 -1
  586. package/dist/react-native/operationsInterfaces/hierarchySettingsOperations.js +0 -9
  587. package/dist/react-native/operationsInterfaces/hierarchySettingsOperations.js.map +0 -1
  588. package/dist/react-native/operationsInterfaces/index.d.ts +0 -6
  589. package/dist/react-native/operationsInterfaces/index.d.ts.map +0 -1
  590. package/dist/react-native/operationsInterfaces/index.js +0 -13
  591. package/dist/react-native/operationsInterfaces/index.js.map +0 -1
  592. package/dist/react-native/operationsInterfaces/managementGroupSubscriptions.d.ts +0 -37
  593. package/dist/react-native/operationsInterfaces/managementGroupSubscriptions.d.ts.map +0 -1
  594. package/dist/react-native/operationsInterfaces/managementGroupSubscriptions.js +0 -9
  595. package/dist/react-native/operationsInterfaces/managementGroupSubscriptions.js.map +0 -1
  596. package/dist/react-native/operationsInterfaces/managementGroups.d.ts +0 -71
  597. package/dist/react-native/operationsInterfaces/managementGroups.d.ts.map +0 -1
  598. package/dist/react-native/operationsInterfaces/managementGroups.js +0 -9
  599. package/dist/react-native/operationsInterfaces/managementGroups.js.map +0 -1
  600. package/dist/react-native/operationsInterfaces/operations.d.ts +0 -11
  601. package/dist/react-native/operationsInterfaces/operations.d.ts.map +0 -1
  602. package/dist/react-native/operationsInterfaces/operations.js +0 -9
  603. package/dist/react-native/operationsInterfaces/operations.js.map +0 -1
  604. package/dist/react-native/package.json +0 -3
  605. package/dist/react-native/pagingHelper.d.ts +0 -13
  606. package/dist/react-native/pagingHelper.d.ts.map +0 -1
  607. package/dist/react-native/pagingHelper.js +0 -30
  608. package/dist/react-native/pagingHelper.js.map +0 -1
  609. package/review/arm-managementgroups-node.api.md +0 -646
@@ -0,0 +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\nimport { areAllPropsUndefined } from \"../static-helpers/serialization/check-prop-undefined.js\";\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/** Management group name availability check parameters. */\nexport interface CheckNameAvailabilityRequest {\n /** the name to check for availability */\n name?: string;\n /** fully qualified resource type which includes provider namespace */\n type?: \"Microsoft.Management/managementGroups\";\n}\n\nexport function checkNameAvailabilityRequestSerializer(item: CheckNameAvailabilityRequest): any {\n return { name: item[\"name\"], type: item[\"type\"] };\n}\n\n/** Describes the result of the request to check management group name availability. */\nexport interface CheckNameAvailabilityResult {\n /** Required. True indicates name is valid and available. False indicates the name is invalid, unavailable, or both. */\n readonly nameAvailable?: boolean;\n /** Required if nameAvailable == false. Invalid indicates the name provided does not match the resource provider's naming requirements (incorrect length, unsupported characters, etc.) AlreadyExists indicates that the name is already in use and is therefore unavailable. */\n readonly reason?: Reason;\n /** Required if nameAvailable == false. Localized. 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 is already in use, and direct them to select a different name. */\n readonly message?: string;\n}\n\nexport function checkNameAvailabilityResultDeserializer(item: any): CheckNameAvailabilityResult {\n return {\n nameAvailable: item[\"nameAvailable\"],\n reason: item[\"reason\"],\n message: item[\"message\"],\n };\n}\n\n/** Required if nameAvailable == false. Invalid indicates the name provided does not match the resource provider's naming requirements (incorrect length, unsupported characters, etc.) AlreadyExists indicates that the name is already in use and is therefore unavailable. */\nexport type Reason = \"Invalid\" | \"AlreadyExists\";\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/** The tenant backfill status */\nexport interface TenantBackfillStatusResult {\n /** The AAD Tenant ID associated with the management group. For example, 00000000-0000-0000-0000-000000000000 */\n readonly tenantId?: string;\n /** The status of the Tenant Backfill */\n readonly status?: Status;\n}\n\nexport function tenantBackfillStatusResultDeserializer(item: any): TenantBackfillStatusResult {\n return {\n tenantId: item[\"tenantId\"],\n status: item[\"status\"],\n };\n}\n\n/** The status of the Tenant Backfill */\nexport type Status =\n | \"NotStarted\"\n | \"NotStartedButGroupsExist\"\n | \"Started\"\n | \"Failed\"\n | \"Cancelled\"\n | \"Completed\";\n\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/** Details of a REST API operation, returned from the Resource Provider Operations API */\nexport interface Operation {\n /** The name of the operation, as per Resource-Based Access Control (RBAC). Examples: \"Microsoft.Compute/virtualMachines/write\", \"Microsoft.Compute/virtualMachines/capture/action\" */\n readonly name?: string;\n /** Whether the operation applies to data-plane. This is \"true\" for data-plane operations and \"false\" for Azure Resource Manager/control-plane operations. */\n readonly isDataAction?: boolean;\n /** Localized display information for this particular operation. */\n display?: OperationDisplay;\n /** The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default value is \"user,system\" */\n readonly origin?: Origin;\n /** Extensible enum. Indicates the action type. \"Internal\" refers to actions that are for internal only APIs. */\n readonly actionType?: ActionType;\n}\n\nexport function operationDeserializer(item: any): Operation {\n return {\n name: item[\"name\"],\n isDataAction: item[\"isDataAction\"],\n display: !item[\"display\"] ? item[\"display\"] : operationDisplayDeserializer(item[\"display\"]),\n origin: item[\"origin\"],\n actionType: item[\"actionType\"],\n };\n}\n\n/** Localized display information for an operation. */\nexport interface OperationDisplay {\n /** The localized friendly form of the resource provider name, e.g. \"Microsoft Monitoring Insights\" or \"Microsoft Compute\". */\n readonly provider?: string;\n /** The localized friendly name of the resource type related to this operation. E.g. \"Virtual Machines\" or \"Job Schedule Collections\". */\n readonly resource?: string;\n /** The concise, localized friendly name for the operation; suitable for dropdowns. E.g. \"Create or Update Virtual Machine\", \"Restart Virtual Machine\". */\n readonly operation?: string;\n /** The short, localized friendly description of the operation; suitable for tool tips and detailed views. */\n readonly 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/** The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default value is \"user,system\" */\nexport enum KnownOrigin {\n /** Indicates the operation is initiated by a user. */\n User = \"user\",\n /** Indicates the operation is initiated by a system. */\n System = \"system\",\n /** Indicates the operation is initiated by a user or system. */\n UserSystem = \"user,system\",\n}\n\n/**\n * The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default value is \"user,system\" \\\n * {@link KnownOrigin} can be used interchangeably with Origin,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **user**: Indicates the operation is initiated by a user. \\\n * **system**: Indicates the operation is initiated by a system. \\\n * **user,system**: Indicates the operation is initiated by a user or system.\n */\nexport type Origin = string;\n\n/** Extensible enum. Indicates the action type. \"Internal\" refers to actions that are for internal only APIs. */\nexport enum KnownActionType {\n /** Actions are for internal-only APIs. */\n Internal = \"Internal\",\n}\n\n/**\n * Extensible enum. Indicates the action type. \"Internal\" refers to actions that are for internal only APIs. \\\n * {@link KnownActionType} can be used interchangeably with ActionType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Internal**: Actions are for internal-only APIs.\n */\nexport type ActionType = string;\n\n/** The management group details. */\nexport interface ManagementGroup extends ProxyResource {\n /** The AAD Tenant ID associated with the management group. For example, 00000000-0000-0000-0000-000000000000 */\n tenantId?: string;\n /** The friendly name of the management group. */\n displayName?: string;\n /** The details of a management group. */\n details?: ManagementGroupDetails;\n /** The list of children. */\n children?: ManagementGroupChildInfo[];\n}\n\nexport function managementGroupDeserializer(item: any): ManagementGroup {\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 ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _managementGroupPropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** The generic properties of a management group. */\nexport interface ManagementGroupProperties {\n /** The AAD Tenant ID associated with the management group. For example, 00000000-0000-0000-0000-000000000000 */\n tenantId?: string;\n /** The friendly name of the management group. */\n displayName?: string;\n /** The details of a management group. */\n details?: ManagementGroupDetails;\n /** The list of children. */\n children?: ManagementGroupChildInfo[];\n}\n\nexport function managementGroupPropertiesDeserializer(item: any): ManagementGroupProperties {\n return {\n tenantId: item[\"tenantId\"],\n displayName: item[\"displayName\"],\n details: !item[\"details\"]\n ? item[\"details\"]\n : managementGroupDetailsDeserializer(item[\"details\"]),\n children: !item[\"children\"]\n ? item[\"children\"]\n : managementGroupChildInfoArrayDeserializer(item[\"children\"]),\n };\n}\n\n/** The details of a management group. */\nexport interface ManagementGroupDetails {\n /** The version number of the object. */\n version?: number;\n /** The date and time when this object was last updated. */\n updatedTime?: Date;\n /** The identity of the principal or process that updated the object. */\n updatedBy?: string;\n /** (Optional) The ID of the parent management group. */\n parent?: ParentGroupInfo;\n /** The path from the root to the current group. */\n path?: ManagementGroupPathElement[];\n /** The ancestors of the management group. */\n managementGroupAncestors?: string[];\n /** The ancestors of the management group displayed in reversed order, from immediate parent to the root. */\n managementGroupAncestorsChain?: ManagementGroupPathElement[];\n}\n\nexport function managementGroupDetailsDeserializer(item: any): ManagementGroupDetails {\n return {\n version: item[\"version\"],\n updatedTime: !item[\"updatedTime\"] ? item[\"updatedTime\"] : new Date(item[\"updatedTime\"]),\n updatedBy: item[\"updatedBy\"],\n parent: !item[\"parent\"] ? item[\"parent\"] : parentGroupInfoDeserializer(item[\"parent\"]),\n path: !item[\"path\"] ? item[\"path\"] : managementGroupPathElementArrayDeserializer(item[\"path\"]),\n managementGroupAncestors: !item[\"managementGroupAncestors\"]\n ? item[\"managementGroupAncestors\"]\n : item[\"managementGroupAncestors\"].map((p1: any) => {\n return p1;\n }),\n managementGroupAncestorsChain: !item[\"managementGroupAncestorsChain\"]\n ? item[\"managementGroupAncestorsChain\"]\n : managementGroupPathElementArrayDeserializer(item[\"managementGroupAncestorsChain\"]),\n };\n}\n\n/** (Optional) The ID of the parent management group. */\nexport interface ParentGroupInfo {\n /** The fully qualified ID for the parent management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000 */\n id?: string;\n /** The name of the parent management group */\n name?: string;\n /** The friendly name of the parent management group. */\n displayName?: string;\n}\n\nexport function parentGroupInfoDeserializer(item: any): ParentGroupInfo {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n displayName: item[\"displayName\"],\n };\n}\n\nexport function managementGroupPathElementArrayDeserializer(\n result: Array<ManagementGroupPathElement>,\n): any[] {\n return result.map((item) => {\n return managementGroupPathElementDeserializer(item);\n });\n}\n\n/** A path element of a management group ancestors. */\nexport interface ManagementGroupPathElement {\n /** The name of the group. */\n name?: string;\n /** The friendly name of the group. */\n displayName?: string;\n}\n\nexport function managementGroupPathElementDeserializer(item: any): ManagementGroupPathElement {\n return {\n name: item[\"name\"],\n displayName: item[\"displayName\"],\n };\n}\n\nexport function managementGroupChildInfoArrayDeserializer(\n result: Array<ManagementGroupChildInfo>,\n): any[] {\n return result.map((item) => {\n return managementGroupChildInfoDeserializer(item);\n });\n}\n\n/** The child information of a management group. */\nexport interface ManagementGroupChildInfo {\n /** The fully qualified resource type which includes provider namespace (e.g. Microsoft.Management/managementGroups) */\n type?: ManagementGroupChildType;\n /** The fully qualified ID for the child resource (management group or subscription). For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000 */\n id?: string;\n /** The name of the child entity. */\n name?: string;\n /** The friendly name of the child resource. */\n displayName?: string;\n /** The list of children. */\n children?: ManagementGroupChildInfo[];\n}\n\nexport function managementGroupChildInfoDeserializer(item: any): ManagementGroupChildInfo {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n name: item[\"name\"],\n displayName: item[\"displayName\"],\n children: !item[\"children\"]\n ? item[\"children\"]\n : managementGroupChildInfoArrayDeserializer(item[\"children\"]),\n };\n}\n\n/** The type of child resource. */\nexport type ManagementGroupChildType = \"Microsoft.Management/managementGroups\" | \"/subscriptions\";\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 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 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/** Management group creation parameters. */\nexport interface CreateManagementGroupRequest {\n /** The fully qualified ID for the management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000 */\n readonly id?: string;\n /** The type of the resource. For example, Microsoft.Management/managementGroups */\n readonly type?: string;\n /** The name of the management group. For example, 00000000-0000-0000-0000-000000000000 */\n name?: string;\n /** The AAD Tenant ID associated with the management group. For example, 00000000-0000-0000-0000-000000000000 */\n readonly tenantId?: string;\n /** The friendly name of the management group. If no value is passed then this field will be set to the groupId. */\n displayName?: string;\n /** The details of a management group used during creation. */\n details?: CreateManagementGroupDetails;\n /** The list of children. */\n readonly children?: CreateManagementGroupChildInfo[];\n}\n\nexport function createManagementGroupRequestSerializer(item: CreateManagementGroupRequest): any {\n return {\n name: item[\"name\"],\n properties: areAllPropsUndefined(item, [\"displayName\", \"details\"])\n ? undefined\n : _createManagementGroupRequestPropertiesSerializer(item),\n };\n}\n\n/** The generic properties of a management group used during creation. */\nexport interface CreateManagementGroupProperties {\n /** The AAD Tenant ID associated with the management group. For example, 00000000-0000-0000-0000-000000000000 */\n readonly tenantId?: string;\n /** The friendly name of the management group. If no value is passed then this field will be set to the groupId. */\n displayName?: string;\n /** The details of a management group used during creation. */\n details?: CreateManagementGroupDetails;\n /** The list of children. */\n readonly children?: CreateManagementGroupChildInfo[];\n}\n\nexport function createManagementGroupPropertiesSerializer(\n item: CreateManagementGroupProperties,\n): any {\n return {\n displayName: item[\"displayName\"],\n details: !item[\"details\"]\n ? item[\"details\"]\n : createManagementGroupDetailsSerializer(item[\"details\"]),\n };\n}\n\n/** The details of a management group used during creation. */\nexport interface CreateManagementGroupDetails {\n /** The version number of the object. */\n readonly version?: number;\n /** The date and time when this object was last updated. */\n readonly updatedTime?: Date;\n /** The identity of the principal or process that updated the object. */\n readonly updatedBy?: string;\n /** (Optional) The ID of the parent management group used during creation. */\n parent?: CreateParentGroupInfo;\n}\n\nexport function createManagementGroupDetailsSerializer(item: CreateManagementGroupDetails): any {\n return {\n parent: !item[\"parent\"] ? item[\"parent\"] : createParentGroupInfoSerializer(item[\"parent\"]),\n };\n}\n\n/** (Optional) The ID of the parent management group used during creation. */\nexport interface CreateParentGroupInfo {\n /** The fully qualified ID for the parent management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000 */\n id?: string;\n /** The name of the parent management group */\n readonly name?: string;\n /** The friendly name of the parent management group. */\n readonly displayName?: string;\n}\n\nexport function createParentGroupInfoSerializer(item: CreateParentGroupInfo): any {\n return { id: item[\"id\"] };\n}\n\nexport function createManagementGroupChildInfoArraySerializer(\n result: Array<CreateManagementGroupChildInfo>,\n): any[] {\n return result.map((item) => {\n return createManagementGroupChildInfoSerializer(item);\n });\n}\n\n/** The child information of a management group used during creation. */\nexport interface CreateManagementGroupChildInfo {\n /** The fully qualified resource type which includes provider namespace (e.g. Microsoft.Management/managementGroups) */\n readonly type?: ManagementGroupChildType;\n /** The fully qualified ID for the child resource (management group or subscription). For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000 */\n readonly id?: string;\n /** The name of the child entity. */\n readonly name?: string;\n /** The friendly name of the child resource. */\n readonly displayName?: string;\n /** The list of children. */\n readonly children?: CreateManagementGroupChildInfo[];\n}\n\nexport function createManagementGroupChildInfoSerializer(\n _item: CreateManagementGroupChildInfo,\n): any {\n return {};\n}\n\n/** The generic properties of a management group. */\nexport interface ManagementGroupInfoProperties {\n /** The AAD Tenant ID associated with the management group. For example, 00000000-0000-0000-0000-000000000000 */\n tenantId?: string;\n /** The friendly name of the management group. */\n displayName?: string;\n}\n\nexport function managementGroupInfoPropertiesDeserializer(\n item: any,\n): ManagementGroupInfoProperties {\n return {\n tenantId: item[\"tenantId\"],\n displayName: item[\"displayName\"],\n };\n}\n\n/** Management group patch parameters. */\nexport interface PatchManagementGroupRequest {\n /** The friendly name of the management group. */\n displayName?: string;\n /** (Optional) The fully qualified ID for the parent management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000 */\n parentGroupId?: string;\n}\n\nexport function patchManagementGroupRequestSerializer(item: PatchManagementGroupRequest): any {\n return { displayName: item[\"displayName\"], parentGroupId: item[\"parentGroupId\"] };\n}\n\n/** Paged collection of DescendantInfo items */\nexport interface _DescendantListResult {\n /** The DescendantInfo items on this page */\n value: DescendantInfo[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _descendantListResultDeserializer(item: any): _DescendantListResult {\n return {\n value: descendantInfoArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function descendantInfoArrayDeserializer(result: Array<DescendantInfo>): any[] {\n return result.map((item) => {\n return descendantInfoDeserializer(item);\n });\n}\n\n/** The descendant. */\nexport interface DescendantInfo {\n /** The fully qualified ID for the descendant. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000 or /subscriptions/0000000-0000-0000-0000-000000000000 */\n readonly id?: string;\n /** The type of the resource. For example, Microsoft.Management/managementGroups or /subscriptions */\n readonly type?: string;\n /** The name of the descendant. For example, 00000000-0000-0000-0000-000000000000 */\n readonly name?: string;\n /** The friendly name of the management group. */\n displayName?: string;\n /** The ID of the parent management group. */\n parent?: DescendantParentGroupInfo;\n}\n\nexport function descendantInfoDeserializer(item: any): DescendantInfo {\n return {\n id: item[\"id\"],\n type: item[\"type\"],\n name: item[\"name\"],\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _descendantInfoPropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** The generic properties of an descendant. */\nexport interface DescendantInfoProperties {\n /** The friendly name of the management group. */\n displayName?: string;\n /** The ID of the parent management group. */\n parent?: DescendantParentGroupInfo;\n}\n\nexport function descendantInfoPropertiesDeserializer(item: any): DescendantInfoProperties {\n return {\n displayName: item[\"displayName\"],\n parent: !item[\"parent\"]\n ? item[\"parent\"]\n : descendantParentGroupInfoDeserializer(item[\"parent\"]),\n };\n}\n\n/** The ID of the parent management group. */\nexport interface DescendantParentGroupInfo {\n /** The fully qualified ID for the parent management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000 */\n id?: string;\n}\n\nexport function descendantParentGroupInfoDeserializer(item: any): DescendantParentGroupInfo {\n return {\n id: item[\"id\"],\n };\n}\n\n/** Describes the result of the request to list management groups. */\nexport interface _ManagementGroupListResult {\n /** The list of management groups. */\n value?: ManagementGroupInfo[];\n /** The URL to use for getting the next set of results. */\n readonly nextLink?: string;\n}\n\nexport function _managementGroupListResultDeserializer(item: any): _ManagementGroupListResult {\n return {\n value: !item[\"value\"] ? item[\"value\"] : managementGroupInfoArrayDeserializer(item[\"value\"]),\n nextLink: item[\"@nextLink\"],\n };\n}\n\nexport function managementGroupInfoArrayDeserializer(result: Array<ManagementGroupInfo>): any[] {\n return result.map((item) => {\n return managementGroupInfoDeserializer(item);\n });\n}\n\n/** The management group resource. */\nexport interface ManagementGroupInfo {\n /** The fully qualified ID for the management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000 */\n readonly id?: string;\n /** The type of the resource. For example, Microsoft.Management/managementGroups */\n readonly type?: string;\n /** The name of the management group. For example, 00000000-0000-0000-0000-000000000000 */\n readonly name?: string;\n /** The AAD Tenant ID associated with the management group. For example, 00000000-0000-0000-0000-000000000000 */\n tenantId?: string;\n /** The friendly name of the management group. */\n displayName?: string;\n}\n\nexport function managementGroupInfoDeserializer(item: any): ManagementGroupInfo {\n return {\n id: item[\"id\"],\n type: item[\"type\"],\n name: item[\"name\"],\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _managementGroupInfoPropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** Lists all hierarchy settings. */\nexport interface HierarchySettingsList {\n /** The list of hierarchy settings. */\n value?: HierarchySettingsInfo[];\n /** The URL to use for getting the next set of results. */\n readonly nextLink?: string;\n}\n\nexport function hierarchySettingsListDeserializer(item: any): HierarchySettingsList {\n return {\n value: !item[\"value\"] ? item[\"value\"] : hierarchySettingsInfoArrayDeserializer(item[\"value\"]),\n nextLink: item[\"@nextLink\"],\n };\n}\n\nexport function hierarchySettingsInfoArrayDeserializer(\n result: Array<HierarchySettingsInfo>,\n): any[] {\n return result.map((item) => {\n return hierarchySettingsInfoDeserializer(item);\n });\n}\n\n/** The hierarchy settings resource. */\nexport interface HierarchySettingsInfo {\n /** The fully qualified ID for the settings object. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000/settings/default. */\n readonly id?: string;\n /** The type of the resource. For example, Microsoft.Management/managementGroups/settings. */\n readonly type?: string;\n /** The name of the object. In this case, default. */\n readonly name?: string;\n /** The AAD Tenant ID associated with the hierarchy settings. For example, 00000000-0000-0000-0000-000000000000 */\n tenantId?: string;\n /** Indicates whether RBAC access is required upon group creation under the root Management Group. If set to true, user will require Microsoft.Management/managementGroups/write action on the root Management Group scope in order to create new Groups directly under the root. This will prevent new users from creating new Management Groups, unless they are given access. */\n requireAuthorizationForGroupCreation?: boolean;\n /** Settings that sets the default Management Group under which new subscriptions get added in this tenant. For example, /providers/Microsoft.Management/managementGroups/defaultGroup */\n defaultManagementGroup?: string;\n}\n\nexport function hierarchySettingsInfoDeserializer(item: any): HierarchySettingsInfo {\n return {\n id: item[\"id\"],\n type: item[\"type\"],\n name: item[\"name\"],\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _hierarchySettingsInfoPropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** The generic properties of hierarchy settings. */\nexport interface HierarchySettingsProperties {\n /** The AAD Tenant ID associated with the hierarchy settings. For example, 00000000-0000-0000-0000-000000000000 */\n tenantId?: string;\n /** Indicates whether RBAC access is required upon group creation under the root Management Group. If set to true, user will require Microsoft.Management/managementGroups/write action on the root Management Group scope in order to create new Groups directly under the root. This will prevent new users from creating new Management Groups, unless they are given access. */\n requireAuthorizationForGroupCreation?: boolean;\n /** Settings that sets the default Management Group under which new subscriptions get added in this tenant. For example, /providers/Microsoft.Management/managementGroups/defaultGroup */\n defaultManagementGroup?: string;\n}\n\nexport function hierarchySettingsPropertiesDeserializer(item: any): HierarchySettingsProperties {\n return {\n tenantId: item[\"tenantId\"],\n requireAuthorizationForGroupCreation: item[\"requireAuthorizationForGroupCreation\"],\n defaultManagementGroup: item[\"defaultManagementGroup\"],\n };\n}\n\n/** Settings defined at the Management Group scope. */\nexport interface HierarchySettings extends ProxyResource {\n /** The AAD Tenant ID associated with the hierarchy settings. For example, 00000000-0000-0000-0000-000000000000 */\n tenantId?: string;\n /** Indicates whether RBAC access is required upon group creation under the root Management Group. If set to true, user will require Microsoft.Management/managementGroups/write action on the root Management Group scope in order to create new Groups directly under the root. This will prevent new users from creating new Management Groups, unless they are given access. */\n requireAuthorizationForGroupCreation?: boolean;\n /** Settings that sets the default Management Group under which new subscriptions get added in this tenant. For example, /providers/Microsoft.Management/managementGroups/defaultGroup */\n defaultManagementGroup?: string;\n}\n\nexport function hierarchySettingsDeserializer(item: any): HierarchySettings {\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 ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _hierarchySettingsPropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** Parameters for creating or updating Management Group settings */\nexport interface CreateOrUpdateSettingsRequest {\n /** Indicates whether RBAC access is required upon group creation under the root Management Group. If set to true, user will require Microsoft.Management/managementGroups/write action on the root Management Group scope in order to create new Groups directly under the root. This will prevent new users from creating new Management Groups, unless they are given access. */\n requireAuthorizationForGroupCreation?: boolean;\n /** Settings that sets the default Management Group under which new subscriptions get added in this tenant. For example, /providers/Microsoft.Management/managementGroups/defaultGroup */\n defaultManagementGroup?: string;\n}\n\nexport function createOrUpdateSettingsRequestSerializer(item: CreateOrUpdateSettingsRequest): any {\n return {\n properties: areAllPropsUndefined(item, [\n \"requireAuthorizationForGroupCreation\",\n \"defaultManagementGroup\",\n ])\n ? undefined\n : _createOrUpdateSettingsRequestPropertiesSerializer(item),\n };\n}\n\n/** The properties of the request to create or update Management Group settings */\nexport interface CreateOrUpdateSettingsProperties {\n /** Indicates whether RBAC access is required upon group creation under the root Management Group. If set to true, user will require Microsoft.Management/managementGroups/write action on the root Management Group scope in order to create new Groups directly under the root. This will prevent new users from creating new Management Groups, unless they are given access. */\n requireAuthorizationForGroupCreation?: boolean;\n /** Settings that sets the default Management Group under which new subscriptions get added in this tenant. For example, /providers/Microsoft.Management/managementGroups/defaultGroup */\n defaultManagementGroup?: string;\n}\n\nexport function createOrUpdateSettingsPropertiesSerializer(\n item: CreateOrUpdateSettingsProperties,\n): any {\n return {\n requireAuthorizationForGroupCreation: item[\"requireAuthorizationForGroupCreation\"],\n defaultManagementGroup: item[\"defaultManagementGroup\"],\n };\n}\n\n/** The details of subscription under management group. */\nexport interface SubscriptionUnderManagementGroup extends ProxyResource {\n /** The AAD Tenant ID associated with the subscription. For example, 00000000-0000-0000-0000-000000000000 */\n tenant?: string;\n /** The friendly name of the subscription. */\n displayName?: string;\n /** The ID of the parent management group. */\n parent?: DescendantParentGroupInfo;\n /** The state of the subscription. */\n state?: string;\n}\n\nexport function subscriptionUnderManagementGroupDeserializer(\n item: any,\n): SubscriptionUnderManagementGroup {\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 ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _subscriptionUnderManagementGroupPropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** The generic properties of subscription under a management group. */\nexport interface SubscriptionUnderManagementGroupProperties {\n /** The AAD Tenant ID associated with the subscription. For example, 00000000-0000-0000-0000-000000000000 */\n tenant?: string;\n /** The friendly name of the subscription. */\n displayName?: string;\n /** The ID of the parent management group. */\n parent?: DescendantParentGroupInfo;\n /** The state of the subscription. */\n state?: string;\n}\n\nexport function subscriptionUnderManagementGroupPropertiesDeserializer(\n item: any,\n): SubscriptionUnderManagementGroupProperties {\n return {\n tenant: item[\"tenant\"],\n displayName: item[\"displayName\"],\n parent: !item[\"parent\"]\n ? item[\"parent\"]\n : descendantParentGroupInfoDeserializer(item[\"parent\"]),\n state: item[\"state\"],\n };\n}\n\n/** The details of all subscriptions under management group. */\nexport interface _ListSubscriptionUnderManagementGroup {\n /** The SubscriptionUnderManagementGroup items on this page */\n value: SubscriptionUnderManagementGroup[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _listSubscriptionUnderManagementGroupDeserializer(\n item: any,\n): _ListSubscriptionUnderManagementGroup {\n return {\n value: subscriptionUnderManagementGroupArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function subscriptionUnderManagementGroupArrayDeserializer(\n result: Array<SubscriptionUnderManagementGroup>,\n): any[] {\n return result.map((item) => {\n return subscriptionUnderManagementGroupDeserializer(item);\n });\n}\n\n/** Describes the result of the request to view entities. */\nexport interface _EntityListResult {\n /** The EntityInfo items on this page */\n value: EntityInfo[];\n /** The link to the next page of items */\n nextLink?: string;\n /** Total count of records that match the filter. */\n count?: number;\n}\n\nexport function _entityListResultDeserializer(item: any): _EntityListResult {\n return {\n value: entityInfoArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n count: item[\"count\"],\n };\n}\n\nexport function entityInfoArrayDeserializer(result: Array<EntityInfo>): any[] {\n return result.map((item) => {\n return entityInfoDeserializer(item);\n });\n}\n\n/** The entity. */\nexport interface EntityInfo {\n /** The fully qualified ID for the entity. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000 */\n readonly id?: string;\n /** The type of the resource. For example, Microsoft.Management/managementGroups */\n readonly type?: string;\n /** The name of the entity. For example, 00000000-0000-0000-0000-000000000000 */\n readonly name?: string;\n /** The AAD Tenant ID associated with the entity. For example, 00000000-0000-0000-0000-000000000000 */\n tenantId?: string;\n /** The friendly name of the management group. */\n displayName?: string;\n /** (Optional) The ID of the parent management group. */\n parent?: EntityParentGroupInfo;\n /** The users specific permissions to this item. */\n permissions?: Permissions;\n /** The users specific permissions to this item. */\n inheritedPermissions?: Permissions;\n /** Number of Descendants */\n numberOfDescendants?: number;\n /** Number of children is the number of Groups and Subscriptions that are exactly one level underneath the current Group. */\n numberOfChildren?: number;\n /** Number of children is the number of Groups that are exactly one level underneath the current Group. */\n numberOfChildGroups?: number;\n /** The parent display name chain from the root group to the immediate parent */\n parentDisplayNameChain?: string[];\n /** The parent name chain from the root group to the immediate parent */\n parentNameChain?: string[];\n}\n\nexport function entityInfoDeserializer(item: any): EntityInfo {\n return {\n id: item[\"id\"],\n type: item[\"type\"],\n name: item[\"name\"],\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _entityInfoPropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** The generic properties of an entity. */\nexport interface EntityInfoProperties {\n /** The AAD Tenant ID associated with the entity. For example, 00000000-0000-0000-0000-000000000000 */\n tenantId?: string;\n /** The friendly name of the management group. */\n displayName?: string;\n /** (Optional) The ID of the parent management group. */\n parent?: EntityParentGroupInfo;\n /** The users specific permissions to this item. */\n permissions?: Permissions;\n /** The users specific permissions to this item. */\n inheritedPermissions?: Permissions;\n /** Number of Descendants */\n numberOfDescendants?: number;\n /** Number of children is the number of Groups and Subscriptions that are exactly one level underneath the current Group. */\n numberOfChildren?: number;\n /** Number of children is the number of Groups that are exactly one level underneath the current Group. */\n numberOfChildGroups?: number;\n /** The parent display name chain from the root group to the immediate parent */\n parentDisplayNameChain?: string[];\n /** The parent name chain from the root group to the immediate parent */\n parentNameChain?: string[];\n}\n\nexport function entityInfoPropertiesDeserializer(item: any): EntityInfoProperties {\n return {\n tenantId: item[\"tenantId\"],\n displayName: item[\"displayName\"],\n parent: !item[\"parent\"] ? item[\"parent\"] : entityParentGroupInfoDeserializer(item[\"parent\"]),\n permissions: item[\"permissions\"],\n inheritedPermissions: item[\"inheritedPermissions\"],\n numberOfDescendants: item[\"numberOfDescendants\"],\n numberOfChildren: item[\"numberOfChildren\"],\n numberOfChildGroups: item[\"numberOfChildGroups\"],\n parentDisplayNameChain: !item[\"parentDisplayNameChain\"]\n ? item[\"parentDisplayNameChain\"]\n : item[\"parentDisplayNameChain\"].map((p1: any) => {\n return p1;\n }),\n parentNameChain: !item[\"parentNameChain\"]\n ? item[\"parentNameChain\"]\n : item[\"parentNameChain\"].map((p1: any) => {\n return p1;\n }),\n };\n}\n\n/** (Optional) The ID of the parent management group. */\nexport interface EntityParentGroupInfo {\n /** The fully qualified ID for the parent management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000 */\n id?: string;\n}\n\nexport function entityParentGroupInfoDeserializer(item: any): EntityParentGroupInfo {\n return {\n id: item[\"id\"],\n };\n}\n\n/** The users specific permissions to this item. */\nexport type Permissions = \"noaccess\" | \"view\" | \"edit\" | \"delete\";\n\n/** Known values of {@link ManagementGroupExpandType} that the service accepts. */\nexport enum KnownManagementGroupExpandType {\n /** children */\n Children = \"children\",\n /** path */\n Path = \"path\",\n /** ancestors */\n Ancestors = \"ancestors\",\n}\n\n/** Type of ManagementGroupExpandType */\nexport type ManagementGroupExpandType = string;\n\n/** Known values of {@link EntitySearchType} that the service accepts. */\nexport enum KnownEntitySearchType {\n /** AllowedParents */\n AllowedParents = \"AllowedParents\",\n /** AllowedChildren */\n AllowedChildren = \"AllowedChildren\",\n /** ParentAndFirstLevelChildren */\n ParentAndFirstLevelChildren = \"ParentAndFirstLevelChildren\",\n /** ParentOnly */\n ParentOnly = \"ParentOnly\",\n /** ChildrenOnly */\n ChildrenOnly = \"ChildrenOnly\",\n}\n\n/** Type of EntitySearchType */\nexport type EntitySearchType = string;\n\n/** Known values of {@link EntityViewParameterType} that the service accepts. */\nexport enum KnownEntityViewParameterType {\n /** FullHierarchy */\n FullHierarchy = \"FullHierarchy\",\n /** GroupsOnly */\n GroupsOnly = \"GroupsOnly\",\n /** SubscriptionsOnly */\n SubscriptionsOnly = \"SubscriptionsOnly\",\n /** Audit */\n Audit = \"Audit\",\n}\n\n/** Type of EntityViewParameterType */\nexport type EntityViewParameterType = string;\n\n/** The available API versions. */\nexport enum KnownVersions {\n /** The 2023-04-01 API version. */\n V20230401 = \"2023-04-01\",\n}\n\nexport function _managementGroupPropertiesDeserializer(item: any) {\n return {\n tenantId: item[\"tenantId\"],\n displayName: item[\"displayName\"],\n details: !item[\"details\"]\n ? item[\"details\"]\n : managementGroupDetailsDeserializer(item[\"details\"]),\n children: !item[\"children\"]\n ? item[\"children\"]\n : managementGroupChildInfoArrayDeserializer(item[\"children\"]),\n };\n}\n\nexport function _createManagementGroupRequestPropertiesSerializer(\n item: CreateManagementGroupRequest,\n): any {\n return {\n displayName: item[\"displayName\"],\n details: !item[\"details\"]\n ? item[\"details\"]\n : createManagementGroupDetailsSerializer(item[\"details\"]),\n };\n}\n\nexport function _azureAsyncOperationResultsPropertiesDeserializer(item: any) {\n return {\n tenantId: item[\"tenantId\"],\n displayName: item[\"displayName\"],\n };\n}\n\nexport function _descendantInfoPropertiesDeserializer(item: any) {\n return {\n displayName: item[\"displayName\"],\n parent: !item[\"parent\"]\n ? item[\"parent\"]\n : descendantParentGroupInfoDeserializer(item[\"parent\"]),\n };\n}\n\nexport function _managementGroupInfoPropertiesDeserializer(item: any) {\n return {\n tenantId: item[\"tenantId\"],\n displayName: item[\"displayName\"],\n };\n}\n\nexport function _hierarchySettingsInfoPropertiesDeserializer(item: any) {\n return {\n tenantId: item[\"tenantId\"],\n requireAuthorizationForGroupCreation: item[\"requireAuthorizationForGroupCreation\"],\n defaultManagementGroup: item[\"defaultManagementGroup\"],\n };\n}\n\nexport function _hierarchySettingsPropertiesDeserializer(item: any) {\n return {\n tenantId: item[\"tenantId\"],\n requireAuthorizationForGroupCreation: item[\"requireAuthorizationForGroupCreation\"],\n defaultManagementGroup: item[\"defaultManagementGroup\"],\n };\n}\n\nexport function _createOrUpdateSettingsRequestPropertiesSerializer(\n item: CreateOrUpdateSettingsRequest,\n): any {\n return {\n requireAuthorizationForGroupCreation: item[\"requireAuthorizationForGroupCreation\"],\n defaultManagementGroup: item[\"defaultManagementGroup\"],\n };\n}\n\nexport function _subscriptionUnderManagementGroupPropertiesDeserializer(item: any) {\n return {\n tenant: item[\"tenant\"],\n displayName: item[\"displayName\"],\n parent: !item[\"parent\"]\n ? item[\"parent\"]\n : descendantParentGroupInfoDeserializer(item[\"parent\"]),\n state: item[\"state\"],\n };\n}\n\nexport function _entityInfoPropertiesDeserializer(item: any) {\n return {\n tenantId: item[\"tenantId\"],\n displayName: item[\"displayName\"],\n parent: !item[\"parent\"] ? item[\"parent\"] : entityParentGroupInfoDeserializer(item[\"parent\"]),\n permissions: item[\"permissions\"],\n inheritedPermissions: item[\"inheritedPermissions\"],\n numberOfDescendants: item[\"numberOfDescendants\"],\n numberOfChildren: item[\"numberOfChildren\"],\n numberOfChildGroups: item[\"numberOfChildGroups\"],\n parentDisplayNameChain: !item[\"parentDisplayNameChain\"]\n ? item[\"parentDisplayNameChain\"]\n : item[\"parentDisplayNameChain\"].map((p1: any) => {\n return p1;\n }),\n parentNameChain: !item[\"parentNameChain\"]\n ? item[\"parentNameChain\"]\n : item[\"parentNameChain\"].map((p1: any) => {\n return p1;\n }),\n };\n}\n"]}
@@ -0,0 +1,21 @@
1
+ import { ManagementGroupsAPI } from "./managementGroupsAPI.js";
2
+ import { OperationOptions, PathUncheckedResponse } from "@azure-rest/core-client";
3
+ import { AbortSignalLike } from "@azure/abort-controller";
4
+ import { PollerLike, OperationState } from "@azure/core-lro";
5
+ export interface RestorePollerOptions<TResult, TResponse extends PathUncheckedResponse = PathUncheckedResponse> extends OperationOptions {
6
+ /** Delay to wait until next poll, in milliseconds. */
7
+ updateIntervalInMs?: number;
8
+ /**
9
+ * The signal which can be used to abort requests.
10
+ */
11
+ abortSignal?: AbortSignalLike;
12
+ /** Deserialization function for raw response body */
13
+ processResponseBody?: (result: TResponse) => Promise<TResult>;
14
+ }
15
+ /**
16
+ * Creates a poller from the serialized state of another poller. This can be
17
+ * useful when you want to create pollers on a different host or a poller
18
+ * needs to be constructed after the original one is not in scope.
19
+ */
20
+ export declare function restorePoller<TResponse extends PathUncheckedResponse, TResult>(client: ManagementGroupsAPI, serializedState: string, sourceOperation: (...args: any[]) => PollerLike<OperationState<TResult>, TResult>, options?: RestorePollerOptions<TResult>): PollerLike<OperationState<TResult>, TResult>;
21
+ //# sourceMappingURL=restorePollerHelpers.d.ts.map
@@ -0,0 +1,101 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ import { _$deleteDeserialize, _createOrUpdateDeserialize, } from "./api/managementGroups/operations.js";
4
+ import { getLongRunningPoller } from "./static-helpers/pollingHelpers.js";
5
+ import { deserializeState, } from "@azure/core-lro";
6
+ /**
7
+ * Creates a poller from the serialized state of another poller. This can be
8
+ * useful when you want to create pollers on a different host or a poller
9
+ * needs to be constructed after the original one is not in scope.
10
+ */
11
+ export function restorePoller(client, serializedState, sourceOperation, options) {
12
+ const pollerConfig = deserializeState(serializedState).config;
13
+ const { initialRequestUrl, requestMethod, metadata } = pollerConfig;
14
+ if (!initialRequestUrl || !requestMethod) {
15
+ throw new Error(`Invalid serialized state: ${serializedState} for sourceOperation ${sourceOperation?.name}`);
16
+ }
17
+ const resourceLocationConfig = metadata?.["resourceLocationConfig"];
18
+ const { deserializer, expectedStatuses = [] } = getDeserializationHelper(initialRequestUrl, requestMethod) ?? {};
19
+ const deserializeHelper = options?.processResponseBody ?? deserializer;
20
+ if (!deserializeHelper) {
21
+ throw new Error(`Please ensure the operation is in this client! We can't find its deserializeHelper for ${sourceOperation?.name}.`);
22
+ }
23
+ const apiVersion = getApiVersionFromUrl(initialRequestUrl);
24
+ return getLongRunningPoller(client["_client"] ?? client, deserializeHelper, expectedStatuses, {
25
+ updateIntervalInMs: options?.updateIntervalInMs,
26
+ abortSignal: options?.abortSignal,
27
+ resourceLocationConfig,
28
+ restoreFrom: serializedState,
29
+ initialRequestUrl,
30
+ apiVersion,
31
+ });
32
+ }
33
+ const deserializeMap = {
34
+ "DELETE /providers/Microsoft.Management/managementGroups/{groupId}": {
35
+ deserializer: _$deleteDeserialize,
36
+ expectedStatuses: ["202", "204", "200"],
37
+ },
38
+ "PUT /providers/Microsoft.Management/managementGroups/{groupId}": {
39
+ deserializer: _createOrUpdateDeserialize,
40
+ expectedStatuses: ["200", "202", "201"],
41
+ },
42
+ };
43
+ function getDeserializationHelper(urlStr, method) {
44
+ const path = new URL(urlStr).pathname;
45
+ const pathParts = path.split("/");
46
+ // Traverse list to match the longest candidate
47
+ // matchedLen: the length of candidate path
48
+ // matchedValue: the matched status code array
49
+ let matchedLen = -1, matchedValue;
50
+ // Iterate the responseMap to find a match
51
+ for (const [key, value] of Object.entries(deserializeMap)) {
52
+ // Extracting the path from the map key which is in format
53
+ // GET /path/foo
54
+ if (!key.startsWith(method)) {
55
+ continue;
56
+ }
57
+ const candidatePath = getPathFromMapKey(key);
58
+ // Get each part of the url path
59
+ const candidateParts = candidatePath.split("/");
60
+ // track if we have found a match to return the values found.
61
+ let found = true;
62
+ for (let i = candidateParts.length - 1, j = pathParts.length - 1; i >= 1 && j >= 1; i--, j--) {
63
+ if (candidateParts[i]?.startsWith("{") && candidateParts[i]?.indexOf("}") !== -1) {
64
+ const start = candidateParts[i].indexOf("}") + 1, end = candidateParts[i]?.length;
65
+ // If the current part of the candidate is a "template" part
66
+ // Try to use the suffix of pattern to match the path
67
+ // {guid} ==> $
68
+ // {guid}:export ==> :export$
69
+ const isMatched = new RegExp(`${candidateParts[i]?.slice(start, end)}`).test(pathParts[j] || "");
70
+ if (!isMatched) {
71
+ found = false;
72
+ break;
73
+ }
74
+ continue;
75
+ }
76
+ // If the candidate part is not a template and
77
+ // the parts don't match mark the candidate as not found
78
+ // to move on with the next candidate path.
79
+ if (candidateParts[i] !== pathParts[j]) {
80
+ found = false;
81
+ break;
82
+ }
83
+ }
84
+ // We finished evaluating the current candidate parts
85
+ // Update the matched value if and only if we found the longer pattern
86
+ if (found && candidatePath.length > matchedLen) {
87
+ matchedLen = candidatePath.length;
88
+ matchedValue = value;
89
+ }
90
+ }
91
+ return matchedValue;
92
+ }
93
+ function getPathFromMapKey(mapKey) {
94
+ const pathStart = mapKey.indexOf("/");
95
+ return mapKey.slice(pathStart);
96
+ }
97
+ function getApiVersionFromUrl(urlStr) {
98
+ const url = new URL(urlStr);
99
+ return url.searchParams.get("api-version") ?? undefined;
100
+ }
101
+ //# sourceMappingURL=restorePollerHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"restorePollerHelpers.js","sourceRoot":"","sources":["../../src/restorePollerHelpers.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { ManagementGroupsAPI } from \"./managementGroupsAPI.js\";\nimport {\n _$deleteDeserialize,\n _createOrUpdateDeserialize,\n} from \"./api/managementGroups/operations.js\";\nimport { getLongRunningPoller } from \"./static-helpers/pollingHelpers.js\";\nimport { OperationOptions, PathUncheckedResponse } from \"@azure-rest/core-client\";\nimport { AbortSignalLike } from \"@azure/abort-controller\";\nimport {\n PollerLike,\n OperationState,\n deserializeState,\n ResourceLocationConfig,\n} from \"@azure/core-lro\";\n\nexport interface RestorePollerOptions<\n TResult,\n TResponse extends PathUncheckedResponse = PathUncheckedResponse,\n> extends OperationOptions {\n /** Delay to wait until next poll, in milliseconds. */\n updateIntervalInMs?: number;\n /**\n * The signal which can be used to abort requests.\n */\n abortSignal?: AbortSignalLike;\n /** Deserialization function for raw response body */\n processResponseBody?: (result: TResponse) => Promise<TResult>;\n}\n\n/**\n * Creates a poller from the serialized state of another poller. This can be\n * useful when you want to create pollers on a different host or a poller\n * needs to be constructed after the original one is not in scope.\n */\nexport function restorePoller<TResponse extends PathUncheckedResponse, TResult>(\n client: ManagementGroupsAPI,\n serializedState: string,\n sourceOperation: (...args: any[]) => PollerLike<OperationState<TResult>, TResult>,\n options?: RestorePollerOptions<TResult>,\n): PollerLike<OperationState<TResult>, TResult> {\n const pollerConfig = deserializeState(serializedState).config;\n const { initialRequestUrl, requestMethod, metadata } = pollerConfig;\n if (!initialRequestUrl || !requestMethod) {\n throw new Error(\n `Invalid serialized state: ${serializedState} for sourceOperation ${sourceOperation?.name}`,\n );\n }\n const resourceLocationConfig = metadata?.[\"resourceLocationConfig\"] as\n | ResourceLocationConfig\n | undefined;\n const { deserializer, expectedStatuses = [] } =\n getDeserializationHelper(initialRequestUrl, requestMethod) ?? {};\n const deserializeHelper = options?.processResponseBody ?? deserializer;\n if (!deserializeHelper) {\n throw new Error(\n `Please ensure the operation is in this client! We can't find its deserializeHelper for ${sourceOperation?.name}.`,\n );\n }\n const apiVersion = getApiVersionFromUrl(initialRequestUrl);\n return getLongRunningPoller(\n (client as any)[\"_client\"] ?? client,\n deserializeHelper as (result: TResponse) => Promise<TResult>,\n expectedStatuses,\n {\n updateIntervalInMs: options?.updateIntervalInMs,\n abortSignal: options?.abortSignal,\n resourceLocationConfig,\n restoreFrom: serializedState,\n initialRequestUrl,\n apiVersion,\n },\n );\n}\n\ninterface DeserializationHelper {\n deserializer: (result: PathUncheckedResponse) => Promise<any>;\n expectedStatuses: string[];\n}\n\nconst deserializeMap: Record<string, DeserializationHelper> = {\n \"DELETE /providers/Microsoft.Management/managementGroups/{groupId}\": {\n deserializer: _$deleteDeserialize,\n expectedStatuses: [\"202\", \"204\", \"200\"],\n },\n \"PUT /providers/Microsoft.Management/managementGroups/{groupId}\": {\n deserializer: _createOrUpdateDeserialize,\n expectedStatuses: [\"200\", \"202\", \"201\"],\n },\n};\n\nfunction getDeserializationHelper(\n urlStr: string,\n method: string,\n): DeserializationHelper | undefined {\n const path = new URL(urlStr).pathname;\n const pathParts = path.split(\"/\");\n\n // Traverse list to match the longest candidate\n // matchedLen: the length of candidate path\n // matchedValue: the matched status code array\n let matchedLen = -1,\n matchedValue: DeserializationHelper | undefined;\n\n // Iterate the responseMap to find a match\n for (const [key, value] of Object.entries(deserializeMap)) {\n // Extracting the path from the map key which is in format\n // GET /path/foo\n if (!key.startsWith(method)) {\n continue;\n }\n const candidatePath = getPathFromMapKey(key);\n // Get each part of the url path\n const candidateParts = candidatePath.split(\"/\");\n\n // track if we have found a match to return the values found.\n let found = true;\n for (let i = candidateParts.length - 1, j = pathParts.length - 1; i >= 1 && j >= 1; i--, j--) {\n if (candidateParts[i]?.startsWith(\"{\") && candidateParts[i]?.indexOf(\"}\") !== -1) {\n const start = candidateParts[i]!.indexOf(\"}\") + 1,\n end = candidateParts[i]?.length;\n // If the current part of the candidate is a \"template\" part\n // Try to use the suffix of pattern to match the path\n // {guid} ==> $\n // {guid}:export ==> :export$\n const isMatched = new RegExp(`${candidateParts[i]?.slice(start, end)}`).test(\n pathParts[j] || \"\",\n );\n\n if (!isMatched) {\n found = false;\n break;\n }\n continue;\n }\n\n // If the candidate part is not a template and\n // the parts don't match mark the candidate as not found\n // to move on with the next candidate path.\n if (candidateParts[i] !== pathParts[j]) {\n found = false;\n break;\n }\n }\n\n // We finished evaluating the current candidate parts\n // Update the matched value if and only if we found the longer pattern\n if (found && candidatePath.length > matchedLen) {\n matchedLen = candidatePath.length;\n matchedValue = value;\n }\n }\n\n return matchedValue;\n}\n\nfunction getPathFromMapKey(mapKey: string): string {\n const pathStart = mapKey.indexOf(\"/\");\n return mapKey.slice(pathStart);\n}\n\nfunction getApiVersionFromUrl(urlStr: string): string | undefined {\n const url = new URL(urlStr);\n return url.searchParams.get(\"api-version\") ?? undefined;\n}\n"]}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * An enum to describe Azure Cloud environments.
3
+ * @enum {string}
4
+ */
5
+ export declare enum AzureClouds {
6
+ /** Azure public cloud, which is the default cloud for Azure SDKs. */
7
+ AZURE_PUBLIC_CLOUD = "AZURE_PUBLIC_CLOUD",
8
+ /** Azure China cloud */
9
+ AZURE_CHINA_CLOUD = "AZURE_CHINA_CLOUD",
10
+ /** Azure US government cloud */
11
+ AZURE_US_GOVERNMENT = "AZURE_US_GOVERNMENT"
12
+ }
13
+ /** The supported values for cloud setting as a string literal type */
14
+ export type AzureSupportedClouds = `${AzureClouds}`;
15
+ /**
16
+ * Gets the Azure Resource Manager endpoint URL for the specified cloud setting.
17
+ * @param cloudSetting - The Azure cloud environment setting. Use one of the AzureClouds enum values.
18
+ * @returns The ARM endpoint URL for the specified cloud, or undefined if cloudSetting is undefined.
19
+ * @throws {Error} Throws an error if an unknown cloud setting is provided.
20
+ */
21
+ export declare function getArmEndpoint(cloudSetting?: AzureSupportedClouds): string | undefined;
22
+ //# sourceMappingURL=cloudSettingHelpers.d.ts.map
@@ -0,0 +1,38 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ /**
4
+ * An enum to describe Azure Cloud environments.
5
+ * @enum {string}
6
+ */
7
+ export var AzureClouds;
8
+ (function (AzureClouds) {
9
+ /** Azure public cloud, which is the default cloud for Azure SDKs. */
10
+ AzureClouds["AZURE_PUBLIC_CLOUD"] = "AZURE_PUBLIC_CLOUD";
11
+ /** Azure China cloud */
12
+ AzureClouds["AZURE_CHINA_CLOUD"] = "AZURE_CHINA_CLOUD";
13
+ /** Azure US government cloud */
14
+ AzureClouds["AZURE_US_GOVERNMENT"] = "AZURE_US_GOVERNMENT";
15
+ })(AzureClouds || (AzureClouds = {}));
16
+ /**
17
+ * Gets the Azure Resource Manager endpoint URL for the specified cloud setting.
18
+ * @param cloudSetting - The Azure cloud environment setting. Use one of the AzureClouds enum values.
19
+ * @returns The ARM endpoint URL for the specified cloud, or undefined if cloudSetting is undefined.
20
+ * @throws {Error} Throws an error if an unknown cloud setting is provided.
21
+ */
22
+ export function getArmEndpoint(cloudSetting) {
23
+ if (cloudSetting === undefined) {
24
+ return undefined;
25
+ }
26
+ const cloudEndpoints = {
27
+ AZURE_CHINA_CLOUD: "https://management.chinacloudapi.cn/",
28
+ AZURE_US_GOVERNMENT: "https://management.usgovcloudapi.net/",
29
+ AZURE_PUBLIC_CLOUD: "https://management.azure.com/",
30
+ };
31
+ if (cloudSetting in cloudEndpoints) {
32
+ return cloudEndpoints[cloudSetting];
33
+ }
34
+ else {
35
+ throw new Error(`Unknown cloud setting: ${cloudSetting}. Please refer to the enum AzureClouds for possible values.`);
36
+ }
37
+ }
38
+ //# sourceMappingURL=cloudSettingHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloudSettingHelpers.js","sourceRoot":"","sources":["../../../src/static-helpers/cloudSettingHelpers.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC;;;GAGG;AACH,MAAM,CAAN,IAAY,WAOX;AAPD,WAAY,WAAW;IACrB,qEAAqE;IACrE,wDAAyC,CAAA;IACzC,wBAAwB;IACxB,sDAAuC,CAAA;IACvC,gCAAgC;IAChC,0DAA2C,CAAA;AAC7C,CAAC,EAPW,WAAW,KAAX,WAAW,QAOtB;AAKD;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,YAAmC;IAChE,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,cAAc,GAA6C;QAC/D,iBAAiB,EAAE,sCAAsC;QACzD,mBAAmB,EAAE,uCAAuC;QAC5D,kBAAkB,EAAE,+BAA+B;KACpD,CAAC;IACF,IAAI,YAAY,IAAI,cAAc,EAAE,CAAC;QACnC,OAAO,cAAc,CAAC,YAAY,CAAC,CAAC;IACtC,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CACb,0BAA0B,YAAY,6DAA6D,CACpG,CAAC;IACJ,CAAC;AACH,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/**\n * An enum to describe Azure Cloud environments.\n * @enum {string}\n */\nexport enum AzureClouds {\n /** Azure public cloud, which is the default cloud for Azure SDKs. */\n AZURE_PUBLIC_CLOUD = \"AZURE_PUBLIC_CLOUD\",\n /** Azure China cloud */\n AZURE_CHINA_CLOUD = \"AZURE_CHINA_CLOUD\",\n /** Azure US government cloud */\n AZURE_US_GOVERNMENT = \"AZURE_US_GOVERNMENT\",\n}\n\n/** The supported values for cloud setting as a string literal type */\nexport type AzureSupportedClouds = `${AzureClouds}`;\n\n/**\n * Gets the Azure Resource Manager endpoint URL for the specified cloud setting.\n * @param cloudSetting - The Azure cloud environment setting. Use one of the AzureClouds enum values.\n * @returns The ARM endpoint URL for the specified cloud, or undefined if cloudSetting is undefined.\n * @throws {Error} Throws an error if an unknown cloud setting is provided.\n */\nexport function getArmEndpoint(cloudSetting?: AzureSupportedClouds): string | undefined {\n if (cloudSetting === undefined) {\n return undefined;\n }\n const cloudEndpoints: Record<keyof typeof AzureClouds, string> = {\n AZURE_CHINA_CLOUD: \"https://management.chinacloudapi.cn/\",\n AZURE_US_GOVERNMENT: \"https://management.usgovcloudapi.net/\",\n AZURE_PUBLIC_CLOUD: \"https://management.azure.com/\",\n };\n if (cloudSetting in cloudEndpoints) {\n return cloudEndpoints[cloudSetting];\n } else {\n throw new Error(\n `Unknown cloud setting: ${cloudSetting}. Please refer to the enum AzureClouds for possible values.`,\n );\n }\n}\n"]}
@@ -0,0 +1,74 @@
1
+ import { Client, PathUncheckedResponse } from "@azure-rest/core-client";
2
+ /**
3
+ * Options for the byPage method
4
+ */
5
+ export interface PageSettings {
6
+ /**
7
+ * A reference to a specific page to start iterating from.
8
+ */
9
+ continuationToken?: string;
10
+ }
11
+ /**
12
+ * An interface that describes a page of results.
13
+ */
14
+ export type ContinuablePage<TElement, TPage = TElement[]> = TPage & {
15
+ /**
16
+ * The token that keeps track of where to continue the iterator
17
+ */
18
+ continuationToken?: string;
19
+ };
20
+ /**
21
+ * An interface that allows async iterable iteration both to completion and by page.
22
+ */
23
+ export interface PagedAsyncIterableIterator<TElement, TPage = TElement[], TPageSettings extends PageSettings = PageSettings> {
24
+ /**
25
+ * The next method, part of the iteration protocol
26
+ */
27
+ next(): Promise<IteratorResult<TElement>>;
28
+ /**
29
+ * The connection to the async iterator, part of the iteration protocol
30
+ */
31
+ [Symbol.asyncIterator](): PagedAsyncIterableIterator<TElement, TPage, TPageSettings>;
32
+ /**
33
+ * Return an AsyncIterableIterator that works a page at a time
34
+ */
35
+ byPage: (settings?: TPageSettings) => AsyncIterableIterator<ContinuablePage<TElement, TPage>>;
36
+ }
37
+ /**
38
+ * An interface that describes how to communicate with the service.
39
+ */
40
+ export interface PagedResult<TElement, TPage = TElement[], TPageSettings extends PageSettings = PageSettings> {
41
+ /**
42
+ * Link to the first page of results.
43
+ */
44
+ firstPageLink?: string;
45
+ /**
46
+ * A method that returns a page of results.
47
+ */
48
+ getPage: (pageLink?: string) => Promise<{
49
+ page: TPage;
50
+ nextPageLink?: string;
51
+ } | undefined>;
52
+ /**
53
+ * a function to implement the `byPage` method on the paged async iterator.
54
+ */
55
+ byPage?: (settings?: TPageSettings) => AsyncIterableIterator<ContinuablePage<TElement, TPage>>;
56
+ /**
57
+ * A function to extract elements from a page.
58
+ */
59
+ toElements?: (page: TPage) => TElement[];
60
+ }
61
+ /**
62
+ * Options for the paging helper
63
+ */
64
+ export interface BuildPagedAsyncIteratorOptions {
65
+ itemName?: string;
66
+ nextLinkName?: string;
67
+ nextLinkMethod?: "GET" | "POST";
68
+ apiVersion?: string;
69
+ }
70
+ /**
71
+ * Helper to paginate results in a generic way and return a PagedAsyncIterableIterator
72
+ */
73
+ export declare function buildPagedAsyncIterator<TElement, TPage = TElement[], TPageSettings extends PageSettings = PageSettings, TResponse extends PathUncheckedResponse = PathUncheckedResponse>(client: Client, getInitialResponse: () => PromiseLike<TResponse>, processResponseBody: (result: TResponse) => PromiseLike<unknown>, expectedStatuses: string[], options?: BuildPagedAsyncIteratorOptions): PagedAsyncIterableIterator<TElement, TPage, TPageSettings>;
74
+ //# sourceMappingURL=pagingHelpers.d.ts.map
@@ -0,0 +1,143 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ import { createRestError } from "@azure-rest/core-client";
4
+ import { RestError } from "@azure/core-rest-pipeline";
5
+ /**
6
+ * Helper to paginate results in a generic way and return a PagedAsyncIterableIterator
7
+ */
8
+ export function buildPagedAsyncIterator(client, getInitialResponse, processResponseBody, expectedStatuses, options = {}) {
9
+ const itemName = options.itemName ?? "value";
10
+ const nextLinkName = options.nextLinkName ?? "nextLink";
11
+ const nextLinkMethod = options.nextLinkMethod ?? "GET";
12
+ const apiVersion = options.apiVersion;
13
+ const pagedResult = {
14
+ getPage: async (pageLink) => {
15
+ let result;
16
+ if (pageLink === undefined) {
17
+ result = await getInitialResponse();
18
+ }
19
+ else {
20
+ const resolvedPageLink = apiVersion ? addApiVersionToUrl(pageLink, apiVersion) : pageLink;
21
+ result =
22
+ nextLinkMethod === "POST"
23
+ ? await client.pathUnchecked(resolvedPageLink).post()
24
+ : await client.pathUnchecked(resolvedPageLink).get();
25
+ }
26
+ checkPagingRequest(result, expectedStatuses);
27
+ const results = await processResponseBody(result);
28
+ const nextLink = getNextLink(results, nextLinkName);
29
+ const values = getElements(results, itemName);
30
+ return {
31
+ page: values,
32
+ nextPageLink: nextLink,
33
+ };
34
+ },
35
+ byPage: (settings) => {
36
+ const { continuationToken } = settings ?? {};
37
+ return getPageAsyncIterator(pagedResult, {
38
+ pageLink: continuationToken,
39
+ });
40
+ },
41
+ };
42
+ return getPagedAsyncIterator(pagedResult);
43
+ }
44
+ /**
45
+ * returns an async iterator that iterates over results. It also has a `byPage`
46
+ * method that returns pages of items at once.
47
+ *
48
+ * @param pagedResult - an object that specifies how to get pages.
49
+ * @returns a paged async iterator that iterates over results.
50
+ */
51
+ function getPagedAsyncIterator(pagedResult) {
52
+ const iter = getItemAsyncIterator(pagedResult);
53
+ return {
54
+ next() {
55
+ return iter.next();
56
+ },
57
+ [Symbol.asyncIterator]() {
58
+ return this;
59
+ },
60
+ byPage: pagedResult?.byPage ??
61
+ ((settings) => {
62
+ const { continuationToken } = settings ?? {};
63
+ return getPageAsyncIterator(pagedResult, {
64
+ pageLink: continuationToken,
65
+ });
66
+ }),
67
+ };
68
+ }
69
+ async function* getItemAsyncIterator(pagedResult) {
70
+ const pages = getPageAsyncIterator(pagedResult);
71
+ for await (const page of pages) {
72
+ yield* page;
73
+ }
74
+ }
75
+ async function* getPageAsyncIterator(pagedResult, options = {}) {
76
+ const { pageLink } = options;
77
+ let response = await pagedResult.getPage(pageLink ?? pagedResult.firstPageLink);
78
+ if (!response) {
79
+ return;
80
+ }
81
+ let result = response.page;
82
+ result.continuationToken = response.nextPageLink;
83
+ yield result;
84
+ while (response.nextPageLink) {
85
+ response = await pagedResult.getPage(response.nextPageLink);
86
+ if (!response) {
87
+ return;
88
+ }
89
+ result = response.page;
90
+ result.continuationToken = response.nextPageLink;
91
+ yield result;
92
+ }
93
+ }
94
+ /**
95
+ * Gets for the value of nextLink in the body
96
+ */
97
+ function getNextLink(body, nextLinkName) {
98
+ if (!nextLinkName) {
99
+ return undefined;
100
+ }
101
+ const nextLink = body[nextLinkName];
102
+ if (typeof nextLink !== "string" && typeof nextLink !== "undefined" && nextLink !== null) {
103
+ throw new RestError(`Body Property ${nextLinkName} should be a string or undefined or null but got ${typeof nextLink}`);
104
+ }
105
+ if (nextLink === null) {
106
+ return undefined;
107
+ }
108
+ return nextLink;
109
+ }
110
+ /**
111
+ * Gets the elements of the current request in the body.
112
+ */
113
+ function getElements(body, itemName) {
114
+ const value = body[itemName];
115
+ if (!Array.isArray(value)) {
116
+ throw new RestError(`Couldn't paginate response\n Body doesn't contain an array property with name: ${itemName}`);
117
+ }
118
+ return value ?? [];
119
+ }
120
+ /**
121
+ * Checks if a request failed
122
+ */
123
+ function checkPagingRequest(response, expectedStatuses) {
124
+ if (!expectedStatuses.includes(response.status)) {
125
+ throw createRestError(`Pagination failed with unexpected statusCode ${response.status}`, response);
126
+ }
127
+ }
128
+ /**
129
+ * Adds the api-version query parameter on a URL if it's not present.
130
+ * @param url - the URL to modify
131
+ * @param apiVersion - the API version to set
132
+ * @returns - the URL with the api-version query parameter set
133
+ */
134
+ function addApiVersionToUrl(url, apiVersion) {
135
+ // The base URL is only used for parsing and won't appear in the returned URL
136
+ const urlObj = new URL(url, "https://microsoft.com");
137
+ if (!urlObj.searchParams.get("api-version")) {
138
+ // Append one if there is no apiVersion
139
+ return `${url}${urlObj.search ? "&" : "?"}api-version=${apiVersion}`;
140
+ }
141
+ return url;
142
+ }
143
+ //# sourceMappingURL=pagingHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pagingHelpers.js","sourceRoot":"","sources":["../../../src/static-helpers/pagingHelpers.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { Client, createRestError, PathUncheckedResponse } from \"@azure-rest/core-client\";\nimport { RestError } from \"@azure/core-rest-pipeline\";\n\n/**\n * Options for the byPage method\n */\nexport interface PageSettings {\n /**\n * A reference to a specific page to start iterating from.\n */\n continuationToken?: string;\n}\n\n/**\n * An interface that describes a page of results.\n */\nexport type ContinuablePage<TElement, TPage = TElement[]> = TPage & {\n /**\n * The token that keeps track of where to continue the iterator\n */\n continuationToken?: string;\n};\n\n/**\n * An interface that allows async iterable iteration both to completion and by page.\n */\nexport interface PagedAsyncIterableIterator<\n TElement,\n TPage = TElement[],\n TPageSettings extends PageSettings = PageSettings,\n> {\n /**\n * The next method, part of the iteration protocol\n */\n next(): Promise<IteratorResult<TElement>>;\n /**\n * The connection to the async iterator, part of the iteration protocol\n */\n [Symbol.asyncIterator](): PagedAsyncIterableIterator<TElement, TPage, TPageSettings>;\n /**\n * Return an AsyncIterableIterator that works a page at a time\n */\n byPage: (settings?: TPageSettings) => AsyncIterableIterator<ContinuablePage<TElement, TPage>>;\n}\n\n/**\n * An interface that describes how to communicate with the service.\n */\nexport interface PagedResult<\n TElement,\n TPage = TElement[],\n TPageSettings extends PageSettings = PageSettings,\n> {\n /**\n * Link to the first page of results.\n */\n firstPageLink?: string;\n /**\n * A method that returns a page of results.\n */\n getPage: (pageLink?: string) => Promise<{ page: TPage; nextPageLink?: string } | undefined>;\n /**\n * a function to implement the `byPage` method on the paged async iterator.\n */\n byPage?: (settings?: TPageSettings) => AsyncIterableIterator<ContinuablePage<TElement, TPage>>;\n\n /**\n * A function to extract elements from a page.\n */\n toElements?: (page: TPage) => TElement[];\n}\n\n/**\n * Options for the paging helper\n */\nexport interface BuildPagedAsyncIteratorOptions {\n itemName?: string;\n nextLinkName?: string;\n nextLinkMethod?: \"GET\" | \"POST\";\n apiVersion?: string;\n}\n\n/**\n * Helper to paginate results in a generic way and return a PagedAsyncIterableIterator\n */\nexport function buildPagedAsyncIterator<\n TElement,\n TPage = TElement[],\n TPageSettings extends PageSettings = PageSettings,\n TResponse extends PathUncheckedResponse = PathUncheckedResponse,\n>(\n client: Client,\n getInitialResponse: () => PromiseLike<TResponse>,\n processResponseBody: (result: TResponse) => PromiseLike<unknown>,\n expectedStatuses: string[],\n options: BuildPagedAsyncIteratorOptions = {},\n): PagedAsyncIterableIterator<TElement, TPage, TPageSettings> {\n const itemName = options.itemName ?? \"value\";\n const nextLinkName = options.nextLinkName ?? \"nextLink\";\n const nextLinkMethod = options.nextLinkMethod ?? \"GET\";\n const apiVersion = options.apiVersion;\n const pagedResult: PagedResult<TElement, TPage, TPageSettings> = {\n getPage: async (pageLink?: string) => {\n let result;\n if (pageLink === undefined) {\n result = await getInitialResponse();\n } else {\n const resolvedPageLink = apiVersion ? addApiVersionToUrl(pageLink, apiVersion) : pageLink;\n result =\n nextLinkMethod === \"POST\"\n ? await client.pathUnchecked(resolvedPageLink).post()\n : await client.pathUnchecked(resolvedPageLink).get();\n }\n checkPagingRequest(result, expectedStatuses);\n const results = await processResponseBody(result as TResponse);\n const nextLink = getNextLink(results, nextLinkName);\n const values = getElements<TElement>(results, itemName) as TPage;\n return {\n page: values,\n nextPageLink: nextLink,\n };\n },\n byPage: (settings?: TPageSettings) => {\n const { continuationToken } = settings ?? {};\n return getPageAsyncIterator(pagedResult, {\n pageLink: continuationToken,\n });\n },\n };\n return getPagedAsyncIterator(pagedResult);\n}\n\n/**\n * returns an async iterator that iterates over results. It also has a `byPage`\n * method that returns pages of items at once.\n *\n * @param pagedResult - an object that specifies how to get pages.\n * @returns a paged async iterator that iterates over results.\n */\n\nfunction getPagedAsyncIterator<\n TElement,\n TPage = TElement[],\n TPageSettings extends PageSettings = PageSettings,\n>(\n pagedResult: PagedResult<TElement, TPage, TPageSettings>,\n): PagedAsyncIterableIterator<TElement, TPage, TPageSettings> {\n const iter = getItemAsyncIterator<TElement, TPage, TPageSettings>(pagedResult);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage:\n pagedResult?.byPage ??\n ((settings?: TPageSettings) => {\n const { continuationToken } = settings ?? {};\n return getPageAsyncIterator(pagedResult, {\n pageLink: continuationToken,\n });\n }),\n };\n}\n\nasync function* getItemAsyncIterator<TElement, TPage, TPageSettings extends PageSettings>(\n pagedResult: PagedResult<TElement, TPage, TPageSettings>,\n): AsyncIterableIterator<TElement> {\n const pages = getPageAsyncIterator(pagedResult);\n for await (const page of pages) {\n yield* page as unknown as TElement[];\n }\n}\n\nasync function* getPageAsyncIterator<TElement, TPage, TPageSettings extends PageSettings>(\n pagedResult: PagedResult<TElement, TPage, TPageSettings>,\n options: {\n pageLink?: string;\n } = {},\n): AsyncIterableIterator<ContinuablePage<TElement, TPage>> {\n const { pageLink } = options;\n let response = await pagedResult.getPage(pageLink ?? pagedResult.firstPageLink);\n if (!response) {\n return;\n }\n let result = response.page as ContinuablePage<TElement, TPage>;\n result.continuationToken = response.nextPageLink;\n yield result;\n while (response.nextPageLink) {\n response = await pagedResult.getPage(response.nextPageLink);\n if (!response) {\n return;\n }\n result = response.page as ContinuablePage<TElement, TPage>;\n result.continuationToken = response.nextPageLink;\n yield result;\n }\n}\n\n/**\n * Gets for the value of nextLink in the body\n */\nfunction getNextLink(body: unknown, nextLinkName?: string): string | undefined {\n if (!nextLinkName) {\n return undefined;\n }\n\n const nextLink = (body as Record<string, unknown>)[nextLinkName];\n\n if (typeof nextLink !== \"string\" && typeof nextLink !== \"undefined\" && nextLink !== null) {\n throw new RestError(\n `Body Property ${nextLinkName} should be a string or undefined or null but got ${typeof nextLink}`,\n );\n }\n\n if (nextLink === null) {\n return undefined;\n }\n\n return nextLink;\n}\n\n/**\n * Gets the elements of the current request in the body.\n */\nfunction getElements<T = unknown>(body: unknown, itemName: string): T[] {\n const value = (body as Record<string, unknown>)[itemName] as T[];\n if (!Array.isArray(value)) {\n throw new RestError(\n `Couldn't paginate response\\n Body doesn't contain an array property with name: ${itemName}`,\n );\n }\n\n return value ?? [];\n}\n\n/**\n * Checks if a request failed\n */\nfunction checkPagingRequest(response: PathUncheckedResponse, expectedStatuses: string[]): void {\n if (!expectedStatuses.includes(response.status)) {\n throw createRestError(\n `Pagination failed with unexpected statusCode ${response.status}`,\n response,\n );\n }\n}\n\n/**\n * Adds the api-version query parameter on a URL if it's not present.\n * @param url - the URL to modify\n * @param apiVersion - the API version to set\n * @returns - the URL with the api-version query parameter set\n */\nfunction addApiVersionToUrl(url: string, apiVersion: string): string {\n // The base URL is only used for parsing and won't appear in the returned URL\n const urlObj = new URL(url, \"https://microsoft.com\");\n if (!urlObj.searchParams.get(\"api-version\")) {\n // Append one if there is no apiVersion\n return `${url}${urlObj.search ? \"&\" : \"?\"}api-version=${apiVersion}`;\n }\n return url;\n}\n"]}