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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. azure/mgmt/storage/_configuration.py +15 -4
  2. azure/mgmt/storage/_storage_management_client.py +18 -4
  3. azure/mgmt/storage/_utils/serialization.py +12 -14
  4. azure/mgmt/storage/_version.py +1 -1
  5. azure/mgmt/storage/aio/_configuration.py +15 -4
  6. azure/mgmt/storage/aio/_storage_management_client.py +18 -4
  7. azure/mgmt/storage/aio/operations/_blob_containers_operations.py +9 -5
  8. azure/mgmt/storage/aio/operations/_blob_inventory_policies_operations.py +3 -2
  9. azure/mgmt/storage/aio/operations/_blob_services_operations.py +3 -2
  10. azure/mgmt/storage/aio/operations/_deleted_accounts_operations.py +3 -2
  11. azure/mgmt/storage/aio/operations/_encryption_scopes_operations.py +3 -2
  12. azure/mgmt/storage/aio/operations/_file_services_operations.py +3 -2
  13. azure/mgmt/storage/aio/operations/_file_shares_operations.py +5 -3
  14. azure/mgmt/storage/aio/operations/_local_users_operations.py +3 -2
  15. azure/mgmt/storage/aio/operations/_management_policies_operations.py +3 -2
  16. azure/mgmt/storage/aio/operations/_network_security_perimeter_configurations_operations.py +3 -2
  17. azure/mgmt/storage/aio/operations/_object_replication_policies_operations.py +3 -2
  18. azure/mgmt/storage/aio/operations/_operations.py +3 -2
  19. azure/mgmt/storage/aio/operations/_private_endpoint_connections_operations.py +3 -2
  20. azure/mgmt/storage/aio/operations/_private_link_resources_operations.py +3 -2
  21. azure/mgmt/storage/aio/operations/_queue_operations.py +3 -2
  22. azure/mgmt/storage/aio/operations/_queue_services_operations.py +3 -2
  23. azure/mgmt/storage/aio/operations/_skus_operations.py +3 -2
  24. azure/mgmt/storage/aio/operations/_storage_accounts_operations.py +3 -2
  25. azure/mgmt/storage/aio/operations/_storage_task_assignment_instances_report_operations.py +3 -2
  26. azure/mgmt/storage/aio/operations/_storage_task_assignments_instances_report_operations.py +3 -2
  27. azure/mgmt/storage/aio/operations/_storage_task_assignments_operations.py +16 -6
  28. azure/mgmt/storage/aio/operations/_table_operations.py +7 -4
  29. azure/mgmt/storage/aio/operations/_table_services_operations.py +3 -2
  30. azure/mgmt/storage/aio/operations/_usages_operations.py +3 -2
  31. azure/mgmt/storage/models/__init__.py +22 -0
  32. azure/mgmt/storage/models/_models_py3.py +607 -132
  33. azure/mgmt/storage/models/_storage_management_client_enums.py +21 -1
  34. azure/mgmt/storage/operations/_blob_containers_operations.py +23 -19
  35. azure/mgmt/storage/operations/_blob_inventory_policies_operations.py +7 -6
  36. azure/mgmt/storage/operations/_blob_services_operations.py +6 -5
  37. azure/mgmt/storage/operations/_deleted_accounts_operations.py +5 -4
  38. azure/mgmt/storage/operations/_encryption_scopes_operations.py +7 -6
  39. azure/mgmt/storage/operations/_file_services_operations.py +8 -7
  40. azure/mgmt/storage/operations/_file_shares_operations.py +12 -10
  41. azure/mgmt/storage/operations/_local_users_operations.py +9 -8
  42. azure/mgmt/storage/operations/_management_policies_operations.py +6 -5
  43. azure/mgmt/storage/operations/_network_security_perimeter_configurations_operations.py +6 -5
  44. azure/mgmt/storage/operations/_object_replication_policies_operations.py +7 -6
  45. azure/mgmt/storage/operations/_operations.py +4 -3
  46. azure/mgmt/storage/operations/_private_endpoint_connections_operations.py +7 -6
  47. azure/mgmt/storage/operations/_private_link_resources_operations.py +4 -3
  48. azure/mgmt/storage/operations/_queue_operations.py +8 -7
  49. azure/mgmt/storage/operations/_queue_services_operations.py +6 -5
  50. azure/mgmt/storage/operations/_skus_operations.py +4 -3
  51. azure/mgmt/storage/operations/_storage_accounts_operations.py +21 -20
  52. azure/mgmt/storage/operations/_storage_task_assignment_instances_report_operations.py +5 -4
  53. azure/mgmt/storage/operations/_storage_task_assignments_instances_report_operations.py +4 -3
  54. azure/mgmt/storage/operations/_storage_task_assignments_operations.py +28 -23
  55. azure/mgmt/storage/operations/_table_operations.py +12 -9
  56. azure/mgmt/storage/operations/_table_services_operations.py +6 -5
  57. azure/mgmt/storage/operations/_usages_operations.py +4 -3
  58. {azure_mgmt_storage-23.0.1.dist-info → azure_mgmt_storage-24.0.0.dist-info}/METADATA +54 -11
  59. azure_mgmt_storage-24.0.0.dist-info/RECORD +73 -0
  60. {azure_mgmt_storage-23.0.1.dist-info → azure_mgmt_storage-24.0.0.dist-info}/WHEEL +1 -1
  61. azure_mgmt_storage-23.0.1.dist-info/RECORD +0 -73
  62. {azure_mgmt_storage-23.0.1.dist-info → azure_mgmt_storage-24.0.0.dist-info/licenses}/LICENSE +0 -0
  63. {azure_mgmt_storage-23.0.1.dist-info → azure_mgmt_storage-24.0.0.dist-info}/top_level.txt +0 -0
@@ -7,13 +7,15 @@
7
7
  # Changes may cause incorrect behavior and will be lost if the code is regenerated.
8
8
  # --------------------------------------------------------------------------
9
9
 
10
+ from collections.abc import MutableMapping
10
11
  import datetime
11
- from typing import Any, Dict, List, Literal, Optional, TYPE_CHECKING, Union
12
+ from typing import Any, Literal, Optional, TYPE_CHECKING, Union
12
13
 
13
14
  from .._utils import serialization as _serialization
14
15
 
15
16
  if TYPE_CHECKING:
16
17
  from .. import models as _models
18
+ JSON = MutableMapping[str, Any]
17
19
 
18
20
 
19
21
  class AccessPolicy(_serialization.Model):
@@ -335,33 +337,48 @@ class AccountUsageElements(_serialization.Model):
335
337
  class ActiveDirectoryProperties(_serialization.Model):
336
338
  """Settings properties for Active Directory (AD).
337
339
 
338
- All required parameters must be populated in order to send to server.
339
-
340
340
  :ivar domain_name: Specifies the primary domain that the AD DNS server is authoritative for.
341
- Required.
341
+ This property is required if directoryServiceOptions is set to AD (AD DS authentication). If
342
+ directoryServiceOptions is set to AADDS (Entra DS authentication), providing this property is
343
+ optional, as it will be inferred automatically if omitted. If directoryServiceOptions is set to
344
+ AADKERB (Entra authentication), this property is optional; it is needed to support
345
+ configuration of directory- and file-level permissions via Windows File Explorer, but is not
346
+ required for authentication.
342
347
  :vartype domain_name: str
343
- :ivar net_bios_domain_name: Specifies the NetBIOS domain name.
348
+ :ivar net_bios_domain_name: Specifies the NetBIOS domain name. If directoryServiceOptions is
349
+ set to AD (AD DS authentication), this property is required. Otherwise, it can be omitted.
344
350
  :vartype net_bios_domain_name: str
345
- :ivar forest_name: Specifies the Active Directory forest to get.
351
+ :ivar forest_name: Specifies the Active Directory forest to get. If directoryServiceOptions is
352
+ set to AD (AD DS authentication), this property is required. Otherwise, it can be omitted.
346
353
  :vartype forest_name: str
347
- :ivar domain_guid: Specifies the domain GUID. Required.
354
+ :ivar domain_guid: Specifies the domain GUID. If directoryServiceOptions is set to AD (AD DS
355
+ authentication), this property is required. If directoryServiceOptions is set to AADDS (Entra
356
+ DS authentication), this property can be omitted. If directoryServiceOptions is set to AADKERB
357
+ (Entra authentication), this property is optional; it is needed to support configuration of
358
+ directory- and file-level permissions via Windows File Explorer, but is not required for
359
+ authentication.
348
360
  :vartype domain_guid: str
349
- :ivar domain_sid: Specifies the security identifier (SID).
361
+ :ivar domain_sid: Specifies the security identifier (SID) of the AD domain. If
362
+ directoryServiceOptions is set to AD (AD DS authentication), this property is required.
363
+ Otherwise, it can be omitted.
350
364
  :vartype domain_sid: str
351
- :ivar azure_storage_sid: Specifies the security identifier (SID) for Azure Storage.
365
+ :ivar azure_storage_sid: Specifies the security identifier (SID) for Azure Storage. If
366
+ directoryServiceOptions is set to AD (AD DS authentication), this property is required.
367
+ Otherwise, it can be omitted.
352
368
  :vartype azure_storage_sid: str
353
- :ivar sam_account_name: Specifies the Active Directory SAMAccountName for Azure Storage.
369
+ :ivar sam_account_name: Specifies the Active Directory SAMAccountName for Azure Storage. If
370
+ directoryServiceOptions is set to AD (AD DS authentication), this property is optional. If
371
+ provided, accountType should also be provided. For directoryServiceOptions AADDS (Entra DS
372
+ authentication) or AADKERB (Entra authentication), this property can be omitted.
354
373
  :vartype sam_account_name: str
355
- :ivar account_type: Specifies the Active Directory account type for Azure Storage. Known values
374
+ :ivar account_type: Specifies the Active Directory account type for Azure Storage. If
375
+ directoryServiceOptions is set to AD (AD DS authentication), this property is optional. If
376
+ provided, samAccountName should also be provided. For directoryServiceOptions AADDS (Entra DS
377
+ authentication) or AADKERB (Entra authentication), this property can be omitted. Known values
356
378
  are: "User" and "Computer".
357
379
  :vartype account_type: str or ~azure.mgmt.storage.models.AccountType
358
380
  """
359
381
 
360
- _validation = {
361
- "domain_name": {"required": True},
362
- "domain_guid": {"required": True},
363
- }
364
-
365
382
  _attribute_map = {
366
383
  "domain_name": {"key": "domainName", "type": "str"},
367
384
  "net_bios_domain_name": {"key": "netBiosDomainName", "type": "str"},
@@ -376,10 +393,10 @@ class ActiveDirectoryProperties(_serialization.Model):
376
393
  def __init__(
377
394
  self,
378
395
  *,
379
- domain_name: str,
380
- domain_guid: str,
396
+ domain_name: Optional[str] = None,
381
397
  net_bios_domain_name: Optional[str] = None,
382
398
  forest_name: Optional[str] = None,
399
+ domain_guid: Optional[str] = None,
383
400
  domain_sid: Optional[str] = None,
384
401
  azure_storage_sid: Optional[str] = None,
385
402
  sam_account_name: Optional[str] = None,
@@ -388,22 +405,44 @@ class ActiveDirectoryProperties(_serialization.Model):
388
405
  ) -> None:
389
406
  """
390
407
  :keyword domain_name: Specifies the primary domain that the AD DNS server is authoritative for.
391
- Required.
408
+ This property is required if directoryServiceOptions is set to AD (AD DS authentication). If
409
+ directoryServiceOptions is set to AADDS (Entra DS authentication), providing this property is
410
+ optional, as it will be inferred automatically if omitted. If directoryServiceOptions is set to
411
+ AADKERB (Entra authentication), this property is optional; it is needed to support
412
+ configuration of directory- and file-level permissions via Windows File Explorer, but is not
413
+ required for authentication.
392
414
  :paramtype domain_name: str
393
- :keyword net_bios_domain_name: Specifies the NetBIOS domain name.
415
+ :keyword net_bios_domain_name: Specifies the NetBIOS domain name. If directoryServiceOptions is
416
+ set to AD (AD DS authentication), this property is required. Otherwise, it can be omitted.
394
417
  :paramtype net_bios_domain_name: str
395
- :keyword forest_name: Specifies the Active Directory forest to get.
418
+ :keyword forest_name: Specifies the Active Directory forest to get. If directoryServiceOptions
419
+ is set to AD (AD DS authentication), this property is required. Otherwise, it can be omitted.
396
420
  :paramtype forest_name: str
397
- :keyword domain_guid: Specifies the domain GUID. Required.
421
+ :keyword domain_guid: Specifies the domain GUID. If directoryServiceOptions is set to AD (AD DS
422
+ authentication), this property is required. If directoryServiceOptions is set to AADDS (Entra
423
+ DS authentication), this property can be omitted. If directoryServiceOptions is set to AADKERB
424
+ (Entra authentication), this property is optional; it is needed to support configuration of
425
+ directory- and file-level permissions via Windows File Explorer, but is not required for
426
+ authentication.
398
427
  :paramtype domain_guid: str
399
- :keyword domain_sid: Specifies the security identifier (SID).
428
+ :keyword domain_sid: Specifies the security identifier (SID) of the AD domain. If
429
+ directoryServiceOptions is set to AD (AD DS authentication), this property is required.
430
+ Otherwise, it can be omitted.
400
431
  :paramtype domain_sid: str
401
- :keyword azure_storage_sid: Specifies the security identifier (SID) for Azure Storage.
432
+ :keyword azure_storage_sid: Specifies the security identifier (SID) for Azure Storage. If
433
+ directoryServiceOptions is set to AD (AD DS authentication), this property is required.
434
+ Otherwise, it can be omitted.
402
435
  :paramtype azure_storage_sid: str
403
- :keyword sam_account_name: Specifies the Active Directory SAMAccountName for Azure Storage.
436
+ :keyword sam_account_name: Specifies the Active Directory SAMAccountName for Azure Storage. If
437
+ directoryServiceOptions is set to AD (AD DS authentication), this property is optional. If
438
+ provided, accountType should also be provided. For directoryServiceOptions AADDS (Entra DS
439
+ authentication) or AADKERB (Entra authentication), this property can be omitted.
404
440
  :paramtype sam_account_name: str
405
- :keyword account_type: Specifies the Active Directory account type for Azure Storage. Known
406
- values are: "User" and "Computer".
441
+ :keyword account_type: Specifies the Active Directory account type for Azure Storage. If
442
+ directoryServiceOptions is set to AD (AD DS authentication), this property is optional. If
443
+ provided, samAccountName should also be provided. For directoryServiceOptions AADDS (Entra DS
444
+ authentication) or AADKERB (Entra authentication), this property can be omitted. Known values
445
+ are: "User" and "Computer".
407
446
  :paramtype account_type: str or ~azure.mgmt.storage.models.AccountType
408
447
  """
409
448
  super().__init__(**kwargs)
@@ -497,14 +536,17 @@ class AzureFilesIdentityBasedAuthentication(_serialization.Model):
497
536
  :ivar directory_service_options: Indicates the directory service used. Note that this enum may
498
537
  be extended in the future. Required. Known values are: "None", "AADDS", "AD", and "AADKERB".
499
538
  :vartype directory_service_options: str or ~azure.mgmt.storage.models.DirectoryServiceOptions
500
- :ivar active_directory_properties: Required if directoryServiceOptions are AD, optional if they
501
- are AADKERB.
539
+ :ivar active_directory_properties: Additional information about the directory service. Required
540
+ if directoryServiceOptions is AD (AD DS authentication). Optional for directoryServiceOptions
541
+ AADDS (Entra DS authentication) and AADKERB (Entra authentication).
502
542
  :vartype active_directory_properties: ~azure.mgmt.storage.models.ActiveDirectoryProperties
503
543
  :ivar default_share_permission: Default share permission for users using Kerberos
504
544
  authentication if RBAC role is not assigned. Known values are: "None",
505
545
  "StorageFileDataSmbShareReader", "StorageFileDataSmbShareContributor", and
506
546
  "StorageFileDataSmbShareElevatedContributor".
507
547
  :vartype default_share_permission: str or ~azure.mgmt.storage.models.DefaultSharePermission
548
+ :ivar smb_o_auth_settings: Required for Managed Identities access using OAuth over SMB.
549
+ :vartype smb_o_auth_settings: ~azure.mgmt.storage.models.SmbOAuthSettings
508
550
  """
509
551
 
510
552
  _validation = {
@@ -515,6 +557,7 @@ class AzureFilesIdentityBasedAuthentication(_serialization.Model):
515
557
  "directory_service_options": {"key": "directoryServiceOptions", "type": "str"},
516
558
  "active_directory_properties": {"key": "activeDirectoryProperties", "type": "ActiveDirectoryProperties"},
517
559
  "default_share_permission": {"key": "defaultSharePermission", "type": "str"},
560
+ "smb_o_auth_settings": {"key": "smbOAuthSettings", "type": "SmbOAuthSettings"},
518
561
  }
519
562
 
520
563
  def __init__(
@@ -523,6 +566,7 @@ class AzureFilesIdentityBasedAuthentication(_serialization.Model):
523
566
  directory_service_options: Union[str, "_models.DirectoryServiceOptions"],
524
567
  active_directory_properties: Optional["_models.ActiveDirectoryProperties"] = None,
525
568
  default_share_permission: Optional[Union[str, "_models.DefaultSharePermission"]] = None,
569
+ smb_o_auth_settings: Optional["_models.SmbOAuthSettings"] = None,
526
570
  **kwargs: Any
527
571
  ) -> None:
528
572
  """
@@ -530,19 +574,23 @@ class AzureFilesIdentityBasedAuthentication(_serialization.Model):
530
574
  may be extended in the future. Required. Known values are: "None", "AADDS", "AD", and
531
575
  "AADKERB".
532
576
  :paramtype directory_service_options: str or ~azure.mgmt.storage.models.DirectoryServiceOptions
533
- :keyword active_directory_properties: Required if directoryServiceOptions are AD, optional if
534
- they are AADKERB.
577
+ :keyword active_directory_properties: Additional information about the directory service.
578
+ Required if directoryServiceOptions is AD (AD DS authentication). Optional for
579
+ directoryServiceOptions AADDS (Entra DS authentication) and AADKERB (Entra authentication).
535
580
  :paramtype active_directory_properties: ~azure.mgmt.storage.models.ActiveDirectoryProperties
536
581
  :keyword default_share_permission: Default share permission for users using Kerberos
537
582
  authentication if RBAC role is not assigned. Known values are: "None",
538
583
  "StorageFileDataSmbShareReader", "StorageFileDataSmbShareContributor", and
539
584
  "StorageFileDataSmbShareElevatedContributor".
540
585
  :paramtype default_share_permission: str or ~azure.mgmt.storage.models.DefaultSharePermission
586
+ :keyword smb_o_auth_settings: Required for Managed Identities access using OAuth over SMB.
587
+ :paramtype smb_o_auth_settings: ~azure.mgmt.storage.models.SmbOAuthSettings
541
588
  """
542
589
  super().__init__(**kwargs)
543
590
  self.directory_service_options = directory_service_options
544
591
  self.active_directory_properties = active_directory_properties
545
592
  self.default_share_permission = default_share_permission
593
+ self.smb_o_auth_settings = smb_o_auth_settings
546
594
 
547
595
 
548
596
  class BlobContainer(AzureEntityResource):
@@ -668,7 +716,7 @@ class BlobContainer(AzureEntityResource):
668
716
  default_encryption_scope: Optional[str] = None,
669
717
  deny_encryption_scope_override: Optional[bool] = None,
670
718
  public_access: Optional[Union[str, "_models.PublicAccess"]] = None,
671
- metadata: Optional[Dict[str, str]] = None,
719
+ metadata: Optional[dict[str, str]] = None,
672
720
  immutable_storage_with_versioning: Optional["_models.ImmutableStorageWithVersioning"] = None,
673
721
  enable_nfs_v3_root_squash: Optional[bool] = None,
674
722
  enable_nfs_v3_all_squash: Optional[bool] = None,
@@ -855,7 +903,7 @@ class BlobInventoryPolicyDefinition(_serialization.Model):
855
903
  format: Union[str, "_models.Format"],
856
904
  schedule: Union[str, "_models.Schedule"],
857
905
  object_type: Union[str, "_models.ObjectType"],
858
- schema_fields: List[str],
906
+ schema_fields: list[str],
859
907
  filters: Optional["_models.BlobInventoryPolicyFilter"] = None,
860
908
  **kwargs: Any
861
909
  ) -> None:
@@ -949,9 +997,9 @@ class BlobInventoryPolicyFilter(_serialization.Model):
949
997
  def __init__(
950
998
  self,
951
999
  *,
952
- prefix_match: Optional[List[str]] = None,
953
- exclude_prefix: Optional[List[str]] = None,
954
- blob_types: Optional[List[str]] = None,
1000
+ prefix_match: Optional[list[str]] = None,
1001
+ exclude_prefix: Optional[list[str]] = None,
1002
+ blob_types: Optional[list[str]] = None,
955
1003
  include_blob_versions: Optional[bool] = None,
956
1004
  include_snapshots: Optional[bool] = None,
957
1005
  include_deleted: Optional[bool] = None,
@@ -1095,7 +1143,7 @@ class BlobInventoryPolicySchema(_serialization.Model):
1095
1143
  *,
1096
1144
  enabled: bool,
1097
1145
  type: Union[str, "_models.InventoryRuleType"],
1098
- rules: List["_models.BlobInventoryPolicyRule"],
1146
+ rules: list["_models.BlobInventoryPolicyRule"],
1099
1147
  **kwargs: Any
1100
1148
  ) -> None:
1101
1149
  """
@@ -1136,7 +1184,7 @@ class BlobRestoreParameters(_serialization.Model):
1136
1184
  }
1137
1185
 
1138
1186
  def __init__(
1139
- self, *, time_to_restore: datetime.datetime, blob_ranges: List["_models.BlobRestoreRange"], **kwargs: Any
1187
+ self, *, time_to_restore: datetime.datetime, blob_ranges: list["_models.BlobRestoreRange"], **kwargs: Any
1140
1188
  ) -> None:
1141
1189
  """
1142
1190
  :keyword time_to_restore: Restore blob to the specified time. Required.
@@ -1243,7 +1291,7 @@ class BlobServiceItems(_serialization.Model):
1243
1291
  def __init__(self, **kwargs: Any) -> None:
1244
1292
  """ """
1245
1293
  super().__init__(**kwargs)
1246
- self.value: Optional[List["_models.BlobServiceProperties"]] = None
1294
+ self.value: Optional[list["_models.BlobServiceProperties"]] = None
1247
1295
 
1248
1296
 
1249
1297
  class BlobServiceProperties(Resource):
@@ -1509,7 +1557,7 @@ class CloudErrorBody(_serialization.Model):
1509
1557
  code: Optional[str] = None,
1510
1558
  message: Optional[str] = None,
1511
1559
  target: Optional[str] = None,
1512
- details: Optional[List["_models.CloudErrorBody"]] = None,
1560
+ details: Optional[list["_models.CloudErrorBody"]] = None,
1513
1561
  **kwargs: Any
1514
1562
  ) -> None:
1515
1563
  """
@@ -1573,11 +1621,11 @@ class CorsRule(_serialization.Model):
1573
1621
  def __init__(
1574
1622
  self,
1575
1623
  *,
1576
- allowed_origins: List[str],
1577
- allowed_methods: List[Union[str, "_models.AllowedMethods"]],
1624
+ allowed_origins: list[str],
1625
+ allowed_methods: list[Union[str, "_models.AllowedMethods"]],
1578
1626
  max_age_in_seconds: int,
1579
- exposed_headers: List[str],
1580
- allowed_headers: List[str],
1627
+ exposed_headers: list[str],
1628
+ allowed_headers: list[str],
1581
1629
  **kwargs: Any
1582
1630
  ) -> None:
1583
1631
  """
@@ -1617,7 +1665,7 @@ class CorsRules(_serialization.Model):
1617
1665
  "cors_rules": {"key": "corsRules", "type": "[CorsRule]"},
1618
1666
  }
1619
1667
 
1620
- def __init__(self, *, cors_rules: Optional[List["_models.CorsRule"]] = None, **kwargs: Any) -> None:
1668
+ def __init__(self, *, cors_rules: Optional[list["_models.CorsRule"]] = None, **kwargs: Any) -> None:
1621
1669
  """
1622
1670
  :keyword cors_rules: The List of CORS rules. You can include up to five CorsRule elements in
1623
1671
  the request.
@@ -1880,7 +1928,7 @@ class DeletedAccountListResult(_serialization.Model):
1880
1928
  def __init__(self, **kwargs: Any) -> None:
1881
1929
  """ """
1882
1930
  super().__init__(**kwargs)
1883
- self.value: Optional[List["_models.DeletedAccount"]] = None
1931
+ self.value: Optional[list["_models.DeletedAccount"]] = None
1884
1932
  self.next_link: Optional[str] = None
1885
1933
 
1886
1934
 
@@ -1996,6 +2044,28 @@ class Dimension(_serialization.Model):
1996
2044
  self.display_name = display_name
1997
2045
 
1998
2046
 
2047
+ class DualStackEndpointPreference(_serialization.Model):
2048
+ """Dual-stack endpoint preference defines whether IPv6 endpoints are going to be published.
2049
+
2050
+ :ivar publish_ipv6_endpoint: A boolean flag which indicates whether IPv6 storage endpoints are
2051
+ to be published.
2052
+ :vartype publish_ipv6_endpoint: bool
2053
+ """
2054
+
2055
+ _attribute_map = {
2056
+ "publish_ipv6_endpoint": {"key": "publishIpv6Endpoint", "type": "bool"},
2057
+ }
2058
+
2059
+ def __init__(self, *, publish_ipv6_endpoint: Optional[bool] = None, **kwargs: Any) -> None:
2060
+ """
2061
+ :keyword publish_ipv6_endpoint: A boolean flag which indicates whether IPv6 storage endpoints
2062
+ are to be published.
2063
+ :paramtype publish_ipv6_endpoint: bool
2064
+ """
2065
+ super().__init__(**kwargs)
2066
+ self.publish_ipv6_endpoint = publish_ipv6_endpoint
2067
+
2068
+
1999
2069
  class Encryption(_serialization.Model):
2000
2070
  """The encryption settings on the storage account.
2001
2071
 
@@ -2093,6 +2163,26 @@ class EncryptionIdentity(_serialization.Model):
2093
2163
  self.encryption_federated_identity_client_id = encryption_federated_identity_client_id
2094
2164
 
2095
2165
 
2166
+ class EncryptionInTransit(_serialization.Model):
2167
+ """Encryption in transit setting.
2168
+
2169
+ :ivar required: Indicates whether encryption in transit is required.
2170
+ :vartype required: bool
2171
+ """
2172
+
2173
+ _attribute_map = {
2174
+ "required": {"key": "required", "type": "bool"},
2175
+ }
2176
+
2177
+ def __init__(self, *, required: Optional[bool] = None, **kwargs: Any) -> None:
2178
+ """
2179
+ :keyword required: Indicates whether encryption in transit is required.
2180
+ :paramtype required: bool
2181
+ """
2182
+ super().__init__(**kwargs)
2183
+ self.required = required
2184
+
2185
+
2096
2186
  class EncryptionScope(Resource):
2097
2187
  """The Encryption Scope resource.
2098
2188
 
@@ -2246,7 +2336,7 @@ class EncryptionScopeListResult(_serialization.Model):
2246
2336
  def __init__(self, **kwargs: Any) -> None:
2247
2337
  """ """
2248
2338
  super().__init__(**kwargs)
2249
- self.value: Optional[List["_models.EncryptionScope"]] = None
2339
+ self.value: Optional[list["_models.EncryptionScope"]] = None
2250
2340
  self.next_link: Optional[str] = None
2251
2341
 
2252
2342
 
@@ -2363,6 +2453,8 @@ class Endpoints(_serialization.Model):
2363
2453
  :vartype microsoft_endpoints: ~azure.mgmt.storage.models.StorageAccountMicrosoftEndpoints
2364
2454
  :ivar internet_endpoints: Gets the internet routing storage endpoints.
2365
2455
  :vartype internet_endpoints: ~azure.mgmt.storage.models.StorageAccountInternetEndpoints
2456
+ :ivar ipv6_endpoints: Gets the IPv6 storage endpoints.
2457
+ :vartype ipv6_endpoints: ~azure.mgmt.storage.models.StorageAccountIpv6Endpoints
2366
2458
  """
2367
2459
 
2368
2460
  _validation = {
@@ -2383,6 +2475,7 @@ class Endpoints(_serialization.Model):
2383
2475
  "dfs": {"key": "dfs", "type": "str"},
2384
2476
  "microsoft_endpoints": {"key": "microsoftEndpoints", "type": "StorageAccountMicrosoftEndpoints"},
2385
2477
  "internet_endpoints": {"key": "internetEndpoints", "type": "StorageAccountInternetEndpoints"},
2478
+ "ipv6_endpoints": {"key": "ipv6Endpoints", "type": "StorageAccountIpv6Endpoints"},
2386
2479
  }
2387
2480
 
2388
2481
  def __init__(
@@ -2390,6 +2483,7 @@ class Endpoints(_serialization.Model):
2390
2483
  *,
2391
2484
  microsoft_endpoints: Optional["_models.StorageAccountMicrosoftEndpoints"] = None,
2392
2485
  internet_endpoints: Optional["_models.StorageAccountInternetEndpoints"] = None,
2486
+ ipv6_endpoints: Optional["_models.StorageAccountIpv6Endpoints"] = None,
2393
2487
  **kwargs: Any
2394
2488
  ) -> None:
2395
2489
  """
@@ -2397,6 +2491,8 @@ class Endpoints(_serialization.Model):
2397
2491
  :paramtype microsoft_endpoints: ~azure.mgmt.storage.models.StorageAccountMicrosoftEndpoints
2398
2492
  :keyword internet_endpoints: Gets the internet routing storage endpoints.
2399
2493
  :paramtype internet_endpoints: ~azure.mgmt.storage.models.StorageAccountInternetEndpoints
2494
+ :keyword ipv6_endpoints: Gets the IPv6 storage endpoints.
2495
+ :paramtype ipv6_endpoints: ~azure.mgmt.storage.models.StorageAccountIpv6Endpoints
2400
2496
  """
2401
2497
  super().__init__(**kwargs)
2402
2498
  self.blob: Optional[str] = None
@@ -2407,6 +2503,7 @@ class Endpoints(_serialization.Model):
2407
2503
  self.dfs: Optional[str] = None
2408
2504
  self.microsoft_endpoints = microsoft_endpoints
2409
2505
  self.internet_endpoints = internet_endpoints
2506
+ self.ipv6_endpoints = ipv6_endpoints
2410
2507
 
2411
2508
 
2412
2509
  class ErrorAdditionalInfo(_serialization.Model):
@@ -2476,8 +2573,8 @@ class ErrorDetail(_serialization.Model):
2476
2573
  self.code: Optional[str] = None
2477
2574
  self.message: Optional[str] = None
2478
2575
  self.target: Optional[str] = None
2479
- self.details: Optional[List["_models.ErrorDetail"]] = None
2480
- self.additional_info: Optional[List["_models.ErrorAdditionalInfo"]] = None
2576
+ self.details: Optional[list["_models.ErrorDetail"]] = None
2577
+ self.additional_info: Optional[list["_models.ErrorAdditionalInfo"]] = None
2481
2578
 
2482
2579
 
2483
2580
  class ErrorResponse(_serialization.Model):
@@ -2569,7 +2666,7 @@ class ExecutionTarget(_serialization.Model):
2569
2666
  }
2570
2667
 
2571
2668
  def __init__(
2572
- self, *, prefix: Optional[List[str]] = None, exclude_prefix: Optional[List[str]] = None, **kwargs: Any
2669
+ self, *, prefix: Optional[list[str]] = None, exclude_prefix: Optional[list[str]] = None, **kwargs: Any
2573
2670
  ) -> None:
2574
2671
  """
