@azure/arm-recoveryservices-siterecovery 0.1.0 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (579) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/LICENSE +21 -0
  3. package/LICENSE.txt +21 -21
  4. package/README.md +98 -96
  5. package/dist/index.js +32127 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/index.min.js +1 -0
  8. package/dist/index.min.js.map +1 -0
  9. package/dist-esm/src/index.d.ts +5 -0
  10. package/dist-esm/src/index.d.ts.map +1 -0
  11. package/dist-esm/src/index.js +12 -0
  12. package/dist-esm/src/index.js.map +1 -0
  13. package/dist-esm/src/lroImpl.d.ts +16 -0
  14. package/dist-esm/src/lroImpl.d.ts.map +1 -0
  15. package/dist-esm/src/lroImpl.js +29 -0
  16. package/dist-esm/src/lroImpl.js.map +1 -0
  17. package/dist-esm/src/models/index.d.ts +9867 -0
  18. package/dist-esm/src/models/index.d.ts.map +1 -0
  19. package/dist-esm/src/models/index.js +382 -0
  20. package/dist-esm/src/models/index.js.map +1 -0
  21. package/dist-esm/src/models/mappers.d.ts +722 -0
  22. package/dist-esm/src/models/mappers.d.ts.map +1 -0
  23. package/dist-esm/src/models/mappers.js +19684 -0
  24. package/dist-esm/src/models/mappers.js.map +1 -0
  25. package/dist-esm/src/models/parameters.d.ts +90 -0
  26. package/dist-esm/src/models/parameters.d.ts.map +1 -0
  27. package/dist-esm/src/models/parameters.js +593 -0
  28. package/dist-esm/src/models/parameters.js.map +1 -0
  29. package/{esm → dist-esm/src}/operations/index.d.ts +7 -0
  30. package/dist-esm/src/operations/index.d.ts.map +1 -0
  31. package/dist-esm/src/operations/index.js +36 -0
  32. package/dist-esm/src/operations/index.js.map +1 -0
  33. package/dist-esm/src/operations/migrationRecoveryPoints.d.ts +51 -0
  34. package/dist-esm/src/operations/migrationRecoveryPoints.d.ts.map +1 -0
  35. package/dist-esm/src/operations/migrationRecoveryPoints.js +186 -0
  36. package/dist-esm/src/operations/migrationRecoveryPoints.js.map +1 -0
  37. package/dist-esm/src/operations/operations.d.ts +32 -0
  38. package/dist-esm/src/operations/operations.d.ts.map +1 -0
  39. package/dist-esm/src/operations/operations.js +123 -0
  40. package/dist-esm/src/operations/operations.js.map +1 -0
  41. package/dist-esm/src/operations/recoveryPoints.d.ts +51 -0
  42. package/dist-esm/src/operations/recoveryPoints.d.ts.map +1 -0
  43. package/dist-esm/src/operations/recoveryPoints.js +191 -0
  44. package/dist-esm/src/operations/recoveryPoints.js.map +1 -0
  45. package/dist-esm/src/operations/replicationAlertSettings.d.ts +45 -0
  46. package/dist-esm/src/operations/replicationAlertSettings.d.ts.map +1 -0
  47. package/dist-esm/src/operations/replicationAlertSettings.js +182 -0
  48. package/dist-esm/src/operations/replicationAlertSettings.js.map +1 -0
  49. package/dist-esm/src/operations/replicationAppliances.d.ts +32 -0
  50. package/dist-esm/src/operations/replicationAppliances.d.ts.map +1 -0
  51. package/dist-esm/src/operations/replicationAppliances.js +125 -0
  52. package/dist-esm/src/operations/replicationAppliances.js.map +1 -0
  53. package/dist-esm/src/operations/replicationEligibilityResultsOperations.d.ts +25 -0
  54. package/dist-esm/src/operations/replicationEligibilityResultsOperations.d.ts.map +1 -0
  55. package/dist-esm/src/operations/replicationEligibilityResultsOperations.js +75 -0
  56. package/dist-esm/src/operations/replicationEligibilityResultsOperations.js.map +1 -0
  57. package/dist-esm/src/operations/replicationEvents.d.ts +38 -0
  58. package/dist-esm/src/operations/replicationEvents.d.ts.map +1 -0
  59. package/dist-esm/src/operations/replicationEvents.js +152 -0
  60. package/dist-esm/src/operations/replicationEvents.js.map +1 -0
  61. package/dist-esm/src/operations/replicationFabrics.d.ts +129 -0
  62. package/dist-esm/src/operations/replicationFabrics.d.ts.map +1 -0
  63. package/dist-esm/src/operations/replicationFabrics.js +649 -0
  64. package/dist-esm/src/operations/replicationFabrics.js.map +1 -0
  65. package/dist-esm/src/operations/replicationJobs.d.ts +89 -0
  66. package/dist-esm/src/operations/replicationJobs.d.ts.map +1 -0
  67. package/dist-esm/src/operations/replicationJobs.js +459 -0
  68. package/dist-esm/src/operations/replicationJobs.js.map +1 -0
  69. package/dist-esm/src/operations/replicationLogicalNetworks.d.ts +43 -0
  70. package/dist-esm/src/operations/replicationLogicalNetworks.d.ts.map +1 -0
  71. package/dist-esm/src/operations/replicationLogicalNetworks.js +160 -0
  72. package/dist-esm/src/operations/replicationLogicalNetworks.js.map +1 -0
  73. package/dist-esm/src/operations/replicationMigrationItems.d.ts +190 -0
  74. package/dist-esm/src/operations/replicationMigrationItems.d.ts.map +1 -0
  75. package/dist-esm/src/operations/replicationMigrationItems.js +902 -0
  76. package/dist-esm/src/operations/replicationMigrationItems.js.map +1 -0
  77. package/dist-esm/src/operations/replicationNetworkMappings.d.ts +118 -0
  78. package/dist-esm/src/operations/replicationNetworkMappings.d.ts.map +1 -0
  79. package/dist-esm/src/operations/replicationNetworkMappings.js +506 -0
  80. package/dist-esm/src/operations/replicationNetworkMappings.js.map +1 -0
  81. package/dist-esm/src/operations/replicationNetworks.d.ts +61 -0
  82. package/dist-esm/src/operations/replicationNetworks.d.ts.map +1 -0
  83. package/dist-esm/src/operations/replicationNetworks.js +260 -0
  84. package/dist-esm/src/operations/replicationNetworks.js.map +1 -0
  85. package/dist-esm/src/operations/replicationPolicies.d.ts +79 -0
  86. package/dist-esm/src/operations/replicationPolicies.d.ts.map +1 -0
  87. package/dist-esm/src/operations/replicationPolicies.js +373 -0
  88. package/dist-esm/src/operations/replicationPolicies.js.map +1 -0
  89. package/dist-esm/src/operations/replicationProtectableItems.d.ts +47 -0
  90. package/dist-esm/src/operations/replicationProtectableItems.d.ts.map +1 -0
  91. package/dist-esm/src/operations/replicationProtectableItems.js +177 -0
  92. package/dist-esm/src/operations/replicationProtectableItems.js.map +1 -0
  93. package/dist-esm/src/operations/replicationProtectedItems.d.ts +412 -0
  94. package/dist-esm/src/operations/replicationProtectedItems.d.ts.map +1 -0
  95. package/dist-esm/src/operations/replicationProtectedItems.js +1977 -0
  96. package/dist-esm/src/operations/replicationProtectedItems.js.map +1 -0
  97. package/dist-esm/src/operations/replicationProtectionContainerMappings.d.ts +136 -0
  98. package/dist-esm/src/operations/replicationProtectionContainerMappings.d.ts.map +1 -0
  99. package/dist-esm/src/operations/replicationProtectionContainerMappings.js +596 -0
  100. package/dist-esm/src/operations/replicationProtectionContainerMappings.js.map +1 -0
  101. package/dist-esm/src/operations/replicationProtectionContainers.d.ts +124 -0
  102. package/dist-esm/src/operations/replicationProtectionContainers.d.ts.map +1 -0
  103. package/dist-esm/src/operations/replicationProtectionContainers.js +577 -0
  104. package/dist-esm/src/operations/replicationProtectionContainers.js.map +1 -0
  105. package/dist-esm/src/operations/replicationProtectionIntents.d.ts +45 -0
  106. package/dist-esm/src/operations/replicationProtectionIntents.d.ts.map +1 -0
  107. package/dist-esm/src/operations/replicationProtectionIntents.js +190 -0
  108. package/dist-esm/src/operations/replicationProtectionIntents.js.map +1 -0
  109. package/dist-esm/src/operations/replicationRecoveryPlans.d.ts +171 -0
  110. package/dist-esm/src/operations/replicationRecoveryPlans.d.ts.map +1 -0
  111. package/dist-esm/src/operations/replicationRecoveryPlans.js +914 -0
  112. package/dist-esm/src/operations/replicationRecoveryPlans.js.map +1 -0
  113. package/dist-esm/src/operations/replicationRecoveryServicesProviders.d.ts +120 -0
  114. package/dist-esm/src/operations/replicationRecoveryServicesProviders.d.ts.map +1 -0
  115. package/dist-esm/src/operations/replicationRecoveryServicesProviders.js +550 -0
  116. package/dist-esm/src/operations/replicationRecoveryServicesProviders.js.map +1 -0
  117. package/dist-esm/src/operations/replicationStorageClassificationMappings.d.ts +100 -0
  118. package/dist-esm/src/operations/replicationStorageClassificationMappings.d.ts.map +1 -0
  119. package/dist-esm/src/operations/replicationStorageClassificationMappings.js +437 -0
  120. package/dist-esm/src/operations/replicationStorageClassificationMappings.js.map +1 -0
  121. package/dist-esm/src/operations/replicationStorageClassifications.d.ts +61 -0
  122. package/dist-esm/src/operations/replicationStorageClassifications.d.ts.map +1 -0
  123. package/dist-esm/src/operations/replicationStorageClassifications.js +260 -0
  124. package/dist-esm/src/operations/replicationStorageClassifications.js.map +1 -0
  125. package/dist-esm/src/operations/replicationVaultHealth.d.ts +29 -0
  126. package/dist-esm/src/operations/replicationVaultHealth.d.ts.map +1 -0
  127. package/dist-esm/src/operations/replicationVaultHealth.js +123 -0
  128. package/dist-esm/src/operations/replicationVaultHealth.js.map +1 -0
  129. package/dist-esm/src/operations/replicationVaultSetting.d.ts +53 -0
  130. package/dist-esm/src/operations/replicationVaultSetting.d.ts.map +1 -0
  131. package/dist-esm/src/operations/replicationVaultSetting.js +233 -0
  132. package/dist-esm/src/operations/replicationVaultSetting.js.map +1 -0
  133. package/dist-esm/src/operations/replicationvCenters.d.ts +108 -0
  134. package/dist-esm/src/operations/replicationvCenters.d.ts.map +1 -0
  135. package/dist-esm/src/operations/replicationvCenters.js +490 -0
  136. package/dist-esm/src/operations/replicationvCenters.js.map +1 -0
  137. package/dist-esm/src/operations/supportedOperatingSystemsOperations.d.ts +18 -0
  138. package/dist-esm/src/operations/supportedOperatingSystemsOperations.d.ts.map +1 -0
  139. package/dist-esm/src/operations/supportedOperatingSystemsOperations.js +48 -0
  140. package/dist-esm/src/operations/supportedOperatingSystemsOperations.js.map +1 -0
  141. package/dist-esm/src/operations/targetComputeSizes.d.ts +42 -0
  142. package/dist-esm/src/operations/targetComputeSizes.d.ts.map +1 -0
  143. package/dist-esm/src/operations/targetComputeSizes.js +152 -0
  144. package/dist-esm/src/operations/targetComputeSizes.js.map +1 -0
  145. package/{esm/operations/index.js → dist-esm/src/operationsInterfaces/index.d.ts} +8 -10
  146. package/dist-esm/src/operationsInterfaces/index.d.ts.map +1 -0
  147. package/dist-esm/src/operationsInterfaces/index.js +36 -0
  148. package/dist-esm/src/operationsInterfaces/index.js.map +1 -0
  149. package/dist-esm/src/operationsInterfaces/migrationRecoveryPoints.d.ts +23 -0
  150. package/dist-esm/src/operationsInterfaces/migrationRecoveryPoints.d.ts.map +1 -0
  151. package/dist-esm/src/operationsInterfaces/migrationRecoveryPoints.js +9 -0
  152. package/dist-esm/src/operationsInterfaces/migrationRecoveryPoints.js.map +1 -0
  153. package/dist-esm/src/operationsInterfaces/operations.d.ts +11 -0
  154. package/dist-esm/src/operationsInterfaces/operations.d.ts.map +1 -0
  155. package/dist-esm/src/operationsInterfaces/operations.js +9 -0
  156. package/dist-esm/src/operationsInterfaces/operations.js.map +1 -0
  157. package/dist-esm/src/operationsInterfaces/recoveryPoints.d.ts +23 -0
  158. package/dist-esm/src/operationsInterfaces/recoveryPoints.d.ts.map +1 -0
  159. package/dist-esm/src/operationsInterfaces/recoveryPoints.js +9 -0
  160. package/dist-esm/src/operationsInterfaces/recoveryPoints.js.map +1 -0
  161. package/dist-esm/src/operationsInterfaces/replicationAlertSettings.d.ts +24 -0
  162. package/dist-esm/src/operationsInterfaces/replicationAlertSettings.d.ts.map +1 -0
  163. package/dist-esm/src/operationsInterfaces/replicationAlertSettings.js +9 -0
  164. package/dist-esm/src/operationsInterfaces/replicationAlertSettings.js.map +1 -0
  165. package/dist-esm/src/operationsInterfaces/replicationAppliances.d.ts +11 -0
  166. package/dist-esm/src/operationsInterfaces/replicationAppliances.d.ts.map +1 -0
  167. package/dist-esm/src/operationsInterfaces/replicationAppliances.js +9 -0
  168. package/dist-esm/src/operationsInterfaces/replicationAppliances.js.map +1 -0
  169. package/dist-esm/src/operationsInterfaces/replicationEligibilityResultsOperations.d.ts +17 -0
  170. package/dist-esm/src/operationsInterfaces/replicationEligibilityResultsOperations.d.ts.map +1 -0
  171. package/dist-esm/src/operationsInterfaces/replicationEligibilityResultsOperations.js +9 -0
  172. package/dist-esm/src/operationsInterfaces/replicationEligibilityResultsOperations.js.map +1 -0
  173. package/dist-esm/src/operationsInterfaces/replicationEvents.d.ts +17 -0
  174. package/dist-esm/src/operationsInterfaces/replicationEvents.d.ts.map +1 -0
  175. package/dist-esm/src/operationsInterfaces/replicationEvents.js +9 -0
  176. package/dist-esm/src/operationsInterfaces/replicationEvents.js.map +1 -0
  177. package/dist-esm/src/operationsInterfaces/replicationFabrics.d.ts +108 -0
  178. package/dist-esm/src/operationsInterfaces/replicationFabrics.d.ts.map +1 -0
  179. package/dist-esm/src/operationsInterfaces/replicationFabrics.js +9 -0
  180. package/dist-esm/src/operationsInterfaces/replicationFabrics.js.map +1 -0
  181. package/dist-esm/src/operationsInterfaces/replicationJobs.d.ts +68 -0
  182. package/dist-esm/src/operationsInterfaces/replicationJobs.d.ts.map +1 -0
  183. package/dist-esm/src/operationsInterfaces/replicationJobs.js +9 -0
  184. package/dist-esm/src/operationsInterfaces/replicationJobs.js.map +1 -0
  185. package/dist-esm/src/operationsInterfaces/replicationLogicalNetworks.d.ts +19 -0
  186. package/dist-esm/src/operationsInterfaces/replicationLogicalNetworks.d.ts.map +1 -0
  187. package/dist-esm/src/operationsInterfaces/replicationLogicalNetworks.js +9 -0
  188. package/dist-esm/src/operationsInterfaces/replicationLogicalNetworks.js.map +1 -0
  189. package/dist-esm/src/operationsInterfaces/replicationMigrationItems.d.ts +151 -0
  190. package/dist-esm/src/operationsInterfaces/replicationMigrationItems.d.ts.map +1 -0
  191. package/dist-esm/src/operationsInterfaces/replicationMigrationItems.js +9 -0
  192. package/dist-esm/src/operationsInterfaces/replicationMigrationItems.js.map +1 -0
  193. package/dist-esm/src/operationsInterfaces/replicationNetworkMappings.d.ts +79 -0
  194. package/dist-esm/src/operationsInterfaces/replicationNetworkMappings.d.ts.map +1 -0
  195. package/dist-esm/src/operationsInterfaces/replicationNetworkMappings.js +9 -0
  196. package/dist-esm/src/operationsInterfaces/replicationNetworkMappings.js.map +1 -0
  197. package/dist-esm/src/operationsInterfaces/replicationNetworks.d.ts +24 -0
  198. package/dist-esm/src/operationsInterfaces/replicationNetworks.d.ts.map +1 -0
  199. package/dist-esm/src/operationsInterfaces/replicationNetworks.js +9 -0
  200. package/dist-esm/src/operationsInterfaces/replicationNetworks.js.map +1 -0
  201. package/dist-esm/src/operationsInterfaces/replicationPolicies.d.ts +58 -0
  202. package/dist-esm/src/operationsInterfaces/replicationPolicies.d.ts.map +1 -0
  203. package/dist-esm/src/operationsInterfaces/replicationPolicies.js +9 -0
  204. package/dist-esm/src/operationsInterfaces/replicationPolicies.js.map +1 -0
  205. package/dist-esm/src/operationsInterfaces/replicationProtectableItems.d.ts +21 -0
  206. package/dist-esm/src/operationsInterfaces/replicationProtectableItems.d.ts.map +1 -0
  207. package/dist-esm/src/operationsInterfaces/replicationProtectableItems.js +9 -0
  208. package/dist-esm/src/operationsInterfaces/replicationProtectableItems.js.map +1 -0
  209. package/dist-esm/src/operationsInterfaces/replicationProtectedItems.d.ts +373 -0
  210. package/dist-esm/src/operationsInterfaces/replicationProtectedItems.d.ts.map +1 -0
  211. package/dist-esm/src/operationsInterfaces/replicationProtectedItems.js +9 -0
  212. package/dist-esm/src/operationsInterfaces/replicationProtectedItems.js.map +1 -0
  213. package/dist-esm/src/operationsInterfaces/replicationProtectionContainerMappings.d.ts +97 -0
  214. package/dist-esm/src/operationsInterfaces/replicationProtectionContainerMappings.d.ts.map +1 -0
  215. package/dist-esm/src/operationsInterfaces/replicationProtectionContainerMappings.js +9 -0
  216. package/dist-esm/src/operationsInterfaces/replicationProtectionContainerMappings.js.map +1 -0
  217. package/dist-esm/src/operationsInterfaces/replicationProtectionContainers.d.ts +87 -0
  218. package/dist-esm/src/operationsInterfaces/replicationProtectionContainers.d.ts.map +1 -0
  219. package/dist-esm/src/operationsInterfaces/replicationProtectionContainers.js +9 -0
  220. package/dist-esm/src/operationsInterfaces/replicationProtectionContainers.js.map +1 -0
  221. package/dist-esm/src/operationsInterfaces/replicationProtectionIntents.d.ts +24 -0
  222. package/dist-esm/src/operationsInterfaces/replicationProtectionIntents.d.ts.map +1 -0
  223. package/dist-esm/src/operationsInterfaces/replicationProtectionIntents.js +9 -0
  224. package/dist-esm/src/operationsInterfaces/replicationProtectionIntents.js.map +1 -0
  225. package/dist-esm/src/operationsInterfaces/replicationRecoveryPlans.d.ts +150 -0
  226. package/dist-esm/src/operationsInterfaces/replicationRecoveryPlans.d.ts.map +1 -0
  227. package/dist-esm/src/operationsInterfaces/replicationRecoveryPlans.js +9 -0
  228. package/dist-esm/src/operationsInterfaces/replicationRecoveryPlans.js.map +1 -0
  229. package/dist-esm/src/operationsInterfaces/replicationRecoveryServicesProviders.d.ts +83 -0
  230. package/dist-esm/src/operationsInterfaces/replicationRecoveryServicesProviders.d.ts.map +1 -0
  231. package/dist-esm/src/operationsInterfaces/replicationRecoveryServicesProviders.js +9 -0
  232. package/dist-esm/src/operationsInterfaces/replicationRecoveryServicesProviders.js.map +1 -0
  233. package/dist-esm/src/operationsInterfaces/replicationStorageClassificationMappings.d.ts +61 -0
  234. package/dist-esm/src/operationsInterfaces/replicationStorageClassificationMappings.d.ts.map +1 -0
  235. package/dist-esm/src/operationsInterfaces/replicationStorageClassificationMappings.js +9 -0
  236. package/dist-esm/src/operationsInterfaces/replicationStorageClassificationMappings.js.map +1 -0
  237. package/dist-esm/src/operationsInterfaces/replicationStorageClassifications.d.ts +24 -0
  238. package/dist-esm/src/operationsInterfaces/replicationStorageClassifications.d.ts.map +1 -0
  239. package/dist-esm/src/operationsInterfaces/replicationStorageClassifications.js +9 -0
  240. package/dist-esm/src/operationsInterfaces/replicationStorageClassifications.js.map +1 -0
  241. package/dist-esm/src/operationsInterfaces/replicationVaultHealth.d.ts +21 -0
  242. package/dist-esm/src/operationsInterfaces/replicationVaultHealth.d.ts.map +1 -0
  243. package/dist-esm/src/operationsInterfaces/replicationVaultHealth.js +9 -0
  244. package/dist-esm/src/operationsInterfaces/replicationVaultHealth.js.map +1 -0
  245. package/dist-esm/src/operationsInterfaces/replicationVaultSetting.d.ts +32 -0
  246. package/dist-esm/src/operationsInterfaces/replicationVaultSetting.d.ts.map +1 -0
  247. package/dist-esm/src/operationsInterfaces/replicationVaultSetting.js +9 -0
  248. package/dist-esm/src/operationsInterfaces/replicationVaultSetting.js.map +1 -0
  249. package/dist-esm/src/operationsInterfaces/replicationvCenters.d.ts +71 -0
  250. package/dist-esm/src/operationsInterfaces/replicationvCenters.d.ts.map +1 -0
  251. package/dist-esm/src/operationsInterfaces/replicationvCenters.js +9 -0
  252. package/dist-esm/src/operationsInterfaces/replicationvCenters.js.map +1 -0
  253. package/dist-esm/src/operationsInterfaces/supportedOperatingSystemsOperations.d.ts +10 -0
  254. package/dist-esm/src/operationsInterfaces/supportedOperatingSystemsOperations.d.ts.map +1 -0
  255. package/dist-esm/src/operationsInterfaces/supportedOperatingSystemsOperations.js +9 -0
  256. package/dist-esm/src/operationsInterfaces/supportedOperatingSystemsOperations.js.map +1 -0
  257. package/dist-esm/src/operationsInterfaces/targetComputeSizes.d.ts +14 -0
  258. package/dist-esm/src/operationsInterfaces/targetComputeSizes.d.ts.map +1 -0
  259. package/dist-esm/src/operationsInterfaces/targetComputeSizes.js +9 -0
  260. package/dist-esm/src/operationsInterfaces/targetComputeSizes.js.map +1 -0
  261. package/dist-esm/src/siteRecoveryManagementClient.d.ts +50 -0
  262. package/dist-esm/src/siteRecoveryManagementClient.d.ts.map +1 -0
  263. package/dist-esm/src/siteRecoveryManagementClient.js +89 -0
  264. package/dist-esm/src/siteRecoveryManagementClient.js.map +1 -0
  265. package/dist-esm/test/sampleTest.d.ts +2 -0
  266. package/dist-esm/test/sampleTest.d.ts.map +1 -0
  267. package/dist-esm/test/sampleTest.js +40 -0
  268. package/dist-esm/test/sampleTest.js.map +1 -0
  269. package/package.json +79 -34
  270. package/review/arm-recoveryservices-siterecovery.api.md +7219 -0
  271. package/rollup.config.js +184 -27
  272. package/src/index.ts +12 -0
  273. package/src/lroImpl.ts +34 -0
  274. package/src/models/index.ts +11124 -0
  275. package/src/models/mappers.ts +21728 -0
  276. package/src/models/parameters.ts +736 -0
  277. package/{lib → src}/operations/index.ts +10 -5
  278. package/src/operations/migrationRecoveryPoints.ts +263 -0
  279. package/src/operations/operations.ts +141 -0
  280. package/src/operations/recoveryPoints.ts +266 -0
  281. package/src/operations/replicationAlertSettings.ts +222 -0
  282. package/src/operations/replicationAppliances.ts +143 -0
  283. package/src/operations/replicationEligibilityResultsOperations.ts +104 -0
  284. package/src/operations/replicationEvents.ts +180 -0
  285. package/src/operations/replicationFabrics.ts +907 -0
  286. package/src/operations/replicationJobs.ts +623 -0
  287. package/src/operations/replicationLogicalNetworks.ts +205 -0
  288. package/src/operations/replicationMigrationItems.ts +1292 -0
  289. package/src/operations/replicationNetworkMappings.ts +708 -0
  290. package/src/operations/replicationNetworks.ts +313 -0
  291. package/src/operations/replicationPolicies.ts +500 -0
  292. package/src/operations/replicationProtectableItems.ts +246 -0
  293. package/src/operations/replicationProtectedItems.ts +2903 -0
  294. package/src/operations/replicationProtectionContainerMappings.ts +842 -0
  295. package/src/operations/replicationProtectionContainers.ts +799 -0
  296. package/src/operations/replicationProtectionIntents.ts +231 -0
  297. package/src/operations/replicationRecoveryPlans.ts +1300 -0
  298. package/src/operations/replicationRecoveryServicesProviders.ts +750 -0
  299. package/src/operations/replicationStorageClassificationMappings.ts +599 -0
  300. package/src/operations/replicationStorageClassifications.ts +318 -0
  301. package/src/operations/replicationVaultHealth.ts +163 -0
  302. package/src/operations/replicationVaultSetting.ts +297 -0
  303. package/src/operations/replicationvCenters.ts +658 -0
  304. package/src/operations/supportedOperatingSystemsOperations.ts +63 -0
  305. package/src/operations/targetComputeSizes.ts +214 -0
  306. package/src/operationsInterfaces/index.ts +36 -0
  307. package/src/operationsInterfaces/migrationRecoveryPoints.ts +48 -0
  308. package/src/operationsInterfaces/operations.ts +22 -0
  309. package/src/operationsInterfaces/recoveryPoints.ts +48 -0
  310. package/src/operationsInterfaces/replicationAlertSettings.ts +50 -0
  311. package/src/operationsInterfaces/replicationAppliances.ts +25 -0
  312. package/src/operationsInterfaces/replicationEligibilityResultsOperations.ts +36 -0
  313. package/src/operationsInterfaces/replicationEvents.ts +36 -0
  314. package/src/operationsInterfaces/replicationFabrics.ts +209 -0
  315. package/src/operationsInterfaces/replicationJobs.ts +143 -0
  316. package/src/operationsInterfaces/replicationLogicalNetworks.ts +40 -0
  317. package/src/operationsInterfaces/replicationMigrationItems.ts +308 -0
  318. package/src/operationsInterfaces/replicationNetworkMappings.ts +156 -0
  319. package/src/operationsInterfaces/replicationNetworks.ts +48 -0
  320. package/src/operationsInterfaces/replicationPolicies.ts +116 -0
  321. package/src/operationsInterfaces/replicationProtectableItems.ts +44 -0
  322. package/src/operationsInterfaces/replicationProtectedItems.ts +757 -0
  323. package/src/operationsInterfaces/replicationProtectionContainerMappings.ts +188 -0
  324. package/src/operationsInterfaces/replicationProtectionContainers.ts +178 -0
  325. package/src/operationsInterfaces/replicationProtectionIntents.ts +50 -0
  326. package/src/operationsInterfaces/replicationRecoveryPlans.ts +311 -0
  327. package/src/operationsInterfaces/replicationRecoveryServicesProviders.ts +160 -0
  328. package/src/operationsInterfaces/replicationStorageClassificationMappings.ts +120 -0
  329. package/src/operationsInterfaces/replicationStorageClassifications.ts +48 -0
  330. package/src/operationsInterfaces/replicationVaultHealth.ts +45 -0
  331. package/src/operationsInterfaces/replicationVaultSetting.ts +67 -0
  332. package/src/operationsInterfaces/replicationvCenters.ts +140 -0
  333. package/src/operationsInterfaces/supportedOperatingSystemsOperations.ts +23 -0
  334. package/src/operationsInterfaces/targetComputeSizes.ts +31 -0
  335. package/src/siteRecoveryManagementClient.ts +220 -0
  336. package/tsconfig.json +4 -4
  337. package/types/arm-recoveryservices-siterecovery.d.ts +12535 -0
  338. package/types/tsdoc-metadata.json +11 -0
  339. package/dist/arm-recoveryservices-siterecovery.js +0 -21612
  340. package/dist/arm-recoveryservices-siterecovery.js.map +0 -1
  341. package/dist/arm-recoveryservices-siterecovery.min.js +0 -1
  342. package/dist/arm-recoveryservices-siterecovery.min.js.map +0 -1
  343. package/esm/models/index.d.ts +0 -12202
  344. package/esm/models/index.d.ts.map +0 -1
  345. package/esm/models/index.js +0 -10
  346. package/esm/models/index.js.map +0 -1
  347. package/esm/models/mappers.d.ts +0 -458
  348. package/esm/models/mappers.d.ts.map +0 -1
  349. package/esm/models/mappers.js +0 -11364
  350. package/esm/models/mappers.js.map +0 -1
  351. package/esm/models/operationsMappers.d.ts +0 -2
  352. package/esm/models/operationsMappers.d.ts.map +0 -1
  353. package/esm/models/operationsMappers.js +0 -11
  354. package/esm/models/operationsMappers.js.map +0 -1
  355. package/esm/models/parameters.d.ts +0 -29
  356. package/esm/models/parameters.d.ts.map +0 -1
  357. package/esm/models/parameters.js +0 -285
  358. package/esm/models/parameters.js.map +0 -1
  359. package/esm/models/recoveryPointsMappers.d.ts +0 -2
  360. package/esm/models/recoveryPointsMappers.d.ts.map +0 -1
  361. package/esm/models/recoveryPointsMappers.js +0 -11
  362. package/esm/models/recoveryPointsMappers.js.map +0 -1
  363. package/esm/models/replicationAlertSettingsMappers.d.ts +0 -2
  364. package/esm/models/replicationAlertSettingsMappers.d.ts.map +0 -1
  365. package/esm/models/replicationAlertSettingsMappers.js +0 -11
  366. package/esm/models/replicationAlertSettingsMappers.js.map +0 -1
  367. package/esm/models/replicationEventsMappers.d.ts +0 -2
  368. package/esm/models/replicationEventsMappers.d.ts.map +0 -1
  369. package/esm/models/replicationEventsMappers.js +0 -11
  370. package/esm/models/replicationEventsMappers.js.map +0 -1
  371. package/esm/models/replicationFabricsMappers.d.ts +0 -2
  372. package/esm/models/replicationFabricsMappers.d.ts.map +0 -1
  373. package/esm/models/replicationFabricsMappers.js +0 -11
  374. package/esm/models/replicationFabricsMappers.js.map +0 -1
  375. package/esm/models/replicationJobsMappers.d.ts +0 -2
  376. package/esm/models/replicationJobsMappers.d.ts.map +0 -1
  377. package/esm/models/replicationJobsMappers.js +0 -11
  378. package/esm/models/replicationJobsMappers.js.map +0 -1
  379. package/esm/models/replicationLogicalNetworksMappers.d.ts +0 -2
  380. package/esm/models/replicationLogicalNetworksMappers.d.ts.map +0 -1
  381. package/esm/models/replicationLogicalNetworksMappers.js +0 -11
  382. package/esm/models/replicationLogicalNetworksMappers.js.map +0 -1
  383. package/esm/models/replicationNetworkMappingsMappers.d.ts +0 -2
  384. package/esm/models/replicationNetworkMappingsMappers.d.ts.map +0 -1
  385. package/esm/models/replicationNetworkMappingsMappers.js +0 -11
  386. package/esm/models/replicationNetworkMappingsMappers.js.map +0 -1
  387. package/esm/models/replicationNetworksMappers.d.ts +0 -2
  388. package/esm/models/replicationNetworksMappers.d.ts.map +0 -1
  389. package/esm/models/replicationNetworksMappers.js +0 -11
  390. package/esm/models/replicationNetworksMappers.js.map +0 -1
  391. package/esm/models/replicationPoliciesMappers.d.ts +0 -2
  392. package/esm/models/replicationPoliciesMappers.d.ts.map +0 -1
  393. package/esm/models/replicationPoliciesMappers.js +0 -11
  394. package/esm/models/replicationPoliciesMappers.js.map +0 -1
  395. package/esm/models/replicationProtectableItemsMappers.d.ts +0 -2
  396. package/esm/models/replicationProtectableItemsMappers.d.ts.map +0 -1
  397. package/esm/models/replicationProtectableItemsMappers.js +0 -11
  398. package/esm/models/replicationProtectableItemsMappers.js.map +0 -1
  399. package/esm/models/replicationProtectedItemsMappers.d.ts +0 -2
  400. package/esm/models/replicationProtectedItemsMappers.d.ts.map +0 -1
  401. package/esm/models/replicationProtectedItemsMappers.js +0 -11
  402. package/esm/models/replicationProtectedItemsMappers.js.map +0 -1
  403. package/esm/models/replicationProtectionContainerMappingsMappers.d.ts +0 -2
  404. package/esm/models/replicationProtectionContainerMappingsMappers.d.ts.map +0 -1
  405. package/esm/models/replicationProtectionContainerMappingsMappers.js +0 -11
  406. package/esm/models/replicationProtectionContainerMappingsMappers.js.map +0 -1
  407. package/esm/models/replicationProtectionContainersMappers.d.ts +0 -2
  408. package/esm/models/replicationProtectionContainersMappers.d.ts.map +0 -1
  409. package/esm/models/replicationProtectionContainersMappers.js +0 -11
  410. package/esm/models/replicationProtectionContainersMappers.js.map +0 -1
  411. package/esm/models/replicationRecoveryPlansMappers.d.ts +0 -2
  412. package/esm/models/replicationRecoveryPlansMappers.d.ts.map +0 -1
  413. package/esm/models/replicationRecoveryPlansMappers.js +0 -11
  414. package/esm/models/replicationRecoveryPlansMappers.js.map +0 -1
  415. package/esm/models/replicationRecoveryServicesProvidersMappers.d.ts +0 -2
  416. package/esm/models/replicationRecoveryServicesProvidersMappers.d.ts.map +0 -1
  417. package/esm/models/replicationRecoveryServicesProvidersMappers.js +0 -11
  418. package/esm/models/replicationRecoveryServicesProvidersMappers.js.map +0 -1
  419. package/esm/models/replicationStorageClassificationMappingsMappers.d.ts +0 -2
  420. package/esm/models/replicationStorageClassificationMappingsMappers.d.ts.map +0 -1
  421. package/esm/models/replicationStorageClassificationMappingsMappers.js +0 -11
  422. package/esm/models/replicationStorageClassificationMappingsMappers.js.map +0 -1
  423. package/esm/models/replicationStorageClassificationsMappers.d.ts +0 -2
  424. package/esm/models/replicationStorageClassificationsMappers.d.ts.map +0 -1
  425. package/esm/models/replicationStorageClassificationsMappers.js +0 -11
  426. package/esm/models/replicationStorageClassificationsMappers.js.map +0 -1
  427. package/esm/models/replicationVaultHealthMappers.d.ts +0 -2
  428. package/esm/models/replicationVaultHealthMappers.d.ts.map +0 -1
  429. package/esm/models/replicationVaultHealthMappers.js +0 -11
  430. package/esm/models/replicationVaultHealthMappers.js.map +0 -1
  431. package/esm/models/replicationvCentersMappers.d.ts +0 -2
  432. package/esm/models/replicationvCentersMappers.d.ts.map +0 -1
  433. package/esm/models/replicationvCentersMappers.js +0 -11
  434. package/esm/models/replicationvCentersMappers.js.map +0 -1
  435. package/esm/models/targetComputeSizesMappers.d.ts +0 -2
  436. package/esm/models/targetComputeSizesMappers.d.ts.map +0 -1
  437. package/esm/models/targetComputeSizesMappers.js +0 -11
  438. package/esm/models/targetComputeSizesMappers.js.map +0 -1
  439. package/esm/operations/index.d.ts.map +0 -1
  440. package/esm/operations/index.js.map +0 -1
  441. package/esm/operations/operations.d.ts +0 -48
  442. package/esm/operations/operations.d.ts.map +0 -1
  443. package/esm/operations/operations.js +0 -81
  444. package/esm/operations/operations.js.map +0 -1
  445. package/esm/operations/recoveryPoints.d.ts +0 -85
  446. package/esm/operations/recoveryPoints.d.ts.map +0 -1
  447. package/esm/operations/recoveryPoints.js +0 -125
  448. package/esm/operations/recoveryPoints.js.map +0 -1
  449. package/esm/operations/replicationAlertSettings.d.ts +0 -89
  450. package/esm/operations/replicationAlertSettings.d.ts.map +0 -1
  451. package/esm/operations/replicationAlertSettings.js +0 -150
  452. package/esm/operations/replicationAlertSettings.js.map +0 -1
  453. package/esm/operations/replicationEvents.d.ts +0 -67
  454. package/esm/operations/replicationEvents.d.ts.map +0 -1
  455. package/esm/operations/replicationEvents.js +0 -114
  456. package/esm/operations/replicationEvents.js.map +0 -1
  457. package/esm/operations/replicationFabrics.d.ts +0 -186
  458. package/esm/operations/replicationFabrics.d.ts.map +0 -1
  459. package/esm/operations/replicationFabrics.js +0 -479
  460. package/esm/operations/replicationFabrics.js.map +0 -1
  461. package/esm/operations/replicationJobs.d.ts +0 -134
  462. package/esm/operations/replicationJobs.d.ts.map +0 -1
  463. package/esm/operations/replicationJobs.js +0 -325
  464. package/esm/operations/replicationJobs.js.map +0 -1
  465. package/esm/operations/replicationLogicalNetworks.d.ts +0 -73
  466. package/esm/operations/replicationLogicalNetworks.d.ts.map +0 -1
  467. package/esm/operations/replicationLogicalNetworks.js +0 -117
  468. package/esm/operations/replicationLogicalNetworks.js.map +0 -1
  469. package/esm/operations/replicationNetworkMappings.d.ts +0 -179
  470. package/esm/operations/replicationNetworkMappings.d.ts.map +0 -1
  471. package/esm/operations/replicationNetworkMappings.js +0 -363
  472. package/esm/operations/replicationNetworkMappings.js.map +0 -1
  473. package/esm/operations/replicationNetworks.d.ts +0 -108
  474. package/esm/operations/replicationNetworks.d.ts.map +0 -1
  475. package/esm/operations/replicationNetworks.js +0 -172
  476. package/esm/operations/replicationNetworks.js.map +0 -1
  477. package/esm/operations/replicationPolicies.d.ts +0 -120
  478. package/esm/operations/replicationPolicies.d.ts.map +0 -1
  479. package/esm/operations/replicationPolicies.js +0 -276
  480. package/esm/operations/replicationPolicies.js.map +0 -1
  481. package/esm/operations/replicationProtectableItems.d.ts +0 -81
  482. package/esm/operations/replicationProtectableItems.d.ts.map +0 -1
  483. package/esm/operations/replicationProtectableItems.js +0 -122
  484. package/esm/operations/replicationProtectableItems.js.map +0 -1
  485. package/esm/operations/replicationProtectedItems.d.ts +0 -410
  486. package/esm/operations/replicationProtectedItems.d.ts.map +0 -1
  487. package/esm/operations/replicationProtectedItems.js +0 -1013
  488. package/esm/operations/replicationProtectedItems.js.map +0 -1
  489. package/esm/operations/replicationProtectionContainerMappings.d.ts +0 -203
  490. package/esm/operations/replicationProtectionContainerMappings.d.ts.map +0 -1
  491. package/esm/operations/replicationProtectionContainerMappings.js +0 -426
  492. package/esm/operations/replicationProtectionContainerMappings.js.map +0 -1
  493. package/esm/operations/replicationProtectionContainers.d.ts +0 -191
  494. package/esm/operations/replicationProtectionContainers.d.ts.map +0 -1
  495. package/esm/operations/replicationProtectionContainers.js +0 -412
  496. package/esm/operations/replicationProtectionContainers.js.map +0 -1
  497. package/esm/operations/replicationRecoveryPlans.d.ts +0 -224
  498. package/esm/operations/replicationRecoveryPlans.d.ts.map +0 -1
  499. package/esm/operations/replicationRecoveryPlans.js +0 -604
  500. package/esm/operations/replicationRecoveryPlans.js.map +0 -1
  501. package/esm/operations/replicationRecoveryServicesProviders.d.ts +0 -172
  502. package/esm/operations/replicationRecoveryServicesProviders.d.ts.map +0 -1
  503. package/esm/operations/replicationRecoveryServicesProviders.js +0 -336
  504. package/esm/operations/replicationRecoveryServicesProviders.js.map +0 -1
  505. package/esm/operations/replicationStorageClassificationMappings.d.ts +0 -159
  506. package/esm/operations/replicationStorageClassificationMappings.d.ts.map +0 -1
  507. package/esm/operations/replicationStorageClassificationMappings.js +0 -298
  508. package/esm/operations/replicationStorageClassificationMappings.js.map +0 -1
  509. package/esm/operations/replicationStorageClassifications.d.ts +0 -108
  510. package/esm/operations/replicationStorageClassifications.d.ts.map +0 -1
  511. package/esm/operations/replicationStorageClassifications.js +0 -172
  512. package/esm/operations/replicationStorageClassifications.js.map +0 -1
  513. package/esm/operations/replicationVaultHealth.d.ts +0 -42
  514. package/esm/operations/replicationVaultHealth.d.ts.map +0 -1
  515. package/esm/operations/replicationVaultHealth.js +0 -100
  516. package/esm/operations/replicationVaultHealth.js.map +0 -1
  517. package/esm/operations/replicationvCenters.d.ts +0 -167
  518. package/esm/operations/replicationvCenters.d.ts.map +0 -1
  519. package/esm/operations/replicationvCenters.js +0 -347
  520. package/esm/operations/replicationvCenters.js.map +0 -1
  521. package/esm/operations/targetComputeSizes.d.ts +0 -57
  522. package/esm/operations/targetComputeSizes.d.ts.map +0 -1
  523. package/esm/operations/targetComputeSizes.js +0 -88
  524. package/esm/operations/targetComputeSizes.js.map +0 -1
  525. package/esm/siteRecoveryManagementClient.d.ts +0 -41
  526. package/esm/siteRecoveryManagementClient.d.ts.map +0 -1
  527. package/esm/siteRecoveryManagementClient.js +0 -56
  528. package/esm/siteRecoveryManagementClient.js.map +0 -1
  529. package/esm/siteRecoveryManagementClientContext.d.ts +0 -21
  530. package/esm/siteRecoveryManagementClientContext.d.ts.map +0 -1
  531. package/esm/siteRecoveryManagementClientContext.js +0 -67
  532. package/esm/siteRecoveryManagementClientContext.js.map +0 -1
  533. package/lib/models/index.ts +0 -12736
  534. package/lib/models/mappers.ts +0 -12507
  535. package/lib/models/operationsMappers.ts +0 -18
  536. package/lib/models/parameters.ts +0 -287
  537. package/lib/models/recoveryPointsMappers.ts +0 -169
  538. package/lib/models/replicationAlertSettingsMappers.ts +0 -171
  539. package/lib/models/replicationEventsMappers.ts +0 -169
  540. package/lib/models/replicationFabricsMappers.ts +0 -178
  541. package/lib/models/replicationJobsMappers.ts +0 -172
  542. package/lib/models/replicationLogicalNetworksMappers.ts +0 -169
  543. package/lib/models/replicationNetworkMappingsMappers.ts +0 -181
  544. package/lib/models/replicationNetworksMappers.ts +0 -169
  545. package/lib/models/replicationPoliciesMappers.ts +0 -181
  546. package/lib/models/replicationProtectableItemsMappers.ts +0 -169
  547. package/lib/models/replicationProtectedItemsMappers.ts +0 -226
  548. package/lib/models/replicationProtectionContainerMappingsMappers.ts +0 -180
  549. package/lib/models/replicationProtectionContainersMappers.ts +0 -184
  550. package/lib/models/replicationRecoveryPlansMappers.ts +0 -187
  551. package/lib/models/replicationRecoveryServicesProvidersMappers.ts +0 -169
  552. package/lib/models/replicationStorageClassificationMappingsMappers.ts +0 -171
  553. package/lib/models/replicationStorageClassificationsMappers.ts +0 -169
  554. package/lib/models/replicationVaultHealthMappers.ts +0 -168
  555. package/lib/models/replicationvCentersMappers.ts +0 -173
  556. package/lib/models/targetComputeSizesMappers.ts +0 -19
  557. package/lib/operations/operations.ts +0 -129
  558. package/lib/operations/recoveryPoints.ts +0 -215
  559. package/lib/operations/replicationAlertSettings.ts +0 -251
  560. package/lib/operations/replicationEvents.ts +0 -186
  561. package/lib/operations/replicationFabrics.ts +0 -602
  562. package/lib/operations/replicationJobs.ts +0 -427
  563. package/lib/operations/replicationLogicalNetworks.ts +0 -195
  564. package/lib/operations/replicationNetworkMappings.ts +0 -516
  565. package/lib/operations/replicationNetworks.ts +0 -295
  566. package/lib/operations/replicationPolicies.ts +0 -372
  567. package/lib/operations/replicationProtectableItems.ts +0 -208
  568. package/lib/operations/replicationProtectedItems.ts +0 -1251
  569. package/lib/operations/replicationProtectionContainerMappings.ts +0 -590
  570. package/lib/operations/replicationProtectionContainers.ts +0 -568
  571. package/lib/operations/replicationRecoveryPlans.ts +0 -748
  572. package/lib/operations/replicationRecoveryServicesProviders.ts +0 -481
  573. package/lib/operations/replicationStorageClassificationMappings.ts +0 -444
  574. package/lib/operations/replicationStorageClassifications.ts +0 -295
  575. package/lib/operations/replicationVaultHealth.ts +0 -131
  576. package/lib/operations/replicationvCenters.ts +0 -494
  577. package/lib/operations/targetComputeSizes.ts +0 -145
  578. package/lib/siteRecoveryManagementClient.ts +0 -85
  579. package/lib/siteRecoveryManagementClientContext.ts +0 -75
