azure-mgmt-storage 21.2.1__py3-none-any.whl → 22.1.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.
- azure/mgmt/storage/_serialization.py +281 -168
- azure/mgmt/storage/_storage_management_client.py +90 -869
- azure/mgmt/storage/_version.py +1 -1
- azure/mgmt/storage/aio/_storage_management_client.py +90 -869
- azure/mgmt/storage/models.py +2 -2
- azure/mgmt/storage/v2016_01_01/__init__.py +9 -3
- azure/mgmt/storage/v2016_01_01/_configuration.py +1 -2
- azure/mgmt/storage/v2016_01_01/_storage_management_client.py +3 -3
- azure/mgmt/storage/v2016_01_01/_version.py +1 -1
- azure/mgmt/storage/v2016_01_01/aio/__init__.py +9 -3
- azure/mgmt/storage/v2016_01_01/aio/_configuration.py +1 -2
- azure/mgmt/storage/v2016_01_01/aio/_storage_management_client.py +3 -3
- azure/mgmt/storage/v2016_01_01/aio/operations/__init__.py +10 -4
- azure/mgmt/storage/v2016_01_01/aio/operations/_storage_accounts_operations.py +32 -41
- azure/mgmt/storage/v2016_01_01/aio/operations/_usage_operations.py +4 -9
- azure/mgmt/storage/v2016_01_01/models/__init__.py +43 -32
- azure/mgmt/storage/v2016_01_01/models/_models_py3.py +1 -3
- azure/mgmt/storage/v2016_01_01/operations/__init__.py +10 -4
- azure/mgmt/storage/v2016_01_01/operations/_storage_accounts_operations.py +31 -38
- azure/mgmt/storage/v2016_01_01/operations/_usage_operations.py +4 -9
- azure/mgmt/storage/v2016_01_01/py.typed +1 -0
- azure/mgmt/storage/v2017_10_01/__init__.py +9 -3
- azure/mgmt/storage/v2017_10_01/_configuration.py +1 -2
- azure/mgmt/storage/v2017_10_01/_storage_management.py +3 -3
- azure/mgmt/storage/v2017_10_01/_version.py +1 -1
- azure/mgmt/storage/v2017_10_01/aio/__init__.py +9 -3
- azure/mgmt/storage/v2017_10_01/aio/_configuration.py +1 -2
- azure/mgmt/storage/v2017_10_01/aio/_storage_management.py +3 -3
- azure/mgmt/storage/v2017_10_01/aio/operations/__init__.py +12 -6
- azure/mgmt/storage/v2017_10_01/aio/operations/_operations.py +4 -9
- azure/mgmt/storage/v2017_10_01/aio/operations/_skus_operations.py +4 -9
- azure/mgmt/storage/v2017_10_01/aio/operations/_storage_accounts_operations.py +36 -47
- azure/mgmt/storage/v2017_10_01/aio/operations/_usage_operations.py +4 -9
- azure/mgmt/storage/v2017_10_01/models/__init__.py +69 -58
- azure/mgmt/storage/v2017_10_01/models/_models_py3.py +3 -4
- azure/mgmt/storage/v2017_10_01/operations/__init__.py +12 -6
- azure/mgmt/storage/v2017_10_01/operations/_operations.py +4 -9
- azure/mgmt/storage/v2017_10_01/operations/_skus_operations.py +4 -9
- azure/mgmt/storage/v2017_10_01/operations/_storage_accounts_operations.py +35 -44
- azure/mgmt/storage/v2017_10_01/operations/_usage_operations.py +4 -9
- azure/mgmt/storage/v2017_10_01/py.typed +1 -0
- azure/mgmt/storage/v2019_06_01/__init__.py +9 -3
- azure/mgmt/storage/v2019_06_01/_configuration.py +1 -2
- azure/mgmt/storage/v2019_06_01/_storage_management_client.py +3 -3
- azure/mgmt/storage/v2019_06_01/_version.py +1 -1
- azure/mgmt/storage/v2019_06_01/aio/__init__.py +9 -3
- azure/mgmt/storage/v2019_06_01/aio/_configuration.py +1 -2
- azure/mgmt/storage/v2019_06_01/aio/_storage_management_client.py +3 -3
- azure/mgmt/storage/v2019_06_01/aio/operations/__init__.py +26 -20
- azure/mgmt/storage/v2019_06_01/aio/operations/_blob_containers_operations.py +29 -51
- azure/mgmt/storage/v2019_06_01/aio/operations/_blob_inventory_policies_operations.py +10 -18
- azure/mgmt/storage/v2019_06_01/aio/operations/_blob_services_operations.py +8 -15
- azure/mgmt/storage/v2019_06_01/aio/operations/_encryption_scopes_operations.py +10 -22
- azure/mgmt/storage/v2019_06_01/aio/operations/_file_services_operations.py +9 -15
- azure/mgmt/storage/v2019_06_01/aio/operations/_file_shares_operations.py +16 -32
- azure/mgmt/storage/v2019_06_01/aio/operations/_management_policies_operations.py +9 -15
- azure/mgmt/storage/v2019_06_01/aio/operations/_object_replication_policies_operations.py +10 -18
- azure/mgmt/storage/v2019_06_01/aio/operations/_operations.py +4 -9
- azure/mgmt/storage/v2019_06_01/aio/operations/_private_endpoint_connections_operations.py +10 -18
- azure/mgmt/storage/v2019_06_01/aio/operations/_private_link_resources_operations.py +5 -9
- azure/mgmt/storage/v2019_06_01/aio/operations/_queue_operations.py +12 -23
- azure/mgmt/storage/v2019_06_01/aio/operations/_queue_services_operations.py +9 -15
- azure/mgmt/storage/v2019_06_01/aio/operations/_skus_operations.py +4 -9
- azure/mgmt/storage/v2019_06_01/aio/operations/_storage_accounts_operations.py +80 -71
- azure/mgmt/storage/v2019_06_01/aio/operations/_table_operations.py +12 -23
- azure/mgmt/storage/v2019_06_01/aio/operations/_table_services_operations.py +9 -15
- azure/mgmt/storage/v2019_06_01/aio/operations/_usages_operations.py +4 -9
- azure/mgmt/storage/v2019_06_01/models/__init__.py +181 -170
- azure/mgmt/storage/v2019_06_01/models/_models_py3.py +12 -13
- azure/mgmt/storage/v2019_06_01/models/_storage_management_client_enums.py +1 -0
- azure/mgmt/storage/v2019_06_01/operations/__init__.py +26 -20
- azure/mgmt/storage/v2019_06_01/operations/_blob_containers_operations.py +28 -48
- azure/mgmt/storage/v2019_06_01/operations/_blob_inventory_policies_operations.py +9 -17
- azure/mgmt/storage/v2019_06_01/operations/_blob_services_operations.py +8 -15
- azure/mgmt/storage/v2019_06_01/operations/_encryption_scopes_operations.py +10 -22
- azure/mgmt/storage/v2019_06_01/operations/_file_services_operations.py +9 -15
- azure/mgmt/storage/v2019_06_01/operations/_file_shares_operations.py +14 -28
- azure/mgmt/storage/v2019_06_01/operations/_management_policies_operations.py +8 -14
- azure/mgmt/storage/v2019_06_01/operations/_object_replication_policies_operations.py +9 -17
- azure/mgmt/storage/v2019_06_01/operations/_operations.py +4 -9
- azure/mgmt/storage/v2019_06_01/operations/_private_endpoint_connections_operations.py +9 -17
- azure/mgmt/storage/v2019_06_01/operations/_private_link_resources_operations.py +5 -9
- azure/mgmt/storage/v2019_06_01/operations/_queue_operations.py +11 -20
- azure/mgmt/storage/v2019_06_01/operations/_queue_services_operations.py +9 -15
- azure/mgmt/storage/v2019_06_01/operations/_skus_operations.py +4 -9
- azure/mgmt/storage/v2019_06_01/operations/_storage_accounts_operations.py +64 -66
- azure/mgmt/storage/v2019_06_01/operations/_table_operations.py +11 -20
- azure/mgmt/storage/v2019_06_01/operations/_table_services_operations.py +9 -15
- azure/mgmt/storage/v2019_06_01/operations/_usages_operations.py +4 -9
- azure/mgmt/storage/v2019_06_01/py.typed +1 -0
- azure/mgmt/storage/{v2018_03_01_preview → v2024_01_01}/__init__.py +9 -3
- azure/mgmt/storage/{v2018_07_01 → v2024_01_01}/_configuration.py +3 -4
- azure/mgmt/storage/{v2023_05_01 → v2024_01_01}/_storage_management_client.py +52 -52
- azure/mgmt/storage/{v2016_12_01 → v2024_01_01}/_version.py +1 -1
- azure/mgmt/storage/{v2018_07_01 → v2024_01_01/aio}/__init__.py +8 -5
- azure/mgmt/storage/{v2019_04_01 → v2024_01_01}/aio/_configuration.py +3 -4
- azure/mgmt/storage/{v2023_05_01 → v2024_01_01}/aio/_storage_management_client.py +52 -52
- azure/mgmt/storage/{v2023_05_01 → v2024_01_01}/aio/operations/__init__.py +32 -26
- azure/mgmt/storage/{v2021_08_01 → v2024_01_01}/aio/operations/_blob_containers_operations.py +145 -143
- azure/mgmt/storage/{v2021_09_01 → v2024_01_01}/aio/operations/_blob_inventory_policies_operations.py +27 -35
- azure/mgmt/storage/{v2021_06_01 → v2024_01_01}/aio/operations/_blob_services_operations.py +19 -26
- azure/mgmt/storage/{v2021_06_01 → v2024_01_01}/aio/operations/_deleted_accounts_operations.py +11 -17
- azure/mgmt/storage/{v2022_09_01 → v2024_01_01}/aio/operations/_encryption_scopes_operations.py +28 -40
- azure/mgmt/storage/{v2021_08_01 → v2024_01_01}/aio/operations/_file_services_operations.py +181 -26
- azure/mgmt/storage/{v2021_08_01 → v2024_01_01}/aio/operations/_file_shares_operations.py +45 -60
- azure/mgmt/storage/{v2023_05_01 → v2024_01_01}/aio/operations/_local_users_operations.py +31 -43
- azure/mgmt/storage/{v2018_11_01 → v2024_01_01}/aio/operations/_management_policies_operations.py +24 -30
- azure/mgmt/storage/{v2023_05_01 → v2024_01_01}/aio/operations/_network_security_perimeter_configurations_operations.py +33 -27
- azure/mgmt/storage/{v2021_08_01 → v2024_01_01}/aio/operations/_object_replication_policies_operations.py +22 -30
- azure/mgmt/storage/{v2018_02_01 → v2024_01_01}/aio/operations/_operations.py +7 -12
- azure/mgmt/storage/{v2021_06_01 → v2024_01_01}/aio/operations/_private_endpoint_connections_operations.py +22 -30
- azure/mgmt/storage/{v2021_06_01 → v2024_01_01}/aio/operations/_private_link_resources_operations.py +8 -12
- azure/mgmt/storage/{v2021_02_01 → v2024_01_01}/aio/operations/_queue_operations.py +30 -41
- azure/mgmt/storage/{v2021_09_01 → v2024_01_01}/aio/operations/_queue_services_operations.py +20 -26
- azure/mgmt/storage/{v2021_06_01 → v2024_01_01}/aio/operations/_skus_operations.py +7 -12
- azure/mgmt/storage/{v2023_01_01 → v2024_01_01}/aio/operations/_storage_accounts_operations.py +202 -167
- azure/mgmt/storage/{v2023_05_01 → v2024_01_01}/aio/operations/_storage_task_assignment_instances_report_operations.py +8 -12
- azure/mgmt/storage/{v2023_05_01 → v2024_01_01}/aio/operations/_storage_task_assignments_instances_report_operations.py +8 -12
- azure/mgmt/storage/{v2023_05_01 → v2024_01_01}/aio/operations/_storage_task_assignments_operations.py +72 -64
- azure/mgmt/storage/{v2021_09_01 → v2024_01_01}/aio/operations/_table_operations.py +30 -41
- azure/mgmt/storage/{v2021_09_01 → v2024_01_01}/aio/operations/_table_services_operations.py +20 -26
- azure/mgmt/storage/{v2018_11_01 → v2024_01_01}/aio/operations/_usages_operations.py +7 -12
- azure/mgmt/storage/v2024_01_01/models/__init__.py +570 -0
- azure/mgmt/storage/{v2023_05_01 → v2024_01_01}/models/_models_py3.py +1150 -545
- azure/mgmt/storage/{v2023_05_01 → v2024_01_01}/models/_storage_management_client_enums.py +8 -0
- azure/mgmt/storage/{v2023_05_01 → v2024_01_01}/operations/__init__.py +32 -26
- azure/mgmt/storage/{v2023_01_01 → v2024_01_01}/operations/_blob_containers_operations.py +145 -154
- azure/mgmt/storage/{v2023_01_01 → v2024_01_01}/operations/_blob_inventory_policies_operations.py +30 -38
- azure/mgmt/storage/{v2023_01_01 → v2024_01_01}/operations/_blob_services_operations.py +22 -29
- azure/mgmt/storage/{v2021_02_01 → v2024_01_01}/operations/_deleted_accounts_operations.py +13 -19
- azure/mgmt/storage/{v2023_01_01 → v2024_01_01}/operations/_encryption_scopes_operations.py +32 -44
- azure/mgmt/storage/{v2023_01_01/operations/_table_operations.py → v2024_01_01/operations/_file_services_operations.py} +187 -293
- azure/mgmt/storage/{v2023_01_01 → v2024_01_01}/operations/_file_shares_operations.py +51 -65
- azure/mgmt/storage/{v2023_05_01 → v2024_01_01}/operations/_local_users_operations.py +36 -46
- azure/mgmt/storage/{v2023_01_01 → v2024_01_01}/operations/_management_policies_operations.py +26 -32
- azure/mgmt/storage/{v2023_05_01 → v2024_01_01}/operations/_network_security_perimeter_configurations_operations.py +35 -30
- azure/mgmt/storage/{v2023_01_01 → v2024_01_01}/operations/_object_replication_policies_operations.py +25 -33
- azure/mgmt/storage/{v2018_11_01 → v2024_01_01}/operations/_operations.py +8 -13
- azure/mgmt/storage/{v2023_01_01 → v2024_01_01}/operations/_private_endpoint_connections_operations.py +25 -33
- azure/mgmt/storage/{v2023_01_01 → v2024_01_01}/operations/_private_link_resources_operations.py +9 -13
- azure/mgmt/storage/{v2023_01_01 → v2024_01_01}/operations/_queue_operations.py +34 -43
- azure/mgmt/storage/{v2023_01_01 → v2024_01_01}/operations/_queue_services_operations.py +23 -29
- azure/mgmt/storage/{v2021_01_01 → v2024_01_01}/operations/_skus_operations.py +8 -13
- azure/mgmt/storage/{v2023_01_01 → v2024_01_01}/operations/_storage_accounts_operations.py +205 -179
- azure/mgmt/storage/{v2023_05_01 → v2024_01_01}/operations/_storage_task_assignment_instances_report_operations.py +9 -13
- azure/mgmt/storage/{v2023_05_01 → v2024_01_01}/operations/_storage_task_assignments_instances_report_operations.py +9 -13
- azure/mgmt/storage/{v2023_05_01 → v2024_01_01}/operations/_storage_task_assignments_operations.py +78 -69
- azure/mgmt/storage/{v2023_05_01 → v2024_01_01}/operations/_table_operations.py +34 -43
- azure/mgmt/storage/{v2023_01_01 → v2024_01_01}/operations/_table_services_operations.py +23 -29
- azure/mgmt/storage/{v2019_04_01 → v2024_01_01}/operations/_usages_operations.py +8 -13
- azure/mgmt/storage/v2024_01_01/py.typed +1 -0
- {azure_mgmt_storage-21.2.1.dist-info → azure_mgmt_storage-22.1.0.dist-info}/METADATA +41 -4
- azure_mgmt_storage-22.1.0.dist-info/RECORD +183 -0
- {azure_mgmt_storage-21.2.1.dist-info → azure_mgmt_storage-22.1.0.dist-info}/WHEEL +1 -1
- azure/mgmt/storage/v2015_06_15/__init__.py +0 -26
- azure/mgmt/storage/v2015_06_15/_configuration.py +0 -66
- azure/mgmt/storage/v2015_06_15/_patch.py +0 -32
- azure/mgmt/storage/v2015_06_15/_storage_management.py +0 -115
- azure/mgmt/storage/v2015_06_15/_vendor.py +0 -16
- azure/mgmt/storage/v2015_06_15/_version.py +0 -9
- azure/mgmt/storage/v2015_06_15/aio/__init__.py +0 -23
- azure/mgmt/storage/v2015_06_15/aio/_configuration.py +0 -66
- azure/mgmt/storage/v2015_06_15/aio/_patch.py +0 -32
- azure/mgmt/storage/v2015_06_15/aio/_storage_management.py +0 -118
- azure/mgmt/storage/v2015_06_15/aio/operations/__init__.py +0 -21
- azure/mgmt/storage/v2015_06_15/aio/operations/_storage_accounts_operations.py +0 -1030
- azure/mgmt/storage/v2015_06_15/aio/operations/_usage_operations.py +0 -135
- azure/mgmt/storage/v2015_06_15/models/__init__.py +0 -55
- azure/mgmt/storage/v2015_06_15/models/_models_py3.py +0 -660
- azure/mgmt/storage/v2015_06_15/models/_storage_management_enums.py +0 -59
- azure/mgmt/storage/v2015_06_15/operations/__init__.py +0 -21
- azure/mgmt/storage/v2015_06_15/operations/_storage_accounts_operations.py +0 -1297
- azure/mgmt/storage/v2015_06_15/operations/_usage_operations.py +0 -162
- azure/mgmt/storage/v2016_01_01/_vendor.py +0 -16
- azure/mgmt/storage/v2016_12_01/__init__.py +0 -26
- azure/mgmt/storage/v2016_12_01/_configuration.py +0 -66
- azure/mgmt/storage/v2016_12_01/_patch.py +0 -32
- azure/mgmt/storage/v2016_12_01/_storage_management.py +0 -115
- azure/mgmt/storage/v2016_12_01/_vendor.py +0 -16
- azure/mgmt/storage/v2016_12_01/aio/__init__.py +0 -23
- azure/mgmt/storage/v2016_12_01/aio/_configuration.py +0 -66
- azure/mgmt/storage/v2016_12_01/aio/_patch.py +0 -32
- azure/mgmt/storage/v2016_12_01/aio/_storage_management.py +0 -118
- azure/mgmt/storage/v2016_12_01/aio/operations/__init__.py +0 -21
- azure/mgmt/storage/v2016_12_01/aio/operations/_storage_accounts_operations.py +0 -1310
- azure/mgmt/storage/v2016_12_01/aio/operations/_usage_operations.py +0 -135
- azure/mgmt/storage/v2016_12_01/models/__init__.py +0 -97
- azure/mgmt/storage/v2016_12_01/models/_models_py3.py +0 -1210
- azure/mgmt/storage/v2016_12_01/models/_storage_management_enums.py +0 -169
- azure/mgmt/storage/v2016_12_01/operations/__init__.py +0 -21
- azure/mgmt/storage/v2016_12_01/operations/_patch.py +0 -20
- azure/mgmt/storage/v2016_12_01/operations/_storage_accounts_operations.py +0 -1647
- azure/mgmt/storage/v2016_12_01/operations/_usage_operations.py +0 -162
- azure/mgmt/storage/v2017_06_01/__init__.py +0 -26
- azure/mgmt/storage/v2017_06_01/_configuration.py +0 -66
- azure/mgmt/storage/v2017_06_01/_patch.py +0 -32
- azure/mgmt/storage/v2017_06_01/_storage_management.py +0 -121
- azure/mgmt/storage/v2017_06_01/_vendor.py +0 -16
- azure/mgmt/storage/v2017_06_01/_version.py +0 -9
- azure/mgmt/storage/v2017_06_01/aio/__init__.py +0 -23
- azure/mgmt/storage/v2017_06_01/aio/_configuration.py +0 -66
- azure/mgmt/storage/v2017_06_01/aio/_patch.py +0 -32
- azure/mgmt/storage/v2017_06_01/aio/_storage_management.py +0 -124
- azure/mgmt/storage/v2017_06_01/aio/operations/__init__.py +0 -25
- azure/mgmt/storage/v2017_06_01/aio/operations/_operations.py +0 -135
- azure/mgmt/storage/v2017_06_01/aio/operations/_patch.py +0 -20
- azure/mgmt/storage/v2017_06_01/aio/operations/_skus_operations.py +0 -135
- azure/mgmt/storage/v2017_06_01/aio/operations/_storage_accounts_operations.py +0 -1310
- azure/mgmt/storage/v2017_06_01/aio/operations/_usage_operations.py +0 -135
- azure/mgmt/storage/v2017_06_01/models/__init__.py +0 -129
- azure/mgmt/storage/v2017_06_01/models/_models_py3.py +0 -1843
- azure/mgmt/storage/v2017_06_01/models/_patch.py +0 -20
- azure/mgmt/storage/v2017_06_01/models/_storage_management_enums.py +0 -191
- azure/mgmt/storage/v2017_06_01/operations/__init__.py +0 -25
- azure/mgmt/storage/v2017_06_01/operations/_operations.py +0 -156
- azure/mgmt/storage/v2017_06_01/operations/_patch.py +0 -20
- azure/mgmt/storage/v2017_06_01/operations/_skus_operations.py +0 -162
- azure/mgmt/storage/v2017_06_01/operations/_storage_accounts_operations.py +0 -1647
- azure/mgmt/storage/v2017_06_01/operations/_usage_operations.py +0 -162
- azure/mgmt/storage/v2017_10_01/_vendor.py +0 -16
- azure/mgmt/storage/v2018_02_01/__init__.py +0 -26
- azure/mgmt/storage/v2018_02_01/_configuration.py +0 -65
- azure/mgmt/storage/v2018_02_01/_patch.py +0 -32
- azure/mgmt/storage/v2018_02_01/_storage_management_client.py +0 -127
- azure/mgmt/storage/v2018_02_01/_vendor.py +0 -16
- azure/mgmt/storage/v2018_02_01/_version.py +0 -9
- azure/mgmt/storage/v2018_02_01/aio/__init__.py +0 -23
- azure/mgmt/storage/v2018_02_01/aio/_configuration.py +0 -65
- azure/mgmt/storage/v2018_02_01/aio/_patch.py +0 -32
- azure/mgmt/storage/v2018_02_01/aio/_storage_management_client.py +0 -131
- azure/mgmt/storage/v2018_02_01/aio/operations/__init__.py +0 -27
- azure/mgmt/storage/v2018_02_01/aio/operations/_blob_containers_operations.py +0 -1692
- azure/mgmt/storage/v2018_02_01/aio/operations/_patch.py +0 -20
- azure/mgmt/storage/v2018_02_01/aio/operations/_skus_operations.py +0 -135
- azure/mgmt/storage/v2018_02_01/aio/operations/_storage_accounts_operations.py +0 -1310
- azure/mgmt/storage/v2018_02_01/aio/operations/_usage_operations.py +0 -215
- azure/mgmt/storage/v2018_02_01/models/__init__.py +0 -171
- azure/mgmt/storage/v2018_02_01/models/_models_py3.py +0 -2556
- azure/mgmt/storage/v2018_02_01/models/_patch.py +0 -20
- azure/mgmt/storage/v2018_02_01/models/_storage_management_client_enums.py +0 -259
- azure/mgmt/storage/v2018_02_01/operations/__init__.py +0 -27
- azure/mgmt/storage/v2018_02_01/operations/_blob_containers_operations.py +0 -2178
- azure/mgmt/storage/v2018_02_01/operations/_operations.py +0 -156
- azure/mgmt/storage/v2018_02_01/operations/_patch.py +0 -20
- azure/mgmt/storage/v2018_02_01/operations/_skus_operations.py +0 -162
- azure/mgmt/storage/v2018_02_01/operations/_storage_accounts_operations.py +0 -1647
- azure/mgmt/storage/v2018_02_01/operations/_usage_operations.py +0 -269
- azure/mgmt/storage/v2018_03_01_preview/_configuration.py +0 -65
- azure/mgmt/storage/v2018_03_01_preview/_patch.py +0 -32
- azure/mgmt/storage/v2018_03_01_preview/_storage_management_client.py +0 -146
- azure/mgmt/storage/v2018_03_01_preview/_vendor.py +0 -16
- azure/mgmt/storage/v2018_03_01_preview/_version.py +0 -9
- azure/mgmt/storage/v2018_03_01_preview/aio/__init__.py +0 -23
- azure/mgmt/storage/v2018_03_01_preview/aio/_configuration.py +0 -65
- azure/mgmt/storage/v2018_03_01_preview/aio/_patch.py +0 -32
- azure/mgmt/storage/v2018_03_01_preview/aio/_storage_management_client.py +0 -148
- azure/mgmt/storage/v2018_03_01_preview/aio/operations/__init__.py +0 -29
- azure/mgmt/storage/v2018_03_01_preview/aio/operations/_blob_containers_operations.py +0 -1721
- azure/mgmt/storage/v2018_03_01_preview/aio/operations/_management_policies_operations.py +0 -357
- azure/mgmt/storage/v2018_03_01_preview/aio/operations/_operations.py +0 -137
- azure/mgmt/storage/v2018_03_01_preview/aio/operations/_patch.py +0 -20
- azure/mgmt/storage/v2018_03_01_preview/aio/operations/_skus_operations.py +0 -138
- azure/mgmt/storage/v2018_03_01_preview/aio/operations/_storage_accounts_operations.py +0 -1635
- azure/mgmt/storage/v2018_03_01_preview/aio/operations/_usages_operations.py +0 -221
- azure/mgmt/storage/v2018_03_01_preview/models/__init__.py +0 -181
- azure/mgmt/storage/v2018_03_01_preview/models/_models_py3.py +0 -2699
- azure/mgmt/storage/v2018_03_01_preview/models/_patch.py +0 -20
- azure/mgmt/storage/v2018_03_01_preview/models/_storage_management_client_enums.py +0 -265
- azure/mgmt/storage/v2018_03_01_preview/operations/__init__.py +0 -29
- azure/mgmt/storage/v2018_03_01_preview/operations/_blob_containers_operations.py +0 -2207
- azure/mgmt/storage/v2018_03_01_preview/operations/_management_policies_operations.py +0 -467
- azure/mgmt/storage/v2018_03_01_preview/operations/_operations.py +0 -158
- azure/mgmt/storage/v2018_03_01_preview/operations/_patch.py +0 -20
- azure/mgmt/storage/v2018_03_01_preview/operations/_skus_operations.py +0 -164
- azure/mgmt/storage/v2018_03_01_preview/operations/_storage_accounts_operations.py +0 -2085
- azure/mgmt/storage/v2018_03_01_preview/operations/_usages_operations.py +0 -273
- azure/mgmt/storage/v2018_07_01/_patch.py +0 -32
- azure/mgmt/storage/v2018_07_01/_storage_management_client.py +0 -139
- azure/mgmt/storage/v2018_07_01/_vendor.py +0 -16
- azure/mgmt/storage/v2018_07_01/_version.py +0 -9
- azure/mgmt/storage/v2018_07_01/aio/__init__.py +0 -23
- azure/mgmt/storage/v2018_07_01/aio/_configuration.py +0 -65
- azure/mgmt/storage/v2018_07_01/aio/_patch.py +0 -32
- azure/mgmt/storage/v2018_07_01/aio/_storage_management_client.py +0 -143
- azure/mgmt/storage/v2018_07_01/aio/operations/__init__.py +0 -29
- azure/mgmt/storage/v2018_07_01/aio/operations/_blob_containers_operations.py +0 -1692
- azure/mgmt/storage/v2018_07_01/aio/operations/_blob_services_operations.py +0 -282
- azure/mgmt/storage/v2018_07_01/aio/operations/_operations.py +0 -135
- azure/mgmt/storage/v2018_07_01/aio/operations/_patch.py +0 -20
- azure/mgmt/storage/v2018_07_01/aio/operations/_skus_operations.py +0 -135
- azure/mgmt/storage/v2018_07_01/aio/operations/_storage_accounts_operations.py +0 -1420
- azure/mgmt/storage/v2018_07_01/aio/operations/_usages_operations.py +0 -139
- azure/mgmt/storage/v2018_07_01/models/__init__.py +0 -185
- azure/mgmt/storage/v2018_07_01/models/_models_py3.py +0 -2838
- azure/mgmt/storage/v2018_07_01/models/_patch.py +0 -20
- azure/mgmt/storage/v2018_07_01/models/_storage_management_client_enums.py +0 -287
- azure/mgmt/storage/v2018_07_01/operations/__init__.py +0 -29
- azure/mgmt/storage/v2018_07_01/operations/_blob_containers_operations.py +0 -2178
- azure/mgmt/storage/v2018_07_01/operations/_blob_services_operations.py +0 -361
- azure/mgmt/storage/v2018_07_01/operations/_operations.py +0 -156
- azure/mgmt/storage/v2018_07_01/operations/_patch.py +0 -20
- azure/mgmt/storage/v2018_07_01/operations/_skus_operations.py +0 -162
- azure/mgmt/storage/v2018_07_01/operations/_storage_accounts_operations.py +0 -1792
- azure/mgmt/storage/v2018_07_01/operations/_usages_operations.py +0 -169
- azure/mgmt/storage/v2018_11_01/__init__.py +0 -26
- azure/mgmt/storage/v2018_11_01/_configuration.py +0 -65
- azure/mgmt/storage/v2018_11_01/_patch.py +0 -32
- azure/mgmt/storage/v2018_11_01/_storage_management_client.py +0 -146
- azure/mgmt/storage/v2018_11_01/_vendor.py +0 -16
- azure/mgmt/storage/v2018_11_01/_version.py +0 -9
- azure/mgmt/storage/v2018_11_01/aio/__init__.py +0 -23
- azure/mgmt/storage/v2018_11_01/aio/_configuration.py +0 -65
- azure/mgmt/storage/v2018_11_01/aio/_patch.py +0 -32
- azure/mgmt/storage/v2018_11_01/aio/_storage_management_client.py +0 -150
- azure/mgmt/storage/v2018_11_01/aio/operations/__init__.py +0 -31
- azure/mgmt/storage/v2018_11_01/aio/operations/_blob_containers_operations.py +0 -1696
- azure/mgmt/storage/v2018_11_01/aio/operations/_blob_services_operations.py +0 -282
- azure/mgmt/storage/v2018_11_01/aio/operations/_operations.py +0 -135
- azure/mgmt/storage/v2018_11_01/aio/operations/_patch.py +0 -20
- azure/mgmt/storage/v2018_11_01/aio/operations/_skus_operations.py +0 -135
- azure/mgmt/storage/v2018_11_01/aio/operations/_storage_accounts_operations.py +0 -1477
- azure/mgmt/storage/v2018_11_01/models/__init__.py +0 -209
- azure/mgmt/storage/v2018_11_01/models/_models_py3.py +0 -3194
- azure/mgmt/storage/v2018_11_01/models/_patch.py +0 -20
- azure/mgmt/storage/v2018_11_01/models/_storage_management_client_enums.py +0 -299
- azure/mgmt/storage/v2018_11_01/operations/__init__.py +0 -31
- azure/mgmt/storage/v2018_11_01/operations/_blob_containers_operations.py +0 -2182
- azure/mgmt/storage/v2018_11_01/operations/_blob_services_operations.py +0 -361
- azure/mgmt/storage/v2018_11_01/operations/_management_policies_operations.py +0 -459
- azure/mgmt/storage/v2018_11_01/operations/_patch.py +0 -20
- azure/mgmt/storage/v2018_11_01/operations/_skus_operations.py +0 -162
- azure/mgmt/storage/v2018_11_01/operations/_storage_accounts_operations.py +0 -1875
- azure/mgmt/storage/v2018_11_01/operations/_usages_operations.py +0 -169
- azure/mgmt/storage/v2019_04_01/__init__.py +0 -26
- azure/mgmt/storage/v2019_04_01/_configuration.py +0 -65
- azure/mgmt/storage/v2019_04_01/_patch.py +0 -32
- azure/mgmt/storage/v2019_04_01/_storage_management_client.py +0 -158
- azure/mgmt/storage/v2019_04_01/_vendor.py +0 -16
- azure/mgmt/storage/v2019_04_01/_version.py +0 -9
- azure/mgmt/storage/v2019_04_01/aio/__init__.py +0 -23
- azure/mgmt/storage/v2019_04_01/aio/_patch.py +0 -32
- azure/mgmt/storage/v2019_04_01/aio/_storage_management_client.py +0 -162
- azure/mgmt/storage/v2019_04_01/aio/operations/__init__.py +0 -35
- azure/mgmt/storage/v2019_04_01/aio/operations/_blob_containers_operations.py +0 -1746
- azure/mgmt/storage/v2019_04_01/aio/operations/_blob_services_operations.py +0 -375
- azure/mgmt/storage/v2019_04_01/aio/operations/_file_services_operations.py +0 -341
- azure/mgmt/storage/v2019_04_01/aio/operations/_file_shares_operations.py +0 -625
- azure/mgmt/storage/v2019_04_01/aio/operations/_management_policies_operations.py +0 -349
- azure/mgmt/storage/v2019_04_01/aio/operations/_operations.py +0 -135
- azure/mgmt/storage/v2019_04_01/aio/operations/_patch.py +0 -20
- azure/mgmt/storage/v2019_04_01/aio/operations/_skus_operations.py +0 -135
- azure/mgmt/storage/v2019_04_01/aio/operations/_storage_accounts_operations.py +0 -1483
- azure/mgmt/storage/v2019_04_01/aio/operations/_usages_operations.py +0 -139
- azure/mgmt/storage/v2019_04_01/models/__init__.py +0 -235
- azure/mgmt/storage/v2019_04_01/models/_models_py3.py +0 -3799
- azure/mgmt/storage/v2019_04_01/models/_patch.py +0 -20
- azure/mgmt/storage/v2019_04_01/models/_storage_management_client_enums.py +0 -326
- azure/mgmt/storage/v2019_04_01/operations/__init__.py +0 -35
- azure/mgmt/storage/v2019_04_01/operations/_blob_containers_operations.py +0 -2245
- azure/mgmt/storage/v2019_04_01/operations/_blob_services_operations.py +0 -483
- azure/mgmt/storage/v2019_04_01/operations/_file_services_operations.py +0 -450
- azure/mgmt/storage/v2019_04_01/operations/_file_shares_operations.py +0 -806
- azure/mgmt/storage/v2019_04_01/operations/_management_policies_operations.py +0 -459
- azure/mgmt/storage/v2019_04_01/operations/_operations.py +0 -156
- azure/mgmt/storage/v2019_04_01/operations/_patch.py +0 -20
- azure/mgmt/storage/v2019_04_01/operations/_skus_operations.py +0 -162
- azure/mgmt/storage/v2019_04_01/operations/_storage_accounts_operations.py +0 -1888
- azure/mgmt/storage/v2019_06_01/_vendor.py +0 -16
- azure/mgmt/storage/v2020_08_01_preview/__init__.py +0 -26
- azure/mgmt/storage/v2020_08_01_preview/_configuration.py +0 -65
- azure/mgmt/storage/v2020_08_01_preview/_patch.py +0 -32
- azure/mgmt/storage/v2020_08_01_preview/_storage_management_client.py +0 -234
- azure/mgmt/storage/v2020_08_01_preview/_vendor.py +0 -16
- azure/mgmt/storage/v2020_08_01_preview/_version.py +0 -9
- azure/mgmt/storage/v2020_08_01_preview/aio/__init__.py +0 -23
- azure/mgmt/storage/v2020_08_01_preview/aio/_configuration.py +0 -65
- azure/mgmt/storage/v2020_08_01_preview/aio/_patch.py +0 -32
- azure/mgmt/storage/v2020_08_01_preview/aio/_storage_management_client.py +0 -237
- azure/mgmt/storage/v2020_08_01_preview/aio/operations/__init__.py +0 -55
- azure/mgmt/storage/v2020_08_01_preview/aio/operations/_blob_containers_operations.py +0 -1776
- azure/mgmt/storage/v2020_08_01_preview/aio/operations/_blob_inventory_policies_operations.py +0 -454
- azure/mgmt/storage/v2020_08_01_preview/aio/operations/_blob_services_operations.py +0 -382
- azure/mgmt/storage/v2020_08_01_preview/aio/operations/_deleted_accounts_operations.py +0 -198
- azure/mgmt/storage/v2020_08_01_preview/aio/operations/_encryption_scopes_operations.py +0 -560
- azure/mgmt/storage/v2020_08_01_preview/aio/operations/_file_services_operations.py +0 -348
- azure/mgmt/storage/v2020_08_01_preview/aio/operations/_file_shares_operations.py +0 -825
- azure/mgmt/storage/v2020_08_01_preview/aio/operations/_management_policies_operations.py +0 -355
- azure/mgmt/storage/v2020_08_01_preview/aio/operations/_object_replication_policies_operations.py +0 -445
- azure/mgmt/storage/v2020_08_01_preview/aio/operations/_operations.py +0 -137
- azure/mgmt/storage/v2020_08_01_preview/aio/operations/_patch.py +0 -20
- azure/mgmt/storage/v2020_08_01_preview/aio/operations/_private_endpoint_connections_operations.py +0 -441
- azure/mgmt/storage/v2020_08_01_preview/aio/operations/_private_link_resources_operations.py +0 -119
- azure/mgmt/storage/v2020_08_01_preview/aio/operations/_queue_operations.py +0 -618
- azure/mgmt/storage/v2020_08_01_preview/aio/operations/_queue_services_operations.py +0 -348
- azure/mgmt/storage/v2020_08_01_preview/aio/operations/_skus_operations.py +0 -138
- azure/mgmt/storage/v2020_08_01_preview/aio/operations/_storage_accounts_operations.py +0 -1725
- azure/mgmt/storage/v2020_08_01_preview/aio/operations/_table_operations.py +0 -416
- azure/mgmt/storage/v2020_08_01_preview/aio/operations/_table_services_operations.py +0 -348
- azure/mgmt/storage/v2020_08_01_preview/aio/operations/_usages_operations.py +0 -142
- azure/mgmt/storage/v2020_08_01_preview/models/__init__.py +0 -373
- azure/mgmt/storage/v2020_08_01_preview/models/_models_py3.py +0 -6344
- azure/mgmt/storage/v2020_08_01_preview/models/_patch.py +0 -20
- azure/mgmt/storage/v2020_08_01_preview/models/_storage_management_client_enums.py +0 -468
- azure/mgmt/storage/v2020_08_01_preview/operations/__init__.py +0 -55
- azure/mgmt/storage/v2020_08_01_preview/operations/_blob_containers_operations.py +0 -2276
- azure/mgmt/storage/v2020_08_01_preview/operations/_blob_inventory_policies_operations.py +0 -599
- azure/mgmt/storage/v2020_08_01_preview/operations/_blob_services_operations.py +0 -490
- azure/mgmt/storage/v2020_08_01_preview/operations/_deleted_accounts_operations.py +0 -255
- azure/mgmt/storage/v2020_08_01_preview/operations/_encryption_scopes_operations.py +0 -700
- azure/mgmt/storage/v2020_08_01_preview/operations/_file_services_operations.py +0 -457
- azure/mgmt/storage/v2020_08_01_preview/operations/_file_shares_operations.py +0 -1072
- azure/mgmt/storage/v2020_08_01_preview/operations/_management_policies_operations.py +0 -465
- azure/mgmt/storage/v2020_08_01_preview/operations/_object_replication_policies_operations.py +0 -584
- azure/mgmt/storage/v2020_08_01_preview/operations/_operations.py +0 -158
- azure/mgmt/storage/v2020_08_01_preview/operations/_patch.py +0 -20
- azure/mgmt/storage/v2020_08_01_preview/operations/_private_endpoint_connections_operations.py +0 -592
- azure/mgmt/storage/v2020_08_01_preview/operations/_private_link_resources_operations.py +0 -155
- azure/mgmt/storage/v2020_08_01_preview/operations/_queue_operations.py +0 -824
- azure/mgmt/storage/v2020_08_01_preview/operations/_queue_services_operations.py +0 -457
- azure/mgmt/storage/v2020_08_01_preview/operations/_skus_operations.py +0 -165
- azure/mgmt/storage/v2020_08_01_preview/operations/_storage_accounts_operations.py +0 -2170
- azure/mgmt/storage/v2020_08_01_preview/operations/_table_operations.py +0 -582
- azure/mgmt/storage/v2020_08_01_preview/operations/_table_services_operations.py +0 -457
- azure/mgmt/storage/v2020_08_01_preview/operations/_usages_operations.py +0 -171
- azure/mgmt/storage/v2021_01_01/__init__.py +0 -26
- azure/mgmt/storage/v2021_01_01/_configuration.py +0 -65
- azure/mgmt/storage/v2021_01_01/_patch.py +0 -32
- azure/mgmt/storage/v2021_01_01/_storage_management_client.py +0 -219
- azure/mgmt/storage/v2021_01_01/_vendor.py +0 -16
- azure/mgmt/storage/v2021_01_01/_version.py +0 -9
- azure/mgmt/storage/v2021_01_01/aio/__init__.py +0 -23
- azure/mgmt/storage/v2021_01_01/aio/_configuration.py +0 -65
- azure/mgmt/storage/v2021_01_01/aio/_patch.py +0 -32
- azure/mgmt/storage/v2021_01_01/aio/_storage_management_client.py +0 -224
- azure/mgmt/storage/v2021_01_01/aio/operations/__init__.py +0 -55
- azure/mgmt/storage/v2021_01_01/aio/operations/_blob_containers_operations.py +0 -1747
- azure/mgmt/storage/v2021_01_01/aio/operations/_blob_inventory_policies_operations.py +0 -445
- azure/mgmt/storage/v2021_01_01/aio/operations/_blob_services_operations.py +0 -375
- azure/mgmt/storage/v2021_01_01/aio/operations/_deleted_accounts_operations.py +0 -194
- azure/mgmt/storage/v2021_01_01/aio/operations/_encryption_scopes_operations.py +0 -550
- azure/mgmt/storage/v2021_01_01/aio/operations/_file_services_operations.py +0 -341
- azure/mgmt/storage/v2021_01_01/aio/operations/_file_shares_operations.py +0 -810
- azure/mgmt/storage/v2021_01_01/aio/operations/_management_policies_operations.py +0 -349
- azure/mgmt/storage/v2021_01_01/aio/operations/_object_replication_policies_operations.py +0 -436
- azure/mgmt/storage/v2021_01_01/aio/operations/_operations.py +0 -135
- azure/mgmt/storage/v2021_01_01/aio/operations/_patch.py +0 -20
- azure/mgmt/storage/v2021_01_01/aio/operations/_private_endpoint_connections_operations.py +0 -432
- azure/mgmt/storage/v2021_01_01/aio/operations/_private_link_resources_operations.py +0 -117
- azure/mgmt/storage/v2021_01_01/aio/operations/_queue_operations.py +0 -608
- azure/mgmt/storage/v2021_01_01/aio/operations/_queue_services_operations.py +0 -341
- azure/mgmt/storage/v2021_01_01/aio/operations/_skus_operations.py +0 -136
- azure/mgmt/storage/v2021_01_01/aio/operations/_storage_accounts_operations.py +0 -1687
- azure/mgmt/storage/v2021_01_01/aio/operations/_table_operations.py +0 -405
- azure/mgmt/storage/v2021_01_01/aio/operations/_table_services_operations.py +0 -341
- azure/mgmt/storage/v2021_01_01/aio/operations/_usages_operations.py +0 -139
- azure/mgmt/storage/v2021_01_01/models/__init__.py +0 -381
- azure/mgmt/storage/v2021_01_01/models/_models_py3.py +0 -6465
- azure/mgmt/storage/v2021_01_01/models/_patch.py +0 -20
- azure/mgmt/storage/v2021_01_01/models/_storage_management_client_enums.py +0 -483
- azure/mgmt/storage/v2021_01_01/operations/__init__.py +0 -55
- azure/mgmt/storage/v2021_01_01/operations/_blob_containers_operations.py +0 -2246
- azure/mgmt/storage/v2021_01_01/operations/_blob_inventory_policies_operations.py +0 -590
- azure/mgmt/storage/v2021_01_01/operations/_blob_services_operations.py +0 -483
- azure/mgmt/storage/v2021_01_01/operations/_deleted_accounts_operations.py +0 -250
- azure/mgmt/storage/v2021_01_01/operations/_encryption_scopes_operations.py +0 -689
- azure/mgmt/storage/v2021_01_01/operations/_file_services_operations.py +0 -450
- azure/mgmt/storage/v2021_01_01/operations/_file_shares_operations.py +0 -1056
- azure/mgmt/storage/v2021_01_01/operations/_management_policies_operations.py +0 -459
- azure/mgmt/storage/v2021_01_01/operations/_object_replication_policies_operations.py +0 -575
- azure/mgmt/storage/v2021_01_01/operations/_operations.py +0 -156
- azure/mgmt/storage/v2021_01_01/operations/_patch.py +0 -20
- azure/mgmt/storage/v2021_01_01/operations/_private_endpoint_connections_operations.py +0 -583
- azure/mgmt/storage/v2021_01_01/operations/_private_link_resources_operations.py +0 -153
- azure/mgmt/storage/v2021_01_01/operations/_queue_operations.py +0 -814
- azure/mgmt/storage/v2021_01_01/operations/_queue_services_operations.py +0 -450
- azure/mgmt/storage/v2021_01_01/operations/_storage_accounts_operations.py +0 -2124
- azure/mgmt/storage/v2021_01_01/operations/_table_operations.py +0 -572
- azure/mgmt/storage/v2021_01_01/operations/_table_services_operations.py +0 -450
- azure/mgmt/storage/v2021_01_01/operations/_usages_operations.py +0 -169
- azure/mgmt/storage/v2021_02_01/__init__.py +0 -26
- azure/mgmt/storage/v2021_02_01/_configuration.py +0 -65
- azure/mgmt/storage/v2021_02_01/_patch.py +0 -32
- azure/mgmt/storage/v2021_02_01/_storage_management_client.py +0 -219
- azure/mgmt/storage/v2021_02_01/_vendor.py +0 -16
- azure/mgmt/storage/v2021_02_01/_version.py +0 -9
- azure/mgmt/storage/v2021_02_01/aio/__init__.py +0 -23
- azure/mgmt/storage/v2021_02_01/aio/_configuration.py +0 -65
- azure/mgmt/storage/v2021_02_01/aio/_patch.py +0 -32
- azure/mgmt/storage/v2021_02_01/aio/_storage_management_client.py +0 -224
- azure/mgmt/storage/v2021_02_01/aio/operations/__init__.py +0 -55
- azure/mgmt/storage/v2021_02_01/aio/operations/_blob_containers_operations.py +0 -1747
- azure/mgmt/storage/v2021_02_01/aio/operations/_blob_inventory_policies_operations.py +0 -445
- azure/mgmt/storage/v2021_02_01/aio/operations/_blob_services_operations.py +0 -375
- azure/mgmt/storage/v2021_02_01/aio/operations/_deleted_accounts_operations.py +0 -194
- azure/mgmt/storage/v2021_02_01/aio/operations/_encryption_scopes_operations.py +0 -550
- azure/mgmt/storage/v2021_02_01/aio/operations/_file_services_operations.py +0 -341
- azure/mgmt/storage/v2021_02_01/aio/operations/_file_shares_operations.py +0 -810
- azure/mgmt/storage/v2021_02_01/aio/operations/_management_policies_operations.py +0 -349
- azure/mgmt/storage/v2021_02_01/aio/operations/_object_replication_policies_operations.py +0 -436
- azure/mgmt/storage/v2021_02_01/aio/operations/_operations.py +0 -135
- azure/mgmt/storage/v2021_02_01/aio/operations/_patch.py +0 -20
- azure/mgmt/storage/v2021_02_01/aio/operations/_private_endpoint_connections_operations.py +0 -432
- azure/mgmt/storage/v2021_02_01/aio/operations/_private_link_resources_operations.py +0 -117
- azure/mgmt/storage/v2021_02_01/aio/operations/_queue_services_operations.py +0 -341
- azure/mgmt/storage/v2021_02_01/aio/operations/_skus_operations.py +0 -136
- azure/mgmt/storage/v2021_02_01/aio/operations/_storage_accounts_operations.py +0 -1687
- azure/mgmt/storage/v2021_02_01/aio/operations/_table_operations.py +0 -405
- azure/mgmt/storage/v2021_02_01/aio/operations/_table_services_operations.py +0 -341
- azure/mgmt/storage/v2021_02_01/aio/operations/_usages_operations.py +0 -139
- azure/mgmt/storage/v2021_02_01/models/__init__.py +0 -389
- azure/mgmt/storage/v2021_02_01/models/_models_py3.py +0 -6606
- azure/mgmt/storage/v2021_02_01/models/_patch.py +0 -20
- azure/mgmt/storage/v2021_02_01/models/_storage_management_client_enums.py +0 -489
- azure/mgmt/storage/v2021_02_01/operations/__init__.py +0 -55
- azure/mgmt/storage/v2021_02_01/operations/_blob_containers_operations.py +0 -2246
- azure/mgmt/storage/v2021_02_01/operations/_blob_inventory_policies_operations.py +0 -590
- azure/mgmt/storage/v2021_02_01/operations/_blob_services_operations.py +0 -483
- azure/mgmt/storage/v2021_02_01/operations/_encryption_scopes_operations.py +0 -689
- azure/mgmt/storage/v2021_02_01/operations/_file_services_operations.py +0 -450
- azure/mgmt/storage/v2021_02_01/operations/_file_shares_operations.py +0 -1056
- azure/mgmt/storage/v2021_02_01/operations/_management_policies_operations.py +0 -459
- azure/mgmt/storage/v2021_02_01/operations/_object_replication_policies_operations.py +0 -575
- azure/mgmt/storage/v2021_02_01/operations/_operations.py +0 -156
- azure/mgmt/storage/v2021_02_01/operations/_patch.py +0 -20
- azure/mgmt/storage/v2021_02_01/operations/_private_endpoint_connections_operations.py +0 -583
- azure/mgmt/storage/v2021_02_01/operations/_private_link_resources_operations.py +0 -153
- azure/mgmt/storage/v2021_02_01/operations/_queue_operations.py +0 -814
- azure/mgmt/storage/v2021_02_01/operations/_queue_services_operations.py +0 -450
- azure/mgmt/storage/v2021_02_01/operations/_skus_operations.py +0 -162
- azure/mgmt/storage/v2021_02_01/operations/_storage_accounts_operations.py +0 -2124
- azure/mgmt/storage/v2021_02_01/operations/_table_operations.py +0 -572
- azure/mgmt/storage/v2021_02_01/operations/_table_services_operations.py +0 -450
- azure/mgmt/storage/v2021_02_01/operations/_usages_operations.py +0 -169
- azure/mgmt/storage/v2021_04_01/__init__.py +0 -26
- azure/mgmt/storage/v2021_04_01/_configuration.py +0 -65
- azure/mgmt/storage/v2021_04_01/_patch.py +0 -32
- azure/mgmt/storage/v2021_04_01/_storage_management_client.py +0 -219
- azure/mgmt/storage/v2021_04_01/_vendor.py +0 -16
- azure/mgmt/storage/v2021_04_01/_version.py +0 -9
- azure/mgmt/storage/v2021_04_01/aio/__init__.py +0 -23
- azure/mgmt/storage/v2021_04_01/aio/_configuration.py +0 -65
- azure/mgmt/storage/v2021_04_01/aio/_patch.py +0 -32
- azure/mgmt/storage/v2021_04_01/aio/_storage_management_client.py +0 -224
- azure/mgmt/storage/v2021_04_01/aio/operations/__init__.py +0 -55
- azure/mgmt/storage/v2021_04_01/aio/operations/_blob_containers_operations.py +0 -1860
- azure/mgmt/storage/v2021_04_01/aio/operations/_blob_inventory_policies_operations.py +0 -445
- azure/mgmt/storage/v2021_04_01/aio/operations/_blob_services_operations.py +0 -375
- azure/mgmt/storage/v2021_04_01/aio/operations/_deleted_accounts_operations.py +0 -194
- azure/mgmt/storage/v2021_04_01/aio/operations/_encryption_scopes_operations.py +0 -550
- azure/mgmt/storage/v2021_04_01/aio/operations/_file_services_operations.py +0 -344
- azure/mgmt/storage/v2021_04_01/aio/operations/_file_shares_operations.py +0 -1010
- azure/mgmt/storage/v2021_04_01/aio/operations/_management_policies_operations.py +0 -349
- azure/mgmt/storage/v2021_04_01/aio/operations/_object_replication_policies_operations.py +0 -446
- azure/mgmt/storage/v2021_04_01/aio/operations/_operations.py +0 -135
- azure/mgmt/storage/v2021_04_01/aio/operations/_patch.py +0 -20
- azure/mgmt/storage/v2021_04_01/aio/operations/_private_endpoint_connections_operations.py +0 -432
- azure/mgmt/storage/v2021_04_01/aio/operations/_private_link_resources_operations.py +0 -117
- azure/mgmt/storage/v2021_04_01/aio/operations/_queue_operations.py +0 -613
- azure/mgmt/storage/v2021_04_01/aio/operations/_queue_services_operations.py +0 -344
- azure/mgmt/storage/v2021_04_01/aio/operations/_skus_operations.py +0 -136
- azure/mgmt/storage/v2021_04_01/aio/operations/_storage_accounts_operations.py +0 -1687
- azure/mgmt/storage/v2021_04_01/aio/operations/_table_operations.py +0 -410
- azure/mgmt/storage/v2021_04_01/aio/operations/_table_services_operations.py +0 -344
- azure/mgmt/storage/v2021_04_01/aio/operations/_usages_operations.py +0 -139
- azure/mgmt/storage/v2021_04_01/models/__init__.py +0 -411
- azure/mgmt/storage/v2021_04_01/models/_models_py3.py +0 -7083
- azure/mgmt/storage/v2021_04_01/models/_patch.py +0 -20
- azure/mgmt/storage/v2021_04_01/models/_storage_management_client_enums.py +0 -528
- azure/mgmt/storage/v2021_04_01/operations/__init__.py +0 -55
- azure/mgmt/storage/v2021_04_01/operations/_blob_containers_operations.py +0 -2392
- azure/mgmt/storage/v2021_04_01/operations/_blob_inventory_policies_operations.py +0 -590
- azure/mgmt/storage/v2021_04_01/operations/_blob_services_operations.py +0 -483
- azure/mgmt/storage/v2021_04_01/operations/_deleted_accounts_operations.py +0 -250
- azure/mgmt/storage/v2021_04_01/operations/_encryption_scopes_operations.py +0 -689
- azure/mgmt/storage/v2021_04_01/operations/_file_services_operations.py +0 -453
- azure/mgmt/storage/v2021_04_01/operations/_file_shares_operations.py +0 -1303
- azure/mgmt/storage/v2021_04_01/operations/_management_policies_operations.py +0 -459
- azure/mgmt/storage/v2021_04_01/operations/_object_replication_policies_operations.py +0 -585
- azure/mgmt/storage/v2021_04_01/operations/_operations.py +0 -156
- azure/mgmt/storage/v2021_04_01/operations/_patch.py +0 -20
- azure/mgmt/storage/v2021_04_01/operations/_private_endpoint_connections_operations.py +0 -583
- azure/mgmt/storage/v2021_04_01/operations/_private_link_resources_operations.py +0 -153
- azure/mgmt/storage/v2021_04_01/operations/_queue_operations.py +0 -819
- azure/mgmt/storage/v2021_04_01/operations/_queue_services_operations.py +0 -453
- azure/mgmt/storage/v2021_04_01/operations/_skus_operations.py +0 -162
- azure/mgmt/storage/v2021_04_01/operations/_storage_accounts_operations.py +0 -2124
- azure/mgmt/storage/v2021_04_01/operations/_table_operations.py +0 -577
- azure/mgmt/storage/v2021_04_01/operations/_table_services_operations.py +0 -453
- azure/mgmt/storage/v2021_04_01/operations/_usages_operations.py +0 -169
- azure/mgmt/storage/v2021_06_01/__init__.py +0 -26
- azure/mgmt/storage/v2021_06_01/_configuration.py +0 -65
- azure/mgmt/storage/v2021_06_01/_patch.py +0 -32
- azure/mgmt/storage/v2021_06_01/_storage_management_client.py +0 -219
- azure/mgmt/storage/v2021_06_01/_vendor.py +0 -16
- azure/mgmt/storage/v2021_06_01/_version.py +0 -9
- azure/mgmt/storage/v2021_06_01/aio/__init__.py +0 -23
- azure/mgmt/storage/v2021_06_01/aio/_configuration.py +0 -65
- azure/mgmt/storage/v2021_06_01/aio/_patch.py +0 -32
- azure/mgmt/storage/v2021_06_01/aio/_storage_management_client.py +0 -224
- azure/mgmt/storage/v2021_06_01/aio/operations/__init__.py +0 -55
- azure/mgmt/storage/v2021_06_01/aio/operations/_blob_containers_operations.py +0 -1838
- azure/mgmt/storage/v2021_06_01/aio/operations/_blob_inventory_policies_operations.py +0 -445
- azure/mgmt/storage/v2021_06_01/aio/operations/_encryption_scopes_operations.py +0 -550
- azure/mgmt/storage/v2021_06_01/aio/operations/_file_services_operations.py +0 -331
- azure/mgmt/storage/v2021_06_01/aio/operations/_file_shares_operations.py +0 -1010
- azure/mgmt/storage/v2021_06_01/aio/operations/_management_policies_operations.py +0 -349
- azure/mgmt/storage/v2021_06_01/aio/operations/_object_replication_policies_operations.py +0 -446
- azure/mgmt/storage/v2021_06_01/aio/operations/_operations.py +0 -135
- azure/mgmt/storage/v2021_06_01/aio/operations/_patch.py +0 -20
- azure/mgmt/storage/v2021_06_01/aio/operations/_queue_operations.py +0 -613
- azure/mgmt/storage/v2021_06_01/aio/operations/_queue_services_operations.py +0 -331
- azure/mgmt/storage/v2021_06_01/aio/operations/_storage_accounts_operations.py +0 -1898
- azure/mgmt/storage/v2021_06_01/aio/operations/_table_operations.py +0 -410
- azure/mgmt/storage/v2021_06_01/aio/operations/_table_services_operations.py +0 -331
- azure/mgmt/storage/v2021_06_01/aio/operations/_usages_operations.py +0 -139
- azure/mgmt/storage/v2021_06_01/models/__init__.py +0 -419
- azure/mgmt/storage/v2021_06_01/models/_models_py3.py +0 -7467
- azure/mgmt/storage/v2021_06_01/models/_patch.py +0 -20
- azure/mgmt/storage/v2021_06_01/models/_storage_management_client_enums.py +0 -544
- azure/mgmt/storage/v2021_06_01/operations/__init__.py +0 -55
- azure/mgmt/storage/v2021_06_01/operations/_blob_containers_operations.py +0 -2370
- azure/mgmt/storage/v2021_06_01/operations/_blob_inventory_policies_operations.py +0 -590
- azure/mgmt/storage/v2021_06_01/operations/_blob_services_operations.py +0 -464
- azure/mgmt/storage/v2021_06_01/operations/_deleted_accounts_operations.py +0 -250
- azure/mgmt/storage/v2021_06_01/operations/_encryption_scopes_operations.py +0 -689
- azure/mgmt/storage/v2021_06_01/operations/_file_services_operations.py +0 -434
- azure/mgmt/storage/v2021_06_01/operations/_file_shares_operations.py +0 -1303
- azure/mgmt/storage/v2021_06_01/operations/_management_policies_operations.py +0 -459
- azure/mgmt/storage/v2021_06_01/operations/_object_replication_policies_operations.py +0 -585
- azure/mgmt/storage/v2021_06_01/operations/_operations.py +0 -156
- azure/mgmt/storage/v2021_06_01/operations/_patch.py +0 -20
- azure/mgmt/storage/v2021_06_01/operations/_private_endpoint_connections_operations.py +0 -583
- azure/mgmt/storage/v2021_06_01/operations/_private_link_resources_operations.py +0 -153
- azure/mgmt/storage/v2021_06_01/operations/_queue_operations.py +0 -819
- azure/mgmt/storage/v2021_06_01/operations/_queue_services_operations.py +0 -434
- azure/mgmt/storage/v2021_06_01/operations/_skus_operations.py +0 -162
- azure/mgmt/storage/v2021_06_01/operations/_storage_accounts_operations.py +0 -2400
- azure/mgmt/storage/v2021_06_01/operations/_table_operations.py +0 -577
- azure/mgmt/storage/v2021_06_01/operations/_table_services_operations.py +0 -434
- azure/mgmt/storage/v2021_06_01/operations/_usages_operations.py +0 -169
- azure/mgmt/storage/v2021_08_01/__init__.py +0 -26
- azure/mgmt/storage/v2021_08_01/_configuration.py +0 -65
- azure/mgmt/storage/v2021_08_01/_patch.py +0 -32
- azure/mgmt/storage/v2021_08_01/_storage_management_client.py +0 -225
- azure/mgmt/storage/v2021_08_01/_vendor.py +0 -16
- azure/mgmt/storage/v2021_08_01/_version.py +0 -9
- azure/mgmt/storage/v2021_08_01/aio/__init__.py +0 -23
- azure/mgmt/storage/v2021_08_01/aio/_configuration.py +0 -65
- azure/mgmt/storage/v2021_08_01/aio/_patch.py +0 -32
- azure/mgmt/storage/v2021_08_01/aio/_storage_management_client.py +0 -230
- azure/mgmt/storage/v2021_08_01/aio/operations/__init__.py +0 -57
- azure/mgmt/storage/v2021_08_01/aio/operations/_blob_inventory_policies_operations.py +0 -445
- azure/mgmt/storage/v2021_08_01/aio/operations/_blob_services_operations.py +0 -362
- azure/mgmt/storage/v2021_08_01/aio/operations/_deleted_accounts_operations.py +0 -194
- azure/mgmt/storage/v2021_08_01/aio/operations/_encryption_scopes_operations.py +0 -550
- azure/mgmt/storage/v2021_08_01/aio/operations/_local_users_operations.py +0 -560
- azure/mgmt/storage/v2021_08_01/aio/operations/_management_policies_operations.py +0 -349
- azure/mgmt/storage/v2021_08_01/aio/operations/_operations.py +0 -135
- azure/mgmt/storage/v2021_08_01/aio/operations/_patch.py +0 -20
- azure/mgmt/storage/v2021_08_01/aio/operations/_private_endpoint_connections_operations.py +0 -432
- azure/mgmt/storage/v2021_08_01/aio/operations/_private_link_resources_operations.py +0 -117
- azure/mgmt/storage/v2021_08_01/aio/operations/_queue_operations.py +0 -608
- azure/mgmt/storage/v2021_08_01/aio/operations/_queue_services_operations.py +0 -328
- azure/mgmt/storage/v2021_08_01/aio/operations/_skus_operations.py +0 -136
- azure/mgmt/storage/v2021_08_01/aio/operations/_storage_accounts_operations.py +0 -1898
- azure/mgmt/storage/v2021_08_01/aio/operations/_table_operations.py +0 -405
- azure/mgmt/storage/v2021_08_01/aio/operations/_table_services_operations.py +0 -328
- azure/mgmt/storage/v2021_08_01/aio/operations/_usages_operations.py +0 -139
- azure/mgmt/storage/v2021_08_01/models/__init__.py +0 -431
- azure/mgmt/storage/v2021_08_01/models/_models_py3.py +0 -7738
- azure/mgmt/storage/v2021_08_01/models/_patch.py +0 -20
- azure/mgmt/storage/v2021_08_01/models/_storage_management_client_enums.py +0 -560
- azure/mgmt/storage/v2021_08_01/operations/__init__.py +0 -57
- azure/mgmt/storage/v2021_08_01/operations/_blob_containers_operations.py +0 -2370
- azure/mgmt/storage/v2021_08_01/operations/_blob_inventory_policies_operations.py +0 -590
- azure/mgmt/storage/v2021_08_01/operations/_blob_services_operations.py +0 -464
- azure/mgmt/storage/v2021_08_01/operations/_deleted_accounts_operations.py +0 -250
- azure/mgmt/storage/v2021_08_01/operations/_encryption_scopes_operations.py +0 -689
- azure/mgmt/storage/v2021_08_01/operations/_file_services_operations.py +0 -431
- azure/mgmt/storage/v2021_08_01/operations/_file_shares_operations.py +0 -1296
- azure/mgmt/storage/v2021_08_01/operations/_local_users_operations.py +0 -758
- azure/mgmt/storage/v2021_08_01/operations/_management_policies_operations.py +0 -459
- azure/mgmt/storage/v2021_08_01/operations/_object_replication_policies_operations.py +0 -585
- azure/mgmt/storage/v2021_08_01/operations/_operations.py +0 -156
- azure/mgmt/storage/v2021_08_01/operations/_patch.py +0 -20
- azure/mgmt/storage/v2021_08_01/operations/_private_endpoint_connections_operations.py +0 -583
- azure/mgmt/storage/v2021_08_01/operations/_private_link_resources_operations.py +0 -153
- azure/mgmt/storage/v2021_08_01/operations/_queue_operations.py +0 -814
- azure/mgmt/storage/v2021_08_01/operations/_queue_services_operations.py +0 -431
- azure/mgmt/storage/v2021_08_01/operations/_skus_operations.py +0 -162
- azure/mgmt/storage/v2021_08_01/operations/_storage_accounts_operations.py +0 -2400
- azure/mgmt/storage/v2021_08_01/operations/_table_operations.py +0 -572
- azure/mgmt/storage/v2021_08_01/operations/_table_services_operations.py +0 -431
- azure/mgmt/storage/v2021_08_01/operations/_usages_operations.py +0 -169
- azure/mgmt/storage/v2021_09_01/__init__.py +0 -26
- azure/mgmt/storage/v2021_09_01/_configuration.py +0 -65
- azure/mgmt/storage/v2021_09_01/_patch.py +0 -32
- azure/mgmt/storage/v2021_09_01/_storage_management_client.py +0 -225
- azure/mgmt/storage/v2021_09_01/_vendor.py +0 -16
- azure/mgmt/storage/v2021_09_01/_version.py +0 -9
- azure/mgmt/storage/v2021_09_01/aio/__init__.py +0 -23
- azure/mgmt/storage/v2021_09_01/aio/_configuration.py +0 -65
- azure/mgmt/storage/v2021_09_01/aio/_patch.py +0 -32
- azure/mgmt/storage/v2021_09_01/aio/_storage_management_client.py +0 -230
- azure/mgmt/storage/v2021_09_01/aio/operations/__init__.py +0 -57
- azure/mgmt/storage/v2021_09_01/aio/operations/_blob_containers_operations.py +0 -1838
- azure/mgmt/storage/v2021_09_01/aio/operations/_blob_services_operations.py +0 -362
- azure/mgmt/storage/v2021_09_01/aio/operations/_deleted_accounts_operations.py +0 -194
- azure/mgmt/storage/v2021_09_01/aio/operations/_encryption_scopes_operations.py +0 -550
- azure/mgmt/storage/v2021_09_01/aio/operations/_file_services_operations.py +0 -328
- azure/mgmt/storage/v2021_09_01/aio/operations/_file_shares_operations.py +0 -1003
- azure/mgmt/storage/v2021_09_01/aio/operations/_local_users_operations.py +0 -560
- azure/mgmt/storage/v2021_09_01/aio/operations/_management_policies_operations.py +0 -349
- azure/mgmt/storage/v2021_09_01/aio/operations/_object_replication_policies_operations.py +0 -446
- azure/mgmt/storage/v2021_09_01/aio/operations/_operations.py +0 -135
- azure/mgmt/storage/v2021_09_01/aio/operations/_patch.py +0 -20
- azure/mgmt/storage/v2021_09_01/aio/operations/_private_endpoint_connections_operations.py +0 -432
- azure/mgmt/storage/v2021_09_01/aio/operations/_private_link_resources_operations.py +0 -117
- azure/mgmt/storage/v2021_09_01/aio/operations/_queue_operations.py +0 -608
- azure/mgmt/storage/v2021_09_01/aio/operations/_skus_operations.py +0 -136
- azure/mgmt/storage/v2021_09_01/aio/operations/_storage_accounts_operations.py +0 -1898
- azure/mgmt/storage/v2021_09_01/aio/operations/_usages_operations.py +0 -139
- azure/mgmt/storage/v2021_09_01/models/__init__.py +0 -441
- azure/mgmt/storage/v2021_09_01/models/_models_py3.py +0 -8069
- azure/mgmt/storage/v2021_09_01/models/_patch.py +0 -20
- azure/mgmt/storage/v2021_09_01/models/_storage_management_client_enums.py +0 -583
- azure/mgmt/storage/v2021_09_01/operations/__init__.py +0 -57
- azure/mgmt/storage/v2021_09_01/operations/_blob_containers_operations.py +0 -2370
- azure/mgmt/storage/v2021_09_01/operations/_blob_inventory_policies_operations.py +0 -587
- azure/mgmt/storage/v2021_09_01/operations/_blob_services_operations.py +0 -464
- azure/mgmt/storage/v2021_09_01/operations/_deleted_accounts_operations.py +0 -250
- azure/mgmt/storage/v2021_09_01/operations/_encryption_scopes_operations.py +0 -689
- azure/mgmt/storage/v2021_09_01/operations/_file_services_operations.py +0 -431
- azure/mgmt/storage/v2021_09_01/operations/_file_shares_operations.py +0 -1296
- azure/mgmt/storage/v2021_09_01/operations/_local_users_operations.py +0 -758
- azure/mgmt/storage/v2021_09_01/operations/_management_policies_operations.py +0 -459
- azure/mgmt/storage/v2021_09_01/operations/_object_replication_policies_operations.py +0 -585
- azure/mgmt/storage/v2021_09_01/operations/_operations.py +0 -156
- azure/mgmt/storage/v2021_09_01/operations/_patch.py +0 -20
- azure/mgmt/storage/v2021_09_01/operations/_private_endpoint_connections_operations.py +0 -583
- azure/mgmt/storage/v2021_09_01/operations/_private_link_resources_operations.py +0 -153
- azure/mgmt/storage/v2021_09_01/operations/_queue_operations.py +0 -814
- azure/mgmt/storage/v2021_09_01/operations/_queue_services_operations.py +0 -431
- azure/mgmt/storage/v2021_09_01/operations/_skus_operations.py +0 -162
- azure/mgmt/storage/v2021_09_01/operations/_storage_accounts_operations.py +0 -2400
- azure/mgmt/storage/v2021_09_01/operations/_table_operations.py +0 -765
- azure/mgmt/storage/v2021_09_01/operations/_table_services_operations.py +0 -431
- azure/mgmt/storage/v2021_09_01/operations/_usages_operations.py +0 -169
- azure/mgmt/storage/v2022_05_01/__init__.py +0 -26
- azure/mgmt/storage/v2022_05_01/_configuration.py +0 -65
- azure/mgmt/storage/v2022_05_01/_patch.py +0 -20
- azure/mgmt/storage/v2022_05_01/_storage_management_client.py +0 -225
- azure/mgmt/storage/v2022_05_01/_vendor.py +0 -16
- azure/mgmt/storage/v2022_05_01/_version.py +0 -9
- azure/mgmt/storage/v2022_05_01/aio/__init__.py +0 -23
- azure/mgmt/storage/v2022_05_01/aio/_configuration.py +0 -65
- azure/mgmt/storage/v2022_05_01/aio/_patch.py +0 -20
- azure/mgmt/storage/v2022_05_01/aio/_storage_management_client.py +0 -230
- azure/mgmt/storage/v2022_05_01/aio/operations/__init__.py +0 -57
- azure/mgmt/storage/v2022_05_01/aio/operations/_blob_containers_operations.py +0 -1838
- azure/mgmt/storage/v2022_05_01/aio/operations/_blob_inventory_policies_operations.py +0 -442
- azure/mgmt/storage/v2022_05_01/aio/operations/_blob_services_operations.py +0 -362
- azure/mgmt/storage/v2022_05_01/aio/operations/_deleted_accounts_operations.py +0 -194
- azure/mgmt/storage/v2022_05_01/aio/operations/_encryption_scopes_operations.py +0 -550
- azure/mgmt/storage/v2022_05_01/aio/operations/_file_services_operations.py +0 -328
- azure/mgmt/storage/v2022_05_01/aio/operations/_file_shares_operations.py +0 -1003
- azure/mgmt/storage/v2022_05_01/aio/operations/_local_users_operations.py +0 -560
- azure/mgmt/storage/v2022_05_01/aio/operations/_management_policies_operations.py +0 -349
- azure/mgmt/storage/v2022_05_01/aio/operations/_object_replication_policies_operations.py +0 -446
- azure/mgmt/storage/v2022_05_01/aio/operations/_operations.py +0 -135
- azure/mgmt/storage/v2022_05_01/aio/operations/_patch.py +0 -20
- azure/mgmt/storage/v2022_05_01/aio/operations/_private_endpoint_connections_operations.py +0 -432
- azure/mgmt/storage/v2022_05_01/aio/operations/_private_link_resources_operations.py +0 -117
- azure/mgmt/storage/v2022_05_01/aio/operations/_queue_operations.py +0 -608
- azure/mgmt/storage/v2022_05_01/aio/operations/_queue_services_operations.py +0 -328
- azure/mgmt/storage/v2022_05_01/aio/operations/_skus_operations.py +0 -136
- azure/mgmt/storage/v2022_05_01/aio/operations/_storage_accounts_operations.py +0 -1898
- azure/mgmt/storage/v2022_05_01/aio/operations/_table_operations.py +0 -588
- azure/mgmt/storage/v2022_05_01/aio/operations/_table_services_operations.py +0 -328
- azure/mgmt/storage/v2022_05_01/aio/operations/_usages_operations.py +0 -139
- azure/mgmt/storage/v2022_05_01/models/__init__.py +0 -441
- azure/mgmt/storage/v2022_05_01/models/_models_py3.py +0 -8057
- azure/mgmt/storage/v2022_05_01/models/_patch.py +0 -20
- azure/mgmt/storage/v2022_05_01/models/_storage_management_client_enums.py +0 -584
- azure/mgmt/storage/v2022_05_01/operations/__init__.py +0 -57
- azure/mgmt/storage/v2022_05_01/operations/_blob_containers_operations.py +0 -2370
- azure/mgmt/storage/v2022_05_01/operations/_blob_inventory_policies_operations.py +0 -587
- azure/mgmt/storage/v2022_05_01/operations/_blob_services_operations.py +0 -464
- azure/mgmt/storage/v2022_05_01/operations/_deleted_accounts_operations.py +0 -250
- azure/mgmt/storage/v2022_05_01/operations/_encryption_scopes_operations.py +0 -689
- azure/mgmt/storage/v2022_05_01/operations/_file_services_operations.py +0 -431
- azure/mgmt/storage/v2022_05_01/operations/_file_shares_operations.py +0 -1296
- azure/mgmt/storage/v2022_05_01/operations/_local_users_operations.py +0 -758
- azure/mgmt/storage/v2022_05_01/operations/_management_policies_operations.py +0 -459
- azure/mgmt/storage/v2022_05_01/operations/_object_replication_policies_operations.py +0 -585
- azure/mgmt/storage/v2022_05_01/operations/_operations.py +0 -156
- azure/mgmt/storage/v2022_05_01/operations/_patch.py +0 -20
- azure/mgmt/storage/v2022_05_01/operations/_private_endpoint_connections_operations.py +0 -583
- azure/mgmt/storage/v2022_05_01/operations/_private_link_resources_operations.py +0 -153
- azure/mgmt/storage/v2022_05_01/operations/_queue_operations.py +0 -814
- azure/mgmt/storage/v2022_05_01/operations/_queue_services_operations.py +0 -431
- azure/mgmt/storage/v2022_05_01/operations/_skus_operations.py +0 -162
- azure/mgmt/storage/v2022_05_01/operations/_storage_accounts_operations.py +0 -2400
- azure/mgmt/storage/v2022_05_01/operations/_table_operations.py +0 -765
- azure/mgmt/storage/v2022_05_01/operations/_table_services_operations.py +0 -431
- azure/mgmt/storage/v2022_05_01/operations/_usages_operations.py +0 -169
- azure/mgmt/storage/v2022_09_01/__init__.py +0 -26
- azure/mgmt/storage/v2022_09_01/_configuration.py +0 -65
- azure/mgmt/storage/v2022_09_01/_patch.py +0 -20
- azure/mgmt/storage/v2022_09_01/_storage_management_client.py +0 -225
- azure/mgmt/storage/v2022_09_01/_vendor.py +0 -16
- azure/mgmt/storage/v2022_09_01/_version.py +0 -9
- azure/mgmt/storage/v2022_09_01/aio/__init__.py +0 -23
- azure/mgmt/storage/v2022_09_01/aio/_configuration.py +0 -65
- azure/mgmt/storage/v2022_09_01/aio/_patch.py +0 -20
- azure/mgmt/storage/v2022_09_01/aio/_storage_management_client.py +0 -230
- azure/mgmt/storage/v2022_09_01/aio/operations/__init__.py +0 -57
- azure/mgmt/storage/v2022_09_01/aio/operations/_blob_containers_operations.py +0 -1838
- azure/mgmt/storage/v2022_09_01/aio/operations/_blob_inventory_policies_operations.py +0 -442
- azure/mgmt/storage/v2022_09_01/aio/operations/_blob_services_operations.py +0 -362
- azure/mgmt/storage/v2022_09_01/aio/operations/_deleted_accounts_operations.py +0 -194
- azure/mgmt/storage/v2022_09_01/aio/operations/_file_services_operations.py +0 -328
- azure/mgmt/storage/v2022_09_01/aio/operations/_file_shares_operations.py +0 -1003
- azure/mgmt/storage/v2022_09_01/aio/operations/_local_users_operations.py +0 -560
- azure/mgmt/storage/v2022_09_01/aio/operations/_management_policies_operations.py +0 -349
- azure/mgmt/storage/v2022_09_01/aio/operations/_object_replication_policies_operations.py +0 -446
- azure/mgmt/storage/v2022_09_01/aio/operations/_operations.py +0 -135
- azure/mgmt/storage/v2022_09_01/aio/operations/_patch.py +0 -20
- azure/mgmt/storage/v2022_09_01/aio/operations/_private_endpoint_connections_operations.py +0 -432
- azure/mgmt/storage/v2022_09_01/aio/operations/_private_link_resources_operations.py +0 -117
- azure/mgmt/storage/v2022_09_01/aio/operations/_queue_operations.py +0 -608
- azure/mgmt/storage/v2022_09_01/aio/operations/_queue_services_operations.py +0 -328
- azure/mgmt/storage/v2022_09_01/aio/operations/_skus_operations.py +0 -136
- azure/mgmt/storage/v2022_09_01/aio/operations/_storage_accounts_operations.py +0 -1913
- azure/mgmt/storage/v2022_09_01/aio/operations/_table_operations.py +0 -588
- azure/mgmt/storage/v2022_09_01/aio/operations/_table_services_operations.py +0 -328
- azure/mgmt/storage/v2022_09_01/aio/operations/_usages_operations.py +0 -139
- azure/mgmt/storage/v2022_09_01/models/__init__.py +0 -443
- azure/mgmt/storage/v2022_09_01/models/_models_py3.py +0 -8093
- azure/mgmt/storage/v2022_09_01/models/_patch.py +0 -20
- azure/mgmt/storage/v2022_09_01/models/_storage_management_client_enums.py +0 -592
- azure/mgmt/storage/v2022_09_01/operations/__init__.py +0 -57
- azure/mgmt/storage/v2022_09_01/operations/_blob_containers_operations.py +0 -2370
- azure/mgmt/storage/v2022_09_01/operations/_blob_inventory_policies_operations.py +0 -587
- azure/mgmt/storage/v2022_09_01/operations/_blob_services_operations.py +0 -464
- azure/mgmt/storage/v2022_09_01/operations/_deleted_accounts_operations.py +0 -250
- azure/mgmt/storage/v2022_09_01/operations/_encryption_scopes_operations.py +0 -724
- azure/mgmt/storage/v2022_09_01/operations/_file_services_operations.py +0 -431
- azure/mgmt/storage/v2022_09_01/operations/_file_shares_operations.py +0 -1296
- azure/mgmt/storage/v2022_09_01/operations/_local_users_operations.py +0 -758
- azure/mgmt/storage/v2022_09_01/operations/_management_policies_operations.py +0 -459
- azure/mgmt/storage/v2022_09_01/operations/_object_replication_policies_operations.py +0 -585
- azure/mgmt/storage/v2022_09_01/operations/_operations.py +0 -156
- azure/mgmt/storage/v2022_09_01/operations/_patch.py +0 -20
- azure/mgmt/storage/v2022_09_01/operations/_private_endpoint_connections_operations.py +0 -583
- azure/mgmt/storage/v2022_09_01/operations/_private_link_resources_operations.py +0 -153
- azure/mgmt/storage/v2022_09_01/operations/_queue_operations.py +0 -814
- azure/mgmt/storage/v2022_09_01/operations/_queue_services_operations.py +0 -431
- azure/mgmt/storage/v2022_09_01/operations/_skus_operations.py +0 -162
- azure/mgmt/storage/v2022_09_01/operations/_storage_accounts_operations.py +0 -2422
- azure/mgmt/storage/v2022_09_01/operations/_table_operations.py +0 -765
- azure/mgmt/storage/v2022_09_01/operations/_table_services_operations.py +0 -431
- azure/mgmt/storage/v2022_09_01/operations/_usages_operations.py +0 -169
- azure/mgmt/storage/v2023_01_01/__init__.py +0 -26
- azure/mgmt/storage/v2023_01_01/_configuration.py +0 -65
- azure/mgmt/storage/v2023_01_01/_patch.py +0 -20
- azure/mgmt/storage/v2023_01_01/_storage_management_client.py +0 -225
- azure/mgmt/storage/v2023_01_01/_vendor.py +0 -16
- azure/mgmt/storage/v2023_01_01/_version.py +0 -9
- azure/mgmt/storage/v2023_01_01/aio/__init__.py +0 -23
- azure/mgmt/storage/v2023_01_01/aio/_configuration.py +0 -65
- azure/mgmt/storage/v2023_01_01/aio/_patch.py +0 -20
- azure/mgmt/storage/v2023_01_01/aio/_storage_management_client.py +0 -230
- azure/mgmt/storage/v2023_01_01/aio/operations/__init__.py +0 -57
- azure/mgmt/storage/v2023_01_01/aio/operations/_blob_containers_operations.py +0 -1838
- azure/mgmt/storage/v2023_01_01/aio/operations/_blob_inventory_policies_operations.py +0 -442
- azure/mgmt/storage/v2023_01_01/aio/operations/_blob_services_operations.py +0 -362
- azure/mgmt/storage/v2023_01_01/aio/operations/_deleted_accounts_operations.py +0 -194
- azure/mgmt/storage/v2023_01_01/aio/operations/_encryption_scopes_operations.py +0 -568
- azure/mgmt/storage/v2023_01_01/aio/operations/_file_services_operations.py +0 -328
- azure/mgmt/storage/v2023_01_01/aio/operations/_file_shares_operations.py +0 -1003
- azure/mgmt/storage/v2023_01_01/aio/operations/_local_users_operations.py +0 -560
- azure/mgmt/storage/v2023_01_01/aio/operations/_management_policies_operations.py +0 -349
- azure/mgmt/storage/v2023_01_01/aio/operations/_object_replication_policies_operations.py +0 -446
- azure/mgmt/storage/v2023_01_01/aio/operations/_operations.py +0 -135
- azure/mgmt/storage/v2023_01_01/aio/operations/_patch.py +0 -20
- azure/mgmt/storage/v2023_01_01/aio/operations/_private_endpoint_connections_operations.py +0 -432
- azure/mgmt/storage/v2023_01_01/aio/operations/_private_link_resources_operations.py +0 -117
- azure/mgmt/storage/v2023_01_01/aio/operations/_queue_operations.py +0 -608
- azure/mgmt/storage/v2023_01_01/aio/operations/_queue_services_operations.py +0 -328
- azure/mgmt/storage/v2023_01_01/aio/operations/_skus_operations.py +0 -136
- azure/mgmt/storage/v2023_01_01/aio/operations/_table_operations.py +0 -588
- azure/mgmt/storage/v2023_01_01/aio/operations/_table_services_operations.py +0 -328
- azure/mgmt/storage/v2023_01_01/aio/operations/_usages_operations.py +0 -139
- azure/mgmt/storage/v2023_01_01/models/__init__.py +0 -461
- azure/mgmt/storage/v2023_01_01/models/_models_py3.py +0 -8338
- azure/mgmt/storage/v2023_01_01/models/_patch.py +0 -20
- azure/mgmt/storage/v2023_01_01/models/_storage_management_client_enums.py +0 -626
- azure/mgmt/storage/v2023_01_01/operations/__init__.py +0 -57
- azure/mgmt/storage/v2023_01_01/operations/_deleted_accounts_operations.py +0 -250
- azure/mgmt/storage/v2023_01_01/operations/_file_services_operations.py +0 -437
- azure/mgmt/storage/v2023_01_01/operations/_local_users_operations.py +0 -770
- azure/mgmt/storage/v2023_01_01/operations/_operations.py +0 -156
- azure/mgmt/storage/v2023_01_01/operations/_patch.py +0 -20
- azure/mgmt/storage/v2023_01_01/operations/_skus_operations.py +0 -162
- azure/mgmt/storage/v2023_01_01/operations/_usages_operations.py +0 -169
- azure/mgmt/storage/v2023_05_01/__init__.py +0 -26
- azure/mgmt/storage/v2023_05_01/_configuration.py +0 -65
- azure/mgmt/storage/v2023_05_01/_patch.py +0 -20
- azure/mgmt/storage/v2023_05_01/_vendor.py +0 -16
- azure/mgmt/storage/v2023_05_01/_version.py +0 -9
- azure/mgmt/storage/v2023_05_01/aio/__init__.py +0 -23
- azure/mgmt/storage/v2023_05_01/aio/_configuration.py +0 -65
- azure/mgmt/storage/v2023_05_01/aio/_patch.py +0 -20
- azure/mgmt/storage/v2023_05_01/aio/operations/_blob_containers_operations.py +0 -1838
- azure/mgmt/storage/v2023_05_01/aio/operations/_blob_inventory_policies_operations.py +0 -442
- azure/mgmt/storage/v2023_05_01/aio/operations/_blob_services_operations.py +0 -362
- azure/mgmt/storage/v2023_05_01/aio/operations/_deleted_accounts_operations.py +0 -194
- azure/mgmt/storage/v2023_05_01/aio/operations/_encryption_scopes_operations.py +0 -568
- azure/mgmt/storage/v2023_05_01/aio/operations/_file_services_operations.py +0 -328
- azure/mgmt/storage/v2023_05_01/aio/operations/_file_shares_operations.py +0 -1003
- azure/mgmt/storage/v2023_05_01/aio/operations/_management_policies_operations.py +0 -349
- azure/mgmt/storage/v2023_05_01/aio/operations/_object_replication_policies_operations.py +0 -446
- azure/mgmt/storage/v2023_05_01/aio/operations/_operations.py +0 -135
- azure/mgmt/storage/v2023_05_01/aio/operations/_patch.py +0 -20
- azure/mgmt/storage/v2023_05_01/aio/operations/_private_endpoint_connections_operations.py +0 -432
- azure/mgmt/storage/v2023_05_01/aio/operations/_private_link_resources_operations.py +0 -117
- azure/mgmt/storage/v2023_05_01/aio/operations/_queue_operations.py +0 -608
- azure/mgmt/storage/v2023_05_01/aio/operations/_queue_services_operations.py +0 -328
- azure/mgmt/storage/v2023_05_01/aio/operations/_skus_operations.py +0 -136
- azure/mgmt/storage/v2023_05_01/aio/operations/_storage_accounts_operations.py +0 -2187
- azure/mgmt/storage/v2023_05_01/aio/operations/_table_operations.py +0 -588
- azure/mgmt/storage/v2023_05_01/aio/operations/_table_services_operations.py +0 -328
- azure/mgmt/storage/v2023_05_01/aio/operations/_usages_operations.py +0 -139
- azure/mgmt/storage/v2023_05_01/models/__init__.py +0 -537
- azure/mgmt/storage/v2023_05_01/models/_patch.py +0 -20
- azure/mgmt/storage/v2023_05_01/operations/_blob_containers_operations.py +0 -2398
- azure/mgmt/storage/v2023_05_01/operations/_blob_inventory_policies_operations.py +0 -595
- azure/mgmt/storage/v2023_05_01/operations/_blob_services_operations.py +0 -470
- azure/mgmt/storage/v2023_05_01/operations/_deleted_accounts_operations.py +0 -250
- azure/mgmt/storage/v2023_05_01/operations/_encryption_scopes_operations.py +0 -732
- azure/mgmt/storage/v2023_05_01/operations/_file_services_operations.py +0 -437
- azure/mgmt/storage/v2023_05_01/operations/_file_shares_operations.py +0 -1310
- azure/mgmt/storage/v2023_05_01/operations/_management_policies_operations.py +0 -465
- azure/mgmt/storage/v2023_05_01/operations/_object_replication_policies_operations.py +0 -593
- azure/mgmt/storage/v2023_05_01/operations/_operations.py +0 -156
- azure/mgmt/storage/v2023_05_01/operations/_patch.py +0 -20
- azure/mgmt/storage/v2023_05_01/operations/_private_endpoint_connections_operations.py +0 -591
- azure/mgmt/storage/v2023_05_01/operations/_private_link_resources_operations.py +0 -155
- azure/mgmt/storage/v2023_05_01/operations/_queue_operations.py +0 -824
- azure/mgmt/storage/v2023_05_01/operations/_queue_services_operations.py +0 -437
- azure/mgmt/storage/v2023_05_01/operations/_skus_operations.py +0 -162
- azure/mgmt/storage/v2023_05_01/operations/_storage_accounts_operations.py +0 -2796
- azure/mgmt/storage/v2023_05_01/operations/_table_services_operations.py +0 -437
- azure/mgmt/storage/v2023_05_01/operations/_usages_operations.py +0 -169
- azure_mgmt_storage-21.2.1.dist-info/RECORD +0 -979
- /azure/mgmt/storage/{v2015_06_15/aio/operations → v2024_01_01}/_patch.py +0 -0
- /azure/mgmt/storage/{v2015_06_15/models → v2024_01_01/aio}/_patch.py +0 -0
- /azure/mgmt/storage/{v2015_06_15 → v2024_01_01/aio}/operations/_patch.py +0 -0
- /azure/mgmt/storage/{v2016_12_01/aio/operations → v2024_01_01/models}/_patch.py +0 -0
- /azure/mgmt/storage/{v2016_12_01/models → v2024_01_01/operations}/_patch.py +0 -0
- {azure_mgmt_storage-21.2.1.dist-info → azure_mgmt_storage-22.1.0.dist-info}/LICENSE +0 -0
- {azure_mgmt_storage-21.2.1.dist-info → azure_mgmt_storage-22.1.0.dist-info}/top_level.txt +0 -0
@@ -24,7 +24,6 @@
|
|
24
24
|
#
|
25
25
|
# --------------------------------------------------------------------------
|
26
26
|
|
27
|
-
# pylint: skip-file
|
28
27
|
# pyright: reportUnnecessaryTypeIgnoreComment=false
|
29
28
|
|
30
29
|
from base64 import b64decode, b64encode
|
@@ -52,7 +51,6 @@ from typing import (
|
|
52
51
|
MutableMapping,
|
53
52
|
Type,
|
54
53
|
List,
|
55
|
-
Mapping,
|
56
54
|
)
|
57
55
|
|
58
56
|
try:
|
@@ -91,6 +89,8 @@ class RawDeserializer:
|
|
91
89
|
:param data: Input, could be bytes or stream (will be decoded with UTF8) or text
|
92
90
|
:type data: str or bytes or IO
|
93
91
|
:param str content_type: The content type.
|
92
|
+
:return: The deserialized data.
|
93
|
+
:rtype: object
|
94
94
|
"""
|
95
95
|
if hasattr(data, "read"):
|
96
96
|
# Assume a stream
|
@@ -112,7 +112,7 @@ class RawDeserializer:
|
|
112
112
|
try:
|
113
113
|
return json.loads(data_as_str)
|
114
114
|
except ValueError as err:
|
115
|
-
raise DeserializationError("JSON is invalid: {}".format(err), err)
|
115
|
+
raise DeserializationError("JSON is invalid: {}".format(err), err) from err
|
116
116
|
elif "xml" in (content_type or []):
|
117
117
|
try:
|
118
118
|
|
@@ -144,6 +144,8 @@ class RawDeserializer:
|
|
144
144
|
# context otherwise.
|
145
145
|
_LOGGER.critical("Wasn't XML not JSON, failing")
|
146
146
|
raise DeserializationError("XML is invalid") from err
|
147
|
+
elif content_type.startswith("text/"):
|
148
|
+
return data_as_str
|
147
149
|
raise DeserializationError("Cannot deserialize content-type: {}".format(content_type))
|
148
150
|
|
149
151
|
@classmethod
|
@@ -153,6 +155,11 @@ class RawDeserializer:
|
|
153
155
|
Use bytes and headers to NOT use any requests/aiohttp or whatever
|
154
156
|
specific implementation.
|
155
157
|
Headers will tested for "content-type"
|
158
|
+
|
159
|
+
:param bytes body_bytes: The body of the response.
|
160
|
+
:param dict headers: The headers of the response.
|
161
|
+
:returns: The deserialized data.
|
162
|
+
:rtype: object
|
156
163
|
"""
|
157
164
|
# Try to use content-type from headers if available
|
158
165
|
content_type = None
|
@@ -182,15 +189,30 @@ class UTC(datetime.tzinfo):
|
|
182
189
|
"""Time Zone info for handling UTC"""
|
183
190
|
|
184
191
|
def utcoffset(self, dt):
|
185
|
-
"""UTF offset for UTC is 0.
|
192
|
+
"""UTF offset for UTC is 0.
|
193
|
+
|
194
|
+
:param datetime.datetime dt: The datetime
|
195
|
+
:returns: The offset
|
196
|
+
:rtype: datetime.timedelta
|
197
|
+
"""
|
186
198
|
return datetime.timedelta(0)
|
187
199
|
|
188
200
|
def tzname(self, dt):
|
189
|
-
"""Timestamp representation.
|
201
|
+
"""Timestamp representation.
|
202
|
+
|
203
|
+
:param datetime.datetime dt: The datetime
|
204
|
+
:returns: The timestamp representation
|
205
|
+
:rtype: str
|
206
|
+
"""
|
190
207
|
return "Z"
|
191
208
|
|
192
209
|
def dst(self, dt):
|
193
|
-
"""No daylight saving for UTC.
|
210
|
+
"""No daylight saving for UTC.
|
211
|
+
|
212
|
+
:param datetime.datetime dt: The datetime
|
213
|
+
:returns: The daylight saving time
|
214
|
+
:rtype: datetime.timedelta
|
215
|
+
"""
|
194
216
|
return datetime.timedelta(hours=1)
|
195
217
|
|
196
218
|
|
@@ -204,7 +226,7 @@ except ImportError: # Python 2.7
|
|
204
226
|
:param datetime.timedelta offset: offset in timedelta format
|
205
227
|
"""
|
206
228
|
|
207
|
-
def __init__(self, offset):
|
229
|
+
def __init__(self, offset) -> None:
|
208
230
|
self.__offset = offset
|
209
231
|
|
210
232
|
def utcoffset(self, dt):
|
@@ -233,24 +255,26 @@ except ImportError:
|
|
233
255
|
_FLATTEN = re.compile(r"(?<!\\)\.")
|
234
256
|
|
235
257
|
|
236
|
-
def attribute_transformer(key, attr_desc, value):
|
258
|
+
def attribute_transformer(key, attr_desc, value): # pylint: disable=unused-argument
|
237
259
|
"""A key transformer that returns the Python attribute.
|
238
260
|
|
239
261
|
:param str key: The attribute name
|
240
262
|
:param dict attr_desc: The attribute metadata
|
241
263
|
:param object value: The value
|
242
264
|
:returns: A key using attribute name
|
265
|
+
:rtype: str
|
243
266
|
"""
|
244
267
|
return (key, value)
|
245
268
|
|
246
269
|
|
247
|
-
def full_restapi_key_transformer(key, attr_desc, value):
|
270
|
+
def full_restapi_key_transformer(key, attr_desc, value): # pylint: disable=unused-argument
|
248
271
|
"""A key transformer that returns the full RestAPI key path.
|
249
272
|
|
250
|
-
:param str
|
273
|
+
:param str key: The attribute name
|
251
274
|
:param dict attr_desc: The attribute metadata
|
252
275
|
:param object value: The value
|
253
276
|
:returns: A list of keys using RestAPI syntax.
|
277
|
+
:rtype: list
|
254
278
|
"""
|
255
279
|
keys = _FLATTEN.split(attr_desc["key"])
|
256
280
|
return ([_decode_attribute_map_key(k) for k in keys], value)
|
@@ -263,22 +287,29 @@ def last_restapi_key_transformer(key, attr_desc, value):
|
|
263
287
|
:param dict attr_desc: The attribute metadata
|
264
288
|
:param object value: The value
|
265
289
|
:returns: The last RestAPI key.
|
290
|
+
:rtype: str
|
266
291
|
"""
|
267
292
|
key, value = full_restapi_key_transformer(key, attr_desc, value)
|
268
293
|
return (key[-1], value)
|
269
294
|
|
270
295
|
|
271
296
|
def _create_xml_node(tag, prefix=None, ns=None):
|
272
|
-
"""Create a XML node.
|
297
|
+
"""Create a XML node.
|
298
|
+
|
299
|
+
:param str tag: The tag name
|
300
|
+
:param str prefix: The prefix
|
301
|
+
:param str ns: The namespace
|
302
|
+
:return: The XML node
|
303
|
+
:rtype: xml.etree.ElementTree.Element
|
304
|
+
"""
|
273
305
|
if prefix and ns:
|
274
306
|
ET.register_namespace(prefix, ns)
|
275
307
|
if ns:
|
276
308
|
return ET.Element("{" + ns + "}" + tag)
|
277
|
-
|
278
|
-
return ET.Element(tag)
|
309
|
+
return ET.Element(tag)
|
279
310
|
|
280
311
|
|
281
|
-
class Model
|
312
|
+
class Model:
|
282
313
|
"""Mixin for all client request body/response body models to support
|
283
314
|
serialization and deserialization.
|
284
315
|
"""
|
@@ -289,7 +320,7 @@ class Model(object):
|
|
289
320
|
|
290
321
|
def __init__(self, **kwargs: Any) -> None:
|
291
322
|
self.additional_properties: Optional[Dict[str, Any]] = {}
|
292
|
-
for k in kwargs:
|
323
|
+
for k in kwargs: # pylint: disable=consider-using-dict-items
|
293
324
|
if k not in self._attribute_map:
|
294
325
|
_LOGGER.warning("%s is not a known attribute of class %s and will be ignored", k, self.__class__)
|
295
326
|
elif k in self._validation and self._validation[k].get("readonly", False):
|
@@ -298,13 +329,23 @@ class Model(object):
|
|
298
329
|
setattr(self, k, kwargs[k])
|
299
330
|
|
300
331
|
def __eq__(self, other: Any) -> bool:
|
301
|
-
"""Compare objects by comparing all attributes.
|
332
|
+
"""Compare objects by comparing all attributes.
|
333
|
+
|
334
|
+
:param object other: The object to compare
|
335
|
+
:returns: True if objects are equal
|
336
|
+
:rtype: bool
|
337
|
+
"""
|
302
338
|
if isinstance(other, self.__class__):
|
303
339
|
return self.__dict__ == other.__dict__
|
304
340
|
return False
|
305
341
|
|
306
342
|
def __ne__(self, other: Any) -> bool:
|
307
|
-
"""Compare objects by comparing all attributes.
|
343
|
+
"""Compare objects by comparing all attributes.
|
344
|
+
|
345
|
+
:param object other: The object to compare
|
346
|
+
:returns: True if objects are not equal
|
347
|
+
:rtype: bool
|
348
|
+
"""
|
308
349
|
return not self.__eq__(other)
|
309
350
|
|
310
351
|
def __str__(self) -> str:
|
@@ -324,7 +365,11 @@ class Model(object):
|
|
324
365
|
|
325
366
|
@classmethod
|
326
367
|
def _create_xml_node(cls):
|
327
|
-
"""Create XML node.
|
368
|
+
"""Create XML node.
|
369
|
+
|
370
|
+
:returns: The XML node
|
371
|
+
:rtype: xml.etree.ElementTree.Element
|
372
|
+
"""
|
328
373
|
try:
|
329
374
|
xml_map = cls._xml_map # type: ignore
|
330
375
|
except AttributeError:
|
@@ -344,14 +389,14 @@ class Model(object):
|
|
344
389
|
:rtype: dict
|
345
390
|
"""
|
346
391
|
serializer = Serializer(self._infer_class_models())
|
347
|
-
return serializer._serialize(
|
392
|
+
return serializer._serialize( # type: ignore # pylint: disable=protected-access
|
393
|
+
self, keep_readonly=keep_readonly, **kwargs
|
394
|
+
)
|
348
395
|
|
349
396
|
def as_dict(
|
350
397
|
self,
|
351
398
|
keep_readonly: bool = True,
|
352
|
-
key_transformer: Callable[
|
353
|
-
[str, Dict[str, Any], Any], Any
|
354
|
-
] = attribute_transformer,
|
399
|
+
key_transformer: Callable[[str, Dict[str, Any], Any], Any] = attribute_transformer,
|
355
400
|
**kwargs: Any
|
356
401
|
) -> JSON:
|
357
402
|
"""Return a dict that can be serialized using json.dump.
|
@@ -380,12 +425,15 @@ class Model(object):
|
|
380
425
|
|
381
426
|
If you want XML serialization, you can pass the kwargs is_xml=True.
|
382
427
|
|
428
|
+
:param bool keep_readonly: If you want to serialize the readonly attributes
|
383
429
|
:param function key_transformer: A key transformer function.
|
384
430
|
:returns: A dict JSON compatible object
|
385
431
|
:rtype: dict
|
386
432
|
"""
|
387
433
|
serializer = Serializer(self._infer_class_models())
|
388
|
-
return serializer._serialize(
|
434
|
+
return serializer._serialize( # type: ignore # pylint: disable=protected-access
|
435
|
+
self, key_transformer=key_transformer, keep_readonly=keep_readonly, **kwargs
|
436
|
+
)
|
389
437
|
|
390
438
|
@classmethod
|
391
439
|
def _infer_class_models(cls):
|
@@ -395,7 +443,7 @@ class Model(object):
|
|
395
443
|
client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)}
|
396
444
|
if cls.__name__ not in client_models:
|
397
445
|
raise ValueError("Not Autorest generated code")
|
398
|
-
except Exception:
|
446
|
+
except Exception: # pylint: disable=broad-exception-caught
|
399
447
|
# Assume it's not Autorest generated (tests?). Add ourselves as dependencies.
|
400
448
|
client_models = {cls.__name__: cls}
|
401
449
|
return client_models
|
@@ -408,6 +456,7 @@ class Model(object):
|
|
408
456
|
:param str content_type: JSON by default, set application/xml if XML.
|
409
457
|
:returns: An instance of this model
|
410
458
|
:raises: DeserializationError if something went wrong
|
459
|
+
:rtype: ModelType
|
411
460
|
"""
|
412
461
|
deserializer = Deserializer(cls._infer_class_models())
|
413
462
|
return deserializer(cls.__name__, data, content_type=content_type) # type: ignore
|
@@ -426,9 +475,11 @@ class Model(object):
|
|
426
475
|
and last_rest_key_case_insensitive_extractor)
|
427
476
|
|
428
477
|
:param dict data: A dict using RestAPI structure
|
478
|
+
:param function key_extractors: A key extractor function.
|
429
479
|
:param str content_type: JSON by default, set application/xml if XML.
|
430
480
|
:returns: An instance of this model
|
431
481
|
:raises: DeserializationError if something went wrong
|
482
|
+
:rtype: ModelType
|
432
483
|
"""
|
433
484
|
deserializer = Deserializer(cls._infer_class_models())
|
434
485
|
deserializer.key_extractors = ( # type: ignore
|
@@ -448,21 +499,25 @@ class Model(object):
|
|
448
499
|
return {}
|
449
500
|
result = dict(cls._subtype_map[key])
|
450
501
|
for valuetype in cls._subtype_map[key].values():
|
451
|
-
result.update(objects[valuetype]._flatten_subtype(key, objects))
|
502
|
+
result.update(objects[valuetype]._flatten_subtype(key, objects)) # pylint: disable=protected-access
|
452
503
|
return result
|
453
504
|
|
454
505
|
@classmethod
|
455
506
|
def _classify(cls, response, objects):
|
456
507
|
"""Check the class _subtype_map for any child classes.
|
457
508
|
We want to ignore any inherited _subtype_maps.
|
458
|
-
|
509
|
+
|
510
|
+
:param dict response: The initial data
|
511
|
+
:param dict objects: The class objects
|
512
|
+
:returns: The class to be used
|
513
|
+
:rtype: class
|
459
514
|
"""
|
460
515
|
for subtype_key in cls.__dict__.get("_subtype_map", {}).keys():
|
461
516
|
subtype_value = None
|
462
517
|
|
463
518
|
if not isinstance(response, ET.Element):
|
464
519
|
rest_api_response_key = cls._get_rest_key_parts(subtype_key)[-1]
|
465
|
-
subtype_value = response.
|
520
|
+
subtype_value = response.get(rest_api_response_key, None) or response.get(subtype_key, None)
|
466
521
|
else:
|
467
522
|
subtype_value = xml_key_extractor(subtype_key, cls._attribute_map[subtype_key], response)
|
468
523
|
if subtype_value:
|
@@ -501,11 +556,13 @@ def _decode_attribute_map_key(key):
|
|
501
556
|
inside the received data.
|
502
557
|
|
503
558
|
:param str key: A key string from the generated code
|
559
|
+
:returns: The decoded key
|
560
|
+
:rtype: str
|
504
561
|
"""
|
505
562
|
return key.replace("\\.", ".")
|
506
563
|
|
507
564
|
|
508
|
-
class Serializer
|
565
|
+
class Serializer: # pylint: disable=too-many-public-methods
|
509
566
|
"""Request object model serializer."""
|
510
567
|
|
511
568
|
basic_types = {str: "str", int: "int", bool: "bool", float: "float"}
|
@@ -540,7 +597,7 @@ class Serializer(object):
|
|
540
597
|
"multiple": lambda x, y: x % y != 0,
|
541
598
|
}
|
542
599
|
|
543
|
-
def __init__(self, classes: Optional[Mapping[str, type]]=None):
|
600
|
+
def __init__(self, classes: Optional[Mapping[str, type]] = None) -> None:
|
544
601
|
self.serialize_type = {
|
545
602
|
"iso-8601": Serializer.serialize_iso,
|
546
603
|
"rfc-1123": Serializer.serialize_rfc,
|
@@ -560,13 +617,16 @@ class Serializer(object):
|
|
560
617
|
self.key_transformer = full_restapi_key_transformer
|
561
618
|
self.client_side_validation = True
|
562
619
|
|
563
|
-
def _serialize(
|
620
|
+
def _serialize( # pylint: disable=too-many-nested-blocks, too-many-branches, too-many-statements, too-many-locals
|
621
|
+
self, target_obj, data_type=None, **kwargs
|
622
|
+
):
|
564
623
|
"""Serialize data into a string according to type.
|
565
624
|
|
566
|
-
:param target_obj: The data to be serialized.
|
625
|
+
:param object target_obj: The data to be serialized.
|
567
626
|
:param str data_type: The type to be serialized from.
|
568
627
|
:rtype: str, dict
|
569
628
|
:raises: SerializationError if serialization fails.
|
629
|
+
:returns: The serialized data.
|
570
630
|
"""
|
571
631
|
key_transformer = kwargs.get("key_transformer", self.key_transformer)
|
572
632
|
keep_readonly = kwargs.get("keep_readonly", False)
|
@@ -592,12 +652,14 @@ class Serializer(object):
|
|
592
652
|
|
593
653
|
serialized = {}
|
594
654
|
if is_xml_model_serialization:
|
595
|
-
serialized = target_obj._create_xml_node()
|
655
|
+
serialized = target_obj._create_xml_node() # pylint: disable=protected-access
|
596
656
|
try:
|
597
|
-
attributes = target_obj._attribute_map
|
657
|
+
attributes = target_obj._attribute_map # pylint: disable=protected-access
|
598
658
|
for attr, attr_desc in attributes.items():
|
599
659
|
attr_name = attr
|
600
|
-
if not keep_readonly and target_obj._validation.get(
|
660
|
+
if not keep_readonly and target_obj._validation.get( # pylint: disable=protected-access
|
661
|
+
attr_name, {}
|
662
|
+
).get("readonly", False):
|
601
663
|
continue
|
602
664
|
|
603
665
|
if attr_name == "additional_properties" and attr_desc["key"] == "":
|
@@ -633,7 +695,8 @@ class Serializer(object):
|
|
633
695
|
if isinstance(new_attr, list):
|
634
696
|
serialized.extend(new_attr) # type: ignore
|
635
697
|
elif isinstance(new_attr, ET.Element):
|
636
|
-
# If the down XML has no XML/Name,
|
698
|
+
# If the down XML has no XML/Name,
|
699
|
+
# we MUST replace the tag with the local tag. But keeping the namespaces.
|
637
700
|
if "name" not in getattr(orig_attr, "_xml_map", {}):
|
638
701
|
splitted_tag = new_attr.tag.split("}")
|
639
702
|
if len(splitted_tag) == 2: # Namespace
|
@@ -664,17 +727,17 @@ class Serializer(object):
|
|
664
727
|
except (AttributeError, KeyError, TypeError) as err:
|
665
728
|
msg = "Attribute {} in object {} cannot be serialized.\n{}".format(attr_name, class_name, str(target_obj))
|
666
729
|
raise SerializationError(msg) from err
|
667
|
-
|
668
|
-
return serialized
|
730
|
+
return serialized
|
669
731
|
|
670
732
|
def body(self, data, data_type, **kwargs):
|
671
733
|
"""Serialize data intended for a request body.
|
672
734
|
|
673
|
-
:param data: The data to be serialized.
|
735
|
+
:param object data: The data to be serialized.
|
674
736
|
:param str data_type: The type to be serialized from.
|
675
737
|
:rtype: dict
|
676
738
|
:raises: SerializationError if serialization fails.
|
677
739
|
:raises: ValueError if data is None
|
740
|
+
:returns: The serialized request body
|
678
741
|
"""
|
679
742
|
|
680
743
|
# Just in case this is a dict
|
@@ -703,7 +766,7 @@ class Serializer(object):
|
|
703
766
|
attribute_key_case_insensitive_extractor,
|
704
767
|
last_rest_key_case_insensitive_extractor,
|
705
768
|
]
|
706
|
-
data = deserializer._deserialize(data_type, data)
|
769
|
+
data = deserializer._deserialize(data_type, data) # pylint: disable=protected-access
|
707
770
|
except DeserializationError as err:
|
708
771
|
raise SerializationError("Unable to build a model: " + str(err)) from err
|
709
772
|
|
@@ -712,9 +775,11 @@ class Serializer(object):
|
|
712
775
|
def url(self, name, data, data_type, **kwargs):
|
713
776
|
"""Serialize data intended for a URL path.
|
714
777
|
|
715
|
-
:param
|
778
|
+
:param str name: The name of the URL path parameter.
|
779
|
+
:param object data: The data to be serialized.
|
716
780
|
:param str data_type: The type to be serialized from.
|
717
781
|
:rtype: str
|
782
|
+
:returns: The serialized URL path
|
718
783
|
:raises: TypeError if serialization fails.
|
719
784
|
:raises: ValueError if data is None
|
720
785
|
"""
|
@@ -728,27 +793,26 @@ class Serializer(object):
|
|
728
793
|
output = output.replace("{", quote("{")).replace("}", quote("}"))
|
729
794
|
else:
|
730
795
|
output = quote(str(output), safe="")
|
731
|
-
except SerializationError:
|
732
|
-
raise TypeError("{} must be type {}.".format(name, data_type))
|
733
|
-
|
734
|
-
return output
|
796
|
+
except SerializationError as exc:
|
797
|
+
raise TypeError("{} must be type {}.".format(name, data_type)) from exc
|
798
|
+
return output
|
735
799
|
|
736
800
|
def query(self, name, data, data_type, **kwargs):
|
737
801
|
"""Serialize data intended for a URL query.
|
738
802
|
|
739
|
-
:param
|
803
|
+
:param str name: The name of the query parameter.
|
804
|
+
:param object data: The data to be serialized.
|
740
805
|
:param str data_type: The type to be serialized from.
|
741
|
-
:keyword bool skip_quote: Whether to skip quote the serialized result.
|
742
|
-
Defaults to False.
|
743
806
|
:rtype: str, list
|
744
807
|
:raises: TypeError if serialization fails.
|
745
808
|
:raises: ValueError if data is None
|
809
|
+
:returns: The serialized query parameter
|
746
810
|
"""
|
747
811
|
try:
|
748
812
|
# Treat the list aside, since we don't want to encode the div separator
|
749
813
|
if data_type.startswith("["):
|
750
814
|
internal_data_type = data_type[1:-1]
|
751
|
-
do_quote = not kwargs.get(
|
815
|
+
do_quote = not kwargs.get("skip_quote", False)
|
752
816
|
return self.serialize_iter(data, internal_data_type, do_quote=do_quote, **kwargs)
|
753
817
|
|
754
818
|
# Not a list, regular serialization
|
@@ -759,19 +823,20 @@ class Serializer(object):
|
|
759
823
|
output = str(output)
|
760
824
|
else:
|
761
825
|
output = quote(str(output), safe="")
|
762
|
-
except SerializationError:
|
763
|
-
raise TypeError("{} must be type {}.".format(name, data_type))
|
764
|
-
|
765
|
-
return str(output)
|
826
|
+
except SerializationError as exc:
|
827
|
+
raise TypeError("{} must be type {}.".format(name, data_type)) from exc
|
828
|
+
return str(output)
|
766
829
|
|
767
830
|
def header(self, name, data, data_type, **kwargs):
|
768
831
|
"""Serialize data intended for a request header.
|
769
832
|
|
770
|
-
:param
|
833
|
+
:param str name: The name of the header.
|
834
|
+
:param object data: The data to be serialized.
|
771
835
|
:param str data_type: The type to be serialized from.
|
772
836
|
:rtype: str
|
773
837
|
:raises: TypeError if serialization fails.
|
774
838
|
:raises: ValueError if data is None
|
839
|
+
:returns: The serialized header
|
775
840
|
"""
|
776
841
|
try:
|
777
842
|
if data_type in ["[str]"]:
|
@@ -780,21 +845,20 @@ class Serializer(object):
|
|
780
845
|
output = self.serialize_data(data, data_type, **kwargs)
|
781
846
|
if data_type == "bool":
|
782
847
|
output = json.dumps(output)
|
783
|
-
except SerializationError:
|
784
|
-
raise TypeError("{} must be type {}.".format(name, data_type))
|
785
|
-
|
786
|
-
return str(output)
|
848
|
+
except SerializationError as exc:
|
849
|
+
raise TypeError("{} must be type {}.".format(name, data_type)) from exc
|
850
|
+
return str(output)
|
787
851
|
|
788
852
|
def serialize_data(self, data, data_type, **kwargs):
|
789
853
|
"""Serialize generic data according to supplied data type.
|
790
854
|
|
791
|
-
:param data: The data to be serialized.
|
855
|
+
:param object data: The data to be serialized.
|
792
856
|
:param str data_type: The type to be serialized from.
|
793
|
-
:param bool required: Whether it's essential that the data not be
|
794
|
-
empty or None
|
795
857
|
:raises: AttributeError if required data is None.
|
796
858
|
:raises: ValueError if data is None
|
797
859
|
:raises: SerializationError if serialization fails.
|
860
|
+
:returns: The serialized data.
|
861
|
+
:rtype: str, int, float, bool, dict, list
|
798
862
|
"""
|
799
863
|
if data is None:
|
800
864
|
raise ValueError("No value for given attribute")
|
@@ -805,7 +869,7 @@ class Serializer(object):
|
|
805
869
|
if data_type in self.basic_types.values():
|
806
870
|
return self.serialize_basic(data, data_type, **kwargs)
|
807
871
|
|
808
|
-
|
872
|
+
if data_type in self.serialize_type:
|
809
873
|
return self.serialize_type[data_type](data, **kwargs)
|
810
874
|
|
811
875
|
# If dependencies is empty, try with current data class
|
@@ -821,11 +885,10 @@ class Serializer(object):
|
|
821
885
|
except (ValueError, TypeError) as err:
|
822
886
|
msg = "Unable to serialize value: {!r} as type: {!r}."
|
823
887
|
raise SerializationError(msg.format(data, data_type)) from err
|
824
|
-
|
825
|
-
return self._serialize(data, **kwargs)
|
888
|
+
return self._serialize(data, **kwargs)
|
826
889
|
|
827
890
|
@classmethod
|
828
|
-
def _get_custom_serializers(cls, data_type, **kwargs):
|
891
|
+
def _get_custom_serializers(cls, data_type, **kwargs): # pylint: disable=inconsistent-return-statements
|
829
892
|
custom_serializer = kwargs.get("basic_types_serializers", {}).get(data_type)
|
830
893
|
if custom_serializer:
|
831
894
|
return custom_serializer
|
@@ -841,23 +904,26 @@ class Serializer(object):
|
|
841
904
|
- basic_types_serializers dict[str, callable] : If set, use the callable as serializer
|
842
905
|
- is_xml bool : If set, use xml_basic_types_serializers
|
843
906
|
|
844
|
-
:param data: Object to be serialized.
|
907
|
+
:param obj data: Object to be serialized.
|
845
908
|
:param str data_type: Type of object in the iterable.
|
909
|
+
:rtype: str, int, float, bool
|
910
|
+
:return: serialized object
|
846
911
|
"""
|
847
912
|
custom_serializer = cls._get_custom_serializers(data_type, **kwargs)
|
848
913
|
if custom_serializer:
|
849
914
|
return custom_serializer(data)
|
850
915
|
if data_type == "str":
|
851
916
|
return cls.serialize_unicode(data)
|
852
|
-
return eval(data_type)(data) # nosec
|
917
|
+
return eval(data_type)(data) # nosec # pylint: disable=eval-used
|
853
918
|
|
854
919
|
@classmethod
|
855
920
|
def serialize_unicode(cls, data):
|
856
921
|
"""Special handling for serializing unicode strings in Py2.
|
857
922
|
Encode to UTF-8 if unicode, otherwise handle as a str.
|
858
923
|
|
859
|
-
:param data: Object to be serialized.
|
924
|
+
:param str data: Object to be serialized.
|
860
925
|
:rtype: str
|
926
|
+
:return: serialized object
|
861
927
|
"""
|
862
928
|
try: # If I received an enum, return its value
|
863
929
|
return data.value
|
@@ -871,8 +937,7 @@ class Serializer(object):
|
|
871
937
|
return data
|
872
938
|
except NameError:
|
873
939
|
return str(data)
|
874
|
-
|
875
|
-
return str(data)
|
940
|
+
return str(data)
|
876
941
|
|
877
942
|
def serialize_iter(self, data, iter_type, div=None, **kwargs):
|
878
943
|
"""Serialize iterable.
|
@@ -882,15 +947,13 @@ class Serializer(object):
|
|
882
947
|
serialization_ctxt['type'] should be same as data_type.
|
883
948
|
- is_xml bool : If set, serialize as XML
|
884
949
|
|
885
|
-
:param list
|
950
|
+
:param list data: Object to be serialized.
|
886
951
|
:param str iter_type: Type of object in the iterable.
|
887
|
-
:param bool required: Whether the objects in the iterable must
|
888
|
-
not be None or empty.
|
889
952
|
:param str div: If set, this str will be used to combine the elements
|
890
953
|
in the iterable into a combined string. Default is 'None'.
|
891
|
-
:keyword bool do_quote: Whether to quote the serialized result of each iterable element.
|
892
954
|
Defaults to False.
|
893
955
|
:rtype: list, str
|
956
|
+
:return: serialized iterable
|
894
957
|
"""
|
895
958
|
if isinstance(data, str):
|
896
959
|
raise SerializationError("Refuse str type as a valid iter type.")
|
@@ -907,12 +970,8 @@ class Serializer(object):
|
|
907
970
|
raise
|
908
971
|
serialized.append(None)
|
909
972
|
|
910
|
-
if kwargs.get(
|
911
|
-
serialized = [
|
912
|
-
'' if s is None else quote(str(s), safe='')
|
913
|
-
for s
|
914
|
-
in serialized
|
915
|
-
]
|
973
|
+
if kwargs.get("do_quote", False):
|
974
|
+
serialized = ["" if s is None else quote(str(s), safe="") for s in serialized]
|
916
975
|
|
917
976
|
if div:
|
918
977
|
serialized = ["" if s is None else str(s) for s in serialized]
|
@@ -949,9 +1008,8 @@ class Serializer(object):
|
|
949
1008
|
|
950
1009
|
:param dict attr: Object to be serialized.
|
951
1010
|
:param str dict_type: Type of object in the dictionary.
|
952
|
-
:param bool required: Whether the objects in the dictionary must
|
953
|
-
not be None or empty.
|
954
1011
|
:rtype: dict
|
1012
|
+
:return: serialized dictionary
|
955
1013
|
"""
|
956
1014
|
serialization_ctxt = kwargs.get("serialization_ctxt", {})
|
957
1015
|
serialized = {}
|
@@ -975,7 +1033,7 @@ class Serializer(object):
|
|
975
1033
|
|
976
1034
|
return serialized
|
977
1035
|
|
978
|
-
def serialize_object(self, attr, **kwargs):
|
1036
|
+
def serialize_object(self, attr, **kwargs): # pylint: disable=too-many-return-statements
|
979
1037
|
"""Serialize a generic object.
|
980
1038
|
This will be handled as a dictionary. If object passed in is not
|
981
1039
|
a basic type (str, int, float, dict, list) it will simply be
|
@@ -983,6 +1041,7 @@ class Serializer(object):
|
|
983
1041
|
|
984
1042
|
:param dict attr: Object to be serialized.
|
985
1043
|
:rtype: dict or str
|
1044
|
+
:return: serialized object
|
986
1045
|
"""
|
987
1046
|
if attr is None:
|
988
1047
|
return None
|
@@ -1007,7 +1066,7 @@ class Serializer(object):
|
|
1007
1066
|
return self.serialize_decimal(attr)
|
1008
1067
|
|
1009
1068
|
# If it's a model or I know this dependency, serialize as a Model
|
1010
|
-
|
1069
|
+
if obj_type in self.dependencies.values() or isinstance(attr, Model):
|
1011
1070
|
return self._serialize(attr)
|
1012
1071
|
|
1013
1072
|
if obj_type == dict:
|
@@ -1038,56 +1097,61 @@ class Serializer(object):
|
|
1038
1097
|
try:
|
1039
1098
|
enum_obj(result) # type: ignore
|
1040
1099
|
return result
|
1041
|
-
except ValueError:
|
1100
|
+
except ValueError as exc:
|
1042
1101
|
for enum_value in enum_obj: # type: ignore
|
1043
1102
|
if enum_value.value.lower() == str(attr).lower():
|
1044
1103
|
return enum_value.value
|
1045
1104
|
error = "{!r} is not valid value for enum {!r}"
|
1046
|
-
raise SerializationError(error.format(attr, enum_obj))
|
1105
|
+
raise SerializationError(error.format(attr, enum_obj)) from exc
|
1047
1106
|
|
1048
1107
|
@staticmethod
|
1049
|
-
def serialize_bytearray(attr, **kwargs):
|
1108
|
+
def serialize_bytearray(attr, **kwargs): # pylint: disable=unused-argument
|
1050
1109
|
"""Serialize bytearray into base-64 string.
|
1051
1110
|
|
1052
|
-
:param attr: Object to be serialized.
|
1111
|
+
:param str attr: Object to be serialized.
|
1053
1112
|
:rtype: str
|
1113
|
+
:return: serialized base64
|
1054
1114
|
"""
|
1055
1115
|
return b64encode(attr).decode()
|
1056
1116
|
|
1057
1117
|
@staticmethod
|
1058
|
-
def serialize_base64(attr, **kwargs):
|
1118
|
+
def serialize_base64(attr, **kwargs): # pylint: disable=unused-argument
|
1059
1119
|
"""Serialize str into base-64 string.
|
1060
1120
|
|
1061
|
-
:param attr: Object to be serialized.
|
1121
|
+
:param str attr: Object to be serialized.
|
1062
1122
|
:rtype: str
|
1123
|
+
:return: serialized base64
|
1063
1124
|
"""
|
1064
1125
|
encoded = b64encode(attr).decode("ascii")
|
1065
1126
|
return encoded.strip("=").replace("+", "-").replace("/", "_")
|
1066
1127
|
|
1067
1128
|
@staticmethod
|
1068
|
-
def serialize_decimal(attr, **kwargs):
|
1129
|
+
def serialize_decimal(attr, **kwargs): # pylint: disable=unused-argument
|
1069
1130
|
"""Serialize Decimal object to float.
|
1070
1131
|
|
1071
|
-
:param attr: Object to be serialized.
|
1132
|
+
:param decimal attr: Object to be serialized.
|
1072
1133
|
:rtype: float
|
1134
|
+
:return: serialized decimal
|
1073
1135
|
"""
|
1074
1136
|
return float(attr)
|
1075
1137
|
|
1076
1138
|
@staticmethod
|
1077
|
-
def serialize_long(attr, **kwargs):
|
1139
|
+
def serialize_long(attr, **kwargs): # pylint: disable=unused-argument
|
1078
1140
|
"""Serialize long (Py2) or int (Py3).
|
1079
1141
|
|
1080
|
-
:param attr: Object to be serialized.
|
1142
|
+
:param int attr: Object to be serialized.
|
1081
1143
|
:rtype: int/long
|
1144
|
+
:return: serialized long
|
1082
1145
|
"""
|
1083
1146
|
return _long_type(attr)
|
1084
1147
|
|
1085
1148
|
@staticmethod
|
1086
|
-
def serialize_date(attr, **kwargs):
|
1149
|
+
def serialize_date(attr, **kwargs): # pylint: disable=unused-argument
|
1087
1150
|
"""Serialize Date object into ISO-8601 formatted string.
|
1088
1151
|
|
1089
1152
|
:param Date attr: Object to be serialized.
|
1090
1153
|
:rtype: str
|
1154
|
+
:return: serialized date
|
1091
1155
|
"""
|
1092
1156
|
if isinstance(attr, str):
|
1093
1157
|
attr = isodate.parse_date(attr)
|
@@ -1095,11 +1159,12 @@ class Serializer(object):
|
|
1095
1159
|
return t
|
1096
1160
|
|
1097
1161
|
@staticmethod
|
1098
|
-
def serialize_time(attr, **kwargs):
|
1162
|
+
def serialize_time(attr, **kwargs): # pylint: disable=unused-argument
|
1099
1163
|
"""Serialize Time object into ISO-8601 formatted string.
|
1100
1164
|
|
1101
1165
|
:param datetime.time attr: Object to be serialized.
|
1102
1166
|
:rtype: str
|
1167
|
+
:return: serialized time
|
1103
1168
|
"""
|
1104
1169
|
if isinstance(attr, str):
|
1105
1170
|
attr = isodate.parse_time(attr)
|
@@ -1109,30 +1174,32 @@ class Serializer(object):
|
|
1109
1174
|
return t
|
1110
1175
|
|
1111
1176
|
@staticmethod
|
1112
|
-
def serialize_duration(attr, **kwargs):
|
1177
|
+
def serialize_duration(attr, **kwargs): # pylint: disable=unused-argument
|
1113
1178
|
"""Serialize TimeDelta object into ISO-8601 formatted string.
|
1114
1179
|
|
1115
1180
|
:param TimeDelta attr: Object to be serialized.
|
1116
1181
|
:rtype: str
|
1182
|
+
:return: serialized duration
|
1117
1183
|
"""
|
1118
1184
|
if isinstance(attr, str):
|
1119
1185
|
attr = isodate.parse_duration(attr)
|
1120
1186
|
return isodate.duration_isoformat(attr)
|
1121
1187
|
|
1122
1188
|
@staticmethod
|
1123
|
-
def serialize_rfc(attr, **kwargs):
|
1189
|
+
def serialize_rfc(attr, **kwargs): # pylint: disable=unused-argument
|
1124
1190
|
"""Serialize Datetime object into RFC-1123 formatted string.
|
1125
1191
|
|
1126
1192
|
:param Datetime attr: Object to be serialized.
|
1127
1193
|
:rtype: str
|
1128
1194
|
:raises: TypeError if format invalid.
|
1195
|
+
:return: serialized rfc
|
1129
1196
|
"""
|
1130
1197
|
try:
|
1131
1198
|
if not attr.tzinfo:
|
1132
1199
|
_LOGGER.warning("Datetime with no tzinfo will be considered UTC.")
|
1133
1200
|
utc = attr.utctimetuple()
|
1134
|
-
except AttributeError:
|
1135
|
-
raise TypeError("RFC1123 object must be valid Datetime object.")
|
1201
|
+
except AttributeError as exc:
|
1202
|
+
raise TypeError("RFC1123 object must be valid Datetime object.") from exc
|
1136
1203
|
|
1137
1204
|
return "{}, {:02} {} {:04} {:02}:{:02}:{:02} GMT".format(
|
1138
1205
|
Serializer.days[utc.tm_wday],
|
@@ -1145,12 +1212,13 @@ class Serializer(object):
|
|
1145
1212
|
)
|
1146
1213
|
|
1147
1214
|
@staticmethod
|
1148
|
-
def serialize_iso(attr, **kwargs):
|
1215
|
+
def serialize_iso(attr, **kwargs): # pylint: disable=unused-argument
|
1149
1216
|
"""Serialize Datetime object into ISO-8601 formatted string.
|
1150
1217
|
|
1151
1218
|
:param Datetime attr: Object to be serialized.
|
1152
1219
|
:rtype: str
|
1153
1220
|
:raises: SerializationError if format invalid.
|
1221
|
+
:return: serialized iso
|
1154
1222
|
"""
|
1155
1223
|
if isinstance(attr, str):
|
1156
1224
|
attr = isodate.parse_datetime(attr)
|
@@ -1176,13 +1244,14 @@ class Serializer(object):
|
|
1176
1244
|
raise TypeError(msg) from err
|
1177
1245
|
|
1178
1246
|
@staticmethod
|
1179
|
-
def serialize_unix(attr, **kwargs):
|
1247
|
+
def serialize_unix(attr, **kwargs): # pylint: disable=unused-argument
|
1180
1248
|
"""Serialize Datetime object into IntTime format.
|
1181
1249
|
This is represented as seconds.
|
1182
1250
|
|
1183
1251
|
:param Datetime attr: Object to be serialized.
|
1184
1252
|
:rtype: int
|
1185
1253
|
:raises: SerializationError if format invalid
|
1254
|
+
:return: serialied unix
|
1186
1255
|
"""
|
1187
1256
|
if isinstance(attr, int):
|
1188
1257
|
return attr
|
@@ -1190,11 +1259,11 @@ class Serializer(object):
|
|
1190
1259
|
if not attr.tzinfo:
|
1191
1260
|
_LOGGER.warning("Datetime with no tzinfo will be considered UTC.")
|
1192
1261
|
return int(calendar.timegm(attr.utctimetuple()))
|
1193
|
-
except AttributeError:
|
1194
|
-
raise TypeError("Unix time object must be valid Datetime object.")
|
1262
|
+
except AttributeError as exc:
|
1263
|
+
raise TypeError("Unix time object must be valid Datetime object.") from exc
|
1195
1264
|
|
1196
1265
|
|
1197
|
-
def rest_key_extractor(attr, attr_desc, data):
|
1266
|
+
def rest_key_extractor(attr, attr_desc, data): # pylint: disable=unused-argument
|
1198
1267
|
key = attr_desc["key"]
|
1199
1268
|
working_data = data
|
1200
1269
|
|
@@ -1215,7 +1284,9 @@ def rest_key_extractor(attr, attr_desc, data):
|
|
1215
1284
|
return working_data.get(key)
|
1216
1285
|
|
1217
1286
|
|
1218
|
-
def rest_key_case_insensitive_extractor(
|
1287
|
+
def rest_key_case_insensitive_extractor( # pylint: disable=unused-argument, inconsistent-return-statements
|
1288
|
+
attr, attr_desc, data
|
1289
|
+
):
|
1219
1290
|
key = attr_desc["key"]
|
1220
1291
|
working_data = data
|
1221
1292
|
|
@@ -1236,17 +1307,29 @@ def rest_key_case_insensitive_extractor(attr, attr_desc, data):
|
|
1236
1307
|
return attribute_key_case_insensitive_extractor(key, None, working_data)
|
1237
1308
|
|
1238
1309
|
|
1239
|
-
def last_rest_key_extractor(attr, attr_desc, data):
|
1240
|
-
"""Extract the attribute in "data" based on the last part of the JSON path key.
|
1310
|
+
def last_rest_key_extractor(attr, attr_desc, data): # pylint: disable=unused-argument
|
1311
|
+
"""Extract the attribute in "data" based on the last part of the JSON path key.
|
1312
|
+
|
1313
|
+
:param str attr: The attribute to extract
|
1314
|
+
:param dict attr_desc: The attribute description
|
1315
|
+
:param dict data: The data to extract from
|
1316
|
+
:rtype: object
|
1317
|
+
:returns: The extracted attribute
|
1318
|
+
"""
|
1241
1319
|
key = attr_desc["key"]
|
1242
1320
|
dict_keys = _FLATTEN.split(key)
|
1243
1321
|
return attribute_key_extractor(dict_keys[-1], None, data)
|
1244
1322
|
|
1245
1323
|
|
1246
|
-
def last_rest_key_case_insensitive_extractor(attr, attr_desc, data):
|
1324
|
+
def last_rest_key_case_insensitive_extractor(attr, attr_desc, data): # pylint: disable=unused-argument
|
1247
1325
|
"""Extract the attribute in "data" based on the last part of the JSON path key.
|
1248
1326
|
|
1249
1327
|
This is the case insensitive version of "last_rest_key_extractor"
|
1328
|
+
:param str attr: The attribute to extract
|
1329
|
+
:param dict attr_desc: The attribute description
|
1330
|
+
:param dict data: The data to extract from
|
1331
|
+
:rtype: object
|
1332
|
+
:returns: The extracted attribute
|
1250
1333
|
"""
|
1251
1334
|
key = attr_desc["key"]
|
1252
1335
|
dict_keys = _FLATTEN.split(key)
|
@@ -1283,7 +1366,7 @@ def _extract_name_from_internal_type(internal_type):
|
|
1283
1366
|
return xml_name
|
1284
1367
|
|
1285
1368
|
|
1286
|
-
def xml_key_extractor(attr, attr_desc, data):
|
1369
|
+
def xml_key_extractor(attr, attr_desc, data): # pylint: disable=unused-argument,too-many-return-statements
|
1287
1370
|
if isinstance(data, dict):
|
1288
1371
|
return None
|
1289
1372
|
|
@@ -1335,22 +1418,21 @@ def xml_key_extractor(attr, attr_desc, data):
|
|
1335
1418
|
if is_iter_type:
|
1336
1419
|
if is_wrapped:
|
1337
1420
|
return None # is_wrapped no node, we want None
|
1338
|
-
|
1339
|
-
return [] # not wrapped, assume empty list
|
1421
|
+
return [] # not wrapped, assume empty list
|
1340
1422
|
return None # Assume it's not there, maybe an optional node.
|
1341
1423
|
|
1342
1424
|
# If is_iter_type and not wrapped, return all found children
|
1343
1425
|
if is_iter_type:
|
1344
1426
|
if not is_wrapped:
|
1345
1427
|
return children
|
1346
|
-
|
1347
|
-
|
1348
|
-
|
1349
|
-
|
1350
|
-
|
1351
|
-
)
|
1428
|
+
# Iter and wrapped, should have found one node only (the wrap one)
|
1429
|
+
if len(children) != 1:
|
1430
|
+
raise DeserializationError(
|
1431
|
+
"Tried to deserialize an array not wrapped, and found several nodes '{}'. Maybe you should declare this array as wrapped?".format( # pylint: disable=line-too-long
|
1432
|
+
xml_name
|
1352
1433
|
)
|
1353
|
-
|
1434
|
+
)
|
1435
|
+
return list(children[0]) # Might be empty list and that's ok.
|
1354
1436
|
|
1355
1437
|
# Here it's not a itertype, we should have found one element only or empty
|
1356
1438
|
if len(children) > 1:
|
@@ -1358,7 +1440,7 @@ def xml_key_extractor(attr, attr_desc, data):
|
|
1358
1440
|
return children[0]
|
1359
1441
|
|
1360
1442
|
|
1361
|
-
class Deserializer
|
1443
|
+
class Deserializer:
|
1362
1444
|
"""Response object model deserializer.
|
1363
1445
|
|
1364
1446
|
:param dict classes: Class type dictionary for deserializing complex types.
|
@@ -1367,9 +1449,9 @@ class Deserializer(object):
|
|
1367
1449
|
|
1368
1450
|
basic_types = {str: "str", int: "int", bool: "bool", float: "float"}
|
1369
1451
|
|
1370
|
-
valid_date = re.compile(r"\d{4}[-]\d{2}[-]\d{2}T\d{2}:\d{2}:\d{2}
|
1452
|
+
valid_date = re.compile(r"\d{4}[-]\d{2}[-]\d{2}T\d{2}:\d{2}:\d{2}\.?\d*Z?[-+]?[\d{2}]?:?[\d{2}]?")
|
1371
1453
|
|
1372
|
-
def __init__(self, classes: Optional[Mapping[str, type]]=None):
|
1454
|
+
def __init__(self, classes: Optional[Mapping[str, type]] = None) -> None:
|
1373
1455
|
self.deserialize_type = {
|
1374
1456
|
"iso-8601": Deserializer.deserialize_iso,
|
1375
1457
|
"rfc-1123": Deserializer.deserialize_rfc,
|
@@ -1407,11 +1489,12 @@ class Deserializer(object):
|
|
1407
1489
|
:param str content_type: Swagger "produces" if available.
|
1408
1490
|
:raises: DeserializationError if deserialization fails.
|
1409
1491
|
:return: Deserialized object.
|
1492
|
+
:rtype: object
|
1410
1493
|
"""
|
1411
1494
|
data = self._unpack_content(response_data, content_type)
|
1412
1495
|
return self._deserialize(target_obj, data)
|
1413
1496
|
|
1414
|
-
def _deserialize(self, target_obj, data):
|
1497
|
+
def _deserialize(self, target_obj, data): # pylint: disable=inconsistent-return-statements
|
1415
1498
|
"""Call the deserializer on a model.
|
1416
1499
|
|
1417
1500
|
Data needs to be already deserialized as JSON or XML ElementTree
|
@@ -1420,12 +1503,13 @@ class Deserializer(object):
|
|
1420
1503
|
:param object data: Object to deserialize.
|
1421
1504
|
:raises: DeserializationError if deserialization fails.
|
1422
1505
|
:return: Deserialized object.
|
1506
|
+
:rtype: object
|
1423
1507
|
"""
|
1424
1508
|
# This is already a model, go recursive just in case
|
1425
1509
|
if hasattr(data, "_attribute_map"):
|
1426
1510
|
constants = [name for name, config in getattr(data, "_validation", {}).items() if config.get("constant")]
|
1427
1511
|
try:
|
1428
|
-
for attr, mapconfig in data._attribute_map.items():
|
1512
|
+
for attr, mapconfig in data._attribute_map.items(): # pylint: disable=protected-access
|
1429
1513
|
if attr in constants:
|
1430
1514
|
continue
|
1431
1515
|
value = getattr(data, attr)
|
@@ -1444,13 +1528,13 @@ class Deserializer(object):
|
|
1444
1528
|
|
1445
1529
|
if isinstance(response, str):
|
1446
1530
|
return self.deserialize_data(data, response)
|
1447
|
-
|
1531
|
+
if isinstance(response, type) and issubclass(response, Enum):
|
1448
1532
|
return self.deserialize_enum(data, response)
|
1449
1533
|
|
1450
1534
|
if data is None or data is CoreNull:
|
1451
1535
|
return data
|
1452
1536
|
try:
|
1453
|
-
attributes = response._attribute_map # type: ignore
|
1537
|
+
attributes = response._attribute_map # type: ignore # pylint: disable=protected-access
|
1454
1538
|
d_attrs = {}
|
1455
1539
|
for attr, attr_desc in attributes.items():
|
1456
1540
|
# Check empty string. If it's not empty, someone has a real "additionalProperties"...
|
@@ -1480,9 +1564,8 @@ class Deserializer(object):
|
|
1480
1564
|
except (AttributeError, TypeError, KeyError) as err:
|
1481
1565
|
msg = "Unable to deserialize to object: " + class_name # type: ignore
|
1482
1566
|
raise DeserializationError(msg) from err
|
1483
|
-
|
1484
|
-
|
1485
|
-
return self._instantiate_model(response, d_attrs, additional_properties)
|
1567
|
+
additional_properties = self._build_additional_properties(attributes, data)
|
1568
|
+
return self._instantiate_model(response, d_attrs, additional_properties)
|
1486
1569
|
|
1487
1570
|
def _build_additional_properties(self, attribute_map, data):
|
1488
1571
|
if not self.additional_properties_detection:
|
@@ -1509,6 +1592,8 @@ class Deserializer(object):
|
|
1509
1592
|
|
1510
1593
|
:param str target: The target object type to deserialize to.
|
1511
1594
|
:param str/dict data: The response data to deserialize.
|
1595
|
+
:return: The classified target object and its class name.
|
1596
|
+
:rtype: tuple
|
1512
1597
|
"""
|
1513
1598
|
if target is None:
|
1514
1599
|
return None, None
|
@@ -1520,7 +1605,7 @@ class Deserializer(object):
|
|
1520
1605
|
return target, target
|
1521
1606
|
|
1522
1607
|
try:
|
1523
|
-
target = target._classify(data, self.dependencies) # type: ignore
|
1608
|
+
target = target._classify(data, self.dependencies) # type: ignore # pylint: disable=protected-access
|
1524
1609
|
except AttributeError:
|
1525
1610
|
pass # Target is not a Model, no classify
|
1526
1611
|
return target, target.__class__.__name__ # type: ignore
|
@@ -1535,10 +1620,12 @@ class Deserializer(object):
|
|
1535
1620
|
:param str target_obj: The target object type to deserialize to.
|
1536
1621
|
:param str/dict data: The response data to deserialize.
|
1537
1622
|
:param str content_type: Swagger "produces" if available.
|
1623
|
+
:return: Deserialized object.
|
1624
|
+
:rtype: object
|
1538
1625
|
"""
|
1539
1626
|
try:
|
1540
1627
|
return self(target_obj, data, content_type=content_type)
|
1541
|
-
except:
|
1628
|
+
except: # pylint: disable=bare-except
|
1542
1629
|
_LOGGER.debug(
|
1543
1630
|
"Ran into a deserialization error. Ignoring since this is failsafe deserialization", exc_info=True
|
1544
1631
|
)
|
@@ -1556,10 +1643,12 @@ class Deserializer(object):
|
|
1556
1643
|
|
1557
1644
|
If raw_data is something else, bypass all logic and return it directly.
|
1558
1645
|
|
1559
|
-
:param raw_data: Data to be processed.
|
1560
|
-
:param content_type: How to parse if raw_data is a string/bytes.
|
1646
|
+
:param obj raw_data: Data to be processed.
|
1647
|
+
:param str content_type: How to parse if raw_data is a string/bytes.
|
1561
1648
|
:raises JSONDecodeError: If JSON is requested and parsing is impossible.
|
1562
1649
|
:raises UnicodeDecodeError: If bytes is not UTF8
|
1650
|
+
:rtype: object
|
1651
|
+
:return: Unpacked content.
|
1563
1652
|
"""
|
1564
1653
|
# Assume this is enough to detect a Pipeline Response without importing it
|
1565
1654
|
context = getattr(raw_data, "context", {})
|
@@ -1583,24 +1672,35 @@ class Deserializer(object):
|
|
1583
1672
|
def _instantiate_model(self, response, attrs, additional_properties=None):
|
1584
1673
|
"""Instantiate a response model passing in deserialized args.
|
1585
1674
|
|
1586
|
-
:param response: The response model class.
|
1587
|
-
:param
|
1675
|
+
:param Response response: The response model class.
|
1676
|
+
:param dict attrs: The deserialized response attributes.
|
1677
|
+
:param dict additional_properties: Additional properties to be set.
|
1678
|
+
:rtype: Response
|
1679
|
+
:return: The instantiated response model.
|
1588
1680
|
"""
|
1589
1681
|
if callable(response):
|
1590
1682
|
subtype = getattr(response, "_subtype_map", {})
|
1591
1683
|
try:
|
1592
|
-
readonly = [
|
1593
|
-
|
1684
|
+
readonly = [
|
1685
|
+
k
|
1686
|
+
for k, v in response._validation.items() # pylint: disable=protected-access # type: ignore
|
1687
|
+
if v.get("readonly")
|
1688
|
+
]
|
1689
|
+
const = [
|
1690
|
+
k
|
1691
|
+
for k, v in response._validation.items() # pylint: disable=protected-access # type: ignore
|
1692
|
+
if v.get("constant")
|
1693
|
+
]
|
1594
1694
|
kwargs = {k: v for k, v in attrs.items() if k not in subtype and k not in readonly + const}
|
1595
1695
|
response_obj = response(**kwargs)
|
1596
1696
|
for attr in readonly:
|
1597
1697
|
setattr(response_obj, attr, attrs.get(attr))
|
1598
1698
|
if additional_properties:
|
1599
|
-
response_obj.additional_properties = additional_properties
|
1699
|
+
response_obj.additional_properties = additional_properties # type: ignore
|
1600
1700
|
return response_obj
|
1601
1701
|
except TypeError as err:
|
1602
1702
|
msg = "Unable to deserialize {} into model {}. ".format(kwargs, response) # type: ignore
|
1603
|
-
raise DeserializationError(msg + str(err))
|
1703
|
+
raise DeserializationError(msg + str(err)) from err
|
1604
1704
|
else:
|
1605
1705
|
try:
|
1606
1706
|
for attr, value in attrs.items():
|
@@ -1609,15 +1709,16 @@ class Deserializer(object):
|
|
1609
1709
|
except Exception as exp:
|
1610
1710
|
msg = "Unable to populate response model. "
|
1611
1711
|
msg += "Type: {}, Error: {}".format(type(response), exp)
|
1612
|
-
raise DeserializationError(msg)
|
1712
|
+
raise DeserializationError(msg) from exp
|
1613
1713
|
|
1614
|
-
def deserialize_data(self, data, data_type):
|
1714
|
+
def deserialize_data(self, data, data_type): # pylint: disable=too-many-return-statements
|
1615
1715
|
"""Process data for deserialization according to data type.
|
1616
1716
|
|
1617
1717
|
:param str data: The response string to be deserialized.
|
1618
1718
|
:param str data_type: The type to deserialize to.
|
1619
1719
|
:raises: DeserializationError if deserialization fails.
|
1620
1720
|
:return: Deserialized object.
|
1721
|
+
:rtype: object
|
1621
1722
|
"""
|
1622
1723
|
if data is None:
|
1623
1724
|
return data
|
@@ -1631,7 +1732,11 @@ class Deserializer(object):
|
|
1631
1732
|
if isinstance(data, self.deserialize_expected_types.get(data_type, tuple())):
|
1632
1733
|
return data
|
1633
1734
|
|
1634
|
-
is_a_text_parsing_type = lambda x: x not in [
|
1735
|
+
is_a_text_parsing_type = lambda x: x not in [ # pylint: disable=unnecessary-lambda-assignment
|
1736
|
+
"object",
|
1737
|
+
"[]",
|
1738
|
+
r"{}",
|
1739
|
+
]
|
1635
1740
|
if isinstance(data, ET.Element) and is_a_text_parsing_type(data_type) and not data.text:
|
1636
1741
|
return None
|
1637
1742
|
data_val = self.deserialize_type[data_type](data)
|
@@ -1651,14 +1756,14 @@ class Deserializer(object):
|
|
1651
1756
|
msg = "Unable to deserialize response data."
|
1652
1757
|
msg += " Data: {}, {}".format(data, data_type)
|
1653
1758
|
raise DeserializationError(msg) from err
|
1654
|
-
|
1655
|
-
return self._deserialize(obj_type, data)
|
1759
|
+
return self._deserialize(obj_type, data)
|
1656
1760
|
|
1657
1761
|
def deserialize_iter(self, attr, iter_type):
|
1658
1762
|
"""Deserialize an iterable.
|
1659
1763
|
|
1660
1764
|
:param list attr: Iterable to be deserialized.
|
1661
1765
|
:param str iter_type: The type of object in the iterable.
|
1766
|
+
:return: Deserialized iterable.
|
1662
1767
|
:rtype: list
|
1663
1768
|
"""
|
1664
1769
|
if attr is None:
|
@@ -1675,6 +1780,7 @@ class Deserializer(object):
|
|
1675
1780
|
:param dict/list attr: Dictionary to be deserialized. Also accepts
|
1676
1781
|
a list of key, value pairs.
|
1677
1782
|
:param str dict_type: The object type of the items in the dictionary.
|
1783
|
+
:return: Deserialized dictionary.
|
1678
1784
|
:rtype: dict
|
1679
1785
|
"""
|
1680
1786
|
if isinstance(attr, list):
|
@@ -1685,11 +1791,12 @@ class Deserializer(object):
|
|
1685
1791
|
attr = {el.tag: el.text for el in attr}
|
1686
1792
|
return {k: self.deserialize_data(v, dict_type) for k, v in attr.items()}
|
1687
1793
|
|
1688
|
-
def deserialize_object(self, attr, **kwargs):
|
1794
|
+
def deserialize_object(self, attr, **kwargs): # pylint: disable=too-many-return-statements
|
1689
1795
|
"""Deserialize a generic object.
|
1690
1796
|
This will be handled as a dictionary.
|
1691
1797
|
|
1692
1798
|
:param dict attr: Dictionary to be deserialized.
|
1799
|
+
:return: Deserialized object.
|
1693
1800
|
:rtype: dict
|
1694
1801
|
:raises: TypeError if non-builtin datatype encountered.
|
1695
1802
|
"""
|
@@ -1724,11 +1831,10 @@ class Deserializer(object):
|
|
1724
1831
|
pass
|
1725
1832
|
return deserialized
|
1726
1833
|
|
1727
|
-
|
1728
|
-
|
1729
|
-
raise TypeError(error + str(obj_type))
|
1834
|
+
error = "Cannot deserialize generic object with type: "
|
1835
|
+
raise TypeError(error + str(obj_type))
|
1730
1836
|
|
1731
|
-
def deserialize_basic(self, attr, data_type):
|
1837
|
+
def deserialize_basic(self, attr, data_type): # pylint: disable=too-many-return-statements
|
1732
1838
|
"""Deserialize basic builtin data type from string.
|
1733
1839
|
Will attempt to convert to str, int, float and bool.
|
1734
1840
|
This function will also accept '1', '0', 'true' and 'false' as
|
@@ -1736,6 +1842,7 @@ class Deserializer(object):
|
|
1736
1842
|
|
1737
1843
|
:param str attr: response string to be deserialized.
|
1738
1844
|
:param str data_type: deserialization data type.
|
1845
|
+
:return: Deserialized basic type.
|
1739
1846
|
:rtype: str, int, float or bool
|
1740
1847
|
:raises: TypeError if string format is not valid.
|
1741
1848
|
"""
|
@@ -1747,24 +1854,23 @@ class Deserializer(object):
|
|
1747
1854
|
if data_type == "str":
|
1748
1855
|
# None or '', node <a/> is empty string.
|
1749
1856
|
return ""
|
1750
|
-
|
1751
|
-
|
1752
|
-
|
1753
|
-
return None
|
1857
|
+
# None or '', node <a/> with a strong type is None.
|
1858
|
+
# Don't try to model "empty bool" or "empty int"
|
1859
|
+
return None
|
1754
1860
|
|
1755
1861
|
if data_type == "bool":
|
1756
1862
|
if attr in [True, False, 1, 0]:
|
1757
1863
|
return bool(attr)
|
1758
|
-
|
1864
|
+
if isinstance(attr, str):
|
1759
1865
|
if attr.lower() in ["true", "1"]:
|
1760
1866
|
return True
|
1761
|
-
|
1867
|
+
if attr.lower() in ["false", "0"]:
|
1762
1868
|
return False
|
1763
1869
|
raise TypeError("Invalid boolean value: {}".format(attr))
|
1764
1870
|
|
1765
1871
|
if data_type == "str":
|
1766
1872
|
return self.deserialize_unicode(attr)
|
1767
|
-
return eval(data_type)(attr) # nosec
|
1873
|
+
return eval(data_type)(attr) # nosec # pylint: disable=eval-used
|
1768
1874
|
|
1769
1875
|
@staticmethod
|
1770
1876
|
def deserialize_unicode(data):
|
@@ -1772,6 +1878,7 @@ class Deserializer(object):
|
|
1772
1878
|
as a string.
|
1773
1879
|
|
1774
1880
|
:param str data: response string to be deserialized.
|
1881
|
+
:return: Deserialized string.
|
1775
1882
|
:rtype: str or unicode
|
1776
1883
|
"""
|
1777
1884
|
# We might be here because we have an enum modeled as string,
|
@@ -1785,8 +1892,7 @@ class Deserializer(object):
|
|
1785
1892
|
return data
|
1786
1893
|
except NameError:
|
1787
1894
|
return str(data)
|
1788
|
-
|
1789
|
-
return str(data)
|
1895
|
+
return str(data)
|
1790
1896
|
|
1791
1897
|
@staticmethod
|
1792
1898
|
def deserialize_enum(data, enum_obj):
|
@@ -1798,6 +1904,7 @@ class Deserializer(object):
|
|
1798
1904
|
:param str data: Response string to be deserialized. If this value is
|
1799
1905
|
None or invalid it will be returned as-is.
|
1800
1906
|
:param Enum enum_obj: Enum object to deserialize to.
|
1907
|
+
:return: Deserialized enum object.
|
1801
1908
|
:rtype: Enum
|
1802
1909
|
"""
|
1803
1910
|
if isinstance(data, enum_obj) or data is None:
|
@@ -1808,9 +1915,9 @@ class Deserializer(object):
|
|
1808
1915
|
# Workaround. We might consider remove it in the future.
|
1809
1916
|
try:
|
1810
1917
|
return list(enum_obj.__members__.values())[data]
|
1811
|
-
except IndexError:
|
1918
|
+
except IndexError as exc:
|
1812
1919
|
error = "{!r} is not a valid index for enum {!r}"
|
1813
|
-
raise DeserializationError(error.format(data, enum_obj))
|
1920
|
+
raise DeserializationError(error.format(data, enum_obj)) from exc
|
1814
1921
|
try:
|
1815
1922
|
return enum_obj(str(data))
|
1816
1923
|
except ValueError:
|
@@ -1826,6 +1933,7 @@ class Deserializer(object):
|
|
1826
1933
|
"""Deserialize string into bytearray.
|
1827
1934
|
|
1828
1935
|
:param str attr: response string to be deserialized.
|
1936
|
+
:return: Deserialized bytearray
|
1829
1937
|
:rtype: bytearray
|
1830
1938
|
:raises: TypeError if string format invalid.
|
1831
1939
|
"""
|
@@ -1838,6 +1946,7 @@ class Deserializer(object):
|
|
1838
1946
|
"""Deserialize base64 encoded string into string.
|
1839
1947
|
|
1840
1948
|
:param str attr: response string to be deserialized.
|
1949
|
+
:return: Deserialized base64 string
|
1841
1950
|
:rtype: bytearray
|
1842
1951
|
:raises: TypeError if string format invalid.
|
1843
1952
|
"""
|
@@ -1853,8 +1962,9 @@ class Deserializer(object):
|
|
1853
1962
|
"""Deserialize string into Decimal object.
|
1854
1963
|
|
1855
1964
|
:param str attr: response string to be deserialized.
|
1856
|
-
:
|
1965
|
+
:return: Deserialized decimal
|
1857
1966
|
:raises: DeserializationError if string format invalid.
|
1967
|
+
:rtype: decimal
|
1858
1968
|
"""
|
1859
1969
|
if isinstance(attr, ET.Element):
|
1860
1970
|
attr = attr.text
|
@@ -1869,6 +1979,7 @@ class Deserializer(object):
|
|
1869
1979
|
"""Deserialize string into long (Py2) or int (Py3).
|
1870
1980
|
|
1871
1981
|
:param str attr: response string to be deserialized.
|
1982
|
+
:return: Deserialized int
|
1872
1983
|
:rtype: long or int
|
1873
1984
|
:raises: ValueError if string format invalid.
|
1874
1985
|
"""
|
@@ -1881,6 +1992,7 @@ class Deserializer(object):
|
|
1881
1992
|
"""Deserialize ISO-8601 formatted string into TimeDelta object.
|
1882
1993
|
|
1883
1994
|
:param str attr: response string to be deserialized.
|
1995
|
+
:return: Deserialized duration
|
1884
1996
|
:rtype: TimeDelta
|
1885
1997
|
:raises: DeserializationError if string format invalid.
|
1886
1998
|
"""
|
@@ -1891,14 +2003,14 @@ class Deserializer(object):
|
|
1891
2003
|
except (ValueError, OverflowError, AttributeError) as err:
|
1892
2004
|
msg = "Cannot deserialize duration object."
|
1893
2005
|
raise DeserializationError(msg) from err
|
1894
|
-
|
1895
|
-
return duration
|
2006
|
+
return duration
|
1896
2007
|
|
1897
2008
|
@staticmethod
|
1898
2009
|
def deserialize_date(attr):
|
1899
2010
|
"""Deserialize ISO-8601 formatted string into Date object.
|
1900
2011
|
|
1901
2012
|
:param str attr: response string to be deserialized.
|
2013
|
+
:return: Deserialized date
|
1902
2014
|
:rtype: Date
|
1903
2015
|
:raises: DeserializationError if string format invalid.
|
1904
2016
|
"""
|
@@ -1914,6 +2026,7 @@ class Deserializer(object):
|
|
1914
2026
|
"""Deserialize ISO-8601 formatted string into time object.
|
1915
2027
|
|
1916
2028
|
:param str attr: response string to be deserialized.
|
2029
|
+
:return: Deserialized time
|
1917
2030
|
:rtype: datetime.time
|
1918
2031
|
:raises: DeserializationError if string format invalid.
|
1919
2032
|
"""
|
@@ -1928,6 +2041,7 @@ class Deserializer(object):
|
|
1928
2041
|
"""Deserialize RFC-1123 formatted string into Datetime object.
|
1929
2042
|
|
1930
2043
|
:param str attr: response string to be deserialized.
|
2044
|
+
:return: Deserialized RFC datetime
|
1931
2045
|
:rtype: Datetime
|
1932
2046
|
:raises: DeserializationError if string format invalid.
|
1933
2047
|
"""
|
@@ -1943,14 +2057,14 @@ class Deserializer(object):
|
|
1943
2057
|
except ValueError as err:
|
1944
2058
|
msg = "Cannot deserialize to rfc datetime object."
|
1945
2059
|
raise DeserializationError(msg) from err
|
1946
|
-
|
1947
|
-
return date_obj
|
2060
|
+
return date_obj
|
1948
2061
|
|
1949
2062
|
@staticmethod
|
1950
2063
|
def deserialize_iso(attr):
|
1951
2064
|
"""Deserialize ISO-8601 formatted string into Datetime object.
|
1952
2065
|
|
1953
2066
|
:param str attr: response string to be deserialized.
|
2067
|
+
:return: Deserialized ISO datetime
|
1954
2068
|
:rtype: Datetime
|
1955
2069
|
:raises: DeserializationError if string format invalid.
|
1956
2070
|
"""
|
@@ -1980,8 +2094,7 @@ class Deserializer(object):
|
|
1980
2094
|
except (ValueError, OverflowError, AttributeError) as err:
|
1981
2095
|
msg = "Cannot deserialize datetime object."
|
1982
2096
|
raise DeserializationError(msg) from err
|
1983
|
-
|
1984
|
-
return date_obj
|
2097
|
+
return date_obj
|
1985
2098
|
|
1986
2099
|
@staticmethod
|
1987
2100
|
def deserialize_unix(attr):
|
@@ -1989,6 +2102,7 @@ class Deserializer(object):
|
|
1989
2102
|
This is represented as seconds.
|
1990
2103
|
|
1991
2104
|
:param int attr: Object to be serialized.
|
2105
|
+
:return: Deserialized datetime
|
1992
2106
|
:rtype: Datetime
|
1993
2107
|
:raises: DeserializationError if format invalid
|
1994
2108
|
"""
|
@@ -2000,5 +2114,4 @@ class Deserializer(object):
|
|
2000
2114
|
except ValueError as err:
|
2001
2115
|
msg = "Cannot deserialize to unix datetime object."
|
2002
2116
|
raise DeserializationError(msg) from err
|
2003
|
-
|
2004
|
-
return date_obj
|
2117
|
+
return date_obj
|