azure-mgmt-storage 22.2.0__py3-none-any.whl → 23.0.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 +68 -84
  14. azure/mgmt/storage/{v2024_01_01/aio → aio}/operations/_blob_inventory_policies_operations.py +28 -36
  15. azure/mgmt/storage/{v2024_01_01/aio → aio}/operations/_blob_services_operations.py +22 -24
  16. azure/mgmt/storage/{v2024_01_01/aio → aio}/operations/_deleted_accounts_operations.py +16 -19
  17. azure/mgmt/storage/{v2024_01_01/aio → aio}/operations/_encryption_scopes_operations.py +29 -32
  18. azure/mgmt/storage/{v2024_01_01/aio → aio}/operations/_file_services_operations.py +26 -29
  19. azure/mgmt/storage/{v2024_01_01/aio → aio}/operations/_file_shares_operations.py +38 -41
  20. azure/mgmt/storage/{v2024_01_01/aio → aio}/operations/_local_users_operations.py +28 -31
  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 +18 -21
  23. azure/mgmt/storage/{v2024_01_01/aio → aio}/operations/_object_replication_policies_operations.py +23 -25
  24. azure/mgmt/storage/{v2017_10_01/aio → aio}/operations/_operations.py +14 -17
  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 +23 -25
  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 +29 -32
  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 +14 -17
  31. azure/mgmt/storage/{v2024_01_01/aio → aio}/operations/_storage_accounts_operations.py +83 -111
  32. azure/mgmt/storage/{v2024_01_01/aio → aio}/operations/_storage_task_assignment_instances_report_operations.py +15 -17
  33. azure/mgmt/storage/{v2024_01_01/aio → aio}/operations/_storage_task_assignments_instances_report_operations.py +15 -17
  34. azure/mgmt/storage/{v2024_01_01/aio → aio}/operations/_storage_task_assignments_operations.py +38 -44
  35. azure/mgmt/storage/{v2024_01_01/aio → aio}/operations/_table_operations.py +29 -31
  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 +14 -16
  38. azure/mgmt/storage/{v2024_01_01/models → models}/_models_py3.py +857 -912
  39. azure/mgmt/storage/{v2016_01_01/operations → models}/_patch.py +5 -4
  40. azure/mgmt/storage/{v2024_01_01/operations → operations}/__init__.py +1 -0
  41. azure/mgmt/storage/{v2024_01_01/operations → operations}/_blob_containers_operations.py +84 -87
  42. azure/mgmt/storage/{v2024_01_01/operations → operations}/_blob_inventory_policies_operations.py +34 -42
  43. azure/mgmt/storage/{v2024_01_01/operations → operations}/_blob_services_operations.py +27 -30
  44. azure/mgmt/storage/{v2024_01_01/operations → operations}/_deleted_accounts_operations.py +19 -21
  45. azure/mgmt/storage/{v2024_01_01/operations → operations}/_encryption_scopes_operations.py +35 -37
  46. azure/mgmt/storage/{v2024_01_01/operations → operations}/_file_services_operations.py +33 -35
  47. azure/mgmt/storage/{v2024_01_01/operations → operations}/_file_shares_operations.py +47 -50
  48. azure/mgmt/storage/{v2024_01_01/operations → operations}/_local_users_operations.py +36 -38
  49. azure/mgmt/storage/{v2024_01_01/operations → operations}/_management_policies_operations.py +28 -35
  50. azure/mgmt/storage/{v2024_01_01/operations → operations}/_network_security_perimeter_configurations_operations.py +23 -25
  51. azure/mgmt/storage/{v2024_01_01/operations → operations}/_object_replication_policies_operations.py +29 -32
  52. azure/mgmt/storage/{v2024_01_01/operations → operations}/_operations.py +15 -18
  53. azure/mgmt/storage/operations/_patch.py +21 -0
  54. azure/mgmt/storage/{v2024_01_01/operations → operations}/_private_endpoint_connections_operations.py +29 -32
  55. azure/mgmt/storage/{v2024_01_01/operations → operations}/_private_link_resources_operations.py +14 -16
  56. azure/mgmt/storage/{v2024_01_01/operations → operations}/_queue_operations.py +36 -38
  57. azure/mgmt/storage/{v2024_01_01/operations → operations}/_queue_services_operations.py +24 -26
  58. azure/mgmt/storage/{v2024_01_01/operations → operations}/_skus_operations.py +15 -18
  59. azure/mgmt/storage/{v2024_01_01/operations → operations}/_storage_accounts_operations.py +101 -109
  60. azure/mgmt/storage/{v2024_01_01/operations → operations}/_storage_task_assignment_instances_report_operations.py +17 -21
  61. azure/mgmt/storage/{v2024_01_01/operations → operations}/_storage_task_assignments_instances_report_operations.py +17 -21
  62. azure/mgmt/storage/{v2024_01_01/operations → operations}/_storage_task_assignments_operations.py +42 -53
  63. azure/mgmt/storage/{v2024_01_01/operations → operations}/_table_operations.py +36 -38
  64. azure/mgmt/storage/{v2024_01_01/operations → operations}/_table_services_operations.py +24 -26
  65. azure/mgmt/storage/{v2024_01_01/operations → operations}/_usages_operations.py +16 -19
  66. {azure_mgmt_storage-22.2.0.dist-info → azure_mgmt_storage-23.0.1.dist-info}/METADATA +17 -6
  67. azure_mgmt_storage-23.0.1.dist-info/RECORD +73 -0
  68. azure/mgmt/storage/models.py +0 -8
  69. azure/mgmt/storage/v2016_01_01/__init__.py +0 -32
  70. azure/mgmt/storage/v2016_01_01/_configuration.py +0 -65
  71. azure/mgmt/storage/v2016_01_01/_patch.py +0 -32
  72. azure/mgmt/storage/v2016_01_01/_storage_management_client.py +0 -117
  73. azure/mgmt/storage/v2016_01_01/aio/__init__.py +0 -29
  74. azure/mgmt/storage/v2016_01_01/aio/_configuration.py +0 -65
  75. azure/mgmt/storage/v2016_01_01/aio/_patch.py +0 -32
  76. azure/mgmt/storage/v2016_01_01/aio/_storage_management_client.py +0 -120
  77. azure/mgmt/storage/v2016_01_01/aio/operations/__init__.py +0 -27
  78. azure/mgmt/storage/v2016_01_01/aio/operations/_storage_accounts_operations.py +0 -1023
  79. azure/mgmt/storage/v2016_01_01/aio/operations/_usage_operations.py +0 -130
  80. azure/mgmt/storage/v2016_01_01/models/__init__.py +0 -88
  81. azure/mgmt/storage/v2016_01_01/models/_models_py3.py +0 -829
  82. azure/mgmt/storage/v2016_01_01/models/_storage_management_client_enums.py +0 -99
  83. azure/mgmt/storage/v2016_01_01/operations/__init__.py +0 -27
  84. azure/mgmt/storage/v2016_01_01/operations/_storage_accounts_operations.py +0 -1278
  85. azure/mgmt/storage/v2016_01_01/operations/_usage_operations.py +0 -157
  86. azure/mgmt/storage/v2016_01_01/py.typed +0 -1
  87. azure/mgmt/storage/v2017_10_01/__init__.py +0 -32
  88. azure/mgmt/storage/v2017_10_01/_configuration.py +0 -65
  89. azure/mgmt/storage/v2017_10_01/_patch.py +0 -32
  90. azure/mgmt/storage/v2017_10_01/_storage_management.py +0 -121
  91. azure/mgmt/storage/v2017_10_01/_version.py +0 -9
  92. azure/mgmt/storage/v2017_10_01/aio/__init__.py +0 -29
  93. azure/mgmt/storage/v2017_10_01/aio/_configuration.py +0 -65
  94. azure/mgmt/storage/v2017_10_01/aio/_patch.py +0 -32
  95. azure/mgmt/storage/v2017_10_01/aio/_storage_management.py +0 -124
  96. azure/mgmt/storage/v2017_10_01/aio/operations/__init__.py +0 -31
  97. azure/mgmt/storage/v2017_10_01/aio/operations/_skus_operations.py +0 -130
  98. azure/mgmt/storage/v2017_10_01/aio/operations/_storage_accounts_operations.py +0 -1299
  99. azure/mgmt/storage/v2017_10_01/aio/operations/_usage_operations.py +0 -130
  100. azure/mgmt/storage/v2017_10_01/models/__init__.py +0 -140
  101. azure/mgmt/storage/v2017_10_01/models/_models_py3.py +0 -1851
  102. azure/mgmt/storage/v2017_10_01/models/_patch.py +0 -20
  103. azure/mgmt/storage/v2017_10_01/models/_storage_management_enums.py +0 -192
  104. azure/mgmt/storage/v2017_10_01/operations/__init__.py +0 -31
  105. azure/mgmt/storage/v2017_10_01/operations/_operations.py +0 -151
  106. azure/mgmt/storage/v2017_10_01/operations/_patch.py +0 -20
  107. azure/mgmt/storage/v2017_10_01/operations/_skus_operations.py +0 -157
  108. azure/mgmt/storage/v2017_10_01/operations/_storage_accounts_operations.py +0 -1638
  109. azure/mgmt/storage/v2017_10_01/operations/_usage_operations.py +0 -157
  110. azure/mgmt/storage/v2017_10_01/py.typed +0 -1
  111. azure/mgmt/storage/v2019_06_01/__init__.py +0 -32
  112. azure/mgmt/storage/v2019_06_01/_configuration.py +0 -64
  113. azure/mgmt/storage/v2019_06_01/_patch.py +0 -32
  114. azure/mgmt/storage/v2019_06_01/_storage_management_client.py +0 -213
  115. azure/mgmt/storage/v2019_06_01/_version.py +0 -9
  116. azure/mgmt/storage/v2019_06_01/aio/__init__.py +0 -29
  117. azure/mgmt/storage/v2019_06_01/aio/_configuration.py +0 -64
  118. azure/mgmt/storage/v2019_06_01/aio/_patch.py +0 -32
  119. azure/mgmt/storage/v2019_06_01/aio/_storage_management_client.py +0 -217
  120. azure/mgmt/storage/v2019_06_01/aio/operations/__init__.py +0 -59
  121. azure/mgmt/storage/v2019_06_01/aio/operations/_blob_containers_operations.py +0 -1725
  122. azure/mgmt/storage/v2019_06_01/aio/operations/_blob_inventory_policies_operations.py +0 -437
  123. azure/mgmt/storage/v2019_06_01/aio/operations/_blob_services_operations.py +0 -368
  124. azure/mgmt/storage/v2019_06_01/aio/operations/_encryption_scopes_operations.py +0 -538
  125. azure/mgmt/storage/v2019_06_01/aio/operations/_file_services_operations.py +0 -335
  126. azure/mgmt/storage/v2019_06_01/aio/operations/_file_shares_operations.py +0 -771
  127. azure/mgmt/storage/v2019_06_01/aio/operations/_object_replication_policies_operations.py +0 -428
  128. azure/mgmt/storage/v2019_06_01/aio/operations/_operations.py +0 -130
  129. azure/mgmt/storage/v2019_06_01/aio/operations/_patch.py +0 -20
  130. azure/mgmt/storage/v2019_06_01/aio/operations/_private_endpoint_connections_operations.py +0 -424
  131. azure/mgmt/storage/v2019_06_01/aio/operations/_private_link_resources_operations.py +0 -113
  132. azure/mgmt/storage/v2019_06_01/aio/operations/_queue_operations.py +0 -597
  133. azure/mgmt/storage/v2019_06_01/aio/operations/_queue_services_operations.py +0 -335
  134. azure/mgmt/storage/v2019_06_01/aio/operations/_skus_operations.py +0 -131
  135. azure/mgmt/storage/v2019_06_01/aio/operations/_storage_accounts_operations.py +0 -1696
  136. azure/mgmt/storage/v2019_06_01/aio/operations/_table_operations.py +0 -394
  137. azure/mgmt/storage/v2019_06_01/aio/operations/_table_services_operations.py +0 -335
  138. azure/mgmt/storage/v2019_06_01/aio/operations/_usages_operations.py +0 -134
  139. azure/mgmt/storage/v2019_06_01/models/__init__.py +0 -364
  140. azure/mgmt/storage/v2019_06_01/models/_models_py3.py +0 -6038
  141. azure/mgmt/storage/v2019_06_01/models/_patch.py +0 -20
  142. azure/mgmt/storage/v2019_06_01/models/_storage_management_client_enums.py +0 -456
  143. azure/mgmt/storage/v2019_06_01/operations/__init__.py +0 -59
  144. azure/mgmt/storage/v2019_06_01/operations/_blob_containers_operations.py +0 -2226
  145. azure/mgmt/storage/v2019_06_01/operations/_blob_inventory_policies_operations.py +0 -582
  146. azure/mgmt/storage/v2019_06_01/operations/_blob_services_operations.py +0 -476
  147. azure/mgmt/storage/v2019_06_01/operations/_encryption_scopes_operations.py +0 -677
  148. azure/mgmt/storage/v2019_06_01/operations/_file_services_operations.py +0 -444
  149. azure/mgmt/storage/v2019_06_01/operations/_file_shares_operations.py +0 -1000
  150. azure/mgmt/storage/v2019_06_01/operations/_management_policies_operations.py +0 -453
  151. azure/mgmt/storage/v2019_06_01/operations/_object_replication_policies_operations.py +0 -567
  152. azure/mgmt/storage/v2019_06_01/operations/_operations.py +0 -151
  153. azure/mgmt/storage/v2019_06_01/operations/_patch.py +0 -20
  154. azure/mgmt/storage/v2019_06_01/operations/_private_endpoint_connections_operations.py +0 -575
  155. azure/mgmt/storage/v2019_06_01/operations/_private_link_resources_operations.py +0 -149
  156. azure/mgmt/storage/v2019_06_01/operations/_queue_operations.py +0 -805
  157. azure/mgmt/storage/v2019_06_01/operations/_queue_services_operations.py +0 -444
  158. azure/mgmt/storage/v2019_06_01/operations/_skus_operations.py +0 -157
  159. azure/mgmt/storage/v2019_06_01/operations/_storage_accounts_operations.py +0 -2122
  160. azure/mgmt/storage/v2019_06_01/operations/_table_operations.py +0 -563
  161. azure/mgmt/storage/v2019_06_01/operations/_table_services_operations.py +0 -444
  162. azure/mgmt/storage/v2019_06_01/operations/_usages_operations.py +0 -164
  163. azure/mgmt/storage/v2019_06_01/py.typed +0 -1
  164. azure/mgmt/storage/v2024_01_01/__init__.py +0 -32
  165. azure/mgmt/storage/v2024_01_01/_configuration.py +0 -64
  166. azure/mgmt/storage/v2024_01_01/_patch.py +0 -20
  167. azure/mgmt/storage/v2024_01_01/_storage_management_client.py +0 -256
  168. azure/mgmt/storage/v2024_01_01/_version.py +0 -9
  169. azure/mgmt/storage/v2024_01_01/aio/__init__.py +0 -29
  170. azure/mgmt/storage/v2024_01_01/aio/_configuration.py +0 -64
  171. azure/mgmt/storage/v2024_01_01/aio/_patch.py +0 -20
  172. azure/mgmt/storage/v2024_01_01/aio/_storage_management_client.py +0 -261
  173. azure/mgmt/storage/v2024_01_01/aio/operations/_management_policies_operations.py +0 -343
  174. azure/mgmt/storage/v2024_01_01/aio/operations/_operations.py +0 -130
  175. azure/mgmt/storage/v2024_01_01/aio/operations/_patch.py +0 -20
  176. azure/mgmt/storage/v2024_01_01/models/_patch.py +0 -20
  177. azure/mgmt/storage/v2024_01_01/operations/_patch.py +0 -20
  178. azure/mgmt/storage/v2024_01_01/py.typed +0 -1
  179. azure_mgmt_storage-22.2.0.dist-info/RECORD +0 -183
  180. /azure/mgmt/storage/{v2024_01_01/models → models}/__init__.py +0 -0
  181. /azure/mgmt/storage/{v2024_01_01/models → models}/_storage_management_client_enums.py +0 -0
  182. {azure_mgmt_storage-22.2.0.dist-info → azure_mgmt_storage-23.0.1.dist-info}/LICENSE +0 -0
  183. {azure_mgmt_storage-22.2.0.dist-info → azure_mgmt_storage-23.0.1.dist-info}/WHEEL +0 -0
  184. {azure_mgmt_storage-22.2.0.dist-info → azure_mgmt_storage-23.0.1.dist-info}/top_level.txt +0 -0