2575
2672
  :keyword prefix: Required list of object prefixes to be included for task execution.
@@ -2707,7 +2804,7 @@ class FileServiceItems(_serialization.Model):
2707
2804
  def __init__(self, **kwargs: Any) -> None:
2708
2805
  """ """
2709
2806
  super().__init__(**kwargs)
2710
- self.value: Optional[List["_models.FileServiceProperties"]] = None
2807
+ self.value: Optional[list["_models.FileServiceProperties"]] = None
2711
2808
 
2712
2809
 
2713
2810
  class FileServiceProperties(Resource):
@@ -2892,7 +2989,7 @@ class FileServiceUsages(_serialization.Model):
2892
2989
  def __init__(self, **kwargs: Any) -> None:
2893
2990
  """ """
2894
2991
  super().__init__(**kwargs)
2895
- self.value: Optional[List["_models.FileServiceUsage"]] = None
2992
+ self.value: Optional[list["_models.FileServiceUsage"]] = None
2896
2993
  self.next_link: Optional[str] = None
2897
2994
 
2898
2995
 
@@ -3059,14 +3156,14 @@ class FileShare(AzureEntityResource):
3059
3156
  def __init__( # pylint: disable=too-many-locals
3060
3157
  self,
3061
3158
  *,
3062
- metadata: Optional[Dict[str, str]] = None,
3159
+ metadata: Optional[dict[str, str]] = None,
3063
3160
  share_quota: Optional[int] = None,
3064
3161
  provisioned_iops: Optional[int] = None,
3065
3162
  provisioned_bandwidth_mibps: Optional[int] = None,
3066
3163
  enabled_protocols: Optional[Union[str, "_models.EnabledProtocols"]] = None,
3067
3164
  root_squash: Optional[Union[str, "_models.RootSquashType"]] = None,
3068
3165
  access_tier: Optional[Union[str, "_models.ShareAccessTier"]] = None,
3069
- signed_identifiers: Optional[List["_models.SignedIdentifier"]] = None,
3166
+ signed_identifiers: Optional[list["_models.SignedIdentifier"]] = None,
3070
3167
  file_share_paid_bursting: Optional["_models.FileSharePropertiesFileSharePaidBursting"] = None,
3071
3168
  **kwargs: Any
3072
3169
  ) -> None:
@@ -3295,14 +3392,14 @@ class FileShareItem(AzureEntityResource):
3295
3392
  def __init__( # pylint: disable=too-many-locals
3296
3393
  self,
3297
3394
  *,
3298
- metadata: Optional[Dict[str, str]] = None,
3395
+ metadata: Optional[dict[str, str]] = None,
3299
3396
  share_quota: Optional[int] = None,
3300
3397
  provisioned_iops: Optional[int] = None,
3301
3398
  provisioned_bandwidth_mibps: Optional[int] = None,
3302
3399
  enabled_protocols: Optional[Union[str, "_models.EnabledProtocols"]] = None,
3303
3400
  root_squash: Optional[Union[str, "_models.RootSquashType"]] = None,
3304
3401
  access_tier: Optional[Union[str, "_models.ShareAccessTier"]] = None,
3305
- signed_identifiers: Optional[List["_models.SignedIdentifier"]] = None,
3402
+ signed_identifiers: Optional[list["_models.SignedIdentifier"]] = None,
3306
3403
  file_share_paid_bursting: Optional["_models.FileSharePropertiesFileSharePaidBursting"] = None,
3307
3404
  **kwargs: Any
3308
3405
  ) -> None:
@@ -3394,7 +3491,7 @@ class FileShareItems(_serialization.Model):
3394
3491
  def __init__(self, **kwargs: Any) -> None:
3395
3492
  """ """
3396
3493
  super().__init__(**kwargs)
3397
- self.value: Optional[List["_models.FileShareItem"]] = None
3494
+ self.value: Optional[list["_models.FileShareItem"]] = None
3398
3495
  self.next_link: Optional[str] = None
3399
3496
 
3400
3497
 
@@ -3545,6 +3642,28 @@ class FileShareRecommendations(_serialization.Model):
3545
3642
  self.bandwidth_scalar: Optional[float] = None
3546
3643
 
3547
3644
 
3645
+ class GeoPriorityReplicationStatus(_serialization.Model):
3646
+ """Geo Priority Replication enablement status for the storage account.
3647
+
3648
+ :ivar is_blob_enabled: Indicates whether Blob Geo Priority Replication is enabled for the
3649
+ storage account.
3650
+ :vartype is_blob_enabled: bool
3651
+ """
3652
+
3653
+ _attribute_map = {
3654
+ "is_blob_enabled": {"key": "isBlobEnabled", "type": "bool"},
3655
+ }
3656
+
3657
+ def __init__(self, *, is_blob_enabled: Optional[bool] = None, **kwargs: Any) -> None:
3658
+ """
3659
+ :keyword is_blob_enabled: Indicates whether Blob Geo Priority Replication is enabled for the
3660
+ storage account.
3661
+ :paramtype is_blob_enabled: bool
3662
+ """
3663
+ super().__init__(**kwargs)
3664
+ self.is_blob_enabled = is_blob_enabled
3665
+
3666
+
3548
3667
  class GeoReplicationStats(_serialization.Model):
3549
3668
  """Statistics related to replication for storage account's Blob, Table, Queue and File services.
3550
3669
  It is only available when geo-redundant replication is enabled for the storage account.
@@ -3644,7 +3763,7 @@ class Identity(_serialization.Model):
3644
3763
  self,
3645
3764
  *,
3646
3765
  type: Union[str, "_models.IdentityType"],
3647
- user_assigned_identities: Optional[Dict[str, "_models.UserAssignedIdentity"]] = None,
3766
+ user_assigned_identities: Optional[dict[str, "_models.UserAssignedIdentity"]] = None,
3648
3767
  **kwargs: Any
3649
3768
  ) -> None:
3650
3769
  """
@@ -3831,7 +3950,7 @@ class ImmutabilityPolicyProperties(_serialization.Model):
3831
3950
  """
3832
3951
  super().__init__(**kwargs)
3833
3952
  self.etag: Optional[str] = None
3834
- self.update_history: Optional[List["_models.UpdateHistoryProperty"]] = None
3953
+ self.update_history: Optional[list["_models.UpdateHistoryProperty"]] = None
3835
3954
  self.immutability_period_since_creation_in_days = immutability_period_since_creation_in_days
3836
3955
  self.state: Optional[Union[str, "_models.ImmutabilityPolicyState"]] = None
3837
3956
  self.allow_protected_append_writes = allow_protected_append_writes
@@ -3924,8 +4043,7 @@ class IPRule(_serialization.Model):
3924
4043
 
3925
4044
  All required parameters must be populated in order to send to server.
3926
4045
 
3927
- :ivar ip_address_or_range: Specifies the IP or IP range in CIDR format. Only IPV4 address is
3928
- allowed. Required.
4046
+ :ivar ip_address_or_range: Specifies the IP or IP range in CIDR format. Required.
3929
4047
  :vartype ip_address_or_range: str
3930
4048
  :ivar action: The action of IP ACL rule. Default value is "Allow".
3931
4049
  :vartype action: str
@@ -3942,8 +4060,7 @@ class IPRule(_serialization.Model):
3942
4060
 
3943
4061
  def __init__(self, *, ip_address_or_range: str, action: Optional[Literal["Allow"]] = None, **kwargs: Any) -> None:
3944
4062
  """
3945
- :keyword ip_address_or_range: Specifies the IP or IP range in CIDR format. Only IPV4 address is
3946
- allowed. Required.
4063
+ :keyword ip_address_or_range: Specifies the IP or IP range in CIDR format. Required.
3947
4064
  :paramtype ip_address_or_range: str
3948
4065
  :keyword action: The action of IP ACL rule. Default value is "Allow".
3949
4066
  :paramtype action: str
@@ -4107,7 +4224,7 @@ class LastAccessTimeTrackingPolicy(_serialization.Model):
4107
4224
  enable: bool,
4108
4225
  name: Optional[Union[str, "_models.Name"]] = None,
4109
4226
  tracking_granularity_in_days: Optional[int] = None,
4110
- blob_type: Optional[List[str]] = None,
4227
+ blob_type: Optional[list[str]] = None,
4111
4228
  **kwargs: Any
4112
4229
  ) -> None:
4113
4230
  """
@@ -4358,7 +4475,7 @@ class LegalHold(_serialization.Model):
4358
4475
  }
4359
4476
 
4360
4477
  def __init__(
4361
- self, *, tags: List[str], allow_protected_append_writes_all: Optional[bool] = None, **kwargs: Any
4478
+ self, *, tags: list[str], allow_protected_append_writes_all: Optional[bool] = None, **kwargs: Any
4362
4479
  ) -> None:
4363
4480
  """
4364
4481
  :keyword tags: Each tag should be 3 to 23 alphanumeric characters and is normalized to lower
@@ -4408,7 +4525,7 @@ class LegalHoldProperties(_serialization.Model):
4408
4525
  def __init__(
4409
4526
  self,
4410
4527
  *,
4411
- tags: Optional[List["_models.TagProperty"]] = None,
4528
+ tags: Optional[list["_models.TagProperty"]] = None,
4412
4529
  protected_append_writes_history: Optional["_models.ProtectedAppendWritesHistory"] = None,
4413
4530
  **kwargs: Any
4414
4531
  ) -> None:
@@ -4468,7 +4585,7 @@ class ListBlobInventoryPolicy(_serialization.Model):
4468
4585
  def __init__(self, **kwargs: Any) -> None:
4469
4586
  """ """
4470
4587
  super().__init__(**kwargs)
4471
- self.value: Optional[List["_models.BlobInventoryPolicy"]] = None
4588
+ self.value: Optional[list["_models.BlobInventoryPolicy"]] = None
4472
4589
 
4473
4590
 
4474
4591
  class ListContainerItem(AzureEntityResource):
@@ -4594,7 +4711,7 @@ class ListContainerItem(AzureEntityResource):
4594
4711
  default_encryption_scope: Optional[str] = None,
4595
4712
  deny_encryption_scope_override: Optional[bool] = None,
4596
4713
  public_access: Optional[Union[str, "_models.PublicAccess"]] = None,
4597
- metadata: Optional[Dict[str, str]] = None,
4714
+ metadata: Optional[dict[str, str]] = None,
4598
4715
  immutable_storage_with_versioning: Optional["_models.ImmutableStorageWithVersioning"] = None,
4599
4716
  enable_nfs_v3_root_squash: Optional[bool] = None,
4600
4717
  enable_nfs_v3_all_squash: Optional[bool] = None,
@@ -4670,7 +4787,7 @@ class ListContainerItems(_serialization.Model):
4670
4787
  def __init__(self, **kwargs: Any) -> None:
4671
4788
  """ """
4672
4789
  super().__init__(**kwargs)
4673
- self.value: Optional[List["_models.ListContainerItem"]] = None
4790
+ self.value: Optional[list["_models.ListContainerItem"]] = None
4674
4791
  self.next_link: Optional[str] = None
4675
4792
 
4676
4793
 
@@ -4704,7 +4821,7 @@ class ListQueue(Resource):
4704
4821
  "metadata": {"key": "properties.metadata", "type": "{str}"},
4705
4822
  }
4706
4823
 
4707
- def __init__(self, *, metadata: Optional[Dict[str, str]] = None, **kwargs: Any) -> None:
4824
+ def __init__(self, *, metadata: Optional[dict[str, str]] = None, **kwargs: Any) -> None:
4708
4825
  """
4709
4826
  :keyword metadata: A name-value pair that represents queue metadata.
4710
4827
  :paramtype metadata: dict[str, str]
@@ -4737,7 +4854,7 @@ class ListQueueResource(_serialization.Model):
4737
4854
  def __init__(self, **kwargs: Any) -> None:
4738
4855
  """ """
4739
4856
  super().__init__(**kwargs)
4740
- self.value: Optional[List["_models.ListQueue"]] = None
4857
+ self.value: Optional[list["_models.ListQueue"]] = None
4741
4858
  self.next_link: Optional[str] = None
4742
4859
 
4743
4860
 
@@ -4761,7 +4878,7 @@ class ListQueueServices(_serialization.Model):
4761
4878
  def __init__(self, **kwargs: Any) -> None:
4762
4879
  """ """
4763
4880
  super().__init__(**kwargs)
4764
- self.value: Optional[List["_models.QueueServiceProperties"]] = None
4881
+ self.value: Optional[list["_models.QueueServiceProperties"]] = None
4765
4882
 
4766
4883
 
4767
4884
  class ListServiceSasResponse(_serialization.Model):
@@ -4811,7 +4928,7 @@ class ListTableResource(_serialization.Model):
4811
4928
  def __init__(self, **kwargs: Any) -> None:
4812
4929
  """ """
4813
4930
  super().__init__(**kwargs)
4814
- self.value: Optional[List["_models.Table"]] = None
4931
+ self.value: Optional[list["_models.Table"]] = None
4815
4932
  self.next_link: Optional[str] = None
4816
4933
 
4817
4934
 
@@ -4835,7 +4952,7 @@ class ListTableServices(_serialization.Model):
4835
4952
  def __init__(self, **kwargs: Any) -> None:
4836
4953
  """ """
4837
4954
  super().__init__(**kwargs)
4838
- self.value: Optional[List["_models.TableServiceProperties"]] = None
4955
+ self.value: Optional[list["_models.TableServiceProperties"]] = None
4839
4956
 
4840
4957
 
4841
4958
  class LocalUser(Resource):
@@ -4915,15 +5032,15 @@ class LocalUser(Resource):
4915
5032
  def __init__(
4916
5033
  self,
4917
5034
  *,
4918
- permission_scopes: Optional[List["_models.PermissionScope"]] = None,
5035
+ permission_scopes: Optional[list["_models.PermissionScope"]] = None,
4919
5036
  home_directory: Optional[str] = None,
4920
- ssh_authorized_keys: Optional[List["_models.SshPublicKey"]] = None,
5037
+ ssh_authorized_keys: Optional[list["_models.SshPublicKey"]] = None,
4921
5038
  has_shared_key: Optional[bool] = None,
4922
5039
  has_ssh_key: Optional[bool] = None,
4923
5040
  has_ssh_password: Optional[bool] = None,
4924
5041
  group_id: Optional[int] = None,
4925
5042
  allow_acl_authorization: Optional[bool] = None,
4926
- extended_groups: Optional[List[int]] = None,
5043
+ extended_groups: Optional[list[int]] = None,
4927
5044
  is_nf_sv3_enabled: Optional[bool] = None,
4928
5045
  **kwargs: Any
4929
5046
  ) -> None:
@@ -4991,7 +5108,7 @@ class LocalUserKeys(_serialization.Model):
4991
5108
  "shared_key": {"key": "sharedKey", "type": "str"},
4992
5109
  }
4993
5110
 
4994
- def __init__(self, *, ssh_authorized_keys: Optional[List["_models.SshPublicKey"]] = None, **kwargs: Any) -> None:
5111
+ def __init__(self, *, ssh_authorized_keys: Optional[list["_models.SshPublicKey"]] = None, **kwargs: Any) -> None:
4995
5112
  """
