azure-mgmt-storage 21.1.0b1__py3-none-any.whl → 21.2.0__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 +65 -59
  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.0.dist-info}/METADATA +44 -13
  809. azure_mgmt_storage-21.2.0.dist-info/RECORD +979 -0
  810. {azure_mgmt_storage-21.1.0b1.dist-info → azure_mgmt_storage-21.2.0.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.0.dist-info}/LICENSE +0 -0
  813. {azure_mgmt_storage-21.1.0b1.dist-info → azure_mgmt_storage-21.2.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,2398 @@
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_list_request(
48
+ resource_group_name: str,
49
+ account_name: str,
50
+ subscription_id: str,
51
+ *,
52
+ maxpagesize: Optional[str] = None,
53
+ filter: Optional[str] = None,
54
+ include: Optional[Union[str, _models.ListContainersInclude]] = None,
55
+ **kwargs: Any
56
+ ) -> HttpRequest:
57
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
58
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
59
+
60
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-01-01"))
61
+ accept = _headers.pop("Accept", "application/json")
62
+
63
+ # Construct URL
64
+ _url = kwargs.pop(
65
+ "template_url",
66
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers",
67
+ ) # pylint: disable=line-too-long
68
+ path_format_arguments = {
69
+ "resourceGroupName": _SERIALIZER.url(
70
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1, pattern=r"^[-\w\._\(\)]+$"
71
+ ),
72
+ "accountName": _SERIALIZER.url(
73
+ "account_name", account_name, "str", max_length=24, min_length=3, pattern=r"^[a-z0-9]+$"
74
+ ),
75
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
76
+ }
77
+
78
+ _url: str = _url.format(**path_format_arguments) # type: ignore
79
+
80
+ # Construct parameters
81
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
82
+ if maxpagesize is not None:
83
+ _params["$maxpagesize"] = _SERIALIZER.query("maxpagesize", maxpagesize, "str")
84
+ if filter is not None:
85
+ _params["$filter"] = _SERIALIZER.query("filter", filter, "str")
86
+ if include is not None:
87
+ _params["$include"] = _SERIALIZER.query("include", include, "str")
88
+
89
+ # Construct headers
90
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
91
+
92
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
93
+
94
+
95
+ def build_create_request(
96
+ resource_group_name: str, account_name: str, container_name: str, subscription_id: str, **kwargs: Any
97
+ ) -> HttpRequest:
98
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
99
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
100
+
101
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-01-01"))
102
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
103
+ accept = _headers.pop("Accept", "application/json")
104
+
105
+ # Construct URL
106
+ _url = kwargs.pop(
107
+ "template_url",
108
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}",
109
+ ) # pylint: disable=line-too-long
110
+ path_format_arguments = {
111
+ "resourceGroupName": _SERIALIZER.url(
112
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1, pattern=r"^[-\w\._\(\)]+$"
113
+ ),
114
+ "accountName": _SERIALIZER.url(
115
+ "account_name", account_name, "str", max_length=24, min_length=3, pattern=r"^[a-z0-9]+$"
116
+ ),
117
+ "containerName": _SERIALIZER.url("container_name", container_name, "str", max_length=63, min_length=3),
118
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
119
+ }
120
+
121
+ _url: str = _url.format(**path_format_arguments) # type: ignore
122
+
123
+ # Construct parameters
124
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
125
+
126
+ # Construct headers
127
+ if content_type is not None:
128
+ _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
129
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
130
+
131
+ return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs)
132
+
133
+
134
+ def build_update_request(
135
+ resource_group_name: str, account_name: str, container_name: str, subscription_id: str, **kwargs: Any
136
+ ) -> HttpRequest:
137
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
138
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
139
+
140
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-01-01"))
141
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
142
+ accept = _headers.pop("Accept", "application/json")
143
+
144
+ # Construct URL
145
+ _url = kwargs.pop(
146
+ "template_url",
147
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}",
148
+ ) # pylint: disable=line-too-long
149
+ path_format_arguments = {
150
+ "resourceGroupName": _SERIALIZER.url(
151
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1, pattern=r"^[-\w\._\(\)]+$"
152
+ ),
153
+ "accountName": _SERIALIZER.url(
154
+ "account_name", account_name, "str", max_length=24, min_length=3, pattern=r"^[a-z0-9]+$"
155
+ ),
156
+ "containerName": _SERIALIZER.url("container_name", container_name, "str", max_length=63, min_length=3),
157
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
158
+ }
159
+
160
+ _url: str = _url.format(**path_format_arguments) # type: ignore
161
+
162
+ # Construct parameters
163
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
164
+
165
+ # Construct headers
166
+ if content_type is not None:
167
+ _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
168
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
169
+
170
+ return HttpRequest(method="PATCH", url=_url, params=_params, headers=_headers, **kwargs)
171
+
172
+
173
+ def build_get_request(
174
+ resource_group_name: str, account_name: str, container_name: str, subscription_id: str, **kwargs: Any
175
+ ) -> HttpRequest:
176
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
177
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
178
+
179
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-01-01"))
180
+ accept = _headers.pop("Accept", "application/json")
181
+
182
+ # Construct URL
183
+ _url = kwargs.pop(
184
+ "template_url",
185
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}",
186
+ ) # pylint: disable=line-too-long
187
+ path_format_arguments = {
188
+ "resourceGroupName": _SERIALIZER.url(
189
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1, pattern=r"^[-\w\._\(\)]+$"
190
+ ),
191
+ "accountName": _SERIALIZER.url(
192
+ "account_name", account_name, "str", max_length=24, min_length=3, pattern=r"^[a-z0-9]+$"
193
+ ),
194
+ "containerName": _SERIALIZER.url("container_name", container_name, "str", max_length=63, min_length=3),
195
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
196
+ }
197
+
198
+ _url: str = _url.format(**path_format_arguments) # type: ignore
199
+
200
+ # Construct parameters
201
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
202
+
203
+ # Construct headers
204
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
205
+
206
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
207
+
208
+
209
+ def build_delete_request(
210
+ resource_group_name: str, account_name: str, container_name: str, subscription_id: str, **kwargs: Any
211
+ ) -> HttpRequest:
212
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
213
+
214
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-01-01"))
215
+ # Construct URL
216
+ _url = kwargs.pop(
217
+ "template_url",
218
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}",
219
+ ) # pylint: disable=line-too-long
220
+ path_format_arguments = {
221
+ "resourceGroupName": _SERIALIZER.url(
222
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1, pattern=r"^[-\w\._\(\)]+$"
223
+ ),
224
+ "accountName": _SERIALIZER.url(
225
+ "account_name", account_name, "str", max_length=24, min_length=3, pattern=r"^[a-z0-9]+$"
226
+ ),
227
+ "containerName": _SERIALIZER.url("container_name", container_name, "str", max_length=63, min_length=3),
228
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
229
+ }
230
+
231
+ _url: str = _url.format(**path_format_arguments) # type: ignore
232
+
233
+ # Construct parameters
234
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
235
+
236
+ return HttpRequest(method="DELETE", url=_url, params=_params, **kwargs)
237
+
238
+
239
+ def build_set_legal_hold_request(
240
+ resource_group_name: str, account_name: str, container_name: str, subscription_id: str, **kwargs: Any
241
+ ) -> HttpRequest:
242
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
243
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
244
+
245
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-01-01"))
246
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
247
+ accept = _headers.pop("Accept", "application/json")
248
+
249
+ # Construct URL
250
+ _url = kwargs.pop(
251
+ "template_url",
252
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/setLegalHold",
253
+ ) # pylint: disable=line-too-long
254
+ path_format_arguments = {
255
+ "resourceGroupName": _SERIALIZER.url(
256
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1, pattern=r"^[-\w\._\(\)]+$"
257
+ ),
258
+ "accountName": _SERIALIZER.url(
259
+ "account_name", account_name, "str", max_length=24, min_length=3, pattern=r"^[a-z0-9]+$"
260
+ ),
261
+ "containerName": _SERIALIZER.url("container_name", container_name, "str", max_length=63, min_length=3),
262
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
263
+ }
264
+
265
+ _url: str = _url.format(**path_format_arguments) # type: ignore
266
+
267
+ # Construct parameters
268
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
269
+
270
+ # Construct headers
271
+ if content_type is not None:
272
+ _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
273
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
274
+
275
+ return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs)
276
+
277
+
278
+ def build_clear_legal_hold_request(
279
+ resource_group_name: str, account_name: str, container_name: str, subscription_id: str, **kwargs: Any
280
+ ) -> HttpRequest:
281
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
282
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
283
+
284
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-01-01"))
285
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
286
+ accept = _headers.pop("Accept", "application/json")
287
+
288
+ # Construct URL
289
+ _url = kwargs.pop(
290
+ "template_url",
291
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/clearLegalHold",
292
+ ) # pylint: disable=line-too-long
293
+ path_format_arguments = {
294
+ "resourceGroupName": _SERIALIZER.url(
295
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1, pattern=r"^[-\w\._\(\)]+$"
296
+ ),
297
+ "accountName": _SERIALIZER.url(
298
+ "account_name", account_name, "str", max_length=24, min_length=3, pattern=r"^[a-z0-9]+$"
299
+ ),
300
+ "containerName": _SERIALIZER.url("container_name", container_name, "str", max_length=63, min_length=3),
301
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
302
+ }
303
+
304
+ _url: str = _url.format(**path_format_arguments) # type: ignore
305
+
306
+ # Construct parameters
307
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
308
+
309
+ # Construct headers
310
+ if content_type is not None:
311
+ _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
312
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
313
+
314
+ return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs)
315
+
316
+
317
+ def build_create_or_update_immutability_policy_request( # pylint: disable=name-too-long
318
+ resource_group_name: str,
319
+ account_name: str,
320
+ container_name: str,
321
+ subscription_id: str,
322
+ *,
323
+ if_match: Optional[str] = None,
324
+ **kwargs: Any
325
+ ) -> HttpRequest:
326
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
327
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
328
+
329
+ immutability_policy_name: Literal["default"] = kwargs.pop("immutability_policy_name", "default")
330
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-01-01"))
331
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
332
+ accept = _headers.pop("Accept", "application/json")
333
+
334
+ # Construct URL
335
+ _url = kwargs.pop(
336
+ "template_url",
337
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/{immutabilityPolicyName}",
338
+ ) # pylint: disable=line-too-long
339
+ path_format_arguments = {
340
+ "resourceGroupName": _SERIALIZER.url(
341
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1, pattern=r"^[-\w\._\(\)]+$"
342
+ ),
343
+ "accountName": _SERIALIZER.url(
344
+ "account_name", account_name, "str", max_length=24, min_length=3, pattern=r"^[a-z0-9]+$"
345
+ ),
346
+ "containerName": _SERIALIZER.url("container_name", container_name, "str", max_length=63, min_length=3),
347
+ "immutabilityPolicyName": _SERIALIZER.url("immutability_policy_name", immutability_policy_name, "str"),
348
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
349
+ }
350
+
351
+ _url: str = _url.format(**path_format_arguments) # type: ignore
352
+
353
+ # Construct parameters
354
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
355
+
356
+ # Construct headers
357
+ if if_match is not None:
358
+ _headers["If-Match"] = _SERIALIZER.header("if_match", if_match, "str")
359
+ if content_type is not None:
360
+ _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
361
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
362
+
363
+ return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs)
364
+
365
+
366
+ def build_get_immutability_policy_request(
367
+ resource_group_name: str,
368
+ account_name: str,
369
+ container_name: str,
370
+ subscription_id: str,
371
+ *,
372
+ if_match: Optional[str] = None,
373
+ **kwargs: Any
374
+ ) -> HttpRequest:
375
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
376
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
377
+
378
+ immutability_policy_name: Literal["default"] = kwargs.pop("immutability_policy_name", "default")
379
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-01-01"))
380
+ accept = _headers.pop("Accept", "application/json")
381
+
382
+ # Construct URL
383
+ _url = kwargs.pop(
384
+ "template_url",
385
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/{immutabilityPolicyName}",
386
+ ) # pylint: disable=line-too-long
387
+ path_format_arguments = {
388
+ "resourceGroupName": _SERIALIZER.url(
389
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1, pattern=r"^[-\w\._\(\)]+$"
390
+ ),
391
+ "accountName": _SERIALIZER.url(
392
+ "account_name", account_name, "str", max_length=24, min_length=3, pattern=r"^[a-z0-9]+$"
393
+ ),
394
+ "containerName": _SERIALIZER.url("container_name", container_name, "str", max_length=63, min_length=3),
395
+ "immutabilityPolicyName": _SERIALIZER.url("immutability_policy_name", immutability_policy_name, "str"),
396
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
397
+ }
398
+
399
+ _url: str = _url.format(**path_format_arguments) # type: ignore
400
+
401
+ # Construct parameters
402
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
403
+
404
+ # Construct headers
405
+ if if_match is not None:
406
+ _headers["If-Match"] = _SERIALIZER.header("if_match", if_match, "str")
407
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
408
+
409
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
410
+
411
+
412
+ def build_delete_immutability_policy_request(
413
+ resource_group_name: str,
414
+ account_name: str,
415
+ container_name: str,
416
+ subscription_id: str,
417
+ *,
418
+ if_match: str,
419
+ **kwargs: Any
420
+ ) -> HttpRequest:
421
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
422
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
423
+
424
+ immutability_policy_name: Literal["default"] = kwargs.pop("immutability_policy_name", "default")
425
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-01-01"))
426
+ accept = _headers.pop("Accept", "application/json")
427
+
428
+ # Construct URL
429
+ _url = kwargs.pop(
430
+ "template_url",
431
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/{immutabilityPolicyName}",
432
+ ) # pylint: disable=line-too-long
433
+ path_format_arguments = {
434
+ "resourceGroupName": _SERIALIZER.url(
435
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1, pattern=r"^[-\w\._\(\)]+$"
436
+ ),
437
+ "accountName": _SERIALIZER.url(
438
+ "account_name", account_name, "str", max_length=24, min_length=3, pattern=r"^[a-z0-9]+$"
439
+ ),
440
+ "containerName": _SERIALIZER.url("container_name", container_name, "str", max_length=63, min_length=3),
441
+ "immutabilityPolicyName": _SERIALIZER.url("immutability_policy_name", immutability_policy_name, "str"),
442
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
443
+ }
444
+
445
+ _url: str = _url.format(**path_format_arguments) # type: ignore
446
+
447
+ # Construct parameters
448
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
449
+
450
+ # Construct headers
451
+ _headers["If-Match"] = _SERIALIZER.header("if_match", if_match, "str")
452
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
453
+
454
+ return HttpRequest(method="DELETE", url=_url, params=_params, headers=_headers, **kwargs)
455
+
456
+
457
+ def build_lock_immutability_policy_request(
458
+ resource_group_name: str,
459
+ account_name: str,
460
+ container_name: str,
461
+ subscription_id: str,
462
+ *,
463
+ if_match: str,
464
+ **kwargs: Any
465
+ ) -> HttpRequest:
466
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
467
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
468
+
469
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-01-01"))
470
+ accept = _headers.pop("Accept", "application/json")
471
+
472
+ # Construct URL
473
+ _url = kwargs.pop(
474
+ "template_url",
475
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/default/lock",
476
+ ) # pylint: disable=line-too-long
477
+ path_format_arguments = {
478
+ "resourceGroupName": _SERIALIZER.url(
479
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1, pattern=r"^[-\w\._\(\)]+$"
480
+ ),
481
+ "accountName": _SERIALIZER.url(
482
+ "account_name", account_name, "str", max_length=24, min_length=3, pattern=r"^[a-z0-9]+$"
483
+ ),
484
+ "containerName": _SERIALIZER.url("container_name", container_name, "str", max_length=63, min_length=3),
485
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
486
+ }
487
+
488
+ _url: str = _url.format(**path_format_arguments) # type: ignore
489
+
490
+ # Construct parameters
491
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
492
+
493
+ # Construct headers
494
+ _headers["If-Match"] = _SERIALIZER.header("if_match", if_match, "str")
495
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
496
+
497
+ return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs)
498
+
499
+
500
+ def build_extend_immutability_policy_request(
501
+ resource_group_name: str,
502
+ account_name: str,
503
+ container_name: str,
504
+ subscription_id: str,
505
+ *,
506
+ if_match: str,
507
+ **kwargs: Any
508
+ ) -> HttpRequest:
509
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
510
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
511
+
512
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-01-01"))
513
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
514
+ accept = _headers.pop("Accept", "application/json")
515
+
516
+ # Construct URL
517
+ _url = kwargs.pop(
518
+ "template_url",
519
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/default/extend",
520
+ ) # pylint: disable=line-too-long
521
+ path_format_arguments = {
522
+ "resourceGroupName": _SERIALIZER.url(
523
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1, pattern=r"^[-\w\._\(\)]+$"
524
+ ),
525
+ "accountName": _SERIALIZER.url(
526
+ "account_name", account_name, "str", max_length=24, min_length=3, pattern=r"^[a-z0-9]+$"
527
+ ),
528
+ "containerName": _SERIALIZER.url("container_name", container_name, "str", max_length=63, min_length=3),
529
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
530
+ }
531
+
532
+ _url: str = _url.format(**path_format_arguments) # type: ignore
533
+
534
+ # Construct parameters
535
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
536
+
537
+ # Construct headers
538
+ _headers["If-Match"] = _SERIALIZER.header("if_match", if_match, "str")
539
+ if content_type is not None:
540
+ _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
541
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
542
+
543
+ return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs)
544
+
545
+
546
+ def build_lease_request(
547
+ resource_group_name: str, account_name: str, container_name: str, subscription_id: str, **kwargs: Any
548
+ ) -> HttpRequest:
549
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
550
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
551
+
552
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-01-01"))
553
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
554
+ accept = _headers.pop("Accept", "application/json")
555
+
556
+ # Construct URL
557
+ _url = kwargs.pop(
558
+ "template_url",
559
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/lease",
560
+ ) # pylint: disable=line-too-long
561
+ path_format_arguments = {
562
+ "resourceGroupName": _SERIALIZER.url(
563
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1, pattern=r"^[-\w\._\(\)]+$"
564
+ ),
565
+ "accountName": _SERIALIZER.url(
566
+ "account_name", account_name, "str", max_length=24, min_length=3, pattern=r"^[a-z0-9]+$"
567
+ ),
568
+ "containerName": _SERIALIZER.url("container_name", container_name, "str", max_length=63, min_length=3),
569
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
570
+ }
571
+
572
+ _url: str = _url.format(**path_format_arguments) # type: ignore
573
+
574
+ # Construct parameters
575
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
576
+
577
+ # Construct headers
578
+ if content_type is not None:
579
+ _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
580
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
581
+
582
+ return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs)
583
+
584
+
585
+ def build_object_level_worm_request(
586
+ resource_group_name: str, account_name: str, container_name: str, subscription_id: str, **kwargs: Any
587
+ ) -> HttpRequest:
588
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
589
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
590
+
591
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-01-01"))
592
+ accept = _headers.pop("Accept", "application/json")
593
+
594
+ # Construct URL
595
+ _url = kwargs.pop(
596
+ "template_url",
597
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/migrate",
598
+ ) # pylint: disable=line-too-long
599
+ path_format_arguments = {
600
+ "resourceGroupName": _SERIALIZER.url(
601
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1, pattern=r"^[-\w\._\(\)]+$"
602
+ ),
603
+ "accountName": _SERIALIZER.url(
604
+ "account_name", account_name, "str", max_length=24, min_length=3, pattern=r"^[a-z0-9]+$"
605
+ ),
606
+ "containerName": _SERIALIZER.url("container_name", container_name, "str", max_length=63, min_length=3),
607
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
608
+ }
609
+
610
+ _url: str = _url.format(**path_format_arguments) # type: ignore
611
+
612
+ # Construct parameters
613
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
614
+
615
+ # Construct headers
616
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
617
+
618
+ return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs)
619
+
620
+
621
+ class BlobContainersOperations:
622
+ """
623
+ .. warning::
624
+ **DO NOT** instantiate this class directly.
625
+
626
+ Instead, you should access the following operations through
627
+ :class:`~azure.mgmt.storage.v2023_01_01.StorageManagementClient`'s
628
+ :attr:`blob_containers` attribute.
629
+ """
630
+
631
+ models = _models
632
+
633
+ def __init__(self, *args, **kwargs):
634
+ input_args = list(args)
635
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
636
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
637
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
638
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
639
+ self._api_version = input_args.pop(0) if input_args else kwargs.pop("api_version")
640
+
641
+ @distributed_trace
642
+ def list(
643
+ self,
644
+ resource_group_name: str,
645
+ account_name: str,
646
+ maxpagesize: Optional[str] = None,
647
+ filter: Optional[str] = None,
648
+ include: Optional[Union[str, _models.ListContainersInclude]] = None,
649
+ **kwargs: Any
650
+ ) -> Iterable["_models.ListContainerItem"]:
651
+ """Lists all containers and does not support a prefix like data plane. Also SRP today does not
652
+ return continuation token.
653
+
654
+ :param resource_group_name: The name of the resource group within the user's subscription. The
655
+ name is case insensitive. Required.
656
+ :type resource_group_name: str
657
+ :param account_name: The name of the storage account within the specified resource group.
658
+ Storage account names must be between 3 and 24 characters in length and use numbers and
659
+ lower-case letters only. Required.
660
+ :type account_name: str
661
+ :param maxpagesize: Optional. Specified maximum number of containers that can be included in
662
+ the list. Default value is None.
663
+ :type maxpagesize: str
664
+ :param filter: Optional. When specified, only container names starting with the filter will be
665
+ listed. Default value is None.
666
+ :type filter: str
667
+ :param include: Optional, used to include the properties for soft deleted blob containers.
668
+ "deleted" Default value is None.
669
+ :type include: str or ~azure.mgmt.storage.v2023_01_01.models.ListContainersInclude
670
+ :return: An iterator like instance of either ListContainerItem or the result of cls(response)
671
+ :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.storage.v2023_01_01.models.ListContainerItem]
672
+ :raises ~azure.core.exceptions.HttpResponseError:
673
+ """
674
+ _headers = kwargs.pop("headers", {}) or {}
675
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
676
+
677
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._api_version or "2023-01-01"))
678
+ cls: ClsType[_models.ListContainerItems] = kwargs.pop("cls", None)
679
+
680
+ error_map: MutableMapping[int, Type[HttpResponseError]] = {
681
+ 401: ClientAuthenticationError,
682
+ 404: ResourceNotFoundError,
683
+ 409: ResourceExistsError,
684
+ 304: ResourceNotModifiedError,
685
+ }
686
+ error_map.update(kwargs.pop("error_map", {}) or {})
687
+
688
+ def prepare_request(next_link=None):
689
+ if not next_link:
690
+
691
+ _request = build_list_request(
692
+ resource_group_name=resource_group_name,
693
+ account_name=account_name,
694
+ subscription_id=self._config.subscription_id,
695
+ maxpagesize=maxpagesize,
696
+ filter=filter,
697
+ include=include,
698
+ api_version=api_version,
699
+ headers=_headers,
700
+ params=_params,
701
+ )
702
+ _request = _convert_request(_request)
703
+ _request.url = self._client.format_url(_request.url)
704
+
705
+ else:
706
+ # make call to next link with the client's api-version
707
+ _parsed_next_link = urllib.parse.urlparse(next_link)
708
+ _next_request_params = case_insensitive_dict(
709
+ {
710
+ key: [urllib.parse.quote(v) for v in value]
711
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
712
+ }
713
+ )
714
+ _next_request_params["api-version"] = self._api_version
715
+ _request = HttpRequest(
716
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
717
+ )
718
+ _request = _convert_request(_request)
719
+ _request.url = self._client.format_url(_request.url)
720
+ _request.method = "GET"
721
+ return _request
722
+
723
+ def extract_data(pipeline_response):
724
+ deserialized = self._deserialize("ListContainerItems", pipeline_response)
725
+ list_of_elem = deserialized.value
726
+ if cls:
727
+ list_of_elem = cls(list_of_elem) # type: ignore
728
+ return deserialized.next_link or None, iter(list_of_elem)
729
+
730
+ def get_next(next_link=None):
731
+ _request = prepare_request(next_link)
732
+
733
+ _stream = False
734
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
735
+ _request, stream=_stream, **kwargs
736
+ )
737
+ response = pipeline_response.http_response
738
+
739
+ if response.status_code not in [200]:
740
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
741
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
742
+
743
+ return pipeline_response
744
+
745
+ return ItemPaged(get_next, extract_data)
746
+
747
+ @overload
748
+ def create(
749
+ self,
750
+ resource_group_name: str,
751
+ account_name: str,
752
+ container_name: str,
753
+ blob_container: _models.BlobContainer,
754
+ *,
755
+ content_type: str = "application/json",
756
+ **kwargs: Any
757
+ ) -> _models.BlobContainer:
758
+ """Creates a new container under the specified account as described by request body. The container
759
+ resource includes metadata and properties for that container. It does not include a list of the
760
+ blobs contained by the container.
761
+
762
+ :param resource_group_name: The name of the resource group within the user's subscription. The
763
+ name is case insensitive. Required.
764
+ :type resource_group_name: str
765
+ :param account_name: The name of the storage account within the specified resource group.
766
+ Storage account names must be between 3 and 24 characters in length and use numbers and
767
+ lower-case letters only. Required.
768
+ :type account_name: str
769
+ :param container_name: The name of the blob container within the specified storage account.
770
+ Blob container names must be between 3 and 63 characters in length and use numbers, lower-case
771
+ letters and dash (-) only. Every dash (-) character must be immediately preceded and followed
772
+ by a letter or number. Required.
773
+ :type container_name: str
774
+ :param blob_container: Properties of the blob container to create. Required.
775
+ :type blob_container: ~azure.mgmt.storage.v2023_01_01.models.BlobContainer
776
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
777
+ Default value is "application/json".
778
+ :paramtype content_type: str
779
+ :return: BlobContainer or the result of cls(response)
780
+ :rtype: ~azure.mgmt.storage.v2023_01_01.models.BlobContainer
781
+ :raises ~azure.core.exceptions.HttpResponseError:
782
+ """
783
+
784
+ @overload
785
+ def create(
786
+ self,
787
+ resource_group_name: str,
788
+ account_name: str,
789
+ container_name: str,
790
+ blob_container: IO[bytes],
791
+ *,
792
+ content_type: str = "application/json",
793
+ **kwargs: Any
794
+ ) -> _models.BlobContainer:
795
+ """Creates a new container under the specified account as described by request body. The container
796
+ resource includes metadata and properties for that container. It does not include a list of the
797
+ blobs contained by the container.
798
+
799
+ :param resource_group_name: The name of the resource group within the user's subscription. The
800
+ name is case insensitive. Required.
801
+ :type resource_group_name: str
802
+ :param account_name: The name of the storage account within the specified resource group.
803
+ Storage account names must be between 3 and 24 characters in length and use numbers and
804
+ lower-case letters only. Required.
805
+ :type account_name: str
806
+ :param container_name: The name of the blob container within the specified storage account.
807
+ Blob container names must be between 3 and 63 characters in length and use numbers, lower-case
808
+ letters and dash (-) only. Every dash (-) character must be immediately preceded and followed
809
+ by a letter or number. Required.
810
+ :type container_name: str
811
+ :param blob_container: Properties of the blob container to create. Required.
812
+ :type blob_container: IO[bytes]
813
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
814
+ Default value is "application/json".
815
+ :paramtype content_type: str
816
+ :return: BlobContainer or the result of cls(response)
817
+ :rtype: ~azure.mgmt.storage.v2023_01_01.models.BlobContainer
818
+ :raises ~azure.core.exceptions.HttpResponseError:
819
+ """
820
+
821
+ @distributed_trace
822
+ def create(
823
+ self,
824
+ resource_group_name: str,
825
+ account_name: str,
826
+ container_name: str,
827
+ blob_container: Union[_models.BlobContainer, IO[bytes]],
828
+ **kwargs: Any
829
+ ) -> _models.BlobContainer:
830
+ """Creates a new container under the specified account as described by request body. The container
831
+ resource includes metadata and properties for that container. It does not include a list of the
832
+ blobs contained by the container.
833
+
834
+ :param resource_group_name: The name of the resource group within the user's subscription. The
835
+ name is case insensitive. Required.
836
+ :type resource_group_name: str
837
+ :param account_name: The name of the storage account within the specified resource group.
838
+ Storage account names must be between 3 and 24 characters in length and use numbers and
839
+ lower-case letters only. Required.
840
+ :type account_name: str
841
+ :param container_name: The name of the blob container within the specified storage account.
842
+ Blob container names must be between 3 and 63 characters in length and use numbers, lower-case
843
+ letters and dash (-) only. Every dash (-) character must be immediately preceded and followed
844
+ by a letter or number. Required.
845
+ :type container_name: str
846
+ :param blob_container: Properties of the blob container to create. Is either a BlobContainer
847
+ type or a IO[bytes] type. Required.
848
+ :type blob_container: ~azure.mgmt.storage.v2023_01_01.models.BlobContainer or IO[bytes]
849
+ :return: BlobContainer or the result of cls(response)
850
+ :rtype: ~azure.mgmt.storage.v2023_01_01.models.BlobContainer
851
+ :raises ~azure.core.exceptions.HttpResponseError:
852
+ """
853
+ error_map: MutableMapping[int, Type[HttpResponseError]] = {
854
+ 401: ClientAuthenticationError,
855
+ 404: ResourceNotFoundError,
856
+ 409: ResourceExistsError,
857
+ 304: ResourceNotModifiedError,
858
+ }
859
+ error_map.update(kwargs.pop("error_map", {}) or {})
860
+
861
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
862
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
863
+
864
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._api_version or "2023-01-01"))
865
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
866
+ cls: ClsType[_models.BlobContainer] = kwargs.pop("cls", None)
867
+
868
+ content_type = content_type or "application/json"
869
+ _json = None
870
+ _content = None
871
+ if isinstance(blob_container, (IOBase, bytes)):
872
+ _content = blob_container
873
+ else:
874
+ _json = self._serialize.body(blob_container, "BlobContainer")
875
+
876
+ _request = build_create_request(
877
+ resource_group_name=resource_group_name,
878
+ account_name=account_name,
879
+ container_name=container_name,
880
+ subscription_id=self._config.subscription_id,
881
+ api_version=api_version,
882
+ content_type=content_type,
883
+ json=_json,
884
+ content=_content,
885
+ headers=_headers,
886
+ params=_params,
887
+ )
888
+ _request = _convert_request(_request)
889
+ _request.url = self._client.format_url(_request.url)
890
+
891
+ _stream = False
892
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
893
+ _request, stream=_stream, **kwargs
894
+ )
895
+
896
+ response = pipeline_response.http_response
897
+
898
+ if response.status_code not in [200, 201]:
899
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
900
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
901
+
902
+ if response.status_code == 200:
903
+ deserialized = self._deserialize("BlobContainer", pipeline_response)
904
+
905
+ if response.status_code == 201:
906
+ deserialized = self._deserialize("BlobContainer", pipeline_response)
907
+
908
+ if cls:
909
+ return cls(pipeline_response, deserialized, {}) # type: ignore
910
+
911
+ return deserialized # type: ignore
912
+
913
+ @overload
914
+ def update(
915
+ self,
916
+ resource_group_name: str,
917
+ account_name: str,
918
+ container_name: str,
919
+ blob_container: _models.BlobContainer,
920
+ *,
921
+ content_type: str = "application/json",
922
+ **kwargs: Any
923
+ ) -> _models.BlobContainer:
924
+ """Updates container properties as specified in request body. Properties not mentioned in the
925
+ request will be unchanged. Update fails if the specified container doesn't already exist.
926
+
927
+ :param resource_group_name: The name of the resource group within the user's subscription. The
928
+ name is case insensitive. Required.
929
+ :type resource_group_name: str
930
+ :param account_name: The name of the storage account within the specified resource group.
931
+ Storage account names must be between 3 and 24 characters in length and use numbers and
932
+ lower-case letters only. Required.
933
+ :type account_name: str
934
+ :param container_name: The name of the blob container within the specified storage account.
935
+ Blob container names must be between 3 and 63 characters in length and use numbers, lower-case
936
+ letters and dash (-) only. Every dash (-) character must be immediately preceded and followed
937
+ by a letter or number. Required.
938
+ :type container_name: str
939
+ :param blob_container: Properties to update for the blob container. Required.
940
+ :type blob_container: ~azure.mgmt.storage.v2023_01_01.models.BlobContainer
941
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
942
+ Default value is "application/json".
943
+ :paramtype content_type: str
944
+ :return: BlobContainer or the result of cls(response)
945
+ :rtype: ~azure.mgmt.storage.v2023_01_01.models.BlobContainer
946
+ :raises ~azure.core.exceptions.HttpResponseError:
947
+ """
948
+
949
+ @overload
950
+ def update(
951
+ self,
952
+ resource_group_name: str,
953
+ account_name: str,
954
+ container_name: str,
955
+ blob_container: IO[bytes],
956
+ *,
957
+ content_type: str = "application/json",
958
+ **kwargs: Any
959
+ ) -> _models.BlobContainer:
960
+ """Updates container properties as specified in request body. Properties not mentioned in the
961
+ request will be unchanged. Update fails if the specified container doesn't already exist.
962
+
963
+ :param resource_group_name: The name of the resource group within the user's subscription. The
964
+ name is case insensitive. Required.
965
+ :type resource_group_name: str
966
+ :param account_name: The name of the storage account within the specified resource group.
967
+ Storage account names must be between 3 and 24 characters in length and use numbers and
968
+ lower-case letters only. Required.
969
+ :type account_name: str
970
+ :param container_name: The name of the blob container within the specified storage account.
971
+ Blob container names must be between 3 and 63 characters in length and use numbers, lower-case
972
+ letters and dash (-) only. Every dash (-) character must be immediately preceded and followed
973
+ by a letter or number. Required.
974
+ :type container_name: str
975
+ :param blob_container: Properties to update for the blob container. Required.
976
+ :type blob_container: IO[bytes]
977
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
978
+ Default value is "application/json".
979
+ :paramtype content_type: str
980
+ :return: BlobContainer or the result of cls(response)
981
+ :rtype: ~azure.mgmt.storage.v2023_01_01.models.BlobContainer
982
+ :raises ~azure.core.exceptions.HttpResponseError:
983
+ """
984
+
985
+ @distributed_trace
986
+ def update(
987
+ self,
988
+ resource_group_name: str,
989
+ account_name: str,
990
+ container_name: str,
991
+ blob_container: Union[_models.BlobContainer, IO[bytes]],
992
+ **kwargs: Any
993
+ ) -> _models.BlobContainer:
994
+ """Updates container properties as specified in request body. Properties not mentioned in the
995
+ request will be unchanged. Update fails if the specified container doesn't already exist.
996
+
997
+ :param resource_group_name: The name of the resource group within the user's subscription. The
998
+ name is case insensitive. Required.
999
+ :type resource_group_name: str
1000
+ :param account_name: The name of the storage account within the specified resource group.
1001
+ Storage account names must be between 3 and 24 characters in length and use numbers and
1002
+ lower-case letters only. Required.
1003
+ :type account_name: str
1004
+ :param container_name: The name of the blob container within the specified storage account.
1005
+ Blob container names must be between 3 and 63 characters in length and use numbers, lower-case
1006
+ letters and dash (-) only. Every dash (-) character must be immediately preceded and followed
1007
+ by a letter or number. Required.
1008
+ :type container_name: str
1009
+ :param blob_container: Properties to update for the blob container. Is either a BlobContainer
1010
+ type or a IO[bytes] type. Required.
1011
+ :type blob_container: ~azure.mgmt.storage.v2023_01_01.models.BlobContainer or IO[bytes]
1012
+ :return: BlobContainer or the result of cls(response)
1013
+ :rtype: ~azure.mgmt.storage.v2023_01_01.models.BlobContainer
1014
+ :raises ~azure.core.exceptions.HttpResponseError:
1015
+ """
1016
+ error_map: MutableMapping[int, Type[HttpResponseError]] = {
1017
+ 401: ClientAuthenticationError,
1018
+ 404: ResourceNotFoundError,
1019
+ 409: ResourceExistsError,
1020
+ 304: ResourceNotModifiedError,
1021
+ }
1022
+ error_map.update(kwargs.pop("error_map", {}) or {})
1023
+
1024
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
1025
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
1026
+
1027
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._api_version or "2023-01-01"))
1028
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
1029
+ cls: ClsType[_models.BlobContainer] = kwargs.pop("cls", None)
1030
+
1031
+ content_type = content_type or "application/json"
1032
+ _json = None
1033
+ _content = None
1034
+ if isinstance(blob_container, (IOBase, bytes)):
1035
+ _content = blob_container
1036
+ else:
1037
+ _json = self._serialize.body(blob_container, "BlobContainer")
1038
+
1039
+ _request = build_update_request(
1040
+ resource_group_name=resource_group_name,
1041
+ account_name=account_name,
1042
+ container_name=container_name,
1043
+ subscription_id=self._config.subscription_id,
1044
+ api_version=api_version,
1045
+ content_type=content_type,
1046
+ json=_json,
1047
+ content=_content,
1048
+ headers=_headers,
1049
+ params=_params,
1050
+ )
1051
+ _request = _convert_request(_request)
1052
+ _request.url = self._client.format_url(_request.url)
1053
+
1054
+ _stream = False
1055
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
1056
+ _request, stream=_stream, **kwargs
1057
+ )
1058
+
1059
+ response = pipeline_response.http_response
1060
+
1061
+ if response.status_code not in [200]:
1062
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
1063
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
1064
+
1065
+ deserialized = self._deserialize("BlobContainer", pipeline_response)
1066
+
1067
+ if cls:
1068
+ return cls(pipeline_response, deserialized, {}) # type: ignore
1069
+
1070
+ return deserialized # type: ignore
1071
+
1072
+ @distributed_trace
1073
+ def get(
1074
+ self, resource_group_name: str, account_name: str, container_name: str, **kwargs: Any
1075
+ ) -> _models.BlobContainer:
1076
+ """Gets properties of a specified container.
1077
+
1078
+ :param resource_group_name: The name of the resource group within the user's subscription. The
1079
+ name is case insensitive. Required.
1080
+ :type resource_group_name: str
1081
+ :param account_name: The name of the storage account within the specified resource group.
1082
+ Storage account names must be between 3 and 24 characters in length and use numbers and
1083
+ lower-case letters only. Required.
1084
+ :type account_name: str
1085
+ :param container_name: The name of the blob container within the specified storage account.
1086
+ Blob container names must be between 3 and 63 characters in length and use numbers, lower-case
1087
+ letters and dash (-) only. Every dash (-) character must be immediately preceded and followed
1088
+ by a letter or number. Required.
1089
+ :type container_name: str
1090
+ :return: BlobContainer or the result of cls(response)
1091
+ :rtype: ~azure.mgmt.storage.v2023_01_01.models.BlobContainer
1092
+ :raises ~azure.core.exceptions.HttpResponseError:
1093
+ """
1094
+ error_map: MutableMapping[int, Type[HttpResponseError]] = {
1095
+ 401: ClientAuthenticationError,
1096
+ 404: ResourceNotFoundError,
1097
+ 409: ResourceExistsError,
1098
+ 304: ResourceNotModifiedError,
1099
+ }
1100
+ error_map.update(kwargs.pop("error_map", {}) or {})
1101
+
1102
+ _headers = kwargs.pop("headers", {}) or {}
1103
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
1104
+
1105
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._api_version or "2023-01-01"))
1106
+ cls: ClsType[_models.BlobContainer] = kwargs.pop("cls", None)
1107
+
1108
+ _request = build_get_request(
1109
+ resource_group_name=resource_group_name,
1110
+ account_name=account_name,
1111
+ container_name=container_name,
1112
+ subscription_id=self._config.subscription_id,
1113
+ api_version=api_version,
1114
+ headers=_headers,
1115
+ params=_params,
1116
+ )
1117
+ _request = _convert_request(_request)
1118
+ _request.url = self._client.format_url(_request.url)
1119
+
1120
+ _stream = False
1121
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
1122
+ _request, stream=_stream, **kwargs
1123
+ )
1124
+
1125
+ response = pipeline_response.http_response
1126
+
1127
+ if response.status_code not in [200]:
1128
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
1129
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
1130
+
1131
+ deserialized = self._deserialize("BlobContainer", pipeline_response)
1132
+
1133
+ if cls:
1134
+ return cls(pipeline_response, deserialized, {}) # type: ignore
1135
+
1136
+ return deserialized # type: ignore
1137
+
1138
+ @distributed_trace
1139
+ def delete( # pylint: disable=inconsistent-return-statements
1140
+ self, resource_group_name: str, account_name: str, container_name: str, **kwargs: Any
1141
+ ) -> None:
1142
+ """Deletes specified container under its account.
1143
+
1144
+ :param resource_group_name: The name of the resource group within the user's subscription. The
1145
+ name is case insensitive. Required.
1146
+ :type resource_group_name: str
1147
+ :param account_name: The name of the storage account within the specified resource group.
1148
+ Storage account names must be between 3 and 24 characters in length and use numbers and
1149
+ lower-case letters only. Required.
1150
+ :type account_name: str
1151
+ :param container_name: The name of the blob container within the specified storage account.
1152
+ Blob container names must be between 3 and 63 characters in length and use numbers, lower-case
1153
+ letters and dash (-) only. Every dash (-) character must be immediately preceded and followed
1154
+ by a letter or number. Required.
1155
+ :type container_name: str
1156
+ :return: None or the result of cls(response)
1157
+ :rtype: None
1158
+ :raises ~azure.core.exceptions.HttpResponseError:
1159
+ """
1160
+ error_map: MutableMapping[int, Type[HttpResponseError]] = {
1161
+ 401: ClientAuthenticationError,
1162
+ 404: ResourceNotFoundError,
1163
+ 409: ResourceExistsError,
1164
+ 304: ResourceNotModifiedError,
1165
+ }
1166
+ error_map.update(kwargs.pop("error_map", {}) or {})
1167
+
1168
+ _headers = kwargs.pop("headers", {}) or {}
1169
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
1170
+
1171
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._api_version or "2023-01-01"))
1172
+ cls: ClsType[None] = kwargs.pop("cls", None)
1173
+
1174
+ _request = build_delete_request(
1175
+ resource_group_name=resource_group_name,
1176
+ account_name=account_name,
1177
+ container_name=container_name,
1178
+ subscription_id=self._config.subscription_id,
1179
+ api_version=api_version,
1180
+ headers=_headers,
1181
+ params=_params,
1182
+ )
1183
+ _request = _convert_request(_request)
1184
+ _request.url = self._client.format_url(_request.url)
1185
+
1186
+ _stream = False
1187
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
1188
+ _request, stream=_stream, **kwargs
1189
+ )
1190
+
1191
+ response = pipeline_response.http_response
1192
+
1193
+ if response.status_code not in [200, 204]:
1194
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
1195
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
1196
+
1197
+ if cls:
1198
+ return cls(pipeline_response, None, {}) # type: ignore
1199
+
1200
+ @overload
1201
+ def set_legal_hold(
1202
+ self,
1203
+ resource_group_name: str,
1204
+ account_name: str,
1205
+ container_name: str,
1206
+ legal_hold: _models.LegalHold,
1207
+ *,
1208
+ content_type: str = "application/json",
1209
+ **kwargs: Any
1210
+ ) -> _models.LegalHold:
1211
+ """Sets legal hold tags. Setting the same tag results in an idempotent operation. SetLegalHold
1212
+ follows an append pattern and does not clear out the existing tags that are not specified in
1213
+ the request.
1214
+
1215
+ :param resource_group_name: The name of the resource group within the user's subscription. The
1216
+ name is case insensitive. Required.
1217
+ :type resource_group_name: str
1218
+ :param account_name: The name of the storage account within the specified resource group.
1219
+ Storage account names must be between 3 and 24 characters in length and use numbers and
1220
+ lower-case letters only. Required.
1221
+ :type account_name: str
1222
+ :param container_name: The name of the blob container within the specified storage account.
1223
+ Blob container names must be between 3 and 63 characters in length and use numbers, lower-case
1224
+ letters and dash (-) only. Every dash (-) character must be immediately preceded and followed
1225
+ by a letter or number. Required.
1226
+ :type container_name: str
1227
+ :param legal_hold: The LegalHold property that will be set to a blob container. Required.
1228
+ :type legal_hold: ~azure.mgmt.storage.v2023_01_01.models.LegalHold
1229
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
1230
+ Default value is "application/json".
1231
+ :paramtype content_type: str
1232
+ :return: LegalHold or the result of cls(response)
1233
+ :rtype: ~azure.mgmt.storage.v2023_01_01.models.LegalHold
1234
+ :raises ~azure.core.exceptions.HttpResponseError:
1235
+ """
1236
+
1237
+ @overload
1238
+ def set_legal_hold(
1239
+ self,
1240
+ resource_group_name: str,
1241
+ account_name: str,
1242
+ container_name: str,
1243
+ legal_hold: IO[bytes],
1244
+ *,
1245
+ content_type: str = "application/json",
1246
+ **kwargs: Any
1247
+ ) -> _models.LegalHold:
1248
+ """Sets legal hold tags. Setting the same tag results in an idempotent operation. SetLegalHold
1249
+ follows an append pattern and does not clear out the existing tags that are not specified in
1250
+ the request.
1251
+
1252
+ :param resource_group_name: The name of the resource group within the user's subscription. The
1253
+ name is case insensitive. Required.
1254
+ :type resource_group_name: str
1255
+ :param account_name: The name of the storage account within the specified resource group.
1256
+ Storage account names must be between 3 and 24 characters in length and use numbers and
1257
+ lower-case letters only. Required.
1258
+ :type account_name: str
1259
+ :param container_name: The name of the blob container within the specified storage account.
1260
+ Blob container names must be between 3 and 63 characters in length and use numbers, lower-case
1261
+ letters and dash (-) only. Every dash (-) character must be immediately preceded and followed
1262
+ by a letter or number. Required.
1263
+ :type container_name: str
1264
+ :param legal_hold: The LegalHold property that will be set to a blob container. Required.
1265
+ :type legal_hold: IO[bytes]
1266
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
1267
+ Default value is "application/json".
1268
+ :paramtype content_type: str
1269
+ :return: LegalHold or the result of cls(response)
1270
+ :rtype: ~azure.mgmt.storage.v2023_01_01.models.LegalHold
1271
+ :raises ~azure.core.exceptions.HttpResponseError:
1272
+ """
1273
+
1274
+ @distributed_trace
1275
+ def set_legal_hold(
1276
+ self,
1277
+ resource_group_name: str,
1278
+ account_name: str,
1279
+ container_name: str,
1280
+ legal_hold: Union[_models.LegalHold, IO[bytes]],
1281
+ **kwargs: Any
1282
+ ) -> _models.LegalHold:
1283
+ """Sets legal hold tags. Setting the same tag results in an idempotent operation. SetLegalHold
1284
+ follows an append pattern and does not clear out the existing tags that are not specified in
1285
+ the request.
1286
+
1287
+ :param resource_group_name: The name of the resource group within the user's subscription. The
1288
+ name is case insensitive. Required.
1289
+ :type resource_group_name: str
1290
+ :param account_name: The name of the storage account within the specified resource group.
1291
+ Storage account names must be between 3 and 24 characters in length and use numbers and
1292
+ lower-case letters only. Required.
1293
+ :type account_name: str
1294
+ :param container_name: The name of the blob container within the specified storage account.
1295
+ Blob container names must be between 3 and 63 characters in length and use numbers, lower-case
1296
+ letters and dash (-) only. Every dash (-) character must be immediately preceded and followed
1297
+ by a letter or number. Required.
1298
+ :type container_name: str
1299
+ :param legal_hold: The LegalHold property that will be set to a blob container. Is either a
1300
+ LegalHold type or a IO[bytes] type. Required.
1301
+ :type legal_hold: ~azure.mgmt.storage.v2023_01_01.models.LegalHold or IO[bytes]
1302
+ :return: LegalHold or the result of cls(response)
1303
+ :rtype: ~azure.mgmt.storage.v2023_01_01.models.LegalHold
1304
+ :raises ~azure.core.exceptions.HttpResponseError:
1305
+ """
1306
+ error_map: MutableMapping[int, Type[HttpResponseError]] = {
1307
+ 401: ClientAuthenticationError,
1308
+ 404: ResourceNotFoundError,
1309
+ 409: ResourceExistsError,
1310
+ 304: ResourceNotModifiedError,
1311
+ }
1312
+ error_map.update(kwargs.pop("error_map", {}) or {})
1313
+
1314
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
1315
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
1316
+
1317
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._api_version or "2023-01-01"))
1318
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
1319
+ cls: ClsType[_models.LegalHold] = kwargs.pop("cls", None)
1320
+
1321
+ content_type = content_type or "application/json"
1322
+ _json = None
1323
+ _content = None
1324
+ if isinstance(legal_hold, (IOBase, bytes)):
1325
+ _content = legal_hold
1326
+ else:
1327
+ _json = self._serialize.body(legal_hold, "LegalHold")
1328
+
1329
+ _request = build_set_legal_hold_request(
1330
+ resource_group_name=resource_group_name,
1331
+ account_name=account_name,
1332
+ container_name=container_name,
1333
+ subscription_id=self._config.subscription_id,
1334
+ api_version=api_version,
1335
+ content_type=content_type,
1336
+ json=_json,
1337
+ content=_content,
1338
+ headers=_headers,
1339
+ params=_params,
1340
+ )
1341
+ _request = _convert_request(_request)
1342
+ _request.url = self._client.format_url(_request.url)
1343
+
1344
+ _stream = False
1345
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
1346
+ _request, stream=_stream, **kwargs
1347
+ )
1348
+
1349
+ response = pipeline_response.http_response
1350
+
1351
+ if response.status_code not in [200]:
1352
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
1353
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
1354
+
1355
+ deserialized = self._deserialize("LegalHold", pipeline_response)
1356
+
1357
+ if cls:
1358
+ return cls(pipeline_response, deserialized, {}) # type: ignore
1359
+
1360
+ return deserialized # type: ignore
1361
+
1362
+ @overload
1363
+ def clear_legal_hold(
1364
+ self,
1365
+ resource_group_name: str,
1366
+ account_name: str,
1367
+ container_name: str,
1368
+ legal_hold: _models.LegalHold,
1369
+ *,
1370
+ content_type: str = "application/json",
1371
+ **kwargs: Any
1372
+ ) -> _models.LegalHold:
1373
+ """Clears legal hold tags. Clearing the same or non-existent tag results in an idempotent
1374
+ operation. ClearLegalHold clears out only the specified tags in the request.
1375
+
1376
+ :param resource_group_name: The name of the resource group within the user's subscription. The
1377
+ name is case insensitive. Required.
1378
+ :type resource_group_name: str
1379
+ :param account_name: The name of the storage account within the specified resource group.
1380
+ Storage account names must be between 3 and 24 characters in length and use numbers and
1381
+ lower-case letters only. Required.
1382
+ :type account_name: str
1383
+ :param container_name: The name of the blob container within the specified storage account.
1384
+ Blob container names must be between 3 and 63 characters in length and use numbers, lower-case
1385
+ letters and dash (-) only. Every dash (-) character must be immediately preceded and followed
1386
+ by a letter or number. Required.
1387
+ :type container_name: str
1388
+ :param legal_hold: The LegalHold property that will be clear from a blob container. Required.
1389
+ :type legal_hold: ~azure.mgmt.storage.v2023_01_01.models.LegalHold
1390
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
1391
+ Default value is "application/json".
1392
+ :paramtype content_type: str
1393
+ :return: LegalHold or the result of cls(response)
1394
+ :rtype: ~azure.mgmt.storage.v2023_01_01.models.LegalHold
1395
+ :raises ~azure.core.exceptions.HttpResponseError:
1396
+ """
1397
+
1398
+ @overload
1399
+ def clear_legal_hold(
1400
+ self,
1401
+ resource_group_name: str,
1402
+ account_name: str,
1403
+ container_name: str,
1404
+ legal_hold: IO[bytes],
1405
+ *,
1406
+ content_type: str = "application/json",
1407
+ **kwargs: Any
1408
+ ) -> _models.LegalHold:
1409
+ """Clears legal hold tags. Clearing the same or non-existent tag results in an idempotent
1410
+ operation. ClearLegalHold clears out only the specified tags in the request.
1411
+
1412
+ :param resource_group_name: The name of the resource group within the user's subscription. The
1413
+ name is case insensitive. Required.
1414
+ :type resource_group_name: str
1415
+ :param account_name: The name of the storage account within the specified resource group.
1416
+ Storage account names must be between 3 and 24 characters in length and use numbers and
1417
+ lower-case letters only. Required.
1418
+ :type account_name: str
1419
+ :param container_name: The name of the blob container within the specified storage account.
1420
+ Blob container names must be between 3 and 63 characters in length and use numbers, lower-case
1421
+ letters and dash (-) only. Every dash (-) character must be immediately preceded and followed
1422
+ by a letter or number. Required.
1423
+ :type container_name: str
1424
+ :param legal_hold: The LegalHold property that will be clear from a blob container. Required.
1425
+ :type legal_hold: IO[bytes]
1426
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
1427
+ Default value is "application/json".
1428
+ :paramtype content_type: str
1429
+ :return: LegalHold or the result of cls(response)
1430
+ :rtype: ~azure.mgmt.storage.v2023_01_01.models.LegalHold
1431
+ :raises ~azure.core.exceptions.HttpResponseError:
1432
+ """
1433
+
1434
+ @distributed_trace
1435
+ def clear_legal_hold(
1436
+ self,
1437
+ resource_group_name: str,
1438
+ account_name: str,
1439
+ container_name: str,
1440
+ legal_hold: Union[_models.LegalHold, IO[bytes]],
1441
+ **kwargs: Any
1442
+ ) -> _models.LegalHold:
1443
+ """Clears legal hold tags. Clearing the same or non-existent tag results in an idempotent
1444
+ operation. ClearLegalHold clears out only the specified tags in the request.
1445
+
1446
+ :param resource_group_name: The name of the resource group within the user's subscription. The
1447
+ name is case insensitive. Required.
1448
+ :type resource_group_name: str
1449
+ :param account_name: The name of the storage account within the specified resource group.
1450
+ Storage account names must be between 3 and 24 characters in length and use numbers and
1451
+ lower-case letters only. Required.
1452
+ :type account_name: str
1453
+ :param container_name: The name of the blob container within the specified storage account.
1454
+ Blob container names must be between 3 and 63 characters in length and use numbers, lower-case
1455
+ letters and dash (-) only. Every dash (-) character must be immediately preceded and followed
1456
+ by a letter or number. Required.
1457
+ :type container_name: str
1458
+ :param legal_hold: The LegalHold property that will be clear from a blob container. Is either a
1459
+ LegalHold type or a IO[bytes] type. Required.
1460
+ :type legal_hold: ~azure.mgmt.storage.v2023_01_01.models.LegalHold or IO[bytes]
1461
+ :return: LegalHold or the result of cls(response)
1462
+ :rtype: ~azure.mgmt.storage.v2023_01_01.models.LegalHold
1463
+ :raises ~azure.core.exceptions.HttpResponseError:
1464
+ """
1465
+ error_map: MutableMapping[int, Type[HttpResponseError]] = {
1466
+ 401: ClientAuthenticationError,
1467
+ 404: ResourceNotFoundError,
1468
+ 409: ResourceExistsError,
1469
+ 304: ResourceNotModifiedError,
1470
+ }
1471
+ error_map.update(kwargs.pop("error_map", {}) or {})
1472
+
1473
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
1474
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
1475
+
1476
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._api_version or "2023-01-01"))
1477
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
1478
+ cls: ClsType[_models.LegalHold] = kwargs.pop("cls", None)
1479
+
1480
+ content_type = content_type or "application/json"
1481
+ _json = None
1482
+ _content = None
1483
+ if isinstance(legal_hold, (IOBase, bytes)):
1484
+ _content = legal_hold
1485
+ else:
1486
+ _json = self._serialize.body(legal_hold, "LegalHold")
1487
+
1488
+ _request = build_clear_legal_hold_request(
1489
+ resource_group_name=resource_group_name,
1490
+ account_name=account_name,
1491
+ container_name=container_name,
1492
+ subscription_id=self._config.subscription_id,
1493
+ api_version=api_version,
1494
+ content_type=content_type,
1495
+ json=_json,
1496
+ content=_content,
1497
+ headers=_headers,
1498
+ params=_params,
1499
+ )
1500
+ _request = _convert_request(_request)
1501
+ _request.url = self._client.format_url(_request.url)
1502
+
1503
+ _stream = False
1504
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
1505
+ _request, stream=_stream, **kwargs
1506
+ )
1507
+
1508
+ response = pipeline_response.http_response
1509
+
1510
+ if response.status_code not in [200]:
1511
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
1512
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
1513
+
1514
+ deserialized = self._deserialize("LegalHold", pipeline_response)
1515
+
1516
+ if cls:
1517
+ return cls(pipeline_response, deserialized, {}) # type: ignore
1518
+
1519
+ return deserialized # type: ignore
1520
+
1521
+ @overload
1522
+ def create_or_update_immutability_policy(
1523
+ self,
1524
+ resource_group_name: str,
1525
+ account_name: str,
1526
+ container_name: str,
1527
+ if_match: Optional[str] = None,
1528
+ parameters: Optional[_models.ImmutabilityPolicy] = None,
1529
+ *,
1530
+ content_type: str = "application/json",
1531
+ **kwargs: Any
1532
+ ) -> _models.ImmutabilityPolicy:
1533
+ """Creates or updates an unlocked immutability policy. ETag in If-Match is honored if given but
1534
+ not required for this operation.
1535
+
1536
+ :param resource_group_name: The name of the resource group within the user's subscription. The
1537
+ name is case insensitive. Required.
1538
+ :type resource_group_name: str
1539
+ :param account_name: The name of the storage account within the specified resource group.
1540
+ Storage account names must be between 3 and 24 characters in length and use numbers and
1541
+ lower-case letters only. Required.
1542
+ :type account_name: str
1543
+ :param container_name: The name of the blob container within the specified storage account.
1544
+ Blob container names must be between 3 and 63 characters in length and use numbers, lower-case
1545
+ letters and dash (-) only. Every dash (-) character must be immediately preceded and followed
1546
+ by a letter or number. Required.
1547
+ :type container_name: str
1548
+ :param if_match: The entity state (ETag) version of the immutability policy to update. A value
1549
+ of "*" can be used to apply the operation only if the immutability policy already exists. If
1550
+ omitted, this operation will always be applied. Default value is None.
1551
+ :type if_match: str
1552
+ :param parameters: The ImmutabilityPolicy Properties that will be created or updated to a blob
1553
+ container. Default value is None.
1554
+ :type parameters: ~azure.mgmt.storage.v2023_01_01.models.ImmutabilityPolicy
1555
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
1556
+ Default value is "application/json".
1557
+ :paramtype content_type: str
1558
+ :return: ImmutabilityPolicy or the result of cls(response)
1559
+ :rtype: ~azure.mgmt.storage.v2023_01_01.models.ImmutabilityPolicy
1560
+ :raises ~azure.core.exceptions.HttpResponseError:
1561
+ """
1562
+
1563
+ @overload
1564
+ def create_or_update_immutability_policy(
1565
+ self,
1566
+ resource_group_name: str,
1567
+ account_name: str,
1568
+ container_name: str,
1569
+ if_match: Optional[str] = None,
1570
+ parameters: Optional[IO[bytes]] = None,
1571
+ *,
1572
+ content_type: str = "application/json",
1573
+ **kwargs: Any
1574
+ ) -> _models.ImmutabilityPolicy:
1575
+ """Creates or updates an unlocked immutability policy. ETag in If-Match is honored if given but
1576
+ not required for this operation.
1577
+
1578
+ :param resource_group_name: The name of the resource group within the user's subscription. The
1579
+ name is case insensitive. Required.
1580
+ :type resource_group_name: str
1581
+ :param account_name: The name of the storage account within the specified resource group.
1582
+ Storage account names must be between 3 and 24 characters in length and use numbers and
1583
+ lower-case letters only. Required.
1584
+ :type account_name: str
1585
+ :param container_name: The name of the blob container within the specified storage account.
1586
+ Blob container names must be between 3 and 63 characters in length and use numbers, lower-case
1587
+ letters and dash (-) only. Every dash (-) character must be immediately preceded and followed
1588
+ by a letter or number. Required.
1589
+ :type container_name: str
1590
+ :param if_match: The entity state (ETag) version of the immutability policy to update. A value
1591
+ of "*" can be used to apply the operation only if the immutability policy already exists. If
1592
+ omitted, this operation will always be applied. Default value is None.
1593
+ :type if_match: str
1594
+ :param parameters: The ImmutabilityPolicy Properties that will be created or updated to a blob
1595
+ container. Default value is None.
1596
+ :type parameters: IO[bytes]
1597
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
1598
+ Default value is "application/json".
1599
+ :paramtype content_type: str
1600
+ :return: ImmutabilityPolicy or the result of cls(response)
1601
+ :rtype: ~azure.mgmt.storage.v2023_01_01.models.ImmutabilityPolicy
1602
+ :raises ~azure.core.exceptions.HttpResponseError:
1603
+ """
1604
+
1605
+ @distributed_trace
1606
+ def create_or_update_immutability_policy(
1607
+ self,
1608
+ resource_group_name: str,
1609
+ account_name: str,
1610
+ container_name: str,
1611
+ if_match: Optional[str] = None,
1612
+ parameters: Optional[Union[_models.ImmutabilityPolicy, IO[bytes]]] = None,
1613
+ **kwargs: Any
1614
+ ) -> _models.ImmutabilityPolicy:
1615
+ """Creates or updates an unlocked immutability policy. ETag in If-Match is honored if given but
1616
+ not required for this operation.
1617
+
1618
+ :param resource_group_name: The name of the resource group within the user's subscription. The
1619
+ name is case insensitive. Required.
1620
+ :type resource_group_name: str
1621
+ :param account_name: The name of the storage account within the specified resource group.
1622
+ Storage account names must be between 3 and 24 characters in length and use numbers and
1623
+ lower-case letters only. Required.
1624
+ :type account_name: str
1625
+ :param container_name: The name of the blob container within the specified storage account.
1626
+ Blob container names must be between 3 and 63 characters in length and use numbers, lower-case
1627
+ letters and dash (-) only. Every dash (-) character must be immediately preceded and followed
1628
+ by a letter or number. Required.
1629
+ :type container_name: str
1630
+ :param if_match: The entity state (ETag) version of the immutability policy to update. A value
1631
+ of "*" can be used to apply the operation only if the immutability policy already exists. If
1632
+ omitted, this operation will always be applied. Default value is None.
1633
+ :type if_match: str
1634
+ :param parameters: The ImmutabilityPolicy Properties that will be created or updated to a blob
1635
+ container. Is either a ImmutabilityPolicy type or a IO[bytes] type. Default value is None.
1636
+ :type parameters: ~azure.mgmt.storage.v2023_01_01.models.ImmutabilityPolicy or IO[bytes]
1637
+ :return: ImmutabilityPolicy or the result of cls(response)
1638
+ :rtype: ~azure.mgmt.storage.v2023_01_01.models.ImmutabilityPolicy
1639
+ :raises ~azure.core.exceptions.HttpResponseError:
1640
+ """
1641
+ error_map: MutableMapping[int, Type[HttpResponseError]] = {
1642
+ 401: ClientAuthenticationError,
1643
+ 404: ResourceNotFoundError,
1644
+ 409: ResourceExistsError,
1645
+ 304: ResourceNotModifiedError,
1646
+ }
1647
+ error_map.update(kwargs.pop("error_map", {}) or {})
1648
+
1649
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
1650
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
1651
+
1652
+ immutability_policy_name: Literal["default"] = kwargs.pop("immutability_policy_name", "default")
1653
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._api_version or "2023-01-01"))
1654
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
1655
+ cls: ClsType[_models.ImmutabilityPolicy] = kwargs.pop("cls", None)
1656
+
1657
+ content_type = content_type or "application/json"
1658
+ _json = None
1659
+ _content = None
1660
+ if isinstance(parameters, (IOBase, bytes)):
1661
+ _content = parameters
1662
+ else:
1663
+ if parameters is not None:
1664
+ _json = self._serialize.body(parameters, "ImmutabilityPolicy")
1665
+ else:
1666
+ _json = None
1667
+
1668
+ _request = build_create_or_update_immutability_policy_request(
1669
+ resource_group_name=resource_group_name,
1670
+ account_name=account_name,
1671
+ container_name=container_name,
1672
+ subscription_id=self._config.subscription_id,
1673
+ if_match=if_match,
1674
+ immutability_policy_name=immutability_policy_name,
1675
+ api_version=api_version,
1676
+ content_type=content_type,
1677
+ json=_json,
1678
+ content=_content,
1679
+ headers=_headers,
1680
+ params=_params,
1681
+ )
1682
+ _request = _convert_request(_request)
1683
+ _request.url = self._client.format_url(_request.url)
1684
+
1685
+ _stream = False
1686
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
1687
+ _request, stream=_stream, **kwargs
1688
+ )
1689
+
1690
+ response = pipeline_response.http_response
1691
+
1692
+ if response.status_code not in [200]:
1693
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
1694
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
1695
+
1696
+ response_headers = {}
1697
+ response_headers["ETag"] = self._deserialize("str", response.headers.get("ETag"))
1698
+
1699
+ deserialized = self._deserialize("ImmutabilityPolicy", pipeline_response)
1700
+
1701
+ if cls:
1702
+ return cls(pipeline_response, deserialized, response_headers) # type: ignore
1703
+
1704
+ return deserialized # type: ignore
1705
+
1706
+ @distributed_trace
1707
+ def get_immutability_policy(
1708
+ self,
1709
+ resource_group_name: str,
1710
+ account_name: str,
1711
+ container_name: str,
1712
+ if_match: Optional[str] = None,
1713
+ **kwargs: Any
1714
+ ) -> _models.ImmutabilityPolicy:
1715
+ """Gets the existing immutability policy along with the corresponding ETag in response headers and
1716
+ body.
1717
+
1718
+ :param resource_group_name: The name of the resource group within the user's subscription. The
1719
+ name is case insensitive. Required.
1720
+ :type resource_group_name: str
1721
+ :param account_name: The name of the storage account within the specified resource group.
1722
+ Storage account names must be between 3 and 24 characters in length and use numbers and
1723
+ lower-case letters only. Required.
1724
+ :type account_name: str
1725
+ :param container_name: The name of the blob container within the specified storage account.
1726
+ Blob container names must be between 3 and 63 characters in length and use numbers, lower-case
1727
+ letters and dash (-) only. Every dash (-) character must be immediately preceded and followed
1728
+ by a letter or number. Required.
1729
+ :type container_name: str
1730
+ :param if_match: The entity state (ETag) version of the immutability policy to update. A value
1731
+ of "*" can be used to apply the operation only if the immutability policy already exists. If
1732
+ omitted, this operation will always be applied. Default value is None.
1733
+ :type if_match: str
1734
+ :return: ImmutabilityPolicy or the result of cls(response)
1735
+ :rtype: ~azure.mgmt.storage.v2023_01_01.models.ImmutabilityPolicy
1736
+ :raises ~azure.core.exceptions.HttpResponseError:
1737
+ """
1738
+ error_map: MutableMapping[int, Type[HttpResponseError]] = {
1739
+ 401: ClientAuthenticationError,
1740
+ 404: ResourceNotFoundError,
1741
+ 409: ResourceExistsError,
1742
+ 304: ResourceNotModifiedError,
1743
+ }
1744
+ error_map.update(kwargs.pop("error_map", {}) or {})
1745
+
1746
+ _headers = kwargs.pop("headers", {}) or {}
1747
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
1748
+
1749
+ immutability_policy_name: Literal["default"] = kwargs.pop("immutability_policy_name", "default")
1750
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._api_version or "2023-01-01"))
1751
+ cls: ClsType[_models.ImmutabilityPolicy] = kwargs.pop("cls", None)
1752
+
1753
+ _request = build_get_immutability_policy_request(
1754
+ resource_group_name=resource_group_name,
1755
+ account_name=account_name,
1756
+ container_name=container_name,
1757
+ subscription_id=self._config.subscription_id,
1758
+ if_match=if_match,
1759
+ immutability_policy_name=immutability_policy_name,
1760
+ api_version=api_version,
1761
+ headers=_headers,
1762
+ params=_params,
1763
+ )
1764
+ _request = _convert_request(_request)
1765
+ _request.url = self._client.format_url(_request.url)
1766
+
1767
+ _stream = False
1768
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
1769
+ _request, stream=_stream, **kwargs
1770
+ )
1771
+
1772
+ response = pipeline_response.http_response
1773
+
1774
+ if response.status_code not in [200]:
1775
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
1776
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
1777
+
1778
+ response_headers = {}
1779
+ response_headers["ETag"] = self._deserialize("str", response.headers.get("ETag"))
1780
+
1781
+ deserialized = self._deserialize("ImmutabilityPolicy", pipeline_response)
1782
+
1783
+ if cls:
1784
+ return cls(pipeline_response, deserialized, response_headers) # type: ignore
1785
+
1786
+ return deserialized # type: ignore
1787
+
1788
+ @distributed_trace
1789
+ def delete_immutability_policy(
1790
+ self, resource_group_name: str, account_name: str, container_name: str, if_match: str, **kwargs: Any
1791
+ ) -> _models.ImmutabilityPolicy:
1792
+ """Aborts an unlocked immutability policy. The response of delete has
1793
+ immutabilityPeriodSinceCreationInDays set to 0. ETag in If-Match is required for this
1794
+ operation. Deleting a locked immutability policy is not allowed, the only way is to delete the
1795
+ container after deleting all expired blobs inside the policy locked container.
1796
+
1797
+ :param resource_group_name: The name of the resource group within the user's subscription. The
1798
+ name is case insensitive. Required.
1799
+ :type resource_group_name: str
1800
+ :param account_name: The name of the storage account within the specified resource group.
1801
+ Storage account names must be between 3 and 24 characters in length and use numbers and
1802
+ lower-case letters only. Required.
1803
+ :type account_name: str
1804
+ :param container_name: The name of the blob container within the specified storage account.
1805
+ Blob container names must be between 3 and 63 characters in length and use numbers, lower-case
1806
+ letters and dash (-) only. Every dash (-) character must be immediately preceded and followed
1807
+ by a letter or number. Required.
1808
+ :type container_name: str
1809
+ :param if_match: The entity state (ETag) version of the immutability policy to update. A value
1810
+ of "*" can be used to apply the operation only if the immutability policy already exists. If
1811
+ omitted, this operation will always be applied. Required.
1812
+ :type if_match: str
1813
+ :return: ImmutabilityPolicy or the result of cls(response)
1814
+ :rtype: ~azure.mgmt.storage.v2023_01_01.models.ImmutabilityPolicy
1815
+ :raises ~azure.core.exceptions.HttpResponseError:
1816
+ """
1817
+ error_map: MutableMapping[int, Type[HttpResponseError]] = {
1818
+ 401: ClientAuthenticationError,
1819
+ 404: ResourceNotFoundError,
1820
+ 409: ResourceExistsError,
1821
+ 304: ResourceNotModifiedError,
1822
+ }
1823
+ error_map.update(kwargs.pop("error_map", {}) or {})
1824
+
1825
+ _headers = kwargs.pop("headers", {}) or {}
1826
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
1827
+
1828
+ immutability_policy_name: Literal["default"] = kwargs.pop("immutability_policy_name", "default")
1829
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._api_version or "2023-01-01"))
1830
+ cls: ClsType[_models.ImmutabilityPolicy] = kwargs.pop("cls", None)
1831
+
1832
+ _request = build_delete_immutability_policy_request(
1833
+ resource_group_name=resource_group_name,
1834
+ account_name=account_name,
1835
+ container_name=container_name,
1836
+ subscription_id=self._config.subscription_id,
1837
+ if_match=if_match,
1838
+ immutability_policy_name=immutability_policy_name,
1839
+ api_version=api_version,
1840
+ headers=_headers,
1841
+ params=_params,
1842
+ )
1843
+ _request = _convert_request(_request)
1844
+ _request.url = self._client.format_url(_request.url)
1845
+
1846
+ _stream = False
1847
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
1848
+ _request, stream=_stream, **kwargs
1849
+ )
1850
+
1851
+ response = pipeline_response.http_response
1852
+
1853
+ if response.status_code not in [200]:
1854
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
1855
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
1856
+
1857
+ response_headers = {}
1858
+ response_headers["ETag"] = self._deserialize("str", response.headers.get("ETag"))
1859
+
1860
+ deserialized = self._deserialize("ImmutabilityPolicy", pipeline_response)
1861
+
1862
+ if cls:
1863
+ return cls(pipeline_response, deserialized, response_headers) # type: ignore
1864
+
1865
+ return deserialized # type: ignore
1866
+
1867
+ @distributed_trace
1868
+ def lock_immutability_policy(
1869
+ self, resource_group_name: str, account_name: str, container_name: str, if_match: str, **kwargs: Any
1870
+ ) -> _models.ImmutabilityPolicy:
1871
+ """Sets the ImmutabilityPolicy to Locked state. The only action allowed on a Locked policy is
1872
+ ExtendImmutabilityPolicy action. ETag in If-Match is required for this operation.
1873
+
1874
+ :param resource_group_name: The name of the resource group within the user's subscription. The
1875
+ name is case insensitive. Required.
1876
+ :type resource_group_name: str
1877
+ :param account_name: The name of the storage account within the specified resource group.
1878
+ Storage account names must be between 3 and 24 characters in length and use numbers and
1879
+ lower-case letters only. Required.
1880
+ :type account_name: str
1881
+ :param container_name: The name of the blob container within the specified storage account.
1882
+ Blob container names must be between 3 and 63 characters in length and use numbers, lower-case
1883
+ letters and dash (-) only. Every dash (-) character must be immediately preceded and followed
1884
+ by a letter or number. Required.
1885
+ :type container_name: str
1886
+ :param if_match: The entity state (ETag) version of the immutability policy to update. A value
1887
+ of "*" can be used to apply the operation only if the immutability policy already exists. If
1888
+ omitted, this operation will always be applied. Required.
1889
+ :type if_match: str
1890
+ :return: ImmutabilityPolicy or the result of cls(response)
1891
+ :rtype: ~azure.mgmt.storage.v2023_01_01.models.ImmutabilityPolicy
1892
+ :raises ~azure.core.exceptions.HttpResponseError:
1893
+ """
1894
+ error_map: MutableMapping[int, Type[HttpResponseError]] = {
1895
+ 401: ClientAuthenticationError,
1896
+ 404: ResourceNotFoundError,
1897
+ 409: ResourceExistsError,
1898
+ 304: ResourceNotModifiedError,
1899
+ }
1900
+ error_map.update(kwargs.pop("error_map", {}) or {})
1901
+
1902
+ _headers = kwargs.pop("headers", {}) or {}
1903
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
1904
+
1905
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._api_version or "2023-01-01"))
1906
+ cls: ClsType[_models.ImmutabilityPolicy] = kwargs.pop("cls", None)
1907
+
1908
+ _request = build_lock_immutability_policy_request(
1909
+ resource_group_name=resource_group_name,
1910
+ account_name=account_name,
1911
+ container_name=container_name,
1912
+ subscription_id=self._config.subscription_id,
1913
+ if_match=if_match,
1914
+ api_version=api_version,
1915
+ headers=_headers,
1916
+ params=_params,
1917
+ )
1918
+ _request = _convert_request(_request)
1919
+ _request.url = self._client.format_url(_request.url)
1920
+
1921
+ _stream = False
1922
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
1923
+ _request, stream=_stream, **kwargs
1924
+ )
1925
+
1926
+ response = pipeline_response.http_response
1927
+
1928
+ if response.status_code not in [200]:
1929
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
1930
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
1931
+
1932
+ response_headers = {}
1933
+ response_headers["ETag"] = self._deserialize("str", response.headers.get("ETag"))
1934
+
1935
+ deserialized = self._deserialize("ImmutabilityPolicy", pipeline_response)
1936
+
1937
+ if cls:
1938
+ return cls(pipeline_response, deserialized, response_headers) # type: ignore
1939
+
1940
+ return deserialized # type: ignore
1941
+
1942
+ @overload
1943
+ def extend_immutability_policy(
1944
+ self,
1945
+ resource_group_name: str,
1946
+ account_name: str,
1947
+ container_name: str,
1948
+ if_match: str,
1949
+ parameters: Optional[_models.ImmutabilityPolicy] = None,
1950
+ *,
1951
+ content_type: str = "application/json",
1952
+ **kwargs: Any
1953
+ ) -> _models.ImmutabilityPolicy:
1954
+ """Extends the immutabilityPeriodSinceCreationInDays of a locked immutabilityPolicy. The only
1955
+ action allowed on a Locked policy will be this action. ETag in If-Match is required for this
1956
+ operation.
1957
+
1958
+ :param resource_group_name: The name of the resource group within the user's subscription. The
1959
+ name is case insensitive. Required.
1960
+ :type resource_group_name: str
1961
+ :param account_name: The name of the storage account within the specified resource group.
1962
+ Storage account names must be between 3 and 24 characters in length and use numbers and
1963
+ lower-case letters only. Required.
1964
+ :type account_name: str
1965
+ :param container_name: The name of the blob container within the specified storage account.
1966
+ Blob container names must be between 3 and 63 characters in length and use numbers, lower-case
1967
+ letters and dash (-) only. Every dash (-) character must be immediately preceded and followed
1968
+ by a letter or number. Required.
1969
+ :type container_name: str
1970
+ :param if_match: The entity state (ETag) version of the immutability policy to update. A value
1971
+ of "*" can be used to apply the operation only if the immutability policy already exists. If
1972
+ omitted, this operation will always be applied. Required.
1973
+ :type if_match: str
1974
+ :param parameters: The ImmutabilityPolicy Properties that will be extended for a blob
1975
+ container. Default value is None.
1976
+ :type parameters: ~azure.mgmt.storage.v2023_01_01.models.ImmutabilityPolicy
1977
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
1978
+ Default value is "application/json".
1979
+ :paramtype content_type: str
1980
+ :return: ImmutabilityPolicy or the result of cls(response)
1981
+ :rtype: ~azure.mgmt.storage.v2023_01_01.models.ImmutabilityPolicy
1982
+ :raises ~azure.core.exceptions.HttpResponseError:
1983
+ """
1984
+
1985
+ @overload
1986
+ def extend_immutability_policy(
1987
+ self,
1988
+ resource_group_name: str,
1989
+ account_name: str,
1990
+ container_name: str,
1991
+ if_match: str,
1992
+ parameters: Optional[IO[bytes]] = None,
1993
+ *,
1994
+ content_type: str = "application/json",
1995
+ **kwargs: Any
1996
+ ) -> _models.ImmutabilityPolicy:
1997
+ """Extends the immutabilityPeriodSinceCreationInDays of a locked immutabilityPolicy. The only
1998
+ action allowed on a Locked policy will be this action. ETag in If-Match is required for this
1999
+ operation.
2000
+
2001
+ :param resource_group_name: The name of the resource group within the user's subscription. The
2002
+ name is case insensitive. Required.
2003
+ :type resource_group_name: str
2004
+ :param account_name: The name of the storage account within the specified resource group.
2005
+ Storage account names must be between 3 and 24 characters in length and use numbers and
2006
+ lower-case letters only. Required.
2007
+ :type account_name: str
2008
+ :param container_name: The name of the blob container within the specified storage account.
2009
+ Blob container names must be between 3 and 63 characters in length and use numbers, lower-case
2010
+ letters and dash (-) only. Every dash (-) character must be immediately preceded and followed
2011
+ by a letter or number. Required.
2012
+ :type container_name: str
2013
+ :param if_match: The entity state (ETag) version of the immutability policy to update. A value
2014
+ of "*" can be used to apply the operation only if the immutability policy already exists. If
2015
+ omitted, this operation will always be applied. Required.
2016
+ :type if_match: str
2017
+ :param parameters: The ImmutabilityPolicy Properties that will be extended for a blob
2018
+ container. Default value is None.
2019
+ :type parameters: IO[bytes]
2020
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
2021
+ Default value is "application/json".
2022
+ :paramtype content_type: str
2023
+ :return: ImmutabilityPolicy or the result of cls(response)
2024
+ :rtype: ~azure.mgmt.storage.v2023_01_01.models.ImmutabilityPolicy
2025
+ :raises ~azure.core.exceptions.HttpResponseError:
2026
+ """
2027
+
2028
+ @distributed_trace
2029
+ def extend_immutability_policy(
2030
+ self,
2031
+ resource_group_name: str,
2032
+ account_name: str,
2033
+ container_name: str,
2034
+ if_match: str,
2035
+ parameters: Optional[Union[_models.ImmutabilityPolicy, IO[bytes]]] = None,
2036
+ **kwargs: Any
2037
+ ) -> _models.ImmutabilityPolicy:
2038
+ """Extends the immutabilityPeriodSinceCreationInDays of a locked immutabilityPolicy. The only
2039
+ action allowed on a Locked policy will be this action. ETag in If-Match is required for this
2040
+ operation.
2041
+
2042
+ :param resource_group_name: The name of the resource group within the user's subscription. The
2043
+ name is case insensitive. Required.
2044
+ :type resource_group_name: str
2045
+ :param account_name: The name of the storage account within the specified resource group.
2046
+ Storage account names must be between 3 and 24 characters in length and use numbers and
2047
+ lower-case letters only. Required.
2048
+ :type account_name: str
2049
+ :param container_name: The name of the blob container within the specified storage account.
2050
+ Blob container names must be between 3 and 63 characters in length and use numbers, lower-case
2051
+ letters and dash (-) only. Every dash (-) character must be immediately preceded and followed
2052
+ by a letter or number. Required.
2053
+ :type container_name: str
2054
+ :param if_match: The entity state (ETag) version of the immutability policy to update. A value
2055
+ of "*" can be used to apply the operation only if the immutability policy already exists. If
2056
+ omitted, this operation will always be applied. Required.
2057
+ :type if_match: str
2058
+ :param parameters: The ImmutabilityPolicy Properties that will be extended for a blob
2059
+ container. Is either a ImmutabilityPolicy type or a IO[bytes] type. Default value is None.
2060
+ :type parameters: ~azure.mgmt.storage.v2023_01_01.models.ImmutabilityPolicy or IO[bytes]
2061
+ :return: ImmutabilityPolicy or the result of cls(response)
2062
+ :rtype: ~azure.mgmt.storage.v2023_01_01.models.ImmutabilityPolicy
2063
+ :raises ~azure.core.exceptions.HttpResponseError:
2064
+ """
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 = case_insensitive_dict(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-01-01"))
2077
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
2078
+ cls: ClsType[_models.ImmutabilityPolicy] = kwargs.pop("cls", None)
2079
+
2080
+ content_type = content_type or "application/json"
2081
+ _json = None
2082
+ _content = None
2083
+ if isinstance(parameters, (IOBase, bytes)):
2084
+ _content = parameters
2085
+ else:
2086
+ if parameters is not None:
2087
+ _json = self._serialize.body(parameters, "ImmutabilityPolicy")
2088
+ else:
2089
+ _json = None
2090
+
2091
+ _request = build_extend_immutability_policy_request(
2092
+ resource_group_name=resource_group_name,
2093
+ account_name=account_name,
2094
+ container_name=container_name,
2095
+ subscription_id=self._config.subscription_id,
2096
+ if_match=if_match,
2097
+ api_version=api_version,
2098
+ content_type=content_type,
2099
+ json=_json,
2100
+ content=_content,
2101
+ headers=_headers,
2102
+ params=_params,
2103
+ )
2104
+ _request = _convert_request(_request)
2105
+ _request.url = self._client.format_url(_request.url)
2106
+
2107
+ _stream = False
2108
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
2109
+ _request, stream=_stream, **kwargs
2110
+ )
2111
+
2112
+ response = pipeline_response.http_response
2113
+
2114
+ if response.status_code not in [200]:
2115
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
2116
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
2117
+
2118
+ response_headers = {}
2119
+ response_headers["ETag"] = self._deserialize("str", response.headers.get("ETag"))
2120
+
2121
+ deserialized = self._deserialize("ImmutabilityPolicy", pipeline_response)
2122
+
2123
+ if cls:
2124
+ return cls(pipeline_response, deserialized, response_headers) # type: ignore
2125
+
2126
+ return deserialized # type: ignore
2127
+
2128
+ @overload
2129
+ def lease(
2130
+ self,
2131
+ resource_group_name: str,
2132
+ account_name: str,
2133
+ container_name: str,
2134
+ parameters: Optional[_models.LeaseContainerRequest] = None,
2135
+ *,
2136
+ content_type: str = "application/json",
2137
+ **kwargs: Any
2138
+ ) -> _models.LeaseContainerResponse:
2139
+ """The Lease Container operation establishes and manages a lock on a container for delete
2140
+ operations. The lock duration can be 15 to 60 seconds, or can be infinite.
2141
+
2142
+ :param resource_group_name: The name of the resource group within the user's subscription. The
2143
+ name is case insensitive. Required.
2144
+ :type resource_group_name: str
2145
+ :param account_name: The name of the storage account within the specified resource group.
2146
+ Storage account names must be between 3 and 24 characters in length and use numbers and
2147
+ lower-case letters only. Required.
2148
+ :type account_name: str
2149
+ :param container_name: The name of the blob container within the specified storage account.
2150
+ Blob container names must be between 3 and 63 characters in length and use numbers, lower-case
2151
+ letters and dash (-) only. Every dash (-) character must be immediately preceded and followed
2152
+ by a letter or number. Required.
2153
+ :type container_name: str
2154
+ :param parameters: Lease Container request body. Default value is None.
2155
+ :type parameters: ~azure.mgmt.storage.v2023_01_01.models.LeaseContainerRequest
2156
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
2157
+ Default value is "application/json".
2158
+ :paramtype content_type: str
2159
+ :return: LeaseContainerResponse or the result of cls(response)
2160
+ :rtype: ~azure.mgmt.storage.v2023_01_01.models.LeaseContainerResponse
2161
+ :raises ~azure.core.exceptions.HttpResponseError:
2162
+ """
2163
+
2164
+ @overload
2165
+ def lease(
2166
+ self,
2167
+ resource_group_name: str,
2168
+ account_name: str,
2169
+ container_name: str,
2170
+ parameters: Optional[IO[bytes]] = None,
2171
+ *,
2172
+ content_type: str = "application/json",
2173
+ **kwargs: Any
2174
+ ) -> _models.LeaseContainerResponse:
2175
+ """The Lease Container operation establishes and manages a lock on a container for delete
2176
+ operations. The lock duration can be 15 to 60 seconds, or can be infinite.
2177
+
2178
+ :param resource_group_name: The name of the resource group within the user's subscription. The
2179
+ name is case insensitive. Required.
2180
+ :type resource_group_name: str
2181
+ :param account_name: The name of the storage account within the specified resource group.
2182
+ Storage account names must be between 3 and 24 characters in length and use numbers and
2183
+ lower-case letters only. Required.
2184
+ :type account_name: str
2185
+ :param container_name: The name of the blob container within the specified storage account.
2186
+ Blob container names must be between 3 and 63 characters in length and use numbers, lower-case
2187
+ letters and dash (-) only. Every dash (-) character must be immediately preceded and followed
2188
+ by a letter or number. Required.
2189
+ :type container_name: str
2190
+ :param parameters: Lease Container request body. Default value is None.
2191
+ :type parameters: IO[bytes]
2192
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
2193
+ Default value is "application/json".
2194
+ :paramtype content_type: str
2195
+ :return: LeaseContainerResponse or the result of cls(response)
2196
+ :rtype: ~azure.mgmt.storage.v2023_01_01.models.LeaseContainerResponse
2197
+ :raises ~azure.core.exceptions.HttpResponseError:
2198
+ """
2199
+
2200
+ @distributed_trace
2201
+ def lease(
2202
+ self,
2203
+ resource_group_name: str,
2204
+ account_name: str,
2205
+ container_name: str,
2206
+ parameters: Optional[Union[_models.LeaseContainerRequest, IO[bytes]]] = None,
2207
+ **kwargs: Any
2208
+ ) -> _models.LeaseContainerResponse:
2209
+ """The Lease Container operation establishes and manages a lock on a container for delete
2210
+ operations. The lock duration can be 15 to 60 seconds, or can be infinite.
2211
+
2212
+ :param resource_group_name: The name of the resource group within the user's subscription. The
2213
+ name is case insensitive. Required.
2214
+ :type resource_group_name: str
2215
+ :param account_name: The name of the storage account within the specified resource group.
2216
+ Storage account names must be between 3 and 24 characters in length and use numbers and
2217
+ lower-case letters only. Required.
2218
+ :type account_name: str
2219
+ :param container_name: The name of the blob container within the specified storage account.
2220
+ Blob container names must be between 3 and 63 characters in length and use numbers, lower-case
2221
+ letters and dash (-) only. Every dash (-) character must be immediately preceded and followed
2222
+ by a letter or number. Required.
2223
+ :type container_name: str
2224
+ :param parameters: Lease Container request body. Is either a LeaseContainerRequest type or a
2225
+ IO[bytes] type. Default value is None.
2226
+ :type parameters: ~azure.mgmt.storage.v2023_01_01.models.LeaseContainerRequest or IO[bytes]
2227
+ :return: LeaseContainerResponse or the result of cls(response)
2228
+ :rtype: ~azure.mgmt.storage.v2023_01_01.models.LeaseContainerResponse
2229
+ :raises ~azure.core.exceptions.HttpResponseError:
2230
+ """
2231
+ error_map: MutableMapping[int, Type[HttpResponseError]] = {
2232
+ 401: ClientAuthenticationError,
2233
+ 404: ResourceNotFoundError,
2234
+ 409: ResourceExistsError,
2235
+ 304: ResourceNotModifiedError,
2236
+ }
2237
+ error_map.update(kwargs.pop("error_map", {}) or {})
2238
+
2239
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
2240
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
2241
+
2242
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._api_version or "2023-01-01"))
2243
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
2244
+ cls: ClsType[_models.LeaseContainerResponse] = kwargs.pop("cls", None)
2245
+
2246
+ content_type = content_type or "application/json"
2247
+ _json = None
2248
+ _content = None
2249
+ if isinstance(parameters, (IOBase, bytes)):
2250
+ _content = parameters
2251
+ else:
2252
+ if parameters is not None:
2253
+ _json = self._serialize.body(parameters, "LeaseContainerRequest")
2254
+ else:
2255
+ _json = None
2256
+
2257
+ _request = build_lease_request(
2258
+ resource_group_name=resource_group_name,
2259
+ account_name=account_name,
2260
+ container_name=container_name,
2261
+ subscription_id=self._config.subscription_id,
2262
+ api_version=api_version,
2263
+ content_type=content_type,
2264
+ json=_json,
2265
+ content=_content,
2266
+ headers=_headers,
2267
+ params=_params,
2268
+ )
2269
+ _request = _convert_request(_request)
2270
+ _request.url = self._client.format_url(_request.url)
2271
+
2272
+ _stream = False
2273
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
2274
+ _request, stream=_stream, **kwargs
2275
+ )
2276
+
2277
+ response = pipeline_response.http_response
2278
+
2279
+ if response.status_code not in [200]:
2280
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
2281
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
2282
+
2283
+ deserialized = self._deserialize("LeaseContainerResponse", pipeline_response)
2284
+
2285
+ if cls:
2286
+ return cls(pipeline_response, deserialized, {}) # type: ignore
2287
+
2288
+ return deserialized # type: ignore
2289
+
2290
+ def _object_level_worm_initial( # pylint: disable=inconsistent-return-statements
2291
+ self, resource_group_name: str, account_name: str, container_name: str, **kwargs: Any
2292
+ ) -> None:
2293
+ error_map: MutableMapping[int, Type[HttpResponseError]] = {
2294
+ 401: ClientAuthenticationError,
2295
+ 404: ResourceNotFoundError,
2296
+ 409: ResourceExistsError,
2297
+ 304: ResourceNotModifiedError,
2298
+ }
2299
+ error_map.update(kwargs.pop("error_map", {}) or {})
2300
+
2301
+ _headers = kwargs.pop("headers", {}) or {}
2302
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
2303
+
2304
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._api_version or "2023-01-01"))
2305
+ cls: ClsType[None] = kwargs.pop("cls", None)
2306
+
2307
+ _request = build_object_level_worm_request(
2308
+ resource_group_name=resource_group_name,
2309
+ account_name=account_name,
2310
+ container_name=container_name,
2311
+ subscription_id=self._config.subscription_id,
2312
+ api_version=api_version,
2313
+ headers=_headers,
2314
+ params=_params,
2315
+ )
2316
+ _request = _convert_request(_request)
2317
+ _request.url = self._client.format_url(_request.url)
2318
+
2319
+ _stream = False
2320
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
2321
+ _request, stream=_stream, **kwargs
2322
+ )
2323
+
2324
+ response = pipeline_response.http_response
2325
+
2326
+ if response.status_code not in [200, 202]:
2327
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
2328
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
2329
+
2330
+ if cls:
2331
+ return cls(pipeline_response, None, {}) # type: ignore
2332
+
2333
+ @distributed_trace
2334
+ def begin_object_level_worm(
2335
+ self, resource_group_name: str, account_name: str, container_name: str, **kwargs: Any
2336
+ ) -> LROPoller[None]:
2337
+ """This operation migrates a blob container from container level WORM to object level immutability
2338
+ enabled container. Prerequisites require a container level immutability policy either in locked
2339
+ or unlocked state, Account level versioning must be enabled and there should be no Legal hold
2340
+ on the container.
2341
+
2342
+ :param resource_group_name: The name of the resource group within the user's subscription. The
2343
+ name is case insensitive. Required.
2344
+ :type resource_group_name: str
2345
+ :param account_name: The name of the storage account within the specified resource group.
2346
+ Storage account names must be between 3 and 24 characters in length and use numbers and
2347
+ lower-case letters only. Required.
2348
+ :type account_name: str
2349
+ :param container_name: The name of the blob container within the specified storage account.
2350
+ Blob container names must be between 3 and 63 characters in length and use numbers, lower-case
2351
+ letters and dash (-) only. Every dash (-) character must be immediately preceded and followed
2352
+ by a letter or number. Required.
2353
+ :type container_name: str
2354
+ :return: An instance of LROPoller that returns either None or the result of cls(response)
2355
+ :rtype: ~azure.core.polling.LROPoller[None]
2356
+ :raises ~azure.core.exceptions.HttpResponseError:
2357
+ """
2358
+ _headers = kwargs.pop("headers", {}) or {}
2359
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
2360
+
2361
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._api_version or "2023-01-01"))
2362
+ cls: ClsType[None] = kwargs.pop("cls", None)
2363
+ polling: Union[bool, PollingMethod] = kwargs.pop("polling", True)
2364
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
2365
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
2366
+ if cont_token is None:
2367
+ raw_result = self._object_level_worm_initial( # type: ignore
2368
+ resource_group_name=resource_group_name,
2369
+ account_name=account_name,
2370
+ container_name=container_name,
2371
+ api_version=api_version,
2372
+ cls=lambda x, y, z: x,
2373
+ headers=_headers,
2374
+ params=_params,
2375
+ **kwargs
2376
+ )
2377
+ kwargs.pop("error_map", None)
2378
+
2379
+ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements
2380
+ if cls:
2381
+ return cls(pipeline_response, None, {}) # type: ignore
2382
+
2383
+ if polling is True:
2384
+ polling_method: PollingMethod = cast(
2385
+ PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs)
2386
+ )
2387
+ elif polling is False:
2388
+ polling_method = cast(PollingMethod, NoPolling())
2389
+ else:
2390
+ polling_method = polling
2391
+ if cont_token:
2392
+ return LROPoller[None].from_continuation_token(
2393
+ polling_method=polling_method,
2394
+ continuation_token=cont_token,
2395
+ client=self._client,
2396
+ deserialization_callback=get_long_running_output,
2397
+ )
2398
+ return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore