azure-mgmt-storage 22.1.1__py3-none-any.whl → 23.0.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 (184) hide show
  1. azure/mgmt/storage/__init__.py +19 -7
  2. azure/mgmt/storage/_configuration.py +27 -29
  3. azure/mgmt/storage/{v2016_01_01/models/_patch.py → _patch.py} +5 -4
  4. azure/mgmt/storage/_storage_management_client.py +184 -499
  5. azure/mgmt/storage/{v2016_01_01/_version.py → _utils/__init__.py} +0 -3
  6. azure/mgmt/storage/{_serialization.py → _utils/serialization.py} +46 -131
  7. azure/mgmt/storage/_version.py +1 -1
  8. azure/mgmt/storage/aio/__init__.py +21 -2
  9. azure/mgmt/storage/aio/_configuration.py +27 -29
  10. azure/mgmt/storage/{v2017_10_01/aio/operations → aio}/_patch.py +5 -4
  11. azure/mgmt/storage/aio/_storage_management_client.py +188 -497
  12. azure/mgmt/storage/{v2024_01_01/aio → aio}/operations/__init__.py +1 -0
  13. azure/mgmt/storage/{v2024_01_01/aio → aio}/operations/_blob_containers_operations.py +66 -69
  14. azure/mgmt/storage/{v2024_01_01/aio → aio}/operations/_blob_inventory_policies_operations.py +26 -34
  15. azure/mgmt/storage/{v2024_01_01/aio → aio}/operations/_blob_services_operations.py +20 -22
  16. azure/mgmt/storage/{v2024_01_01/aio → aio}/operations/_deleted_accounts_operations.py +14 -17
  17. azure/mgmt/storage/{v2024_01_01/aio → aio}/operations/_encryption_scopes_operations.py +27 -30
  18. azure/mgmt/storage/{v2024_01_01/aio → aio}/operations/_file_services_operations.py +24 -27
  19. azure/mgmt/storage/{v2024_01_01/aio → aio}/operations/_file_shares_operations.py +36 -39
  20. azure/mgmt/storage/{v2024_01_01/aio → aio}/operations/_local_users_operations.py +26 -29
  21. azure/mgmt/storage/{v2019_06_01/aio → aio}/operations/_management_policies_operations.py +23 -30
  22. azure/mgmt/storage/{v2024_01_01/aio → aio}/operations/_network_security_perimeter_configurations_operations.py +16 -19
  23. azure/mgmt/storage/{v2024_01_01/aio → aio}/operations/_object_replication_policies_operations.py +21 -23
  24. azure/mgmt/storage/{v2017_10_01/aio → aio}/operations/_operations.py +12 -15
  25. azure/mgmt/storage/{v2016_01_01/aio → aio}/operations/_patch.py +5 -4
  26. azure/mgmt/storage/{v2024_01_01/aio → aio}/operations/_private_endpoint_connections_operations.py +21 -23
  27. azure/mgmt/storage/{v2024_01_01/aio → aio}/operations/_private_link_resources_operations.py +11 -13
  28. azure/mgmt/storage/{v2024_01_01/aio → aio}/operations/_queue_operations.py +27 -30
  29. azure/mgmt/storage/{v2024_01_01/aio → aio}/operations/_queue_services_operations.py +19 -21
  30. azure/mgmt/storage/{v2024_01_01/aio → aio}/operations/_skus_operations.py +12 -15
  31. azure/mgmt/storage/{v2024_01_01/aio → aio}/operations/_storage_accounts_operations.py +81 -96
  32. azure/mgmt/storage/{v2024_01_01/aio → aio}/operations/_storage_task_assignment_instances_report_operations.py +14 -16
  33. azure/mgmt/storage/{v2024_01_01/aio → aio}/operations/_storage_task_assignments_instances_report_operations.py +14 -16
  34. azure/mgmt/storage/{v2024_01_01/aio → aio}/operations/_storage_task_assignments_operations.py +30 -39
  35. azure/mgmt/storage/{v2024_01_01/aio → aio}/operations/_table_operations.py +27 -29
  36. azure/mgmt/storage/{v2024_01_01/aio → aio}/operations/_table_services_operations.py +19 -21
  37. azure/mgmt/storage/{v2024_01_01/aio → aio}/operations/_usages_operations.py +12 -14
  38. azure/mgmt/storage/{v2024_01_01/models → models}/_models_py3.py +870 -927
  39. azure/mgmt/storage/{v2016_01_01/operations → models}/_patch.py +5 -4
  40. azure/mgmt/storage/{v2024_01_01/models → models}/_storage_management_client_enums.py +1 -0
  41. azure/mgmt/storage/{v2024_01_01/operations → operations}/__init__.py +1 -0
  42. azure/mgmt/storage/{v2024_01_01/operations → operations}/_blob_containers_operations.py +81 -84
  43. azure/mgmt/storage/{v2024_01_01/operations → operations}/_blob_inventory_policies_operations.py +31 -39
  44. azure/mgmt/storage/{v2024_01_01/operations → operations}/_blob_services_operations.py +24 -27
  45. azure/mgmt/storage/{v2024_01_01/operations → operations}/_deleted_accounts_operations.py +16 -18
  46. azure/mgmt/storage/{v2024_01_01/operations → operations}/_encryption_scopes_operations.py +32 -34
  47. azure/mgmt/storage/{v2024_01_01/operations → operations}/_file_services_operations.py +30 -32
  48. azure/mgmt/storage/{v2024_01_01/operations → operations}/_file_shares_operations.py +44 -47
  49. azure/mgmt/storage/{v2024_01_01/operations → operations}/_local_users_operations.py +33 -35
  50. azure/mgmt/storage/{v2024_01_01/operations → operations}/_management_policies_operations.py +27 -34
  51. azure/mgmt/storage/{v2024_01_01/operations → operations}/_network_security_perimeter_configurations_operations.py +20 -22
  52. azure/mgmt/storage/{v2024_01_01/operations → operations}/_object_replication_policies_operations.py +26 -29
  53. azure/mgmt/storage/{v2024_01_01/operations → operations}/_operations.py +12 -15
  54. azure/mgmt/storage/operations/_patch.py +21 -0
  55. azure/mgmt/storage/{v2024_01_01/operations → operations}/_private_endpoint_connections_operations.py +26 -29
  56. azure/mgmt/storage/{v2024_01_01/operations → operations}/_private_link_resources_operations.py +13 -15
  57. azure/mgmt/storage/{v2024_01_01/operations → operations}/_queue_operations.py +33 -35
  58. azure/mgmt/storage/{v2024_01_01/operations → operations}/_queue_services_operations.py +23 -25
  59. azure/mgmt/storage/{v2024_01_01/operations → operations}/_skus_operations.py +12 -15
  60. azure/mgmt/storage/{v2024_01_01/operations → operations}/_storage_accounts_operations.py +98 -106
  61. azure/mgmt/storage/{v2024_01_01/operations → operations}/_storage_task_assignment_instances_report_operations.py +15 -19
  62. azure/mgmt/storage/{v2024_01_01/operations → operations}/_storage_task_assignments_instances_report_operations.py +15 -19
  63. azure/mgmt/storage/{v2024_01_01/operations → operations}/_storage_task_assignments_operations.py +36 -47
  64. azure/mgmt/storage/{v2024_01_01/operations → operations}/_table_operations.py +33 -35
  65. azure/mgmt/storage/{v2024_01_01/operations → operations}/_table_services_operations.py +23 -25
  66. azure/mgmt/storage/{v2024_01_01/operations → operations}/_usages_operations.py +13 -16
  67. {azure_mgmt_storage-22.1.1.dist-info → azure_mgmt_storage-23.0.0.dist-info}/METADATA +20 -10
  68. azure_mgmt_storage-23.0.0.dist-info/RECORD +73 -0
  69. {azure_mgmt_storage-22.1.1.dist-info → azure_mgmt_storage-23.0.0.dist-info}/WHEEL +1 -1
  70. azure/mgmt/storage/models.py +0 -8
  71. azure/mgmt/storage/v2016_01_01/__init__.py +0 -32
  72. azure/mgmt/storage/v2016_01_01/_configuration.py +0 -65
  73. azure/mgmt/storage/v2016_01_01/_patch.py +0 -32
  74. azure/mgmt/storage/v2016_01_01/_storage_management_client.py +0 -117
  75. azure/mgmt/storage/v2016_01_01/aio/__init__.py +0 -29
  76. azure/mgmt/storage/v2016_01_01/aio/_configuration.py +0 -65
  77. azure/mgmt/storage/v2016_01_01/aio/_patch.py +0 -32
  78. azure/mgmt/storage/v2016_01_01/aio/_storage_management_client.py +0 -120
  79. azure/mgmt/storage/v2016_01_01/aio/operations/__init__.py +0 -27
  80. azure/mgmt/storage/v2016_01_01/aio/operations/_storage_accounts_operations.py +0 -1023
  81. azure/mgmt/storage/v2016_01_01/aio/operations/_usage_operations.py +0 -130
  82. azure/mgmt/storage/v2016_01_01/models/__init__.py +0 -88
  83. azure/mgmt/storage/v2016_01_01/models/_models_py3.py +0 -829
  84. azure/mgmt/storage/v2016_01_01/models/_storage_management_client_enums.py +0 -99
  85. azure/mgmt/storage/v2016_01_01/operations/__init__.py +0 -27
  86. azure/mgmt/storage/v2016_01_01/operations/_storage_accounts_operations.py +0 -1278
  87. azure/mgmt/storage/v2016_01_01/operations/_usage_operations.py +0 -157
  88. azure/mgmt/storage/v2016_01_01/py.typed +0 -1
  89. azure/mgmt/storage/v2017_10_01/__init__.py +0 -32
  90. azure/mgmt/storage/v2017_10_01/_configuration.py +0 -65
  91. azure/mgmt/storage/v2017_10_01/_patch.py +0 -32
  92. azure/mgmt/storage/v2017_10_01/_storage_management.py +0 -121
  93. azure/mgmt/storage/v2017_10_01/_version.py +0 -9
  94. azure/mgmt/storage/v2017_10_01/aio/__init__.py +0 -29
  95. azure/mgmt/storage/v2017_10_01/aio/_configuration.py +0 -65
  96. azure/mgmt/storage/v2017_10_01/aio/_patch.py +0 -32
  97. azure/mgmt/storage/v2017_10_01/aio/_storage_management.py +0 -124
  98. azure/mgmt/storage/v2017_10_01/aio/operations/__init__.py +0 -31
  99. azure/mgmt/storage/v2017_10_01/aio/operations/_skus_operations.py +0 -130
  100. azure/mgmt/storage/v2017_10_01/aio/operations/_storage_accounts_operations.py +0 -1299
  101. azure/mgmt/storage/v2017_10_01/aio/operations/_usage_operations.py +0 -130
  102. azure/mgmt/storage/v2017_10_01/models/__init__.py +0 -140
  103. azure/mgmt/storage/v2017_10_01/models/_models_py3.py +0 -1851
  104. azure/mgmt/storage/v2017_10_01/models/_patch.py +0 -20
  105. azure/mgmt/storage/v2017_10_01/models/_storage_management_enums.py +0 -192
  106. azure/mgmt/storage/v2017_10_01/operations/__init__.py +0 -31
  107. azure/mgmt/storage/v2017_10_01/operations/_operations.py +0 -151
  108. azure/mgmt/storage/v2017_10_01/operations/_patch.py +0 -20
  109. azure/mgmt/storage/v2017_10_01/operations/_skus_operations.py +0 -157
  110. azure/mgmt/storage/v2017_10_01/operations/_storage_accounts_operations.py +0 -1638
  111. azure/mgmt/storage/v2017_10_01/operations/_usage_operations.py +0 -157
  112. azure/mgmt/storage/v2017_10_01/py.typed +0 -1
  113. azure/mgmt/storage/v2019_06_01/__init__.py +0 -32
  114. azure/mgmt/storage/v2019_06_01/_configuration.py +0 -64
  115. azure/mgmt/storage/v2019_06_01/_patch.py +0 -32
  116. azure/mgmt/storage/v2019_06_01/_storage_management_client.py +0 -213
  117. azure/mgmt/storage/v2019_06_01/_version.py +0 -9
  118. azure/mgmt/storage/v2019_06_01/aio/__init__.py +0 -29
  119. azure/mgmt/storage/v2019_06_01/aio/_configuration.py +0 -64
  120. azure/mgmt/storage/v2019_06_01/aio/_patch.py +0 -32
  121. azure/mgmt/storage/v2019_06_01/aio/_storage_management_client.py +0 -217
  122. azure/mgmt/storage/v2019_06_01/aio/operations/__init__.py +0 -59
  123. azure/mgmt/storage/v2019_06_01/aio/operations/_blob_containers_operations.py +0 -1725
  124. azure/mgmt/storage/v2019_06_01/aio/operations/_blob_inventory_policies_operations.py +0 -437
  125. azure/mgmt/storage/v2019_06_01/aio/operations/_blob_services_operations.py +0 -368
  126. azure/mgmt/storage/v2019_06_01/aio/operations/_encryption_scopes_operations.py +0 -538
  127. azure/mgmt/storage/v2019_06_01/aio/operations/_file_services_operations.py +0 -335
  128. azure/mgmt/storage/v2019_06_01/aio/operations/_file_shares_operations.py +0 -771
  129. azure/mgmt/storage/v2019_06_01/aio/operations/_object_replication_policies_operations.py +0 -428
  130. azure/mgmt/storage/v2019_06_01/aio/operations/_operations.py +0 -130
  131. azure/mgmt/storage/v2019_06_01/aio/operations/_patch.py +0 -20
  132. azure/mgmt/storage/v2019_06_01/aio/operations/_private_endpoint_connections_operations.py +0 -424
  133. azure/mgmt/storage/v2019_06_01/aio/operations/_private_link_resources_operations.py +0 -113
  134. azure/mgmt/storage/v2019_06_01/aio/operations/_queue_operations.py +0 -597
  135. azure/mgmt/storage/v2019_06_01/aio/operations/_queue_services_operations.py +0 -335
  136. azure/mgmt/storage/v2019_06_01/aio/operations/_skus_operations.py +0 -131
  137. azure/mgmt/storage/v2019_06_01/aio/operations/_storage_accounts_operations.py +0 -1696
  138. azure/mgmt/storage/v2019_06_01/aio/operations/_table_operations.py +0 -394
  139. azure/mgmt/storage/v2019_06_01/aio/operations/_table_services_operations.py +0 -335
  140. azure/mgmt/storage/v2019_06_01/aio/operations/_usages_operations.py +0 -134
  141. azure/mgmt/storage/v2019_06_01/models/__init__.py +0 -364
  142. azure/mgmt/storage/v2019_06_01/models/_models_py3.py +0 -6038
  143. azure/mgmt/storage/v2019_06_01/models/_patch.py +0 -20
  144. azure/mgmt/storage/v2019_06_01/models/_storage_management_client_enums.py +0 -456
  145. azure/mgmt/storage/v2019_06_01/operations/__init__.py +0 -59
  146. azure/mgmt/storage/v2019_06_01/operations/_blob_containers_operations.py +0 -2226
  147. azure/mgmt/storage/v2019_06_01/operations/_blob_inventory_policies_operations.py +0 -582
  148. azure/mgmt/storage/v2019_06_01/operations/_blob_services_operations.py +0 -476
  149. azure/mgmt/storage/v2019_06_01/operations/_encryption_scopes_operations.py +0 -677
  150. azure/mgmt/storage/v2019_06_01/operations/_file_services_operations.py +0 -444
  151. azure/mgmt/storage/v2019_06_01/operations/_file_shares_operations.py +0 -1000
  152. azure/mgmt/storage/v2019_06_01/operations/_management_policies_operations.py +0 -453
  153. azure/mgmt/storage/v2019_06_01/operations/_object_replication_policies_operations.py +0 -567
  154. azure/mgmt/storage/v2019_06_01/operations/_operations.py +0 -151
  155. azure/mgmt/storage/v2019_06_01/operations/_patch.py +0 -20
  156. azure/mgmt/storage/v2019_06_01/operations/_private_endpoint_connections_operations.py +0 -575
  157. azure/mgmt/storage/v2019_06_01/operations/_private_link_resources_operations.py +0 -149
  158. azure/mgmt/storage/v2019_06_01/operations/_queue_operations.py +0 -805
  159. azure/mgmt/storage/v2019_06_01/operations/_queue_services_operations.py +0 -444
  160. azure/mgmt/storage/v2019_06_01/operations/_skus_operations.py +0 -157
  161. azure/mgmt/storage/v2019_06_01/operations/_storage_accounts_operations.py +0 -2122
  162. azure/mgmt/storage/v2019_06_01/operations/_table_operations.py +0 -563
  163. azure/mgmt/storage/v2019_06_01/operations/_table_services_operations.py +0 -444
  164. azure/mgmt/storage/v2019_06_01/operations/_usages_operations.py +0 -164
  165. azure/mgmt/storage/v2019_06_01/py.typed +0 -1
  166. azure/mgmt/storage/v2024_01_01/__init__.py +0 -32
  167. azure/mgmt/storage/v2024_01_01/_configuration.py +0 -64
  168. azure/mgmt/storage/v2024_01_01/_patch.py +0 -20
  169. azure/mgmt/storage/v2024_01_01/_storage_management_client.py +0 -256
  170. azure/mgmt/storage/v2024_01_01/_version.py +0 -9
  171. azure/mgmt/storage/v2024_01_01/aio/__init__.py +0 -29
  172. azure/mgmt/storage/v2024_01_01/aio/_configuration.py +0 -64
  173. azure/mgmt/storage/v2024_01_01/aio/_patch.py +0 -20
  174. azure/mgmt/storage/v2024_01_01/aio/_storage_management_client.py +0 -261
  175. azure/mgmt/storage/v2024_01_01/aio/operations/_management_policies_operations.py +0 -343
  176. azure/mgmt/storage/v2024_01_01/aio/operations/_operations.py +0 -130
  177. azure/mgmt/storage/v2024_01_01/aio/operations/_patch.py +0 -20
  178. azure/mgmt/storage/v2024_01_01/models/_patch.py +0 -20
  179. azure/mgmt/storage/v2024_01_01/operations/_patch.py +0 -20
  180. azure/mgmt/storage/v2024_01_01/py.typed +0 -1
  181. azure_mgmt_storage-22.1.1.dist-info/RECORD +0 -183
  182. /azure/mgmt/storage/{v2024_01_01/models → models}/__init__.py +0 -0
  183. {azure_mgmt_storage-22.1.1.dist-info → azure_mgmt_storage-23.0.0.dist-info}/LICENSE +0 -0
  184. {azure_mgmt_storage-22.1.1.dist-info → azure_mgmt_storage-23.0.0.dist-info}/top_level.txt +0 -0