4996
5113
  :keyword ssh_authorized_keys: Optional, local user ssh authorized keys for SFTP.
4997
5114
  :paramtype ssh_authorized_keys: list[~azure.mgmt.storage.models.SshPublicKey]
@@ -5047,7 +5164,7 @@ class LocalUsers(_serialization.Model):
5047
5164
  "next_link": {"key": "nextLink", "type": "str"},
5048
5165
  }
5049
5166
 
5050
- def __init__(self, *, value: Optional[List["_models.LocalUser"]] = None, **kwargs: Any) -> None:
5167
+ def __init__(self, *, value: Optional[list["_models.LocalUser"]] = None, **kwargs: Any) -> None:
5051
5168
  """
5052
5169
  :keyword value: The list of local users associated with the storage account.
5053
5170
  :paramtype value: list[~azure.mgmt.storage.models.LocalUser]
@@ -5275,9 +5392,9 @@ class ManagementPolicyFilter(_serialization.Model):
5275
5392
  def __init__(
5276
5393
  self,
5277
5394
  *,
5278
- blob_types: List[str],
5279
- prefix_match: Optional[List[str]] = None,
5280
- blob_index_match: Optional[List["_models.TagFilter"]] = None,
5395
+ blob_types: list[str],
5396
+ prefix_match: Optional[list[str]] = None,
5397
+ blob_index_match: Optional[list["_models.TagFilter"]] = None,
5281
5398
  **kwargs: Any
5282
5399
  ) -> None:
5283
5400
  """
@@ -5371,7 +5488,7 @@ class ManagementPolicySchema(_serialization.Model):
5371
5488
  "rules": {"key": "rules", "type": "[ManagementPolicyRule]"},
5372
5489
  }
5373
5490
 
5374
- def __init__(self, *, rules: List["_models.ManagementPolicyRule"], **kwargs: Any) -> None:
5491
+ def __init__(self, *, rules: list["_models.ManagementPolicyRule"], **kwargs: Any) -> None:
5375
5492
  """
5376
5493
  :keyword rules: The Storage Account ManagementPolicies Rules. See more details in:
5377
5494
  https://learn.microsoft.com/azure/storage/blobs/lifecycle-management-overview. Required.
@@ -5533,7 +5650,7 @@ class MetricSpecification(_serialization.Model):
5533
5650
  display_name: Optional[str] = None,
5534
5651
  display_description: Optional[str] = None,
5535
5652
  unit: Optional[str] = None,
5536
- dimensions: Optional[List["_models.Dimension"]] = None,
5653
+ dimensions: Optional[list["_models.Dimension"]] = None,
5537
5654
  aggregation_type: Optional[str] = None,
5538
5655
  fill_gap_with_zero: Optional[bool] = None,
5539
5656
  category: Optional[str] = None,
@@ -5608,6 +5725,8 @@ class NetworkRuleSet(_serialization.Model):
5608
5725
  :vartype virtual_network_rules: list[~azure.mgmt.storage.models.VirtualNetworkRule]
5609
5726
  :ivar ip_rules: Sets the IP ACL rules.
5610
5727
  :vartype ip_rules: list[~azure.mgmt.storage.models.IPRule]
5728
+ :ivar ipv6_rules: Sets the IPv6 ACL rules.
5729
+ :vartype ipv6_rules: list[~azure.mgmt.storage.models.IPRule]
5611
5730
  :ivar default_action: Specifies the default action of allow or deny when no other rules match.
5612
5731
  Known values are: "Allow" and "Deny".
5613
5732
  :vartype default_action: str or ~azure.mgmt.storage.models.DefaultAction
@@ -5622,6 +5741,7 @@ class NetworkRuleSet(_serialization.Model):
5622
5741
  "resource_access_rules": {"key": "resourceAccessRules", "type": "[ResourceAccessRule]"},
5623
5742
  "virtual_network_rules": {"key": "virtualNetworkRules", "type": "[VirtualNetworkRule]"},
5624
5743
  "ip_rules": {"key": "ipRules", "type": "[IPRule]"},
5744
+ "ipv6_rules": {"key": "ipv6Rules", "type": "[IPRule]"},
5625
5745
  "default_action": {"key": "defaultAction", "type": "str"},
5626
5746
  }
5627
5747
 
@@ -5630,9 +5750,10 @@ class NetworkRuleSet(_serialization.Model):
5630
5750
  *,
5631
5751
  default_action: Union[str, "_models.DefaultAction"] = "Allow",
5632
5752
  bypass: Union[str, "_models.Bypass"] = "AzureServices",
5633
- resource_access_rules: Optional[List["_models.ResourceAccessRule"]] = None,
5634
- virtual_network_rules: Optional[List["_models.VirtualNetworkRule"]] = None,
5635
- ip_rules: Optional[List["_models.IPRule"]] = None,
5753
+ resource_access_rules: Optional[list["_models.ResourceAccessRule"]] = None,
5754
+ virtual_network_rules: Optional[list["_models.VirtualNetworkRule"]] = None,
5755
+ ip_rules: Optional[list["_models.IPRule"]] = None,
5756
+ ipv6_rules: Optional[list["_models.IPRule"]] = None,
5636
5757
  **kwargs: Any
5637
5758
  ) -> None:
5638
5759
  """
@@ -5647,6 +5768,8 @@ class NetworkRuleSet(_serialization.Model):
5647
5768
  :paramtype virtual_network_rules: list[~azure.mgmt.storage.models.VirtualNetworkRule]
5648
5769
  :keyword ip_rules: Sets the IP ACL rules.
5649
5770
  :paramtype ip_rules: list[~azure.mgmt.storage.models.IPRule]
5771
+ :keyword ipv6_rules: Sets the IPv6 ACL rules.
5772
+ :paramtype ipv6_rules: list[~azure.mgmt.storage.models.IPRule]
5650
5773
  :keyword default_action: Specifies the default action of allow or deny when no other rules
5651
5774
  match. Known values are: "Allow" and "Deny".
5652
5775
  :paramtype default_action: str or ~azure.mgmt.storage.models.DefaultAction
@@ -5656,6 +5779,7 @@ class NetworkRuleSet(_serialization.Model):
5656
5779
  self.resource_access_rules = resource_access_rules
5657
5780
  self.virtual_network_rules = virtual_network_rules
5658
5781
  self.ip_rules = ip_rules
5782
+ self.ipv6_rules = ipv6_rules
5659
5783
  self.default_action = default_action
5660
5784
 
5661
5785
 
@@ -5827,7 +5951,7 @@ class NetworkSecurityPerimeterConfiguration(ProxyResourceAutoGenerated):
5827
5951
  self.provisioning_state: Optional[
5828
5952
  Union[str, "_models.NetworkSecurityPerimeterConfigurationProvisioningState"]
5829
5953
  ] = None
5830
- self.provisioning_issues: Optional[List["_models.ProvisioningIssue"]] = None
5954
+ self.provisioning_issues: Optional[list["_models.ProvisioningIssue"]] = None
5831
5955
  self.network_security_perimeter: Optional["_models.NetworkSecurityPerimeter"] = None
5832
5956
  self.resource_association: Optional[
5833
5957
  "_models.NetworkSecurityPerimeterConfigurationPropertiesResourceAssociation"
@@ -5861,7 +5985,7 @@ class NetworkSecurityPerimeterConfigurationList(_serialization.Model): # pylint
5861
5985
  :paramtype next_link: str
5862
5986
  """
5863
5987
  super().__init__(**kwargs)
5864
- self.value: Optional[List["_models.NetworkSecurityPerimeterConfiguration"]] = None
5988
+ self.value: Optional[list["_models.NetworkSecurityPerimeterConfiguration"]] = None
5865
5989
  self.next_link = next_link
5866
5990
 
5867
5991
 
@@ -5893,9 +6017,9 @@ class NetworkSecurityPerimeterConfigurationPropertiesProfile(_serialization.Mode
5893
6017
  *,
5894
6018
  name: Optional[str] = None,
5895
6019
  access_rules_version: Optional[float] = None,
5896
- access_rules: Optional[List["_models.NspAccessRule"]] = None,
6020
+ access_rules: Optional[list["_models.NspAccessRule"]] = None,
5897
6021
  diagnostic_settings_version: Optional[float] = None,
5898
- enabled_log_categories: Optional[List[str]] = None,
6022
+ enabled_log_categories: Optional[list[str]] = None,
5899
6023
  **kwargs: Any
5900
6024
  ) -> None:
5901
6025
  """
@@ -5954,6 +6078,26 @@ class NetworkSecurityPerimeterConfigurationPropertiesResourceAssociation(
5954
6078
  self.access_mode = access_mode
5955
6079
 
5956
6080
 
6081
+ class NfsSetting(_serialization.Model):
6082
+ """Setting for NFS protocol.
6083
+
6084
+ :ivar encryption_in_transit: Encryption in transit setting.
6085
+ :vartype encryption_in_transit: ~azure.mgmt.storage.models.EncryptionInTransit
6086
+ """
6087
+
6088
+ _attribute_map = {
6089
+ "encryption_in_transit": {"key": "encryptionInTransit", "type": "EncryptionInTransit"},
6090
+ }
6091
+
6092
+ def __init__(self, *, encryption_in_transit: Optional["_models.EncryptionInTransit"] = None, **kwargs: Any) -> None:
6093
+ """
6094
+ :keyword encryption_in_transit: Encryption in transit setting.
6095
+ :paramtype encryption_in_transit: ~azure.mgmt.storage.models.EncryptionInTransit
6096
+ """
6097
+ super().__init__(**kwargs)
6098
+ self.encryption_in_transit = encryption_in_transit
6099
+
6100
+
5957
6101
  class NspAccessRule(_serialization.Model):
5958
6102
  """Information of Access Rule in Network Security Perimeter profile.
5959
6103
 
@@ -6019,8 +6163,8 @@ class NspAccessRuleProperties(_serialization.Model):
6019
6163
  self,
6020
6164
  *,
6021
6165
  direction: Optional[Union[str, "_models.NspAccessRuleDirection"]] = None,
6022
- address_prefixes: Optional[List[str]] = None,
6023
- subscriptions: Optional[List["_models.NspAccessRulePropertiesSubscriptionsItem"]] = None,
6166
+ address_prefixes: Optional[list[str]] = None,
6167
+ subscriptions: Optional[list["_models.NspAccessRulePropertiesSubscriptionsItem"]] = None,
6024
6168
  **kwargs: Any
6025
6169
  ) -> None:
6026
6170
  """
@@ -6036,8 +6180,8 @@ class NspAccessRuleProperties(_serialization.Model):
6036
6180
  self.direction = direction
6037
6181
  self.address_prefixes = address_prefixes
6038
6182
  self.subscriptions = subscriptions
6039
- self.network_security_perimeters: Optional[List["_models.NetworkSecurityPerimeter"]] = None
6040
- self.fully_qualified_domain_names: Optional[List[str]] = None
6183
+ self.network_security_perimeters: Optional[list["_models.NetworkSecurityPerimeter"]] = None
6184
+ self.fully_qualified_domain_names: Optional[list[str]] = None
6041
6185
 
6042
6186
 
6043
6187
  class NspAccessRulePropertiesSubscriptionsItem(_serialization.Model):
@@ -6071,7 +6215,7 @@ class ObjectReplicationPolicies(_serialization.Model):
6071
6215
  "value": {"key": "value", "type": "[ObjectReplicationPolicy]"},
6072
6216
  }
6073
6217
 
6074
- def __init__(self, *, value: Optional[List["_models.ObjectReplicationPolicy"]] = None, **kwargs: Any) -> None:
6218
+ def __init__(self, *, value: Optional[list["_models.ObjectReplicationPolicy"]] = None, **kwargs: Any) -> None:
6075
6219
  """
6076
6220
  :keyword value: The replication policy between two storage accounts.
6077
6221
  :paramtype value: list[~azure.mgmt.storage.models.ObjectReplicationPolicy]
@@ -6108,6 +6252,10 @@ class ObjectReplicationPolicy(Resource):
6108
6252
  :vartype rules: list[~azure.mgmt.storage.models.ObjectReplicationPolicyRule]
6109
6253
  :ivar metrics: Optional. The object replication policy metrics feature options.
6110
6254
  :vartype metrics: ~azure.mgmt.storage.models.ObjectReplicationPolicyPropertiesMetrics
6255
+ :ivar priority_replication: Optional. The object replication policy priority replication
6256
+ feature options.
6257
+ :vartype priority_replication:
6258
+ ~azure.mgmt.storage.models.ObjectReplicationPolicyPropertiesPriorityReplication
6111
6259
  """
6112
6260
 
6113
6261
  _validation = {
@@ -6128,6 +6276,10 @@ class ObjectReplicationPolicy(Resource):
6128
6276
  "destination_account": {"key": "properties.destinationAccount", "type": "str"},
6129
6277
  "rules": {"key": "properties.rules", "type": "[ObjectReplicationPolicyRule]"},
6130
6278
  "metrics": {"key": "properties.metrics", "type": "ObjectReplicationPolicyPropertiesMetrics"},
6279
+ "priority_replication": {
6280
+ "key": "properties.priorityReplication",
6281
+ "type": "ObjectReplicationPolicyPropertiesPriorityReplication",
6282
+ },
6131
6283
  }
6132
6284
 
6133
6285
  def __init__(
@@ -6135,8 +6287,9 @@ class ObjectReplicationPolicy(Resource):
6135
6287
  *,
6136
6288
  source_account: Optional[str] = None,
6137
6289
  destination_account: Optional[str] = None,
6138
- rules: Optional[List["_models.ObjectReplicationPolicyRule"]] = None,
6290
+ rules: Optional[list["_models.ObjectReplicationPolicyRule"]] = None,
6139
6291
  metrics: Optional["_models.ObjectReplicationPolicyPropertiesMetrics"] = None,
6292
+ priority_replication: Optional["_models.ObjectReplicationPolicyPropertiesPriorityReplication"] = None,
6140
6293
  **kwargs: Any
6141
6294
  ) -> None:
6142
6295
  """
@@ -6150,6 +6303,10 @@ class ObjectReplicationPolicy(Resource):
6150
6303
  :paramtype rules: list[~azure.mgmt.storage.models.ObjectReplicationPolicyRule]
6151
6304
  :keyword metrics: Optional. The object replication policy metrics feature options.
6152
6305
  :paramtype metrics: ~azure.mgmt.storage.models.ObjectReplicationPolicyPropertiesMetrics
6306
+ :keyword priority_replication: Optional. The object replication policy priority replication
6307
+ feature options.
6308
+ :paramtype priority_replication:
6309
+ ~azure.mgmt.storage.models.ObjectReplicationPolicyPropertiesPriorityReplication
6153
6310
  """
6154
6311
  super().__init__(**kwargs)
6155
6312
  self.policy_id: Optional[str] = None
@@ -6158,6 +6315,7 @@ class ObjectReplicationPolicy(Resource):
6158
6315
  self.destination_account = destination_account
6159
6316
  self.rules = rules
6160
6317
  self.metrics = metrics
6318
+ self.priority_replication = priority_replication
6161
6319
 
6162
6320
 
6163
6321
  class ObjectReplicationPolicyFilter(_serialization.Model):
@@ -6179,7 +6337,7 @@ class ObjectReplicationPolicyFilter(_serialization.Model):
6179
6337
  }
6180
6338
 