@@ -0,0 +1,2903 @@
1
+ /*
2
+ * Copyright (c) Microsoft Corporation.
3
+ * Licensed under the MIT License.
4
+ *
5
+ * Code generated by Microsoft (R) AutoRest Code Generator.
6
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
7
+ */
8
+
9
+ import { PagedAsyncIterableIterator } from "@azure/core-paging";
10
+ import { ReplicationProtectedItems } from "../operationsInterfaces";
11
+ import * as coreClient from "@azure/core-client";
12
+ import * as Mappers from "../models/mappers";
13
+ import * as Parameters from "../models/parameters";
14
+ import { SiteRecoveryManagementClient } from "../siteRecoveryManagementClient";
15
+ import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro";
16
+ import { LroImpl } from "../lroImpl";
17
+ import {
18
+ ReplicationProtectedItem,
19
+ ReplicationProtectedItemsListByReplicationProtectionContainersNextOptionalParams,
20
+ ReplicationProtectedItemsListByReplicationProtectionContainersOptionalParams,
21
+ ReplicationProtectedItemsListNextOptionalParams,
22
+ ReplicationProtectedItemsListOptionalParams,
23
+ ReplicationProtectedItemsListByReplicationProtectionContainersResponse,
24
+ ReplicationProtectedItemsGetOptionalParams,
25
+ ReplicationProtectedItemsGetResponse,
26
+ EnableProtectionInput,
27
+ ReplicationProtectedItemsCreateOptionalParams,
28
+ ReplicationProtectedItemsCreateResponse,
29
+ ReplicationProtectedItemsPurgeOptionalParams,
30
+ UpdateReplicationProtectedItemInput,
31
+ ReplicationProtectedItemsUpdateOptionalParams,
32
+ ReplicationProtectedItemsUpdateResponse,
33
+ AddDisksInput,
34
+ ReplicationProtectedItemsAddDisksOptionalParams,
35
+ ReplicationProtectedItemsAddDisksResponse,
36
+ ApplyRecoveryPointInput,
37
+ ReplicationProtectedItemsApplyRecoveryPointOptionalParams,
38
+ ReplicationProtectedItemsApplyRecoveryPointResponse,
39
+ ReplicationProtectedItemsFailoverCancelOptionalParams,
40
+ ReplicationProtectedItemsFailoverCancelResponse,
41
+ ReplicationProtectedItemsFailoverCommitOptionalParams,
42
+ ReplicationProtectedItemsFailoverCommitResponse,
43
+ PlannedFailoverInput,
44
+ ReplicationProtectedItemsPlannedFailoverOptionalParams,
45
+ ReplicationProtectedItemsPlannedFailoverResponse,
46
+ DisableProtectionInput,
47
+ ReplicationProtectedItemsDeleteOptionalParams,
48
+ RemoveDisksInput,
49
+ ReplicationProtectedItemsRemoveDisksOptionalParams,
50
+ ReplicationProtectedItemsRemoveDisksResponse,
51
+ ReplicationProtectedItemsRepairReplicationOptionalParams,
52
+ ReplicationProtectedItemsRepairReplicationResponse,
53
+ ReverseReplicationInput,
54
+ ReplicationProtectedItemsReprotectOptionalParams,
55
+ ReplicationProtectedItemsReprotectResponse,
56
+ ResolveHealthInput,
57
+ ReplicationProtectedItemsResolveHealthErrorsOptionalParams,
58
+ ReplicationProtectedItemsResolveHealthErrorsResponse,
59
+ SwitchProviderInput,
60
+ ReplicationProtectedItemsSwitchProviderOptionalParams,
61
+ ReplicationProtectedItemsSwitchProviderResponse,
62
+ TestFailoverInput,
63
+ ReplicationProtectedItemsTestFailoverOptionalParams,
64
+ ReplicationProtectedItemsTestFailoverResponse,
65
+ TestFailoverCleanupInput,
66
+ ReplicationProtectedItemsTestFailoverCleanupOptionalParams,
67
+ ReplicationProtectedItemsTestFailoverCleanupResponse,
68
+ UnplannedFailoverInput,
69
+ ReplicationProtectedItemsUnplannedFailoverOptionalParams,
70
+ ReplicationProtectedItemsUnplannedFailoverResponse,
71
+ UpdateApplianceForReplicationProtectedItemInput,
72
+ ReplicationProtectedItemsUpdateApplianceOptionalParams,
73
+ ReplicationProtectedItemsUpdateApplianceResponse,
74
+ UpdateMobilityServiceRequest,
75
+ ReplicationProtectedItemsUpdateMobilityServiceOptionalParams,
76
+ ReplicationProtectedItemsUpdateMobilityServiceResponse,
77
+ ReplicationProtectedItemsListResponse,
78
+ ReplicationProtectedItemsListByReplicationProtectionContainersNextResponse,
79
+ ReplicationProtectedItemsListNextResponse
80
+ } from "../models";
81
+
82
+ /// <reference lib="esnext.asynciterable" />
83
+ /** Class containing ReplicationProtectedItems operations. */
84
+ export class ReplicationProtectedItemsImpl
85
+ implements ReplicationProtectedItems {
86
+ private readonly client: SiteRecoveryManagementClient;
87
+
88
+ /**
89
+ * Initialize a new instance of the class ReplicationProtectedItems class.
90
+ * @param client Reference to the service client
91
+ */
92
+ constructor(client: SiteRecoveryManagementClient) {
93
+ this.client = client;
94
+ }
95
+
96
+ /**
97
+ * Gets the list of ASR replication protected items in the protection container.
98
+ * @param fabricName Fabric name.
99
+ * @param protectionContainerName Protection container name.
100
+ * @param options The options parameters.
101
+ */
102
+ public listByReplicationProtectionContainers(
103
+ fabricName: string,
104
+ protectionContainerName: string,
105
+ options?: ReplicationProtectedItemsListByReplicationProtectionContainersOptionalParams
106
+ ): PagedAsyncIterableIterator<ReplicationProtectedItem> {
107
+ const iter = this.listByReplicationProtectionContainersPagingAll(
108
+ fabricName,
109
+ protectionContainerName,
110
+ options
111
+ );
112
+ return {
113
+ next() {
114
+ return iter.next();
115
+ },
116
+ [Symbol.asyncIterator]() {
117
+ return this;
118
+ },
119
+ byPage: () => {
120
+ return this.listByReplicationProtectionContainersPagingPage(
121
+ fabricName,
122
+ protectionContainerName,
123
+ options
124
+ );
125
+ }
126
+ };
127
+ }
128
+
129
+ private async *listByReplicationProtectionContainersPagingPage(
130
+ fabricName: string,
131
+ protectionContainerName: string,
132
+ options?: ReplicationProtectedItemsListByReplicationProtectionContainersOptionalParams
133
+ ): AsyncIterableIterator<ReplicationProtectedItem[]> {
134
+ let result = await this._listByReplicationProtectionContainers(
135
+ fabricName,
136
+ protectionContainerName,
137
+ options
138
+ );
139
+ yield result.value || [];
140
+ let continuationToken = result.nextLink;
141
+ while (continuationToken) {
142
+ result = await this._listByReplicationProtectionContainersNext(
143
+ fabricName,
144
+ protectionContainerName,
145
+ continuationToken,
146
+ options
147
+ );
148
+ continuationToken = result.nextLink;
149
+ yield result.value || [];
150
+ }
151
+ }
152
+
153
+ private async *listByReplicationProtectionContainersPagingAll(
154
+ fabricName: string,
155
+ protectionContainerName: string,
156
+ options?: ReplicationProtectedItemsListByReplicationProtectionContainersOptionalParams
157
+ ): AsyncIterableIterator<ReplicationProtectedItem> {
158
+ for await (const page of this.listByReplicationProtectionContainersPagingPage(
159
+ fabricName,
160
+ protectionContainerName,
161
+ options
162
+ )) {
163
+ yield* page;
164
+ }
165
+ }
166
+
167
+ /**
168
+ * Gets the list of ASR replication protected items in the vault.
169
+ * @param options The options parameters.
170
+ */
171
+ public list(
172
+ options?: ReplicationProtectedItemsListOptionalParams
173
+ ): PagedAsyncIterableIterator<ReplicationProtectedItem> {
174
+ const iter = this.listPagingAll(options);
175
+ return {
176
+ next() {
177
+ return iter.next();
178
+ },
179
+ [Symbol.asyncIterator]() {
180
+ return this;
181
+ },
182
+ byPage: () => {
183
+ return this.listPagingPage(options);
184
+ }
185
+ };
186
+ }
187
+
188
+ private async *listPagingPage(
189
+ options?: ReplicationProtectedItemsListOptionalParams
190
+ ): AsyncIterableIterator<ReplicationProtectedItem[]> {
191
+ let result = await this._list(options);
192
+ yield result.value || [];
193
+ let continuationToken = result.nextLink;
194
+ while (continuationToken) {
195
+ result = await this._listNext(continuationToken, options);
196
+ continuationToken = result.nextLink;
197
+ yield result.value || [];
198
+ }
199
+ }
200
+
201
+ private async *listPagingAll(
202
+ options?: ReplicationProtectedItemsListOptionalParams
203
+ ): AsyncIterableIterator<ReplicationProtectedItem> {
204
+ for await (const page of this.listPagingPage(options)) {
205
+ yield* page;
206
+ }
207
+ }
208
+
209
+ /**
210
+ * Gets the list of ASR replication protected items in the protection container.
211
+ * @param fabricName Fabric name.
212
+ * @param protectionContainerName Protection container name.
213
+ * @param options The options parameters.
214
+ */
215
+ private _listByReplicationProtectionContainers(
216
+ fabricName: string,
217
+ protectionContainerName: string,
218
+ options?: ReplicationProtectedItemsListByReplicationProtectionContainersOptionalParams
219
+ ): Promise<
220
+ ReplicationProtectedItemsListByReplicationProtectionContainersResponse
221
+ > {
222
+ return this.client.sendOperationRequest(
223
+ { fabricName, protectionContainerName, options },
224
+ listByReplicationProtectionContainersOperationSpec
225
+ );
226
+ }
227
+
228
+ /**
229
+ * Gets the details of an ASR replication protected item.
230
+ * @param fabricName Fabric unique name.
231
+ * @param protectionContainerName Protection container name.
232
+ * @param replicatedProtectedItemName Replication protected item name.
233
+ * @param options The options parameters.
234
+ */
235
+ get(
236
+ fabricName: string,
237
+ protectionContainerName: string,
238
+ replicatedProtectedItemName: string,
239
+ options?: ReplicationProtectedItemsGetOptionalParams
240
+ ): Promise<ReplicationProtectedItemsGetResponse> {
241
+ return this.client.sendOperationRequest(
242
+ {
243
+ fabricName,
244
+ protectionContainerName,
245
+ replicatedProtectedItemName,
246
+ options
247
+ },
248
+ getOperationSpec
249
+ );
250
+ }
251
+
252
+ /**
253
+ * The operation to create an ASR replication protected item (Enable replication).
254
+ * @param fabricName Name of the fabric.
255
+ * @param protectionContainerName Protection container name.
256
+ * @param replicatedProtectedItemName A name for the replication protected item.
257
+ * @param input Enable Protection Input.
258
+ * @param options The options parameters.
259
+ */
260
+ async beginCreate(
261
+ fabricName: string,
262
+ protectionContainerName: string,
263
+ replicatedProtectedItemName: string,
264
+ input: EnableProtectionInput,
265
+ options?: ReplicationProtectedItemsCreateOptionalParams
266
+ ): Promise<
267
+ PollerLike<
268
+ PollOperationState<ReplicationProtectedItemsCreateResponse>,
269
+ ReplicationProtectedItemsCreateResponse
270
+ >
271
+ > {
272
+ const directSendOperation = async (
273
+ args: coreClient.OperationArguments,
274
+ spec: coreClient.OperationSpec
275
+ ): Promise<ReplicationProtectedItemsCreateResponse> => {
276
+ return this.client.sendOperationRequest(args, spec);
277
+ };
278
+ const sendOperation = async (
279
+ args: coreClient.OperationArguments,
280
+ spec: coreClient.OperationSpec
281
+ ) => {
282
+ let currentRawResponse:
283
+ | coreClient.FullOperationResponse
284
+ | undefined = undefined;
285
+ const providedCallback = args.options?.onResponse;
286
+ const callback: coreClient.RawResponseCallback = (
287
+ rawResponse: coreClient.FullOperationResponse,
288
+ flatResponse: unknown
289
+ ) => {
290
+ currentRawResponse = rawResponse;
291
+ providedCallback?.(rawResponse, flatResponse);
292
+ };
293
+ const updatedArgs = {
294
+ ...args,
295
+ options: {
296
+ ...args.options,
297
+ onResponse: callback
298
+ }
299
+ };
300
+ const flatResponse = await directSendOperation(updatedArgs, spec);
301
+ return {
302
+ flatResponse,
303
+ rawResponse: {
304
+ statusCode: currentRawResponse!.status,
305
+ body: currentRawResponse!.parsedBody,
306
+ headers: currentRawResponse!.headers.toJSON()
307
+ }
308
+ };
309
+ };
310
+
311
+ const lro = new LroImpl(
312
+ sendOperation,
313
+ {
314
+ fabricName,
315
+ protectionContainerName,
316
+ replicatedProtectedItemName,
317
+ input,
318
+ options
319
+ },
320
+ createOperationSpec
321
+ );
322
+ return new LroEngine(lro, {
323
+ resumeFrom: options?.resumeFrom,
324
+ intervalInMs: options?.updateIntervalInMs
325
+ });
326
+ }
327
+
328
+ /**
329
+ * The operation to create an ASR replication protected item (Enable replication).
330
+ * @param fabricName Name of the fabric.
331
+ * @param protectionContainerName Protection container name.
332
+ * @param replicatedProtectedItemName A name for the replication protected item.
333
+ * @param input Enable Protection Input.
334
+ * @param options The options parameters.
335
+ */
336
+ async beginCreateAndWait(
337
+ fabricName: string,
338
+ protectionContainerName: string,
339
+ replicatedProtectedItemName: string,
340
+ input: EnableProtectionInput,
341
+ options?: ReplicationProtectedItemsCreateOptionalParams
342
+ ): Promise<ReplicationProtectedItemsCreateResponse> {
343
+ const poller = await this.beginCreate(
344
+ fabricName,
345
+ protectionContainerName,
346
+ replicatedProtectedItemName,
347
+ input,
348
+ options
349
+ );
350
+ return poller.pollUntilDone();
351
+ }
352
+
353
+ /**
354
+ * The operation to delete or purge a replication protected item. This operation will force delete the
355
+ * replication protected item. Use the remove operation on replication protected item to perform a
356
+ * clean disable replication for the item.
357
+ * @param fabricName Fabric name.
358
+ * @param protectionContainerName Protection container name.
359
+ * @param replicatedProtectedItemName Replication protected item name.
360
+ * @param options The options parameters.
361
+ */
362
+ async beginPurge(
363
+ fabricName: string,
364
+ protectionContainerName: string,
365
+ replicatedProtectedItemName: string,
366
+ options?: ReplicationProtectedItemsPurgeOptionalParams
367
+ ): Promise<PollerLike<PollOperationState<void>, void>> {
368
+ const directSendOperation = async (
369
+ args: coreClient.OperationArguments,
370
+ spec: coreClient.OperationSpec
371
+ ): Promise<void> => {
372
+ return this.client.sendOperationRequest(args, spec);
373
+ };
374
+ const sendOperation = async (
375
+ args: coreClient.OperationArguments,
376
+ spec: coreClient.OperationSpec
377
+ ) => {
378
+ let currentRawResponse:
379
+ | coreClient.FullOperationResponse
380
+ | undefined = undefined;
381
+ const providedCallback = args.options?.onResponse;
382
+ const callback: coreClient.RawResponseCallback = (
383
+ rawResponse: coreClient.FullOperationResponse,
384
+ flatResponse: unknown
385
+ ) => {
386
+ currentRawResponse = rawResponse;
387
+ providedCallback?.(rawResponse, flatResponse);
388
+ };
389
+ const updatedArgs = {
390
+ ...args,
391
+ options: {
392
+ ...args.options,
393
+ onResponse: callback
394
+ }
395
+ };
396
+ const flatResponse = await directSendOperation(updatedArgs, spec);
397
+ return {
398
+ flatResponse,
399
+ rawResponse: {
400
+ statusCode: currentRawResponse!.status,
401
+ body: currentRawResponse!.parsedBody,
402
+ headers: currentRawResponse!.headers.toJSON()
403
+ }
404
+ };
405
+ };
406
+
407
+ const lro = new LroImpl(
408
+ sendOperation,
409
+ {
410
+ fabricName,
411
+ protectionContainerName,
412
+ replicatedProtectedItemName,
413
+ options
414
+ },
415
+ purgeOperationSpec
416
+ );
417
+ return new LroEngine(lro, {
418
+ resumeFrom: options?.resumeFrom,
419
+ intervalInMs: options?.updateIntervalInMs
420
+ });
421
+ }
422
+
423
+ /**
424
+ * The operation to delete or purge a replication protected item. This operation will force delete the
425
+ * replication protected item. Use the remove operation on replication protected item to perform a
426
+ * clean disable replication for the item.
427
+ * @param fabricName Fabric name.
428
+ * @param protectionContainerName Protection container name.
429
+ * @param replicatedProtectedItemName Replication protected item name.
430
+ * @param options The options parameters.
431
+ */
432
+ async beginPurgeAndWait(
433
+ fabricName: string,
434
+ protectionContainerName: string,
435
+ replicatedProtectedItemName: string,
436
+ options?: ReplicationProtectedItemsPurgeOptionalParams
437
+ ): Promise<void> {
438
+ const poller = await this.beginPurge(
439
+ fabricName,
440
+ protectionContainerName,
441
+ replicatedProtectedItemName,
442
+ options
443
+ );
444
+ return poller.pollUntilDone();
445
+ }
446
+
447
+ /**
448
+ * The operation to update the recovery settings of an ASR replication protected item.
449
+ * @param fabricName Fabric name.
450
+ * @param protectionContainerName Protection container name.
451
+ * @param replicatedProtectedItemName Replication protected item name.
452
+ * @param updateProtectionInput Update protection input.
453
+ * @param options The options parameters.
454
+ */
455
+ async beginUpdate(
456
+ fabricName: string,
457
+ protectionContainerName: string,
458
+ replicatedProtectedItemName: string,
459
+ updateProtectionInput: UpdateReplicationProtectedItemInput,
460
+ options?: ReplicationProtectedItemsUpdateOptionalParams
461
+ ): Promise<
462
+ PollerLike<
463
+ PollOperationState<ReplicationProtectedItemsUpdateResponse>,
464
+ ReplicationProtectedItemsUpdateResponse
465
+ >
466
+ > {
467
+ const directSendOperation = async (
468
+ args: coreClient.OperationArguments,
469
+ spec: coreClient.OperationSpec
470
+ ): Promise<ReplicationProtectedItemsUpdateResponse> => {
471
+ return this.client.sendOperationRequest(args, spec);
472
+ };
473
+ const sendOperation = async (
474
+ args: coreClient.OperationArguments,
475
+ spec: coreClient.OperationSpec
476
+ ) => {
477
+ let currentRawResponse:
478
+ | coreClient.FullOperationResponse
479
+ | undefined = undefined;
480
+ const providedCallback = args.options?.onResponse;
481
+ const callback: coreClient.RawResponseCallback = (
482
+ rawResponse: coreClient.FullOperationResponse,
483
+ flatResponse: unknown
484
+ ) => {
485
+ currentRawResponse = rawResponse;
486
+ providedCallback?.(rawResponse, flatResponse);
487
+ };
488
+ const updatedArgs = {
489
+ ...args,
490
+ options: {
491
+ ...args.options,
492
+ onResponse: callback
493
+ }
494
+ };
495
+ const flatResponse = await directSendOperation(updatedArgs, spec);
496
+ return {
497
+ flatResponse,
498
+ rawResponse: {
499
+ statusCode: currentRawResponse!.status,
500
+ body: currentRawResponse!.parsedBody,
501
+ headers: currentRawResponse!.headers.toJSON()
502
+ }
503
+ };
504
+ };
505
+
506
+ const lro = new LroImpl(
507
+ sendOperation,
508
+ {
509
+ fabricName,
510
+ protectionContainerName,
511
+ replicatedProtectedItemName,
512
+ updateProtectionInput,
513
+ options
514
+ },
515
+ updateOperationSpec
516
+ );
517
+ return new LroEngine(lro, {
518
+ resumeFrom: options?.resumeFrom,
519
+ intervalInMs: options?.updateIntervalInMs
520
+ });
521
+ }
522
+
523
+ /**
524
+ * The operation to update the recovery settings of an ASR replication protected item.
525
+ * @param fabricName Fabric name.
526
+ * @param protectionContainerName Protection container name.
527
+ * @param replicatedProtectedItemName Replication protected item name.
528
+ * @param updateProtectionInput Update protection input.
529
+ * @param options The options parameters.
530
+ */
531
+ async beginUpdateAndWait(
532
+ fabricName: string,
533
+ protectionContainerName: string,
534
+ replicatedProtectedItemName: string,
535
+ updateProtectionInput: UpdateReplicationProtectedItemInput,
536
+ options?: ReplicationProtectedItemsUpdateOptionalParams
537
+ ): Promise<ReplicationProtectedItemsUpdateResponse> {
538
+ const poller = await this.beginUpdate(
539
+ fabricName,
540
+ protectionContainerName,
541
+ replicatedProtectedItemName,
542
+ updateProtectionInput,
543
+ options
544
+ );
545
+ return poller.pollUntilDone();
546
+ }
547
+
548
+ /**
549
+ * Operation to add disks(s) to the replication protected item.
550
+ * @param fabricName Unique fabric name.
551
+ * @param protectionContainerName Protection container name.
552
+ * @param replicatedProtectedItemName Replication protected item name.
553
+ * @param addDisksInput Add disks input.
554
+ * @param options The options parameters.
555
+ */
556
+ async beginAddDisks(
557
+ fabricName: string,
558
+ protectionContainerName: string,
559
+ replicatedProtectedItemName: string,
560
+ addDisksInput: AddDisksInput,
561
+ options?: ReplicationProtectedItemsAddDisksOptionalParams
562
+ ): Promise<
563
+ PollerLike<
564
+ PollOperationState<ReplicationProtectedItemsAddDisksResponse>,
565
+ ReplicationProtectedItemsAddDisksResponse
566
+ >
567
+ > {
568
+ const directSendOperation = async (
569
+ args: coreClient.OperationArguments,
570
+ spec: coreClient.OperationSpec
571
+ ): Promise<ReplicationProtectedItemsAddDisksResponse> => {
572
+ return this.client.sendOperationRequest(args, spec);
573
+ };
574
+ const sendOperation = async (
575
+ args: coreClient.OperationArguments,
576
+ spec: coreClient.OperationSpec
577
+ ) => {
578
+ let currentRawResponse:
579
+ | coreClient.FullOperationResponse
580
+ | undefined = undefined;
581
+ const providedCallback = args.options?.onResponse;
582
+ const callback: coreClient.RawResponseCallback = (
583
+ rawResponse: coreClient.FullOperationResponse,
584
+ flatResponse: unknown
585
+ ) => {
586
+ currentRawResponse = rawResponse;
587
+ providedCallback?.(rawResponse, flatResponse);
588
+ };
589
+ const updatedArgs = {
590
+ ...args,
591
+ options: {
592
+ ...args.options,
593
+ onResponse: callback
594
+ }
595
+ };
596
+ const flatResponse = await directSendOperation(updatedArgs, spec);
597
+ return {
598
+ flatResponse,
599
+ rawResponse: {
600
+ statusCode: currentRawResponse!.status,
601
+ body: currentRawResponse!.parsedBody,
602
+ headers: currentRawResponse!.headers.toJSON()
603
+ }
604
+ };
605
+ };
606
+
607
+ const lro = new LroImpl(
608
+ sendOperation,
609
+ {
610
+ fabricName,
611
+ protectionContainerName,
612
+ replicatedProtectedItemName,
613
+ addDisksInput,
614
+ options
615
+ },
616
+ addDisksOperationSpec
617
+ );
618
+ return new LroEngine(lro, {
619
+ resumeFrom: options?.resumeFrom,
620
+ intervalInMs: options?.updateIntervalInMs
621
+ });
622
+ }
623
+
624
+ /**
625
+ * Operation to add disks(s) to the replication protected item.
626
+ * @param fabricName Unique fabric name.
627
+ * @param protectionContainerName Protection container name.
628
+ * @param replicatedProtectedItemName Replication protected item name.
629
+ * @param addDisksInput Add disks input.
630
+ * @param options The options parameters.
631
+ */
632
+ async beginAddDisksAndWait(
633
+ fabricName: string,
634
+ protectionContainerName: string,
635
+ replicatedProtectedItemName: string,
636
+ addDisksInput: AddDisksInput,
637
+ options?: ReplicationProtectedItemsAddDisksOptionalParams
638
+ ): Promise<ReplicationProtectedItemsAddDisksResponse> {
639
+ const poller = await this.beginAddDisks(
640
+ fabricName,
641
+ protectionContainerName,
642
+ replicatedProtectedItemName,
643
+ addDisksInput,
644
+ options
645
+ );
646
+ return poller.pollUntilDone();
647
+ }
648
+
649
+ /**
650
+ * The operation to change the recovery point of a failed over replication protected item.
651
+ * @param fabricName The ARM fabric name.
652
+ * @param protectionContainerName The protection container name.
653
+ * @param replicatedProtectedItemName The replicated protected item name.
654
+ * @param applyRecoveryPointInput The ApplyRecoveryPointInput.
655
+ * @param options The options parameters.
656
+ */
657
+ async beginApplyRecoveryPoint(
658
+ fabricName: string,
659
+ protectionContainerName: string,
660
+ replicatedProtectedItemName: string,
661
+ applyRecoveryPointInput: ApplyRecoveryPointInput,
662
+ options?: ReplicationProtectedItemsApplyRecoveryPointOptionalParams
663
+ ): Promise<
664
+ PollerLike<
665
+ PollOperationState<ReplicationProtectedItemsApplyRecoveryPointResponse>,
666
+ ReplicationProtectedItemsApplyRecoveryPointResponse
667
+ >
668
+ > {
669
+ const directSendOperation = async (
670
+ args: coreClient.OperationArguments,
671
+ spec: coreClient.OperationSpec
672
+ ): Promise<ReplicationProtectedItemsApplyRecoveryPointResponse> => {
673
+ return this.client.sendOperationRequest(args, spec);
674
+ };
675
+ const sendOperation = async (
676
+ args: coreClient.OperationArguments,
677
+ spec: coreClient.OperationSpec
678
+ ) => {
679
+ let currentRawResponse:
680
+ | coreClient.FullOperationResponse
681
+ | undefined = undefined;
682
+ const providedCallback = args.options?.onResponse;
683
+ const callback: coreClient.RawResponseCallback = (
684
+ rawResponse: coreClient.FullOperationResponse,
685
+ flatResponse: unknown
686
+ ) => {
687
+ currentRawResponse = rawResponse;
688
+ providedCallback?.(rawResponse, flatResponse);
689
+ };
690
+ const updatedArgs = {
691
+ ...args,
692
+ options: {
693
+ ...args.options,
694
+ onResponse: callback
695
+ }
696
+ };
697
+ const flatResponse = await directSendOperation(updatedArgs, spec);
698
+ return {
699
+ flatResponse,
700
+ rawResponse: {
701
+ statusCode: currentRawResponse!.status,
702
+ body: currentRawResponse!.parsedBody,
703
+ headers: currentRawResponse!.headers.toJSON()
704
+ }
705
+ };
706
+ };
707
+
708
+ const lro = new LroImpl(
709
+ sendOperation,
710
+ {
711
+ fabricName,
712
+ protectionContainerName,
713
+ replicatedProtectedItemName,
714
+ applyRecoveryPointInput,
715
+ options
716
+ },
717
+ applyRecoveryPointOperationSpec
718
+ );
719
+ return new LroEngine(lro, {
720
+ resumeFrom: options?.resumeFrom,
721
+ intervalInMs: options?.updateIntervalInMs
722
+ });
723
+ }
724
+
725
+ /**
726
+ * The operation to change the recovery point of a failed over replication protected item.
727
+ * @param fabricName The ARM fabric name.
728
+ * @param protectionContainerName The protection container name.
729
+ * @param replicatedProtectedItemName The replicated protected item name.
730
+ * @param applyRecoveryPointInput The ApplyRecoveryPointInput.
731
+ * @param options The options parameters.
732
+ */
733
+ async beginApplyRecoveryPointAndWait(
734
+ fabricName: string,
735
+ protectionContainerName: string,
736
+ replicatedProtectedItemName: string,
737
+ applyRecoveryPointInput: ApplyRecoveryPointInput,
738
+ options?: ReplicationProtectedItemsApplyRecoveryPointOptionalParams
739
+ ): Promise<ReplicationProtectedItemsApplyRecoveryPointResponse> {
740
+ const poller = await this.beginApplyRecoveryPoint(
741
+ fabricName,
742
+ protectionContainerName,
743
+ replicatedProtectedItemName,
744
+ applyRecoveryPointInput,
745
+ options
746
+ );
747
+ return poller.pollUntilDone();
748
+ }
749
+
750
+ /**
751
+ * Operation to cancel the failover of the replication protected item.
752
+ * @param fabricName Unique fabric name.
753
+ * @param protectionContainerName Protection container name.
754
+ * @param replicatedProtectedItemName Replication protected item name.
755
+ * @param options The options parameters.
756
+ */
757
+ async beginFailoverCancel(
758
+ fabricName: string,
759
+ protectionContainerName: string,
760
+ replicatedProtectedItemName: string,
761
+ options?: ReplicationProtectedItemsFailoverCancelOptionalParams
762
+ ): Promise<
763
+ PollerLike<
764
+ PollOperationState<ReplicationProtectedItemsFailoverCancelResponse>,
765
+ ReplicationProtectedItemsFailoverCancelResponse
766
+ >
767
+ > {
768
+ const directSendOperation = async (
769
+ args: coreClient.OperationArguments,
770
+ spec: coreClient.OperationSpec
771
+ ): Promise<ReplicationProtectedItemsFailoverCancelResponse> => {
772
+ return this.client.sendOperationRequest(args, spec);
773
+ };
774
+ const sendOperation = async (
775
+ args: coreClient.OperationArguments,
776
+ spec: coreClient.OperationSpec
777
+ ) => {
778
+ let currentRawResponse:
779
+ | coreClient.FullOperationResponse
780
+ | undefined = undefined;
781
+ const providedCallback = args.options?.onResponse;
782
+ const callback: coreClient.RawResponseCallback = (
783
+ rawResponse: coreClient.FullOperationResponse,
784
+ flatResponse: unknown
785
+ ) => {
786
+ currentRawResponse = rawResponse;
787
+ providedCallback?.(rawResponse, flatResponse);
788
+ };
789
+ const updatedArgs = {
790
+ ...args,
791
+ options: {
792
+ ...args.options,
793
+ onResponse: callback
794
+ }
795
+ };
796
+ const flatResponse = await directSendOperation(updatedArgs, spec);
797
+ return {
798
+ flatResponse,
799
+ rawResponse: {
800
+ statusCode: currentRawResponse!.status,
801
+ body: currentRawResponse!.parsedBody,
802
+ headers: currentRawResponse!.headers.toJSON()
803
+ }
804
+ };
805
+ };
806
+
807
+ const lro = new LroImpl(
808
+ sendOperation,
809
+ {
810
+ fabricName,
811
+ protectionContainerName,
812
+ replicatedProtectedItemName,
813
+ options
814
+ },
815
+ failoverCancelOperationSpec
816
+ );
817
+ return new LroEngine(lro, {
818
+ resumeFrom: options?.resumeFrom,
819
+ intervalInMs: options?.updateIntervalInMs
820
+ });
821
+ }
822
+
823
+ /**
824
+ * Operation to cancel the failover of the replication protected item.
825
+ * @param fabricName Unique fabric name.
826
+ * @param protectionContainerName Protection container name.
827
+ * @param replicatedProtectedItemName Replication protected item name.
828
+ * @param options The options parameters.
829
+ */
830
+ async beginFailoverCancelAndWait(
831
+ fabricName: string,
832
+ protectionContainerName: string,
833
+ replicatedProtectedItemName: string,
834
+ options?: ReplicationProtectedItemsFailoverCancelOptionalParams
835
+ ): Promise<ReplicationProtectedItemsFailoverCancelResponse> {
836
+ const poller = await this.beginFailoverCancel(
837
+ fabricName,
838
+ protectionContainerName,
839
+ replicatedProtectedItemName,
840
+ options
841
+ );
842
+ return poller.pollUntilDone();
843
+ }
844
+
845
+ /**
846
+ * Operation to commit the failover of the replication protected item.
847
+ * @param fabricName Unique fabric name.
848
+ * @param protectionContainerName Protection container name.
849
+ * @param replicatedProtectedItemName Replication protected item name.
850
+ * @param options The options parameters.
851
+ */
852
+ async beginFailoverCommit(
853
+ fabricName: string,
854
+ protectionContainerName: string,
855
+ replicatedProtectedItemName: string,
856
+ options?: ReplicationProtectedItemsFailoverCommitOptionalParams
857
+ ): Promise<
858
+ PollerLike<
859
+ PollOperationState<ReplicationProtectedItemsFailoverCommitResponse>,
860
+ ReplicationProtectedItemsFailoverCommitResponse
861
+ >
862
+ > {
863
+ const directSendOperation = async (
864
+ args: coreClient.OperationArguments,
865
+ spec: coreClient.OperationSpec
866
+ ): Promise<ReplicationProtectedItemsFailoverCommitResponse> => {
867
+ return this.client.sendOperationRequest(args, spec);
868
+ };
869
+ const sendOperation = async (
870
+ args: coreClient.OperationArguments,
871
+ spec: coreClient.OperationSpec
872
+ ) => {
873
+ let currentRawResponse:
874
+ | coreClient.FullOperationResponse
875
+ | undefined = undefined;
876
+ const providedCallback = args.options?.onResponse;
877
+ const callback: coreClient.RawResponseCallback = (
878
+ rawResponse: coreClient.FullOperationResponse,
879
+ flatResponse: unknown
880
+ ) => {
881
+ currentRawResponse = rawResponse;
882
+ providedCallback?.(rawResponse, flatResponse);
883
+ };
884
+ const updatedArgs = {
885
+ ...args,
886
+ options: {
887
+ ...args.options,
888
+ onResponse: callback
889
+ }
890
+ };
891
+ const flatResponse = await directSendOperation(updatedArgs, spec);
892
+ return {
893
+ flatResponse,
894
+ rawResponse: {
895
+ statusCode: currentRawResponse!.status,
896
+ body: currentRawResponse!.parsedBody,
897
+ headers: currentRawResponse!.headers.toJSON()
898
+ }
899
+ };
900
+ };
901
+
902
+ const lro = new LroImpl(
903
+ sendOperation,
904
+ {
905
+ fabricName,
906
+ protectionContainerName,
907
+ replicatedProtectedItemName,
908
+ options
909
+ },
910
+ failoverCommitOperationSpec
911
+ );
912
+ return new LroEngine(lro, {
913
+ resumeFrom: options?.resumeFrom,
914
+ intervalInMs: options?.updateIntervalInMs
915
+ });
916
+ }
917
+
918
+ /**
919
+ * Operation to commit the failover of the replication protected item.
920
+ * @param fabricName Unique fabric name.
921
+ * @param protectionContainerName Protection container name.
922
+ * @param replicatedProtectedItemName Replication protected item name.
923
+ * @param options The options parameters.
924
+ */
925
+ async beginFailoverCommitAndWait(
926
+ fabricName: string,
927
+ protectionContainerName: string,
928
+ replicatedProtectedItemName: string,
929
+ options?: ReplicationProtectedItemsFailoverCommitOptionalParams
930
+ ): Promise<ReplicationProtectedItemsFailoverCommitResponse> {
931
+ const poller = await this.beginFailoverCommit(
932
+ fabricName,
933
+ protectionContainerName,
934
+ replicatedProtectedItemName,
935
+ options
936
+ );
937
+ return poller.pollUntilDone();
938
+ }
939
+
940
+ /**
941
+ * Operation to initiate a planned failover of the replication protected item.
942
+ * @param fabricName Unique fabric name.
943
+ * @param protectionContainerName Protection container name.
944
+ * @param replicatedProtectedItemName Replication protected item name.
945
+ * @param failoverInput Planned failover input.
946
+ * @param options The options parameters.
947
+ */
948
+ async beginPlannedFailover(
949
+ fabricName: string,
950
+ protectionContainerName: string,
951
+ replicatedProtectedItemName: string,
952
+ failoverInput: PlannedFailoverInput,
953
+ options?: ReplicationProtectedItemsPlannedFailoverOptionalParams
954
+ ): Promise<
955
+ PollerLike<
956
+ PollOperationState<ReplicationProtectedItemsPlannedFailoverResponse>,
957
+ ReplicationProtectedItemsPlannedFailoverResponse
958
+ >
959
+ > {
960
+ const directSendOperation = async (
961
+ args: coreClient.OperationArguments,
962
+ spec: coreClient.OperationSpec
963
+ ): Promise<ReplicationProtectedItemsPlannedFailoverResponse> => {
964
+ return this.client.sendOperationRequest(args, spec);
965
+ };
966
+ const sendOperation = async (
967
+ args: coreClient.OperationArguments,
968
+ spec: coreClient.OperationSpec
969
+ ) => {
970
+ let currentRawResponse:
971
+ | coreClient.FullOperationResponse
972
+ | undefined = undefined;
973
+ const providedCallback = args.options?.onResponse;
974
+ const callback: coreClient.RawResponseCallback = (
975
+ rawResponse: coreClient.FullOperationResponse,
976
+ flatResponse: unknown
977
+ ) => {
978
+ currentRawResponse = rawResponse;
979
+ providedCallback?.(rawResponse, flatResponse);
980
+ };
981
+ const updatedArgs = {
982
+ ...args,
983
+ options: {
984
+ ...args.options,
985
+ onResponse: callback
986
+ }
987
+ };
988
+ const flatResponse = await directSendOperation(updatedArgs, spec);
989
+ return {
990
+ flatResponse,
991
+ rawResponse: {
992
+ statusCode: currentRawResponse!.status,
993
+ body: currentRawResponse!.parsedBody,
994
+ headers: currentRawResponse!.headers.toJSON()
995
+ }
996
+ };
997
+ };
998
+
999
+ const lro = new LroImpl(
1000
+ sendOperation,
1001
+ {
1002
+ fabricName,
1003
+ protectionContainerName,
1004
+ replicatedProtectedItemName,
1005
+ failoverInput,
1006
+ options
1007
+ },
1008
+ plannedFailoverOperationSpec
1009
+ );
1010
+ return new LroEngine(lro, {
1011
+ resumeFrom: options?.resumeFrom,
1012
+ intervalInMs: options?.updateIntervalInMs
1013
+ });
1014
+ }
1015
+
1016
+ /**
1017
+ * Operation to initiate a planned failover of the replication protected item.
1018
+ * @param fabricName Unique fabric name.
1019
+ * @param protectionContainerName Protection container name.
1020
+ * @param replicatedProtectedItemName Replication protected item name.
1021
+ * @param failoverInput Planned failover input.
1022
+ * @param options The options parameters.
1023
+ */
1024
+ async beginPlannedFailoverAndWait(
1025
+ fabricName: string,
1026
+ protectionContainerName: string,
1027
+ replicatedProtectedItemName: string,
1028
+ failoverInput: PlannedFailoverInput,
1029
+ options?: ReplicationProtectedItemsPlannedFailoverOptionalParams
1030
+ ): Promise<ReplicationProtectedItemsPlannedFailoverResponse> {
1031
+ const poller = await this.beginPlannedFailover(
1032
+ fabricName,
1033
+ protectionContainerName,
1034
+ replicatedProtectedItemName,
1035
+ failoverInput,
1036
+ options
1037
+ );
1038
+ return poller.pollUntilDone();
1039
+ }
1040
+
1041
+ /**
1042
+ * The operation to disable replication on a replication protected item. This will also remove the
1043
+ * item.
1044
+ * @param fabricName Fabric name.
1045
+ * @param protectionContainerName Protection container name.
1046
+ * @param replicatedProtectedItemName Replication protected item name.
1047
+ * @param disableProtectionInput Disable protection input.
1048
+ * @param options The options parameters.
1049
+ */
1050
+ async beginDelete(
1051
+ fabricName: string,
1052
+ protectionContainerName: string,
1053
+ replicatedProtectedItemName: string,
1054
+ disableProtectionInput: DisableProtectionInput,
1055
+ options?: ReplicationProtectedItemsDeleteOptionalParams
1056
+ ): Promise<PollerLike<PollOperationState<void>, void>> {
1057
+ const directSendOperation = async (
1058
+ args: coreClient.OperationArguments,
1059
+ spec: coreClient.OperationSpec
1060
+ ): Promise<void> => {
1061
+ return this.client.sendOperationRequest(args, spec);
1062
+ };
1063
+ const sendOperation = async (
1064
+ args: coreClient.OperationArguments,
1065
+ spec: coreClient.OperationSpec
1066
+ ) => {
1067
+ let currentRawResponse:
1068
+ | coreClient.FullOperationResponse
1069
+ | undefined = undefined;
1070
+ const providedCallback = args.options?.onResponse;
1071
+ const callback: coreClient.RawResponseCallback = (
1072
+ rawResponse: coreClient.FullOperationResponse,
1073
+ flatResponse: unknown
1074
+ ) => {
1075
+ currentRawResponse = rawResponse;
1076
+ providedCallback?.(rawResponse, flatResponse);
1077
+ };
1078
+ const updatedArgs = {
1079
+ ...args,
1080
+ options: {
1081
+ ...args.options,
1082
+ onResponse: callback
1083
+ }
1084
+ };
1085
+ const flatResponse = await directSendOperation(updatedArgs, spec);
1086
+ return {
1087
+ flatResponse,
1088
+ rawResponse: {
1089
+ statusCode: currentRawResponse!.status,
1090
+ body: currentRawResponse!.parsedBody,
1091
+ headers: currentRawResponse!.headers.toJSON()
1092
+ }
1093
+ };
1094
+ };
1095
+
1096
+ const lro = new LroImpl(
1097
+ sendOperation,
1098
+ {
1099
+ fabricName,
1100
+ protectionContainerName,
1101
+ replicatedProtectedItemName,
1102
+ disableProtectionInput,
1103
+ options
1104
+ },
1105
+ deleteOperationSpec
1106
+ );
1107
+ return new LroEngine(lro, {
1108
+ resumeFrom: options?.resumeFrom,
1109
+ intervalInMs: options?.updateIntervalInMs
1110
+ });
1111
+ }
1112
+
1113
+ /**
1114
+ * The operation to disable replication on a replication protected item. This will also remove the
1115
+ * item.
1116
+ * @param fabricName Fabric name.
1117
+ * @param protectionContainerName Protection container name.
1118
+ * @param replicatedProtectedItemName Replication protected item name.
1119
+ * @param disableProtectionInput Disable protection input.
1120
+ * @param options The options parameters.
1121
+ */
1122
+ async beginDeleteAndWait(
1123
+ fabricName: string,
1124
+ protectionContainerName: string,
1125
+ replicatedProtectedItemName: string,
1126
+ disableProtectionInput: DisableProtectionInput,
1127
+ options?: ReplicationProtectedItemsDeleteOptionalParams
1128
+ ): Promise<void> {
1129
+ const poller = await this.beginDelete(
1130
+ fabricName,
1131
+ protectionContainerName,
1132
+ replicatedProtectedItemName,
1133
+ disableProtectionInput,
1134
+ options
1135
+ );
1136
+ return poller.pollUntilDone();
1137
+ }
1138
+
1139
+ /**
1140
+ * Operation to remove disk(s) from the replication protected item.
1141
+ * @param fabricName Unique fabric name.
1142
+ * @param protectionContainerName Protection container name.
1143
+ * @param replicatedProtectedItemName Replication protected item name.
1144
+ * @param removeDisksInput Remove disks input.
1145
+ * @param options The options parameters.
1146
+ */
1147
+ async beginRemoveDisks(
1148
+ fabricName: string,
1149
+ protectionContainerName: string,
1150
+ replicatedProtectedItemName: string,
1151
+ removeDisksInput: RemoveDisksInput,
1152
+ options?: ReplicationProtectedItemsRemoveDisksOptionalParams
1153
+ ): Promise<
1154
+ PollerLike<
1155
+ PollOperationState<ReplicationProtectedItemsRemoveDisksResponse>,
1156
+ ReplicationProtectedItemsRemoveDisksResponse
1157
+ >
1158
+ > {
1159
+ const directSendOperation = async (
1160
+ args: coreClient.OperationArguments,
1161
+ spec: coreClient.OperationSpec
1162
+ ): Promise<ReplicationProtectedItemsRemoveDisksResponse> => {
1163
+ return this.client.sendOperationRequest(args, spec);
1164
+ };
1165
+ const sendOperation = async (
1166
+ args: coreClient.OperationArguments,
1167
+ spec: coreClient.OperationSpec
1168
+ ) => {
1169
+ let currentRawResponse:
1170
+ | coreClient.FullOperationResponse
1171
+ | undefined = undefined;
1172
+ const providedCallback = args.options?.onResponse;
1173
+ const callback: coreClient.RawResponseCallback = (
1174
+ rawResponse: coreClient.FullOperationResponse,
1175
+ flatResponse: unknown
1176
+ ) => {
1177
+ currentRawResponse = rawResponse;
1178
+ providedCallback?.(rawResponse, flatResponse);
1179
+ };
1180
+ const updatedArgs = {
1181
+ ...args,
1182
+ options: {
1183
+ ...args.options,
1184
+ onResponse: callback
1185
+ }
1186
+ };
1187
+ const flatResponse = await directSendOperation(updatedArgs, spec);
1188
+ return {
1189
+ flatResponse,
1190
+ rawResponse: {
1191
+ statusCode: currentRawResponse!.status,
1192
+ body: currentRawResponse!.parsedBody,
1193
+ headers: currentRawResponse!.headers.toJSON()
1194
+ }
1195
+ };
1196
+ };
1197
+
1198
+ const lro = new LroImpl(
1199
+ sendOperation,
1200
+ {
1201
+ fabricName,
1202
+ protectionContainerName,
1203
+ replicatedProtectedItemName,
1204
+ removeDisksInput,
1205
+ options
1206
+ },
1207
+ removeDisksOperationSpec
1208
+ );
1209
+ return new LroEngine(lro, {
1210
+ resumeFrom: options?.resumeFrom,
1211
+ intervalInMs: options?.updateIntervalInMs
1212
+ });
1213
+ }
1214
+
1215
+ /**
1216
+ * Operation to remove disk(s) from the replication protected item.
1217
+ * @param fabricName Unique fabric name.
1218
+ * @param protectionContainerName Protection container name.
1219
+ * @param replicatedProtectedItemName Replication protected item name.
1220
+ * @param removeDisksInput Remove disks input.
1221
+ * @param options The options parameters.
1222
+ */
1223
+ async beginRemoveDisksAndWait(
1224
+ fabricName: string,
1225
+ protectionContainerName: string,
1226
+ replicatedProtectedItemName: string,
1227
+ removeDisksInput: RemoveDisksInput,
1228
+ options?: ReplicationProtectedItemsRemoveDisksOptionalParams
1229
+ ): Promise<ReplicationProtectedItemsRemoveDisksResponse> {
1230
+ const poller = await this.beginRemoveDisks(
1231
+ fabricName,
1232
+ protectionContainerName,
1233
+ replicatedProtectedItemName,
1234
+ removeDisksInput,
1235
+ options
1236
+ );
1237
+ return poller.pollUntilDone();
1238
+ }
1239
+
1240
+ /**
1241
+ * The operation to start resynchronize/repair replication for a replication protected item requiring
1242
+ * resynchronization.
1243
+ * @param fabricName The name of the fabric.
1244
+ * @param protectionContainerName The name of the container.
1245
+ * @param replicatedProtectedItemName The name of the replication protected item.
1246
+ * @param options The options parameters.
1247
+ */
1248
+ async beginRepairReplication(
1249
+ fabricName: string,
1250
+ protectionContainerName: string,
1251
+ replicatedProtectedItemName: string,
1252
+ options?: ReplicationProtectedItemsRepairReplicationOptionalParams
1253
+ ): Promise<
1254
+ PollerLike<
1255
+ PollOperationState<ReplicationProtectedItemsRepairReplicationResponse>,
1256
+ ReplicationProtectedItemsRepairReplicationResponse
1257
+ >
1258
+ > {
1259
+ const directSendOperation = async (
1260
+ args: coreClient.OperationArguments,
1261
+ spec: coreClient.OperationSpec
1262
+ ): Promise<ReplicationProtectedItemsRepairReplicationResponse> => {
1263
+ return this.client.sendOperationRequest(args, spec);
1264
+ };
1265
+ const sendOperation = async (
1266
+ args: coreClient.OperationArguments,
1267
+ spec: coreClient.OperationSpec
1268
+ ) => {
1269
+ let currentRawResponse:
1270
+ | coreClient.FullOperationResponse
1271
+ | undefined = undefined;
1272
+ const providedCallback = args.options?.onResponse;
1273
+ const callback: coreClient.RawResponseCallback = (
1274
+ rawResponse: coreClient.FullOperationResponse,
1275
+ flatResponse: unknown
1276
+ ) => {
1277
+ currentRawResponse = rawResponse;
1278
+ providedCallback?.(rawResponse, flatResponse);
1279
+ };
1280
+ const updatedArgs = {
1281
+ ...args,
1282
+ options: {
1283
+ ...args.options,
1284
+ onResponse: callback
1285
+ }
1286
+ };
1287
+ const flatResponse = await directSendOperation(updatedArgs, spec);
1288
+ return {
1289
+ flatResponse,
1290
+ rawResponse: {
1291
+ statusCode: currentRawResponse!.status,
1292
+ body: currentRawResponse!.parsedBody,
1293
+ headers: currentRawResponse!.headers.toJSON()
1294
+ }
1295
+ };
1296
+ };
1297
+
1298
+ const lro = new LroImpl(
1299
+ sendOperation,
1300
+ {
1301
+ fabricName,
1302
+ protectionContainerName,
1303
+ replicatedProtectedItemName,
1304
+ options
1305
+ },
1306
+ repairReplicationOperationSpec
1307
+ );
1308
+ return new LroEngine(lro, {
1309
+ resumeFrom: options?.resumeFrom,
1310
+ intervalInMs: options?.updateIntervalInMs
1311
+ });
1312
+ }
1313
+
1314
+ /**
1315
+ * The operation to start resynchronize/repair replication for a replication protected item requiring
1316
+ * resynchronization.
1317
+ * @param fabricName The name of the fabric.
1318
+ * @param protectionContainerName The name of the container.
1319
+ * @param replicatedProtectedItemName The name of the replication protected item.
1320
+ * @param options The options parameters.
1321
+ */
1322
+ async beginRepairReplicationAndWait(
1323
+ fabricName: string,
1324
+ protectionContainerName: string,
1325
+ replicatedProtectedItemName: string,
1326
+ options?: ReplicationProtectedItemsRepairReplicationOptionalParams
1327
+ ): Promise<ReplicationProtectedItemsRepairReplicationResponse> {
1328
+ const poller = await this.beginRepairReplication(
1329
+ fabricName,
1330
+ protectionContainerName,
1331
+ replicatedProtectedItemName,
1332
+ options
1333
+ );
1334
+ return poller.pollUntilDone();
1335
+ }
1336
+
1337
+ /**
1338
+ * Operation to reprotect or reverse replicate a failed over replication protected item.
1339
+ * @param fabricName Unique fabric name.
1340
+ * @param protectionContainerName Protection container name.
1341
+ * @param replicatedProtectedItemName Replication protected item name.
1342
+ * @param reprotectInput Reverse replication input.
1343
+ * @param options The options parameters.
1344
+ */
1345
+ async beginReprotect(
1346
+ fabricName: string,
1347
+ protectionContainerName: string,
1348
+ replicatedProtectedItemName: string,
1349
+ reprotectInput: ReverseReplicationInput,
1350
+ options?: ReplicationProtectedItemsReprotectOptionalParams
1351
+ ): Promise<
1352
+ PollerLike<
1353
+ PollOperationState<ReplicationProtectedItemsReprotectResponse>,
1354
+ ReplicationProtectedItemsReprotectResponse
1355
+ >
1356
+ > {
1357
+ const directSendOperation = async (
1358
+ args: coreClient.OperationArguments,
1359
+ spec: coreClient.OperationSpec
1360
+ ): Promise<ReplicationProtectedItemsReprotectResponse> => {
1361
+ return this.client.sendOperationRequest(args, spec);
1362
+ };
1363
+ const sendOperation = async (
1364
+ args: coreClient.OperationArguments,
1365
+ spec: coreClient.OperationSpec
1366
+ ) => {
1367
+ let currentRawResponse:
1368
+ | coreClient.FullOperationResponse
1369
+ | undefined = undefined;
1370
+ const providedCallback = args.options?.onResponse;
1371
+ const callback: coreClient.RawResponseCallback = (
1372
+ rawResponse: coreClient.FullOperationResponse,
1373
+ flatResponse: unknown
1374
+ ) => {
1375
+ currentRawResponse = rawResponse;
1376
+ providedCallback?.(rawResponse, flatResponse);
1377
+ };
1378
+ const updatedArgs = {
1379
+ ...args,
1380
+ options: {
1381
+ ...args.options,
1382
+ onResponse: callback
1383
+ }
1384
+ };
1385
+ const flatResponse = await directSendOperation(updatedArgs, spec);
1386
+ return {
1387
+ flatResponse,
1388
+ rawResponse: {
1389
+ statusCode: currentRawResponse!.status,
1390
+ body: currentRawResponse!.parsedBody,
1391
+ headers: currentRawResponse!.headers.toJSON()
1392
+ }
1393
+ };
1394
+ };
1395
+
1396
+ const lro = new LroImpl(
1397
+ sendOperation,
1398
+ {
1399
+ fabricName,
1400
+ protectionContainerName,
1401
+ replicatedProtectedItemName,
1402
+ reprotectInput,
1403
+ options
1404
+ },
1405
+ reprotectOperationSpec
1406
+ );
1407
+ return new LroEngine(lro, {
1408
+ resumeFrom: options?.resumeFrom,
1409
+ intervalInMs: options?.updateIntervalInMs
1410
+ });
1411
+ }
1412
+
1413
+ /**
1414
+ * Operation to reprotect or reverse replicate a failed over replication protected item.
1415
+ * @param fabricName Unique fabric name.
1416
+ * @param protectionContainerName Protection container name.
1417
+ * @param replicatedProtectedItemName Replication protected item name.
1418
+ * @param reprotectInput Reverse replication input.
1419
+ * @param options The options parameters.
1420
+ */
1421
+ async beginReprotectAndWait(
1422
+ fabricName: string,
1423
+ protectionContainerName: string,
1424
+ replicatedProtectedItemName: string,
1425
+ reprotectInput: ReverseReplicationInput,
1426
+ options?: ReplicationProtectedItemsReprotectOptionalParams
1427
+ ): Promise<ReplicationProtectedItemsReprotectResponse> {
1428
+ const poller = await this.beginReprotect(
1429
+ fabricName,
1430
+ protectionContainerName,
1431
+ replicatedProtectedItemName,
1432
+ reprotectInput,
1433
+ options
1434
+ );
1435
+ return poller.pollUntilDone();
1436
+ }
1437
+
1438
+ /**
1439
+ * Operation to resolve health issues of the replication protected item.
1440
+ * @param fabricName Unique fabric name.
1441
+ * @param protectionContainerName Protection container name.
1442
+ * @param replicatedProtectedItemName Replication protected item name.
1443
+ * @param resolveHealthInput Health issue input object.
1444
+ * @param options The options parameters.
1445
+ */
1446
+ async beginResolveHealthErrors(
1447
+ fabricName: string,
1448
+ protectionContainerName: string,
1449
+ replicatedProtectedItemName: string,
1450
+ resolveHealthInput: ResolveHealthInput,
1451
+ options?: ReplicationProtectedItemsResolveHealthErrorsOptionalParams
1452
+ ): Promise<
1453
+ PollerLike<
1454
+ PollOperationState<ReplicationProtectedItemsResolveHealthErrorsResponse>,
1455
+ ReplicationProtectedItemsResolveHealthErrorsResponse
1456
+ >
1457
+ > {
1458
+ const directSendOperation = async (
1459
+ args: coreClient.OperationArguments,
1460
+ spec: coreClient.OperationSpec
1461
+ ): Promise<ReplicationProtectedItemsResolveHealthErrorsResponse> => {
1462
+ return this.client.sendOperationRequest(args, spec);
1463
+ };
1464
+ const sendOperation = async (
1465
+ args: coreClient.OperationArguments,
1466
+ spec: coreClient.OperationSpec
1467
+ ) => {
1468
+ let currentRawResponse:
1469
+ | coreClient.FullOperationResponse
1470
+ | undefined = undefined;
1471
+ const providedCallback = args.options?.onResponse;
1472
+ const callback: coreClient.RawResponseCallback = (
1473
+ rawResponse: coreClient.FullOperationResponse,
1474
+ flatResponse: unknown
1475
+ ) => {
1476
+ currentRawResponse = rawResponse;
1477
+ providedCallback?.(rawResponse, flatResponse);
1478
+ };
1479
+ const updatedArgs = {
1480
+ ...args,
1481
+ options: {
1482
+ ...args.options,
1483
+ onResponse: callback
1484
+ }
1485
+ };
1486
+ const flatResponse = await directSendOperation(updatedArgs, spec);
1487
+ return {
1488
+ flatResponse,
1489
+ rawResponse: {
1490
+ statusCode: currentRawResponse!.status,
1491
+ body: currentRawResponse!.parsedBody,
1492
+ headers: currentRawResponse!.headers.toJSON()
1493
+ }
1494
+ };
1495
+ };
1496
+
1497
+ const lro = new LroImpl(
1498
+ sendOperation,
1499
+ {
1500
+ fabricName,
1501
+ protectionContainerName,
1502
+ replicatedProtectedItemName,
1503
+ resolveHealthInput,
1504
+ options
1505
+ },
1506
+ resolveHealthErrorsOperationSpec
1507
+ );
1508
+ return new LroEngine(lro, {
1509
+ resumeFrom: options?.resumeFrom,
1510
+ intervalInMs: options?.updateIntervalInMs
1511
+ });
1512
+ }
1513
+
1514
+ /**
1515
+ * Operation to resolve health issues of the replication protected item.
1516
+ * @param fabricName Unique fabric name.
1517
+ * @param protectionContainerName Protection container name.
1518
+ * @param replicatedProtectedItemName Replication protected item name.
1519
+ * @param resolveHealthInput Health issue input object.
1520
+ * @param options The options parameters.
1521
+ */
1522
+ async beginResolveHealthErrorsAndWait(
1523
+ fabricName: string,
1524
+ protectionContainerName: string,
1525
+ replicatedProtectedItemName: string,
1526
+ resolveHealthInput: ResolveHealthInput,
1527
+ options?: ReplicationProtectedItemsResolveHealthErrorsOptionalParams
1528
+ ): Promise<ReplicationProtectedItemsResolveHealthErrorsResponse> {
1529
+ const poller = await this.beginResolveHealthErrors(
1530
+ fabricName,
1531
+ protectionContainerName,
1532
+ replicatedProtectedItemName,
1533
+ resolveHealthInput,
1534
+ options
1535
+ );
1536
+ return poller.pollUntilDone();
1537
+ }
1538
+
1539
+ /**
1540
+ * Operation to initiate a switch provider of the replication protected item.
1541
+ * @param fabricName Unique fabric name.
1542
+ * @param protectionContainerName Protection container name.
1543
+ * @param replicatedProtectedItemName Replication protected item name.
1544
+ * @param switchProviderInput Switch provider input.
1545
+ * @param options The options parameters.
1546
+ */
1547
+ async beginSwitchProvider(
1548
+ fabricName: string,
1549
+ protectionContainerName: string,
1550
+ replicatedProtectedItemName: string,
1551
+ switchProviderInput: SwitchProviderInput,
1552
+ options?: ReplicationProtectedItemsSwitchProviderOptionalParams
1553
+ ): Promise<
1554
+ PollerLike<
1555
+ PollOperationState<ReplicationProtectedItemsSwitchProviderResponse>,
1556
+ ReplicationProtectedItemsSwitchProviderResponse
1557
+ >
1558
+ > {
1559
+ const directSendOperation = async (
1560
+ args: coreClient.OperationArguments,
1561
+ spec: coreClient.OperationSpec
1562
+ ): Promise<ReplicationProtectedItemsSwitchProviderResponse> => {
1563
+ return this.client.sendOperationRequest(args, spec);
1564
+ };
1565
+ const sendOperation = async (
1566
+ args: coreClient.OperationArguments,
1567
+ spec: coreClient.OperationSpec
1568
+ ) => {
1569
+ let currentRawResponse:
1570
+ | coreClient.FullOperationResponse
1571
+ | undefined = undefined;
1572
+ const providedCallback = args.options?.onResponse;
1573
+ const callback: coreClient.RawResponseCallback = (
1574
+ rawResponse: coreClient.FullOperationResponse,
1575
+ flatResponse: unknown
1576
+ ) => {
1577
+ currentRawResponse = rawResponse;
1578
+ providedCallback?.(rawResponse, flatResponse);
1579
+ };
1580
+ const updatedArgs = {
1581
+ ...args,
1582
+ options: {
1583
+ ...args.options,
1584
+ onResponse: callback
1585
+ }
1586
+ };
1587
+ const flatResponse = await directSendOperation(updatedArgs, spec);
1588
+ return {
1589
+ flatResponse,
1590
+ rawResponse: {
1591
+ statusCode: currentRawResponse!.status,
1592
+ body: currentRawResponse!.parsedBody,
1593
+ headers: currentRawResponse!.headers.toJSON()
1594
+ }
1595
+ };
1596
+ };
1597
+
1598
+ const lro = new LroImpl(
1599
+ sendOperation,
1600
+ {
1601
+ fabricName,
1602
+ protectionContainerName,
1603
+ replicatedProtectedItemName,
1604
+ switchProviderInput,
1605
+ options
1606
+ },
1607
+ switchProviderOperationSpec
1608
+ );
1609
+ return new LroEngine(lro, {
1610
+ resumeFrom: options?.resumeFrom,
1611
+ intervalInMs: options?.updateIntervalInMs,
1612
+ lroResourceLocationConfig: "azure-async-operation"
1613
+ });
1614
+ }
1615
+
1616
+ /**
1617
+ * Operation to initiate a switch provider of the replication protected item.
1618
+ * @param fabricName Unique fabric name.
1619
+ * @param protectionContainerName Protection container name.
1620
+ * @param replicatedProtectedItemName Replication protected item name.
1621
+ * @param switchProviderInput Switch provider input.
1622
+ * @param options The options parameters.
1623
+ */
1624
+ async beginSwitchProviderAndWait(
1625
+ fabricName: string,
1626
+ protectionContainerName: string,
1627
+ replicatedProtectedItemName: string,
1628
+ switchProviderInput: SwitchProviderInput,
1629
+ options?: ReplicationProtectedItemsSwitchProviderOptionalParams
1630
+ ): Promise<ReplicationProtectedItemsSwitchProviderResponse> {
1631
+ const poller = await this.beginSwitchProvider(
1632
+ fabricName,
1633
+ protectionContainerName,
1634
+ replicatedProtectedItemName,
1635
+ switchProviderInput,
1636
+ options
1637
+ );
1638
+ return poller.pollUntilDone();
1639
+ }
1640
+
1641
+ /**
1642
+ * Operation to perform a test failover of the replication protected item.
1643
+ * @param fabricName Unique fabric name.
1644
+ * @param protectionContainerName Protection container name.
1645
+ * @param replicatedProtectedItemName Replication protected item name.
1646
+ * @param testfailoverInput Test failover input.
1647
+ * @param options The options parameters.
1648
+ */
1649
+ async beginTestFailover(
1650
+ fabricName: string,
1651
+ protectionContainerName: string,
1652
+ replicatedProtectedItemName: string,
1653
+ testfailoverInput: TestFailoverInput,
1654
+ options?: ReplicationProtectedItemsTestFailoverOptionalParams
1655
+ ): Promise<
1656
+ PollerLike<
1657
+ PollOperationState<ReplicationProtectedItemsTestFailoverResponse>,
1658
+ ReplicationProtectedItemsTestFailoverResponse
1659
+ >
1660
+ > {
1661
+ const directSendOperation = async (
1662
+ args: coreClient.OperationArguments,
1663
+ spec: coreClient.OperationSpec
1664
+ ): Promise<ReplicationProtectedItemsTestFailoverResponse> => {
1665
+ return this.client.sendOperationRequest(args, spec);
1666
+ };
1667
+ const sendOperation = async (
1668
+ args: coreClient.OperationArguments,
1669
+ spec: coreClient.OperationSpec
1670
+ ) => {
1671
+ let currentRawResponse:
1672
+ | coreClient.FullOperationResponse
1673
+ | undefined = undefined;
1674
+ const providedCallback = args.options?.onResponse;
1675
+ const callback: coreClient.RawResponseCallback = (
1676
+ rawResponse: coreClient.FullOperationResponse,
1677
+ flatResponse: unknown
1678
+ ) => {
1679
+ currentRawResponse = rawResponse;
1680
+ providedCallback?.(rawResponse, flatResponse);
1681
+ };
1682
+ const updatedArgs = {
1683
+ ...args,
1684
+ options: {
1685
+ ...args.options,
1686
+ onResponse: callback
1687
+ }
1688
+ };
1689
+ const flatResponse = await directSendOperation(updatedArgs, spec);
1690
+ return {
1691
+ flatResponse,
1692
+ rawResponse: {
1693
+ statusCode: currentRawResponse!.status,
1694
+ body: currentRawResponse!.parsedBody,
1695
+ headers: currentRawResponse!.headers.toJSON()
1696
+ }
1697
+ };
1698
+ };
1699
+
1700
+ const lro = new LroImpl(
1701
+ sendOperation,
1702
+ {
1703
+ fabricName,
1704
+ protectionContainerName,
1705
+ replicatedProtectedItemName,
1706
+ testfailoverInput,
1707
+ options
1708
+ },
1709
+ testFailoverOperationSpec
1710
+ );
1711
+ return new LroEngine(lro, {
1712
+ resumeFrom: options?.resumeFrom,
1713
+ intervalInMs: options?.updateIntervalInMs
1714
+ });
1715
+ }
1716
+
1717
+ /**
1718
+ * Operation to perform a test failover of the replication protected item.
1719
+ * @param fabricName Unique fabric name.
1720
+ * @param protectionContainerName Protection container name.
1721
+ * @param replicatedProtectedItemName Replication protected item name.
1722
+ * @param testfailoverInput Test failover input.
1723
+ * @param options The options parameters.
1724
+ */
1725
+ async beginTestFailoverAndWait(
1726
+ fabricName: string,
1727
+ protectionContainerName: string,
1728
+ replicatedProtectedItemName: string,
1729
+ testfailoverInput: TestFailoverInput,
1730
+ options?: ReplicationProtectedItemsTestFailoverOptionalParams
1731
+ ): Promise<ReplicationProtectedItemsTestFailoverResponse> {
1732
+ const poller = await this.beginTestFailover(
1733
+ fabricName,
1734
+ protectionContainerName,
1735
+ replicatedProtectedItemName,
1736
+ testfailoverInput,
1737
+ options
1738
+ );
1739
+ return poller.pollUntilDone();
1740
+ }
1741
+
1742
+ /**
1743
+ * Operation to clean up the test failover of a replication protected item.
1744
+ * @param fabricName Unique fabric name.
1745
+ * @param protectionContainerName Protection container name.
1746
+ * @param replicatedProtectedItemName Replication protected item name.
1747
+ * @param cleanupInput Test failover cleanup input.
1748
+ * @param options The options parameters.
1749
+ */
1750
+ async beginTestFailoverCleanup(
1751
+ fabricName: string,
1752
+ protectionContainerName: string,
1753
+ replicatedProtectedItemName: string,
1754
+ cleanupInput: TestFailoverCleanupInput,
1755
+ options?: ReplicationProtectedItemsTestFailoverCleanupOptionalParams
1756
+ ): Promise<
1757
+ PollerLike<
1758
+ PollOperationState<ReplicationProtectedItemsTestFailoverCleanupResponse>,
1759
+ ReplicationProtectedItemsTestFailoverCleanupResponse
1760
+ >
1761
+ > {
1762
+ const directSendOperation = async (
1763
+ args: coreClient.OperationArguments,
1764
+ spec: coreClient.OperationSpec
1765
+ ): Promise<ReplicationProtectedItemsTestFailoverCleanupResponse> => {
1766
+ return this.client.sendOperationRequest(args, spec);
1767
+ };
1768
+ const sendOperation = async (
1769
+ args: coreClient.OperationArguments,
1770
+ spec: coreClient.OperationSpec
1771
+ ) => {
1772
+ let currentRawResponse:
1773
+ | coreClient.FullOperationResponse
1774
+ | undefined = undefined;
1775
+ const providedCallback = args.options?.onResponse;
1776
+ const callback: coreClient.RawResponseCallback = (
1777
+ rawResponse: coreClient.FullOperationResponse,
1778
+ flatResponse: unknown
1779
+ ) => {
1780
+ currentRawResponse = rawResponse;
1781
+ providedCallback?.(rawResponse, flatResponse);
1782
+ };
1783
+ const updatedArgs = {
1784
+ ...args,
1785
+ options: {
1786
+ ...args.options,
1787
+ onResponse: callback
1788
+ }
1789
+ };
1790
+ const flatResponse = await directSendOperation(updatedArgs, spec);
1791
+ return {
1792
+ flatResponse,
1793
+ rawResponse: {
1794
+ statusCode: currentRawResponse!.status,
1795
+ body: currentRawResponse!.parsedBody,
1796
+ headers: currentRawResponse!.headers.toJSON()
1797
+ }
1798
+ };
1799
+ };
1800
+
1801
+ const lro = new LroImpl(
1802
+ sendOperation,
1803
+ {
1804
+ fabricName,
1805
+ protectionContainerName,
1806
+ replicatedProtectedItemName,
1807
+ cleanupInput,
1808
+ options
1809
+ },
1810
+ testFailoverCleanupOperationSpec
1811
+ );
1812
+ return new LroEngine(lro, {
1813
+ resumeFrom: options?.resumeFrom,
1814
+ intervalInMs: options?.updateIntervalInMs
1815
+ });
1816
+ }
1817
+
1818
+ /**
1819
+ * Operation to clean up the test failover of a replication protected item.
1820
+ * @param fabricName Unique fabric name.
1821
+ * @param protectionContainerName Protection container name.
1822
+ * @param replicatedProtectedItemName Replication protected item name.
1823
+ * @param cleanupInput Test failover cleanup input.
1824
+ * @param options The options parameters.
1825
+ */
1826
+ async beginTestFailoverCleanupAndWait(
1827
+ fabricName: string,
1828
+ protectionContainerName: string,
1829
+ replicatedProtectedItemName: string,
1830
+ cleanupInput: TestFailoverCleanupInput,
1831
+ options?: ReplicationProtectedItemsTestFailoverCleanupOptionalParams
1832
+ ): Promise<ReplicationProtectedItemsTestFailoverCleanupResponse> {
1833
+ const poller = await this.beginTestFailoverCleanup(
1834
+ fabricName,
1835
+ protectionContainerName,
1836
+ replicatedProtectedItemName,
1837
+ cleanupInput,
1838
+ options
1839
+ );
1840
+ return poller.pollUntilDone();
1841
+ }
1842
+
1843
+ /**
1844
+ * Operation to initiate a failover of the replication protected item.
1845
+ * @param fabricName Unique fabric name.
1846
+ * @param protectionContainerName Protection container name.
1847
+ * @param replicatedProtectedItemName Replication protected item name.
1848
+ * @param failoverInput Failover input.
1849
+ * @param options The options parameters.
1850
+ */
1851
+ async beginUnplannedFailover(
1852
+ fabricName: string,
1853
+ protectionContainerName: string,
1854
+ replicatedProtectedItemName: string,
1855
+ failoverInput: UnplannedFailoverInput,
1856
+ options?: ReplicationProtectedItemsUnplannedFailoverOptionalParams
1857
+ ): Promise<
1858
+ PollerLike<
1859
+ PollOperationState<ReplicationProtectedItemsUnplannedFailoverResponse>,
1860
+ ReplicationProtectedItemsUnplannedFailoverResponse
1861
+ >
1862
+ > {
1863
+ const directSendOperation = async (
1864
+ args: coreClient.OperationArguments,
1865
+ spec: coreClient.OperationSpec
1866
+ ): Promise<ReplicationProtectedItemsUnplannedFailoverResponse> => {
1867
+ return this.client.sendOperationRequest(args, spec);
1868
+ };
1869
+ const sendOperation = async (
1870
+ args: coreClient.OperationArguments,
1871
+ spec: coreClient.OperationSpec
1872
+ ) => {
1873
+ let currentRawResponse:
1874
+ | coreClient.FullOperationResponse
1875
+ | undefined = undefined;
1876
+ const providedCallback = args.options?.onResponse;
1877
+ const callback: coreClient.RawResponseCallback = (
1878
+ rawResponse: coreClient.FullOperationResponse,
1879
+ flatResponse: unknown
1880
+ ) => {
1881
+ currentRawResponse = rawResponse;
1882
+ providedCallback?.(rawResponse, flatResponse);
1883
+ };
1884
+ const updatedArgs = {
1885
+ ...args,
1886
+ options: {
1887
+ ...args.options,
1888
+ onResponse: callback
1889
+ }
1890
+ };
1891
+ const flatResponse = await directSendOperation(updatedArgs, spec);
1892
+ return {
1893
+ flatResponse,
1894
+ rawResponse: {
1895
+ statusCode: currentRawResponse!.status,
1896
+ body: currentRawResponse!.parsedBody,
1897
+ headers: currentRawResponse!.headers.toJSON()
1898
+ }
1899
+ };
1900
+ };
1901
+
1902
+ const lro = new LroImpl(
1903
+ sendOperation,
1904
+ {
1905
+ fabricName,
1906
+ protectionContainerName,
1907
+ replicatedProtectedItemName,
1908
+ failoverInput,
1909
+ options
1910
+ },
1911
+ unplannedFailoverOperationSpec
1912
+ );
1913
+ return new LroEngine(lro, {
1914
+ resumeFrom: options?.resumeFrom,
1915
+ intervalInMs: options?.updateIntervalInMs
1916
+ });
1917
+ }
1918
+
1919
+ /**
1920
+ * Operation to initiate a failover of the replication protected item.
1921
+ * @param fabricName Unique fabric name.
1922
+ * @param protectionContainerName Protection container name.
1923
+ * @param replicatedProtectedItemName Replication protected item name.
1924
+ * @param failoverInput Failover input.
1925
+ * @param options The options parameters.
1926
+ */
1927
+ async beginUnplannedFailoverAndWait(
1928
+ fabricName: string,
1929
+ protectionContainerName: string,
1930
+ replicatedProtectedItemName: string,
1931
+ failoverInput: UnplannedFailoverInput,
1932
+ options?: ReplicationProtectedItemsUnplannedFailoverOptionalParams
1933
+ ): Promise<ReplicationProtectedItemsUnplannedFailoverResponse> {
1934
+ const poller = await this.beginUnplannedFailover(
1935
+ fabricName,
1936
+ protectionContainerName,
1937
+ replicatedProtectedItemName,
1938
+ failoverInput,
1939
+ options
1940
+ );
1941
+ return poller.pollUntilDone();
1942
+ }
1943
+
1944
+ /**
1945
+ * The operation to update appliance of an ASR replication protected item.
1946
+ * @param fabricName Fabric name.
1947
+ * @param protectionContainerName Protection container name.
1948
+ * @param replicatedProtectedItemName Replication protected item name.
1949
+ * @param applianceUpdateInput Appliance update protection input.
1950
+ * @param options The options parameters.
1951
+ */
1952
+ async beginUpdateAppliance(
1953
+ fabricName: string,
1954
+ protectionContainerName: string,
1955
+ replicatedProtectedItemName: string,
1956
+ applianceUpdateInput: UpdateApplianceForReplicationProtectedItemInput,
1957
+ options?: ReplicationProtectedItemsUpdateApplianceOptionalParams
1958
+ ): Promise<
1959
+ PollerLike<
1960
+ PollOperationState<ReplicationProtectedItemsUpdateApplianceResponse>,
1961
+ ReplicationProtectedItemsUpdateApplianceResponse
1962
+ >
1963
+ > {
1964
+ const directSendOperation = async (
1965
+ args: coreClient.OperationArguments,
1966
+ spec: coreClient.OperationSpec
1967
+ ): Promise<ReplicationProtectedItemsUpdateApplianceResponse> => {
1968
+ return this.client.sendOperationRequest(args, spec);
1969
+ };
1970
+ const sendOperation = async (
1971
+ args: coreClient.OperationArguments,
1972
+ spec: coreClient.OperationSpec
1973
+ ) => {
1974
+ let currentRawResponse:
1975
+ | coreClient.FullOperationResponse
1976
+ | undefined = undefined;
1977
+ const providedCallback = args.options?.onResponse;
1978
+ const callback: coreClient.RawResponseCallback = (
1979
+ rawResponse: coreClient.FullOperationResponse,
1980
+ flatResponse: unknown
1981
+ ) => {
1982
+ currentRawResponse = rawResponse;
1983
+ providedCallback?.(rawResponse, flatResponse);
1984
+ };
1985
+ const updatedArgs = {
1986
+ ...args,
1987
+ options: {
1988
+ ...args.options,
1989
+ onResponse: callback
1990
+ }
1991
+ };
1992
+ const flatResponse = await directSendOperation(updatedArgs, spec);
1993
+ return {
1994
+ flatResponse,
1995
+ rawResponse: {
1996
+ statusCode: currentRawResponse!.status,
1997
+ body: currentRawResponse!.parsedBody,
1998
+ headers: currentRawResponse!.headers.toJSON()
1999
+ }
2000
+ };
2001
+ };
2002
+
2003
+ const lro = new LroImpl(
2004
+ sendOperation,
2005
+ {
2006
+ fabricName,
2007
+ protectionContainerName,
2008
+ replicatedProtectedItemName,
2009
+ applianceUpdateInput,
2010
+ options
2011
+ },
2012
+ updateApplianceOperationSpec
2013
+ );
2014
+ return new LroEngine(lro, {
2015
+ resumeFrom: options?.resumeFrom,
2016
+ intervalInMs: options?.updateIntervalInMs
2017
+ });
2018
+ }
2019
+
2020
+ /**
2021
+ * The operation to update appliance of an ASR replication protected item.
2022
+ * @param fabricName Fabric name.
2023
+ * @param protectionContainerName Protection container name.
2024
+ * @param replicatedProtectedItemName Replication protected item name.
2025
+ * @param applianceUpdateInput Appliance update protection input.
2026
+ * @param options The options parameters.
2027
+ */
2028
+ async beginUpdateApplianceAndWait(
2029
+ fabricName: string,
2030
+ protectionContainerName: string,
2031
+ replicatedProtectedItemName: string,
2032
+ applianceUpdateInput: UpdateApplianceForReplicationProtectedItemInput,
2033
+ options?: ReplicationProtectedItemsUpdateApplianceOptionalParams
2034
+ ): Promise<ReplicationProtectedItemsUpdateApplianceResponse> {
2035
+ const poller = await this.beginUpdateAppliance(
2036
+ fabricName,
2037
+ protectionContainerName,
2038
+ replicatedProtectedItemName,
2039
+ applianceUpdateInput,
2040
+ options
2041
+ );
2042
+ return poller.pollUntilDone();
2043
+ }
2044
+
2045
+ /**
2046
+ * The operation to update(push update) the installed mobility service software on a replication
2047
+ * protected item to the latest available version.
2048
+ * @param fabricName The name of the fabric containing the protected item.
2049
+ * @param protectionContainerName The name of the container containing the protected item.
2050
+ * @param replicationProtectedItemName The name of the protected item on which the agent is to be
2051
+ * updated.
2052
+ * @param updateMobilityServiceRequest Request to update the mobility service on the protected item.
2053
+ * @param options The options parameters.
2054
+ */
2055
+ async beginUpdateMobilityService(
2056
+ fabricName: string,
2057
+ protectionContainerName: string,
2058
+ replicationProtectedItemName: string,
2059
+ updateMobilityServiceRequest: UpdateMobilityServiceRequest,
2060
+ options?: ReplicationProtectedItemsUpdateMobilityServiceOptionalParams
2061
+ ): Promise<
2062
+ PollerLike<
2063
+ PollOperationState<
2064
+ ReplicationProtectedItemsUpdateMobilityServiceResponse
2065
+ >,
2066
+ ReplicationProtectedItemsUpdateMobilityServiceResponse
2067
+ >
2068
+ > {
2069
+ const directSendOperation = async (
2070
+ args: coreClient.OperationArguments,
2071
+ spec: coreClient.OperationSpec
2072
+ ): Promise<ReplicationProtectedItemsUpdateMobilityServiceResponse> => {
2073
+ return this.client.sendOperationRequest(args, spec);
2074
+ };
2075
+ const sendOperation = async (
2076
+ args: coreClient.OperationArguments,
2077
+ spec: coreClient.OperationSpec
2078
+ ) => {
2079
+ let currentRawResponse:
2080
+ | coreClient.FullOperationResponse
2081
+ | undefined = undefined;
2082
+ const providedCallback = args.options?.onResponse;
2083
+ const callback: coreClient.RawResponseCallback = (
2084
+ rawResponse: coreClient.FullOperationResponse,
2085
+ flatResponse: unknown
2086
+ ) => {
2087
+ currentRawResponse = rawResponse;
2088
+ providedCallback?.(rawResponse, flatResponse);
2089
+ };
2090
+ const updatedArgs = {
2091
+ ...args,
2092
+ options: {
2093
+ ...args.options,
2094
+ onResponse: callback
2095
+ }
2096
+ };
2097
+ const flatResponse = await directSendOperation(updatedArgs, spec);
2098
+ return {
2099
+ flatResponse,
2100
+ rawResponse: {
2101
+ statusCode: currentRawResponse!.status,
2102
+ body: currentRawResponse!.parsedBody,
2103
+ headers: currentRawResponse!.headers.toJSON()
2104
+ }
2105
+ };
2106
+ };
2107
+
2108
+ const lro = new LroImpl(
2109
+ sendOperation,
2110
+ {
2111
+ fabricName,
2112
+ protectionContainerName,
2113
+ replicationProtectedItemName,
2114
+ updateMobilityServiceRequest,
2115
+ options
2116
+ },
2117
+ updateMobilityServiceOperationSpec
2118
+ );
2119
+ return new LroEngine(lro, {
2120
+ resumeFrom: options?.resumeFrom,
2121
+ intervalInMs: options?.updateIntervalInMs
2122
+ });
2123
+ }
2124
+
2125
+ /**
2126
+ * The operation to update(push update) the installed mobility service software on a replication
2127
+ * protected item to the latest available version.
2128
+ * @param fabricName The name of the fabric containing the protected item.
2129
+ * @param protectionContainerName The name of the container containing the protected item.
2130
+ * @param replicationProtectedItemName The name of the protected item on which the agent is to be
2131
+ * updated.
2132
+ * @param updateMobilityServiceRequest Request to update the mobility service on the protected item.
2133
+ * @param options The options parameters.
2134
+ */
2135
+ async beginUpdateMobilityServiceAndWait(
2136
+ fabricName: string,
2137
+ protectionContainerName: string,
2138
+ replicationProtectedItemName: string,
2139
+ updateMobilityServiceRequest: UpdateMobilityServiceRequest,
2140
+ options?: ReplicationProtectedItemsUpdateMobilityServiceOptionalParams
2141
+ ): Promise<ReplicationProtectedItemsUpdateMobilityServiceResponse> {
2142
+ const poller = await this.beginUpdateMobilityService(
2143
+ fabricName,
2144
+ protectionContainerName,
2145
+ replicationProtectedItemName,
2146
+ updateMobilityServiceRequest,
2147
+ options
2148
+ );
2149
+ return poller.pollUntilDone();
2150
+ }
2151
+
2152
+ /**
2153
+ * Gets the list of ASR replication protected items in the vault.
2154
+ * @param options The options parameters.
2155
+ */
2156
+ private _list(
2157
+ options?: ReplicationProtectedItemsListOptionalParams
2158
+ ): Promise<ReplicationProtectedItemsListResponse> {
2159
+ return this.client.sendOperationRequest({ options }, listOperationSpec);
2160
+ }
2161
+
2162
+ /**
2163
+ * ListByReplicationProtectionContainersNext
2164
+ * @param fabricName Fabric name.
2165
+ * @param protectionContainerName Protection container name.
2166
+ * @param nextLink The nextLink from the previous successful call to the
2167
+ * ListByReplicationProtectionContainers method.
2168
+ * @param options The options parameters.
2169
+ */
2170
+ private _listByReplicationProtectionContainersNext(
2171
+ fabricName: string,
2172
+ protectionContainerName: string,
2173
+ nextLink: string,
2174
+ options?: ReplicationProtectedItemsListByReplicationProtectionContainersNextOptionalParams
2175
+ ): Promise<
2176
+ ReplicationProtectedItemsListByReplicationProtectionContainersNextResponse
2177
+ > {
2178
+ return this.client.sendOperationRequest(
2179
+ { fabricName, protectionContainerName, nextLink, options },
2180
+ listByReplicationProtectionContainersNextOperationSpec
2181
+ );
2182
+ }
2183
+
2184
+ /**
2185
+ * ListNext
2186
+ * @param nextLink The nextLink from the previous successful call to the List method.
2187
+ * @param options The options parameters.
2188
+ */
2189
+ private _listNext(
2190
+ nextLink: string,
2191
+ options?: ReplicationProtectedItemsListNextOptionalParams
2192
+ ): Promise<ReplicationProtectedItemsListNextResponse> {
2193
+ return this.client.sendOperationRequest(
2194
+ { nextLink, options },
2195
+ listNextOperationSpec
2196
+ );
2197
+ }
2198
+ }
2199
+ // Operation Specifications
2200
+ const serializer = coreClient.createSerializer(Mappers, /* isXml */ false);
2201
+
2202
+ const listByReplicationProtectionContainersOperationSpec: coreClient.OperationSpec = {
2203
+ path:
2204
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems",
2205
+ httpMethod: "GET",
2206
+ responses: {
2207
+ 200: {
2208
+ bodyMapper: Mappers.ReplicationProtectedItemCollection
2209
+ }
2210
+ },
2211
+ queryParameters: [Parameters.apiVersion],
2212
+ urlParameters: [
2213
+ Parameters.$host,
2214
+ Parameters.resourceGroupName,
2215
+ Parameters.subscriptionId,
2216
+ Parameters.resourceName,
2217
+ Parameters.fabricName,
2218
+ Parameters.protectionContainerName
2219
+ ],
2220
+ headerParameters: [Parameters.accept],
2221
+ serializer
2222
+ };
2223
+ const getOperationSpec: coreClient.OperationSpec = {
2224
+ path:
2225
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}",
2226
+ httpMethod: "GET",
2227
+ responses: {
2228
+ 200: {
2229
+ bodyMapper: Mappers.ReplicationProtectedItem
2230
+ }
2231
+ },
2232
+ queryParameters: [Parameters.apiVersion],
2233
+ urlParameters: [
2234
+ Parameters.$host,
2235
+ Parameters.resourceGroupName,
2236
+ Parameters.subscriptionId,
2237
+ Parameters.resourceName,
2238
+ Parameters.fabricName,
2239
+ Parameters.protectionContainerName,
2240
+ Parameters.replicatedProtectedItemName
2241
+ ],
2242
+ headerParameters: [Parameters.accept],
2243
+ serializer
2244
+ };
2245
+ const createOperationSpec: coreClient.OperationSpec = {
2246
+ path:
2247
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}",
2248
+ httpMethod: "PUT",
2249
+ responses: {
2250
+ 200: {
2251
+ bodyMapper: Mappers.ReplicationProtectedItem
2252
+ },
2253
+ 201: {
2254
+ bodyMapper: Mappers.ReplicationProtectedItem
2255
+ },
2256
+ 202: {
2257
+ bodyMapper: Mappers.ReplicationProtectedItem
2258
+ },
2259
+ 204: {
2260
+ bodyMapper: Mappers.ReplicationProtectedItem
2261
+ }
2262
+ },
2263
+ requestBody: Parameters.input6,
2264
+ queryParameters: [Parameters.apiVersion],
2265
+ urlParameters: [
2266
+ Parameters.$host,
2267
+ Parameters.resourceGroupName,
2268
+ Parameters.subscriptionId,
2269
+ Parameters.resourceName,
2270
+ Parameters.fabricName,
2271
+ Parameters.protectionContainerName,
2272
+ Parameters.replicatedProtectedItemName
2273
+ ],
2274
+ headerParameters: [Parameters.accept, Parameters.contentType],
2275
+ mediaType: "json",
2276
+ serializer
2277
+ };
2278
+ const purgeOperationSpec: coreClient.OperationSpec = {
2279
+ path:
2280
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}",
2281
+ httpMethod: "DELETE",
2282
+ responses: { 200: {}, 201: {}, 202: {}, 204: {} },
2283
+ queryParameters: [Parameters.apiVersion],
2284
+ urlParameters: [
2285
+ Parameters.$host,
2286
+ Parameters.resourceGroupName,
2287
+ Parameters.subscriptionId,
2288
+ Parameters.resourceName,
2289
+ Parameters.fabricName,
2290
+ Parameters.protectionContainerName,
2291
+ Parameters.replicatedProtectedItemName
2292
+ ],
2293
+ serializer
2294
+ };
2295
+ const updateOperationSpec: coreClient.OperationSpec = {
2296
+ path:
2297
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}",
2298
+ httpMethod: "PATCH",
2299
+ responses: {
2300
+ 200: {
2301
+ bodyMapper: Mappers.ReplicationProtectedItem
2302
+ },
2303
+ 201: {
2304
+ bodyMapper: Mappers.ReplicationProtectedItem
2305
+ },
2306
+ 202: {
2307
+ bodyMapper: Mappers.ReplicationProtectedItem
2308
+ },
2309
+ 204: {
2310
+ bodyMapper: Mappers.ReplicationProtectedItem
2311
+ }
2312
+ },
2313
+ requestBody: Parameters.updateProtectionInput,
2314
+ queryParameters: [Parameters.apiVersion],
2315
+ urlParameters: [
2316
+ Parameters.$host,
2317
+ Parameters.resourceGroupName,
2318
+ Parameters.subscriptionId,
2319
+ Parameters.resourceName,
2320
+ Parameters.fabricName,
2321
+ Parameters.protectionContainerName,
2322
+ Parameters.replicatedProtectedItemName
2323
+ ],
2324
+ headerParameters: [Parameters.accept, Parameters.contentType],
2325
+ mediaType: "json",
2326
+ serializer
2327
+ };
2328
+ const addDisksOperationSpec: coreClient.OperationSpec = {
2329
+ path:
2330
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/addDisks",
2331
+ httpMethod: "POST",
2332
+ responses: {
2333
+ 200: {
2334
+ bodyMapper: Mappers.ReplicationProtectedItem
2335
+ },
2336
+ 201: {
2337
+ bodyMapper: Mappers.ReplicationProtectedItem
2338
+ },
2339
+ 202: {
2340
+ bodyMapper: Mappers.ReplicationProtectedItem
2341
+ },
2342
+ 204: {
2343
+ bodyMapper: Mappers.ReplicationProtectedItem
2344
+ }
2345
+ },
2346
+ requestBody: Parameters.addDisksInput,
2347
+ queryParameters: [Parameters.apiVersion],
2348
+ urlParameters: [
2349
+ Parameters.$host,
2350
+ Parameters.resourceGroupName,
2351
+ Parameters.subscriptionId,
2352
+ Parameters.resourceName,
2353
+ Parameters.fabricName,
2354
+ Parameters.protectionContainerName,
2355
+ Parameters.replicatedProtectedItemName
2356
+ ],
2357
+ headerParameters: [Parameters.accept, Parameters.contentType],
2358
+ mediaType: "json",
2359
+ serializer
2360
+ };
2361
+ const applyRecoveryPointOperationSpec: coreClient.OperationSpec = {
2362
+ path:
2363
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/applyRecoveryPoint",
2364
+ httpMethod: "POST",
2365
+ responses: {
2366
+ 200: {
2367
+ bodyMapper: Mappers.ReplicationProtectedItem
2368
+ },
2369
+ 201: {
2370
+ bodyMapper: Mappers.ReplicationProtectedItem
2371
+ },
2372
+ 202: {
2373
+ bodyMapper: Mappers.ReplicationProtectedItem
2374
+ },
2375
+ 204: {
2376
+ bodyMapper: Mappers.ReplicationProtectedItem
2377
+ }
2378
+ },
2379
+ requestBody: Parameters.applyRecoveryPointInput,
2380
+ queryParameters: [Parameters.apiVersion],
2381
+ urlParameters: [
2382
+ Parameters.$host,
2383
+ Parameters.resourceGroupName,
2384
+ Parameters.subscriptionId,
2385
+ Parameters.resourceName,
2386
+ Parameters.fabricName,
2387
+ Parameters.protectionContainerName,
2388
+ Parameters.replicatedProtectedItemName
2389
+ ],
2390
+ headerParameters: [Parameters.accept, Parameters.contentType],
2391
+ mediaType: "json",
2392
+ serializer
2393
+ };
2394
+ const failoverCancelOperationSpec: coreClient.OperationSpec = {
2395
+ path:
2396
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/failoverCancel",
2397
+ httpMethod: "POST",
2398
+ responses: {
2399
+ 200: {
2400
+ bodyMapper: Mappers.ReplicationProtectedItem
2401
+ },
2402
+ 201: {
2403
+ bodyMapper: Mappers.ReplicationProtectedItem
2404
+ },
2405
+ 202: {
2406
+ bodyMapper: Mappers.ReplicationProtectedItem
2407
+ },
2408
+ 204: {
2409
+ bodyMapper: Mappers.ReplicationProtectedItem
2410
+ }
2411
+ },
2412
+ queryParameters: [Parameters.apiVersion],
2413
+ urlParameters: [
2414
+ Parameters.$host,
2415
+ Parameters.resourceGroupName,
2416
+ Parameters.subscriptionId,
2417
+ Parameters.resourceName,
2418
+ Parameters.fabricName,
2419
+ Parameters.protectionContainerName,
2420
+ Parameters.replicatedProtectedItemName
2421
+ ],
2422
+ headerParameters: [Parameters.accept],
2423
+ serializer
2424
+ };
2425
+ const failoverCommitOperationSpec: coreClient.OperationSpec = {
2426
+ path:
2427
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/failoverCommit",
2428
+ httpMethod: "POST",
2429
+ responses: {
2430
+ 200: {
2431
+ bodyMapper: Mappers.ReplicationProtectedItem
2432
+ },
2433
+ 201: {
2434
+ bodyMapper: Mappers.ReplicationProtectedItem
2435
+ },
2436
+ 202: {
2437
+ bodyMapper: Mappers.ReplicationProtectedItem
2438
+ },
2439
+ 204: {
2440
+ bodyMapper: Mappers.ReplicationProtectedItem
2441
+ }
2442
+ },
2443
+ queryParameters: [Parameters.apiVersion],
2444
+ urlParameters: [
2445
+ Parameters.$host,
2446
+ Parameters.resourceGroupName,
2447
+ Parameters.subscriptionId,
2448
+ Parameters.resourceName,
2449
+ Parameters.fabricName,
2450
+ Parameters.protectionContainerName,
2451
+ Parameters.replicatedProtectedItemName
2452
+ ],
2453
+ headerParameters: [Parameters.accept],
2454
+ serializer
2455
+ };
2456
+ const plannedFailoverOperationSpec: coreClient.OperationSpec = {
2457
+ path:
2458
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/plannedFailover",
2459
+ httpMethod: "POST",
2460
+ responses: {
2461
+ 200: {
2462
+ bodyMapper: Mappers.ReplicationProtectedItem
2463
+ },
2464
+ 201: {
2465
+ bodyMapper: Mappers.ReplicationProtectedItem
2466
+ },
2467
+ 202: {
2468
+ bodyMapper: Mappers.ReplicationProtectedItem
2469
+ },
2470
+ 204: {
2471
+ bodyMapper: Mappers.ReplicationProtectedItem
2472
+ }
2473
+ },
2474
+ requestBody: Parameters.failoverInput,
2475
+ queryParameters: [Parameters.apiVersion],
2476
+ urlParameters: [
2477
+ Parameters.$host,
2478
+ Parameters.resourceGroupName,
2479
+ Parameters.subscriptionId,
2480
+ Parameters.resourceName,
2481
+ Parameters.fabricName,
2482
+ Parameters.protectionContainerName,
2483
+ Parameters.replicatedProtectedItemName
2484
+ ],
2485
+ headerParameters: [Parameters.accept, Parameters.contentType],
2486
+ mediaType: "json",
2487
+ serializer
2488
+ };
2489
+ const deleteOperationSpec: coreClient.OperationSpec = {
2490
+ path:
2491
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/remove",
2492
+ httpMethod: "POST",
2493
+ responses: { 200: {}, 201: {}, 202: {}, 204: {} },
2494
+ requestBody: Parameters.disableProtectionInput,
2495
+ queryParameters: [Parameters.apiVersion],
2496
+ urlParameters: [
2497
+ Parameters.$host,
2498
+ Parameters.resourceGroupName,
2499
+ Parameters.subscriptionId,
2500
+ Parameters.resourceName,
2501
+ Parameters.fabricName,
2502
+ Parameters.protectionContainerName,
2503
+ Parameters.replicatedProtectedItemName
2504
+ ],
2505
+ headerParameters: [Parameters.contentType],
2506
+ mediaType: "json",
2507
+ serializer
2508
+ };
2509
+ const removeDisksOperationSpec: coreClient.OperationSpec = {
2510
+ path:
2511
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/removeDisks",
2512
+ httpMethod: "POST",
2513
+ responses: {
2514
+ 200: {
2515
+ bodyMapper: Mappers.ReplicationProtectedItem
2516
+ },
2517
+ 201: {
2518
+ bodyMapper: Mappers.ReplicationProtectedItem
2519
+ },
2520
+ 202: {
2521
+ bodyMapper: Mappers.ReplicationProtectedItem
2522
+ },
2523
+ 204: {
2524
+ bodyMapper: Mappers.ReplicationProtectedItem
2525
+ }
2526
+ },
2527
+ requestBody: Parameters.removeDisksInput,
2528
+ queryParameters: [Parameters.apiVersion],
2529
+ urlParameters: [
2530
+ Parameters.$host,
2531
+ Parameters.resourceGroupName,
2532
+ Parameters.subscriptionId,
2533
+ Parameters.resourceName,
2534
+ Parameters.fabricName,
2535
+ Parameters.protectionContainerName,
2536
+ Parameters.replicatedProtectedItemName
2537
+ ],
2538
+ headerParameters: [Parameters.accept, Parameters.contentType],
2539
+ mediaType: "json",
2540
+ serializer
2541
+ };
2542
+ const repairReplicationOperationSpec: coreClient.OperationSpec = {
2543
+ path:
2544
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/repairReplication",
2545
+ httpMethod: "POST",
2546
+ responses: {
2547
+ 200: {
2548
+ bodyMapper: Mappers.ReplicationProtectedItem
2549
+ },
2550
+ 201: {
2551
+ bodyMapper: Mappers.ReplicationProtectedItem
2552
+ },
2553
+ 202: {
2554
+ bodyMapper: Mappers.ReplicationProtectedItem
2555
+ },
2556
+ 204: {
2557
+ bodyMapper: Mappers.ReplicationProtectedItem
2558
+ }
2559
+ },
2560
+ queryParameters: [Parameters.apiVersion],
2561
+ urlParameters: [
2562
+ Parameters.$host,
2563
+ Parameters.resourceGroupName,
2564
+ Parameters.subscriptionId,
2565
+ Parameters.resourceName,
2566
+ Parameters.fabricName,
2567
+ Parameters.protectionContainerName,
2568
+ Parameters.replicatedProtectedItemName
2569
+ ],
2570
+ headerParameters: [Parameters.accept],
2571
+ serializer
2572
+ };
2573
+ const reprotectOperationSpec: coreClient.OperationSpec = {
2574
+ path:
2575
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/reProtect",
2576
+ httpMethod: "POST",
2577
+ responses: {
2578
+ 200: {
2579
+ bodyMapper: Mappers.ReplicationProtectedItem
2580
+ },
2581
+ 201: {
2582
+ bodyMapper: Mappers.ReplicationProtectedItem
2583
+ },
2584
+ 202: {
2585
+ bodyMapper: Mappers.ReplicationProtectedItem
2586
+ },
2587
+ 204: {
2588
+ bodyMapper: Mappers.ReplicationProtectedItem
2589
+ }
2590
+ },
2591
+ requestBody: Parameters.reprotectInput,
2592
+ queryParameters: [Parameters.apiVersion],
2593
+ urlParameters: [
2594
+ Parameters.$host,
2595
+ Parameters.resourceGroupName,
2596
+ Parameters.subscriptionId,
2597
+ Parameters.resourceName,
2598
+ Parameters.fabricName,
2599
+ Parameters.protectionContainerName,
2600
+ Parameters.replicatedProtectedItemName
2601
+ ],
2602
+ headerParameters: [Parameters.accept, Parameters.contentType],
2603
+ mediaType: "json",
2604
+ serializer
2605
+ };
2606
+ const resolveHealthErrorsOperationSpec: coreClient.OperationSpec = {
2607
+ path:
2608
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/resolveHealthErrors",
2609
+ httpMethod: "POST",
2610
+ responses: {
2611
+ 200: {
2612
+ bodyMapper: Mappers.ReplicationProtectedItem
2613
+ },
2614
+ 201: {
2615
+ bodyMapper: Mappers.ReplicationProtectedItem
2616
+ },
2617
+ 202: {
2618
+ bodyMapper: Mappers.ReplicationProtectedItem
2619
+ },
2620
+ 204: {
2621
+ bodyMapper: Mappers.ReplicationProtectedItem
2622
+ }
2623
+ },
2624
+ requestBody: Parameters.resolveHealthInput,
2625
+ queryParameters: [Parameters.apiVersion],
2626
+ urlParameters: [
2627
+ Parameters.$host,
2628
+ Parameters.resourceGroupName,
2629
+ Parameters.subscriptionId,
2630
+ Parameters.resourceName,
2631
+ Parameters.fabricName,
2632
+ Parameters.protectionContainerName,
2633
+ Parameters.replicatedProtectedItemName
2634
+ ],
2635
+ headerParameters: [Parameters.accept, Parameters.contentType],
2636
+ mediaType: "json",
2637
+ serializer
2638
+ };
2639
+ const switchProviderOperationSpec: coreClient.OperationSpec = {
2640
+ path:
2641
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/switchProvider",
2642
+ httpMethod: "POST",
2643
+ responses: {
2644
+ 200: {
2645
+ bodyMapper: Mappers.ReplicationProtectedItem
2646
+ },
2647
+ 201: {
2648
+ bodyMapper: Mappers.ReplicationProtectedItem
2649
+ },
2650
+ 202: {
2651
+ bodyMapper: Mappers.ReplicationProtectedItem
2652
+ },
2653
+ 204: {
2654
+ bodyMapper: Mappers.ReplicationProtectedItem
2655
+ }
2656
+ },
2657
+ requestBody: Parameters.switchProviderInput,
2658
+ queryParameters: [Parameters.apiVersion],
2659
+ urlParameters: [
2660
+ Parameters.$host,
2661
+ Parameters.resourceGroupName,
2662
+ Parameters.subscriptionId,
2663
+ Parameters.resourceName,
2664
+ Parameters.fabricName,
2665
+ Parameters.protectionContainerName,
2666
+ Parameters.replicatedProtectedItemName
2667
+ ],
2668
+ headerParameters: [Parameters.accept, Parameters.contentType],
2669
+ mediaType: "json",
2670
+ serializer
2671
+ };
2672
+ const testFailoverOperationSpec: coreClient.OperationSpec = {
2673
+ path:
2674
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/testFailover",
2675
+ httpMethod: "POST",
2676
+ responses: {
2677
+ 200: {
2678
+ bodyMapper: Mappers.ReplicationProtectedItem
2679
+ },
2680
+ 201: {
2681
+ bodyMapper: Mappers.ReplicationProtectedItem
2682
+ },
2683
+ 202: {
2684
+ bodyMapper: Mappers.ReplicationProtectedItem
2685
+ },
2686
+ 204: {
2687
+ bodyMapper: Mappers.ReplicationProtectedItem
2688
+ }
2689
+ },
2690
+ requestBody: Parameters.testfailoverInput,
2691
+ queryParameters: [Parameters.apiVersion],
2692
+ urlParameters: [
2693
+ Parameters.$host,
2694
+ Parameters.resourceGroupName,
2695
+ Parameters.subscriptionId,
2696
+ Parameters.resourceName,
2697
+ Parameters.fabricName,
2698
+ Parameters.protectionContainerName,
2699
+ Parameters.replicatedProtectedItemName
2700
+ ],
2701
+ headerParameters: [Parameters.accept, Parameters.contentType],
2702
+ mediaType: "json",
2703
+ serializer
2704
+ };
2705
+ const testFailoverCleanupOperationSpec: coreClient.OperationSpec = {
2706
+ path:
2707
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/testFailoverCleanup",
2708
+ httpMethod: "POST",
2709
+ responses: {
2710
+ 200: {
2711
+ bodyMapper: Mappers.ReplicationProtectedItem
2712
+ },
2713
+ 201: {
2714
+ bodyMapper: Mappers.ReplicationProtectedItem
2715
+ },
2716
+ 202: {
2717
+ bodyMapper: Mappers.ReplicationProtectedItem
2718
+ },
2719
+ 204: {
2720
+ bodyMapper: Mappers.ReplicationProtectedItem
2721
+ }
2722
+ },
2723
+ requestBody: Parameters.cleanupInput,
2724
+ queryParameters: [Parameters.apiVersion],
2725
+ urlParameters: [
2726
+ Parameters.$host,
2727
+ Parameters.resourceGroupName,
2728
+ Parameters.subscriptionId,
2729
+ Parameters.resourceName,
2730
+ Parameters.fabricName,
2731
+ Parameters.protectionContainerName,
2732
+ Parameters.replicatedProtectedItemName
2733
+ ],
2734
+ headerParameters: [Parameters.accept, Parameters.contentType],
2735
+ mediaType: "json",
2736
+ serializer
2737
+ };
2738
+ const unplannedFailoverOperationSpec: coreClient.OperationSpec = {
2739
+ path:
2740
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/unplannedFailover",
2741
+ httpMethod: "POST",
2742
+ responses: {
2743
+ 200: {
2744
+ bodyMapper: Mappers.ReplicationProtectedItem
2745
+ },
2746
+ 201: {
2747
+ bodyMapper: Mappers.ReplicationProtectedItem
2748
+ },
2749
+ 202: {
2750
+ bodyMapper: Mappers.ReplicationProtectedItem
2751
+ },
2752
+ 204: {
2753
+ bodyMapper: Mappers.ReplicationProtectedItem
2754
+ }
2755
+ },
2756
+ requestBody: Parameters.failoverInput1,
2757
+ queryParameters: [Parameters.apiVersion],
2758
+ urlParameters: [
2759
+ Parameters.$host,
2760
+ Parameters.resourceGroupName,
2761
+ Parameters.subscriptionId,
2762
+ Parameters.resourceName,
2763
+ Parameters.fabricName,
2764
+ Parameters.protectionContainerName,
2765
+ Parameters.replicatedProtectedItemName
2766
+ ],
2767
+ headerParameters: [Parameters.accept, Parameters.contentType],
2768
+ mediaType: "json",
2769
+ serializer
2770
+ };
2771
+ const updateApplianceOperationSpec: coreClient.OperationSpec = {
2772
+ path:
2773
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/updateAppliance",
2774
+ httpMethod: "POST",
2775
+ responses: {
2776
+ 200: {
2777
+ bodyMapper: Mappers.ReplicationProtectedItem
2778
+ },
2779
+ 201: {
2780
+ bodyMapper: Mappers.ReplicationProtectedItem
2781
+ },
2782
+ 202: {
2783
+ bodyMapper: Mappers.ReplicationProtectedItem
2784
+ },
2785
+ 204: {
2786
+ bodyMapper: Mappers.ReplicationProtectedItem
2787
+ }
2788
+ },
2789
+ requestBody: Parameters.applianceUpdateInput,
2790
+ queryParameters: [Parameters.apiVersion],
2791
+ urlParameters: [
2792
+ Parameters.$host,
2793
+ Parameters.resourceGroupName,
2794
+ Parameters.subscriptionId,
2795
+ Parameters.resourceName,
2796
+ Parameters.fabricName,
2797
+ Parameters.protectionContainerName,
2798
+ Parameters.replicatedProtectedItemName
2799
+ ],
2800
+ headerParameters: [Parameters.accept, Parameters.contentType],
2801
+ mediaType: "json",
2802
+ serializer
2803
+ };
2804
+ const updateMobilityServiceOperationSpec: coreClient.OperationSpec = {
2805
+ path:
2806
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicationProtectedItemName}/updateMobilityService",
2807
+ httpMethod: "POST",
2808
+ responses: {
2809
+ 200: {
2810
+ bodyMapper: Mappers.ReplicationProtectedItem
2811
+ },
2812
+ 201: {
2813
+ bodyMapper: Mappers.ReplicationProtectedItem
2814
+ },
2815
+ 202: {
2816
+ bodyMapper: Mappers.ReplicationProtectedItem
2817
+ },
2818
+ 204: {
2819
+ bodyMapper: Mappers.ReplicationProtectedItem
2820
+ }
2821
+ },
2822
+ requestBody: Parameters.updateMobilityServiceRequest,
2823
+ queryParameters: [Parameters.apiVersion],
2824
+ urlParameters: [
2825
+ Parameters.$host,
2826
+ Parameters.resourceGroupName,
2827
+ Parameters.subscriptionId,
2828
+ Parameters.resourceName,
2829
+ Parameters.fabricName,
2830
+ Parameters.protectionContainerName,
2831
+ Parameters.replicationProtectedItemName
2832
+ ],
2833
+ headerParameters: [Parameters.accept, Parameters.contentType],
2834
+ mediaType: "json",
2835
+ serializer
2836
+ };
2837
+ const listOperationSpec: coreClient.OperationSpec = {
2838
+ path:
2839
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectedItems",
2840
+ httpMethod: "GET",
2841
+ responses: {
2842
+ 200: {
2843
+ bodyMapper: Mappers.ReplicationProtectedItemCollection
2844
+ }
2845
+ },
2846
+ queryParameters: [
2847
+ Parameters.apiVersion,
2848
+ Parameters.filter,
2849
+ Parameters.skipToken
2850
+ ],
2851
+ urlParameters: [
2852
+ Parameters.$host,
2853
+ Parameters.resourceGroupName,
2854
+ Parameters.subscriptionId,
2855
+ Parameters.resourceName
2856
+ ],
2857
+ headerParameters: [Parameters.accept],
2858
+ serializer
2859
+ };
2860
+ const listByReplicationProtectionContainersNextOperationSpec: coreClient.OperationSpec = {
2861
+ path: "{nextLink}",
2862
+ httpMethod: "GET",
2863
+ responses: {
2864
+ 200: {
2865
+ bodyMapper: Mappers.ReplicationProtectedItemCollection
2866
+ }
2867
+ },
2868
+ queryParameters: [Parameters.apiVersion],
2869
+ urlParameters: [
2870
+ Parameters.$host,
2871
+ Parameters.resourceGroupName,
2872
+ Parameters.subscriptionId,
2873
+ Parameters.nextLink,
2874
+ Parameters.resourceName,
2875
+ Parameters.fabricName,
2876
+ Parameters.protectionContainerName
2877
+ ],
2878
+ headerParameters: [Parameters.accept],
2879
+ serializer
2880
+ };
2881
+ const listNextOperationSpec: coreClient.OperationSpec = {
2882
+ path: "{nextLink}",
2883
+ httpMethod: "GET",
2884
+ responses: {
2885
+ 200: {
2886
+ bodyMapper: Mappers.ReplicationProtectedItemCollection
2887
+ }
2888
+ },
2889
+ queryParameters: [
2890
+ Parameters.apiVersion,
2891
+ Parameters.filter,
2892
+ Parameters.skipToken
2893
+ ],
2894
+ urlParameters: [
2895
+ Parameters.$host,
2896
+ Parameters.resourceGroupName,
2897
+ Parameters.subscriptionId,
2898
+ Parameters.nextLink,
2899
+ Parameters.resourceName
2900
+ ],
2901
+ headerParameters: [Parameters.accept],
2902
+ serializer
2903
+ };