@@ -1,437 +0,0 @@
1
- # coding=utf-8
2
- # --------------------------------------------------------------------------
3
- # Copyright (c) Microsoft Corporation. All rights reserved.
4
- # Licensed under the MIT License. See License.txt in the project root for license information.
5
- # Code generated by Microsoft (R) AutoRest Code Generator.
6
- # Changes may cause incorrect behavior and will be lost if the code is regenerated.
7
- # --------------------------------------------------------------------------
8
- from io import IOBase
9
- import sys
10
- from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, overload
11
- import urllib.parse
12
-
13
- from azure.core.async_paging import AsyncItemPaged, AsyncList
14
- from azure.core.exceptions import (
15
- ClientAuthenticationError,
16
- HttpResponseError,
17
- ResourceExistsError,
18
- ResourceNotFoundError,
19
- ResourceNotModifiedError,
20
- map_error,
21
- )
22
- from azure.core.pipeline import PipelineResponse
23
- from azure.core.rest import AsyncHttpResponse, HttpRequest
24
- from azure.core.tracing.decorator import distributed_trace
25
- from azure.core.tracing.decorator_async import distributed_trace_async
26
- from azure.core.utils import case_insensitive_dict
27
- from azure.mgmt.core.exceptions import ARMErrorFormat
28
-
29
- from ... import models as _models
30
- from ...operations._blob_inventory_policies_operations import (
31
- build_create_or_update_request,
32
- build_delete_request,
33
- build_get_request,
34
- build_list_request,
35
- )
36
-
37
- if sys.version_info >= (3, 9):
38
- from collections.abc import MutableMapping
39
- else:
40
- from typing import MutableMapping # type: ignore
41
- T = TypeVar("T")
42
- ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
43
-
44
-
45
- class BlobInventoryPoliciesOperations:
46
- """
47
- .. warning::
48
- **DO NOT** instantiate this class directly.
49
-
50
- Instead, you should access the following operations through
51
- :class:`~azure.mgmt.storage.v2019_06_01.aio.StorageManagementClient`'s
52
- :attr:`blob_inventory_policies` attribute.
53
- """
54
-
55
- models = _models
56
-
57
- def __init__(self, *args, **kwargs) -> None:
58
- input_args = list(args)
59
- self._client = input_args.pop(0) if input_args else kwargs.pop("client")
60
- self._config = input_args.pop(0) if input_args else kwargs.pop("config")
61
- self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
62
- self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
63
- self._api_version = input_args.pop(0) if input_args else kwargs.pop("api_version")
64
-
65
- @distributed_trace_async
66
- async def get(
67
- self,
68
- resource_group_name: str,
69
- account_name: str,
70
- blob_inventory_policy_name: Union[str, _models.BlobInventoryPolicyName],
71
- **kwargs: Any
72
- ) -> _models.BlobInventoryPolicy:
73
- """Gets the blob inventory policy associated with the specified storage account.
74
-
75
- :param resource_group_name: The name of the resource group within the user's subscription. The
76
- name is case insensitive. Required.
77
- :type resource_group_name: str
78
- :param account_name: The name of the storage account within the specified resource group.
79
- Storage account names must be between 3 and 24 characters in length and use numbers and
80
- lower-case letters only. Required.
81
- :type account_name: str
82
- :param blob_inventory_policy_name: The name of the storage account blob inventory policy. It
83
- should always be 'default'. "default" Required.
84
- :type blob_inventory_policy_name: str or
85
- ~azure.mgmt.storage.v2019_06_01.models.BlobInventoryPolicyName
86
- :return: BlobInventoryPolicy or the result of cls(response)
87
- :rtype: ~azure.mgmt.storage.v2019_06_01.models.BlobInventoryPolicy
88
- :raises ~azure.core.exceptions.HttpResponseError:
89
- """
90
- error_map: MutableMapping = {
91
- 401: ClientAuthenticationError,
92
- 404: ResourceNotFoundError,
93
- 409: ResourceExistsError,
94
- 304: ResourceNotModifiedError,
95
- }
96
- error_map.update(kwargs.pop("error_map", {}) or {})
97
-
98
- _headers = 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", self._api_version or "2019-06-01"))
102
- cls: ClsType[_models.BlobInventoryPolicy] = kwargs.pop("cls", None)
103
-
104
- _request = build_get_request(
105
- resource_group_name=resource_group_name,
106
- account_name=account_name,
107
- blob_inventory_policy_name=blob_inventory_policy_name,
108
- subscription_id=self._config.subscription_id,
109
- api_version=api_version,
110
- headers=_headers,
111
- params=_params,
112
- )
113
- _request.url = self._client.format_url(_request.url)
114
-
115
- _stream = False
116
- pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
117
- _request, stream=_stream, **kwargs
118
- )
119
-
120
- response = pipeline_response.http_response
121
-
122
- if response.status_code not in [200]:
123
- map_error(status_code=response.status_code, response=response, error_map=error_map)
124
- error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
125
- raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
126
-
127
- deserialized = self._deserialize("BlobInventoryPolicy", pipeline_response.http_response)
128
-
129
- if cls:
130
- return cls(pipeline_response, deserialized, {}) # type: ignore
131
-
132
- return deserialized # type: ignore
133
-
134
- @overload
135
- async def create_or_update(
136
- self,
137
- resource_group_name: str,
138
- account_name: str,
139
- blob_inventory_policy_name: Union[str, _models.BlobInventoryPolicyName],
140
- properties: _models.BlobInventoryPolicy,
141
- *,
142
- content_type: str = "application/json",
143
- **kwargs: Any
144
- ) -> _models.BlobInventoryPolicy:
145
- """Sets the blob inventory policy to the specified storage account.
146
-
147
- :param resource_group_name: The name of the resource group within the user's subscription. The
148
- name is case insensitive. Required.
149
- :type resource_group_name: str
150
- :param account_name: The name of the storage account within the specified resource group.
151
- Storage account names must be between 3 and 24 characters in length and use numbers and
152
- lower-case letters only. Required.
153
- :type account_name: str
154
- :param blob_inventory_policy_name: The name of the storage account blob inventory policy. It
155
- should always be 'default'. "default" Required.
156
- :type blob_inventory_policy_name: str or
157
- ~azure.mgmt.storage.v2019_06_01.models.BlobInventoryPolicyName
158
- :param properties: The blob inventory policy set to a storage account. Required.
159
- :type properties: ~azure.mgmt.storage.v2019_06_01.models.BlobInventoryPolicy
160
- :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
161
- Default value is "application/json".
162
- :paramtype content_type: str
163
- :return: BlobInventoryPolicy or the result of cls(response)
164
- :rtype: ~azure.mgmt.storage.v2019_06_01.models.BlobInventoryPolicy
165
- :raises ~azure.core.exceptions.HttpResponseError:
166
- """
167
-
168
- @overload
169
- async def create_or_update(
170
- self,
171
- resource_group_name: str,
172
- account_name: str,
173
- blob_inventory_policy_name: Union[str, _models.BlobInventoryPolicyName],
174
- properties: IO[bytes],
175
- *,
176
- content_type: str = "application/json",
177
- **kwargs: Any
178
- ) -> _models.BlobInventoryPolicy:
179
- """Sets the blob inventory policy to the specified storage account.
180
-
181
- :param resource_group_name: The name of the resource group within the user's subscription. The
182
- name is case insensitive. Required.
183
- :type resource_group_name: str
184
- :param account_name: The name of the storage account within the specified resource group.
185
- Storage account names must be between 3 and 24 characters in length and use numbers and
186
- lower-case letters only. Required.
187
- :type account_name: str
188
- :param blob_inventory_policy_name: The name of the storage account blob inventory policy. It
189
- should always be 'default'. "default" Required.
190
- :type blob_inventory_policy_name: str or
191
- ~azure.mgmt.storage.v2019_06_01.models.BlobInventoryPolicyName
192
- :param properties: The blob inventory policy set to a storage account. Required.
193
- :type properties: IO[bytes]
194
- :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
195
- Default value is "application/json".
196
- :paramtype content_type: str
197
- :return: BlobInventoryPolicy or the result of cls(response)
198
- :rtype: ~azure.mgmt.storage.v2019_06_01.models.BlobInventoryPolicy
199
- :raises ~azure.core.exceptions.HttpResponseError:
200
- """
201
-
202
- @distributed_trace_async
203
- async def create_or_update(
204
- self,
205
- resource_group_name: str,
206
- account_name: str,
207
- blob_inventory_policy_name: Union[str, _models.BlobInventoryPolicyName],
208
- properties: Union[_models.BlobInventoryPolicy, IO[bytes]],
209
- **kwargs: Any
210
- ) -> _models.BlobInventoryPolicy:
211
- """Sets the blob inventory policy to the specified storage account.
212
-
213
- :param resource_group_name: The name of the resource group within the user's subscription. The
214
- name is case insensitive. Required.
215
- :type resource_group_name: str
216
- :param account_name: The name of the storage account within the specified resource group.
217
- Storage account names must be between 3 and 24 characters in length and use numbers and
218
- lower-case letters only. Required.
219
- :type account_name: str
220
- :param blob_inventory_policy_name: The name of the storage account blob inventory policy. It
221
- should always be 'default'. "default" Required.
222
- :type blob_inventory_policy_name: str or
223
- ~azure.mgmt.storage.v2019_06_01.models.BlobInventoryPolicyName
224
- :param properties: The blob inventory policy set to a storage account. Is either a
225
- BlobInventoryPolicy type or a IO[bytes] type. Required.
226
- :type properties: ~azure.mgmt.storage.v2019_06_01.models.BlobInventoryPolicy or IO[bytes]
227
- :return: BlobInventoryPolicy or the result of cls(response)
228
- :rtype: ~azure.mgmt.storage.v2019_06_01.models.BlobInventoryPolicy
229
- :raises ~azure.core.exceptions.HttpResponseError:
230
- """
231
- error_map: MutableMapping = {
232
- 401: ClientAuthenticationError,
233
- 404: ResourceNotFoundError,
234
- 409: ResourceExistsError,
235
- 304: ResourceNotModifiedError,
236
- }
237
- error_map.update(kwargs.pop("error_map", {}) or {})
238
-
239
- _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
240
- _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
241
-
242
- api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._api_version or "2019-06-01"))
243
- content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
244
- cls: ClsType[_models.BlobInventoryPolicy] = kwargs.pop("cls", None)
245
-
246
- content_type = content_type or "application/json"
247
- _json = None
248
- _content = None
249
- if isinstance(properties, (IOBase, bytes)):
250
- _content = properties
251
- else:
252
- _json = self._serialize.body(properties, "BlobInventoryPolicy")
253
-
254
- _request = build_create_or_update_request(
255
- resource_group_name=resource_group_name,
256
- account_name=account_name,
257
- blob_inventory_policy_name=blob_inventory_policy_name,
258
- subscription_id=self._config.subscription_id,
259
- api_version=api_version,
260
- content_type=content_type,
261
- json=_json,
262
- content=_content,
263
- headers=_headers,
264
- params=_params,
265
- )
266
- _request.url = self._client.format_url(_request.url)
267
-
268
- _stream = False
269
- pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
270
- _request, stream=_stream, **kwargs
271
- )
272
-
273
- response = pipeline_response.http_response
274
-
275
- if response.status_code not in [200]:
276
- map_error(status_code=response.status_code, response=response, error_map=error_map)
277
- error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
278
- raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
279
-
280
- deserialized = self._deserialize("BlobInventoryPolicy", pipeline_response.http_response)
281
-
282
- if cls:
283
- return cls(pipeline_response, deserialized, {}) # type: ignore
284
-
285
- return deserialized # type: ignore
286
-
287
- @distributed_trace_async
288
- async def delete(
289
- self,
290
- resource_group_name: str,
291
- account_name: str,
292
- blob_inventory_policy_name: Union[str, _models.BlobInventoryPolicyName],
293
- **kwargs: Any
294
- ) -> None:
295
- """Deletes the blob inventory policy associated with the specified storage account.
296
-
297
- :param resource_group_name: The name of the resource group within the user's subscription. The
298
- name is case insensitive. Required.
299
- :type resource_group_name: str
300
- :param account_name: The name of the storage account within the specified resource group.
301
- Storage account names must be between 3 and 24 characters in length and use numbers and
302
- lower-case letters only. Required.
303
- :type account_name: str
304
- :param blob_inventory_policy_name: The name of the storage account blob inventory policy. It
305
- should always be 'default'. "default" Required.
306
- :type blob_inventory_policy_name: str or
307
- ~azure.mgmt.storage.v2019_06_01.models.BlobInventoryPolicyName
308
- :return: None or the result of cls(response)
309
- :rtype: None
310
- :raises ~azure.core.exceptions.HttpResponseError:
311
- """
312
- error_map: MutableMapping = {
313
- 401: ClientAuthenticationError,
314
- 404: ResourceNotFoundError,
315
- 409: ResourceExistsError,
316
- 304: ResourceNotModifiedError,
317
- }
318
- error_map.update(kwargs.pop("error_map", {}) or {})
319
-
320
- _headers = kwargs.pop("headers", {}) or {}
321
- _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
322
-
323
- api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._api_version or "2019-06-01"))
324
- cls: ClsType[None] = kwargs.pop("cls", None)
325
-
326
- _request = build_delete_request(
327
- resource_group_name=resource_group_name,
328
- account_name=account_name,
329
- blob_inventory_policy_name=blob_inventory_policy_name,
330
- subscription_id=self._config.subscription_id,
331
- api_version=api_version,
332
- headers=_headers,
333
- params=_params,
334
- )
335
- _request.url = self._client.format_url(_request.url)
336
-
337
- _stream = False
338
- pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
339
- _request, stream=_stream, **kwargs
340
- )
341
-
342
- response = pipeline_response.http_response
343
-
344
- if response.status_code not in [200, 204]:
345
- map_error(status_code=response.status_code, response=response, error_map=error_map)
346
- error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
347
- raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
348
-
349
- if cls:
350
- return cls(pipeline_response, None, {}) # type: ignore
351
-
352
- @distributed_trace
353
- def list(
354
- self, resource_group_name: str, account_name: str, **kwargs: Any
355
- ) -> AsyncIterable["_models.BlobInventoryPolicy"]:
356
- """Gets the blob inventory policy associated with the specified storage account.
357
-
358
- :param resource_group_name: The name of the resource group within the user's subscription. The
359
- name is case insensitive. Required.
360
- :type resource_group_name: str
361
- :param account_name: The name of the storage account within the specified resource group.
362
- Storage account names must be between 3 and 24 characters in length and use numbers and
363
- lower-case letters only. Required.
364
- :type account_name: str
365
- :return: An iterator like instance of either BlobInventoryPolicy or the result of cls(response)
366
- :rtype:
367
- ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.storage.v2019_06_01.models.BlobInventoryPolicy]
368
- :raises ~azure.core.exceptions.HttpResponseError:
369
- """
370
- _headers = kwargs.pop("headers", {}) or {}
371
- _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
372
-
373
- api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._api_version or "2019-06-01"))
374
- cls: ClsType[_models.ListBlobInventoryPolicy] = kwargs.pop("cls", None)
375
-
376
- error_map: MutableMapping = {
377
- 401: ClientAuthenticationError,
378
- 404: ResourceNotFoundError,
379
- 409: ResourceExistsError,
380
- 304: ResourceNotModifiedError,
381
- }
382
- error_map.update(kwargs.pop("error_map", {}) or {})
383
-
384
- def prepare_request(next_link=None):
385
- if not next_link:
386
-
387
- _request = build_list_request(
388
- resource_group_name=resource_group_name,
389
- account_name=account_name,
390
- subscription_id=self._config.subscription_id,
391
- api_version=api_version,
392
- headers=_headers,
393
- params=_params,
394
- )
395
- _request.url = self._client.format_url(_request.url)
396
-
397
- else:
398
- # make call to next link with the client's api-version
399
- _parsed_next_link = urllib.parse.urlparse(next_link)
400
- _next_request_params = case_insensitive_dict(
401
- {
402
- key: [urllib.parse.quote(v) for v in value]
403
- for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
404
- }
405
- )
406
- _next_request_params["api-version"] = self._api_version
407
- _request = HttpRequest(
408
- "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
409
- )
410
- _request.url = self._client.format_url(_request.url)
411
- _request.method = "GET"
412
- return _request
413
-
414
- async def extract_data(pipeline_response):
415
- deserialized = self._deserialize("ListBlobInventoryPolicy", pipeline_response)
416
- list_of_elem = deserialized.value
417
- if cls:
418
- list_of_elem = cls(list_of_elem) # type: ignore
419
- return None, AsyncList(list_of_elem)
420
-
421
- async def get_next(next_link=None):
422
- _request = prepare_request(next_link)
423
-
424
- _stream = False
425
- pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
426
- _request, stream=_stream, **kwargs
427
- )
428
- response = pipeline_response.http_response
429
-
430
- if response.status_code not in [200]:
431
- map_error(status_code=response.status_code, response=response, error_map=error_map)
432
- error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
433
- raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
434
-
435
- return pipeline_response
436
-
437
- return AsyncItemPaged(get_next, extract_data)