6181
6339
  def __init__(
6182
- self, *, prefix_match: Optional[List[str]] = None, min_creation_time: Optional[str] = None, **kwargs: Any
6340
+ self, *, prefix_match: Optional[list[str]] = None, min_creation_time: Optional[str] = None, **kwargs: Any
6183
6341
  ) -> None:
6184
6342
  """
6185
6343
  :keyword prefix_match: Optional. Filters the results to replicate only blobs whose names begin
@@ -6215,6 +6373,28 @@ class ObjectReplicationPolicyPropertiesMetrics(_serialization.Model):
6215
6373
  self.enabled = enabled
6216
6374
 
6217
6375
 
6376
+ class ObjectReplicationPolicyPropertiesPriorityReplication(_serialization.Model): # pylint: disable=name-too-long
6377
+ """Optional. The object replication policy priority replication feature options.
6378
+
6379
+ :ivar enabled: Indicates whether object replication priority replication feature is enabled for
6380
+ the policy.
6381
+ :vartype enabled: bool
6382
+ """
6383
+
6384
+ _attribute_map = {
6385
+ "enabled": {"key": "enabled", "type": "bool"},
6386
+ }
6387
+
6388
+ def __init__(self, *, enabled: Optional[bool] = None, **kwargs: Any) -> None:
6389
+ """
6390
+ :keyword enabled: Indicates whether object replication priority replication feature is enabled
6391
+ for the policy.
6392
+ :paramtype enabled: bool
6393
+ """
6394
+ super().__init__(**kwargs)
6395
+ self.enabled = enabled
6396
+
6397
+
6218
6398
  class ObjectReplicationPolicyRule(_serialization.Model):
6219
6399
  """The replication policy rule between two containers.
6220
6400
 
@@ -6374,7 +6554,7 @@ class OperationListResult(_serialization.Model):
6374
6554
  "value": {"key": "value", "type": "[Operation]"},
6375
6555
  }
6376
6556
 
6377
- def __init__(self, *, value: Optional[List["_models.Operation"]] = None, **kwargs: Any) -> None:
6557
+ def __init__(self, *, value: Optional[list["_models.Operation"]] = None, **kwargs: Any) -> None:
6378
6558
  """
6379
6559
  :keyword value: List of Storage operations supported by the Storage resource provider.
6380
6560
  :paramtype value: list[~azure.mgmt.storage.models.Operation]
@@ -6429,6 +6609,30 @@ class PermissionScope(_serialization.Model):
6429
6609
  self.resource_name = resource_name
6430
6610
 
6431
6611
 
6612
+ class Placement(_serialization.Model):
6613
+ """The complex type of the zonal placement details.
6614
+
6615
+ :ivar zone_placement_policy: The availability zone pinning policy for the storage account.
6616
+ Known values are: "Any" and "None".
6617
+ :vartype zone_placement_policy: str or ~azure.mgmt.storage.models.ZonePlacementPolicy
6618
+ """
6619
+
6620
+ _attribute_map = {
6621
+ "zone_placement_policy": {"key": "zonePlacementPolicy", "type": "str"},
6622
+ }
6623
+
6624
+ def __init__(
6625
+ self, *, zone_placement_policy: Optional[Union[str, "_models.ZonePlacementPolicy"]] = None, **kwargs: Any
6626
+ ) -> None:
6627
+ """
6628
+ :keyword zone_placement_policy: The availability zone pinning policy for the storage account.
6629
+ Known values are: "Any" and "None".
6630
+ :paramtype zone_placement_policy: str or ~azure.mgmt.storage.models.ZonePlacementPolicy
6631
+ """
6632
+ super().__init__(**kwargs)
6633
+ self.zone_placement_policy = zone_placement_policy
6634
+
6635
+
6432
6636
  class PrivateEndpoint(_serialization.Model):
6433
6637
  """The Private Endpoint resource.
6434
6638
 
@@ -6528,7 +6732,7 @@ class PrivateEndpointConnectionListResult(_serialization.Model):
6528
6732
  "value": {"key": "value", "type": "[PrivateEndpointConnection]"},
6529
6733
  }
6530
6734
 
6531
- def __init__(self, *, value: Optional[List["_models.PrivateEndpointConnection"]] = None, **kwargs: Any) -> None:
6735
+ def __init__(self, *, value: Optional[list["_models.PrivateEndpointConnection"]] = None, **kwargs: Any) -> None:
6532
6736
  """
6533
6737
  :keyword value: Array of private endpoint connections.
6534
6738
  :paramtype value: list[~azure.mgmt.storage.models.PrivateEndpointConnection]
@@ -6575,14 +6779,14 @@ class PrivateLinkResource(Resource):
6575
6779
  "required_zone_names": {"key": "properties.requiredZoneNames", "type": "[str]"},
6576
6780
  }
6577
6781
 
6578
- def __init__(self, *, required_zone_names: Optional[List[str]] = None, **kwargs: Any) -> None:
6782
+ def __init__(self, *, required_zone_names: Optional[list[str]] = None, **kwargs: Any) -> None:
6579
6783
  """
6580
6784
  :keyword required_zone_names: The private link resource Private link DNS zone name.
6581
6785
  :paramtype required_zone_names: list[str]
6582
6786
  """
6583
6787
  super().__init__(**kwargs)
6584
6788
  self.group_id: Optional[str] = None
6585
- self.required_members: Optional[List[str]] = None
6789
+ self.required_members: Optional[list[str]] = None
6586
6790
  self.required_zone_names = required_zone_names
6587
6791
 
6588
6792
 
@@ -6597,7 +6801,7 @@ class PrivateLinkResourceListResult(_serialization.Model):
6597
6801
  "value": {"key": "value", "type": "[PrivateLinkResource]"},
6598
6802
  }
6599
6803
 
6600
- def __init__(self, *, value: Optional[List["_models.PrivateLinkResource"]] = None, **kwargs: Any) -> None:
6804
+ def __init__(self, *, value: Optional[list["_models.PrivateLinkResource"]] = None, **kwargs: Any) -> None:
6601
6805
  """
6602
6806
  :keyword value: Array of private link resources.
6603
6807
  :paramtype value: list[~azure.mgmt.storage.models.PrivateLinkResource]
@@ -6689,19 +6893,27 @@ class ProtocolSettings(_serialization.Model):
6689
6893
 
6690
6894
  :ivar smb: Setting for SMB protocol.
6691
6895
  :vartype smb: ~azure.mgmt.storage.models.SmbSetting
6896
+ :ivar nfs: Setting for NFS protocol.
6897
+ :vartype nfs: ~azure.mgmt.storage.models.NfsSetting
6692
6898
  """
6693
6899
 
6694
6900
  _attribute_map = {
6695
6901
  "smb": {"key": "smb", "type": "SmbSetting"},
6902
+ "nfs": {"key": "nfs", "type": "NfsSetting"},
6696
6903
  }
6697
6904
 
6698
- def __init__(self, *, smb: Optional["_models.SmbSetting"] = None, **kwargs: Any) -> None:
6905
+ def __init__(
6906
+ self, *, smb: Optional["_models.SmbSetting"] = None, nfs: Optional["_models.NfsSetting"] = None, **kwargs: Any
6907
+ ) -> None:
6699
6908
  """
6700
6909
  :keyword smb: Setting for SMB protocol.
6701
6910
  :paramtype smb: ~azure.mgmt.storage.models.SmbSetting
6911
+ :keyword nfs: Setting for NFS protocol.
6912
+ :paramtype nfs: ~azure.mgmt.storage.models.NfsSetting
6702
6913
  """
6703
6914
  super().__init__(**kwargs)
6704
6915
  self.smb = smb
6916
+ self.nfs = nfs
6705
6917
 
6706
6918
 
6707
6919
  class ProvisioningIssue(_serialization.Model):
@@ -6929,7 +7141,7 @@ class Restriction(_serialization.Model):
6929
7141
  """
6930
7142
  super().__init__(**kwargs)
6931
7143
  self.type: Optional[str] = None
6932
- self.values: Optional[List[str]] = None
7144
+ self.values: Optional[list[str]] = None
6933
7145
  self.reason_code = reason_code
6934
7146
 
6935
7147
 
@@ -7201,7 +7413,7 @@ class ServiceSpecification(_serialization.Model):
7201
7413
  }
7202
7414
 
7203
7415
  def __init__(
7204
- self, *, metric_specifications: Optional[List["_models.MetricSpecification"]] = None, **kwargs: Any
7416
+ self, *, metric_specifications: Optional[list["_models.MetricSpecification"]] = None, **kwargs: Any
7205
7417
  ) -> None:
7206
7418
  """
7207
7419
  :keyword metric_specifications: Metric specifications of operation.
@@ -7339,6 +7551,8 @@ class SkuInformation(_serialization.Model):
7339
7551
  :ivar locations: The set of locations that the SKU is available. This will be supported and
7340
7552
  registered Azure Geo Regions (e.g. West US, East US, Southeast Asia, etc.).
7341
7553
  :vartype locations: list[str]
7554
+ :ivar location_info:
7555
+ :vartype location_info: list[~azure.mgmt.storage.models.SkuInformationLocationInfoItem]
7342
7556
  :ivar capabilities: The capability information in the specified SKU, including file encryption,
7343
7557
  network ACLs, change notification, etc.
7344
7558
  :vartype capabilities: list[~azure.mgmt.storage.models.SKUCapability]
@@ -7362,6 +7576,7 @@ class SkuInformation(_serialization.Model):
7362
7576
  "resource_type": {"key": "resourceType", "type": "str"},
7363
7577
  "kind": {"key": "kind", "type": "str"},
7364
7578
  "locations": {"key": "locations", "type": "[str]"},
7579
+ "location_info": {"key": "locationInfo", "type": "[SkuInformationLocationInfoItem]"},
7365
7580
  "capabilities": {"key": "capabilities", "type": "[SKUCapability]"},
7366
7581
  "restrictions": {"key": "restrictions", "type": "[Restriction]"},
7367
7582
  }
@@ -7370,7 +7585,8 @@ class SkuInformation(_serialization.Model):
7370
7585
  self,
7371
7586
  *,
7372
7587
  name: Union[str, "_models.SkuName"],
7373
- restrictions: Optional[List["_models.Restriction"]] = None,
7588
+ location_info: Optional[list["_models.SkuInformationLocationInfoItem"]] = None,
7589
+ restrictions: Optional[list["_models.Restriction"]] = None,
7374
7590
  **kwargs: Any
7375
7591
  ) -> None:
7376
7592
  """
@@ -7380,6 +7596,8 @@ class SkuInformation(_serialization.Model):
7380
7596
  "Standard_GZRS", "Standard_RAGZRS", "StandardV2_LRS", "StandardV2_GRS", "StandardV2_ZRS",
7381
7597
  "StandardV2_GZRS", "PremiumV2_LRS", and "PremiumV2_ZRS".
7382
7598
  :paramtype name: str or ~azure.mgmt.storage.models.SkuName
7599
+ :keyword location_info:
7600
+ :paramtype location_info: list[~azure.mgmt.storage.models.SkuInformationLocationInfoItem]
7383
7601
  :keyword restrictions: The restrictions because of which SKU cannot be used. This is empty if
7384
7602
  there are no restrictions.
7385
7603
  :paramtype restrictions: list[~azure.mgmt.storage.models.Restriction]
@@ -7389,11 +7607,64 @@ class SkuInformation(_serialization.Model):
7389
7607
  self.tier: Optional[Union[str, "_models.SkuTier"]] = None
7390
7608
  self.resource_type: Optional[str] = None
7391
7609
  self.kind: Optional[Union[str, "_models.Kind"]] = None
7392
- self.locations: Optional[List[str]] = None
7393
- self.capabilities: Optional[List["_models.SKUCapability"]] = None
7610
+ self.locations: Optional[list[str]] = None
7611
+ self.location_info = location_info
7612
+ self.capabilities: Optional[list["_models.SKUCapability"]] = None
7394
7613
  self.restrictions = restrictions
7395
7614
 
7396
7615
 
7616
+ class SkuInformationLocationInfoItem(_serialization.Model):
7617
+ """SkuInformationLocationInfoItem.
7618
+
7619
+ Variables are only populated by the server, and will be ignored when sending a request.
7620
+
7621
+ :ivar location: Describes the location for the product where storage account resource can be
7622
+ created.
7623
+ :vartype location: str
7624
+ :ivar zones: Describes the available zones for the product where storage account resource can
7625
+ be created.
7626
+ :vartype zones: list[str]
7627
+ """
7628
+
7629
+ _validation = {
7630
+ "location": {"readonly": True},
7631
+ "zones": {"readonly": True},
7632
+ }
7633
+
7634
+ _attribute_map = {
7635
+ "location": {"key": "location", "type": "str"},
7636
+ "zones": {"key": "zones", "type": "[str]"},
7637
+ }
7638
+
7639
+ def __init__(self, **kwargs: Any) -> None:
7640
+ """ """
7641
+ super().__init__(**kwargs)
7642
+ self.location: Optional[str] = None
7643
+ self.zones: Optional[list[str]] = None
7644
+
7645
+
7646
+ class SmbOAuthSettings(_serialization.Model):
7647
+ """Setting property for Managed Identity access over SMB using OAuth.
7648
+
7649
+ :ivar is_smb_o_auth_enabled: Specifies if managed identities can access SMB shares using OAuth.
7650
+ The default interpretation is false for this property.
7651
+ :vartype is_smb_o_auth_enabled: bool
7652
+ """
7653
+
7654
+ _attribute_map = {
7655
+ "is_smb_o_auth_enabled": {"key": "isSmbOAuthEnabled", "type": "bool"},
7656
+ }
7657
+
7658
+ def __init__(self, *, is_smb_o_auth_enabled: Optional[bool] = None, **kwargs: Any) -> None:
7659
+ """
7660
+ :keyword is_smb_o_auth_enabled: Specifies if managed identities can access SMB shares using
7661
+ OAuth. The default interpretation is false for this property.
7662
+ :paramtype is_smb_o_auth_enabled: bool
7663
+ """
7664
+ super().__init__(**kwargs)
7665
+ self.is_smb_o_auth_enabled = is_smb_o_auth_enabled
7666
+
7667
+
7397
7668
  class SmbSetting(_serialization.Model):
7398
7669
  """Setting for SMB protocol.
7399
7670
 
@@ -7411,6 +7682,8 @@ class SmbSetting(_serialization.Model):
7411
7682
  :ivar channel_encryption: SMB channel encryption supported by server. Valid values are
7412
7683
  AES-128-CCM, AES-128-GCM, AES-256-GCM. Should be passed as a string with delimiter ';'.
7413
7684
  :vartype channel_encryption: str
7685
+ :ivar encryption_in_transit: Encryption in transit setting.
7686
+ :vartype encryption_in_transit: ~azure.mgmt.storage.models.EncryptionInTransit
7414
7687
  """
7415
7688
 
7416
7689
  _attribute_map = {
@@ -7419,6 +7692,7 @@ class SmbSetting(_serialization.Model):
7419
7692
  "authentication_methods": {"key": "authenticationMethods", "type": "str"},
7420
7693
  "kerberos_ticket_encryption": {"key": "kerberosTicketEncryption", "type": "str"},
7421
7694
  "channel_encryption": {"key": "channelEncryption", "type": "str"},
7695
+ "encryption_in_transit": {"key": "encryptionInTransit", "type": "EncryptionInTransit"},
7422
7696
  }
7423
7697
 
7424
7698
  def __init__(
@@ -7429,6 +7703,7 @@ class SmbSetting(_serialization.Model):
7429
7703
  authentication_methods: Optional[str] = None,
7430
7704
  kerberos_ticket_encryption: Optional[str] = None,
7431
7705
  channel_encryption: Optional[str] = None,
7706
+ encryption_in_transit: Optional["_models.EncryptionInTransit"] = None,
7432
7707
  **kwargs: Any
7433
7708
  ) -> None:
