azure-mgmt-storage 21.1.0b1__py3-none-any.whl → 21.2.1__py3-none-any.whl

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 (813) hide show
  1. azure/mgmt/storage/_configuration.py +2 -3
  2. azure/mgmt/storage/_serialization.py +66 -60
  3. azure/mgmt/storage/_storage_management_client.py +232 -26
  4. azure/mgmt/storage/_version.py +1 -1
  5. azure/mgmt/storage/aio/_configuration.py +2 -3
  6. azure/mgmt/storage/aio/_storage_management_client.py +232 -26
  7. azure/mgmt/storage/models.py +1 -1
  8. azure/mgmt/storage/v2015_06_15/_configuration.py +4 -11
  9. azure/mgmt/storage/v2015_06_15/_patch.py +1 -0
  10. azure/mgmt/storage/v2015_06_15/_storage_management.py +25 -5
  11. azure/mgmt/storage/v2015_06_15/_vendor.py +0 -14
  12. azure/mgmt/storage/v2015_06_15/_version.py +1 -1
  13. azure/mgmt/storage/v2015_06_15/aio/_configuration.py +4 -11
  14. azure/mgmt/storage/v2015_06_15/aio/_patch.py +1 -0
  15. azure/mgmt/storage/v2015_06_15/aio/_storage_management.py +27 -5
  16. azure/mgmt/storage/v2015_06_15/aio/operations/_storage_accounts_operations.py +132 -213
  17. azure/mgmt/storage/v2015_06_15/aio/operations/_usage_operations.py +20 -22
  18. azure/mgmt/storage/v2015_06_15/models/_models_py3.py +6 -6
  19. azure/mgmt/storage/v2015_06_15/operations/_storage_accounts_operations.py +151 -232
  20. azure/mgmt/storage/v2015_06_15/operations/_usage_operations.py +23 -25
  21. azure/mgmt/storage/v2016_01_01/_configuration.py +4 -11
  22. azure/mgmt/storage/v2016_01_01/_patch.py +1 -0
  23. azure/mgmt/storage/v2016_01_01/_storage_management_client.py +25 -5
  24. azure/mgmt/storage/v2016_01_01/_vendor.py +0 -14
  25. azure/mgmt/storage/v2016_01_01/_version.py +1 -1
  26. azure/mgmt/storage/v2016_01_01/aio/_configuration.py +4 -11
  27. azure/mgmt/storage/v2016_01_01/aio/_patch.py +1 -0
  28. azure/mgmt/storage/v2016_01_01/aio/_storage_management_client.py +27 -5
  29. azure/mgmt/storage/v2016_01_01/aio/operations/_storage_accounts_operations.py +132 -213
  30. azure/mgmt/storage/v2016_01_01/aio/operations/_usage_operations.py +20 -22
  31. azure/mgmt/storage/v2016_01_01/models/_models_py3.py +7 -7
  32. azure/mgmt/storage/v2016_01_01/operations/_storage_accounts_operations.py +151 -232
  33. azure/mgmt/storage/v2016_01_01/operations/_usage_operations.py +23 -25
  34. azure/mgmt/storage/v2016_12_01/_configuration.py +4 -11
  35. azure/mgmt/storage/v2016_12_01/_patch.py +1 -0
  36. azure/mgmt/storage/v2016_12_01/_storage_management.py +25 -5
  37. azure/mgmt/storage/v2016_12_01/_vendor.py +0 -14
  38. azure/mgmt/storage/v2016_12_01/_version.py +1 -1
  39. azure/mgmt/storage/v2016_12_01/aio/_configuration.py +4 -11
  40. azure/mgmt/storage/v2016_12_01/aio/_patch.py +1 -0
  41. azure/mgmt/storage/v2016_12_01/aio/_storage_management.py +27 -5
  42. azure/mgmt/storage/v2016_12_01/aio/operations/_storage_accounts_operations.py +162 -263
  43. azure/mgmt/storage/v2016_12_01/aio/operations/_usage_operations.py +20 -22
  44. azure/mgmt/storage/v2016_12_01/models/_models_py3.py +9 -9
  45. azure/mgmt/storage/v2016_12_01/operations/_storage_accounts_operations.py +185 -286
  46. azure/mgmt/storage/v2016_12_01/operations/_usage_operations.py +23 -25
  47. azure/mgmt/storage/v2017_06_01/_configuration.py +4 -11
  48. azure/mgmt/storage/v2017_06_01/_patch.py +1 -0
  49. azure/mgmt/storage/v2017_06_01/_storage_management.py +27 -7
  50. azure/mgmt/storage/v2017_06_01/_vendor.py +0 -14
  51. azure/mgmt/storage/v2017_06_01/_version.py +1 -1
  52. azure/mgmt/storage/v2017_06_01/aio/_configuration.py +4 -11
  53. azure/mgmt/storage/v2017_06_01/aio/_patch.py +1 -0
  54. azure/mgmt/storage/v2017_06_01/aio/_storage_management.py +29 -7
  55. azure/mgmt/storage/v2017_06_01/aio/operations/_operations.py +20 -22
  56. azure/mgmt/storage/v2017_06_01/aio/operations/_skus_operations.py +20 -22
  57. azure/mgmt/storage/v2017_06_01/aio/operations/_storage_accounts_operations.py +162 -263
  58. azure/mgmt/storage/v2017_06_01/aio/operations/_usage_operations.py +20 -22
  59. azure/mgmt/storage/v2017_06_01/models/_models_py3.py +16 -22
  60. azure/mgmt/storage/v2017_06_01/operations/_operations.py +21 -23
  61. azure/mgmt/storage/v2017_06_01/operations/_skus_operations.py +23 -25
  62. azure/mgmt/storage/v2017_06_01/operations/_storage_accounts_operations.py +185 -286
  63. azure/mgmt/storage/v2017_06_01/operations/_usage_operations.py +23 -25
  64. azure/mgmt/storage/v2017_10_01/_configuration.py +4 -11
  65. azure/mgmt/storage/v2017_10_01/_patch.py +1 -0
  66. azure/mgmt/storage/v2017_10_01/_storage_management.py +27 -7
  67. azure/mgmt/storage/v2017_10_01/_vendor.py +0 -14
  68. azure/mgmt/storage/v2017_10_01/_version.py +1 -1
  69. azure/mgmt/storage/v2017_10_01/aio/_configuration.py +4 -11
  70. azure/mgmt/storage/v2017_10_01/aio/_patch.py +1 -0
  71. azure/mgmt/storage/v2017_10_01/aio/_storage_management.py +29 -7
  72. azure/mgmt/storage/v2017_10_01/aio/operations/_operations.py +20 -22
  73. azure/mgmt/storage/v2017_10_01/aio/operations/_skus_operations.py +20 -22
  74. azure/mgmt/storage/v2017_10_01/aio/operations/_storage_accounts_operations.py +162 -263
  75. azure/mgmt/storage/v2017_10_01/aio/operations/_usage_operations.py +20 -22
  76. azure/mgmt/storage/v2017_10_01/models/_models_py3.py +16 -22
  77. azure/mgmt/storage/v2017_10_01/operations/_operations.py +21 -23
  78. azure/mgmt/storage/v2017_10_01/operations/_skus_operations.py +23 -25
  79. azure/mgmt/storage/v2017_10_01/operations/_storage_accounts_operations.py +185 -286
  80. azure/mgmt/storage/v2017_10_01/operations/_usage_operations.py +23 -25
  81. azure/mgmt/storage/v2018_02_01/_configuration.py +4 -11
  82. azure/mgmt/storage/v2018_02_01/_patch.py +1 -0
  83. azure/mgmt/storage/v2018_02_01/_storage_management_client.py +30 -8
  84. azure/mgmt/storage/v2018_02_01/_vendor.py +0 -14
  85. azure/mgmt/storage/v2018_02_01/_version.py +1 -1
  86. azure/mgmt/storage/v2018_02_01/aio/_configuration.py +4 -11
  87. azure/mgmt/storage/v2018_02_01/aio/_patch.py +1 -0
  88. azure/mgmt/storage/v2018_02_01/aio/_storage_management_client.py +32 -8
  89. azure/mgmt/storage/v2018_02_01/aio/operations/_blob_containers_operations.py +166 -264
  90. azure/mgmt/storage/v2018_02_01/aio/operations/_operations.py +20 -22
  91. azure/mgmt/storage/v2018_02_01/aio/operations/_skus_operations.py +20 -22
  92. azure/mgmt/storage/v2018_02_01/aio/operations/_storage_accounts_operations.py +162 -263
  93. azure/mgmt/storage/v2018_02_01/aio/operations/_usage_operations.py +34 -41
  94. azure/mgmt/storage/v2018_02_01/models/_models_py3.py +28 -34
  95. azure/mgmt/storage/v2018_02_01/models/_storage_management_client_enums.py +1 -1
  96. azure/mgmt/storage/v2018_02_01/operations/_blob_containers_operations.py +194 -292
  97. azure/mgmt/storage/v2018_02_01/operations/_operations.py +21 -23
  98. azure/mgmt/storage/v2018_02_01/operations/_skus_operations.py +23 -25
  99. azure/mgmt/storage/v2018_02_01/operations/_storage_accounts_operations.py +185 -286
  100. azure/mgmt/storage/v2018_02_01/operations/_usage_operations.py +39 -46
  101. azure/mgmt/storage/v2018_03_01_preview/_configuration.py +4 -11
  102. azure/mgmt/storage/v2018_03_01_preview/_patch.py +1 -0
  103. azure/mgmt/storage/v2018_03_01_preview/_storage_management_client.py +41 -8
  104. azure/mgmt/storage/v2018_03_01_preview/_vendor.py +0 -14
  105. azure/mgmt/storage/v2018_03_01_preview/_version.py +1 -1
  106. azure/mgmt/storage/v2018_03_01_preview/aio/_configuration.py +4 -11
  107. azure/mgmt/storage/v2018_03_01_preview/aio/_patch.py +1 -0
  108. azure/mgmt/storage/v2018_03_01_preview/aio/_storage_management_client.py +43 -8
  109. azure/mgmt/storage/v2018_03_01_preview/aio/operations/__init__.py +2 -0
  110. azure/mgmt/storage/v2018_03_01_preview/aio/operations/_blob_containers_operations.py +182 -277
  111. azure/mgmt/storage/{v2018_07_01 → v2018_03_01_preview}/aio/operations/_management_policies_operations.py +55 -72
  112. azure/mgmt/storage/v2018_03_01_preview/aio/operations/_operations.py +21 -23
  113. azure/mgmt/storage/v2018_03_01_preview/aio/operations/_skus_operations.py +21 -23
  114. azure/mgmt/storage/v2018_03_01_preview/aio/operations/_storage_accounts_operations.py +209 -330
  115. azure/mgmt/storage/v2018_03_01_preview/aio/operations/_usages_operations.py +36 -43
  116. azure/mgmt/storage/v2018_03_01_preview/models/_models_py3.py +30 -34
  117. azure/mgmt/storage/v2018_03_01_preview/models/_storage_management_client_enums.py +1 -1
  118. azure/mgmt/storage/v2018_03_01_preview/operations/__init__.py +2 -0
  119. azure/mgmt/storage/v2018_03_01_preview/operations/_blob_containers_operations.py +210 -331
  120. azure/mgmt/storage/{v2018_07_01 → v2018_03_01_preview}/operations/_management_policies_operations.py +62 -85
  121. azure/mgmt/storage/v2018_03_01_preview/operations/_operations.py +22 -26
  122. azure/mgmt/storage/v2018_03_01_preview/operations/_skus_operations.py +24 -28
  123. azure/mgmt/storage/v2018_03_01_preview/operations/_storage_accounts_operations.py +239 -388
  124. azure/mgmt/storage/v2018_03_01_preview/operations/_usages_operations.py +41 -52
  125. azure/mgmt/storage/v2018_07_01/_configuration.py +9 -4
  126. azure/mgmt/storage/v2018_07_01/_patch.py +1 -0
  127. azure/mgmt/storage/v2018_07_01/_storage_management_client.py +36 -16
  128. azure/mgmt/storage/v2018_07_01/_vendor.py +0 -14
  129. azure/mgmt/storage/v2018_07_01/_version.py +1 -1
  130. azure/mgmt/storage/v2018_07_01/aio/_configuration.py +9 -4
  131. azure/mgmt/storage/v2018_07_01/aio/_patch.py +1 -0
  132. azure/mgmt/storage/v2018_07_01/aio/_storage_management_client.py +38 -16
  133. azure/mgmt/storage/v2018_07_01/aio/operations/__init__.py +0 -2
  134. azure/mgmt/storage/v2018_07_01/aio/operations/_blob_containers_operations.py +166 -264
  135. azure/mgmt/storage/v2018_07_01/aio/operations/_blob_services_operations.py +31 -44
  136. azure/mgmt/storage/v2018_07_01/aio/operations/_operations.py +31 -21
  137. azure/mgmt/storage/v2018_07_01/aio/operations/_skus_operations.py +31 -21
  138. azure/mgmt/storage/v2018_07_01/aio/operations/_storage_accounts_operations.py +195 -289
  139. azure/mgmt/storage/v2018_07_01/aio/operations/_usages_operations.py +31 -23
  140. azure/mgmt/storage/v2018_07_01/models/__init__.py +0 -10
  141. azure/mgmt/storage/v2018_07_01/models/_models_py3.py +30 -164
  142. azure/mgmt/storage/v2018_07_01/models/_storage_management_client_enums.py +1 -7
  143. azure/mgmt/storage/v2018_07_01/operations/__init__.py +0 -2
  144. azure/mgmt/storage/v2018_07_01/operations/_blob_containers_operations.py +194 -292
  145. azure/mgmt/storage/v2018_07_01/operations/_blob_services_operations.py +36 -49
  146. azure/mgmt/storage/v2018_07_01/operations/_operations.py +32 -22
  147. azure/mgmt/storage/v2018_07_01/operations/_skus_operations.py +34 -24
  148. azure/mgmt/storage/v2018_07_01/operations/_storage_accounts_operations.py +220 -314
  149. azure/mgmt/storage/v2018_07_01/operations/_usages_operations.py +34 -26
  150. azure/mgmt/storage/v2018_11_01/_configuration.py +4 -11
  151. azure/mgmt/storage/v2018_11_01/_patch.py +1 -0
  152. azure/mgmt/storage/v2018_11_01/_storage_management_client.py +34 -10
  153. azure/mgmt/storage/v2018_11_01/_vendor.py +0 -14
  154. azure/mgmt/storage/v2018_11_01/_version.py +1 -1
  155. azure/mgmt/storage/v2018_11_01/aio/_configuration.py +4 -11
  156. azure/mgmt/storage/v2018_11_01/aio/_patch.py +1 -0
  157. azure/mgmt/storage/v2018_11_01/aio/_storage_management_client.py +36 -10
  158. azure/mgmt/storage/v2018_11_01/aio/operations/_blob_containers_operations.py +164 -262
  159. azure/mgmt/storage/v2018_11_01/aio/operations/_blob_services_operations.py +31 -44
  160. azure/mgmt/storage/v2018_11_01/aio/operations/_management_policies_operations.py +39 -57
  161. azure/mgmt/storage/v2018_11_01/aio/operations/_operations.py +20 -22
  162. azure/mgmt/storage/v2018_11_01/aio/operations/_skus_operations.py +20 -22
  163. azure/mgmt/storage/v2018_11_01/aio/operations/_storage_accounts_operations.py +182 -304
  164. azure/mgmt/storage/v2018_11_01/aio/operations/_usages_operations.py +20 -24
  165. azure/mgmt/storage/v2018_11_01/models/_models_py3.py +37 -43
  166. azure/mgmt/storage/v2018_11_01/models/_storage_management_client_enums.py +1 -1
  167. azure/mgmt/storage/v2018_11_01/operations/_blob_containers_operations.py +192 -290
  168. azure/mgmt/storage/v2018_11_01/operations/_blob_services_operations.py +36 -49
  169. azure/mgmt/storage/v2018_11_01/operations/_management_policies_operations.py +46 -64
  170. azure/mgmt/storage/v2018_11_01/operations/_operations.py +21 -23
  171. azure/mgmt/storage/v2018_11_01/operations/_skus_operations.py +23 -25
  172. azure/mgmt/storage/v2018_11_01/operations/_storage_accounts_operations.py +210 -332
  173. azure/mgmt/storage/v2018_11_01/operations/_usages_operations.py +23 -27
  174. azure/mgmt/storage/v2019_04_01/_configuration.py +4 -11
  175. azure/mgmt/storage/v2019_04_01/_patch.py +1 -0
  176. azure/mgmt/storage/v2019_04_01/_storage_management_client.py +40 -12
  177. azure/mgmt/storage/v2019_04_01/_vendor.py +0 -14
  178. azure/mgmt/storage/v2019_04_01/_version.py +1 -1
  179. azure/mgmt/storage/v2019_04_01/aio/_configuration.py +4 -11
  180. azure/mgmt/storage/v2019_04_01/aio/_patch.py +1 -0
  181. azure/mgmt/storage/v2019_04_01/aio/_storage_management_client.py +42 -12
  182. azure/mgmt/storage/v2019_04_01/aio/operations/_blob_containers_operations.py +169 -267
  183. azure/mgmt/storage/v2019_04_01/aio/operations/_blob_services_operations.py +45 -63
  184. azure/mgmt/storage/v2019_04_01/aio/operations/_file_services_operations.py +41 -59
  185. azure/mgmt/storage/v2019_04_01/aio/operations/_file_shares_operations.py +68 -101
  186. azure/mgmt/storage/v2019_04_01/aio/operations/_management_policies_operations.py +39 -57
  187. azure/mgmt/storage/v2019_04_01/aio/operations/_operations.py +20 -22
  188. azure/mgmt/storage/v2019_04_01/aio/operations/_skus_operations.py +20 -22
  189. azure/mgmt/storage/v2019_04_01/aio/operations/_storage_accounts_operations.py +183 -304
  190. azure/mgmt/storage/v2019_04_01/aio/operations/_usages_operations.py +20 -24
  191. azure/mgmt/storage/v2019_04_01/models/_models_py3.py +42 -48
  192. azure/mgmt/storage/v2019_04_01/models/_storage_management_client_enums.py +1 -1
  193. azure/mgmt/storage/v2019_04_01/operations/_blob_containers_operations.py +197 -295
  194. azure/mgmt/storage/v2019_04_01/operations/_blob_services_operations.py +52 -70
  195. azure/mgmt/storage/v2019_04_01/operations/_file_services_operations.py +48 -66
  196. azure/mgmt/storage/v2019_04_01/operations/_file_shares_operations.py +79 -112
  197. azure/mgmt/storage/v2019_04_01/operations/_management_policies_operations.py +46 -64
  198. azure/mgmt/storage/v2019_04_01/operations/_operations.py +21 -23
  199. azure/mgmt/storage/v2019_04_01/operations/_skus_operations.py +23 -25
  200. azure/mgmt/storage/v2019_04_01/operations/_storage_accounts_operations.py +211 -332
  201. azure/mgmt/storage/v2019_04_01/operations/_usages_operations.py +23 -27
  202. azure/mgmt/storage/v2019_06_01/_configuration.py +4 -11
  203. azure/mgmt/storage/v2019_06_01/_patch.py +1 -0
  204. azure/mgmt/storage/v2019_06_01/_storage_management_client.py +54 -22
  205. azure/mgmt/storage/v2019_06_01/_vendor.py +0 -14
  206. azure/mgmt/storage/v2019_06_01/_version.py +1 -1
  207. azure/mgmt/storage/v2019_06_01/aio/_configuration.py +4 -11
  208. azure/mgmt/storage/v2019_06_01/aio/_patch.py +1 -0
  209. azure/mgmt/storage/v2019_06_01/aio/_storage_management_client.py +56 -22
  210. azure/mgmt/storage/v2019_06_01/aio/operations/_blob_containers_operations.py +169 -267
  211. azure/mgmt/storage/v2019_06_01/aio/operations/_blob_inventory_policies_operations.py +53 -76
  212. azure/mgmt/storage/v2019_06_01/aio/operations/_blob_services_operations.py +45 -63
  213. azure/mgmt/storage/v2019_06_01/aio/operations/_encryption_scopes_operations.py +58 -86
  214. azure/mgmt/storage/v2019_06_01/aio/operations/_file_services_operations.py +41 -59
  215. azure/mgmt/storage/v2019_06_01/aio/operations/_file_shares_operations.py +82 -125
  216. azure/mgmt/storage/v2019_06_01/aio/operations/_management_policies_operations.py +39 -57
  217. azure/mgmt/storage/v2019_06_01/aio/operations/_object_replication_policies_operations.py +54 -76
  218. azure/mgmt/storage/v2019_06_01/aio/operations/_operations.py +20 -22
  219. azure/mgmt/storage/v2019_06_01/aio/operations/_private_endpoint_connections_operations.py +53 -76
  220. azure/mgmt/storage/v2019_06_01/aio/operations/_private_link_resources_operations.py +15 -19
  221. azure/mgmt/storage/v2019_06_01/aio/operations/_queue_operations.py +68 -101
  222. azure/mgmt/storage/v2019_06_01/aio/operations/_queue_services_operations.py +40 -58
  223. azure/mgmt/storage/v2019_06_01/aio/operations/_skus_operations.py +20 -22
  224. azure/mgmt/storage/v2019_06_01/aio/operations/_storage_accounts_operations.py +203 -357
  225. azure/mgmt/storage/v2019_06_01/aio/operations/_table_operations.py +55 -79
  226. azure/mgmt/storage/v2019_06_01/aio/operations/_table_services_operations.py +40 -58
  227. azure/mgmt/storage/v2019_06_01/aio/operations/_usages_operations.py +20 -24
  228. azure/mgmt/storage/v2019_06_01/models/_models_py3.py +62 -68
  229. azure/mgmt/storage/v2019_06_01/models/_storage_management_client_enums.py +1 -1
  230. azure/mgmt/storage/v2019_06_01/operations/_blob_containers_operations.py +197 -295
  231. azure/mgmt/storage/v2019_06_01/operations/_blob_inventory_policies_operations.py +62 -85
  232. azure/mgmt/storage/v2019_06_01/operations/_blob_services_operations.py +52 -70
  233. azure/mgmt/storage/v2019_06_01/operations/_encryption_scopes_operations.py +67 -95
  234. azure/mgmt/storage/v2019_06_01/operations/_file_services_operations.py +48 -66
  235. azure/mgmt/storage/v2019_06_01/operations/_file_shares_operations.py +95 -138
  236. azure/mgmt/storage/v2019_06_01/operations/_management_policies_operations.py +46 -64
  237. azure/mgmt/storage/v2019_06_01/operations/_object_replication_policies_operations.py +63 -85
  238. azure/mgmt/storage/v2019_06_01/operations/_operations.py +21 -23
  239. azure/mgmt/storage/v2019_06_01/operations/_private_endpoint_connections_operations.py +62 -85
  240. azure/mgmt/storage/v2019_06_01/operations/_private_link_resources_operations.py +18 -22
  241. azure/mgmt/storage/v2019_06_01/operations/_queue_operations.py +79 -112
  242. azure/mgmt/storage/v2019_06_01/operations/_queue_services_operations.py +47 -65
  243. azure/mgmt/storage/v2019_06_01/operations/_skus_operations.py +23 -25
  244. azure/mgmt/storage/v2019_06_01/operations/_storage_accounts_operations.py +233 -387
  245. azure/mgmt/storage/v2019_06_01/operations/_table_operations.py +66 -90
  246. azure/mgmt/storage/v2019_06_01/operations/_table_services_operations.py +47 -65
  247. azure/mgmt/storage/v2019_06_01/operations/_usages_operations.py +23 -27
  248. azure/mgmt/storage/v2020_08_01_preview/_configuration.py +4 -11
  249. azure/mgmt/storage/v2020_08_01_preview/_patch.py +1 -0
  250. azure/mgmt/storage/v2020_08_01_preview/_storage_management_client.py +64 -24
  251. azure/mgmt/storage/v2020_08_01_preview/_vendor.py +0 -14
  252. azure/mgmt/storage/v2020_08_01_preview/_version.py +1 -1
  253. azure/mgmt/storage/v2020_08_01_preview/aio/_configuration.py +4 -11
  254. azure/mgmt/storage/v2020_08_01_preview/aio/_patch.py +1 -0
  255. azure/mgmt/storage/v2020_08_01_preview/aio/_storage_management_client.py +66 -24
  256. azure/mgmt/storage/v2020_08_01_preview/aio/operations/_blob_containers_operations.py +185 -280
  257. azure/mgmt/storage/v2020_08_01_preview/aio/operations/_blob_inventory_policies_operations.py +58 -80
  258. azure/mgmt/storage/v2020_08_01_preview/aio/operations/_blob_services_operations.py +49 -66
  259. azure/mgmt/storage/v2020_08_01_preview/aio/operations/_deleted_accounts_operations.py +31 -38
  260. azure/mgmt/storage/v2020_08_01_preview/aio/operations/_encryption_scopes_operations.py +64 -90
  261. azure/mgmt/storage/v2020_08_01_preview/aio/operations/_file_services_operations.py +45 -62
  262. azure/mgmt/storage/v2020_08_01_preview/aio/operations/_file_shares_operations.py +88 -131
  263. azure/mgmt/storage/v2020_08_01_preview/aio/operations/_management_policies_operations.py +42 -60
  264. azure/mgmt/storage/v2020_08_01_preview/aio/operations/_object_replication_policies_operations.py +59 -80
  265. azure/mgmt/storage/v2020_08_01_preview/aio/operations/_operations.py +21 -23
  266. azure/mgmt/storage/v2020_08_01_preview/aio/operations/_private_endpoint_connections_operations.py +57 -80
  267. azure/mgmt/storage/v2020_08_01_preview/aio/operations/_private_link_resources_operations.py +16 -20
  268. azure/mgmt/storage/v2020_08_01_preview/aio/operations/_queue_operations.py +73 -106
  269. azure/mgmt/storage/v2020_08_01_preview/aio/operations/_queue_services_operations.py +44 -61
  270. azure/mgmt/storage/v2020_08_01_preview/aio/operations/_skus_operations.py +21 -23
  271. azure/mgmt/storage/v2020_08_01_preview/aio/operations/_storage_accounts_operations.py +221 -374
  272. azure/mgmt/storage/v2020_08_01_preview/aio/operations/_table_operations.py +60 -84
  273. azure/mgmt/storage/v2020_08_01_preview/aio/operations/_table_services_operations.py +44 -61
  274. azure/mgmt/storage/v2020_08_01_preview/aio/operations/_usages_operations.py +21 -25
  275. azure/mgmt/storage/v2020_08_01_preview/models/_models_py3.py +64 -86
  276. azure/mgmt/storage/v2020_08_01_preview/models/_storage_management_client_enums.py +1 -1
  277. azure/mgmt/storage/v2020_08_01_preview/operations/_blob_containers_operations.py +213 -334
  278. azure/mgmt/storage/v2020_08_01_preview/operations/_blob_inventory_policies_operations.py +67 -97
  279. azure/mgmt/storage/v2020_08_01_preview/operations/_blob_services_operations.py +56 -79
  280. azure/mgmt/storage/v2020_08_01_preview/operations/_deleted_accounts_operations.py +36 -47
  281. azure/mgmt/storage/v2020_08_01_preview/operations/_encryption_scopes_operations.py +73 -107
  282. azure/mgmt/storage/v2020_08_01_preview/operations/_file_services_operations.py +52 -75
  283. azure/mgmt/storage/v2020_08_01_preview/operations/_file_shares_operations.py +101 -156
  284. azure/mgmt/storage/v2020_08_01_preview/operations/_management_policies_operations.py +49 -73
  285. azure/mgmt/storage/v2020_08_01_preview/operations/_object_replication_policies_operations.py +68 -97
  286. azure/mgmt/storage/v2020_08_01_preview/operations/_operations.py +22 -26
  287. azure/mgmt/storage/v2020_08_01_preview/operations/_private_endpoint_connections_operations.py +66 -97
  288. azure/mgmt/storage/v2020_08_01_preview/operations/_private_link_resources_operations.py +19 -25
  289. azure/mgmt/storage/v2020_08_01_preview/operations/_queue_operations.py +84 -127
  290. azure/mgmt/storage/v2020_08_01_preview/operations/_queue_services_operations.py +51 -74
  291. azure/mgmt/storage/v2020_08_01_preview/operations/_skus_operations.py +24 -28
  292. azure/mgmt/storage/v2020_08_01_preview/operations/_storage_accounts_operations.py +251 -432
  293. azure/mgmt/storage/v2020_08_01_preview/operations/_table_operations.py +71 -105
  294. azure/mgmt/storage/v2020_08_01_preview/operations/_table_services_operations.py +51 -74
  295. azure/mgmt/storage/v2020_08_01_preview/operations/_usages_operations.py +24 -30
  296. azure/mgmt/storage/v2021_01_01/_configuration.py +4 -11
  297. azure/mgmt/storage/v2021_01_01/_patch.py +1 -0
  298. azure/mgmt/storage/v2021_01_01/_storage_management_client.py +55 -23
  299. azure/mgmt/storage/v2021_01_01/_vendor.py +0 -14
  300. azure/mgmt/storage/v2021_01_01/_version.py +1 -1
  301. azure/mgmt/storage/v2021_01_01/aio/_configuration.py +4 -11
  302. azure/mgmt/storage/v2021_01_01/aio/_patch.py +1 -0
  303. azure/mgmt/storage/v2021_01_01/aio/_storage_management_client.py +57 -23
  304. azure/mgmt/storage/v2021_01_01/aio/operations/_blob_containers_operations.py +169 -267
  305. azure/mgmt/storage/v2021_01_01/aio/operations/_blob_inventory_policies_operations.py +53 -76
  306. azure/mgmt/storage/v2021_01_01/aio/operations/_blob_services_operations.py +45 -63
  307. azure/mgmt/storage/v2021_01_01/aio/operations/_deleted_accounts_operations.py +29 -36
  308. azure/mgmt/storage/v2021_01_01/aio/operations/_encryption_scopes_operations.py +58 -86
  309. azure/mgmt/storage/v2021_01_01/aio/operations/_file_services_operations.py +41 -59
  310. azure/mgmt/storage/v2021_01_01/aio/operations/_file_shares_operations.py +82 -125
  311. azure/mgmt/storage/v2021_01_01/aio/operations/_management_policies_operations.py +39 -57
  312. azure/mgmt/storage/v2021_01_01/aio/operations/_object_replication_policies_operations.py +54 -76
  313. azure/mgmt/storage/v2021_01_01/aio/operations/_operations.py +20 -22
  314. azure/mgmt/storage/v2021_01_01/aio/operations/_private_endpoint_connections_operations.py +53 -76
  315. azure/mgmt/storage/v2021_01_01/aio/operations/_private_link_resources_operations.py +15 -19
  316. azure/mgmt/storage/v2021_01_01/aio/operations/_queue_operations.py +68 -101
  317. azure/mgmt/storage/v2021_01_01/aio/operations/_queue_services_operations.py +40 -58
  318. azure/mgmt/storage/v2021_01_01/aio/operations/_skus_operations.py +20 -22
  319. azure/mgmt/storage/v2021_01_01/aio/operations/_storage_accounts_operations.py +203 -357
  320. azure/mgmt/storage/v2021_01_01/aio/operations/_table_operations.py +55 -79
  321. azure/mgmt/storage/v2021_01_01/aio/operations/_table_services_operations.py +40 -58
  322. azure/mgmt/storage/v2021_01_01/aio/operations/_usages_operations.py +20 -24
  323. azure/mgmt/storage/v2021_01_01/models/_models_py3.py +64 -86
  324. azure/mgmt/storage/v2021_01_01/models/_storage_management_client_enums.py +1 -1
  325. azure/mgmt/storage/v2021_01_01/operations/_blob_containers_operations.py +197 -295
  326. azure/mgmt/storage/v2021_01_01/operations/_blob_inventory_policies_operations.py +62 -85
  327. azure/mgmt/storage/v2021_01_01/operations/_blob_services_operations.py +52 -70
  328. azure/mgmt/storage/v2021_01_01/operations/_deleted_accounts_operations.py +34 -41
  329. azure/mgmt/storage/v2021_01_01/operations/_encryption_scopes_operations.py +67 -95
  330. azure/mgmt/storage/v2021_01_01/operations/_file_services_operations.py +48 -66
  331. azure/mgmt/storage/v2021_01_01/operations/_file_shares_operations.py +95 -138
  332. azure/mgmt/storage/v2021_01_01/operations/_management_policies_operations.py +46 -64
  333. azure/mgmt/storage/v2021_01_01/operations/_object_replication_policies_operations.py +63 -85
  334. azure/mgmt/storage/v2021_01_01/operations/_operations.py +21 -23
  335. azure/mgmt/storage/v2021_01_01/operations/_private_endpoint_connections_operations.py +62 -85
  336. azure/mgmt/storage/v2021_01_01/operations/_private_link_resources_operations.py +18 -22
  337. azure/mgmt/storage/v2021_01_01/operations/_queue_operations.py +79 -112
  338. azure/mgmt/storage/v2021_01_01/operations/_queue_services_operations.py +47 -65
  339. azure/mgmt/storage/v2021_01_01/operations/_skus_operations.py +23 -25
  340. azure/mgmt/storage/v2021_01_01/operations/_storage_accounts_operations.py +233 -387
  341. azure/mgmt/storage/v2021_01_01/operations/_table_operations.py +66 -90
  342. azure/mgmt/storage/v2021_01_01/operations/_table_services_operations.py +47 -65
  343. azure/mgmt/storage/v2021_01_01/operations/_usages_operations.py +23 -27
  344. azure/mgmt/storage/v2021_02_01/_configuration.py +4 -11
  345. azure/mgmt/storage/v2021_02_01/_patch.py +1 -0
  346. azure/mgmt/storage/v2021_02_01/_storage_management_client.py +55 -23
  347. azure/mgmt/storage/v2021_02_01/_vendor.py +0 -14
  348. azure/mgmt/storage/v2021_02_01/_version.py +1 -1
  349. azure/mgmt/storage/v2021_02_01/aio/_configuration.py +4 -11
  350. azure/mgmt/storage/v2021_02_01/aio/_patch.py +1 -0
  351. azure/mgmt/storage/v2021_02_01/aio/_storage_management_client.py +57 -23
  352. azure/mgmt/storage/v2021_02_01/aio/operations/_blob_containers_operations.py +169 -267
  353. azure/mgmt/storage/v2021_02_01/aio/operations/_blob_inventory_policies_operations.py +53 -76
  354. azure/mgmt/storage/v2021_02_01/aio/operations/_blob_services_operations.py +45 -63
  355. azure/mgmt/storage/v2021_02_01/aio/operations/_deleted_accounts_operations.py +29 -36
  356. azure/mgmt/storage/v2021_02_01/aio/operations/_encryption_scopes_operations.py +58 -86
  357. azure/mgmt/storage/v2021_02_01/aio/operations/_file_services_operations.py +41 -59
  358. azure/mgmt/storage/v2021_02_01/aio/operations/_file_shares_operations.py +82 -125
  359. azure/mgmt/storage/v2021_02_01/aio/operations/_management_policies_operations.py +39 -57
  360. azure/mgmt/storage/v2021_02_01/aio/operations/_object_replication_policies_operations.py +54 -76
  361. azure/mgmt/storage/v2021_02_01/aio/operations/_operations.py +20 -22
  362. azure/mgmt/storage/v2021_02_01/aio/operations/_private_endpoint_connections_operations.py +53 -76
  363. azure/mgmt/storage/v2021_02_01/aio/operations/_private_link_resources_operations.py +15 -19
  364. azure/mgmt/storage/v2021_02_01/aio/operations/_queue_operations.py +68 -101
  365. azure/mgmt/storage/v2021_02_01/aio/operations/_queue_services_operations.py +40 -58
  366. azure/mgmt/storage/v2021_02_01/aio/operations/_skus_operations.py +20 -22
  367. azure/mgmt/storage/v2021_02_01/aio/operations/_storage_accounts_operations.py +203 -357
  368. azure/mgmt/storage/v2021_02_01/aio/operations/_table_operations.py +55 -79
  369. azure/mgmt/storage/v2021_02_01/aio/operations/_table_services_operations.py +40 -58
  370. azure/mgmt/storage/v2021_02_01/aio/operations/_usages_operations.py +20 -24
  371. azure/mgmt/storage/v2021_02_01/models/_models_py3.py +66 -88
  372. azure/mgmt/storage/v2021_02_01/models/_storage_management_client_enums.py +1 -1
  373. azure/mgmt/storage/v2021_02_01/operations/_blob_containers_operations.py +197 -295
  374. azure/mgmt/storage/v2021_02_01/operations/_blob_inventory_policies_operations.py +62 -85
  375. azure/mgmt/storage/v2021_02_01/operations/_blob_services_operations.py +52 -70
  376. azure/mgmt/storage/v2021_02_01/operations/_deleted_accounts_operations.py +34 -41
  377. azure/mgmt/storage/v2021_02_01/operations/_encryption_scopes_operations.py +67 -95
  378. azure/mgmt/storage/v2021_02_01/operations/_file_services_operations.py +48 -66
  379. azure/mgmt/storage/v2021_02_01/operations/_file_shares_operations.py +95 -138
  380. azure/mgmt/storage/v2021_02_01/operations/_management_policies_operations.py +46 -64
  381. azure/mgmt/storage/v2021_02_01/operations/_object_replication_policies_operations.py +63 -85
  382. azure/mgmt/storage/v2021_02_01/operations/_operations.py +21 -23
  383. azure/mgmt/storage/v2021_02_01/operations/_private_endpoint_connections_operations.py +62 -85
  384. azure/mgmt/storage/v2021_02_01/operations/_private_link_resources_operations.py +18 -22
  385. azure/mgmt/storage/v2021_02_01/operations/_queue_operations.py +79 -112
  386. azure/mgmt/storage/v2021_02_01/operations/_queue_services_operations.py +47 -65
  387. azure/mgmt/storage/v2021_02_01/operations/_skus_operations.py +23 -25
  388. azure/mgmt/storage/v2021_02_01/operations/_storage_accounts_operations.py +233 -387
  389. azure/mgmt/storage/v2021_02_01/operations/_table_operations.py +66 -90
  390. azure/mgmt/storage/v2021_02_01/operations/_table_services_operations.py +47 -65
  391. azure/mgmt/storage/v2021_02_01/operations/_usages_operations.py +23 -27
  392. azure/mgmt/storage/v2021_04_01/_configuration.py +4 -11
  393. azure/mgmt/storage/v2021_04_01/_patch.py +1 -0
  394. azure/mgmt/storage/v2021_04_01/_storage_management_client.py +55 -23
  395. azure/mgmt/storage/v2021_04_01/_vendor.py +0 -14
  396. azure/mgmt/storage/v2021_04_01/_version.py +1 -1
  397. azure/mgmt/storage/v2021_04_01/aio/_configuration.py +4 -11
  398. azure/mgmt/storage/v2021_04_01/aio/_patch.py +1 -0
  399. azure/mgmt/storage/v2021_04_01/aio/_storage_management_client.py +57 -23
  400. azure/mgmt/storage/v2021_04_01/aio/operations/_blob_containers_operations.py +181 -295
  401. azure/mgmt/storage/v2021_04_01/aio/operations/_blob_inventory_policies_operations.py +53 -76
  402. azure/mgmt/storage/v2021_04_01/aio/operations/_blob_services_operations.py +45 -63
  403. azure/mgmt/storage/v2021_04_01/aio/operations/_deleted_accounts_operations.py +29 -36
  404. azure/mgmt/storage/v2021_04_01/aio/operations/_encryption_scopes_operations.py +58 -86
  405. azure/mgmt/storage/v2021_04_01/aio/operations/_file_services_operations.py +41 -59
  406. azure/mgmt/storage/v2021_04_01/aio/operations/_file_shares_operations.py +98 -151
  407. azure/mgmt/storage/v2021_04_01/aio/operations/_management_policies_operations.py +39 -57
  408. azure/mgmt/storage/v2021_04_01/aio/operations/_object_replication_policies_operations.py +54 -76
  409. azure/mgmt/storage/v2021_04_01/aio/operations/_operations.py +20 -22
  410. azure/mgmt/storage/v2021_04_01/aio/operations/_private_endpoint_connections_operations.py +53 -76
  411. azure/mgmt/storage/v2021_04_01/aio/operations/_private_link_resources_operations.py +15 -19
  412. azure/mgmt/storage/v2021_04_01/aio/operations/_queue_operations.py +68 -101
  413. azure/mgmt/storage/v2021_04_01/aio/operations/_queue_services_operations.py +40 -58
  414. azure/mgmt/storage/v2021_04_01/aio/operations/_skus_operations.py +20 -22
  415. azure/mgmt/storage/v2021_04_01/aio/operations/_storage_accounts_operations.py +203 -357
  416. azure/mgmt/storage/v2021_04_01/aio/operations/_table_operations.py +55 -79
  417. azure/mgmt/storage/v2021_04_01/aio/operations/_table_services_operations.py +40 -58
  418. azure/mgmt/storage/v2021_04_01/aio/operations/_usages_operations.py +20 -24
  419. azure/mgmt/storage/v2021_04_01/models/_models_py3.py +66 -88
  420. azure/mgmt/storage/v2021_04_01/models/_storage_management_client_enums.py +2 -2
  421. azure/mgmt/storage/v2021_04_01/operations/_blob_containers_operations.py +211 -325
  422. azure/mgmt/storage/v2021_04_01/operations/_blob_inventory_policies_operations.py +62 -85
  423. azure/mgmt/storage/v2021_04_01/operations/_blob_services_operations.py +52 -70
  424. azure/mgmt/storage/v2021_04_01/operations/_deleted_accounts_operations.py +34 -41
  425. azure/mgmt/storage/v2021_04_01/operations/_encryption_scopes_operations.py +67 -95
  426. azure/mgmt/storage/v2021_04_01/operations/_file_services_operations.py +48 -66
  427. azure/mgmt/storage/v2021_04_01/operations/_file_shares_operations.py +113 -166
  428. azure/mgmt/storage/v2021_04_01/operations/_management_policies_operations.py +46 -64
  429. azure/mgmt/storage/v2021_04_01/operations/_object_replication_policies_operations.py +63 -85
  430. azure/mgmt/storage/v2021_04_01/operations/_operations.py +21 -23
  431. azure/mgmt/storage/v2021_04_01/operations/_private_endpoint_connections_operations.py +62 -85
  432. azure/mgmt/storage/v2021_04_01/operations/_private_link_resources_operations.py +18 -22
  433. azure/mgmt/storage/v2021_04_01/operations/_queue_operations.py +79 -112
  434. azure/mgmt/storage/v2021_04_01/operations/_queue_services_operations.py +47 -65
  435. azure/mgmt/storage/v2021_04_01/operations/_skus_operations.py +23 -25
  436. azure/mgmt/storage/v2021_04_01/operations/_storage_accounts_operations.py +233 -387
  437. azure/mgmt/storage/v2021_04_01/operations/_table_operations.py +66 -90
  438. azure/mgmt/storage/v2021_04_01/operations/_table_services_operations.py +47 -65
  439. azure/mgmt/storage/v2021_04_01/operations/_usages_operations.py +23 -27
  440. azure/mgmt/storage/v2021_06_01/_configuration.py +4 -11
  441. azure/mgmt/storage/v2021_06_01/_patch.py +1 -0
  442. azure/mgmt/storage/v2021_06_01/_storage_management_client.py +55 -23
  443. azure/mgmt/storage/v2021_06_01/_vendor.py +0 -14
  444. azure/mgmt/storage/v2021_06_01/_version.py +1 -1
  445. azure/mgmt/storage/v2021_06_01/aio/_configuration.py +4 -11
  446. azure/mgmt/storage/v2021_06_01/aio/_patch.py +1 -0
  447. azure/mgmt/storage/v2021_06_01/aio/_storage_management_client.py +57 -23
  448. azure/mgmt/storage/v2021_06_01/aio/operations/_blob_containers_operations.py +181 -315
  449. azure/mgmt/storage/v2021_06_01/aio/operations/_blob_inventory_policies_operations.py +53 -76
  450. azure/mgmt/storage/v2021_06_01/aio/operations/_blob_services_operations.py +45 -79
  451. azure/mgmt/storage/v2021_06_01/aio/operations/_deleted_accounts_operations.py +29 -36
  452. azure/mgmt/storage/v2021_06_01/aio/operations/_encryption_scopes_operations.py +58 -86
  453. azure/mgmt/storage/v2021_06_01/aio/operations/_file_services_operations.py +41 -75
  454. azure/mgmt/storage/v2021_06_01/aio/operations/_file_shares_operations.py +98 -151
  455. azure/mgmt/storage/v2021_06_01/aio/operations/_management_policies_operations.py +39 -57
  456. azure/mgmt/storage/v2021_06_01/aio/operations/_object_replication_policies_operations.py +54 -76
  457. azure/mgmt/storage/v2021_06_01/aio/operations/_operations.py +20 -22
  458. azure/mgmt/storage/v2021_06_01/aio/operations/_private_endpoint_connections_operations.py +53 -76
  459. azure/mgmt/storage/v2021_06_01/aio/operations/_private_link_resources_operations.py +15 -19
  460. azure/mgmt/storage/v2021_06_01/aio/operations/_queue_operations.py +68 -101
  461. azure/mgmt/storage/v2021_06_01/aio/operations/_queue_services_operations.py +40 -74
  462. azure/mgmt/storage/v2021_06_01/aio/operations/_skus_operations.py +20 -22
  463. azure/mgmt/storage/v2021_06_01/aio/operations/_storage_accounts_operations.py +230 -416
  464. azure/mgmt/storage/v2021_06_01/aio/operations/_table_operations.py +55 -79
  465. azure/mgmt/storage/v2021_06_01/aio/operations/_table_services_operations.py +40 -74
  466. azure/mgmt/storage/v2021_06_01/aio/operations/_usages_operations.py +20 -24
  467. azure/mgmt/storage/v2021_06_01/models/_models_py3.py +66 -88
  468. azure/mgmt/storage/v2021_06_01/models/_storage_management_client_enums.py +2 -2
  469. azure/mgmt/storage/v2021_06_01/operations/_blob_containers_operations.py +211 -345
  470. azure/mgmt/storage/v2021_06_01/operations/_blob_inventory_policies_operations.py +62 -85
  471. azure/mgmt/storage/v2021_06_01/operations/_blob_services_operations.py +52 -86
  472. azure/mgmt/storage/v2021_06_01/operations/_deleted_accounts_operations.py +34 -41
  473. azure/mgmt/storage/v2021_06_01/operations/_encryption_scopes_operations.py +67 -95
  474. azure/mgmt/storage/v2021_06_01/operations/_file_services_operations.py +48 -82
  475. azure/mgmt/storage/v2021_06_01/operations/_file_shares_operations.py +113 -166
  476. azure/mgmt/storage/v2021_06_01/operations/_management_policies_operations.py +46 -64
  477. azure/mgmt/storage/v2021_06_01/operations/_object_replication_policies_operations.py +63 -85
  478. azure/mgmt/storage/v2021_06_01/operations/_operations.py +21 -23
  479. azure/mgmt/storage/v2021_06_01/operations/_private_endpoint_connections_operations.py +62 -85
  480. azure/mgmt/storage/v2021_06_01/operations/_private_link_resources_operations.py +18 -22
  481. azure/mgmt/storage/v2021_06_01/operations/_queue_operations.py +79 -112
  482. azure/mgmt/storage/v2021_06_01/operations/_queue_services_operations.py +47 -81
  483. azure/mgmt/storage/v2021_06_01/operations/_skus_operations.py +23 -25
  484. azure/mgmt/storage/v2021_06_01/operations/_storage_accounts_operations.py +266 -452
  485. azure/mgmt/storage/v2021_06_01/operations/_table_operations.py +66 -90
  486. azure/mgmt/storage/v2021_06_01/operations/_table_services_operations.py +47 -81
  487. azure/mgmt/storage/v2021_06_01/operations/_usages_operations.py +23 -27
  488. azure/mgmt/storage/v2021_08_01/_configuration.py +4 -11
  489. azure/mgmt/storage/v2021_08_01/_patch.py +1 -0
  490. azure/mgmt/storage/v2021_08_01/_storage_management_client.py +59 -25
  491. azure/mgmt/storage/v2021_08_01/_vendor.py +0 -14
  492. azure/mgmt/storage/v2021_08_01/_version.py +1 -1
  493. azure/mgmt/storage/v2021_08_01/aio/_configuration.py +4 -11
  494. azure/mgmt/storage/v2021_08_01/aio/_patch.py +1 -0
  495. azure/mgmt/storage/v2021_08_01/aio/_storage_management_client.py +61 -25
  496. azure/mgmt/storage/v2021_08_01/aio/operations/_blob_containers_operations.py +181 -315
  497. azure/mgmt/storage/v2021_08_01/aio/operations/_blob_inventory_policies_operations.py +53 -76
  498. azure/mgmt/storage/v2021_08_01/aio/operations/_blob_services_operations.py +45 -79
  499. azure/mgmt/storage/v2021_08_01/aio/operations/_deleted_accounts_operations.py +29 -36
  500. azure/mgmt/storage/v2021_08_01/aio/operations/_encryption_scopes_operations.py +58 -86
  501. azure/mgmt/storage/v2021_08_01/aio/operations/_file_services_operations.py +41 -75
  502. azure/mgmt/storage/v2021_08_01/aio/operations/_file_shares_operations.py +98 -151
  503. azure/mgmt/storage/v2021_08_01/aio/operations/_local_users_operations.py +71 -104
  504. azure/mgmt/storage/v2021_08_01/aio/operations/_management_policies_operations.py +39 -57
  505. azure/mgmt/storage/v2021_08_01/aio/operations/_object_replication_policies_operations.py +54 -76
  506. azure/mgmt/storage/v2021_08_01/aio/operations/_operations.py +20 -22
  507. azure/mgmt/storage/v2021_08_01/aio/operations/_private_endpoint_connections_operations.py +53 -76
  508. azure/mgmt/storage/v2021_08_01/aio/operations/_private_link_resources_operations.py +15 -19
  509. azure/mgmt/storage/v2021_08_01/aio/operations/_queue_operations.py +68 -101
  510. azure/mgmt/storage/v2021_08_01/aio/operations/_queue_services_operations.py +40 -74
  511. azure/mgmt/storage/v2021_08_01/aio/operations/_skus_operations.py +20 -22
  512. azure/mgmt/storage/v2021_08_01/aio/operations/_storage_accounts_operations.py +230 -416
  513. azure/mgmt/storage/v2021_08_01/aio/operations/_table_operations.py +55 -79
  514. azure/mgmt/storage/v2021_08_01/aio/operations/_table_services_operations.py +40 -74
  515. azure/mgmt/storage/v2021_08_01/aio/operations/_usages_operations.py +20 -24
  516. azure/mgmt/storage/v2021_08_01/models/_models_py3.py +68 -90
  517. azure/mgmt/storage/v2021_08_01/models/_storage_management_client_enums.py +2 -2
  518. azure/mgmt/storage/v2021_08_01/operations/_blob_containers_operations.py +211 -345
  519. azure/mgmt/storage/v2021_08_01/operations/_blob_inventory_policies_operations.py +62 -85
  520. azure/mgmt/storage/v2021_08_01/operations/_blob_services_operations.py +52 -86
  521. azure/mgmt/storage/v2021_08_01/operations/_deleted_accounts_operations.py +34 -41
  522. azure/mgmt/storage/v2021_08_01/operations/_encryption_scopes_operations.py +67 -95
  523. azure/mgmt/storage/v2021_08_01/operations/_file_services_operations.py +48 -82
  524. azure/mgmt/storage/v2021_08_01/operations/_file_shares_operations.py +113 -166
  525. azure/mgmt/storage/v2021_08_01/operations/_local_users_operations.py +84 -117
  526. azure/mgmt/storage/v2021_08_01/operations/_management_policies_operations.py +46 -64
  527. azure/mgmt/storage/v2021_08_01/operations/_object_replication_policies_operations.py +63 -85
  528. azure/mgmt/storage/v2021_08_01/operations/_operations.py +21 -23
  529. azure/mgmt/storage/v2021_08_01/operations/_private_endpoint_connections_operations.py +62 -85
  530. azure/mgmt/storage/v2021_08_01/operations/_private_link_resources_operations.py +18 -22
  531. azure/mgmt/storage/v2021_08_01/operations/_queue_operations.py +79 -112
  532. azure/mgmt/storage/v2021_08_01/operations/_queue_services_operations.py +47 -81
  533. azure/mgmt/storage/v2021_08_01/operations/_skus_operations.py +23 -25
  534. azure/mgmt/storage/v2021_08_01/operations/_storage_accounts_operations.py +266 -452
  535. azure/mgmt/storage/v2021_08_01/operations/_table_operations.py +66 -90
  536. azure/mgmt/storage/v2021_08_01/operations/_table_services_operations.py +47 -81
  537. azure/mgmt/storage/v2021_08_01/operations/_usages_operations.py +23 -27
  538. azure/mgmt/storage/v2021_09_01/_configuration.py +4 -11
  539. azure/mgmt/storage/v2021_09_01/_patch.py +1 -0
  540. azure/mgmt/storage/v2021_09_01/_storage_management_client.py +59 -25
  541. azure/mgmt/storage/v2021_09_01/_vendor.py +0 -14
  542. azure/mgmt/storage/v2021_09_01/_version.py +1 -1
  543. azure/mgmt/storage/v2021_09_01/aio/_configuration.py +4 -11
  544. azure/mgmt/storage/v2021_09_01/aio/_patch.py +1 -0
  545. azure/mgmt/storage/v2021_09_01/aio/_storage_management_client.py +61 -25
  546. azure/mgmt/storage/v2021_09_01/aio/operations/_blob_containers_operations.py +181 -315
  547. azure/mgmt/storage/v2021_09_01/aio/operations/_blob_inventory_policies_operations.py +53 -76
  548. azure/mgmt/storage/v2021_09_01/aio/operations/_blob_services_operations.py +45 -79
  549. azure/mgmt/storage/v2021_09_01/aio/operations/_deleted_accounts_operations.py +29 -36
  550. azure/mgmt/storage/v2021_09_01/aio/operations/_encryption_scopes_operations.py +58 -86
  551. azure/mgmt/storage/v2021_09_01/aio/operations/_file_services_operations.py +41 -75
  552. azure/mgmt/storage/v2021_09_01/aio/operations/_file_shares_operations.py +98 -151
  553. azure/mgmt/storage/v2021_09_01/aio/operations/_local_users_operations.py +71 -104
  554. azure/mgmt/storage/v2021_09_01/aio/operations/_management_policies_operations.py +39 -57
  555. azure/mgmt/storage/v2021_09_01/aio/operations/_object_replication_policies_operations.py +54 -76
  556. azure/mgmt/storage/v2021_09_01/aio/operations/_operations.py +20 -22
  557. azure/mgmt/storage/v2021_09_01/aio/operations/_private_endpoint_connections_operations.py +53 -76
  558. azure/mgmt/storage/v2021_09_01/aio/operations/_private_link_resources_operations.py +15 -19
  559. azure/mgmt/storage/v2021_09_01/aio/operations/_queue_operations.py +68 -101
  560. azure/mgmt/storage/v2021_09_01/aio/operations/_queue_services_operations.py +40 -74
  561. azure/mgmt/storage/v2021_09_01/aio/operations/_skus_operations.py +20 -22
  562. azure/mgmt/storage/v2021_09_01/aio/operations/_storage_accounts_operations.py +230 -416
  563. azure/mgmt/storage/v2021_09_01/aio/operations/_table_operations.py +70 -103
  564. azure/mgmt/storage/v2021_09_01/aio/operations/_table_services_operations.py +40 -74
  565. azure/mgmt/storage/v2021_09_01/aio/operations/_usages_operations.py +20 -24
  566. azure/mgmt/storage/v2021_09_01/models/_models_py3.py +70 -92
  567. azure/mgmt/storage/v2021_09_01/models/_storage_management_client_enums.py +2 -2
  568. azure/mgmt/storage/v2021_09_01/operations/_blob_containers_operations.py +211 -345
  569. azure/mgmt/storage/v2021_09_01/operations/_blob_inventory_policies_operations.py +62 -85
  570. azure/mgmt/storage/v2021_09_01/operations/_blob_services_operations.py +52 -86
  571. azure/mgmt/storage/v2021_09_01/operations/_deleted_accounts_operations.py +34 -41
  572. azure/mgmt/storage/v2021_09_01/operations/_encryption_scopes_operations.py +67 -95
  573. azure/mgmt/storage/v2021_09_01/operations/_file_services_operations.py +48 -82
  574. azure/mgmt/storage/v2021_09_01/operations/_file_shares_operations.py +113 -166
  575. azure/mgmt/storage/v2021_09_01/operations/_local_users_operations.py +84 -117
  576. azure/mgmt/storage/v2021_09_01/operations/_management_policies_operations.py +46 -64
  577. azure/mgmt/storage/v2021_09_01/operations/_object_replication_policies_operations.py +63 -85
  578. azure/mgmt/storage/v2021_09_01/operations/_operations.py +21 -23
  579. azure/mgmt/storage/v2021_09_01/operations/_private_endpoint_connections_operations.py +62 -85
  580. azure/mgmt/storage/v2021_09_01/operations/_private_link_resources_operations.py +18 -22
  581. azure/mgmt/storage/v2021_09_01/operations/_queue_operations.py +79 -112
  582. azure/mgmt/storage/v2021_09_01/operations/_queue_services_operations.py +47 -81
  583. azure/mgmt/storage/v2021_09_01/operations/_skus_operations.py +23 -25
  584. azure/mgmt/storage/v2021_09_01/operations/_storage_accounts_operations.py +266 -452
  585. azure/mgmt/storage/v2021_09_01/operations/_table_operations.py +81 -114
  586. azure/mgmt/storage/v2021_09_01/operations/_table_services_operations.py +47 -81
  587. azure/mgmt/storage/v2021_09_01/operations/_usages_operations.py +23 -27
  588. azure/mgmt/storage/v2022_05_01/_configuration.py +4 -11
  589. azure/mgmt/storage/v2022_05_01/_storage_management_client.py +59 -25
  590. azure/mgmt/storage/v2022_05_01/_vendor.py +0 -14
  591. azure/mgmt/storage/v2022_05_01/_version.py +1 -1
  592. azure/mgmt/storage/v2022_05_01/aio/_configuration.py +4 -11
  593. azure/mgmt/storage/v2022_05_01/aio/_storage_management_client.py +61 -25
  594. azure/mgmt/storage/v2022_05_01/aio/operations/_blob_containers_operations.py +181 -315
  595. azure/mgmt/storage/v2022_05_01/aio/operations/_blob_inventory_policies_operations.py +53 -76
  596. azure/mgmt/storage/v2022_05_01/aio/operations/_blob_services_operations.py +45 -79
  597. azure/mgmt/storage/v2022_05_01/aio/operations/_deleted_accounts_operations.py +29 -36
  598. azure/mgmt/storage/v2022_05_01/aio/operations/_encryption_scopes_operations.py +58 -86
  599. azure/mgmt/storage/v2022_05_01/aio/operations/_file_services_operations.py +41 -75
  600. azure/mgmt/storage/v2022_05_01/aio/operations/_file_shares_operations.py +98 -151
  601. azure/mgmt/storage/v2022_05_01/aio/operations/_local_users_operations.py +71 -104
  602. azure/mgmt/storage/v2022_05_01/aio/operations/_management_policies_operations.py +39 -57
  603. azure/mgmt/storage/v2022_05_01/aio/operations/_object_replication_policies_operations.py +54 -76
  604. azure/mgmt/storage/v2022_05_01/aio/operations/_operations.py +20 -22
  605. azure/mgmt/storage/v2022_05_01/aio/operations/_private_endpoint_connections_operations.py +53 -76
  606. azure/mgmt/storage/v2022_05_01/aio/operations/_private_link_resources_operations.py +15 -19
  607. azure/mgmt/storage/v2022_05_01/aio/operations/_queue_operations.py +68 -101
  608. azure/mgmt/storage/v2022_05_01/aio/operations/_queue_services_operations.py +40 -74
  609. azure/mgmt/storage/v2022_05_01/aio/operations/_skus_operations.py +20 -22
  610. azure/mgmt/storage/v2022_05_01/aio/operations/_storage_accounts_operations.py +230 -416
  611. azure/mgmt/storage/v2022_05_01/aio/operations/_table_operations.py +70 -103
  612. azure/mgmt/storage/v2022_05_01/aio/operations/_table_services_operations.py +40 -74
  613. azure/mgmt/storage/v2022_05_01/aio/operations/_usages_operations.py +20 -24
  614. azure/mgmt/storage/v2022_05_01/models/_models_py3.py +69 -91
  615. azure/mgmt/storage/v2022_05_01/models/_storage_management_client_enums.py +2 -2
  616. azure/mgmt/storage/v2022_05_01/operations/_blob_containers_operations.py +211 -345
  617. azure/mgmt/storage/v2022_05_01/operations/_blob_inventory_policies_operations.py +62 -85
  618. azure/mgmt/storage/v2022_05_01/operations/_blob_services_operations.py +52 -86
  619. azure/mgmt/storage/v2022_05_01/operations/_deleted_accounts_operations.py +34 -41
  620. azure/mgmt/storage/v2022_05_01/operations/_encryption_scopes_operations.py +67 -95
  621. azure/mgmt/storage/v2022_05_01/operations/_file_services_operations.py +48 -82
  622. azure/mgmt/storage/v2022_05_01/operations/_file_shares_operations.py +113 -166
  623. azure/mgmt/storage/v2022_05_01/operations/_local_users_operations.py +84 -117
  624. azure/mgmt/storage/v2022_05_01/operations/_management_policies_operations.py +46 -64
  625. azure/mgmt/storage/v2022_05_01/operations/_object_replication_policies_operations.py +63 -85
  626. azure/mgmt/storage/v2022_05_01/operations/_operations.py +21 -23
  627. azure/mgmt/storage/v2022_05_01/operations/_private_endpoint_connections_operations.py +62 -85
  628. azure/mgmt/storage/v2022_05_01/operations/_private_link_resources_operations.py +18 -22
  629. azure/mgmt/storage/v2022_05_01/operations/_queue_operations.py +79 -112
  630. azure/mgmt/storage/v2022_05_01/operations/_queue_services_operations.py +47 -81
  631. azure/mgmt/storage/v2022_05_01/operations/_skus_operations.py +23 -25
  632. azure/mgmt/storage/v2022_05_01/operations/_storage_accounts_operations.py +266 -452
  633. azure/mgmt/storage/v2022_05_01/operations/_table_operations.py +81 -114
  634. azure/mgmt/storage/v2022_05_01/operations/_table_services_operations.py +47 -81
  635. azure/mgmt/storage/v2022_05_01/operations/_usages_operations.py +23 -27
  636. azure/mgmt/storage/v2022_09_01/_configuration.py +4 -11
  637. azure/mgmt/storage/v2022_09_01/_storage_management_client.py +59 -25
  638. azure/mgmt/storage/v2022_09_01/_vendor.py +0 -14
  639. azure/mgmt/storage/v2022_09_01/_version.py +1 -1
  640. azure/mgmt/storage/v2022_09_01/aio/_configuration.py +4 -11
  641. azure/mgmt/storage/v2022_09_01/aio/_storage_management_client.py +61 -25
  642. azure/mgmt/storage/v2022_09_01/aio/operations/_blob_containers_operations.py +181 -315
  643. azure/mgmt/storage/v2022_09_01/aio/operations/_blob_inventory_policies_operations.py +53 -76
  644. azure/mgmt/storage/v2022_09_01/aio/operations/_blob_services_operations.py +45 -79
  645. azure/mgmt/storage/v2022_09_01/aio/operations/_deleted_accounts_operations.py +29 -36
  646. azure/mgmt/storage/v2022_09_01/aio/operations/_encryption_scopes_operations.py +58 -86
  647. azure/mgmt/storage/v2022_09_01/aio/operations/_file_services_operations.py +41 -75
  648. azure/mgmt/storage/v2022_09_01/aio/operations/_file_shares_operations.py +98 -151
  649. azure/mgmt/storage/v2022_09_01/aio/operations/_local_users_operations.py +71 -104
  650. azure/mgmt/storage/v2022_09_01/aio/operations/_management_policies_operations.py +39 -57
  651. azure/mgmt/storage/v2022_09_01/aio/operations/_object_replication_policies_operations.py +54 -76
  652. azure/mgmt/storage/v2022_09_01/aio/operations/_operations.py +20 -22
  653. azure/mgmt/storage/v2022_09_01/aio/operations/_private_endpoint_connections_operations.py +53 -76
  654. azure/mgmt/storage/v2022_09_01/aio/operations/_private_link_resources_operations.py +15 -19
  655. azure/mgmt/storage/v2022_09_01/aio/operations/_queue_operations.py +68 -101
  656. azure/mgmt/storage/v2022_09_01/aio/operations/_queue_services_operations.py +40 -74
  657. azure/mgmt/storage/v2022_09_01/aio/operations/_skus_operations.py +20 -22
  658. azure/mgmt/storage/v2022_09_01/aio/operations/_storage_accounts_operations.py +230 -416
  659. azure/mgmt/storage/v2022_09_01/aio/operations/_table_operations.py +70 -103
  660. azure/mgmt/storage/v2022_09_01/aio/operations/_table_services_operations.py +40 -74
  661. azure/mgmt/storage/v2022_09_01/aio/operations/_usages_operations.py +20 -24
  662. azure/mgmt/storage/v2022_09_01/models/_models_py3.py +69 -91
  663. azure/mgmt/storage/v2022_09_01/models/_storage_management_client_enums.py +2 -2
  664. azure/mgmt/storage/v2022_09_01/operations/_blob_containers_operations.py +211 -345
  665. azure/mgmt/storage/v2022_09_01/operations/_blob_inventory_policies_operations.py +62 -85
  666. azure/mgmt/storage/v2022_09_01/operations/_blob_services_operations.py +52 -86
  667. azure/mgmt/storage/v2022_09_01/operations/_deleted_accounts_operations.py +34 -41
  668. azure/mgmt/storage/v2022_09_01/operations/_encryption_scopes_operations.py +67 -95
  669. azure/mgmt/storage/v2022_09_01/operations/_file_services_operations.py +48 -82
  670. azure/mgmt/storage/v2022_09_01/operations/_file_shares_operations.py +113 -166
  671. azure/mgmt/storage/v2022_09_01/operations/_local_users_operations.py +84 -117
  672. azure/mgmt/storage/v2022_09_01/operations/_management_policies_operations.py +46 -64
  673. azure/mgmt/storage/v2022_09_01/operations/_object_replication_policies_operations.py +63 -85
  674. azure/mgmt/storage/v2022_09_01/operations/_operations.py +21 -23
  675. azure/mgmt/storage/v2022_09_01/operations/_private_endpoint_connections_operations.py +62 -85
  676. azure/mgmt/storage/v2022_09_01/operations/_private_link_resources_operations.py +18 -22
  677. azure/mgmt/storage/v2022_09_01/operations/_queue_operations.py +79 -112
  678. azure/mgmt/storage/v2022_09_01/operations/_queue_services_operations.py +47 -81
  679. azure/mgmt/storage/v2022_09_01/operations/_skus_operations.py +23 -25
  680. azure/mgmt/storage/v2022_09_01/operations/_storage_accounts_operations.py +266 -452
  681. azure/mgmt/storage/v2022_09_01/operations/_table_operations.py +81 -114
  682. azure/mgmt/storage/v2022_09_01/operations/_table_services_operations.py +47 -81
  683. azure/mgmt/storage/v2022_09_01/operations/_usages_operations.py +23 -27
  684. azure/mgmt/storage/v2023_01_01/__init__.py +26 -0
  685. azure/mgmt/storage/v2023_01_01/_configuration.py +65 -0
  686. azure/mgmt/storage/v2023_01_01/_patch.py +20 -0
  687. azure/mgmt/storage/v2023_01_01/_storage_management_client.py +225 -0
  688. azure/mgmt/storage/v2023_01_01/_vendor.py +16 -0
  689. azure/mgmt/storage/v2023_01_01/_version.py +9 -0
  690. azure/mgmt/storage/v2023_01_01/aio/__init__.py +23 -0
  691. azure/mgmt/storage/v2023_01_01/aio/_configuration.py +65 -0
  692. azure/mgmt/storage/v2023_01_01/aio/_patch.py +20 -0
  693. azure/mgmt/storage/v2023_01_01/aio/_storage_management_client.py +230 -0
  694. azure/mgmt/storage/v2023_01_01/aio/operations/__init__.py +57 -0
  695. azure/mgmt/storage/v2023_01_01/aio/operations/_blob_containers_operations.py +1838 -0
  696. azure/mgmt/storage/v2023_01_01/aio/operations/_blob_inventory_policies_operations.py +442 -0
  697. azure/mgmt/storage/v2023_01_01/aio/operations/_blob_services_operations.py +362 -0
  698. azure/mgmt/storage/v2023_01_01/aio/operations/_deleted_accounts_operations.py +194 -0
  699. azure/mgmt/storage/v2023_01_01/aio/operations/_encryption_scopes_operations.py +568 -0
  700. azure/mgmt/storage/v2023_01_01/aio/operations/_file_services_operations.py +328 -0
  701. azure/mgmt/storage/v2023_01_01/aio/operations/_file_shares_operations.py +1003 -0
  702. azure/mgmt/storage/v2023_01_01/aio/operations/_local_users_operations.py +560 -0
  703. azure/mgmt/storage/v2023_01_01/aio/operations/_management_policies_operations.py +349 -0
  704. azure/mgmt/storage/v2023_01_01/aio/operations/_object_replication_policies_operations.py +446 -0
  705. azure/mgmt/storage/v2023_01_01/aio/operations/_operations.py +135 -0
  706. azure/mgmt/storage/v2023_01_01/aio/operations/_patch.py +20 -0
  707. azure/mgmt/storage/v2023_01_01/aio/operations/_private_endpoint_connections_operations.py +432 -0
  708. azure/mgmt/storage/v2023_01_01/aio/operations/_private_link_resources_operations.py +117 -0
  709. azure/mgmt/storage/v2023_01_01/aio/operations/_queue_operations.py +608 -0
  710. azure/mgmt/storage/v2023_01_01/aio/operations/_queue_services_operations.py +328 -0
  711. azure/mgmt/storage/v2023_01_01/aio/operations/_skus_operations.py +136 -0
  712. azure/mgmt/storage/v2023_01_01/aio/operations/_storage_accounts_operations.py +2187 -0
  713. azure/mgmt/storage/v2023_01_01/aio/operations/_table_operations.py +588 -0
  714. azure/mgmt/storage/v2023_01_01/aio/operations/_table_services_operations.py +328 -0
  715. azure/mgmt/storage/v2023_01_01/aio/operations/_usages_operations.py +139 -0
  716. azure/mgmt/storage/v2023_01_01/models/__init__.py +461 -0
  717. azure/mgmt/storage/v2023_01_01/models/_models_py3.py +8338 -0
  718. azure/mgmt/storage/v2023_01_01/models/_patch.py +20 -0
  719. azure/mgmt/storage/v2023_01_01/models/_storage_management_client_enums.py +626 -0
  720. azure/mgmt/storage/v2023_01_01/operations/__init__.py +57 -0
  721. azure/mgmt/storage/v2023_01_01/operations/_blob_containers_operations.py +2398 -0
  722. azure/mgmt/storage/v2023_01_01/operations/_blob_inventory_policies_operations.py +595 -0
  723. azure/mgmt/storage/v2023_01_01/operations/_blob_services_operations.py +470 -0
  724. azure/mgmt/storage/v2023_01_01/operations/_deleted_accounts_operations.py +250 -0
  725. azure/mgmt/storage/v2023_01_01/operations/_encryption_scopes_operations.py +732 -0
  726. azure/mgmt/storage/v2023_01_01/operations/_file_services_operations.py +437 -0
  727. azure/mgmt/storage/v2023_01_01/operations/_file_shares_operations.py +1310 -0
  728. azure/mgmt/storage/v2023_01_01/operations/_local_users_operations.py +770 -0
  729. azure/mgmt/storage/v2023_01_01/operations/_management_policies_operations.py +465 -0
  730. azure/mgmt/storage/v2023_01_01/operations/_object_replication_policies_operations.py +593 -0
  731. azure/mgmt/storage/v2023_01_01/operations/_operations.py +156 -0
  732. azure/mgmt/storage/v2023_01_01/operations/_patch.py +20 -0
  733. azure/mgmt/storage/v2023_01_01/operations/_private_endpoint_connections_operations.py +591 -0
  734. azure/mgmt/storage/v2023_01_01/operations/_private_link_resources_operations.py +155 -0
  735. azure/mgmt/storage/v2023_01_01/operations/_queue_operations.py +824 -0
  736. azure/mgmt/storage/v2023_01_01/operations/_queue_services_operations.py +437 -0
  737. azure/mgmt/storage/v2023_01_01/operations/_skus_operations.py +162 -0
  738. azure/mgmt/storage/v2023_01_01/operations/_storage_accounts_operations.py +2796 -0
  739. azure/mgmt/storage/v2023_01_01/operations/_table_operations.py +775 -0
  740. azure/mgmt/storage/v2023_01_01/operations/_table_services_operations.py +437 -0
  741. azure/mgmt/storage/v2023_01_01/operations/_usages_operations.py +169 -0
  742. azure/mgmt/storage/v2023_05_01/__init__.py +26 -0
  743. azure/mgmt/storage/v2023_05_01/_configuration.py +65 -0
  744. azure/mgmt/storage/v2023_05_01/_patch.py +20 -0
  745. azure/mgmt/storage/v2023_05_01/_storage_management_client.py +256 -0
  746. azure/mgmt/storage/v2023_05_01/_vendor.py +16 -0
  747. azure/mgmt/storage/v2023_05_01/_version.py +9 -0
  748. azure/mgmt/storage/v2023_05_01/aio/__init__.py +23 -0
  749. azure/mgmt/storage/v2023_05_01/aio/_configuration.py +65 -0
  750. azure/mgmt/storage/v2023_05_01/aio/_patch.py +20 -0
  751. azure/mgmt/storage/v2023_05_01/aio/_storage_management_client.py +261 -0
  752. azure/mgmt/storage/v2023_05_01/aio/operations/__init__.py +65 -0
  753. azure/mgmt/storage/v2023_05_01/aio/operations/_blob_containers_operations.py +1838 -0
  754. azure/mgmt/storage/v2023_05_01/aio/operations/_blob_inventory_policies_operations.py +442 -0
  755. azure/mgmt/storage/v2023_05_01/aio/operations/_blob_services_operations.py +362 -0
  756. azure/mgmt/storage/v2023_05_01/aio/operations/_deleted_accounts_operations.py +194 -0
  757. azure/mgmt/storage/v2023_05_01/aio/operations/_encryption_scopes_operations.py +568 -0
  758. azure/mgmt/storage/v2023_05_01/aio/operations/_file_services_operations.py +328 -0
  759. azure/mgmt/storage/v2023_05_01/aio/operations/_file_shares_operations.py +1003 -0
  760. azure/mgmt/storage/v2023_05_01/aio/operations/_local_users_operations.py +583 -0
  761. azure/mgmt/storage/v2023_05_01/aio/operations/_management_policies_operations.py +349 -0
  762. azure/mgmt/storage/v2023_05_01/aio/operations/_network_security_perimeter_configurations_operations.py +342 -0
  763. azure/mgmt/storage/v2023_05_01/aio/operations/_object_replication_policies_operations.py +446 -0
  764. azure/mgmt/storage/v2023_05_01/aio/operations/_operations.py +135 -0
  765. azure/mgmt/storage/v2023_05_01/aio/operations/_patch.py +20 -0
  766. azure/mgmt/storage/v2023_05_01/aio/operations/_private_endpoint_connections_operations.py +432 -0
  767. azure/mgmt/storage/v2023_05_01/aio/operations/_private_link_resources_operations.py +117 -0
  768. azure/mgmt/storage/v2023_05_01/aio/operations/_queue_operations.py +608 -0
  769. azure/mgmt/storage/v2023_05_01/aio/operations/_queue_services_operations.py +328 -0
  770. azure/mgmt/storage/v2023_05_01/aio/operations/_skus_operations.py +136 -0
  771. azure/mgmt/storage/v2023_05_01/aio/operations/_storage_accounts_operations.py +2187 -0
  772. azure/mgmt/storage/v2023_05_01/aio/operations/_storage_task_assignment_instances_report_operations.py +170 -0
  773. azure/mgmt/storage/v2023_05_01/aio/operations/_storage_task_assignments_instances_report_operations.py +164 -0
  774. azure/mgmt/storage/v2023_05_01/aio/operations/_storage_task_assignments_operations.py +802 -0
  775. azure/mgmt/storage/v2023_05_01/aio/operations/_table_operations.py +588 -0
  776. azure/mgmt/storage/v2023_05_01/aio/operations/_table_services_operations.py +328 -0
  777. azure/mgmt/storage/v2023_05_01/aio/operations/_usages_operations.py +139 -0
  778. azure/mgmt/storage/v2023_05_01/models/__init__.py +537 -0
  779. azure/mgmt/storage/v2023_05_01/models/_models_py3.py +9703 -0
  780. azure/mgmt/storage/v2023_05_01/models/_patch.py +20 -0
  781. azure/mgmt/storage/v2023_05_01/models/_storage_management_client_enums.py +706 -0
  782. azure/mgmt/storage/v2023_05_01/operations/__init__.py +65 -0
  783. azure/mgmt/storage/v2023_05_01/operations/_blob_containers_operations.py +2398 -0
  784. azure/mgmt/storage/v2023_05_01/operations/_blob_inventory_policies_operations.py +595 -0
  785. azure/mgmt/storage/v2023_05_01/operations/_blob_services_operations.py +470 -0
  786. azure/mgmt/storage/v2023_05_01/operations/_deleted_accounts_operations.py +250 -0
  787. azure/mgmt/storage/v2023_05_01/operations/_encryption_scopes_operations.py +732 -0
  788. azure/mgmt/storage/v2023_05_01/operations/_file_services_operations.py +437 -0
  789. azure/mgmt/storage/v2023_05_01/operations/_file_shares_operations.py +1310 -0
  790. azure/mgmt/storage/v2023_05_01/operations/_local_users_operations.py +808 -0
  791. azure/mgmt/storage/v2023_05_01/operations/_management_policies_operations.py +465 -0
  792. azure/mgmt/storage/v2023_05_01/operations/_network_security_perimeter_configurations_operations.py +463 -0
  793. azure/mgmt/storage/v2023_05_01/operations/_object_replication_policies_operations.py +593 -0
  794. azure/mgmt/storage/v2023_05_01/operations/_operations.py +156 -0
  795. azure/mgmt/storage/v2023_05_01/operations/_patch.py +20 -0
  796. azure/mgmt/storage/v2023_05_01/operations/_private_endpoint_connections_operations.py +591 -0
  797. azure/mgmt/storage/v2023_05_01/operations/_private_link_resources_operations.py +155 -0
  798. azure/mgmt/storage/v2023_05_01/operations/_queue_operations.py +824 -0
  799. azure/mgmt/storage/v2023_05_01/operations/_queue_services_operations.py +437 -0
  800. azure/mgmt/storage/v2023_05_01/operations/_skus_operations.py +162 -0
  801. azure/mgmt/storage/v2023_05_01/operations/_storage_accounts_operations.py +2796 -0
  802. azure/mgmt/storage/v2023_05_01/operations/_storage_task_assignment_instances_report_operations.py +227 -0
  803. azure/mgmt/storage/v2023_05_01/operations/_storage_task_assignments_instances_report_operations.py +212 -0
  804. azure/mgmt/storage/v2023_05_01/operations/_storage_task_assignments_operations.py +1018 -0
  805. azure/mgmt/storage/v2023_05_01/operations/_table_operations.py +775 -0
  806. azure/mgmt/storage/v2023_05_01/operations/_table_services_operations.py +437 -0
  807. azure/mgmt/storage/v2023_05_01/operations/_usages_operations.py +169 -0
  808. {azure_mgmt_storage-21.1.0b1.dist-info → azure_mgmt_storage-21.2.1.dist-info}/METADATA +52 -13
  809. azure_mgmt_storage-21.2.1.dist-info/RECORD +979 -0
  810. {azure_mgmt_storage-21.1.0b1.dist-info → azure_mgmt_storage-21.2.1.dist-info}/WHEEL +1 -1
  811. azure_mgmt_storage-21.1.0b1.dist-info/RECORD +0 -855
  812. {azure_mgmt_storage-21.1.0b1.dist-info → azure_mgmt_storage-21.2.1.dist-info}/LICENSE +0 -0
  813. {azure_mgmt_storage-21.1.0b1.dist-info → azure_mgmt_storage-21.2.1.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,2796 @@
1
+ # pylint: disable=too-many-lines,too-many-statements
2
+ # coding=utf-8
3
+ # --------------------------------------------------------------------------
4
+ # Copyright (c) Microsoft Corporation. All rights reserved.
5
+ # Licensed under the MIT License. See License.txt in the project root for license information.
6
+ # Code generated by Microsoft (R) AutoRest Code Generator.
7
+ # Changes may cause incorrect behavior and will be lost if the code is regenerated.
8
+ # --------------------------------------------------------------------------
9
+ from io import IOBase
10
+ import sys
11
+ from typing import Any, Callable, Dict, IO, Iterable, Literal, Optional, Type, TypeVar, Union, cast, overload
12
+ import urllib.parse
13
+
14
+ from azure.core.exceptions import (
15
+ ClientAuthenticationError,
16
+ HttpResponseError,
17
+ ResourceExistsError,
18
+ ResourceNotFoundError,
19
+ ResourceNotModifiedError,
20
+ map_error,
21
+ )
22
+ from azure.core.paging import ItemPaged
23
+ from azure.core.pipeline import PipelineResponse
24
+ from azure.core.pipeline.transport import HttpResponse
25
+ from azure.core.polling import LROPoller, NoPolling, PollingMethod
26
+ from azure.core.rest import HttpRequest
27
+ from azure.core.tracing.decorator import distributed_trace
28
+ from azure.core.utils import case_insensitive_dict
29
+ from azure.mgmt.core.exceptions import ARMErrorFormat
30
+ from azure.mgmt.core.polling.arm_polling import ARMPolling
31
+
32
+ from .. import models as _models
33
+ from ..._serialization import Serializer
34
+ from .._vendor import _convert_request
35
+
36
+ if sys.version_info >= (3, 9):
37
+ from collections.abc import MutableMapping
38
+ else:
39
+ from typing import MutableMapping # type: ignore # pylint: disable=ungrouped-imports
40
+ T = TypeVar("T")
41
+ ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
42
+
43
+ _SERIALIZER = Serializer()
44
+ _SERIALIZER.client_side_validation = False
45
+
46
+
47
+ def build_check_name_availability_request(subscription_id: str, **kwargs: Any) -> HttpRequest:
48
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
49
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
50
+
51
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-01"))
52
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
53
+ accept = _headers.pop("Accept", "application/json")
54
+
55
+ # Construct URL
56
+ _url = kwargs.pop(
57
+ "template_url", "/subscriptions/{subscriptionId}/providers/Microsoft.Storage/checkNameAvailability"
58
+ )
59
+ path_format_arguments = {
60
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
61
+ }
62
+
63
+ _url: str = _url.format(**path_format_arguments) # type: ignore
64
+
65
+ # Construct parameters
66
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
67
+
68
+ # Construct headers
69
+ if content_type is not None:
70
+ _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
71
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
72
+
73
+ return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs)
74
+
75
+
76
+ def build_create_request(
77
+ resource_group_name: str, account_name: str, subscription_id: str, **kwargs: Any
78
+ ) -> HttpRequest:
79
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
80
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
81
+
82
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-01"))
83
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
84
+ accept = _headers.pop("Accept", "application/json")
85
+
86
+ # Construct URL
87
+ _url = kwargs.pop(
88
+ "template_url",
89
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}",
90
+ ) # pylint: disable=line-too-long
91
+ path_format_arguments = {
92
+ "resourceGroupName": _SERIALIZER.url(
93
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1, pattern=r"^[-\w\._\(\)]+$"
94
+ ),
95
+ "accountName": _SERIALIZER.url(
96
+ "account_name", account_name, "str", max_length=24, min_length=3, pattern=r"^[a-z0-9]+$"
97
+ ),
98
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
99
+ }
100
+
101
+ _url: str = _url.format(**path_format_arguments) # type: ignore
102
+
103
+ # Construct parameters
104
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
105
+
106
+ # Construct headers
107
+ if content_type is not None:
108
+ _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
109
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
110
+
111
+ return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs)
112
+
113
+
114
+ def build_delete_request(
115
+ resource_group_name: str, account_name: str, subscription_id: str, **kwargs: Any
116
+ ) -> HttpRequest:
117
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
118
+
119
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-01"))
120
+ # Construct URL
121
+ _url = kwargs.pop(
122
+ "template_url",
123
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}",
124
+ ) # pylint: disable=line-too-long
125
+ path_format_arguments = {
126
+ "resourceGroupName": _SERIALIZER.url(
127
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1, pattern=r"^[-\w\._\(\)]+$"
128
+ ),
129
+ "accountName": _SERIALIZER.url(
130
+ "account_name", account_name, "str", max_length=24, min_length=3, pattern=r"^[a-z0-9]+$"
131
+ ),
132
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
133
+ }
134
+
135
+ _url: str = _url.format(**path_format_arguments) # type: ignore
136
+
137
+ # Construct parameters
138
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
139
+
140
+ return HttpRequest(method="DELETE", url=_url, params=_params, **kwargs)
141
+
142
+
143
+ def build_get_properties_request(
144
+ resource_group_name: str,
145
+ account_name: str,
146
+ subscription_id: str,
147
+ *,
148
+ expand: Optional[Union[str, _models.StorageAccountExpand]] = None,
149
+ **kwargs: Any
150
+ ) -> HttpRequest:
151
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
152
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
153
+
154
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-01"))
155
+ accept = _headers.pop("Accept", "application/json")
156
+
157
+ # Construct URL
158
+ _url = kwargs.pop(
159
+ "template_url",
160
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}",
161
+ ) # pylint: disable=line-too-long
162
+ path_format_arguments = {
163
+ "resourceGroupName": _SERIALIZER.url(
164
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1, pattern=r"^[-\w\._\(\)]+$"
165
+ ),
166
+ "accountName": _SERIALIZER.url(
167
+ "account_name", account_name, "str", max_length=24, min_length=3, pattern=r"^[a-z0-9]+$"
168
+ ),
169
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
170
+ }
171
+
172
+ _url: str = _url.format(**path_format_arguments) # type: ignore
173
+
174
+ # Construct parameters
175
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
176
+ if expand is not None:
177
+ _params["$expand"] = _SERIALIZER.query("expand", expand, "str")
178
+
179
+ # Construct headers
180
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
181
+
182
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
183
+
184
+
185
+ def build_update_request(
186
+ resource_group_name: str, account_name: str, subscription_id: str, **kwargs: Any
187
+ ) -> HttpRequest:
188
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
189
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
190
+
191
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-01"))
192
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
193
+ accept = _headers.pop("Accept", "application/json")
194
+
195
+ # Construct URL
196
+ _url = kwargs.pop(
197
+ "template_url",
198
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}",
199
+ ) # pylint: disable=line-too-long
200
+ path_format_arguments = {
201
+ "resourceGroupName": _SERIALIZER.url(
202
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1, pattern=r"^[-\w\._\(\)]+$"
203
+ ),
204
+ "accountName": _SERIALIZER.url(
205
+ "account_name", account_name, "str", max_length=24, min_length=3, pattern=r"^[a-z0-9]+$"
206
+ ),
207
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
208
+ }
209
+
210
+ _url: str = _url.format(**path_format_arguments) # type: ignore
211
+
212
+ # Construct parameters
213
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
214
+
215
+ # Construct headers
216
+ if content_type is not None:
217
+ _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
218
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
219
+
220
+ return HttpRequest(method="PATCH", url=_url, params=_params, headers=_headers, **kwargs)
221
+
222
+
223
+ def build_list_request(subscription_id: str, **kwargs: Any) -> HttpRequest:
224
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
225
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
226
+
227
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-01"))
228
+ accept = _headers.pop("Accept", "application/json")
229
+
230
+ # Construct URL
231
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/providers/Microsoft.Storage/storageAccounts")
232
+ path_format_arguments = {
233
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
234
+ }
235
+
236
+ _url: str = _url.format(**path_format_arguments) # type: ignore
237
+
238
+ # Construct parameters
239
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
240
+
241
+ # Construct headers
242
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
243
+
244
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
245
+
246
+
247
+ def build_list_by_resource_group_request(resource_group_name: str, subscription_id: str, **kwargs: Any) -> HttpRequest:
248
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
249
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
250
+
251
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-01"))
252
+ accept = _headers.pop("Accept", "application/json")
253
+
254
+ # Construct URL
255
+ _url = kwargs.pop(
256
+ "template_url",
257
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts",
258
+ ) # pylint: disable=line-too-long
259
+ path_format_arguments = {
260
+ "resourceGroupName": _SERIALIZER.url(
261
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1, pattern=r"^[-\w\._\(\)]+$"
262
+ ),
263
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
264
+ }
265
+
266
+ _url: str = _url.format(**path_format_arguments) # type: ignore
267
+
268
+ # Construct parameters
269
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
270
+
271
+ # Construct headers
272
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
273
+
274
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
275
+
276
+
277
+ def build_list_keys_request(
278
+ resource_group_name: str,
279
+ account_name: str,
280
+ subscription_id: str,
281
+ *,
282
+ expand: Literal["kerb"] = "kerb",
283
+ **kwargs: Any
284
+ ) -> HttpRequest:
285
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
286
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
287
+
288
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-01"))
289
+ accept = _headers.pop("Accept", "application/json")
290
+
291
+ # Construct URL
292
+ _url = kwargs.pop(
293
+ "template_url",
294
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/listKeys",
295
+ ) # pylint: disable=line-too-long
296
+ path_format_arguments = {
297
+ "resourceGroupName": _SERIALIZER.url(
298
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1, pattern=r"^[-\w\._\(\)]+$"
299
+ ),
300
+ "accountName": _SERIALIZER.url(
301
+ "account_name", account_name, "str", max_length=24, min_length=3, pattern=r"^[a-z0-9]+$"
302
+ ),
303
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
304
+ }
305
+
306
+ _url: str = _url.format(**path_format_arguments) # type: ignore
307
+
308
+ # Construct parameters
309
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
310
+ if expand is not None:
311
+ _params["$expand"] = _SERIALIZER.query("expand", expand, "str")
312
+
313
+ # Construct headers
314
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
315
+
316
+ return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs)
317
+
318
+
319
+ def build_regenerate_key_request(
320
+ resource_group_name: str, account_name: str, subscription_id: str, **kwargs: Any
321
+ ) -> HttpRequest:
322
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
323
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
324
+
325
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-01"))
326
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
327
+ accept = _headers.pop("Accept", "application/json")
328
+
329
+ # Construct URL
330
+ _url = kwargs.pop(
331
+ "template_url",
332
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/regenerateKey",
333
+ ) # pylint: disable=line-too-long
334
+ path_format_arguments = {
335
+ "resourceGroupName": _SERIALIZER.url(
336
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1, pattern=r"^[-\w\._\(\)]+$"
337
+ ),
338
+ "accountName": _SERIALIZER.url(
339
+ "account_name", account_name, "str", max_length=24, min_length=3, pattern=r"^[a-z0-9]+$"
340
+ ),
341
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
342
+ }
343
+
344
+ _url: str = _url.format(**path_format_arguments) # type: ignore
345
+
346
+ # Construct parameters
347
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
348
+
349
+ # Construct headers
350
+ if content_type is not None:
351
+ _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
352
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
353
+
354
+ return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs)
355
+
356
+
357
+ def build_list_account_sas_request(
358
+ resource_group_name: str, account_name: str, subscription_id: str, **kwargs: Any
359
+ ) -> HttpRequest:
360
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
361
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
362
+
363
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-01"))
364
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
365
+ accept = _headers.pop("Accept", "application/json")
366
+
367
+ # Construct URL
368
+ _url = kwargs.pop(
369
+ "template_url",
370
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/ListAccountSas",
371
+ ) # pylint: disable=line-too-long
372
+ path_format_arguments = {
373
+ "resourceGroupName": _SERIALIZER.url(
374
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1, pattern=r"^[-\w\._\(\)]+$"
375
+ ),
376
+ "accountName": _SERIALIZER.url(
377
+ "account_name", account_name, "str", max_length=24, min_length=3, pattern=r"^[a-z0-9]+$"
378
+ ),
379
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
380
+ }
381
+
382
+ _url: str = _url.format(**path_format_arguments) # type: ignore
383
+
384
+ # Construct parameters
385
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
386
+
387
+ # Construct headers
388
+ if content_type is not None:
389
+ _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
390
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
391
+
392
+ return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs)
393
+
394
+
395
+ def build_list_service_sas_request(
396
+ resource_group_name: str, account_name: str, subscription_id: str, **kwargs: Any
397
+ ) -> HttpRequest:
398
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
399
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
400
+
401
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-01"))
402
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
403
+ accept = _headers.pop("Accept", "application/json")
404
+
405
+ # Construct URL
406
+ _url = kwargs.pop(
407
+ "template_url",
408
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/ListServiceSas",
409
+ ) # pylint: disable=line-too-long
410
+ path_format_arguments = {
411
+ "resourceGroupName": _SERIALIZER.url(
412
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1, pattern=r"^[-\w\._\(\)]+$"
413
+ ),
414
+ "accountName": _SERIALIZER.url(
415
+ "account_name", account_name, "str", max_length=24, min_length=3, pattern=r"^[a-z0-9]+$"
416
+ ),
417
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
418
+ }
419
+
420
+ _url: str = _url.format(**path_format_arguments) # type: ignore
421
+
422
+ # Construct parameters
423
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
424
+
425
+ # Construct headers
426
+ if content_type is not None:
427
+ _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
428
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
429
+
430
+ return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs)
431
+
432
+
433
+ def build_failover_request(
434
+ resource_group_name: str,
435
+ account_name: str,
436
+ subscription_id: str,
437
+ *,
438
+ failover_type: Literal["Planned"] = "Planned",
439
+ **kwargs: Any
440
+ ) -> HttpRequest:
441
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
442
+
443
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-01"))
444
+ # Construct URL
445
+ _url = kwargs.pop(
446
+ "template_url",
447
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/failover",
448
+ ) # pylint: disable=line-too-long
449
+ path_format_arguments = {
450
+ "resourceGroupName": _SERIALIZER.url(
451
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1, pattern=r"^[-\w\._\(\)]+$"
452
+ ),
453
+ "accountName": _SERIALIZER.url(
454
+ "account_name", account_name, "str", max_length=24, min_length=3, pattern=r"^[a-z0-9]+$"
455
+ ),
456
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
457
+ }
458
+
459
+ _url: str = _url.format(**path_format_arguments) # type: ignore
460
+
461
+ # Construct parameters
462
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
463
+ if failover_type is not None:
464
+ _params["failoverType"] = _SERIALIZER.query("failover_type", failover_type, "str")
465
+
466
+ return HttpRequest(method="POST", url=_url, params=_params, **kwargs)
467
+
468
+
469
+ def build_hierarchical_namespace_migration_request( # pylint: disable=name-too-long
470
+ resource_group_name: str, account_name: str, subscription_id: str, *, request_type: str, **kwargs: Any
471
+ ) -> HttpRequest:
472
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
473
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
474
+
475
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-01"))
476
+ accept = _headers.pop("Accept", "application/json")
477
+
478
+ # Construct URL
479
+ _url = kwargs.pop(
480
+ "template_url",
481
+ "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/hnsonmigration",
482
+ ) # pylint: disable=line-too-long
483
+ path_format_arguments = {
484
+ "resourceGroupName": _SERIALIZER.url(
485
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1, pattern=r"^[-\w\._\(\)]+$"
486
+ ),
487
+ "accountName": _SERIALIZER.url(
488
+ "account_name", account_name, "str", max_length=24, min_length=3, pattern=r"^[a-z0-9]+$"
489
+ ),
490
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
491
+ }
492
+
493
+ _url: str = _url.format(**path_format_arguments) # type: ignore
494
+
495
+ # Construct parameters
496
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
497
+ _params["requestType"] = _SERIALIZER.query("request_type", request_type, "str")
498
+
499
+ # Construct headers
500
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
501
+
502
+ return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs)
503
+
504
+
505
+ def build_abort_hierarchical_namespace_migration_request( # pylint: disable=name-too-long
506
+ resource_group_name: str, account_name: str, subscription_id: str, **kwargs: Any
507
+ ) -> HttpRequest:
508
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
509
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
510
+
511
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-01"))
512
+ accept = _headers.pop("Accept", "application/json")
513
+
514
+ # Construct URL
515
+ _url = kwargs.pop(
516
+ "template_url",
517
+ "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/aborthnsonmigration",
518
+ ) # pylint: disable=line-too-long
519
+ path_format_arguments = {
520
+ "resourceGroupName": _SERIALIZER.url(
521
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1, pattern=r"^[-\w\._\(\)]+$"
522
+ ),
523
+ "accountName": _SERIALIZER.url(
524
+ "account_name", account_name, "str", max_length=24, min_length=3, pattern=r"^[a-z0-9]+$"
525
+ ),
526
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
527
+ }
528
+
529
+ _url: str = _url.format(**path_format_arguments) # type: ignore
530
+
531
+ # Construct parameters
532
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
533
+
534
+ # Construct headers
535
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
536
+
537
+ return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs)
538
+
539
+
540
+ def build_customer_initiated_migration_request( # pylint: disable=name-too-long
541
+ resource_group_name: str, account_name: str, subscription_id: str, **kwargs: Any
542
+ ) -> HttpRequest:
543
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
544
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
545
+
546
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-01"))
547
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
548
+ accept = _headers.pop("Accept", "application/json")
549
+
550
+ # Construct URL
551
+ _url = kwargs.pop(
552
+ "template_url",
553
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/startAccountMigration",
554
+ ) # pylint: disable=line-too-long
555
+ path_format_arguments = {
556
+ "resourceGroupName": _SERIALIZER.url(
557
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1, pattern=r"^[-\w\._\(\)]+$"
558
+ ),
559
+ "accountName": _SERIALIZER.url(
560
+ "account_name", account_name, "str", max_length=24, min_length=3, pattern=r"^[a-z0-9]+$"
561
+ ),
562
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
563
+ }
564
+
565
+ _url: str = _url.format(**path_format_arguments) # type: ignore
566
+
567
+ # Construct parameters
568
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
569
+
570
+ # Construct headers
571
+ if content_type is not None:
572
+ _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
573
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
574
+
575
+ return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs)
576
+
577
+
578
+ def build_get_customer_initiated_migration_request( # pylint: disable=name-too-long
579
+ resource_group_name: str,
580
+ account_name: str,
581
+ migration_name: Union[str, _models.MigrationName],
582
+ subscription_id: str,
583
+ **kwargs: Any
584
+ ) -> HttpRequest:
585
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
586
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
587
+
588
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-01"))
589
+ accept = _headers.pop("Accept", "application/json")
590
+
591
+ # Construct URL
592
+ _url = kwargs.pop(
593
+ "template_url",
594
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/accountMigrations/{migrationName}",
595
+ ) # pylint: disable=line-too-long
596
+ path_format_arguments = {
597
+ "resourceGroupName": _SERIALIZER.url(
598
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1, pattern=r"^[-\w\._\(\)]+$"
599
+ ),
600
+ "accountName": _SERIALIZER.url(
601
+ "account_name", account_name, "str", max_length=24, min_length=3, pattern=r"^[a-z0-9]+$"
602
+ ),
603
+ "migrationName": _SERIALIZER.url("migration_name", migration_name, "str"),
604
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
605
+ }
606
+
607
+ _url: str = _url.format(**path_format_arguments) # type: ignore
608
+
609
+ # Construct parameters
610
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
611
+
612
+ # Construct headers
613
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
614
+
615
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
616
+
617
+
618
+ def build_restore_blob_ranges_request(
619
+ resource_group_name: str, account_name: str, subscription_id: str, **kwargs: Any
620
+ ) -> HttpRequest:
621
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
622
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
623
+
624
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-01"))
625
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
626
+ accept = _headers.pop("Accept", "application/json")
627
+
628
+ # Construct URL
629
+ _url = kwargs.pop(
630
+ "template_url",
631
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/restoreBlobRanges",
632
+ ) # pylint: disable=line-too-long
633
+ path_format_arguments = {
634
+ "resourceGroupName": _SERIALIZER.url(
635
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1, pattern=r"^[-\w\._\(\)]+$"
636
+ ),
637
+ "accountName": _SERIALIZER.url(
638
+ "account_name", account_name, "str", max_length=24, min_length=3, pattern=r"^[a-z0-9]+$"
639
+ ),
640
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
641
+ }
642
+
643
+ _url: str = _url.format(**path_format_arguments) # type: ignore
644
+
645
+ # Construct parameters
646
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
647
+
648
+ # Construct headers
649
+ if content_type is not None:
650
+ _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
651
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
652
+
653
+ return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs)
654
+
655
+
656
+ def build_revoke_user_delegation_keys_request( # pylint: disable=name-too-long
657
+ resource_group_name: str, account_name: str, subscription_id: str, **kwargs: Any
658
+ ) -> HttpRequest:
659
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
660
+
661
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-01"))
662
+ # Construct URL
663
+ _url = kwargs.pop(
664
+ "template_url",
665
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/revokeUserDelegationKeys",
666
+ ) # pylint: disable=line-too-long
667
+ path_format_arguments = {
668
+ "resourceGroupName": _SERIALIZER.url(
669
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1, pattern=r"^[-\w\._\(\)]+$"
670
+ ),
671
+ "accountName": _SERIALIZER.url("account_name", account_name, "str", max_length=24, min_length=3),
672
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
673
+ }
674
+
675
+ _url: str = _url.format(**path_format_arguments) # type: ignore
676
+
677
+ # Construct parameters
678
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
679
+
680
+ return HttpRequest(method="POST", url=_url, params=_params, **kwargs)
681
+
682
+
683
+ class StorageAccountsOperations: # pylint: disable=too-many-public-methods
684
+ """
685
+ .. warning::
686
+ **DO NOT** instantiate this class directly.
687
+
688
+ Instead, you should access the following operations through
689
+ :class:`~azure.mgmt.storage.v2023_05_01.StorageManagementClient`'s
690
+ :attr:`storage_accounts` attribute.
691
+ """
692
+
693
+ models = _models
694
+
695
+ def __init__(self, *args, **kwargs):
696
+ input_args = list(args)
697
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
698
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
699
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
700
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
701
+ self._api_version = input_args.pop(0) if input_args else kwargs.pop("api_version")
702
+
703
+ @overload
704
+ def check_name_availability(
705
+ self,
706
+ account_name: _models.StorageAccountCheckNameAvailabilityParameters,
707
+ *,
708
+ content_type: str = "application/json",
709
+ **kwargs: Any
710
+ ) -> _models.CheckNameAvailabilityResult:
711
+ """Checks that the storage account name is valid and is not already in use.
712
+
713
+ :param account_name: The name of the storage account within the specified resource group.
714
+ Storage account names must be between 3 and 24 characters in length and use numbers and
715
+ lower-case letters only. Required.
716
+ :type account_name:
717
+ ~azure.mgmt.storage.v2023_05_01.models.StorageAccountCheckNameAvailabilityParameters
718
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
719
+ Default value is "application/json".
720
+ :paramtype content_type: str
721
+ :return: CheckNameAvailabilityResult or the result of cls(response)
722
+ :rtype: ~azure.mgmt.storage.v2023_05_01.models.CheckNameAvailabilityResult
723
+ :raises ~azure.core.exceptions.HttpResponseError:
724
+ """
725
+
726
+ @overload
727
+ def check_name_availability(
728
+ self, account_name: IO[bytes], *, content_type: str = "application/json", **kwargs: Any
729
+ ) -> _models.CheckNameAvailabilityResult:
730
+ """Checks that the storage account name is valid and is not already in use.
731
+
732
+ :param account_name: The name of the storage account within the specified resource group.
733
+ Storage account names must be between 3 and 24 characters in length and use numbers and
734
+ lower-case letters only. Required.
735
+ :type account_name: IO[bytes]
736
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
737
+ Default value is "application/json".
738
+ :paramtype content_type: str
739
+ :return: CheckNameAvailabilityResult or the result of cls(response)
740
+ :rtype: ~azure.mgmt.storage.v2023_05_01.models.CheckNameAvailabilityResult
741
+ :raises ~azure.core.exceptions.HttpResponseError:
742
+ """
743
+
744
+ @distributed_trace
745
+ def check_name_availability(
746
+ self, account_name: Union[_models.StorageAccountCheckNameAvailabilityParameters, IO[bytes]], **kwargs: Any
747
+ ) -> _models.CheckNameAvailabilityResult:
748
+ """Checks that the storage account name is valid and is not already in use.
749
+
750
+ :param account_name: The name of the storage account within the specified resource group.
751
+ Storage account names must be between 3 and 24 characters in length and use numbers and
752
+ lower-case letters only. Is either a StorageAccountCheckNameAvailabilityParameters type or a
753
+ IO[bytes] type. Required.
754
+ :type account_name:
755
+ ~azure.mgmt.storage.v2023_05_01.models.StorageAccountCheckNameAvailabilityParameters or
756
+ IO[bytes]
757
+ :return: CheckNameAvailabilityResult or the result of cls(response)
758
+ :rtype: ~azure.mgmt.storage.v2023_05_01.models.CheckNameAvailabilityResult
759
+ :raises ~azure.core.exceptions.HttpResponseError:
760
+ """
761
+ error_map: MutableMapping[int, Type[HttpResponseError]] = {
762
+ 401: ClientAuthenticationError,
763
+ 404: ResourceNotFoundError,
764
+ 409: ResourceExistsError,
765
+ 304: ResourceNotModifiedError,
766
+ }
767
+ error_map.update(kwargs.pop("error_map", {}) or {})
768
+
769
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
770
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
771
+
772
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._api_version or "2023-05-01"))
773
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
774
+ cls: ClsType[_models.CheckNameAvailabilityResult] = kwargs.pop("cls", None)
775
+
776
+ content_type = content_type or "application/json"
777
+ _json = None
778
+ _content = None
779
+ if isinstance(account_name, (IOBase, bytes)):
780
+ _content = account_name
781
+ else:
782
+ _json = self._serialize.body(account_name, "StorageAccountCheckNameAvailabilityParameters")
783
+
784
+ _request = build_check_name_availability_request(
785
+ subscription_id=self._config.subscription_id,
786
+ api_version=api_version,
787
+ content_type=content_type,
788
+ json=_json,
789
+ content=_content,
790
+ headers=_headers,
791
+ params=_params,
792
+ )
793
+ _request = _convert_request(_request)
794
+ _request.url = self._client.format_url(_request.url)
795
+
796
+ _stream = False
797
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
798
+ _request, stream=_stream, **kwargs
799
+ )
800
+
801
+ response = pipeline_response.http_response
802
+
803
+ if response.status_code not in [200]:
804
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
805
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
806
+
807
+ deserialized = self._deserialize("CheckNameAvailabilityResult", pipeline_response)
808
+
809
+ if cls:
810
+ return cls(pipeline_response, deserialized, {}) # type: ignore
811
+
812
+ return deserialized # type: ignore
813
+
814
+ def _create_initial(
815
+ self,
816
+ resource_group_name: str,
817
+ account_name: str,
818
+ parameters: Union[_models.StorageAccountCreateParameters, IO[bytes]],
819
+ **kwargs: Any
820
+ ) -> Optional[_models.StorageAccount]:
821
+ error_map: MutableMapping[int, Type[HttpResponseError]] = {
822
+ 401: ClientAuthenticationError,
823
+ 404: ResourceNotFoundError,
824
+ 409: ResourceExistsError,
825
+ 304: ResourceNotModifiedError,
826
+ }
827
+ error_map.update(kwargs.pop("error_map", {}) or {})
828
+
829
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
830
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
831
+
832
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._api_version or "2023-05-01"))
833
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
834
+ cls: ClsType[Optional[_models.StorageAccount]] = kwargs.pop("cls", None)
835
+
836
+ content_type = content_type or "application/json"
837
+ _json = None
838
+ _content = None
839
+ if isinstance(parameters, (IOBase, bytes)):
840
+ _content = parameters
841
+ else:
842
+ _json = self._serialize.body(parameters, "StorageAccountCreateParameters")
843
+
844
+ _request = build_create_request(
845
+ resource_group_name=resource_group_name,
846
+ account_name=account_name,
847
+ subscription_id=self._config.subscription_id,
848
+ api_version=api_version,
849
+ content_type=content_type,
850
+ json=_json,
851
+ content=_content,
852
+ headers=_headers,
853
+ params=_params,
854
+ )
855
+ _request = _convert_request(_request)
856
+ _request.url = self._client.format_url(_request.url)
857
+
858
+ _stream = False
859
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
860
+ _request, stream=_stream, **kwargs
861
+ )
862
+
863
+ response = pipeline_response.http_response
864
+
865
+ if response.status_code not in [200, 202]:
866
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
867
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
868
+
869
+ deserialized = None
870
+ if response.status_code == 200:
871
+ deserialized = self._deserialize("StorageAccount", pipeline_response)
872
+
873
+ if cls:
874
+ return cls(pipeline_response, deserialized, {}) # type: ignore
875
+
876
+ return deserialized # type: ignore
877
+
878
+ @overload
879
+ def begin_create(
880
+ self,
881
+ resource_group_name: str,
882
+ account_name: str,
883
+ parameters: _models.StorageAccountCreateParameters,
884
+ *,
885
+ content_type: str = "application/json",
886
+ **kwargs: Any
887
+ ) -> LROPoller[_models.StorageAccount]:
888
+ """Asynchronously creates a new storage account with the specified parameters. If an account is
889
+ already created and a subsequent create request is issued with different properties, the
890
+ account properties will be updated. If an account is already created and a subsequent create or
891
+ update request is issued with the exact same set of properties, the request will succeed.
892
+
893
+ :param resource_group_name: The name of the resource group within the user's subscription. The
894
+ name is case insensitive. Required.
895
+ :type resource_group_name: str
896
+ :param account_name: The name of the storage account within the specified resource group.
897
+ Storage account names must be between 3 and 24 characters in length and use numbers and
898
+ lower-case letters only. Required.
899
+ :type account_name: str
900
+ :param parameters: The parameters to provide for the created account. Required.
901
+ :type parameters: ~azure.mgmt.storage.v2023_05_01.models.StorageAccountCreateParameters
902
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
903
+ Default value is "application/json".
904
+ :paramtype content_type: str
905
+ :return: An instance of LROPoller that returns either StorageAccount or the result of
906
+ cls(response)
907
+ :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.storage.v2023_05_01.models.StorageAccount]
908
+ :raises ~azure.core.exceptions.HttpResponseError:
909
+ """
910
+
911
+ @overload
912
+ def begin_create(
913
+ self,
914
+ resource_group_name: str,
915
+ account_name: str,
916
+ parameters: IO[bytes],
917
+ *,
918
+ content_type: str = "application/json",
919
+ **kwargs: Any
920
+ ) -> LROPoller[_models.StorageAccount]:
921
+ """Asynchronously creates a new storage account with the specified parameters. If an account is
922
+ already created and a subsequent create request is issued with different properties, the
923
+ account properties will be updated. If an account is already created and a subsequent create or
924
+ update request is issued with the exact same set of properties, the request will succeed.
925
+
926
+ :param resource_group_name: The name of the resource group within the user's subscription. The
927
+ name is case insensitive. Required.
928
+ :type resource_group_name: str
929
+ :param account_name: The name of the storage account within the specified resource group.
930
+ Storage account names must be between 3 and 24 characters in length and use numbers and
931
+ lower-case letters only. Required.
932
+ :type account_name: str
933
+ :param parameters: The parameters to provide for the created account. Required.
934
+ :type parameters: IO[bytes]
935
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
936
+ Default value is "application/json".
937
+ :paramtype content_type: str
938
+ :return: An instance of LROPoller that returns either StorageAccount or the result of
939
+ cls(response)
940
+ :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.storage.v2023_05_01.models.StorageAccount]
941
+ :raises ~azure.core.exceptions.HttpResponseError:
942
+ """
943
+
944
+ @distributed_trace
945
+ def begin_create(
946
+ self,
947
+ resource_group_name: str,
948
+ account_name: str,
949
+ parameters: Union[_models.StorageAccountCreateParameters, IO[bytes]],
950
+ **kwargs: Any
951
+ ) -> LROPoller[_models.StorageAccount]:
952
+ """Asynchronously creates a new storage account with the specified parameters. If an account is
953
+ already created and a subsequent create request is issued with different properties, the
954
+ account properties will be updated. If an account is already created and a subsequent create or
955
+ update request is issued with the exact same set of properties, the request will succeed.
956
+
957
+ :param resource_group_name: The name of the resource group within the user's subscription. The
958
+ name is case insensitive. Required.
959
+ :type resource_group_name: str
960
+ :param account_name: The name of the storage account within the specified resource group.
961
+ Storage account names must be between 3 and 24 characters in length and use numbers and
962
+ lower-case letters only. Required.
963
+ :type account_name: str
964
+ :param parameters: The parameters to provide for the created account. Is either a
965
+ StorageAccountCreateParameters type or a IO[bytes] type. Required.
966
+ :type parameters: ~azure.mgmt.storage.v2023_05_01.models.StorageAccountCreateParameters or
967
+ IO[bytes]
968
+ :return: An instance of LROPoller that returns either StorageAccount or the result of
969
+ cls(response)
970
+ :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.storage.v2023_05_01.models.StorageAccount]
971
+ :raises ~azure.core.exceptions.HttpResponseError:
972
+ """
973
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
974
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
975
+
976
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._api_version or "2023-05-01"))
977
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
978
+ cls: ClsType[_models.StorageAccount] = kwargs.pop("cls", None)
979
+ polling: Union[bool, PollingMethod] = kwargs.pop("polling", True)
980
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
981
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
982
+ if cont_token is None:
983
+ raw_result = self._create_initial(
984
+ resource_group_name=resource_group_name,
985
+ account_name=account_name,
986
+ parameters=parameters,
987
+ api_version=api_version,
988
+ content_type=content_type,
989
+ cls=lambda x, y, z: x,
990
+ headers=_headers,
991
+ params=_params,
992
+ **kwargs
993
+ )
994
+ kwargs.pop("error_map", None)
995
+
996
+ def get_long_running_output(pipeline_response):
997
+ deserialized = self._deserialize("StorageAccount", pipeline_response)
998
+ if cls:
999
+ return cls(pipeline_response, deserialized, {}) # type: ignore
1000
+ return deserialized
1001
+
1002
+ if polling is True:
1003
+ polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs))
1004
+ elif polling is False:
1005
+ polling_method = cast(PollingMethod, NoPolling())
1006
+ else:
1007
+ polling_method = polling
1008
+ if cont_token:
1009
+ return LROPoller[_models.StorageAccount].from_continuation_token(
1010
+ polling_method=polling_method,
1011
+ continuation_token=cont_token,
1012
+ client=self._client,
1013
+ deserialization_callback=get_long_running_output,
1014
+ )
1015
+ return LROPoller[_models.StorageAccount](
1016
+ self._client, raw_result, get_long_running_output, polling_method # type: ignore
1017
+ )
1018
+
1019
+ @distributed_trace
1020
+ def delete( # pylint: disable=inconsistent-return-statements
1021
+ self, resource_group_name: str, account_name: str, **kwargs: Any
1022
+ ) -> None:
1023
+ """Deletes a storage account in Microsoft Azure.
1024
+
1025
+ :param resource_group_name: The name of the resource group within the user's subscription. The
1026
+ name is case insensitive. Required.
1027
+ :type resource_group_name: str
1028
+ :param account_name: The name of the storage account within the specified resource group.
1029
+ Storage account names must be between 3 and 24 characters in length and use numbers and
1030
+ lower-case letters only. Required.
1031
+ :type account_name: str
1032
+ :return: None or the result of cls(response)
1033
+ :rtype: None
1034
+ :raises ~azure.core.exceptions.HttpResponseError:
1035
+ """
1036
+ error_map: MutableMapping[int, Type[HttpResponseError]] = {
1037
+ 401: ClientAuthenticationError,
1038
+ 404: ResourceNotFoundError,
1039
+ 409: ResourceExistsError,
1040
+ 304: ResourceNotModifiedError,
1041
+ }
1042
+ error_map.update(kwargs.pop("error_map", {}) or {})
1043
+
1044
+ _headers = kwargs.pop("headers", {}) or {}
1045
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
1046
+
1047
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._api_version or "2023-05-01"))
1048
+ cls: ClsType[None] = kwargs.pop("cls", None)
1049
+
1050
+ _request = build_delete_request(
1051
+ resource_group_name=resource_group_name,
1052
+ account_name=account_name,
1053
+ subscription_id=self._config.subscription_id,
1054
+ api_version=api_version,
1055
+ headers=_headers,
1056
+ params=_params,
1057
+ )
1058
+ _request = _convert_request(_request)
1059
+ _request.url = self._client.format_url(_request.url)
1060
+
1061
+ _stream = False
1062
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
1063
+ _request, stream=_stream, **kwargs
1064
+ )
1065
+
1066
+ response = pipeline_response.http_response
1067
+
1068
+ if response.status_code not in [200, 204]:
1069
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
1070
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
1071
+
1072
+ if cls:
1073
+ return cls(pipeline_response, None, {}) # type: ignore
1074
+
1075
+ @distributed_trace
1076
+ def get_properties(
1077
+ self,
1078
+ resource_group_name: str,
1079
+ account_name: str,
1080
+ expand: Optional[Union[str, _models.StorageAccountExpand]] = None,
1081
+ **kwargs: Any
1082
+ ) -> _models.StorageAccount:
1083
+ """Returns the properties for the specified storage account including but not limited to name, SKU
1084
+ name, location, and account status. The ListKeys operation should be used to retrieve storage
1085
+ keys.
1086
+
1087
+ :param resource_group_name: The name of the resource group within the user's subscription. The
1088
+ name is case insensitive. Required.
1089
+ :type resource_group_name: str
1090
+ :param account_name: The name of the storage account within the specified resource group.
1091
+ Storage account names must be between 3 and 24 characters in length and use numbers and
1092
+ lower-case letters only. Required.
1093
+ :type account_name: str
1094
+ :param expand: May be used to expand the properties within account's properties. By default,
1095
+ data is not included when fetching properties. Currently we only support geoReplicationStats
1096
+ and blobRestoreStatus. Known values are: "geoReplicationStats" and "blobRestoreStatus". Default
1097
+ value is None.
1098
+ :type expand: str or ~azure.mgmt.storage.v2023_05_01.models.StorageAccountExpand
1099
+ :return: StorageAccount or the result of cls(response)
1100
+ :rtype: ~azure.mgmt.storage.v2023_05_01.models.StorageAccount
1101
+ :raises ~azure.core.exceptions.HttpResponseError:
1102
+ """
1103
+ error_map: MutableMapping[int, Type[HttpResponseError]] = {
1104
+ 401: ClientAuthenticationError,
1105
+ 404: ResourceNotFoundError,
1106
+ 409: ResourceExistsError,
1107
+ 304: ResourceNotModifiedError,
1108
+ }
1109
+ error_map.update(kwargs.pop("error_map", {}) or {})
1110
+
1111
+ _headers = kwargs.pop("headers", {}) or {}
1112
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
1113
+
1114
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._api_version or "2023-05-01"))
1115
+ cls: ClsType[_models.StorageAccount] = kwargs.pop("cls", None)
1116
+
1117
+ _request = build_get_properties_request(
1118
+ resource_group_name=resource_group_name,
1119
+ account_name=account_name,
1120
+ subscription_id=self._config.subscription_id,
1121
+ expand=expand,
1122
+ api_version=api_version,
1123
+ headers=_headers,
1124
+ params=_params,
1125
+ )
1126
+ _request = _convert_request(_request)
1127
+ _request.url = self._client.format_url(_request.url)
1128
+
1129
+ _stream = False
1130
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
1131
+ _request, stream=_stream, **kwargs
1132
+ )
1133
+
1134
+ response = pipeline_response.http_response
1135
+
1136
+ if response.status_code not in [200]:
1137
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
1138
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
1139
+
1140
+ deserialized = self._deserialize("StorageAccount", pipeline_response)
1141
+
1142
+ if cls:
1143
+ return cls(pipeline_response, deserialized, {}) # type: ignore
1144
+
1145
+ return deserialized # type: ignore
1146
+
1147
+ @overload
1148
+ def update(
1149
+ self,
1150
+ resource_group_name: str,
1151
+ account_name: str,
1152
+ parameters: _models.StorageAccountUpdateParameters,
1153
+ *,
1154
+ content_type: str = "application/json",
1155
+ **kwargs: Any
1156
+ ) -> _models.StorageAccount:
1157
+ """The update operation can be used to update the SKU, encryption, access tier, or tags for a
1158
+ storage account. It can also be used to map the account to a custom domain. Only one custom
1159
+ domain is supported per storage account; the replacement/change of custom domain is not
1160
+ supported. In order to replace an old custom domain, the old value must be cleared/unregistered
1161
+ before a new value can be set. The update of multiple properties is supported. This call does
1162
+ not change the storage keys for the account. If you want to change the storage account keys,
1163
+ use the regenerate keys operation. The location and name of the storage account cannot be
1164
+ changed after creation.
1165
+
1166
+ :param resource_group_name: The name of the resource group within the user's subscription. The
1167
+ name is case insensitive. Required.
1168
+ :type resource_group_name: str
1169
+ :param account_name: The name of the storage account within the specified resource group.
1170
+ Storage account names must be between 3 and 24 characters in length and use numbers and
1171
+ lower-case letters only. Required.
1172
+ :type account_name: str
1173
+ :param parameters: The parameters to provide for the updated account. Required.
1174
+ :type parameters: ~azure.mgmt.storage.v2023_05_01.models.StorageAccountUpdateParameters
1175
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
1176
+ Default value is "application/json".
1177
+ :paramtype content_type: str
1178
+ :return: StorageAccount or the result of cls(response)
1179
+ :rtype: ~azure.mgmt.storage.v2023_05_01.models.StorageAccount
1180
+ :raises ~azure.core.exceptions.HttpResponseError:
1181
+ """
1182
+
1183
+ @overload
1184
+ def update(
1185
+ self,
1186
+ resource_group_name: str,
1187
+ account_name: str,
1188
+ parameters: IO[bytes],
1189
+ *,
1190
+ content_type: str = "application/json",
1191
+ **kwargs: Any
1192
+ ) -> _models.StorageAccount:
1193
+ """The update operation can be used to update the SKU, encryption, access tier, or tags for a
1194
+ storage account. It can also be used to map the account to a custom domain. Only one custom
1195
+ domain is supported per storage account; the replacement/change of custom domain is not
1196
+ supported. In order to replace an old custom domain, the old value must be cleared/unregistered
1197
+ before a new value can be set. The update of multiple properties is supported. This call does
1198
+ not change the storage keys for the account. If you want to change the storage account keys,
1199
+ use the regenerate keys operation. The location and name of the storage account cannot be
1200
+ changed after creation.
1201
+
1202
+ :param resource_group_name: The name of the resource group within the user's subscription. The
1203
+ name is case insensitive. Required.
1204
+ :type resource_group_name: str
1205
+ :param account_name: The name of the storage account within the specified resource group.
1206
+ Storage account names must be between 3 and 24 characters in length and use numbers and
1207
+ lower-case letters only. Required.
1208
+ :type account_name: str
1209
+ :param parameters: The parameters to provide for the updated account. Required.
1210
+ :type parameters: IO[bytes]
1211
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
1212
+ Default value is "application/json".
1213
+ :paramtype content_type: str
1214
+ :return: StorageAccount or the result of cls(response)
1215
+ :rtype: ~azure.mgmt.storage.v2023_05_01.models.StorageAccount
1216
+ :raises ~azure.core.exceptions.HttpResponseError:
1217
+ """
1218
+
1219
+ @distributed_trace
1220
+ def update(
1221
+ self,
1222
+ resource_group_name: str,
1223
+ account_name: str,
1224
+ parameters: Union[_models.StorageAccountUpdateParameters, IO[bytes]],
1225
+ **kwargs: Any
1226
+ ) -> _models.StorageAccount:
1227
+ """The update operation can be used to update the SKU, encryption, access tier, or tags for a
1228
+ storage account. It can also be used to map the account to a custom domain. Only one custom
1229
+ domain is supported per storage account; the replacement/change of custom domain is not
1230
+ supported. In order to replace an old custom domain, the old value must be cleared/unregistered
1231
+ before a new value can be set. The update of multiple properties is supported. This call does
1232
+ not change the storage keys for the account. If you want to change the storage account keys,
1233
+ use the regenerate keys operation. The location and name of the storage account cannot be
1234
+ changed after creation.
1235
+
1236
+ :param resource_group_name: The name of the resource group within the user's subscription. The
1237
+ name is case insensitive. Required.
1238
+ :type resource_group_name: str
1239
+ :param account_name: The name of the storage account within the specified resource group.
1240
+ Storage account names must be between 3 and 24 characters in length and use numbers and
1241
+ lower-case letters only. Required.
1242
+ :type account_name: str
1243
+ :param parameters: The parameters to provide for the updated account. Is either a
1244
+ StorageAccountUpdateParameters type or a IO[bytes] type. Required.
1245
+ :type parameters: ~azure.mgmt.storage.v2023_05_01.models.StorageAccountUpdateParameters or
1246
+ IO[bytes]
1247
+ :return: StorageAccount or the result of cls(response)
1248
+ :rtype: ~azure.mgmt.storage.v2023_05_01.models.StorageAccount
1249
+ :raises ~azure.core.exceptions.HttpResponseError:
1250
+ """
1251
+ error_map: MutableMapping[int, Type[HttpResponseError]] = {
1252
+ 401: ClientAuthenticationError,
1253
+ 404: ResourceNotFoundError,
1254
+ 409: ResourceExistsError,
1255
+ 304: ResourceNotModifiedError,
1256
+ }
1257
+ error_map.update(kwargs.pop("error_map", {}) or {})
1258
+
1259
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
1260
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
1261
+
1262
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._api_version or "2023-05-01"))
1263
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
1264
+ cls: ClsType[_models.StorageAccount] = kwargs.pop("cls", None)
1265
+
1266
+ content_type = content_type or "application/json"
1267
+ _json = None
1268
+ _content = None
1269
+ if isinstance(parameters, (IOBase, bytes)):
1270
+ _content = parameters
1271
+ else:
1272
+ _json = self._serialize.body(parameters, "StorageAccountUpdateParameters")
1273
+
1274
+ _request = build_update_request(
1275
+ resource_group_name=resource_group_name,
1276
+ account_name=account_name,
1277
+ subscription_id=self._config.subscription_id,
1278
+ api_version=api_version,
1279
+ content_type=content_type,
1280
+ json=_json,
1281
+ content=_content,
1282
+ headers=_headers,
1283
+ params=_params,
1284
+ )
1285
+ _request = _convert_request(_request)
1286
+ _request.url = self._client.format_url(_request.url)
1287
+
1288
+ _stream = False
1289
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
1290
+ _request, stream=_stream, **kwargs
1291
+ )
1292
+
1293
+ response = pipeline_response.http_response
1294
+
1295
+ if response.status_code not in [200]:
1296
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
1297
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
1298
+
1299
+ deserialized = self._deserialize("StorageAccount", pipeline_response)
1300
+
1301
+ if cls:
1302
+ return cls(pipeline_response, deserialized, {}) # type: ignore
1303
+
1304
+ return deserialized # type: ignore
1305
+
1306
+ @distributed_trace
1307
+ def list(self, **kwargs: Any) -> Iterable["_models.StorageAccount"]:
1308
+ """Lists all the storage accounts available under the subscription. Note that storage keys are not
1309
+ returned; use the ListKeys operation for this.
1310
+
1311
+ :return: An iterator like instance of either StorageAccount or the result of cls(response)
1312
+ :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.storage.v2023_05_01.models.StorageAccount]
1313
+ :raises ~azure.core.exceptions.HttpResponseError:
1314
+ """
1315
+ _headers = kwargs.pop("headers", {}) or {}
1316
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
1317
+
1318
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._api_version or "2023-05-01"))
1319
+ cls: ClsType[_models.StorageAccountListResult] = kwargs.pop("cls", None)
1320
+
1321
+ error_map: MutableMapping[int, Type[HttpResponseError]] = {
1322
+ 401: ClientAuthenticationError,
1323
+ 404: ResourceNotFoundError,
1324
+ 409: ResourceExistsError,
1325
+ 304: ResourceNotModifiedError,
1326
+ }
1327
+ error_map.update(kwargs.pop("error_map", {}) or {})
1328
+
1329
+ def prepare_request(next_link=None):
1330
+ if not next_link:
1331
+
1332
+ _request = build_list_request(
1333
+ subscription_id=self._config.subscription_id,
1334
+ api_version=api_version,
1335
+ headers=_headers,
1336
+ params=_params,
1337
+ )
1338
+ _request = _convert_request(_request)
1339
+ _request.url = self._client.format_url(_request.url)
1340
+
1341
+ else:
1342
+ # make call to next link with the client's api-version
1343
+ _parsed_next_link = urllib.parse.urlparse(next_link)
1344
+ _next_request_params = case_insensitive_dict(
1345
+ {
1346
+ key: [urllib.parse.quote(v) for v in value]
1347
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
1348
+ }
1349
+ )
1350
+ _next_request_params["api-version"] = self._api_version
1351
+ _request = HttpRequest(
1352
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
1353
+ )
1354
+ _request = _convert_request(_request)
1355
+ _request.url = self._client.format_url(_request.url)
1356
+ _request.method = "GET"
1357
+ return _request
1358
+
1359
+ def extract_data(pipeline_response):
1360
+ deserialized = self._deserialize("StorageAccountListResult", pipeline_response)
1361
+ list_of_elem = deserialized.value
1362
+ if cls:
1363
+ list_of_elem = cls(list_of_elem) # type: ignore
1364
+ return deserialized.next_link or None, iter(list_of_elem)
1365
+
1366
+ def get_next(next_link=None):
1367
+ _request = prepare_request(next_link)
1368
+
1369
+ _stream = False
1370
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
1371
+ _request, stream=_stream, **kwargs
1372
+ )
1373
+ response = pipeline_response.http_response
1374
+
1375
+ if response.status_code not in [200]:
1376
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
1377
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
1378
+
1379
+ return pipeline_response
1380
+
1381
+ return ItemPaged(get_next, extract_data)
1382
+
1383
+ @distributed_trace
1384
+ def list_by_resource_group(self, resource_group_name: str, **kwargs: Any) -> Iterable["_models.StorageAccount"]:
1385
+ """Lists all the storage accounts available under the given resource group. Note that storage keys
1386
+ are not returned; use the ListKeys operation for this.
1387
+
1388
+ :param resource_group_name: The name of the resource group within the user's subscription. The
1389
+ name is case insensitive. Required.
1390
+ :type resource_group_name: str
1391
+ :return: An iterator like instance of either StorageAccount or the result of cls(response)
1392
+ :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.storage.v2023_05_01.models.StorageAccount]
1393
+ :raises ~azure.core.exceptions.HttpResponseError:
1394
+ """
1395
+ _headers = kwargs.pop("headers", {}) or {}
1396
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
1397
+
1398
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._api_version or "2023-05-01"))
1399
+ cls: ClsType[_models.StorageAccountListResult] = kwargs.pop("cls", None)
1400
+
1401
+ error_map: MutableMapping[int, Type[HttpResponseError]] = {
1402
+ 401: ClientAuthenticationError,
1403
+ 404: ResourceNotFoundError,
1404
+ 409: ResourceExistsError,
1405
+ 304: ResourceNotModifiedError,
1406
+ }
1407
+ error_map.update(kwargs.pop("error_map", {}) or {})
1408
+
1409
+ def prepare_request(next_link=None):
1410
+ if not next_link:
1411
+
1412
+ _request = build_list_by_resource_group_request(
1413
+ resource_group_name=resource_group_name,
1414
+ subscription_id=self._config.subscription_id,
1415
+ api_version=api_version,
1416
+ headers=_headers,
1417
+ params=_params,
1418
+ )
1419
+ _request = _convert_request(_request)
1420
+ _request.url = self._client.format_url(_request.url)
1421
+
1422
+ else:
1423
+ # make call to next link with the client's api-version
1424
+ _parsed_next_link = urllib.parse.urlparse(next_link)
1425
+ _next_request_params = case_insensitive_dict(
1426
+ {
1427
+ key: [urllib.parse.quote(v) for v in value]
1428
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
1429
+ }
1430
+ )
1431
+ _next_request_params["api-version"] = self._api_version
1432
+ _request = HttpRequest(
1433
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
1434
+ )
1435
+ _request = _convert_request(_request)
1436
+ _request.url = self._client.format_url(_request.url)
1437
+ _request.method = "GET"
1438
+ return _request
1439
+
1440
+ def extract_data(pipeline_response):
1441
+ deserialized = self._deserialize("StorageAccountListResult", pipeline_response)
1442
+ list_of_elem = deserialized.value
1443
+ if cls:
1444
+ list_of_elem = cls(list_of_elem) # type: ignore
1445
+ return deserialized.next_link or None, iter(list_of_elem)
1446
+
1447
+ def get_next(next_link=None):
1448
+ _request = prepare_request(next_link)
1449
+
1450
+ _stream = False
1451
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
1452
+ _request, stream=_stream, **kwargs
1453
+ )
1454
+ response = pipeline_response.http_response
1455
+
1456
+ if response.status_code not in [200]:
1457
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
1458
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
1459
+
1460
+ return pipeline_response
1461
+
1462
+ return ItemPaged(get_next, extract_data)
1463
+
1464
+ @distributed_trace
1465
+ def list_keys(
1466
+ self, resource_group_name: str, account_name: str, expand: Literal["kerb"] = "kerb", **kwargs: Any
1467
+ ) -> _models.StorageAccountListKeysResult:
1468
+ """Lists the access keys or Kerberos keys (if active directory enabled) for the specified storage
1469
+ account.
1470
+
1471
+ :param resource_group_name: The name of the resource group within the user's subscription. The
1472
+ name is case insensitive. Required.
1473
+ :type resource_group_name: str
1474
+ :param account_name: The name of the storage account within the specified resource group.
1475
+ Storage account names must be between 3 and 24 characters in length and use numbers and
1476
+ lower-case letters only. Required.
1477
+ :type account_name: str
1478
+ :param expand: Specifies type of the key to be listed. Possible value is kerb. Known values are
1479
+ "kerb" and None. Default value is "kerb".
1480
+ :type expand: str
1481
+ :return: StorageAccountListKeysResult or the result of cls(response)
1482
+ :rtype: ~azure.mgmt.storage.v2023_05_01.models.StorageAccountListKeysResult
1483
+ :raises ~azure.core.exceptions.HttpResponseError:
1484
+ """
1485
+ error_map: MutableMapping[int, Type[HttpResponseError]] = {
1486
+ 401: ClientAuthenticationError,
1487
+ 404: ResourceNotFoundError,
1488
+ 409: ResourceExistsError,
1489
+ 304: ResourceNotModifiedError,
1490
+ }
1491
+ error_map.update(kwargs.pop("error_map", {}) or {})
1492
+
1493
+ _headers = kwargs.pop("headers", {}) or {}
1494
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
1495
+
1496
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._api_version or "2023-05-01"))
1497
+ cls: ClsType[_models.StorageAccountListKeysResult] = kwargs.pop("cls", None)
1498
+
1499
+ _request = build_list_keys_request(
1500
+ resource_group_name=resource_group_name,
1501
+ account_name=account_name,
1502
+ subscription_id=self._config.subscription_id,
1503
+ expand=expand,
1504
+ api_version=api_version,
1505
+ headers=_headers,
1506
+ params=_params,
1507
+ )
1508
+ _request = _convert_request(_request)
1509
+ _request.url = self._client.format_url(_request.url)
1510
+
1511
+ _stream = False
1512
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
1513
+ _request, stream=_stream, **kwargs
1514
+ )
1515
+
1516
+ response = pipeline_response.http_response
1517
+
1518
+ if response.status_code not in [200]:
1519
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
1520
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
1521
+
1522
+ deserialized = self._deserialize("StorageAccountListKeysResult", pipeline_response)
1523
+
1524
+ if cls:
1525
+ return cls(pipeline_response, deserialized, {}) # type: ignore
1526
+
1527
+ return deserialized # type: ignore
1528
+
1529
+ @overload
1530
+ def regenerate_key(
1531
+ self,
1532
+ resource_group_name: str,
1533
+ account_name: str,
1534
+ regenerate_key: _models.StorageAccountRegenerateKeyParameters,
1535
+ *,
1536
+ content_type: str = "application/json",
1537
+ **kwargs: Any
1538
+ ) -> _models.StorageAccountListKeysResult:
1539
+ """Regenerates one of the access keys or Kerberos keys for the specified storage account.
1540
+
1541
+ :param resource_group_name: The name of the resource group within the user's subscription. The
1542
+ name is case insensitive. Required.
1543
+ :type resource_group_name: str
1544
+ :param account_name: The name of the storage account within the specified resource group.
1545
+ Storage account names must be between 3 and 24 characters in length and use numbers and
1546
+ lower-case letters only. Required.
1547
+ :type account_name: str
1548
+ :param regenerate_key: Specifies name of the key which should be regenerated -- key1, key2,
1549
+ kerb1, kerb2. Required.
1550
+ :type regenerate_key:
1551
+ ~azure.mgmt.storage.v2023_05_01.models.StorageAccountRegenerateKeyParameters
1552
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
1553
+ Default value is "application/json".
1554
+ :paramtype content_type: str
1555
+ :return: StorageAccountListKeysResult or the result of cls(response)
1556
+ :rtype: ~azure.mgmt.storage.v2023_05_01.models.StorageAccountListKeysResult
1557
+ :raises ~azure.core.exceptions.HttpResponseError:
1558
+ """
1559
+
1560
+ @overload
1561
+ def regenerate_key(
1562
+ self,
1563
+ resource_group_name: str,
1564
+ account_name: str,
1565
+ regenerate_key: IO[bytes],
1566
+ *,
1567
+ content_type: str = "application/json",
1568
+ **kwargs: Any
1569
+ ) -> _models.StorageAccountListKeysResult:
1570
+ """Regenerates one of the access keys or Kerberos keys for the specified storage account.
1571
+
1572
+ :param resource_group_name: The name of the resource group within the user's subscription. The
1573
+ name is case insensitive. Required.
1574
+ :type resource_group_name: str
1575
+ :param account_name: The name of the storage account within the specified resource group.
1576
+ Storage account names must be between 3 and 24 characters in length and use numbers and
1577
+ lower-case letters only. Required.
1578
+ :type account_name: str
1579
+ :param regenerate_key: Specifies name of the key which should be regenerated -- key1, key2,
1580
+ kerb1, kerb2. Required.
1581
+ :type regenerate_key: IO[bytes]
1582
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
1583
+ Default value is "application/json".
1584
+ :paramtype content_type: str
1585
+ :return: StorageAccountListKeysResult or the result of cls(response)
1586
+ :rtype: ~azure.mgmt.storage.v2023_05_01.models.StorageAccountListKeysResult
1587
+ :raises ~azure.core.exceptions.HttpResponseError:
1588
+ """
1589
+
1590
+ @distributed_trace
1591
+ def regenerate_key(
1592
+ self,
1593
+ resource_group_name: str,
1594
+ account_name: str,
1595
+ regenerate_key: Union[_models.StorageAccountRegenerateKeyParameters, IO[bytes]],
1596
+ **kwargs: Any
1597
+ ) -> _models.StorageAccountListKeysResult:
1598
+ """Regenerates one of the access keys or Kerberos keys for the specified storage account.
1599
+
1600
+ :param resource_group_name: The name of the resource group within the user's subscription. The
1601
+ name is case insensitive. Required.
1602
+ :type resource_group_name: str
1603
+ :param account_name: The name of the storage account within the specified resource group.
1604
+ Storage account names must be between 3 and 24 characters in length and use numbers and
1605
+ lower-case letters only. Required.
1606
+ :type account_name: str
1607
+ :param regenerate_key: Specifies name of the key which should be regenerated -- key1, key2,
1608
+ kerb1, kerb2. Is either a StorageAccountRegenerateKeyParameters type or a IO[bytes] type.
1609
+ Required.
1610
+ :type regenerate_key:
1611
+ ~azure.mgmt.storage.v2023_05_01.models.StorageAccountRegenerateKeyParameters or IO[bytes]
1612
+ :return: StorageAccountListKeysResult or the result of cls(response)
1613
+ :rtype: ~azure.mgmt.storage.v2023_05_01.models.StorageAccountListKeysResult
1614
+ :raises ~azure.core.exceptions.HttpResponseError:
1615
+ """
1616
+ error_map: MutableMapping[int, Type[HttpResponseError]] = {
1617
+ 401: ClientAuthenticationError,
1618
+ 404: ResourceNotFoundError,
1619
+ 409: ResourceExistsError,
1620
+ 304: ResourceNotModifiedError,
1621
+ }
1622
+ error_map.update(kwargs.pop("error_map", {}) or {})
1623
+
1624
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
1625
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
1626
+
1627
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._api_version or "2023-05-01"))
1628
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
1629
+ cls: ClsType[_models.StorageAccountListKeysResult] = kwargs.pop("cls", None)
1630
+
1631
+ content_type = content_type or "application/json"
1632
+ _json = None
1633
+ _content = None
1634
+ if isinstance(regenerate_key, (IOBase, bytes)):
1635
+ _content = regenerate_key
1636
+ else:
1637
+ _json = self._serialize.body(regenerate_key, "StorageAccountRegenerateKeyParameters")
1638
+
1639
+ _request = build_regenerate_key_request(
1640
+ resource_group_name=resource_group_name,
1641
+ account_name=account_name,
1642
+ subscription_id=self._config.subscription_id,
1643
+ api_version=api_version,
1644
+ content_type=content_type,
1645
+ json=_json,
1646
+ content=_content,
1647
+ headers=_headers,
1648
+ params=_params,
1649
+ )
1650
+ _request = _convert_request(_request)
1651
+ _request.url = self._client.format_url(_request.url)
1652
+
1653
+ _stream = False
1654
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
1655
+ _request, stream=_stream, **kwargs
1656
+ )
1657
+
1658
+ response = pipeline_response.http_response
1659
+
1660
+ if response.status_code not in [200]:
1661
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
1662
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
1663
+
1664
+ deserialized = self._deserialize("StorageAccountListKeysResult", pipeline_response)
1665
+
1666
+ if cls:
1667
+ return cls(pipeline_response, deserialized, {}) # type: ignore
1668
+
1669
+ return deserialized # type: ignore
1670
+
1671
+ @overload
1672
+ def list_account_sas(
1673
+ self,
1674
+ resource_group_name: str,
1675
+ account_name: str,
1676
+ parameters: _models.AccountSasParameters,
1677
+ *,
1678
+ content_type: str = "application/json",
1679
+ **kwargs: Any
1680
+ ) -> _models.ListAccountSasResponse:
1681
+ """List SAS credentials of a storage account.
1682
+
1683
+ :param resource_group_name: The name of the resource group within the user's subscription. The
1684
+ name is case insensitive. Required.
1685
+ :type resource_group_name: str
1686
+ :param account_name: The name of the storage account within the specified resource group.
1687
+ Storage account names must be between 3 and 24 characters in length and use numbers and
1688
+ lower-case letters only. Required.
1689
+ :type account_name: str
1690
+ :param parameters: The parameters to provide to list SAS credentials for the storage account.
1691
+ Required.
1692
+ :type parameters: ~azure.mgmt.storage.v2023_05_01.models.AccountSasParameters
1693
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
1694
+ Default value is "application/json".
1695
+ :paramtype content_type: str
1696
+ :return: ListAccountSasResponse or the result of cls(response)
1697
+ :rtype: ~azure.mgmt.storage.v2023_05_01.models.ListAccountSasResponse
1698
+ :raises ~azure.core.exceptions.HttpResponseError:
1699
+ """
1700
+
1701
+ @overload
1702
+ def list_account_sas(
1703
+ self,
1704
+ resource_group_name: str,
1705
+ account_name: str,
1706
+ parameters: IO[bytes],
1707
+ *,
1708
+ content_type: str = "application/json",
1709
+ **kwargs: Any
1710
+ ) -> _models.ListAccountSasResponse:
1711
+ """List SAS credentials of a storage account.
1712
+
1713
+ :param resource_group_name: The name of the resource group within the user's subscription. The
1714
+ name is case insensitive. Required.
1715
+ :type resource_group_name: str
1716
+ :param account_name: The name of the storage account within the specified resource group.
1717
+ Storage account names must be between 3 and 24 characters in length and use numbers and
1718
+ lower-case letters only. Required.
1719
+ :type account_name: str
1720
+ :param parameters: The parameters to provide to list SAS credentials for the storage account.
1721
+ Required.
1722
+ :type parameters: IO[bytes]
1723
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
1724
+ Default value is "application/json".
1725
+ :paramtype content_type: str
1726
+ :return: ListAccountSasResponse or the result of cls(response)
1727
+ :rtype: ~azure.mgmt.storage.v2023_05_01.models.ListAccountSasResponse
1728
+ :raises ~azure.core.exceptions.HttpResponseError:
1729
+ """
1730
+
1731
+ @distributed_trace
1732
+ def list_account_sas(
1733
+ self,
1734
+ resource_group_name: str,
1735
+ account_name: str,
1736
+ parameters: Union[_models.AccountSasParameters, IO[bytes]],
1737
+ **kwargs: Any
1738
+ ) -> _models.ListAccountSasResponse:
1739
+ """List SAS credentials of a storage account.
1740
+
1741
+ :param resource_group_name: The name of the resource group within the user's subscription. The
1742
+ name is case insensitive. Required.
1743
+ :type resource_group_name: str
1744
+ :param account_name: The name of the storage account within the specified resource group.
1745
+ Storage account names must be between 3 and 24 characters in length and use numbers and
1746
+ lower-case letters only. Required.
1747
+ :type account_name: str
1748
+ :param parameters: The parameters to provide to list SAS credentials for the storage account.
1749
+ Is either a AccountSasParameters type or a IO[bytes] type. Required.
1750
+ :type parameters: ~azure.mgmt.storage.v2023_05_01.models.AccountSasParameters or IO[bytes]
1751
+ :return: ListAccountSasResponse or the result of cls(response)
1752
+ :rtype: ~azure.mgmt.storage.v2023_05_01.models.ListAccountSasResponse
1753
+ :raises ~azure.core.exceptions.HttpResponseError:
1754
+ """
1755
+ error_map: MutableMapping[int, Type[HttpResponseError]] = {
1756
+ 401: ClientAuthenticationError,
1757
+ 404: ResourceNotFoundError,
1758
+ 409: ResourceExistsError,
1759
+ 304: ResourceNotModifiedError,
1760
+ }
1761
+ error_map.update(kwargs.pop("error_map", {}) or {})
1762
+
1763
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
1764
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
1765
+
1766
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._api_version or "2023-05-01"))
1767
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
1768
+ cls: ClsType[_models.ListAccountSasResponse] = kwargs.pop("cls", None)
1769
+
1770
+ content_type = content_type or "application/json"
1771
+ _json = None
1772
+ _content = None
1773
+ if isinstance(parameters, (IOBase, bytes)):
1774
+ _content = parameters
1775
+ else:
1776
+ _json = self._serialize.body(parameters, "AccountSasParameters")
1777
+
1778
+ _request = build_list_account_sas_request(
1779
+ resource_group_name=resource_group_name,
1780
+ account_name=account_name,
1781
+ subscription_id=self._config.subscription_id,
1782
+ api_version=api_version,
1783
+ content_type=content_type,
1784
+ json=_json,
1785
+ content=_content,
1786
+ headers=_headers,
1787
+ params=_params,
1788
+ )
1789
+ _request = _convert_request(_request)
1790
+ _request.url = self._client.format_url(_request.url)
1791
+
1792
+ _stream = False
1793
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
1794
+ _request, stream=_stream, **kwargs
1795
+ )
1796
+
1797
+ response = pipeline_response.http_response
1798
+
1799
+ if response.status_code not in [200]:
1800
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
1801
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
1802
+
1803
+ deserialized = self._deserialize("ListAccountSasResponse", pipeline_response)
1804
+
1805
+ if cls:
1806
+ return cls(pipeline_response, deserialized, {}) # type: ignore
1807
+
1808
+ return deserialized # type: ignore
1809
+
1810
+ @overload
1811
+ def list_service_sas(
1812
+ self,
1813
+ resource_group_name: str,
1814
+ account_name: str,
1815
+ parameters: _models.ServiceSasParameters,
1816
+ *,
1817
+ content_type: str = "application/json",
1818
+ **kwargs: Any
1819
+ ) -> _models.ListServiceSasResponse:
1820
+ """List service SAS credentials of a specific resource.
1821
+
1822
+ :param resource_group_name: The name of the resource group within the user's subscription. The
1823
+ name is case insensitive. Required.
1824
+ :type resource_group_name: str
1825
+ :param account_name: The name of the storage account within the specified resource group.
1826
+ Storage account names must be between 3 and 24 characters in length and use numbers and
1827
+ lower-case letters only. Required.
1828
+ :type account_name: str
1829
+ :param parameters: The parameters to provide to list service SAS credentials. Required.
1830
+ :type parameters: ~azure.mgmt.storage.v2023_05_01.models.ServiceSasParameters
1831
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
1832
+ Default value is "application/json".
1833
+ :paramtype content_type: str
1834
+ :return: ListServiceSasResponse or the result of cls(response)
1835
+ :rtype: ~azure.mgmt.storage.v2023_05_01.models.ListServiceSasResponse
1836
+ :raises ~azure.core.exceptions.HttpResponseError:
1837
+ """
1838
+
1839
+ @overload
1840
+ def list_service_sas(
1841
+ self,
1842
+ resource_group_name: str,
1843
+ account_name: str,
1844
+ parameters: IO[bytes],
1845
+ *,
1846
+ content_type: str = "application/json",
1847
+ **kwargs: Any
1848
+ ) -> _models.ListServiceSasResponse:
1849
+ """List service SAS credentials of a specific resource.
1850
+
1851
+ :param resource_group_name: The name of the resource group within the user's subscription. The
1852
+ name is case insensitive. Required.
1853
+ :type resource_group_name: str
1854
+ :param account_name: The name of the storage account within the specified resource group.
1855
+ Storage account names must be between 3 and 24 characters in length and use numbers and
1856
+ lower-case letters only. Required.
1857
+ :type account_name: str
1858
+ :param parameters: The parameters to provide to list service SAS credentials. Required.
1859
+ :type parameters: IO[bytes]
1860
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
1861
+ Default value is "application/json".
1862
+ :paramtype content_type: str
1863
+ :return: ListServiceSasResponse or the result of cls(response)
1864
+ :rtype: ~azure.mgmt.storage.v2023_05_01.models.ListServiceSasResponse
1865
+ :raises ~azure.core.exceptions.HttpResponseError:
1866
+ """
1867
+
1868
+ @distributed_trace
1869
+ def list_service_sas(
1870
+ self,
1871
+ resource_group_name: str,
1872
+ account_name: str,
1873
+ parameters: Union[_models.ServiceSasParameters, IO[bytes]],
1874
+ **kwargs: Any
1875
+ ) -> _models.ListServiceSasResponse:
1876
+ """List service SAS credentials of a specific resource.
1877
+
1878
+ :param resource_group_name: The name of the resource group within the user's subscription. The
1879
+ name is case insensitive. Required.
1880
+ :type resource_group_name: str
1881
+ :param account_name: The name of the storage account within the specified resource group.
1882
+ Storage account names must be between 3 and 24 characters in length and use numbers and
1883
+ lower-case letters only. Required.
1884
+ :type account_name: str
1885
+ :param parameters: The parameters to provide to list service SAS credentials. Is either a
1886
+ ServiceSasParameters type or a IO[bytes] type. Required.
1887
+ :type parameters: ~azure.mgmt.storage.v2023_05_01.models.ServiceSasParameters or IO[bytes]
1888
+ :return: ListServiceSasResponse or the result of cls(response)
1889
+ :rtype: ~azure.mgmt.storage.v2023_05_01.models.ListServiceSasResponse
1890
+ :raises ~azure.core.exceptions.HttpResponseError:
1891
+ """
1892
+ error_map: MutableMapping[int, Type[HttpResponseError]] = {
1893
+ 401: ClientAuthenticationError,
1894
+ 404: ResourceNotFoundError,
1895
+ 409: ResourceExistsError,
1896
+ 304: ResourceNotModifiedError,
1897
+ }
1898
+ error_map.update(kwargs.pop("error_map", {}) or {})
1899
+
1900
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
1901
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
1902
+
1903
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._api_version or "2023-05-01"))
1904
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
1905
+ cls: ClsType[_models.ListServiceSasResponse] = kwargs.pop("cls", None)
1906
+
1907
+ content_type = content_type or "application/json"
1908
+ _json = None
1909
+ _content = None
1910
+ if isinstance(parameters, (IOBase, bytes)):
1911
+ _content = parameters
1912
+ else:
1913
+ _json = self._serialize.body(parameters, "ServiceSasParameters")
1914
+
1915
+ _request = build_list_service_sas_request(
1916
+ resource_group_name=resource_group_name,
1917
+ account_name=account_name,
1918
+ subscription_id=self._config.subscription_id,
1919
+ api_version=api_version,
1920
+ content_type=content_type,
1921
+ json=_json,
1922
+ content=_content,
1923
+ headers=_headers,
1924
+ params=_params,
1925
+ )
1926
+ _request = _convert_request(_request)
1927
+ _request.url = self._client.format_url(_request.url)
1928
+
1929
+ _stream = False
1930
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
1931
+ _request, stream=_stream, **kwargs
1932
+ )
1933
+
1934
+ response = pipeline_response.http_response
1935
+
1936
+ if response.status_code not in [200]:
1937
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
1938
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
1939
+
1940
+ deserialized = self._deserialize("ListServiceSasResponse", pipeline_response)
1941
+
1942
+ if cls:
1943
+ return cls(pipeline_response, deserialized, {}) # type: ignore
1944
+
1945
+ return deserialized # type: ignore
1946
+
1947
+ def _failover_initial( # pylint: disable=inconsistent-return-statements
1948
+ self, resource_group_name: str, account_name: str, failover_type: Literal["Planned"] = "Planned", **kwargs: Any
1949
+ ) -> None:
1950
+ error_map: MutableMapping[int, Type[HttpResponseError]] = {
1951
+ 401: ClientAuthenticationError,
1952
+ 404: ResourceNotFoundError,
1953
+ 409: ResourceExistsError,
1954
+ 304: ResourceNotModifiedError,
1955
+ }
1956
+ error_map.update(kwargs.pop("error_map", {}) or {})
1957
+
1958
+ _headers = kwargs.pop("headers", {}) or {}
1959
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
1960
+
1961
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._api_version or "2023-05-01"))
1962
+ cls: ClsType[None] = kwargs.pop("cls", None)
1963
+
1964
+ _request = build_failover_request(
1965
+ resource_group_name=resource_group_name,
1966
+ account_name=account_name,
1967
+ subscription_id=self._config.subscription_id,
1968
+ failover_type=failover_type,
1969
+ api_version=api_version,
1970
+ headers=_headers,
1971
+ params=_params,
1972
+ )
1973
+ _request = _convert_request(_request)
1974
+ _request.url = self._client.format_url(_request.url)
1975
+
1976
+ _stream = False
1977
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
1978
+ _request, stream=_stream, **kwargs
1979
+ )
1980
+
1981
+ response = pipeline_response.http_response
1982
+
1983
+ if response.status_code not in [200, 202]:
1984
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
1985
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
1986
+
1987
+ if cls:
1988
+ return cls(pipeline_response, None, {}) # type: ignore
1989
+
1990
+ @distributed_trace
1991
+ def begin_failover(
1992
+ self, resource_group_name: str, account_name: str, failover_type: Literal["Planned"] = "Planned", **kwargs: Any
1993
+ ) -> LROPoller[None]:
1994
+ """A failover request can be triggered for a storage account in the event a primary endpoint
1995
+ becomes unavailable for any reason. The failover occurs from the storage account's primary
1996
+ cluster to the secondary cluster for RA-GRS accounts. The secondary cluster will become primary
1997
+ after failover and the account is converted to LRS. In the case of a Planned Failover, the
1998
+ primary and secondary clusters are swapped after failover and the account remains
1999
+ geo-replicated. Failover should continue to be used in the event of availability issues as
2000
+ Planned failover is only available while the primary and secondary endpoints are available. The
2001
+ primary use case of a Planned Failover is disaster recovery testing drills. This type of
2002
+ failover is invoked by setting FailoverType parameter to 'Planned'. Learn more about the
2003
+ failover options here-
2004
+ https://learn.microsoft.com/en-us/azure/storage/common/storage-disaster-recovery-guidance.
2005
+
2006
+ :param resource_group_name: The name of the resource group within the user's subscription. The
2007
+ name is case insensitive. Required.
2008
+ :type resource_group_name: str
2009
+ :param account_name: The name of the storage account within the specified resource group.
2010
+ Storage account names must be between 3 and 24 characters in length and use numbers and
2011
+ lower-case letters only. Required.
2012
+ :type account_name: str
2013
+ :param failover_type: The parameter is set to 'Planned' to indicate whether a Planned failover
2014
+ is requested. Known values are "Planned" and None. Default value is "Planned".
2015
+ :type failover_type: str
2016
+ :return: An instance of LROPoller that returns either None or the result of cls(response)
2017
+ :rtype: ~azure.core.polling.LROPoller[None]
2018
+ :raises ~azure.core.exceptions.HttpResponseError:
2019
+ """
2020
+ _headers = kwargs.pop("headers", {}) or {}
2021
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
2022
+
2023
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._api_version or "2023-05-01"))
2024
+ cls: ClsType[None] = kwargs.pop("cls", None)
2025
+ polling: Union[bool, PollingMethod] = kwargs.pop("polling", True)
2026
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
2027
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
2028
+ if cont_token is None:
2029
+ raw_result = self._failover_initial( # type: ignore
2030
+ resource_group_name=resource_group_name,
2031
+ account_name=account_name,
2032
+ failover_type=failover_type,
2033
+ api_version=api_version,
2034
+ cls=lambda x, y, z: x,
2035
+ headers=_headers,
2036
+ params=_params,
2037
+ **kwargs
2038
+ )
2039
+ kwargs.pop("error_map", None)
2040
+
2041
+ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements
2042
+ if cls:
2043
+ return cls(pipeline_response, None, {}) # type: ignore
2044
+
2045
+ if polling is True:
2046
+ polling_method: PollingMethod = cast(
2047
+ PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs)
2048
+ )
2049
+ elif polling is False:
2050
+ polling_method = cast(PollingMethod, NoPolling())
2051
+ else:
2052
+ polling_method = polling
2053
+ if cont_token:
2054
+ return LROPoller[None].from_continuation_token(
2055
+ polling_method=polling_method,
2056
+ continuation_token=cont_token,
2057
+ client=self._client,
2058
+ deserialization_callback=get_long_running_output,
2059
+ )
2060
+ return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore
2061
+
2062
+ def _hierarchical_namespace_migration_initial( # pylint: disable=inconsistent-return-statements,name-too-long
2063
+ self, resource_group_name: str, account_name: str, request_type: str, **kwargs: Any
2064
+ ) -> None:
2065
+ error_map: MutableMapping[int, Type[HttpResponseError]] = {
2066
+ 401: ClientAuthenticationError,
2067
+ 404: ResourceNotFoundError,
2068
+ 409: ResourceExistsError,
2069
+ 304: ResourceNotModifiedError,
2070
+ }
2071
+ error_map.update(kwargs.pop("error_map", {}) or {})
2072
+
2073
+ _headers = kwargs.pop("headers", {}) or {}
2074
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
2075
+
2076
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._api_version or "2023-05-01"))
2077
+ cls: ClsType[None] = kwargs.pop("cls", None)
2078
+
2079
+ _request = build_hierarchical_namespace_migration_request(
2080
+ resource_group_name=resource_group_name,
2081
+ account_name=account_name,
2082
+ subscription_id=self._config.subscription_id,
2083
+ request_type=request_type,
2084
+ api_version=api_version,
2085
+ headers=_headers,
2086
+ params=_params,
2087
+ )
2088
+ _request = _convert_request(_request)
2089
+ _request.url = self._client.format_url(_request.url)
2090
+
2091
+ _stream = False
2092
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
2093
+ _request, stream=_stream, **kwargs
2094
+ )
2095
+
2096
+ response = pipeline_response.http_response
2097
+
2098
+ if response.status_code not in [200, 202]:
2099
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
2100
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
2101
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
2102
+
2103
+ if cls:
2104
+ return cls(pipeline_response, None, {}) # type: ignore
2105
+
2106
+ @distributed_trace
2107
+ def begin_hierarchical_namespace_migration(
2108
+ self, resource_group_name: str, account_name: str, request_type: str, **kwargs: Any
2109
+ ) -> LROPoller[None]:
2110
+ """Live Migration of storage account to enable Hns.
2111
+
2112
+ :param resource_group_name: The name of the resource group within the user's subscription. The
2113
+ name is case insensitive. Required.
2114
+ :type resource_group_name: str
2115
+ :param account_name: The name of the storage account within the specified resource group.
2116
+ Storage account names must be between 3 and 24 characters in length and use numbers and
2117
+ lower-case letters only. Required.
2118
+ :type account_name: str
2119
+ :param request_type: Required. Hierarchical namespace migration type can either be a
2120
+ hierarchical namespace validation request 'HnsOnValidationRequest' or a hydration request
2121
+ 'HnsOnHydrationRequest'. The validation request will validate the migration whereas the
2122
+ hydration request will migrate the account. Required.
2123
+ :type request_type: str
2124
+ :return: An instance of LROPoller that returns either None or the result of cls(response)
2125
+ :rtype: ~azure.core.polling.LROPoller[None]
2126
+ :raises ~azure.core.exceptions.HttpResponseError:
2127
+ """
2128
+ _headers = kwargs.pop("headers", {}) or {}
2129
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
2130
+
2131
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._api_version or "2023-05-01"))
2132
+ cls: ClsType[None] = kwargs.pop("cls", None)
2133
+ polling: Union[bool, PollingMethod] = kwargs.pop("polling", True)
2134
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
2135
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
2136
+ if cont_token is None:
2137
+ raw_result = self._hierarchical_namespace_migration_initial( # type: ignore
2138
+ resource_group_name=resource_group_name,
2139
+ account_name=account_name,
2140
+ request_type=request_type,
2141
+ api_version=api_version,
2142
+ cls=lambda x, y, z: x,
2143
+ headers=_headers,
2144
+ params=_params,
2145
+ **kwargs
2146
+ )
2147
+ kwargs.pop("error_map", None)
2148
+
2149
+ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements
2150
+ if cls:
2151
+ return cls(pipeline_response, None, {}) # type: ignore
2152
+
2153
+ if polling is True:
2154
+ polling_method: PollingMethod = cast(
2155
+ PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs)
2156
+ )
2157
+ elif polling is False:
2158
+ polling_method = cast(PollingMethod, NoPolling())
2159
+ else:
2160
+ polling_method = polling
2161
+ if cont_token:
2162
+ return LROPoller[None].from_continuation_token(
2163
+ polling_method=polling_method,
2164
+ continuation_token=cont_token,
2165
+ client=self._client,
2166
+ deserialization_callback=get_long_running_output,
2167
+ )
2168
+ return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore
2169
+
2170
+ def _abort_hierarchical_namespace_migration_initial( # pylint: disable=inconsistent-return-statements,name-too-long
2171
+ self, resource_group_name: str, account_name: str, **kwargs: Any
2172
+ ) -> None:
2173
+ error_map: MutableMapping[int, Type[HttpResponseError]] = {
2174
+ 401: ClientAuthenticationError,
2175
+ 404: ResourceNotFoundError,
2176
+ 409: ResourceExistsError,
2177
+ 304: ResourceNotModifiedError,
2178
+ }
2179
+ error_map.update(kwargs.pop("error_map", {}) or {})
2180
+
2181
+ _headers = kwargs.pop("headers", {}) or {}
2182
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
2183
+
2184
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._api_version or "2023-05-01"))
2185
+ cls: ClsType[None] = kwargs.pop("cls", None)
2186
+
2187
+ _request = build_abort_hierarchical_namespace_migration_request(
2188
+ resource_group_name=resource_group_name,
2189
+ account_name=account_name,
2190
+ subscription_id=self._config.subscription_id,
2191
+ api_version=api_version,
2192
+ headers=_headers,
2193
+ params=_params,
2194
+ )
2195
+ _request = _convert_request(_request)
2196
+ _request.url = self._client.format_url(_request.url)
2197
+
2198
+ _stream = False
2199
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
2200
+ _request, stream=_stream, **kwargs
2201
+ )
2202
+
2203
+ response = pipeline_response.http_response
2204
+
2205
+ if response.status_code not in [200, 202]:
2206
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
2207
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
2208
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
2209
+
2210
+ if cls:
2211
+ return cls(pipeline_response, None, {}) # type: ignore
2212
+
2213
+ @distributed_trace
2214
+ def begin_abort_hierarchical_namespace_migration( # pylint: disable=name-too-long
2215
+ self, resource_group_name: str, account_name: str, **kwargs: Any
2216
+ ) -> LROPoller[None]:
2217
+ """Abort live Migration of storage account to enable Hns.
2218
+
2219
+ :param resource_group_name: The name of the resource group within the user's subscription. The
2220
+ name is case insensitive. Required.
2221
+ :type resource_group_name: str
2222
+ :param account_name: The name of the storage account within the specified resource group.
2223
+ Storage account names must be between 3 and 24 characters in length and use numbers and
2224
+ lower-case letters only. Required.
2225
+ :type account_name: str
2226
+ :return: An instance of LROPoller that returns either None or the result of cls(response)
2227
+ :rtype: ~azure.core.polling.LROPoller[None]
2228
+ :raises ~azure.core.exceptions.HttpResponseError:
2229
+ """
2230
+ _headers = kwargs.pop("headers", {}) or {}
2231
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
2232
+
2233
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._api_version or "2023-05-01"))
2234
+ cls: ClsType[None] = kwargs.pop("cls", None)
2235
+ polling: Union[bool, PollingMethod] = kwargs.pop("polling", True)
2236
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
2237
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
2238
+ if cont_token is None:
2239
+ raw_result = self._abort_hierarchical_namespace_migration_initial( # type: ignore
2240
+ resource_group_name=resource_group_name,
2241
+ account_name=account_name,
2242
+ api_version=api_version,
2243
+ cls=lambda x, y, z: x,
2244
+ headers=_headers,
2245
+ params=_params,
2246
+ **kwargs
2247
+ )
2248
+ kwargs.pop("error_map", None)
2249
+
2250
+ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements
2251
+ if cls:
2252
+ return cls(pipeline_response, None, {}) # type: ignore
2253
+
2254
+ if polling is True:
2255
+ polling_method: PollingMethod = cast(
2256
+ PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs)
2257
+ )
2258
+ elif polling is False:
2259
+ polling_method = cast(PollingMethod, NoPolling())
2260
+ else:
2261
+ polling_method = polling
2262
+ if cont_token:
2263
+ return LROPoller[None].from_continuation_token(
2264
+ polling_method=polling_method,
2265
+ continuation_token=cont_token,
2266
+ client=self._client,
2267
+ deserialization_callback=get_long_running_output,
2268
+ )
2269
+ return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore
2270
+
2271
+ def _customer_initiated_migration_initial( # pylint: disable=inconsistent-return-statements
2272
+ self,
2273
+ resource_group_name: str,
2274
+ account_name: str,
2275
+ parameters: Union[_models.StorageAccountMigration, IO[bytes]],
2276
+ **kwargs: Any
2277
+ ) -> None:
2278
+ error_map: MutableMapping[int, Type[HttpResponseError]] = {
2279
+ 401: ClientAuthenticationError,
2280
+ 404: ResourceNotFoundError,
2281
+ 409: ResourceExistsError,
2282
+ 304: ResourceNotModifiedError,
2283
+ }
2284
+ error_map.update(kwargs.pop("error_map", {}) or {})
2285
+
2286
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
2287
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
2288
+
2289
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._api_version or "2023-05-01"))
2290
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
2291
+ cls: ClsType[None] = kwargs.pop("cls", None)
2292
+
2293
+ content_type = content_type or "application/json"
2294
+ _json = None
2295
+ _content = None
2296
+ if isinstance(parameters, (IOBase, bytes)):
2297
+ _content = parameters
2298
+ else:
2299
+ _json = self._serialize.body(parameters, "StorageAccountMigration")
2300
+
2301
+ _request = build_customer_initiated_migration_request(
2302
+ resource_group_name=resource_group_name,
2303
+ account_name=account_name,
2304
+ subscription_id=self._config.subscription_id,
2305
+ api_version=api_version,
2306
+ content_type=content_type,
2307
+ json=_json,
2308
+ content=_content,
2309
+ headers=_headers,
2310
+ params=_params,
2311
+ )
2312
+ _request = _convert_request(_request)
2313
+ _request.url = self._client.format_url(_request.url)
2314
+
2315
+ _stream = False
2316
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
2317
+ _request, stream=_stream, **kwargs
2318
+ )
2319
+
2320
+ response = pipeline_response.http_response
2321
+
2322
+ if response.status_code not in [200, 202]:
2323
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
2324
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponseAutoGenerated, pipeline_response)
2325
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
2326
+
2327
+ response_headers = {}
2328
+ if response.status_code == 202:
2329
+ response_headers["Location"] = self._deserialize("str", response.headers.get("Location"))
2330
+
2331
+ if cls:
2332
+ return cls(pipeline_response, None, response_headers) # type: ignore
2333
+
2334
+ @overload
2335
+ def begin_customer_initiated_migration(
2336
+ self,
2337
+ resource_group_name: str,
2338
+ account_name: str,
2339
+ parameters: _models.StorageAccountMigration,
2340
+ *,
2341
+ content_type: str = "application/json",
2342
+ **kwargs: Any
2343
+ ) -> LROPoller[None]:
2344
+ """Account Migration request can be triggered for a storage account to change its redundancy
2345
+ level. The migration updates the non-zonal redundant storage account to a zonal redundant
2346
+ account or vice-versa in order to have better reliability and availability. Zone-redundant
2347
+ storage (ZRS) replicates your storage account synchronously across three Azure availability
2348
+ zones in the primary region.
2349
+
2350
+ :param resource_group_name: The name of the resource group within the user's subscription. The
2351
+ name is case insensitive. Required.
2352
+ :type resource_group_name: str
2353
+ :param account_name: The name of the storage account within the specified resource group.
2354
+ Storage account names must be between 3 and 24 characters in length and use numbers and
2355
+ lower-case letters only. Required.
2356
+ :type account_name: str
2357
+ :param parameters: The request parameters required to perform storage account migration.
2358
+ Required.
2359
+ :type parameters: ~azure.mgmt.storage.v2023_05_01.models.StorageAccountMigration
2360
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
2361
+ Default value is "application/json".
2362
+ :paramtype content_type: str
2363
+ :return: An instance of LROPoller that returns either None or the result of cls(response)
2364
+ :rtype: ~azure.core.polling.LROPoller[None]
2365
+ :raises ~azure.core.exceptions.HttpResponseError:
2366
+ """
2367
+
2368
+ @overload
2369
+ def begin_customer_initiated_migration(
2370
+ self,
2371
+ resource_group_name: str,
2372
+ account_name: str,
2373
+ parameters: IO[bytes],
2374
+ *,
2375
+ content_type: str = "application/json",
2376
+ **kwargs: Any
2377
+ ) -> LROPoller[None]:
2378
+ """Account Migration request can be triggered for a storage account to change its redundancy
2379
+ level. The migration updates the non-zonal redundant storage account to a zonal redundant
2380
+ account or vice-versa in order to have better reliability and availability. Zone-redundant
2381
+ storage (ZRS) replicates your storage account synchronously across three Azure availability
2382
+ zones in the primary region.
2383
+
2384
+ :param resource_group_name: The name of the resource group within the user's subscription. The
2385
+ name is case insensitive. Required.
2386
+ :type resource_group_name: str
2387
+ :param account_name: The name of the storage account within the specified resource group.
2388
+ Storage account names must be between 3 and 24 characters in length and use numbers and
2389
+ lower-case letters only. Required.
2390
+ :type account_name: str
2391
+ :param parameters: The request parameters required to perform storage account migration.
2392
+ Required.
2393
+ :type parameters: IO[bytes]
2394
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
2395
+ Default value is "application/json".
2396
+ :paramtype content_type: str
2397
+ :return: An instance of LROPoller that returns either None or the result of cls(response)
2398
+ :rtype: ~azure.core.polling.LROPoller[None]
2399
+ :raises ~azure.core.exceptions.HttpResponseError:
2400
+ """
2401
+
2402
+ @distributed_trace
2403
+ def begin_customer_initiated_migration(
2404
+ self,
2405
+ resource_group_name: str,
2406
+ account_name: str,
2407
+ parameters: Union[_models.StorageAccountMigration, IO[bytes]],
2408
+ **kwargs: Any
2409
+ ) -> LROPoller[None]:
2410
+ """Account Migration request can be triggered for a storage account to change its redundancy
2411
+ level. The migration updates the non-zonal redundant storage account to a zonal redundant
2412
+ account or vice-versa in order to have better reliability and availability. Zone-redundant
2413
+ storage (ZRS) replicates your storage account synchronously across three Azure availability
2414
+ zones in the primary region.
2415
+
2416
+ :param resource_group_name: The name of the resource group within the user's subscription. The
2417
+ name is case insensitive. Required.
2418
+ :type resource_group_name: str
2419
+ :param account_name: The name of the storage account within the specified resource group.
2420
+ Storage account names must be between 3 and 24 characters in length and use numbers and
2421
+ lower-case letters only. Required.
2422
+ :type account_name: str
2423
+ :param parameters: The request parameters required to perform storage account migration. Is
2424
+ either a StorageAccountMigration type or a IO[bytes] type. Required.
2425
+ :type parameters: ~azure.mgmt.storage.v2023_05_01.models.StorageAccountMigration or IO[bytes]
2426
+ :return: An instance of LROPoller that returns either None or the result of cls(response)
2427
+ :rtype: ~azure.core.polling.LROPoller[None]
2428
+ :raises ~azure.core.exceptions.HttpResponseError:
2429
+ """
2430
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
2431
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
2432
+
2433
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._api_version or "2023-05-01"))
2434
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
2435
+ cls: ClsType[None] = kwargs.pop("cls", None)
2436
+ polling: Union[bool, PollingMethod] = kwargs.pop("polling", True)
2437
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
2438
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
2439
+ if cont_token is None:
2440
+ raw_result = self._customer_initiated_migration_initial( # type: ignore
2441
+ resource_group_name=resource_group_name,
2442
+ account_name=account_name,
2443
+ parameters=parameters,
2444
+ api_version=api_version,
2445
+ content_type=content_type,
2446
+ cls=lambda x, y, z: x,
2447
+ headers=_headers,
2448
+ params=_params,
2449
+ **kwargs
2450
+ )
2451
+ kwargs.pop("error_map", None)
2452
+
2453
+ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements
2454
+ if cls:
2455
+ return cls(pipeline_response, None, {}) # type: ignore
2456
+
2457
+ if polling is True:
2458
+ polling_method: PollingMethod = cast(
2459
+ PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs)
2460
+ )
2461
+ elif polling is False:
2462
+ polling_method = cast(PollingMethod, NoPolling())
2463
+ else:
2464
+ polling_method = polling
2465
+ if cont_token:
2466
+ return LROPoller[None].from_continuation_token(
2467
+ polling_method=polling_method,
2468
+ continuation_token=cont_token,
2469
+ client=self._client,
2470
+ deserialization_callback=get_long_running_output,
2471
+ )
2472
+ return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore
2473
+
2474
+ @distributed_trace
2475
+ def get_customer_initiated_migration(
2476
+ self,
2477
+ resource_group_name: str,
2478
+ account_name: str,
2479
+ migration_name: Union[str, _models.MigrationName],
2480
+ **kwargs: Any
2481
+ ) -> _models.StorageAccountMigration:
2482
+ """Gets the status of the ongoing migration for the specified storage account.
2483
+
2484
+ :param resource_group_name: The name of the resource group within the user's subscription. The
2485
+ name is case insensitive. Required.
2486
+ :type resource_group_name: str
2487
+ :param account_name: The name of the storage account within the specified resource group.
2488
+ Storage account names must be between 3 and 24 characters in length and use numbers and
2489
+ lower-case letters only. Required.
2490
+ :type account_name: str
2491
+ :param migration_name: The name of the Storage Account Migration. It should always be
2492
+ 'default'. "default" Required.
2493
+ :type migration_name: str or ~azure.mgmt.storage.v2023_05_01.models.MigrationName
2494
+ :return: StorageAccountMigration or the result of cls(response)
2495
+ :rtype: ~azure.mgmt.storage.v2023_05_01.models.StorageAccountMigration
2496
+ :raises ~azure.core.exceptions.HttpResponseError:
2497
+ """
2498
+ error_map: MutableMapping[int, Type[HttpResponseError]] = {
2499
+ 401: ClientAuthenticationError,
2500
+ 404: ResourceNotFoundError,
2501
+ 409: ResourceExistsError,
2502
+ 304: ResourceNotModifiedError,
2503
+ }
2504
+ error_map.update(kwargs.pop("error_map", {}) or {})
2505
+
2506
+ _headers = kwargs.pop("headers", {}) or {}
2507
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
2508
+
2509
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._api_version or "2023-05-01"))
2510
+ cls: ClsType[_models.StorageAccountMigration] = kwargs.pop("cls", None)
2511
+
2512
+ _request = build_get_customer_initiated_migration_request(
2513
+ resource_group_name=resource_group_name,
2514
+ account_name=account_name,
2515
+ migration_name=migration_name,
2516
+ subscription_id=self._config.subscription_id,
2517
+ api_version=api_version,
2518
+ headers=_headers,
2519
+ params=_params,
2520
+ )
2521
+ _request = _convert_request(_request)
2522
+ _request.url = self._client.format_url(_request.url)
2523
+
2524
+ _stream = False
2525
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
2526
+ _request, stream=_stream, **kwargs
2527
+ )
2528
+
2529
+ response = pipeline_response.http_response
2530
+
2531
+ if response.status_code not in [200]:
2532
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
2533
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponseAutoGenerated, pipeline_response)
2534
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
2535
+
2536
+ deserialized = self._deserialize("StorageAccountMigration", pipeline_response)
2537
+
2538
+ if cls:
2539
+ return cls(pipeline_response, deserialized, {}) # type: ignore
2540
+
2541
+ return deserialized # type: ignore
2542
+
2543
+ def _restore_blob_ranges_initial(
2544
+ self,
2545
+ resource_group_name: str,
2546
+ account_name: str,
2547
+ parameters: Union[_models.BlobRestoreParameters, IO[bytes]],
2548
+ **kwargs: Any
2549
+ ) -> _models.BlobRestoreStatus:
2550
+ error_map: MutableMapping[int, Type[HttpResponseError]] = {
2551
+ 401: ClientAuthenticationError,
2552
+ 404: ResourceNotFoundError,
2553
+ 409: ResourceExistsError,
2554
+ 304: ResourceNotModifiedError,
2555
+ }
2556
+ error_map.update(kwargs.pop("error_map", {}) or {})
2557
+
2558
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
2559
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
2560
+
2561
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._api_version or "2023-05-01"))
2562
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
2563
+ cls: ClsType[_models.BlobRestoreStatus] = kwargs.pop("cls", None)
2564
+
2565
+ content_type = content_type or "application/json"
2566
+ _json = None
2567
+ _content = None
2568
+ if isinstance(parameters, (IOBase, bytes)):
2569
+ _content = parameters
2570
+ else:
2571
+ _json = self._serialize.body(parameters, "BlobRestoreParameters")
2572
+
2573
+ _request = build_restore_blob_ranges_request(
2574
+ resource_group_name=resource_group_name,
2575
+ account_name=account_name,
2576
+ subscription_id=self._config.subscription_id,
2577
+ api_version=api_version,
2578
+ content_type=content_type,
2579
+ json=_json,
2580
+ content=_content,
2581
+ headers=_headers,
2582
+ params=_params,
2583
+ )
2584
+ _request = _convert_request(_request)
2585
+ _request.url = self._client.format_url(_request.url)
2586
+
2587
+ _stream = False
2588
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
2589
+ _request, stream=_stream, **kwargs
2590
+ )
2591
+
2592
+ response = pipeline_response.http_response
2593
+
2594
+ if response.status_code not in [200, 202]:
2595
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
2596
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
2597
+
2598
+ if response.status_code == 200:
2599
+ deserialized = self._deserialize("BlobRestoreStatus", pipeline_response)
2600
+
2601
+ if response.status_code == 202:
2602
+ deserialized = self._deserialize("BlobRestoreStatus", pipeline_response)
2603
+
2604
+ if cls:
2605
+ return cls(pipeline_response, deserialized, {}) # type: ignore
2606
+
2607
+ return deserialized # type: ignore
2608
+
2609
+ @overload
2610
+ def begin_restore_blob_ranges(
2611
+ self,
2612
+ resource_group_name: str,
2613
+ account_name: str,
2614
+ parameters: _models.BlobRestoreParameters,
2615
+ *,
2616
+ content_type: str = "application/json",
2617
+ **kwargs: Any
2618
+ ) -> LROPoller[_models.BlobRestoreStatus]:
2619
+ """Restore blobs in the specified blob ranges.
2620
+
2621
+ :param resource_group_name: The name of the resource group within the user's subscription. The
2622
+ name is case insensitive. Required.
2623
+ :type resource_group_name: str
2624
+ :param account_name: The name of the storage account within the specified resource group.
2625
+ Storage account names must be between 3 and 24 characters in length and use numbers and
2626
+ lower-case letters only. Required.
2627
+ :type account_name: str
2628
+ :param parameters: The parameters to provide for restore blob ranges. Required.
2629
+ :type parameters: ~azure.mgmt.storage.v2023_05_01.models.BlobRestoreParameters
2630
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
2631
+ Default value is "application/json".
2632
+ :paramtype content_type: str
2633
+ :return: An instance of LROPoller that returns either BlobRestoreStatus or the result of
2634
+ cls(response)
2635
+ :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.storage.v2023_05_01.models.BlobRestoreStatus]
2636
+ :raises ~azure.core.exceptions.HttpResponseError:
2637
+ """
2638
+
2639
+ @overload
2640
+ def begin_restore_blob_ranges(
2641
+ self,
2642
+ resource_group_name: str,
2643
+ account_name: str,
2644
+ parameters: IO[bytes],
2645
+ *,
2646
+ content_type: str = "application/json",
2647
+ **kwargs: Any
2648
+ ) -> LROPoller[_models.BlobRestoreStatus]:
2649
+ """Restore blobs in the specified blob ranges.
2650
+
2651
+ :param resource_group_name: The name of the resource group within the user's subscription. The
2652
+ name is case insensitive. Required.
2653
+ :type resource_group_name: str
2654
+ :param account_name: The name of the storage account within the specified resource group.
2655
+ Storage account names must be between 3 and 24 characters in length and use numbers and
2656
+ lower-case letters only. Required.
2657
+ :type account_name: str
2658
+ :param parameters: The parameters to provide for restore blob ranges. Required.
2659
+ :type parameters: IO[bytes]
2660
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
2661
+ Default value is "application/json".
2662
+ :paramtype content_type: str
2663
+ :return: An instance of LROPoller that returns either BlobRestoreStatus or the result of
2664
+ cls(response)
2665
+ :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.storage.v2023_05_01.models.BlobRestoreStatus]
2666
+ :raises ~azure.core.exceptions.HttpResponseError:
2667
+ """
2668
+
2669
+ @distributed_trace
2670
+ def begin_restore_blob_ranges(
2671
+ self,
2672
+ resource_group_name: str,
2673
+ account_name: str,
2674
+ parameters: Union[_models.BlobRestoreParameters, IO[bytes]],
2675
+ **kwargs: Any
2676
+ ) -> LROPoller[_models.BlobRestoreStatus]:
2677
+ """Restore blobs in the specified blob ranges.
2678
+
2679
+ :param resource_group_name: The name of the resource group within the user's subscription. The
2680
+ name is case insensitive. Required.
2681
+ :type resource_group_name: str
2682
+ :param account_name: The name of the storage account within the specified resource group.
2683
+ Storage account names must be between 3 and 24 characters in length and use numbers and
2684
+ lower-case letters only. Required.
2685
+ :type account_name: str
2686
+ :param parameters: The parameters to provide for restore blob ranges. Is either a
2687
+ BlobRestoreParameters type or a IO[bytes] type. Required.
2688
+ :type parameters: ~azure.mgmt.storage.v2023_05_01.models.BlobRestoreParameters or IO[bytes]
2689
+ :return: An instance of LROPoller that returns either BlobRestoreStatus or the result of
2690
+ cls(response)
2691
+ :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.storage.v2023_05_01.models.BlobRestoreStatus]
2692
+ :raises ~azure.core.exceptions.HttpResponseError:
2693
+ """
2694
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
2695
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
2696
+
2697
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._api_version or "2023-05-01"))
2698
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
2699
+ cls: ClsType[_models.BlobRestoreStatus] = kwargs.pop("cls", None)
2700
+ polling: Union[bool, PollingMethod] = kwargs.pop("polling", True)
2701
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
2702
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
2703
+ if cont_token is None:
2704
+ raw_result = self._restore_blob_ranges_initial(
2705
+ resource_group_name=resource_group_name,
2706
+ account_name=account_name,
2707
+ parameters=parameters,
2708
+ api_version=api_version,
2709
+ content_type=content_type,
2710
+ cls=lambda x, y, z: x,
2711
+ headers=_headers,
2712
+ params=_params,
2713
+ **kwargs
2714
+ )
2715
+ kwargs.pop("error_map", None)
2716
+
2717
+ def get_long_running_output(pipeline_response):
2718
+ deserialized = self._deserialize("BlobRestoreStatus", pipeline_response)
2719
+ if cls:
2720
+ return cls(pipeline_response, deserialized, {}) # type: ignore
2721
+ return deserialized
2722
+
2723
+ if polling is True:
2724
+ polling_method: PollingMethod = cast(
2725
+ PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs)
2726
+ )
2727
+ elif polling is False:
2728
+ polling_method = cast(PollingMethod, NoPolling())
2729
+ else:
2730
+ polling_method = polling
2731
+ if cont_token:
2732
+ return LROPoller[_models.BlobRestoreStatus].from_continuation_token(
2733
+ polling_method=polling_method,
2734
+ continuation_token=cont_token,
2735
+ client=self._client,
2736
+ deserialization_callback=get_long_running_output,
2737
+ )
2738
+ return LROPoller[_models.BlobRestoreStatus](
2739
+ self._client, raw_result, get_long_running_output, polling_method # type: ignore
2740
+ )
2741
+
2742
+ @distributed_trace
2743
+ def revoke_user_delegation_keys( # pylint: disable=inconsistent-return-statements
2744
+ self, resource_group_name: str, account_name: str, **kwargs: Any
2745
+ ) -> None:
2746
+ """Revoke user delegation keys.
2747
+
2748
+ :param resource_group_name: The name of the resource group within the user's subscription. The
2749
+ name is case insensitive. Required.
2750
+ :type resource_group_name: str
2751
+ :param account_name: The name of the storage account within the specified resource group.
2752
+ Storage account names must be between 3 and 24 characters in length and use numbers and
2753
+ lower-case letters only. Required.
2754
+ :type account_name: str
2755
+ :return: None or the result of cls(response)
2756
+ :rtype: None
2757
+ :raises ~azure.core.exceptions.HttpResponseError:
2758
+ """
2759
+ error_map: MutableMapping[int, Type[HttpResponseError]] = {
2760
+ 401: ClientAuthenticationError,
2761
+ 404: ResourceNotFoundError,
2762
+ 409: ResourceExistsError,
2763
+ 304: ResourceNotModifiedError,
2764
+ }
2765
+ error_map.update(kwargs.pop("error_map", {}) or {})
2766
+
2767
+ _headers = kwargs.pop("headers", {}) or {}
2768
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
2769
+
2770
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._api_version or "2023-05-01"))
2771
+ cls: ClsType[None] = kwargs.pop("cls", None)
2772
+
2773
+ _request = build_revoke_user_delegation_keys_request(
2774
+ resource_group_name=resource_group_name,
2775
+ account_name=account_name,
2776
+ subscription_id=self._config.subscription_id,
2777
+ api_version=api_version,
2778
+ headers=_headers,
2779
+ params=_params,
2780
+ )
2781
+ _request = _convert_request(_request)
2782
+ _request.url = self._client.format_url(_request.url)
2783
+
2784
+ _stream = False
2785
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
2786
+ _request, stream=_stream, **kwargs
2787
+ )
2788
+
2789
+ response = pipeline_response.http_response
2790
+
2791
+ if response.status_code not in [200]:
2792
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
2793
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
2794
+
2795
+ if cls:
2796
+ return cls(pipeline_response, None, {}) # type: ignore