@@ -1,563 +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
- import sys
9
- from typing import Any, Callable, Dict, Iterable, Optional, TypeVar
10
- import urllib.parse
11
-
12
- from azure.core.exceptions import (
13
- ClientAuthenticationError,
14
- HttpResponseError,
15
- ResourceExistsError,
16
- ResourceNotFoundError,
17
- ResourceNotModifiedError,
18
- map_error,
19
- )
20
- from azure.core.paging import ItemPaged
21
- from azure.core.pipeline import PipelineResponse
22
- from azure.core.rest import HttpRequest, HttpResponse
23
- from azure.core.tracing.decorator import distributed_trace
24
- from azure.core.utils import case_insensitive_dict
25
- from azure.mgmt.core.exceptions import ARMErrorFormat
26
-
27
- from .. import models as _models
28
- from ..._serialization import Serializer
29
-
30
- if sys.version_info >= (3, 9):
31
- from collections.abc import MutableMapping
32
- else:
33
- from typing import MutableMapping # type: ignore
34
- T = TypeVar("T")
35
- ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
36
-
37
- _SERIALIZER = Serializer()
38
- _SERIALIZER.client_side_validation = False
39
-
40
-
41
- def build_create_request(
42
- resource_group_name: str, account_name: str, table_name: str, subscription_id: str, **kwargs: Any
43
- ) -> HttpRequest:
44
- _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
45
- _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
46
-
47
- api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2019-06-01"))
48
- accept = _headers.pop("Accept", "application/json")
49
-
50
- # Construct URL
51
- _url = kwargs.pop(
52
- "template_url",
53
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/default/tables/{tableName}",
54
- ) # pylint: disable=line-too-long
55
- path_format_arguments = {
56
- "resourceGroupName": _SERIALIZER.url(
57
- "resource_group_name", resource_group_name, "str", max_length=90, min_length=1, pattern=r"^[-\w\._\(\)]+$"
58
- ),
59
- "accountName": _SERIALIZER.url("account_name", account_name, "str", max_length=24, min_length=3),
60
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
61
- "tableName": _SERIALIZER.url(
62
- "table_name", table_name, "str", max_length=63, min_length=3, pattern=r"^[A-Za-z][A-Za-z0-9]{2,62}$"
63
- ),
64
- }
65
-
66
- _url: str = _url.format(**path_format_arguments) # type: ignore
67
-
68
- # Construct parameters
69
- _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
70
-
71
- # Construct headers
72
- _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
73
-
74
- return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs)
75
-
76
-
77
- def build_update_request(
78
- resource_group_name: str, account_name: str, table_name: str, subscription_id: str, **kwargs: Any
79
- ) -> HttpRequest:
80
- _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
81
- _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
82
-
83
- api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2019-06-01"))
84
- accept = _headers.pop("Accept", "application/json")
85
-
86
- # Construct URL
87
- _url = kwargs.pop(
88
- "template_url",
89
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/default/tables/{tableName}",
90
- ) # pylint: disable=line-too-long
91
- path_format_arguments = {
92
- "resourceGroupName": _SERIALIZER.url(
93
- "resource_group_name", resource_group_name, "str", max_length=90, min_length=1, pattern=r"^[-\w\._\(\)]+$"
94
- ),
95
- "accountName": _SERIALIZER.url("account_name", account_name, "str", max_length=24, min_length=3),
96
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
97
- "tableName": _SERIALIZER.url(
98
- "table_name", table_name, "str", max_length=63, min_length=3, pattern=r"^[A-Za-z][A-Za-z0-9]{2,62}$"
99
- ),
100
- }
101
-
102
- _url: str = _url.format(**path_format_arguments) # type: ignore
103
-
104
- # Construct parameters
105
- _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
106
-
107
- # Construct headers
108
- _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
109
-
110
- return HttpRequest(method="PATCH", url=_url, params=_params, headers=_headers, **kwargs)
111
-
112
-
113
- def build_get_request(
114
- resource_group_name: str, account_name: str, table_name: str, subscription_id: str, **kwargs: Any
115
- ) -> HttpRequest:
116
- _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
117
- _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
118
-
119
- api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2019-06-01"))
120
- accept = _headers.pop("Accept", "application/json")
121
-
122
- # Construct URL
123
- _url = kwargs.pop(
124
- "template_url",
125
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/default/tables/{tableName}",
126
- ) # pylint: disable=line-too-long
127
- path_format_arguments = {
128
- "resourceGroupName": _SERIALIZER.url(
129
- "resource_group_name", resource_group_name, "str", max_length=90, min_length=1, pattern=r"^[-\w\._\(\)]+$"
130
- ),
131
- "accountName": _SERIALIZER.url("account_name", account_name, "str", max_length=24, min_length=3),
132
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
133
- "tableName": _SERIALIZER.url(
134
- "table_name", table_name, "str", max_length=63, min_length=3, pattern=r"^[A-Za-z][A-Za-z0-9]{2,62}$"
135
- ),
136
- }
137
-
138
- _url: str = _url.format(**path_format_arguments) # type: ignore
139
-
140
- # Construct parameters
141
- _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
142
-
143
- # Construct headers
144
- _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
145
-
146
- return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
147
-
148
-
149
- def build_delete_request(
150
- resource_group_name: str, account_name: str, table_name: str, subscription_id: str, **kwargs: Any
151
- ) -> HttpRequest:
152
- _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
153
- _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
154
-
155
- api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2019-06-01"))
156
- accept = _headers.pop("Accept", "application/json")
157
-
158
- # Construct URL
159
- _url = kwargs.pop(
160
- "template_url",
161
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/default/tables/{tableName}",
162
- ) # pylint: disable=line-too-long
163
- path_format_arguments = {
164
- "resourceGroupName": _SERIALIZER.url(
165
- "resource_group_name", resource_group_name, "str", max_length=90, min_length=1, pattern=r"^[-\w\._\(\)]+$"
166
- ),
167
- "accountName": _SERIALIZER.url("account_name", account_name, "str", max_length=24, min_length=3),
168
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
169
- "tableName": _SERIALIZER.url(
170
- "table_name", table_name, "str", max_length=63, min_length=3, pattern=r"^[A-Za-z][A-Za-z0-9]{2,62}$"
171
- ),
172
- }
173
-
174
- _url: str = _url.format(**path_format_arguments) # type: ignore
175
-
176
- # Construct parameters
177
- _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
178
-
179
- # Construct headers
180
- _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
181
-
182
- return HttpRequest(method="DELETE", url=_url, params=_params, headers=_headers, **kwargs)
183
-
184
-
185
- def build_list_request(resource_group_name: str, account_name: str, subscription_id: str, **kwargs: Any) -> HttpRequest:
186
- _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
187
- _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
188
-
189
- api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2019-06-01"))
190
- accept = _headers.pop("Accept", "application/json")
191
-
192
- # Construct URL
193
- _url = kwargs.pop(
194
- "template_url",
195
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/default/tables",
196
- ) # pylint: disable=line-too-long
197
- path_format_arguments = {
198
- "resourceGroupName": _SERIALIZER.url(
199
- "resource_group_name", resource_group_name, "str", max_length=90, min_length=1, pattern=r"^[-\w\._\(\)]+$"
200
- ),
201
- "accountName": _SERIALIZER.url("account_name", account_name, "str", max_length=24, min_length=3),
202
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
203
- }
204
-
205
- _url: str = _url.format(**path_format_arguments) # type: ignore
206
-
207
- # Construct parameters
208
- _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
209
-
210
- # Construct headers
211
- _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
212
-
213
- return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
214
-
215
-
216
- class TableOperations:
217
- """
218
- .. warning::
219
- **DO NOT** instantiate this class directly.
220
-
221
- Instead, you should access the following operations through
222
- :class:`~azure.mgmt.storage.v2019_06_01.StorageManagementClient`'s
223
- :attr:`table` attribute.
224
- """
225
-
226
- models = _models
227
-
228
- def __init__(self, *args, **kwargs):
229
- input_args = list(args)
230
- self._client = input_args.pop(0) if input_args else kwargs.pop("client")
231
- self._config = input_args.pop(0) if input_args else kwargs.pop("config")
232
- self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
233
- self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
234
- self._api_version = input_args.pop(0) if input_args else kwargs.pop("api_version")
235
-
236
- @distributed_trace
237
- def create(self, resource_group_name: str, account_name: str, table_name: str, **kwargs: Any) -> _models.Table:
238
- """Creates a new table with the specified table name, under the specified account.
239
-
240
- :param resource_group_name: The name of the resource group within the user's subscription. The
241
- name is case insensitive. Required.
242
- :type resource_group_name: str
243
- :param account_name: The name of the storage account within the specified resource group.
244
- Storage account names must be between 3 and 24 characters in length and use numbers and
245
- lower-case letters only. Required.
246
- :type account_name: str
247
- :param table_name: A table name must be unique within a storage account and must be between 3
248
- and 63 characters.The name must comprise of only alphanumeric characters and it cannot begin
249
- with a numeric character. Required.
250
- :type table_name: str
251
- :return: Table or the result of cls(response)
252
- :rtype: ~azure.mgmt.storage.v2019_06_01.models.Table
253
- :raises ~azure.core.exceptions.HttpResponseError:
254
- """
255
- error_map: MutableMapping = {
256
- 401: ClientAuthenticationError,
257
- 404: ResourceNotFoundError,
258
- 409: ResourceExistsError,
259
- 304: ResourceNotModifiedError,
260
- }
261
- error_map.update(kwargs.pop("error_map", {}) or {})
262
-
263
- _headers = kwargs.pop("headers", {}) or {}
264
- _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
265
-
266
- api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._api_version or "2019-06-01"))
267
- cls: ClsType[_models.Table] = kwargs.pop("cls", None)
268
-
269
- _request = build_create_request(
270
- resource_group_name=resource_group_name,
271
- account_name=account_name,
272
- table_name=table_name,
273
- subscription_id=self._config.subscription_id,
274
- api_version=api_version,
275
- headers=_headers,
276
- params=_params,
277
- )
278
- _request.url = self._client.format_url(_request.url)
279
-
280
- _stream = False
281
- pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
282
- _request, stream=_stream, **kwargs
283
- )
284
-
285
- response = pipeline_response.http_response
286
-
287
- if response.status_code not in [200]:
288
- map_error(status_code=response.status_code, response=response, error_map=error_map)
289
- raise HttpResponseError(response=response, error_format=ARMErrorFormat)
290
-
291
- deserialized = self._deserialize("Table", pipeline_response.http_response)
292
-
293
- if cls:
294
- return cls(pipeline_response, deserialized, {}) # type: ignore
295
-
296
- return deserialized # type: ignore
297
-
298
- @distributed_trace
299
- def update(self, resource_group_name: str, account_name: str, table_name: str, **kwargs: Any) -> _models.Table:
300
- """Creates a new table with the specified table name, under the specified account.
301
-
302
- :param resource_group_name: The name of the resource group within the user's subscription. The
303
- name is case insensitive. Required.
304
- :type resource_group_name: str
305
- :param account_name: The name of the storage account within the specified resource group.
306
- Storage account names must be between 3 and 24 characters in length and use numbers and
307
- lower-case letters only. Required.
308
- :type account_name: str
309
- :param table_name: A table name must be unique within a storage account and must be between 3
310
- and 63 characters.The name must comprise of only alphanumeric characters and it cannot begin
311
- with a numeric character. Required.
312
- :type table_name: str
313
- :return: Table or the result of cls(response)
314
- :rtype: ~azure.mgmt.storage.v2019_06_01.models.Table
315
- :raises ~azure.core.exceptions.HttpResponseError:
316
- """
317
- error_map: MutableMapping = {
318
- 401: ClientAuthenticationError,
319
- 404: ResourceNotFoundError,
320
- 409: ResourceExistsError,
321
- 304: ResourceNotModifiedError,
322
- }
323
- error_map.update(kwargs.pop("error_map", {}) or {})
324
-
325
- _headers = kwargs.pop("headers", {}) or {}
326
- _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
327
-
328
- api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._api_version or "2019-06-01"))
329
- cls: ClsType[_models.Table] = kwargs.pop("cls", None)
330
-
331
- _request = build_update_request(
332
- resource_group_name=resource_group_name,
333
- account_name=account_name,
334
- table_name=table_name,
335
- subscription_id=self._config.subscription_id,
336
- api_version=api_version,
337
- headers=_headers,
338
- params=_params,
339
- )
340
- _request.url = self._client.format_url(_request.url)
341
-
342
- _stream = False
343
- pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
344
- _request, stream=_stream, **kwargs
345
- )
346
-
347
- response = pipeline_response.http_response
348
-
349
- if response.status_code not in [200]:
350
- map_error(status_code=response.status_code, response=response, error_map=error_map)
351
- raise HttpResponseError(response=response, error_format=ARMErrorFormat)
352
-
353
- deserialized = self._deserialize("Table", pipeline_response.http_response)
354
-
355
- if cls:
356
- return cls(pipeline_response, deserialized, {}) # type: ignore
357
-
358
- return deserialized # type: ignore
359
-
360
- @distributed_trace
361
- def get(self, resource_group_name: str, account_name: str, table_name: str, **kwargs: Any) -> _models.Table:
362
- """Gets the table with the specified table name, under the specified account if it exists.
363
-
364
- :param resource_group_name: The name of the resource group within the user's subscription. The
365
- name is case insensitive. Required.
366
- :type resource_group_name: str
367
- :param account_name: The name of the storage account within the specified resource group.
368
- Storage account names must be between 3 and 24 characters in length and use numbers and
369
- lower-case letters only. Required.
370
- :type account_name: str
371
- :param table_name: A table name must be unique within a storage account and must be between 3
372
- and 63 characters.The name must comprise of only alphanumeric characters and it cannot begin
373
- with a numeric character. Required.
374
- :type table_name: str
375
- :return: Table or the result of cls(response)
376
- :rtype: ~azure.mgmt.storage.v2019_06_01.models.Table
377
- :raises ~azure.core.exceptions.HttpResponseError:
378
- """
379
- error_map: MutableMapping = {
380
- 401: ClientAuthenticationError,
381
- 404: ResourceNotFoundError,
382
- 409: ResourceExistsError,
383
- 304: ResourceNotModifiedError,
384
- }
385
- error_map.update(kwargs.pop("error_map", {}) or {})
386
-
387
- _headers = kwargs.pop("headers", {}) or {}
388
- _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
389
-
390
- api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._api_version or "2019-06-01"))
391
- cls: ClsType[_models.Table] = kwargs.pop("cls", None)
392
-
393
- _request = build_get_request(
394
- resource_group_name=resource_group_name,
395
- account_name=account_name,
396
- table_name=table_name,
397
- subscription_id=self._config.subscription_id,
398
- api_version=api_version,
399
- headers=_headers,
400
- params=_params,
401
- )
402
- _request.url = self._client.format_url(_request.url)
403
-
404
- _stream = False
405
- pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
406
- _request, stream=_stream, **kwargs
407
- )
408
-
409
- response = pipeline_response.http_response
410
-
411
- if response.status_code not in [200]:
412
- map_error(status_code=response.status_code, response=response, error_map=error_map)
413
- raise HttpResponseError(response=response, error_format=ARMErrorFormat)
414
-
415
- deserialized = self._deserialize("Table", pipeline_response.http_response)
416
-
417
- if cls:
418
- return cls(pipeline_response, deserialized, {}) # type: ignore
419
-
420
- return deserialized # type: ignore
421
-
422
- @distributed_trace
423
- def delete( # pylint: disable=inconsistent-return-statements
424
- self, resource_group_name: str, account_name: str, table_name: str, **kwargs: Any
425
- ) -> None:
426
- """Deletes the table with the specified table name, under the specified account if it exists.
427
-
428
- :param resource_group_name: The name of the resource group within the user's subscription. The
429
- name is case insensitive. Required.
430
- :type resource_group_name: str
431
- :param account_name: The name of the storage account within the specified resource group.
432
- Storage account names must be between 3 and 24 characters in length and use numbers and
433
- lower-case letters only. Required.
434
- :type account_name: str
435
- :param table_name: A table name must be unique within a storage account and must be between 3
436
- and 63 characters.The name must comprise of only alphanumeric characters and it cannot begin
437
- with a numeric character. Required.
438
- :type table_name: str
439
- :return: None or the result of cls(response)
440
- :rtype: None
441
- :raises ~azure.core.exceptions.HttpResponseError:
442
- """
443
- error_map: MutableMapping = {
444
- 401: ClientAuthenticationError,
445
- 404: ResourceNotFoundError,
446
- 409: ResourceExistsError,
447
- 304: ResourceNotModifiedError,
448
- }
449
- error_map.update(kwargs.pop("error_map", {}) or {})
450
-
451
- _headers = kwargs.pop("headers", {}) or {}
452
- _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
453
-
454
- api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._api_version or "2019-06-01"))
455
- cls: ClsType[None] = kwargs.pop("cls", None)
456
-
457
- _request = build_delete_request(
458
- resource_group_name=resource_group_name,
459
- account_name=account_name,
460
- table_name=table_name,
461
- subscription_id=self._config.subscription_id,
462
- api_version=api_version,
463
- headers=_headers,
464
- params=_params,
465
- )
466
- _request.url = self._client.format_url(_request.url)
467
-
468
- _stream = False
469
- pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
470
- _request, stream=_stream, **kwargs
471
- )
472
-
473
- response = pipeline_response.http_response
474
-
475
- if response.status_code not in [204]:
476
- map_error(status_code=response.status_code, response=response, error_map=error_map)
477
- raise HttpResponseError(response=response, error_format=ARMErrorFormat)
478
-
479
- if cls:
480
- return cls(pipeline_response, None, {}) # type: ignore
481
-
482
- @distributed_trace
483
- def list(self, resource_group_name: str, account_name: str, **kwargs: Any) -> Iterable["_models.Table"]:
484
- """Gets a list of all the tables under the specified storage account.
485
-
486
- :param resource_group_name: The name of the resource group within the user's subscription. The
487
- name is case insensitive. Required.
488
- :type resource_group_name: str
489
- :param account_name: The name of the storage account within the specified resource group.
490
- Storage account names must be between 3 and 24 characters in length and use numbers and
491
- lower-case letters only. Required.
492
- :type account_name: str
493
- :return: An iterator like instance of either Table or the result of cls(response)
494
- :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.storage.v2019_06_01.models.Table]
495
- :raises ~azure.core.exceptions.HttpResponseError:
496
- """
497
- _headers = kwargs.pop("headers", {}) or {}
498
- _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
499
-
500
- api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._api_version or "2019-06-01"))
501
- cls: ClsType[_models.ListTableResource] = kwargs.pop("cls", None)
502
-
503
- error_map: MutableMapping = {
504
- 401: ClientAuthenticationError,
505
- 404: ResourceNotFoundError,
506
- 409: ResourceExistsError,
507
- 304: ResourceNotModifiedError,
508
- }
509
- error_map.update(kwargs.pop("error_map", {}) or {})
510
-
511
- def prepare_request(next_link=None):
512
- if not next_link:
513
-
514
- _request = build_list_request(
515
- resource_group_name=resource_group_name,
516
- account_name=account_name,
517
- subscription_id=self._config.subscription_id,
518
- api_version=api_version,
519
- headers=_headers,
520
- params=_params,
521
- )
522
- _request.url = self._client.format_url(_request.url)
523
-
524
- else:
525
- # make call to next link with the client's api-version
526
- _parsed_next_link = urllib.parse.urlparse(next_link)
527
- _next_request_params = case_insensitive_dict(
528
- {
529
- key: [urllib.parse.quote(v) for v in value]
530
- for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
531
- }
532
- )
533
- _next_request_params["api-version"] = self._api_version
534
- _request = HttpRequest(
535
- "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
536
- )
537
- _request.url = self._client.format_url(_request.url)
538
- _request.method = "GET"
539
- return _request
540
-
541
- def extract_data(pipeline_response):
542
- deserialized = self._deserialize("ListTableResource", pipeline_response)
543
- list_of_elem = deserialized.value
544
- if cls:
545
- list_of_elem = cls(list_of_elem) # type: ignore
546
- return deserialized.next_link or None, iter(list_of_elem)
547
-
548
- def get_next(next_link=None):
549
- _request = prepare_request(next_link)
550
-
551
- _stream = False
552
- pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
553
- _request, stream=_stream, **kwargs
554
- )
555
- response = pipeline_response.http_response
556
-
557
- if response.status_code not in [200]:
558
- map_error(status_code=response.status_code, response=response, error_map=error_map)
559
- raise HttpResponseError(response=response, error_format=ARMErrorFormat)
560
-
561
- return pipeline_response
562
-
563
- return ItemPaged(get_next, extract_data)