7434
7709
  """
@@ -7446,6 +7721,8 @@ class SmbSetting(_serialization.Model):
7446
7721
  :keyword channel_encryption: SMB channel encryption supported by server. Valid values are
7447
7722
  AES-128-CCM, AES-128-GCM, AES-256-GCM. Should be passed as a string with delimiter ';'.
7448
7723
  :paramtype channel_encryption: str
7724
+ :keyword encryption_in_transit: Encryption in transit setting.
7725
+ :paramtype encryption_in_transit: ~azure.mgmt.storage.models.EncryptionInTransit
7449
7726
  """
7450
7727
  super().__init__(**kwargs)
7451
7728
  self.multichannel = multichannel
@@ -7453,6 +7730,7 @@ class SmbSetting(_serialization.Model):
7453
7730
  self.authentication_methods = authentication_methods
7454
7731
  self.kerberos_ticket_encryption = kerberos_ticket_encryption
7455
7732
  self.channel_encryption = channel_encryption
7733
+ self.encryption_in_transit = encryption_in_transit
7456
7734
 
7457
7735
 
7458
7736
  class SshPublicKey(_serialization.Model):
@@ -7520,7 +7798,7 @@ class TrackedResource(Resource):
7520
7798
  "location": {"key": "location", "type": "str"},
7521
7799
  }
7522
7800
 
7523
- def __init__(self, *, location: str, tags: Optional[Dict[str, str]] = None, **kwargs: Any) -> None:
7801
+ def __init__(self, *, location: str, tags: Optional[dict[str, str]] = None, **kwargs: Any) -> None:
7524
7802
  """
7525
7803
  :keyword tags: Resource tags.
7526
7804
  :paramtype tags: dict[str, str]
@@ -7560,6 +7838,11 @@ class StorageAccount(TrackedResource):
7560
7838
  :vartype identity: ~azure.mgmt.storage.models.Identity
7561
7839
  :ivar extended_location: The extendedLocation of the resource.
7562
7840
  :vartype extended_location: ~azure.mgmt.storage.models.ExtendedLocation
7841
+ :ivar zones: Optional. Gets or sets the pinned logical availability zone for the storage
7842
+ account.
7843
+ :vartype zones: list[str]
7844
+ :ivar placement: Optional. Gets or sets the zonal placement details for the storage account.
7845
+ :vartype placement: ~azure.mgmt.storage.models.Placement
7563
7846
  :ivar provisioning_state: Gets the status of the storage account at the time the operation was
7564
7847
  called. Known values are: "Creating", "ResolvingDNS", "Succeeded",
7565
7848
  "ValidateSubscriptionQuotaBegin", "ValidateSubscriptionQuotaEnd", "Accepted", "Deleting",
@@ -7640,6 +7923,9 @@ class StorageAccount(TrackedResource):
7640
7923
  :ivar routing_preference: Maintains information about the network routing choice opted by the
7641
7924
  user for data transfer.
7642
7925
  :vartype routing_preference: ~azure.mgmt.storage.models.RoutingPreference
7926
+ :ivar dual_stack_endpoint_preference: Maintains information about the Internet protocol opted
7927
+ by the user.
7928
+ :vartype dual_stack_endpoint_preference: ~azure.mgmt.storage.models.DualStackEndpointPreference
7643
7929
  :ivar blob_restore_status: Blob restore status.
7644
7930
  :vartype blob_restore_status: ~azure.mgmt.storage.models.BlobRestoreStatus
7645
7931
  :ivar allow_blob_public_access: Allow or disallow public access to all blobs or containers in
@@ -7690,6 +7976,10 @@ class StorageAccount(TrackedResource):
7690
7976
  :ivar account_migration_in_progress: If customer initiated account migration is in progress,
7691
7977
  the value will be true else it will be null.
7692
7978
  :vartype account_migration_in_progress: bool
7979
+ :ivar geo_priority_replication_status: Status indicating whether Geo Priority Replication is
7980
+ enabled for the account.
7981
+ :vartype geo_priority_replication_status:
7982
+ ~azure.mgmt.storage.models.GeoPriorityReplicationStatus
7693
7983
  """
7694
7984
 
7695
7985
  _validation = {
@@ -7733,6 +8023,8 @@ class StorageAccount(TrackedResource):
7733
8023
  "kind": {"key": "kind", "type": "str"},
7734
8024
  "identity": {"key": "identity", "type": "Identity"},
7735
8025
  "extended_location": {"key": "extendedLocation", "type": "ExtendedLocation"},
8026
+ "zones": {"key": "zones", "type": "[str]"},
8027
+ "placement": {"key": "placement", "type": "Placement"},
7736
8028
  "provisioning_state": {"key": "properties.provisioningState", "type": "str"},
7737
8029
  "primary_endpoints": {"key": "properties.primaryEndpoints", "type": "Endpoints"},
7738
8030
  "primary_location": {"key": "properties.primaryLocation", "type": "str"},
@@ -7766,6 +8058,10 @@ class StorageAccount(TrackedResource):
7766
8058
  "type": "[PrivateEndpointConnection]",
7767
8059
  },
7768
8060
  "routing_preference": {"key": "properties.routingPreference", "type": "RoutingPreference"},
8061
+ "dual_stack_endpoint_preference": {
8062
+ "key": "properties.dualStackEndpointPreference",
8063
+ "type": "DualStackEndpointPreference",
8064
+ },
7769
8065
  "blob_restore_status": {"key": "properties.blobRestoreStatus", "type": "BlobRestoreStatus"},
7770
8066
  "allow_blob_public_access": {"key": "properties.allowBlobPublicAccess", "type": "bool"},
7771
8067
  "minimum_tls_version": {"key": "properties.minimumTlsVersion", "type": "str"},
@@ -7786,15 +8082,21 @@ class StorageAccount(TrackedResource):
7786
8082
  "dns_endpoint_type": {"key": "properties.dnsEndpointType", "type": "str"},
7787
8083
  "is_sku_conversion_blocked": {"key": "properties.isSkuConversionBlocked", "type": "bool"},
7788
8084
  "account_migration_in_progress": {"key": "properties.accountMigrationInProgress", "type": "bool"},
8085
+ "geo_priority_replication_status": {
8086
+ "key": "properties.geoPriorityReplicationStatus",
8087
+ "type": "GeoPriorityReplicationStatus",
8088
+ },
7789
8089
  }
7790
8090
 
7791
8091
  def __init__( # pylint: disable=too-many-locals
7792
8092
  self,
7793
8093
  *,
7794
8094
  location: str,
7795
- tags: Optional[Dict[str, str]] = None,
8095
+ tags: Optional[dict[str, str]] = None,
7796
8096
  identity: Optional["_models.Identity"] = None,
7797
8097
  extended_location: Optional["_models.ExtendedLocation"] = None,
8098
+ zones: Optional[list[str]] = None,
8099
+ placement: Optional["_models.Placement"] = None,
7798
8100
  azure_files_identity_based_authentication: Optional["_models.AzureFilesIdentityBasedAuthentication"] = None,
7799
8101
  enable_https_traffic_only: Optional[bool] = None,
7800
8102
  is_sftp_enabled: Optional[bool] = None,
@@ -7803,6 +8105,7 @@ class StorageAccount(TrackedResource):
7803
8105
  is_hns_enabled: Optional[bool] = None,
7804
8106
  large_file_shares_state: Optional[Union[str, "_models.LargeFileSharesState"]] = None,
7805
8107
  routing_preference: Optional["_models.RoutingPreference"] = None,
8108
+ dual_stack_endpoint_preference: Optional["_models.DualStackEndpointPreference"] = None,
7806
8109
  allow_blob_public_access: Optional[bool] = None,
7807
8110
  minimum_tls_version: Optional[Union[str, "_models.MinimumTlsVersion"]] = None,
7808
8111
  allow_shared_key_access: Optional[bool] = None,
@@ -7814,6 +8117,7 @@ class StorageAccount(TrackedResource):
7814
8117
  allowed_copy_scope: Optional[Union[str, "_models.AllowedCopyScope"]] = None,
7815
8118
  storage_account_sku_conversion_status: Optional["_models.StorageAccountSkuConversionStatus"] = None,
7816
8119
  dns_endpoint_type: Optional[Union[str, "_models.DnsEndpointType"]] = None,
8120
+ geo_priority_replication_status: Optional["_models.GeoPriorityReplicationStatus"] = None,
7817
8121
  **kwargs: Any
7818
8122
  ) -> None:
7819
8123
  """
@@ -7825,6 +8129,11 @@ class StorageAccount(TrackedResource):
7825
8129
  :paramtype identity: ~azure.mgmt.storage.models.Identity
7826
8130
  :keyword extended_location: The extendedLocation of the resource.
7827
8131
  :paramtype extended_location: ~azure.mgmt.storage.models.ExtendedLocation
8132
+ :keyword zones: Optional. Gets or sets the pinned logical availability zone for the storage
8133
+ account.
8134
+ :paramtype zones: list[str]
8135
+ :keyword placement: Optional. Gets or sets the zonal placement details for the storage account.
8136
+ :paramtype placement: ~azure.mgmt.storage.models.Placement
7828
8137
  :keyword azure_files_identity_based_authentication: Provides the identity based authentication
7829
8138
  settings for Azure Files.
7830
8139
  :paramtype azure_files_identity_based_authentication:
@@ -7847,6 +8156,10 @@ class StorageAccount(TrackedResource):
7847
8156
  :keyword routing_preference: Maintains information about the network routing choice opted by
7848
8157
  the user for data transfer.
7849
8158
  :paramtype routing_preference: ~azure.mgmt.storage.models.RoutingPreference
8159
+ :keyword dual_stack_endpoint_preference: Maintains information about the Internet protocol
8160
+ opted by the user.
8161
+ :paramtype dual_stack_endpoint_preference:
8162
+ ~azure.mgmt.storage.models.DualStackEndpointPreference
7850
8163
  :keyword allow_blob_public_access: Allow or disallow public access to all blobs or containers
7851
8164
  in the storage account. The default interpretation is false for this property.
7852
8165
  :paramtype allow_blob_public_access: bool
@@ -7890,12 +8203,18 @@ class StorageAccount(TrackedResource):
7890
8203
  accounts in an Azure DNS Zone and the endpoint URL will have an alphanumeric DNS Zone
7891
8204
  identifier. Known values are: "Standard" and "AzureDnsZone".
7892
8205
  :paramtype dns_endpoint_type: str or ~azure.mgmt.storage.models.DnsEndpointType
8206
+ :keyword geo_priority_replication_status: Status indicating whether Geo Priority Replication is
8207
+ enabled for the account.
8208
+ :paramtype geo_priority_replication_status:
8209
+ ~azure.mgmt.storage.models.GeoPriorityReplicationStatus
7893
8210
  """
7894
8211
  super().__init__(tags=tags, location=location, **kwargs)
7895
8212
  self.sku: Optional["_models.Sku"] = None
7896
8213
  self.kind: Optional[Union[str, "_models.Kind"]] = None
7897
8214
  self.identity = identity
7898
8215
  self.extended_location = extended_location
8216
+ self.zones = zones
8217
+ self.placement = placement
7899
8218
  self.provisioning_state: Optional[Union[str, "_models.ProvisioningState"]] = None
7900
8219
  self.primary_endpoints: Optional["_models.Endpoints"] = None
7901
8220
  self.primary_location: Optional[str] = None
@@ -7921,8 +8240,9 @@ class StorageAccount(TrackedResource):
7921
8240
  self.geo_replication_stats: Optional["_models.GeoReplicationStats"] = None
7922
8241
  self.failover_in_progress: Optional[bool] = None
7923
8242
  self.large_file_shares_state = large_file_shares_state
7924
- self.private_endpoint_connections: Optional[List["_models.PrivateEndpointConnection"]] = None
8243
+ self.private_endpoint_connections: Optional[list["_models.PrivateEndpointConnection"]] = None
7925
8244
  self.routing_preference = routing_preference
8245
+ self.dual_stack_endpoint_preference = dual_stack_endpoint_preference
7926
8246
  self.blob_restore_status: Optional["_models.BlobRestoreStatus"] = None
7927
8247
  self.allow_blob_public_access = allow_blob_public_access
7928
8248
  self.minimum_tls_version = minimum_tls_version
@@ -7937,6 +8257,7 @@ class StorageAccount(TrackedResource):
7937
8257
  self.dns_endpoint_type = dns_endpoint_type
7938
8258
  self.is_sku_conversion_blocked: Optional[bool] = None
7939
8259
  self.account_migration_in_progress: Optional[bool] = None
8260
+ self.geo_priority_replication_status = geo_priority_replication_status
7940
8261
 
7941
8262
 
7942
8263
  class StorageAccountCheckNameAvailabilityParameters(_serialization.Model): # pylint: disable=name-too-long
@@ -7993,6 +8314,11 @@ class StorageAccountCreateParameters(_serialization.Model):
7993
8314
  storage account will be created in Azure main region. Otherwise it will be created in the
7994
8315
  specified extended location.
7995
8316
  :vartype extended_location: ~azure.mgmt.storage.models.ExtendedLocation
8317
+ :ivar zones: Optional. Gets or sets the pinned logical availability zone for the storage
8318
+ account.
8319
+ :vartype zones: list[str]
8320
+ :ivar placement: Optional. Gets or sets the zonal placement details for the storage account.
8321
+ :vartype placement: ~azure.mgmt.storage.models.Placement
7996
8322
  :ivar tags: Gets or sets a list of key value pairs that describe the resource. These tags can
7997
8323
  be used for viewing and grouping this resource (across resource groups). A maximum of 15 tags
7998
8324
  can be provided for a resource. Each tag must have a key with a length no greater than 128
@@ -8048,6 +8374,9 @@ class StorageAccountCreateParameters(_serialization.Model):
8048
8374
  :ivar routing_preference: Maintains information about the network routing choice opted by the
8049
8375
  user for data transfer.
8050
8376
  :vartype routing_preference: ~azure.mgmt.storage.models.RoutingPreference
8377
+ :ivar dual_stack_endpoint_preference: Maintains information about the Internet protocol opted
8378
+ by the user.
8379
+ :vartype dual_stack_endpoint_preference: ~azure.mgmt.storage.models.DualStackEndpointPreference
8051
8380
  :ivar allow_blob_public_access: Allow or disallow public access to all blobs or containers in
8052
8381
  the storage account. The default interpretation is false for this property.
8053
8382
  :vartype allow_blob_public_access: bool
@@ -8079,6 +8408,10 @@ class StorageAccountCreateParameters(_serialization.Model):
8079
8408
  Azure DNS Zone and the endpoint URL will have an alphanumeric DNS Zone identifier. Known values
8080
8409
  are: "Standard" and "AzureDnsZone".
8081
8410
  :vartype dns_endpoint_type: str or ~azure.mgmt.storage.models.DnsEndpointType
8411
+ :ivar geo_priority_replication_status: Status indicating whether Geo Priority Replication is
8412
+ enabled for the account.
8413
+ :vartype geo_priority_replication_status:
8414
+ ~azure.mgmt.storage.models.GeoPriorityReplicationStatus
8082
8415
  """
8083
8416
 
8084
8417
  _validation = {
@@ -8092,6 +8425,8 @@ class StorageAccountCreateParameters(_serialization.Model):
8092
8425
  "kind": {"key": "kind", "type": "str"},
8093
8426
  "location": {"key": "location", "type": "str"},
8094
8427
  "extended_location": {"key": "extendedLocation", "type": "ExtendedLocation"},
8428
+ "zones": {"key": "zones", "type": "[str]"},
8429
+ "placement": {"key": "placement", "type": "Placement"},
8095
8430
  "tags": {"key": "tags", "type": "{str}"},
8096
8431
  "identity": {"key": "identity", "type": "Identity"},
8097
8432
  "allowed_copy_scope": {"key": "properties.allowedCopyScope", "type": "str"},
@@ -8113,6 +8448,10 @@ class StorageAccountCreateParameters(_serialization.Model):
8113
8448
  "is_hns_enabled": {"key": "properties.isHnsEnabled", "type": "bool"},
8114
8449
  "large_file_shares_state": {"key": "properties.largeFileSharesState", "type": "str"},
8115
8450
  "routing_preference": {"key": "properties.routingPreference", "type": "RoutingPreference"},
8451
+ "dual_stack_endpoint_preference": {
8452
+ "key": "properties.dualStackEndpointPreference",
8453
+ "type": "DualStackEndpointPreference",
8454
+ },
8116
8455
  "allow_blob_public_access": {"key": "properties.allowBlobPublicAccess", "type": "bool"},
8117
8456
  "minimum_tls_version": {"key": "properties.minimumTlsVersion", "type": "str"},
8118
8457
  "allow_shared_key_access": {"key": "properties.allowSharedKeyAccess", "type": "bool"},
@@ -8124,6 +8463,10 @@ class StorageAccountCreateParameters(_serialization.Model):
8124
8463
  "type": "ImmutableStorageAccount",
8125
8464
  },
8126
8465
  "dns_endpoint_type": {"key": "properties.dnsEndpointType", "type": "str"},
8466
+ "geo_priority_replication_status": {
8467
+ "key": "properties.geoPriorityReplicationStatus",
8468
+ "type": "GeoPriorityReplicationStatus",
8469
+ },
8127
8470
  }
8128
8471
 
8129
8472
  def __init__( # pylint: disable=too-many-locals
@@ -8133,7 +8476,9 @@ class StorageAccountCreateParameters(_serialization.Model):
8133
8476
  kind: Union[str, "_models.Kind"],
8134
8477
  location: str,
8135
8478
  extended_location: Optional["_models.ExtendedLocation"] = None,
8136
- tags: Optional[Dict[str, str]] = None,
8479
+ zones: Optional[list[str]] = None,
8480
+ placement: Optional["_models.Placement"] = None,
8481
+ tags: Optional[dict[str, str]] = None,
8137
8482
  identity: Optional["_models.Identity"] = None,
8138
8483
  allowed_copy_scope: Optional[Union[str, "_models.AllowedCopyScope"]] = None,
8139
8484
  public_network_access: Optional[Union[str, "_models.PublicNetworkAccess"]] = None,
@@ -8151,6 +8496,7 @@ class StorageAccountCreateParameters(_serialization.Model):
8151
8496
  is_hns_enabled: Optional[bool] = None,
8152
8497
  large_file_shares_state: Optional[Union[str, "_models.LargeFileSharesState"]] = None,
8153
8498
  routing_preference: Optional["_models.RoutingPreference"] = None,
8499
+ dual_stack_endpoint_preference: Optional["_models.DualStackEndpointPreference"] = None,
8154
8500
  allow_blob_public_access: Optional[bool] = None,
8155
8501
  minimum_tls_version: Optional[Union[str, "_models.MinimumTlsVersion"]] = None,
8156
8502
  allow_shared_key_access: Optional[bool] = None,
@@ -8159,6 +8505,7 @@ class StorageAccountCreateParameters(_serialization.Model):
8159
8505
  default_to_o_auth_authentication: Optional[bool] = None,
8160
8506
  immutable_storage_with_versioning: Optional["_models.ImmutableStorageAccount"] = None,
8161
8507
  dns_endpoint_type: Optional[Union[str, "_models.DnsEndpointType"]] = None,
8508
+ geo_priority_replication_status: Optional["_models.GeoPriorityReplicationStatus"] = None,
8162
8509
  **kwargs: Any
8163
8510
  ) -> None:
8164
8511
  """
@@ -8176,6 +8523,11 @@ class StorageAccountCreateParameters(_serialization.Model):
8176
8523
  the storage account will be created in Azure main region. Otherwise it will be created in the
8177
8524
  specified extended location.
8178
8525
  :paramtype extended_location: ~azure.mgmt.storage.models.ExtendedLocation
8526
+ :keyword zones: Optional. Gets or sets the pinned logical availability zone for the storage
8527
+ account.
8528
+ :paramtype zones: list[str]
8529
+ :keyword placement: Optional. Gets or sets the zonal placement details for the storage account.
8530
+ :paramtype placement: ~azure.mgmt.storage.models.Placement
8179
8531
  :keyword tags: Gets or sets a list of key value pairs that describe the resource. These tags
8180
8532
  can be used for viewing and grouping this resource (across resource groups). A maximum of 15
8181
8533
  tags can be provided for a resource. Each tag must have a key with a length no greater than 128
@@ -8231,6 +8583,10 @@ class StorageAccountCreateParameters(_serialization.Model):
8231
8583
  :keyword routing_preference: Maintains information about the network routing choice opted by
8232
8584
  the user for data transfer.
8233
8585
  :paramtype routing_preference: ~azure.mgmt.storage.models.RoutingPreference
8586
+ :keyword dual_stack_endpoint_preference: Maintains information about the Internet protocol
8587
+ opted by the user.
8588
+ :paramtype dual_stack_endpoint_preference:
8589
+ ~azure.mgmt.storage.models.DualStackEndpointPreference
8234
8590
  :keyword allow_blob_public_access: Allow or disallow public access to all blobs or containers
8235
8591
  in the storage account. The default interpretation is false for this property.
8236
8592
  :paramtype allow_blob_public_access: bool
@@ -8263,12 +8619,18 @@ class StorageAccountCreateParameters(_serialization.Model):
8263
8619
  accounts in an Azure DNS Zone and the endpoint URL will have an alphanumeric DNS Zone
8264
8620
  identifier. Known values are: "Standard" and "AzureDnsZone".
8265
8621
  :paramtype dns_endpoint_type: str or ~azure.mgmt.storage.models.DnsEndpointType
8622
+ :keyword geo_priority_replication_status: Status indicating whether Geo Priority Replication is
8623
+ enabled for the account.
8624
+ :paramtype geo_priority_replication_status:
8625
+ ~azure.mgmt.storage.models.GeoPriorityReplicationStatus
8266
8626
  """
8267
8627
  super().__init__(**kwargs)
8268
8628
  self.sku = sku
8269
8629
  self.kind = kind
8270
8630
  self.location = location
8271
8631
  self.extended_location = extended_location
8632
+ self.zones = zones
8633
+ self.placement = placement
8272
8634
  self.tags = tags
8273
8635
  self.identity = identity
8274
8636
  self.allowed_copy_scope = allowed_copy_scope
@@ -8287,6 +8649,7 @@ class StorageAccountCreateParameters(_serialization.Model):
8287
8649
  self.is_hns_enabled = is_hns_enabled
8288
8650
  self.large_file_shares_state = large_file_shares_state
8289
8651
  self.routing_preference = routing_preference
8652
+ self.dual_stack_endpoint_preference = dual_stack_endpoint_preference
8290
8653
  self.allow_blob_public_access = allow_blob_public_access
8291
8654
  self.minimum_tls_version = minimum_tls_version
8292
8655
  self.allow_shared_key_access = allow_shared_key_access
@@ -8295,6 +8658,7 @@ class StorageAccountCreateParameters(_serialization.Model):
8295
8658
  self.default_to_o_auth_authentication = default_to_o_auth_authentication
8296
8659
  self.immutable_storage_with_versioning = immutable_storage_with_versioning
8297
8660
  self.dns_endpoint_type = dns_endpoint_type
8661
+ self.geo_priority_replication_status = geo_priority_replication_status
8298
8662
 
8299
8663
 
8300
8664
  class StorageAccountInternetEndpoints(_serialization.Model):
@@ -8336,6 +8700,74 @@ class StorageAccountInternetEndpoints(_serialization.Model):
8336
8700
  self.dfs: Optional[str] = None
8337
8701
 
8338
8702
 
8703
+ class StorageAccountIpv6Endpoints(_serialization.Model):
8704
+ """The URIs that are used to perform a retrieval of a public blob, queue, table, web or dfs object
8705
+ via an IPv6 endpoint.
8706
+
8707
+ Variables are only populated by the server, and will be ignored when sending a request.
8708
+
8709
+ :ivar blob: Gets the blob endpoint.
8710
+ :vartype blob: str
8711
+ :ivar queue: Gets the queue endpoint.
8712
+ :vartype queue: str
8713
+ :ivar table: Gets the table endpoint.
8714
+ :vartype table: str
8715
+ :ivar file: Gets the file endpoint.
8716
+ :vartype file: str
8717
+ :ivar web: Gets the web endpoint.
8718
+ :vartype web: str
8719
+ :ivar dfs: Gets the dfs endpoint.
8720
+ :vartype dfs: str
8721
+ :ivar microsoft_endpoints: Gets the microsoft routing storage endpoints.
8722
+ :vartype microsoft_endpoints: ~azure.mgmt.storage.models.StorageAccountMicrosoftEndpoints
8723
+ :ivar internet_endpoints: Gets the internet routing storage endpoints.
8724
+ :vartype internet_endpoints: ~azure.mgmt.storage.models.StorageAccountInternetEndpoints
8725
+ """
8726
+
8727
+ _validation = {
8728
+ "blob": {"readonly": True},
8729
+ "queue": {"readonly": True},
8730
+ "table": {"readonly": True},
8731
+ "file": {"readonly": True},
8732
+ "web": {"readonly": True},
8733
+ "dfs": {"readonly": True},
8734
+ }
8735
+
8736
+ _attribute_map = {
8737
+ "blob": {"key": "blob", "type": "str"},
8738
+ "queue": {"key": "queue", "type": "str"},
8739
+ "table": {"key": "table", "type": "str"},
8740
+ "file": {"key": "file", "type": "str"},
8741
+ "web": {"key": "web", "type": "str"},
8742
+ "dfs": {"key": "dfs", "type": "str"},
8743
+ "microsoft_endpoints": {"key": "microsoftEndpoints", "type": "StorageAccountMicrosoftEndpoints"},
8744
+ "internet_endpoints": {"key": "internetEndpoints", "type": "StorageAccountInternetEndpoints"},
8745
+ }
8746
+
8747
+ def __init__(
8748
+ self,
8749
+ *,
8750
+ microsoft_endpoints: Optional["_models.StorageAccountMicrosoftEndpoints"] = None,
8751
+ internet_endpoints: Optional["_models.StorageAccountInternetEndpoints"] = None,
8752
+ **kwargs: Any
8753
+ ) -> None:
8754
+ """
8755
+ :keyword microsoft_endpoints: Gets the microsoft routing storage endpoints.
8756
+ :paramtype microsoft_endpoints: ~azure.mgmt.storage.models.StorageAccountMicrosoftEndpoints
8757
+ :keyword internet_endpoints: Gets the internet routing storage endpoints.
8758
+ :paramtype internet_endpoints: ~azure.mgmt.storage.models.StorageAccountInternetEndpoints
8759
+ """
8760
+ super().__init__(**kwargs)
8761
+ self.blob: Optional[str] = None
8762
+ self.queue: Optional[str] = None
8763
+ self.table: Optional[str] = None
8764
+ self.file: Optional[str] = None
8765
+ self.web: Optional[str] = None
8766
+ self.dfs: Optional[str] = None
8767
+ self.microsoft_endpoints = microsoft_endpoints
8768
+ self.internet_endpoints = internet_endpoints
8769
+
8770
+
8339
8771
  class StorageAccountKey(_serialization.Model):
8340
8772
  """An access key for the storage account.
8341
8773
 
@@ -8396,7 +8828,7 @@ class StorageAccountListKeysResult(_serialization.Model):
8396
8828
  def __init__(self, **kwargs: Any) -> None:
8397
8829
  """ """
8398
8830
  super().__init__(**kwargs)
8399
- self.keys: Optional[List["_models.StorageAccountKey"]] = None
8831
+ self.keys: Optional[list["_models.StorageAccountKey"]] = None
8400
8832
 
8401
8833
 
8402
8834
  class StorageAccountListResult(_serialization.Model):
@@ -8424,7 +8856,7 @@ class StorageAccountListResult(_serialization.Model):
8424
8856
  def __init__(self, **kwargs: Any) -> None:
8425
8857
  """ """
8426
8858
  super().__init__(**kwargs)
8427
- self.value: Optional[List["_models.StorageAccount"]] = None
8859
+ self.value: Optional[list["_models.StorageAccount"]] = None
8428
8860
  self.next_link: Optional[str] = None
8429
8861
 
8430
8862
 
@@ -8646,6 +9078,11 @@ class StorageAccountUpdateParameters(_serialization.Model):
8646
9078
  supported by server. Known values are: "Storage", "StorageV2", "BlobStorage", "FileStorage",
8647
9079
  and "BlockBlobStorage".
8648
9080
  :vartype kind: str or ~azure.mgmt.storage.models.Kind
9081
+ :ivar zones: Optional. Gets or sets the pinned logical availability zone for the storage
9082
+ account.
9083
+ :vartype zones: list[str]
9084
+ :ivar placement: Optional. Gets or sets the zonal placement details for the storage account.
9085
+ :vartype placement: ~azure.mgmt.storage.models.Placement
8649
9086
  :ivar custom_domain: Custom domain assigned to the storage account by the user. Name is the
8650
9087
  CNAME source. Only one custom domain is supported per storage account at this time. To clear
8651
9088
  the existing custom domain, use an empty string for the custom domain name property.
@@ -8683,6 +9120,9 @@ class StorageAccountUpdateParameters(_serialization.Model):
8683
9120
  :ivar routing_preference: Maintains information about the network routing choice opted by the
8684
9121
  user for data transfer.
8685
9122
  :vartype routing_preference: ~azure.mgmt.storage.models.RoutingPreference
9123
+ :ivar dual_stack_endpoint_preference: Maintains information about the Internet protocol opted
9124
+ by the user.
9125
+ :vartype dual_stack_endpoint_preference: ~azure.mgmt.storage.models.DualStackEndpointPreference
8686
9126
  :ivar allow_blob_public_access: Allow or disallow public access to all blobs or containers in
8687
9127
  the storage account. The default interpretation is false for this property.
8688
9128
  :vartype allow_blob_public_access: bool
@@ -8720,6 +9160,10 @@ class StorageAccountUpdateParameters(_serialization.Model):
8720
9160
  Azure DNS Zone and the endpoint URL will have an alphanumeric DNS Zone identifier. Known values
8721
9161
  are: "Standard" and "AzureDnsZone".
8722
9162
  :vartype dns_endpoint_type: str or ~azure.mgmt.storage.models.DnsEndpointType
9163
+ :ivar geo_priority_replication_status: Status indicating whether Geo Priority Replication is
9164
+ enabled for the account.
9165
+ :vartype geo_priority_replication_status:
9166
+ ~azure.mgmt.storage.models.GeoPriorityReplicationStatus
8723
9167
  """
8724
9168
 
8725
9169
  _attribute_map = {
@@ -8727,6 +9171,8 @@ class StorageAccountUpdateParameters(_serialization.Model):
8727
9171
  "tags": {"key": "tags", "type": "{str}"},
8728
9172
  "identity": {"key": "identity", "type": "Identity"},
8729
9173
  "kind": {"key": "kind", "type": "str"},
9174
+ "zones": {"key": "zones", "type": "[str]"},
9175
+ "placement": {"key": "placement", "type": "Placement"},
8730
9176
  "custom_domain": {"key": "properties.customDomain", "type": "CustomDomain"},
8731
9177
  "encryption": {"key": "properties.encryption", "type": "Encryption"},
8732
9178
  "sas_policy": {"key": "properties.sasPolicy", "type": "SasPolicy"},
@@ -8743,6 +9189,10 @@ class StorageAccountUpdateParameters(_serialization.Model):
8743
9189
  "network_rule_set": {"key": "properties.networkAcls", "type": "NetworkRuleSet"},
8744
9190
  "large_file_shares_state": {"key": "properties.largeFileSharesState", "type": "str"},
8745
9191
  "routing_preference": {"key": "properties.routingPreference", "type": "RoutingPreference"},
9192
+ "dual_stack_endpoint_preference": {
9193
+ "key": "properties.dualStackEndpointPreference",
9194
+ "type": "DualStackEndpointPreference",
9195
+ },
8746
9196
  "allow_blob_public_access": {"key": "properties.allowBlobPublicAccess", "type": "bool"},
8747
9197
  "minimum_tls_version": {"key": "properties.minimumTlsVersion", "type": "str"},
8748
9198
  "allow_shared_key_access": {"key": "properties.allowSharedKeyAccess", "type": "bool"},
@@ -8755,15 +9205,21 @@ class StorageAccountUpdateParameters(_serialization.Model):
8755
9205
  },
8756
9206
  "allowed_copy_scope": {"key": "properties.allowedCopyScope", "type": "str"},
8757
9207
  "dns_endpoint_type": {"key": "properties.dnsEndpointType", "type": "str"},
9208
+ "geo_priority_replication_status": {
9209
+ "key": "properties.geoPriorityReplicationStatus",
9210
+ "type": "GeoPriorityReplicationStatus",
9211
+ },
8758
9212
  }
8759
9213
 
8760
9214
  def __init__( # pylint: disable=too-many-locals
8761
9215
  self,
8762
9216
  *,
8763
9217
  sku: Optional["_models.Sku"] = None,
8764
- tags: Optional[Dict[str, str]] = None,
9218
+ tags: Optional[dict[str, str]] = None,
8765
9219
  identity: Optional["_models.Identity"] = None,
8766
9220
  kind: Optional[Union[str, "_models.Kind"]] = None,
9221
+ zones: Optional[list[str]] = None,
9222
+ placement: Optional["_models.Placement"] = None,
8767
9223
  custom_domain: Optional["_models.CustomDomain"] = None,
8768
9224
  encryption: Optional["_models.Encryption"] = None,
8769
9225
  sas_policy: Optional["_models.SasPolicy"] = None,
@@ -8777,6 +9233,7 @@ class StorageAccountUpdateParameters(_serialization.Model):
8777
9233
  network_rule_set: Optional["_models.NetworkRuleSet"] = None,
8778
9234
  large_file_shares_state: Optional[Union[str, "_models.LargeFileSharesState"]] = None,
8779
9235
  routing_preference: Optional["_models.RoutingPreference"] = None,
9236
+ dual_stack_endpoint_preference: Optional["_models.DualStackEndpointPreference"] = None,
8780
9237
  allow_blob_public_access: Optional[bool] = None,
8781
9238
  minimum_tls_version: Optional[Union[str, "_models.MinimumTlsVersion"]] = None,
8782
9239
  allow_shared_key_access: Optional[bool] = None,
@@ -8786,6 +9243,7 @@ class StorageAccountUpdateParameters(_serialization.Model):
8786
9243
  immutable_storage_with_versioning: Optional["_models.ImmutableStorageAccount"] = None,
8787
9244
  allowed_copy_scope: Optional[Union[str, "_models.AllowedCopyScope"]] = None,
8788
9245
  dns_endpoint_type: Optional[Union[str, "_models.DnsEndpointType"]] = None,
9246
+ geo_priority_replication_status: Optional["_models.GeoPriorityReplicationStatus"] = None,
8789
9247
  **kwargs: Any
8790
9248
  ) -> None:
8791
9249
  """
@@ -8804,6 +9262,11 @@ class StorageAccountUpdateParameters(_serialization.Model):
8804
9262
  supported by server. Known values are: "Storage", "StorageV2", "BlobStorage", "FileStorage",
8805
9263
  and "BlockBlobStorage".
8806
9264
  :paramtype kind: str or ~azure.mgmt.storage.models.Kind
9265
+ :keyword zones: Optional. Gets or sets the pinned logical availability zone for the storage
9266
+ account.
9267
+ :paramtype zones: list[str]
9268
+ :keyword placement: Optional. Gets or sets the zonal placement details for the storage account.
9269
+ :paramtype placement: ~azure.mgmt.storage.models.Placement
8807
9270
  :keyword custom_domain: Custom domain assigned to the storage account by the user. Name is the
8808
9271
  CNAME source. Only one custom domain is supported per storage account at this time. To clear
8809
9272
  the existing custom domain, use an empty string for the custom domain name property.
@@ -8842,6 +9305,10 @@ class StorageAccountUpdateParameters(_serialization.Model):
8842
9305
  :keyword routing_preference: Maintains information about the network routing choice opted by
8843
9306
  the user for data transfer.
8844
9307
  :paramtype routing_preference: ~azure.mgmt.storage.models.RoutingPreference
9308
+ :keyword dual_stack_endpoint_preference: Maintains information about the Internet protocol
9309
+ opted by the user.
9310
+ :paramtype dual_stack_endpoint_preference:
9311
+ ~azure.mgmt.storage.models.DualStackEndpointPreference
8845
9312
  :keyword allow_blob_public_access: Allow or disallow public access to all blobs or containers
8846
9313
  in the storage account. The default interpretation is false for this property.
8847
9314
  :paramtype allow_blob_public_access: bool
@@ -8880,12 +9347,18 @@ class StorageAccountUpdateParameters(_serialization.Model):
8880
9347
  accounts in an Azure DNS Zone and the endpoint URL will have an alphanumeric DNS Zone
8881
9348
  identifier. Known values are: "Standard" and "AzureDnsZone".
8882
9349
  :paramtype dns_endpoint_type: str or ~azure.mgmt.storage.models.DnsEndpointType
9350
+ :keyword geo_priority_replication_status: Status indicating whether Geo Priority Replication is
9351
+ enabled for the account.
9352
+ :paramtype geo_priority_replication_status:
9353
+ ~azure.mgmt.storage.models.GeoPriorityReplicationStatus
8883
9354
  """
8884
9355
  super().__init__(**kwargs)
8885
9356
  self.sku = sku
8886
9357
  self.tags = tags
8887
9358
  self.identity = identity
8888
9359
  self.kind = kind
9360
+ self.zones = zones
9361
+ self.placement = placement
8889
9362
  self.custom_domain = custom_domain
8890
9363
  self.encryption = encryption
8891
9364
  self.sas_policy = sas_policy
@@ -8899,6 +9372,7 @@ class StorageAccountUpdateParameters(_serialization.Model):
8899
9372
  self.network_rule_set = network_rule_set
8900
9373
  self.large_file_shares_state = large_file_shares_state
8901
9374
  self.routing_preference = routing_preference
9375
+ self.dual_stack_endpoint_preference = dual_stack_endpoint_preference
8902
9376
  self.allow_blob_public_access = allow_blob_public_access
8903
9377
  self.minimum_tls_version = minimum_tls_version
8904
9378
  self.allow_shared_key_access = allow_shared_key_access
@@ -8908,6 +9382,7 @@ class StorageAccountUpdateParameters(_serialization.Model):
8908
9382
  self.immutable_storage_with_versioning = immutable_storage_with_versioning
8909
9383
  self.allowed_copy_scope = allowed_copy_scope
8910
9384
  self.dns_endpoint_type = dns_endpoint_type
9385
+ self.geo_priority_replication_status = geo_priority_replication_status
8911
9386
 
8912
9387
 
8913
9388
  class StorageQueue(Resource):
@@ -8946,7 +9421,7 @@ class StorageQueue(Resource):
8946
9421
  "approximate_message_count": {"key": "properties.approximateMessageCount", "type": "int"},
8947
9422
  }
8948
9423
 
8949
- def __init__(self, *, metadata: Optional[Dict[str, str]] = None, **kwargs: Any) -> None:
9424
+ def __init__(self, *, metadata: Optional[dict[str, str]] = None, **kwargs: Any) -> None:
8950
9425
  """
8951
9426
  :keyword metadata: A name-value pair that represents queue metadata.
8952
9427
  :paramtype metadata: dict[str, str]
@@ -8976,7 +9451,7 @@ class StorageSkuListResult(_serialization.Model):
8976
9451
  def __init__(self, **kwargs: Any) -> None:
8977
9452
  """ """
8978
9453
  super().__init__(**kwargs)
8979
- self.value: Optional[List["_models.SkuInformation"]] = None
9454
+ self.value: Optional[list["_models.SkuInformation"]] = None
8980
9455
 
8981
9456
 
8982
9457
  class StorageTaskAssignment(Resource):
@@ -9187,7 +9662,7 @@ class StorageTaskAssignmentsList(_serialization.Model):
9187
9662
  def __init__(self, **kwargs: Any) -> None:
9188
9663
  """ """
9189
9664
  super().__init__(**kwargs)
9190
- self.value: Optional[List["_models.StorageTaskAssignment"]] = None
9665
+ self.value: Optional[list["_models.StorageTaskAssignment"]] = None
9191
9666
  self.next_link: Optional[str] = None
9192
9667
 
9193
9668
 
@@ -9514,7 +9989,7 @@ class StorageTaskReportSummary(_serialization.Model):
9514
9989
  def __init__(self, **kwargs: Any) -> None:
9515
9990
  """ """
9516
9991
  super().__init__(**kwargs)
9517
- self.value: Optional[List["_models.StorageTaskReportInstance"]] = None
9992
+ self.value: Optional[list["_models.StorageTaskReportInstance"]] = None
9518
9993
  self.next_link: Optional[str] = None
9519
9994
 
9520
9995
 
@@ -9617,7 +10092,7 @@ class Table(Resource):
9617
10092
  }
9618
10093
 
9619
10094
  def __init__(
9620
- self, *, signed_identifiers: Optional[List["_models.TableSignedIdentifier"]] = None, **kwargs: Any
10095
+ self, *, signed_identifiers: Optional[list["_models.TableSignedIdentifier"]] = None, **kwargs: Any
9621
10096
  ) -> None:
9622
10097
  """
9623
10098
  :keyword signed_identifiers: List of stored access policies specified on the table.
@@ -9856,8 +10331,8 @@ class TriggerParameters(_serialization.Model):
9856
10331
  :vartype interval: int
9857
10332
  :ivar interval_unit: Run interval unit of task execution. This is a required field when
9858
10333
  ExecutionTrigger.properties.type is 'OnSchedule'; this property should not be present when
9859
- ExecutionTrigger.properties.type is 'RunOnce'. Default value is "Days".
9860
- :vartype interval_unit: str
10334
+ ExecutionTrigger.properties.type is 'RunOnce'. "Days"
10335
+ :vartype interval_unit: str or ~azure.mgmt.storage.models.IntervalUnit
9861
10336
  :ivar end_by: When to end task execution. This is a required field when
9862
10337
  ExecutionTrigger.properties.type is 'OnSchedule'; this property should not be present when
9863
10338
  ExecutionTrigger.properties.type is 'RunOnce'.
@@ -9885,7 +10360,7 @@ class TriggerParameters(_serialization.Model):
9885
10360
  *,
9886
10361
  start_from: Optional[datetime.datetime] = None,
9887
10362
  interval: Optional[int] = None,
9888
- interval_unit: Optional[Literal["Days"]] = None,
10363
+ interval_unit: Optional[Union[str, "_models.IntervalUnit"]] = None,
9889
10364
  end_by: Optional[datetime.datetime] = None,
9890
10365
  start_on: Optional[datetime.datetime] = None,
9891
10366
  **kwargs: Any
@@ -9901,8 +10376,8 @@ class TriggerParameters(_serialization.Model):
9901
10376
  :paramtype interval: int
9902
10377
  :keyword interval_unit: Run interval unit of task execution. This is a required field when
9903
10378
  ExecutionTrigger.properties.type is 'OnSchedule'; this property should not be present when
9904
- ExecutionTrigger.properties.type is 'RunOnce'. Default value is "Days".
9905
- :paramtype interval_unit: str
10379
+ ExecutionTrigger.properties.type is 'RunOnce'. "Days"
10380
+ :paramtype interval_unit: str or ~azure.mgmt.storage.models.IntervalUnit
9906
10381
  :keyword end_by: When to end task execution. This is a required field when
9907
10382
  ExecutionTrigger.properties.type is 'OnSchedule'; this property should not be present when
9908
10383
  ExecutionTrigger.properties.type is 'RunOnce'.
@@ -9933,8 +10408,8 @@ class TriggerParametersUpdate(_serialization.Model):
9933
10408
  :vartype interval: int
9934
10409
  :ivar interval_unit: Run interval unit of task execution. This is a mutable field when
9935
10410
  ExecutionTrigger.properties.type is 'OnSchedule'; this property should not be present when
9936
- ExecutionTrigger.properties.type is 'RunOnce'. Default value is "Days".
9937
- :vartype interval_unit: str
10411
+ ExecutionTrigger.properties.type is 'RunOnce'. "Days"
10412
+ :vartype interval_unit: str or ~azure.mgmt.storage.models.IntervalUnit
9938
10413
  :ivar end_by: When to end task execution. This is a mutable field when
9939
10414
  ExecutionTrigger.properties.type is 'OnSchedule'; this property should not be present when
9940
10415
  ExecutionTrigger.properties.type is 'RunOnce'.
@@ -9962,7 +10437,7 @@ class TriggerParametersUpdate(_serialization.Model):
9962
10437
  *,
9963
10438
  start_from: Optional[datetime.datetime] = None,
9964
10439
  interval: Optional[int] = None,
9965
- interval_unit: Optional[Literal["Days"]] = None,
10440
+ interval_unit: Optional[Union[str, "_models.IntervalUnit"]] = None,
9966
10441
  end_by: Optional[datetime.datetime] = None,
9967
10442
  start_on: Optional[datetime.datetime] = None,
9968
10443
  **kwargs: Any
@@ -9978,8 +10453,8 @@ class TriggerParametersUpdate(_serialization.Model):
9978
10453
  :paramtype interval: int
9979
10454
  :keyword interval_unit: Run interval unit of task execution. This is a mutable field when
9980
10455
  ExecutionTrigger.properties.type is 'OnSchedule'; this property should not be present when
9981
- ExecutionTrigger.properties.type is 'RunOnce'. Default value is "Days".
9982
- :paramtype interval_unit: str
10456
+ ExecutionTrigger.properties.type is 'RunOnce'. "Days"
10457
+ :paramtype interval_unit: str or ~azure.mgmt.storage.models.IntervalUnit
9983
10458
  :keyword end_by: When to end task execution. This is a mutable field when
9984
10459
  ExecutionTrigger.properties.type is 'OnSchedule'; this property should not be present when
9985
10460
  ExecutionTrigger.properties.type is 'RunOnce'.
@@ -10135,7 +10610,7 @@ class UsageListResult(_serialization.Model):
10135
10610
  "value": {"key": "value", "type": "[Usage]"},
10136
10611
  }
10137
10612
 
10138
- def __init__(self, *, value: Optional[List["_models.Usage"]] = None, **kwargs: Any) -> None:
10613
+ def __init__(self, *, value: Optional[list["_models.Usage"]] = None, **kwargs: Any) -> None:
10139
10614
  """
10140
10615
  :keyword value: Gets or sets the list of Storage Resource Usages.
10141
10616
  :paramtype value: list[~azure.mgmt.storage.models.Usage]