azure-mgmt-storage 23.0.0__py3-none-any.whl → 23.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. azure/mgmt/storage/_configuration.py +2 -2
  2. azure/mgmt/storage/_storage_management_client.py +1 -1
  3. azure/mgmt/storage/_version.py +1 -1
  4. azure/mgmt/storage/aio/_configuration.py +2 -2
  5. azure/mgmt/storage/aio/_storage_management_client.py +1 -1
  6. azure/mgmt/storage/aio/operations/_blob_containers_operations.py +2 -15
  7. azure/mgmt/storage/aio/operations/_blob_inventory_policies_operations.py +2 -2
  8. azure/mgmt/storage/aio/operations/_blob_services_operations.py +2 -2
  9. azure/mgmt/storage/aio/operations/_deleted_accounts_operations.py +2 -2
  10. azure/mgmt/storage/aio/operations/_encryption_scopes_operations.py +2 -2
  11. azure/mgmt/storage/aio/operations/_file_services_operations.py +2 -2
  12. azure/mgmt/storage/aio/operations/_file_shares_operations.py +2 -2
  13. azure/mgmt/storage/aio/operations/_local_users_operations.py +2 -2
  14. azure/mgmt/storage/aio/operations/_network_security_perimeter_configurations_operations.py +2 -2
  15. azure/mgmt/storage/aio/operations/_object_replication_policies_operations.py +2 -2
  16. azure/mgmt/storage/aio/operations/_operations.py +2 -2
  17. azure/mgmt/storage/aio/operations/_private_endpoint_connections_operations.py +2 -2
  18. azure/mgmt/storage/aio/operations/_queue_operations.py +2 -2
  19. azure/mgmt/storage/aio/operations/_skus_operations.py +2 -2
  20. azure/mgmt/storage/aio/operations/_storage_accounts_operations.py +3 -16
  21. azure/mgmt/storage/aio/operations/_storage_task_assignment_instances_report_operations.py +2 -2
  22. azure/mgmt/storage/aio/operations/_storage_task_assignments_instances_report_operations.py +2 -2
  23. azure/mgmt/storage/aio/operations/_storage_task_assignments_operations.py +17 -5
  24. azure/mgmt/storage/aio/operations/_table_operations.py +2 -2
  25. azure/mgmt/storage/aio/operations/_usages_operations.py +2 -2
  26. azure/mgmt/storage/models/__init__.py +18 -0
  27. azure/mgmt/storage/models/_models_py3.py +420 -47
  28. azure/mgmt/storage/models/_storage_management_client_enums.py +21 -1
  29. azure/mgmt/storage/operations/_blob_containers_operations.py +17 -17
  30. azure/mgmt/storage/operations/_blob_inventory_policies_operations.py +7 -7
  31. azure/mgmt/storage/operations/_blob_services_operations.py +6 -6
  32. azure/mgmt/storage/operations/_deleted_accounts_operations.py +5 -5
  33. azure/mgmt/storage/operations/_encryption_scopes_operations.py +7 -7
  34. azure/mgmt/storage/operations/_file_services_operations.py +8 -8
  35. azure/mgmt/storage/operations/_file_shares_operations.py +10 -10
  36. azure/mgmt/storage/operations/_local_users_operations.py +9 -9
  37. azure/mgmt/storage/operations/_management_policies_operations.py +4 -4
  38. azure/mgmt/storage/operations/_network_security_perimeter_configurations_operations.py +6 -6
  39. azure/mgmt/storage/operations/_object_replication_policies_operations.py +7 -7
  40. azure/mgmt/storage/operations/_operations.py +4 -4
  41. azure/mgmt/storage/operations/_private_endpoint_connections_operations.py +7 -7
  42. azure/mgmt/storage/operations/_private_link_resources_operations.py +2 -2
  43. azure/mgmt/storage/operations/_queue_operations.py +8 -8
  44. azure/mgmt/storage/operations/_queue_services_operations.py +4 -4
  45. azure/mgmt/storage/operations/_skus_operations.py +4 -4
  46. azure/mgmt/storage/operations/_storage_accounts_operations.py +22 -22
  47. azure/mgmt/storage/operations/_storage_task_assignment_instances_report_operations.py +4 -4
  48. azure/mgmt/storage/operations/_storage_task_assignments_instances_report_operations.py +4 -4
  49. azure/mgmt/storage/operations/_storage_task_assignments_operations.py +20 -11
  50. azure/mgmt/storage/operations/_table_operations.py +8 -8
  51. azure/mgmt/storage/operations/_table_services_operations.py +4 -4
  52. azure/mgmt/storage/operations/_usages_operations.py +4 -4
  53. {azure_mgmt_storage-23.0.0.dist-info → azure_mgmt_storage-23.1.0.dist-info}/METADATA +51 -3
  54. azure_mgmt_storage-23.1.0.dist-info/RECORD +73 -0
  55. {azure_mgmt_storage-23.0.0.dist-info → azure_mgmt_storage-23.1.0.dist-info}/WHEEL +1 -1
  56. azure_mgmt_storage-23.0.0.dist-info/RECORD +0 -73
  57. {azure_mgmt_storage-23.0.0.dist-info → azure_mgmt_storage-23.1.0.dist-info/licenses}/LICENSE +0 -0
  58. {azure_mgmt_storage-23.0.0.dist-info → azure_mgmt_storage-23.1.0.dist-info}/top_level.txt +0 -0
@@ -335,33 +335,48 @@ class AccountUsageElements(_serialization.Model):
335
335
  class ActiveDirectoryProperties(_serialization.Model):
336
336
  """Settings properties for Active Directory (AD).
337
337
 
338
- All required parameters must be populated in order to send to server.
339
-
340
338
  :ivar domain_name: Specifies the primary domain that the AD DNS server is authoritative for.
341
- Required.
339
+ This property is required if directoryServiceOptions is set to AD (AD DS authentication). If
340
+ directoryServiceOptions is set to AADDS (Entra DS authentication), providing this property is
341
+ optional, as it will be inferred automatically if omitted. If directoryServiceOptions is set to
342
+ AADKERB (Entra authentication), this property is optional; it is needed to support
343
+ configuration of directory- and file-level permissions via Windows File Explorer, but is not
344
+ required for authentication.
342
345
  :vartype domain_name: str
343
- :ivar net_bios_domain_name: Specifies the NetBIOS domain name.
346
+ :ivar net_bios_domain_name: Specifies the NetBIOS domain name. If directoryServiceOptions is
347
+ set to AD (AD DS authentication), this property is required. Otherwise, it can be omitted.
344
348
  :vartype net_bios_domain_name: str
345
- :ivar forest_name: Specifies the Active Directory forest to get.
349
+ :ivar forest_name: Specifies the Active Directory forest to get. If directoryServiceOptions is
350
+ set to AD (AD DS authentication), this property is required. Otherwise, it can be omitted.
346
351
  :vartype forest_name: str
347
- :ivar domain_guid: Specifies the domain GUID. Required.
352
+ :ivar domain_guid: Specifies the domain GUID. If directoryServiceOptions is set to AD (AD DS
353
+ authentication), this property is required. If directoryServiceOptions is set to AADDS (Entra
354
+ DS authentication), this property can be omitted. If directoryServiceOptions is set to AADKERB
355
+ (Entra authentication), this property is optional; it is needed to support configuration of
356
+ directory- and file-level permissions via Windows File Explorer, but is not required for
357
+ authentication.
348
358
  :vartype domain_guid: str
349
- :ivar domain_sid: Specifies the security identifier (SID).
359
+ :ivar domain_sid: Specifies the security identifier (SID) of the AD domain. If
360
+ directoryServiceOptions is set to AD (AD DS authentication), this property is required.
361
+ Otherwise, it can be omitted.
350
362
  :vartype domain_sid: str
351
- :ivar azure_storage_sid: Specifies the security identifier (SID) for Azure Storage.
363
+ :ivar azure_storage_sid: Specifies the security identifier (SID) for Azure Storage. If
364
+ directoryServiceOptions is set to AD (AD DS authentication), this property is required.
365
+ Otherwise, it can be omitted.
352
366
  :vartype azure_storage_sid: str
353
- :ivar sam_account_name: Specifies the Active Directory SAMAccountName for Azure Storage.
367
+ :ivar sam_account_name: Specifies the Active Directory SAMAccountName for Azure Storage. If
368
+ directoryServiceOptions is set to AD (AD DS authentication), this property is optional. If
369
+ provided, accountType should also be provided. For directoryServiceOptions AADDS (Entra DS
370
+ authentication) or AADKERB (Entra authentication), this property can be omitted.
354
371
  :vartype sam_account_name: str
355
- :ivar account_type: Specifies the Active Directory account type for Azure Storage. Known values
372
+ :ivar account_type: Specifies the Active Directory account type for Azure Storage. If
373
+ directoryServiceOptions is set to AD (AD DS authentication), this property is optional. If
374
+ provided, samAccountName should also be provided. For directoryServiceOptions AADDS (Entra DS
375
+ authentication) or AADKERB (Entra authentication), this property can be omitted. Known values
356
376
  are: "User" and "Computer".
357
377
  :vartype account_type: str or ~azure.mgmt.storage.models.AccountType
358
378
  """
359
379
 
360
- _validation = {
361
- "domain_name": {"required": True},
362
- "domain_guid": {"required": True},
363
- }
364
-
365
380
  _attribute_map = {
366
381
  "domain_name": {"key": "domainName", "type": "str"},
367
382
  "net_bios_domain_name": {"key": "netBiosDomainName", "type": "str"},
@@ -376,10 +391,10 @@ class ActiveDirectoryProperties(_serialization.Model):
376
391
  def __init__(
377
392
  self,
378
393
  *,
379
- domain_name: str,
380
- domain_guid: str,
394
+ domain_name: Optional[str] = None,
381
395
  net_bios_domain_name: Optional[str] = None,
382
396
  forest_name: Optional[str] = None,
397
+ domain_guid: Optional[str] = None,
383
398
  domain_sid: Optional[str] = None,
384
399
  azure_storage_sid: Optional[str] = None,
385
400
  sam_account_name: Optional[str] = None,
@@ -388,22 +403,44 @@ class ActiveDirectoryProperties(_serialization.Model):
388
403
  ) -> None:
389
404
  """
390
405
  :keyword domain_name: Specifies the primary domain that the AD DNS server is authoritative for.
391
- Required.
406
+ This property is required if directoryServiceOptions is set to AD (AD DS authentication). If
407
+ directoryServiceOptions is set to AADDS (Entra DS authentication), providing this property is
408
+ optional, as it will be inferred automatically if omitted. If directoryServiceOptions is set to
409
+ AADKERB (Entra authentication), this property is optional; it is needed to support
410
+ configuration of directory- and file-level permissions via Windows File Explorer, but is not
411
+ required for authentication.
392
412
  :paramtype domain_name: str
393
- :keyword net_bios_domain_name: Specifies the NetBIOS domain name.
413
+ :keyword net_bios_domain_name: Specifies the NetBIOS domain name. If directoryServiceOptions is
414
+ set to AD (AD DS authentication), this property is required. Otherwise, it can be omitted.
394
415
  :paramtype net_bios_domain_name: str
395
- :keyword forest_name: Specifies the Active Directory forest to get.
416
+ :keyword forest_name: Specifies the Active Directory forest to get. If directoryServiceOptions
417
+ is set to AD (AD DS authentication), this property is required. Otherwise, it can be omitted.
396
418
  :paramtype forest_name: str
397
- :keyword domain_guid: Specifies the domain GUID. Required.
419
+ :keyword domain_guid: Specifies the domain GUID. If directoryServiceOptions is set to AD (AD DS
420
+ authentication), this property is required. If directoryServiceOptions is set to AADDS (Entra
421
+ DS authentication), this property can be omitted. If directoryServiceOptions is set to AADKERB
422
+ (Entra authentication), this property is optional; it is needed to support configuration of
423
+ directory- and file-level permissions via Windows File Explorer, but is not required for
424
+ authentication.
398
425
  :paramtype domain_guid: str
399
- :keyword domain_sid: Specifies the security identifier (SID).
426
+ :keyword domain_sid: Specifies the security identifier (SID) of the AD domain. If
427
+ directoryServiceOptions is set to AD (AD DS authentication), this property is required.
428
+ Otherwise, it can be omitted.
400
429
  :paramtype domain_sid: str
401
- :keyword azure_storage_sid: Specifies the security identifier (SID) for Azure Storage.
430
+ :keyword azure_storage_sid: Specifies the security identifier (SID) for Azure Storage. If
431
+ directoryServiceOptions is set to AD (AD DS authentication), this property is required.
432
+ Otherwise, it can be omitted.
402
433
  :paramtype azure_storage_sid: str
403
- :keyword sam_account_name: Specifies the Active Directory SAMAccountName for Azure Storage.
434
+ :keyword sam_account_name: Specifies the Active Directory SAMAccountName for Azure Storage. If
435
+ directoryServiceOptions is set to AD (AD DS authentication), this property is optional. If
436
+ provided, accountType should also be provided. For directoryServiceOptions AADDS (Entra DS
437
+ authentication) or AADKERB (Entra authentication), this property can be omitted.
404
438
  :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".
439
+ :keyword account_type: Specifies the Active Directory account type for Azure Storage. If
440
+ directoryServiceOptions is set to AD (AD DS authentication), this property is optional. If
441
+ provided, samAccountName should also be provided. For directoryServiceOptions AADDS (Entra DS
442
+ authentication) or AADKERB (Entra authentication), this property can be omitted. Known values
443
+ are: "User" and "Computer".
407
444
  :paramtype account_type: str or ~azure.mgmt.storage.models.AccountType
408
445
  """
409
446
  super().__init__(**kwargs)
@@ -497,14 +534,17 @@ class AzureFilesIdentityBasedAuthentication(_serialization.Model):
497
534
  :ivar directory_service_options: Indicates the directory service used. Note that this enum may
498
535
  be extended in the future. Required. Known values are: "None", "AADDS", "AD", and "AADKERB".
499
536
  :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.
537
+ :ivar active_directory_properties: Additional information about the directory service. Required
538
+ if directoryServiceOptions is AD (AD DS authentication). Optional for directoryServiceOptions
539
+ AADDS (Entra DS authentication) and AADKERB (Entra authentication).
502
540
  :vartype active_directory_properties: ~azure.mgmt.storage.models.ActiveDirectoryProperties
503
541
  :ivar default_share_permission: Default share permission for users using Kerberos
504
542
  authentication if RBAC role is not assigned. Known values are: "None",
505
543
  "StorageFileDataSmbShareReader", "StorageFileDataSmbShareContributor", and
506
544
  "StorageFileDataSmbShareElevatedContributor".
507
545
  :vartype default_share_permission: str or ~azure.mgmt.storage.models.DefaultSharePermission
546
+ :ivar smb_o_auth_settings: Required for Managed Identities access using OAuth over SMB.
547
+ :vartype smb_o_auth_settings: ~azure.mgmt.storage.models.SmbOAuthSettings
508
548
  """
509
549
 
510
550
  _validation = {
@@ -515,6 +555,7 @@ class AzureFilesIdentityBasedAuthentication(_serialization.Model):
515
555
  "directory_service_options": {"key": "directoryServiceOptions", "type": "str"},
516
556
  "active_directory_properties": {"key": "activeDirectoryProperties", "type": "ActiveDirectoryProperties"},
517
557
  "default_share_permission": {"key": "defaultSharePermission", "type": "str"},
558
+ "smb_o_auth_settings": {"key": "smbOAuthSettings", "type": "SmbOAuthSettings"},
518
559
  }
519
560
 
520
561
  def __init__(
@@ -523,6 +564,7 @@ class AzureFilesIdentityBasedAuthentication(_serialization.Model):
523
564
  directory_service_options: Union[str, "_models.DirectoryServiceOptions"],
524
565
  active_directory_properties: Optional["_models.ActiveDirectoryProperties"] = None,
525
566
  default_share_permission: Optional[Union[str, "_models.DefaultSharePermission"]] = None,
567
+ smb_o_auth_settings: Optional["_models.SmbOAuthSettings"] = None,
526
568
  **kwargs: Any
527
569
  ) -> None:
528
570
  """
@@ -530,19 +572,23 @@ class AzureFilesIdentityBasedAuthentication(_serialization.Model):
530
572
  may be extended in the future. Required. Known values are: "None", "AADDS", "AD", and
531
573
  "AADKERB".
532
574
  :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.
575
+ :keyword active_directory_properties: Additional information about the directory service.
576
+ Required if directoryServiceOptions is AD (AD DS authentication). Optional for
577
+ directoryServiceOptions AADDS (Entra DS authentication) and AADKERB (Entra authentication).
535
578
  :paramtype active_directory_properties: ~azure.mgmt.storage.models.ActiveDirectoryProperties
536
579
  :keyword default_share_permission: Default share permission for users using Kerberos
537
580
  authentication if RBAC role is not assigned. Known values are: "None",
538
581
  "StorageFileDataSmbShareReader", "StorageFileDataSmbShareContributor", and
539
582
  "StorageFileDataSmbShareElevatedContributor".
540
583
  :paramtype default_share_permission: str or ~azure.mgmt.storage.models.DefaultSharePermission
584
+ :keyword smb_o_auth_settings: Required for Managed Identities access using OAuth over SMB.
585
+ :paramtype smb_o_auth_settings: ~azure.mgmt.storage.models.SmbOAuthSettings
541
586
  """
542
587
  super().__init__(**kwargs)
543
588
  self.directory_service_options = directory_service_options
544
589
  self.active_directory_properties = active_directory_properties
545
590
  self.default_share_permission = default_share_permission
591
+ self.smb_o_auth_settings = smb_o_auth_settings
546
592
 
547
593
 
548
594
  class BlobContainer(AzureEntityResource):
@@ -1996,6 +2042,28 @@ class Dimension(_serialization.Model):
1996
2042
  self.display_name = display_name
1997
2043
 
1998
2044
 
2045
+ class DualStackEndpointPreference(_serialization.Model):
2046
+ """Dual-stack endpoint preference defines whether IPv6 endpoints are going to be published.
2047
+
2048
+ :ivar publish_ipv6_endpoint: A boolean flag which indicates whether IPv6 storage endpoints are
2049
+ to be published.
2050
+ :vartype publish_ipv6_endpoint: bool
2051
+ """
2052
+
2053
+ _attribute_map = {
2054
+ "publish_ipv6_endpoint": {"key": "publishIpv6Endpoint", "type": "bool"},
2055
+ }
2056
+
2057
+ def __init__(self, *, publish_ipv6_endpoint: Optional[bool] = None, **kwargs: Any) -> None:
2058
+ """
2059
+ :keyword publish_ipv6_endpoint: A boolean flag which indicates whether IPv6 storage endpoints
2060
+ are to be published.
2061
+ :paramtype publish_ipv6_endpoint: bool
2062
+ """
2063
+ super().__init__(**kwargs)
2064
+ self.publish_ipv6_endpoint = publish_ipv6_endpoint
2065
+
2066
+
1999
2067
  class Encryption(_serialization.Model):
2000
2068
  """The encryption settings on the storage account.
2001
2069
 
@@ -2093,6 +2161,26 @@ class EncryptionIdentity(_serialization.Model):
2093
2161
  self.encryption_federated_identity_client_id = encryption_federated_identity_client_id
2094
2162
 
2095
2163
 
2164
+ class EncryptionInTransit(_serialization.Model):
2165
+ """Encryption in transit setting.
2166
+
2167
+ :ivar required: Indicates whether encryption in transit is required.
2168
+ :vartype required: bool
2169
+ """
2170
+
2171
+ _attribute_map = {
2172
+ "required": {"key": "required", "type": "bool"},
2173
+ }
2174
+
2175
+ def __init__(self, *, required: Optional[bool] = None, **kwargs: Any) -> None:
2176
+ """
2177
+ :keyword required: Indicates whether encryption in transit is required.
2178
+ :paramtype required: bool
2179
+ """
2180
+ super().__init__(**kwargs)
2181
+ self.required = required
2182
+
2183
+
2096
2184
  class EncryptionScope(Resource):
2097
2185
  """The Encryption Scope resource.
2098
2186
 
@@ -2363,6 +2451,8 @@ class Endpoints(_serialization.Model):
2363
2451
  :vartype microsoft_endpoints: ~azure.mgmt.storage.models.StorageAccountMicrosoftEndpoints
2364
2452
  :ivar internet_endpoints: Gets the internet routing storage endpoints.
2365
2453
  :vartype internet_endpoints: ~azure.mgmt.storage.models.StorageAccountInternetEndpoints
2454
+ :ivar ipv6_endpoints: Gets the IPv6 storage endpoints.
2455
+ :vartype ipv6_endpoints: ~azure.mgmt.storage.models.StorageAccountIpv6Endpoints
2366
2456
  """
2367
2457
 
2368
2458
  _validation = {
@@ -2383,6 +2473,7 @@ class Endpoints(_serialization.Model):
2383
2473
  "dfs": {"key": "dfs", "type": "str"},
2384
2474
  "microsoft_endpoints": {"key": "microsoftEndpoints", "type": "StorageAccountMicrosoftEndpoints"},
2385
2475
  "internet_endpoints": {"key": "internetEndpoints", "type": "StorageAccountInternetEndpoints"},
2476
+ "ipv6_endpoints": {"key": "ipv6Endpoints", "type": "StorageAccountIpv6Endpoints"},
2386
2477
  }
2387
2478
 
2388
2479
  def __init__(
@@ -2390,6 +2481,7 @@ class Endpoints(_serialization.Model):
2390
2481
  *,
2391
2482
  microsoft_endpoints: Optional["_models.StorageAccountMicrosoftEndpoints"] = None,
2392
2483
  internet_endpoints: Optional["_models.StorageAccountInternetEndpoints"] = None,
2484
+ ipv6_endpoints: Optional["_models.StorageAccountIpv6Endpoints"] = None,
2393
2485
  **kwargs: Any
2394
2486
  ) -> None:
2395
2487
  """
@@ -2397,6 +2489,8 @@ class Endpoints(_serialization.Model):
2397
2489
  :paramtype microsoft_endpoints: ~azure.mgmt.storage.models.StorageAccountMicrosoftEndpoints
2398
2490
  :keyword internet_endpoints: Gets the internet routing storage endpoints.
2399
2491
  :paramtype internet_endpoints: ~azure.mgmt.storage.models.StorageAccountInternetEndpoints
2492
+ :keyword ipv6_endpoints: Gets the IPv6 storage endpoints.
2493
+ :paramtype ipv6_endpoints: ~azure.mgmt.storage.models.StorageAccountIpv6Endpoints
2400
2494
  """
2401
2495
  super().__init__(**kwargs)
2402
2496
  self.blob: Optional[str] = None
@@ -2407,6 +2501,7 @@ class Endpoints(_serialization.Model):
2407
2501
  self.dfs: Optional[str] = None
2408
2502
  self.microsoft_endpoints = microsoft_endpoints
2409
2503
  self.internet_endpoints = internet_endpoints
2504
+ self.ipv6_endpoints = ipv6_endpoints
2410
2505
 
2411
2506
 
2412
2507
  class ErrorAdditionalInfo(_serialization.Model):
@@ -3924,8 +4019,7 @@ class IPRule(_serialization.Model):
3924
4019
 
3925
4020
  All required parameters must be populated in order to send to server.
3926
4021
 
3927
- :ivar ip_address_or_range: Specifies the IP or IP range in CIDR format. Only IPV4 address is
3928
- allowed. Required.
4022
+ :ivar ip_address_or_range: Specifies the IP or IP range in CIDR format. Required.
3929
4023
  :vartype ip_address_or_range: str
3930
4024
  :ivar action: The action of IP ACL rule. Default value is "Allow".
3931
4025
  :vartype action: str
@@ -3942,8 +4036,7 @@ class IPRule(_serialization.Model):
3942
4036
 
3943
4037
  def __init__(self, *, ip_address_or_range: str, action: Optional[Literal["Allow"]] = None, **kwargs: Any) -> None:
3944
4038
  """
3945
- :keyword ip_address_or_range: Specifies the IP or IP range in CIDR format. Only IPV4 address is
3946
- allowed. Required.
4039
+ :keyword ip_address_or_range: Specifies the IP or IP range in CIDR format. Required.
3947
4040
  :paramtype ip_address_or_range: str
3948
4041
  :keyword action: The action of IP ACL rule. Default value is "Allow".
3949
4042
  :paramtype action: str
@@ -5608,6 +5701,8 @@ class NetworkRuleSet(_serialization.Model):
5608
5701
  :vartype virtual_network_rules: list[~azure.mgmt.storage.models.VirtualNetworkRule]
5609
5702
  :ivar ip_rules: Sets the IP ACL rules.
5610
5703
  :vartype ip_rules: list[~azure.mgmt.storage.models.IPRule]
5704
+ :ivar ipv6_rules: Sets the IPv6 ACL rules.
5705
+ :vartype ipv6_rules: list[~azure.mgmt.storage.models.IPRule]
5611
5706
  :ivar default_action: Specifies the default action of allow or deny when no other rules match.
5612
5707
  Known values are: "Allow" and "Deny".
5613
5708
  :vartype default_action: str or ~azure.mgmt.storage.models.DefaultAction
@@ -5622,6 +5717,7 @@ class NetworkRuleSet(_serialization.Model):
5622
5717
  "resource_access_rules": {"key": "resourceAccessRules", "type": "[ResourceAccessRule]"},
5623
5718
  "virtual_network_rules": {"key": "virtualNetworkRules", "type": "[VirtualNetworkRule]"},
5624
5719
  "ip_rules": {"key": "ipRules", "type": "[IPRule]"},
5720
+ "ipv6_rules": {"key": "ipv6Rules", "type": "[IPRule]"},
5625
5721
  "default_action": {"key": "defaultAction", "type": "str"},
5626
5722
  }
5627
5723
 
@@ -5633,6 +5729,7 @@ class NetworkRuleSet(_serialization.Model):
5633
5729
  resource_access_rules: Optional[List["_models.ResourceAccessRule"]] = None,
5634
5730
  virtual_network_rules: Optional[List["_models.VirtualNetworkRule"]] = None,
5635
5731
  ip_rules: Optional[List["_models.IPRule"]] = None,
5732
+ ipv6_rules: Optional[List["_models.IPRule"]] = None,
5636
5733
  **kwargs: Any
5637
5734
  ) -> None:
5638
5735
  """
@@ -5647,6 +5744,8 @@ class NetworkRuleSet(_serialization.Model):
5647
5744
  :paramtype virtual_network_rules: list[~azure.mgmt.storage.models.VirtualNetworkRule]
5648
5745
  :keyword ip_rules: Sets the IP ACL rules.
5649
5746
  :paramtype ip_rules: list[~azure.mgmt.storage.models.IPRule]
5747
+ :keyword ipv6_rules: Sets the IPv6 ACL rules.
5748
+ :paramtype ipv6_rules: list[~azure.mgmt.storage.models.IPRule]
5650
5749
  :keyword default_action: Specifies the default action of allow or deny when no other rules
5651
5750
  match. Known values are: "Allow" and "Deny".
5652
5751
  :paramtype default_action: str or ~azure.mgmt.storage.models.DefaultAction
@@ -5656,6 +5755,7 @@ class NetworkRuleSet(_serialization.Model):
5656
5755
  self.resource_access_rules = resource_access_rules
5657
5756
  self.virtual_network_rules = virtual_network_rules
5658
5757
  self.ip_rules = ip_rules
5758
+ self.ipv6_rules = ipv6_rules
5659
5759
  self.default_action = default_action
5660
5760
 
5661
5761
 
@@ -5954,6 +6054,26 @@ class NetworkSecurityPerimeterConfigurationPropertiesResourceAssociation(
5954
6054
  self.access_mode = access_mode
5955
6055
 
5956
6056
 
6057
+ class NfsSetting(_serialization.Model):
6058
+ """Setting for NFS protocol.
6059
+
6060
+ :ivar encryption_in_transit: Encryption in transit setting.
6061
+ :vartype encryption_in_transit: ~azure.mgmt.storage.models.EncryptionInTransit
6062
+ """
6063
+
6064
+ _attribute_map = {
6065
+ "encryption_in_transit": {"key": "encryptionInTransit", "type": "EncryptionInTransit"},
6066
+ }
6067
+
6068
+ def __init__(self, *, encryption_in_transit: Optional["_models.EncryptionInTransit"] = None, **kwargs: Any) -> None:
6069
+ """
6070
+ :keyword encryption_in_transit: Encryption in transit setting.
6071
+ :paramtype encryption_in_transit: ~azure.mgmt.storage.models.EncryptionInTransit
6072
+ """
6073
+ super().__init__(**kwargs)
6074
+ self.encryption_in_transit = encryption_in_transit
6075
+
6076
+
5957
6077
  class NspAccessRule(_serialization.Model):
5958
6078
  """Information of Access Rule in Network Security Perimeter profile.
5959
6079
 
@@ -6429,6 +6549,30 @@ class PermissionScope(_serialization.Model):
6429
6549
  self.resource_name = resource_name
6430
6550
 
6431
6551
 
6552
+ class Placement(_serialization.Model):
6553
+ """The complex type of the zonal placement details.
6554
+
6555
+ :ivar zone_placement_policy: The availability zone pinning policy for the storage account.
6556
+ Known values are: "Any" and "None".
6557
+ :vartype zone_placement_policy: str or ~azure.mgmt.storage.models.ZonePlacementPolicy
6558
+ """
6559
+
6560
+ _attribute_map = {
6561
+ "zone_placement_policy": {"key": "zonePlacementPolicy", "type": "str"},
6562
+ }
6563
+
6564
+ def __init__(
6565
+ self, *, zone_placement_policy: Optional[Union[str, "_models.ZonePlacementPolicy"]] = None, **kwargs: Any
6566
+ ) -> None:
6567
+ """
6568
+ :keyword zone_placement_policy: The availability zone pinning policy for the storage account.
6569
+ Known values are: "Any" and "None".
6570
+ :paramtype zone_placement_policy: str or ~azure.mgmt.storage.models.ZonePlacementPolicy
6571
+ """
6572
+ super().__init__(**kwargs)
6573
+ self.zone_placement_policy = zone_placement_policy
6574
+
6575
+
6432
6576
  class PrivateEndpoint(_serialization.Model):
6433
6577
  """The Private Endpoint resource.
6434
6578
 
@@ -6689,19 +6833,27 @@ class ProtocolSettings(_serialization.Model):
6689
6833
 
6690
6834
  :ivar smb: Setting for SMB protocol.
6691
6835
  :vartype smb: ~azure.mgmt.storage.models.SmbSetting
6836
+ :ivar nfs: Setting for NFS protocol.
6837
+ :vartype nfs: ~azure.mgmt.storage.models.NfsSetting
6692
6838
  """
6693
6839
 
6694
6840
  _attribute_map = {
6695
6841
  "smb": {"key": "smb", "type": "SmbSetting"},
6842
+ "nfs": {"key": "nfs", "type": "NfsSetting"},
6696
6843
  }
6697
6844
 
6698
- def __init__(self, *, smb: Optional["_models.SmbSetting"] = None, **kwargs: Any) -> None:
6845
+ def __init__(
6846
+ self, *, smb: Optional["_models.SmbSetting"] = None, nfs: Optional["_models.NfsSetting"] = None, **kwargs: Any
6847
+ ) -> None:
6699
6848
  """
6700
6849
  :keyword smb: Setting for SMB protocol.
6701
6850
  :paramtype smb: ~azure.mgmt.storage.models.SmbSetting
6851
+ :keyword nfs: Setting for NFS protocol.
6852
+ :paramtype nfs: ~azure.mgmt.storage.models.NfsSetting
6702
6853
  """
6703
6854
  super().__init__(**kwargs)
6704
6855
  self.smb = smb
6856
+ self.nfs = nfs
6705
6857
 
6706
6858
 
6707
6859
  class ProvisioningIssue(_serialization.Model):
@@ -7339,6 +7491,8 @@ class SkuInformation(_serialization.Model):
7339
7491
  :ivar locations: The set of locations that the SKU is available. This will be supported and
7340
7492
  registered Azure Geo Regions (e.g. West US, East US, Southeast Asia, etc.).
7341
7493
  :vartype locations: list[str]
7494
+ :ivar location_info:
7495
+ :vartype location_info: list[~azure.mgmt.storage.models.SkuInformationLocationInfoItem]
7342
7496
  :ivar capabilities: The capability information in the specified SKU, including file encryption,
7343
7497
  network ACLs, change notification, etc.
7344
7498
  :vartype capabilities: list[~azure.mgmt.storage.models.SKUCapability]
@@ -7362,6 +7516,7 @@ class SkuInformation(_serialization.Model):
7362
7516
  "resource_type": {"key": "resourceType", "type": "str"},
7363
7517
  "kind": {"key": "kind", "type": "str"},
7364
7518
  "locations": {"key": "locations", "type": "[str]"},
7519
+ "location_info": {"key": "locationInfo", "type": "[SkuInformationLocationInfoItem]"},
7365
7520
  "capabilities": {"key": "capabilities", "type": "[SKUCapability]"},
7366
7521
  "restrictions": {"key": "restrictions", "type": "[Restriction]"},
7367
7522
  }
@@ -7370,6 +7525,7 @@ class SkuInformation(_serialization.Model):
7370
7525
  self,
7371
7526
  *,
7372
7527
  name: Union[str, "_models.SkuName"],
7528
+ location_info: Optional[List["_models.SkuInformationLocationInfoItem"]] = None,
7373
7529
  restrictions: Optional[List["_models.Restriction"]] = None,
7374
7530
  **kwargs: Any
7375
7531
  ) -> None:
@@ -7380,6 +7536,8 @@ class SkuInformation(_serialization.Model):
7380
7536
  "Standard_GZRS", "Standard_RAGZRS", "StandardV2_LRS", "StandardV2_GRS", "StandardV2_ZRS",
7381
7537
  "StandardV2_GZRS", "PremiumV2_LRS", and "PremiumV2_ZRS".
7382
7538
  :paramtype name: str or ~azure.mgmt.storage.models.SkuName
7539
+ :keyword location_info:
7540
+ :paramtype location_info: list[~azure.mgmt.storage.models.SkuInformationLocationInfoItem]
7383
7541
  :keyword restrictions: The restrictions because of which SKU cannot be used. This is empty if
7384
7542
  there are no restrictions.
7385
7543
  :paramtype restrictions: list[~azure.mgmt.storage.models.Restriction]
@@ -7390,10 +7548,63 @@ class SkuInformation(_serialization.Model):
7390
7548
  self.resource_type: Optional[str] = None
7391
7549
  self.kind: Optional[Union[str, "_models.Kind"]] = None
7392
7550
  self.locations: Optional[List[str]] = None
7551
+ self.location_info = location_info
7393
7552
  self.capabilities: Optional[List["_models.SKUCapability"]] = None
7394
7553
  self.restrictions = restrictions
7395
7554
 
7396
7555
 
7556
+ class SkuInformationLocationInfoItem(_serialization.Model):
7557
+ """SkuInformationLocationInfoItem.
7558
+
7559
+ Variables are only populated by the server, and will be ignored when sending a request.
7560
+
7561
+ :ivar location: Describes the location for the product where storage account resource can be
7562
+ created.
7563
+ :vartype location: str
7564
+ :ivar zones: Describes the available zones for the product where storage account resource can
7565
+ be created.
7566
+ :vartype zones: list[str]
7567
+ """
7568
+
7569
+ _validation = {
7570
+ "location": {"readonly": True},
7571
+ "zones": {"readonly": True},
7572
+ }
7573
+
7574
+ _attribute_map = {
7575
+ "location": {"key": "location", "type": "str"},
7576
+ "zones": {"key": "zones", "type": "[str]"},
7577
+ }
7578
+
7579
+ def __init__(self, **kwargs: Any) -> None:
7580
+ """ """
7581
+ super().__init__(**kwargs)
7582
+ self.location: Optional[str] = None
7583
+ self.zones: Optional[List[str]] = None
7584
+
7585
+
7586
+ class SmbOAuthSettings(_serialization.Model):
7587
+ """Setting property for Managed Identity access over SMB using OAuth.
7588
+
7589
+ :ivar is_smb_o_auth_enabled: Specifies if managed identities can access SMB shares using OAuth.
7590
+ The default interpretation is false for this property.
7591
+ :vartype is_smb_o_auth_enabled: bool
7592
+ """
7593
+
7594
+ _attribute_map = {
7595
+ "is_smb_o_auth_enabled": {"key": "isSmbOAuthEnabled", "type": "bool"},
7596
+ }
7597
+
7598
+ def __init__(self, *, is_smb_o_auth_enabled: Optional[bool] = None, **kwargs: Any) -> None:
7599
+ """
7600
+ :keyword is_smb_o_auth_enabled: Specifies if managed identities can access SMB shares using
7601
+ OAuth. The default interpretation is false for this property.
7602
+ :paramtype is_smb_o_auth_enabled: bool
7603
+ """
7604
+ super().__init__(**kwargs)
7605
+ self.is_smb_o_auth_enabled = is_smb_o_auth_enabled
7606
+
7607
+
7397
7608
  class SmbSetting(_serialization.Model):
7398
7609
  """Setting for SMB protocol.
7399
7610
 
@@ -7411,6 +7622,8 @@ class SmbSetting(_serialization.Model):
7411
7622
  :ivar channel_encryption: SMB channel encryption supported by server. Valid values are
7412
7623
  AES-128-CCM, AES-128-GCM, AES-256-GCM. Should be passed as a string with delimiter ';'.
7413
7624
  :vartype channel_encryption: str
7625
+ :ivar encryption_in_transit: Encryption in transit setting.
7626
+ :vartype encryption_in_transit: ~azure.mgmt.storage.models.EncryptionInTransit
7414
7627
  """
7415
7628
 
7416
7629
  _attribute_map = {
@@ -7419,6 +7632,7 @@ class SmbSetting(_serialization.Model):
7419
7632
  "authentication_methods": {"key": "authenticationMethods", "type": "str"},
7420
7633
  "kerberos_ticket_encryption": {"key": "kerberosTicketEncryption", "type": "str"},
7421
7634
  "channel_encryption": {"key": "channelEncryption", "type": "str"},
7635
+ "encryption_in_transit": {"key": "encryptionInTransit", "type": "EncryptionInTransit"},
7422
7636
  }
7423
7637
 
7424
7638
  def __init__(
@@ -7429,6 +7643,7 @@ class SmbSetting(_serialization.Model):
7429
7643
  authentication_methods: Optional[str] = None,
7430
7644
  kerberos_ticket_encryption: Optional[str] = None,
7431
7645
  channel_encryption: Optional[str] = None,
7646
+ encryption_in_transit: Optional["_models.EncryptionInTransit"] = None,
7432
7647
  **kwargs: Any
7433
7648
  ) -> None:
7434
7649
  """
@@ -7446,6 +7661,8 @@ class SmbSetting(_serialization.Model):
7446
7661
  :keyword channel_encryption: SMB channel encryption supported by server. Valid values are
7447
7662
  AES-128-CCM, AES-128-GCM, AES-256-GCM. Should be passed as a string with delimiter ';'.
7448
7663
  :paramtype channel_encryption: str
7664
+ :keyword encryption_in_transit: Encryption in transit setting.
7665
+ :paramtype encryption_in_transit: ~azure.mgmt.storage.models.EncryptionInTransit
7449
7666
  """
7450
7667
  super().__init__(**kwargs)
7451
7668
  self.multichannel = multichannel
@@ -7453,6 +7670,7 @@ class SmbSetting(_serialization.Model):
7453
7670
  self.authentication_methods = authentication_methods
7454
7671
  self.kerberos_ticket_encryption = kerberos_ticket_encryption
7455
7672
  self.channel_encryption = channel_encryption
7673
+ self.encryption_in_transit = encryption_in_transit
7456
7674
 
7457
7675
 
7458
7676
  class SshPublicKey(_serialization.Model):
@@ -7560,6 +7778,11 @@ class StorageAccount(TrackedResource):
7560
7778
  :vartype identity: ~azure.mgmt.storage.models.Identity
7561
7779
  :ivar extended_location: The extendedLocation of the resource.
7562
7780
  :vartype extended_location: ~azure.mgmt.storage.models.ExtendedLocation
7781
+ :ivar zones: Optional. Gets or sets the pinned logical availability zone for the storage
7782
+ account.
7783
+ :vartype zones: list[str]
7784
+ :ivar placement: Optional. Gets or sets the zonal placement details for the storage account.
7785
+ :vartype placement: ~azure.mgmt.storage.models.Placement
7563
7786
  :ivar provisioning_state: Gets the status of the storage account at the time the operation was
7564
7787
  called. Known values are: "Creating", "ResolvingDNS", "Succeeded",
7565
7788
  "ValidateSubscriptionQuotaBegin", "ValidateSubscriptionQuotaEnd", "Accepted", "Deleting",
@@ -7640,6 +7863,9 @@ class StorageAccount(TrackedResource):
7640
7863
  :ivar routing_preference: Maintains information about the network routing choice opted by the
7641
7864
  user for data transfer.
7642
7865
  :vartype routing_preference: ~azure.mgmt.storage.models.RoutingPreference
7866
+ :ivar dual_stack_endpoint_preference: Maintains information about the Internet protocol opted
7867
+ by the user.
7868
+ :vartype dual_stack_endpoint_preference: ~azure.mgmt.storage.models.DualStackEndpointPreference
7643
7869
  :ivar blob_restore_status: Blob restore status.
7644
7870
  :vartype blob_restore_status: ~azure.mgmt.storage.models.BlobRestoreStatus
7645
7871
  :ivar allow_blob_public_access: Allow or disallow public access to all blobs or containers in
@@ -7733,6 +7959,8 @@ class StorageAccount(TrackedResource):
7733
7959
  "kind": {"key": "kind", "type": "str"},
7734
7960
  "identity": {"key": "identity", "type": "Identity"},
7735
7961
  "extended_location": {"key": "extendedLocation", "type": "ExtendedLocation"},
7962
+ "zones": {"key": "zones", "type": "[str]"},
7963
+ "placement": {"key": "placement", "type": "Placement"},
7736
7964
  "provisioning_state": {"key": "properties.provisioningState", "type": "str"},
7737
7965
  "primary_endpoints": {"key": "properties.primaryEndpoints", "type": "Endpoints"},
7738
7966
  "primary_location": {"key": "properties.primaryLocation", "type": "str"},
@@ -7766,6 +7994,10 @@ class StorageAccount(TrackedResource):
7766
7994
  "type": "[PrivateEndpointConnection]",
7767
7995
  },
7768
7996
  "routing_preference": {"key": "properties.routingPreference", "type": "RoutingPreference"},
7997
+ "dual_stack_endpoint_preference": {
7998
+ "key": "properties.dualStackEndpointPreference",
7999
+ "type": "DualStackEndpointPreference",
8000
+ },
7769
8001
  "blob_restore_status": {"key": "properties.blobRestoreStatus", "type": "BlobRestoreStatus"},
7770
8002
  "allow_blob_public_access": {"key": "properties.allowBlobPublicAccess", "type": "bool"},
7771
8003
  "minimum_tls_version": {"key": "properties.minimumTlsVersion", "type": "str"},
@@ -7795,6 +8027,8 @@ class StorageAccount(TrackedResource):
7795
8027
  tags: Optional[Dict[str, str]] = None,
7796
8028
  identity: Optional["_models.Identity"] = None,
7797
8029
  extended_location: Optional["_models.ExtendedLocation"] = None,
8030
+ zones: Optional[List[str]] = None,
8031
+ placement: Optional["_models.Placement"] = None,
7798
8032
  azure_files_identity_based_authentication: Optional["_models.AzureFilesIdentityBasedAuthentication"] = None,
7799
8033
  enable_https_traffic_only: Optional[bool] = None,
7800
8034
  is_sftp_enabled: Optional[bool] = None,
@@ -7803,6 +8037,7 @@ class StorageAccount(TrackedResource):
7803
8037
  is_hns_enabled: Optional[bool] = None,
7804
8038
  large_file_shares_state: Optional[Union[str, "_models.LargeFileSharesState"]] = None,
7805
8039
  routing_preference: Optional["_models.RoutingPreference"] = None,
8040
+ dual_stack_endpoint_preference: Optional["_models.DualStackEndpointPreference"] = None,
7806
8041
  allow_blob_public_access: Optional[bool] = None,
7807
8042
  minimum_tls_version: Optional[Union[str, "_models.MinimumTlsVersion"]] = None,
7808
8043
  allow_shared_key_access: Optional[bool] = None,
@@ -7825,6 +8060,11 @@ class StorageAccount(TrackedResource):
7825
8060
  :paramtype identity: ~azure.mgmt.storage.models.Identity
7826
8061
  :keyword extended_location: The extendedLocation of the resource.
7827
8062
  :paramtype extended_location: ~azure.mgmt.storage.models.ExtendedLocation
8063
+ :keyword zones: Optional. Gets or sets the pinned logical availability zone for the storage
8064
+ account.
8065
+ :paramtype zones: list[str]
8066
+ :keyword placement: Optional. Gets or sets the zonal placement details for the storage account.
8067
+ :paramtype placement: ~azure.mgmt.storage.models.Placement
7828
8068
  :keyword azure_files_identity_based_authentication: Provides the identity based authentication
7829
8069
  settings for Azure Files.
7830
8070
  :paramtype azure_files_identity_based_authentication:
@@ -7847,6 +8087,10 @@ class StorageAccount(TrackedResource):
7847
8087
  :keyword routing_preference: Maintains information about the network routing choice opted by
7848
8088
  the user for data transfer.
7849
8089
  :paramtype routing_preference: ~azure.mgmt.storage.models.RoutingPreference
8090
+ :keyword dual_stack_endpoint_preference: Maintains information about the Internet protocol
8091
+ opted by the user.
8092
+ :paramtype dual_stack_endpoint_preference:
8093
+ ~azure.mgmt.storage.models.DualStackEndpointPreference
7850
8094
  :keyword allow_blob_public_access: Allow or disallow public access to all blobs or containers
7851
8095
  in the storage account. The default interpretation is false for this property.
7852
8096
  :paramtype allow_blob_public_access: bool
@@ -7896,6 +8140,8 @@ class StorageAccount(TrackedResource):
7896
8140
  self.kind: Optional[Union[str, "_models.Kind"]] = None
7897
8141
  self.identity = identity
7898
8142
  self.extended_location = extended_location
8143
+ self.zones = zones
8144
+ self.placement = placement
7899
8145
  self.provisioning_state: Optional[Union[str, "_models.ProvisioningState"]] = None
7900
8146
  self.primary_endpoints: Optional["_models.Endpoints"] = None
7901
8147
  self.primary_location: Optional[str] = None
@@ -7923,6 +8169,7 @@ class StorageAccount(TrackedResource):
7923
8169
  self.large_file_shares_state = large_file_shares_state
7924
8170
  self.private_endpoint_connections: Optional[List["_models.PrivateEndpointConnection"]] = None
7925
8171
  self.routing_preference = routing_preference
8172
+ self.dual_stack_endpoint_preference = dual_stack_endpoint_preference
7926
8173
  self.blob_restore_status: Optional["_models.BlobRestoreStatus"] = None
7927
8174
  self.allow_blob_public_access = allow_blob_public_access
7928
8175
  self.minimum_tls_version = minimum_tls_version
@@ -7993,6 +8240,11 @@ class StorageAccountCreateParameters(_serialization.Model):
7993
8240
  storage account will be created in Azure main region. Otherwise it will be created in the
7994
8241
  specified extended location.
7995
8242
  :vartype extended_location: ~azure.mgmt.storage.models.ExtendedLocation
8243
+ :ivar zones: Optional. Gets or sets the pinned logical availability zone for the storage
8244
+ account.
8245
+ :vartype zones: list[str]
8246
+ :ivar placement: Optional. Gets or sets the zonal placement details for the storage account.
8247
+ :vartype placement: ~azure.mgmt.storage.models.Placement
7996
8248
  :ivar tags: Gets or sets a list of key value pairs that describe the resource. These tags can
7997
8249
  be used for viewing and grouping this resource (across resource groups). A maximum of 15 tags
7998
8250
  can be provided for a resource. Each tag must have a key with a length no greater than 128
@@ -8048,6 +8300,9 @@ class StorageAccountCreateParameters(_serialization.Model):
8048
8300
  :ivar routing_preference: Maintains information about the network routing choice opted by the
8049
8301
  user for data transfer.
8050
8302
  :vartype routing_preference: ~azure.mgmt.storage.models.RoutingPreference
8303
+ :ivar dual_stack_endpoint_preference: Maintains information about the Internet protocol opted
8304
+ by the user.
8305
+ :vartype dual_stack_endpoint_preference: ~azure.mgmt.storage.models.DualStackEndpointPreference
8051
8306
  :ivar allow_blob_public_access: Allow or disallow public access to all blobs or containers in
8052
8307
  the storage account. The default interpretation is false for this property.
8053
8308
  :vartype allow_blob_public_access: bool
@@ -8092,6 +8347,8 @@ class StorageAccountCreateParameters(_serialization.Model):
8092
8347
  "kind": {"key": "kind", "type": "str"},
8093
8348
  "location": {"key": "location", "type": "str"},
8094
8349
  "extended_location": {"key": "extendedLocation", "type": "ExtendedLocation"},
8350
+ "zones": {"key": "zones", "type": "[str]"},
8351
+ "placement": {"key": "placement", "type": "Placement"},
8095
8352
  "tags": {"key": "tags", "type": "{str}"},
8096
8353
  "identity": {"key": "identity", "type": "Identity"},
8097
8354
  "allowed_copy_scope": {"key": "properties.allowedCopyScope", "type": "str"},
@@ -8113,6 +8370,10 @@ class StorageAccountCreateParameters(_serialization.Model):
8113
8370
  "is_hns_enabled": {"key": "properties.isHnsEnabled", "type": "bool"},
8114
8371
  "large_file_shares_state": {"key": "properties.largeFileSharesState", "type": "str"},
8115
8372
  "routing_preference": {"key": "properties.routingPreference", "type": "RoutingPreference"},
8373
+ "dual_stack_endpoint_preference": {
8374
+ "key": "properties.dualStackEndpointPreference",
8375
+ "type": "DualStackEndpointPreference",
8376
+ },
8116
8377
  "allow_blob_public_access": {"key": "properties.allowBlobPublicAccess", "type": "bool"},
8117
8378
  "minimum_tls_version": {"key": "properties.minimumTlsVersion", "type": "str"},
8118
8379
  "allow_shared_key_access": {"key": "properties.allowSharedKeyAccess", "type": "bool"},
@@ -8133,6 +8394,8 @@ class StorageAccountCreateParameters(_serialization.Model):
8133
8394
  kind: Union[str, "_models.Kind"],
8134
8395
  location: str,
8135
8396
  extended_location: Optional["_models.ExtendedLocation"] = None,
8397
+ zones: Optional[List[str]] = None,
8398
+ placement: Optional["_models.Placement"] = None,
8136
8399
  tags: Optional[Dict[str, str]] = None,
8137
8400
  identity: Optional["_models.Identity"] = None,
8138
8401
  allowed_copy_scope: Optional[Union[str, "_models.AllowedCopyScope"]] = None,
@@ -8151,6 +8414,7 @@ class StorageAccountCreateParameters(_serialization.Model):
8151
8414
  is_hns_enabled: Optional[bool] = None,
8152
8415
  large_file_shares_state: Optional[Union[str, "_models.LargeFileSharesState"]] = None,
8153
8416
  routing_preference: Optional["_models.RoutingPreference"] = None,
8417
+ dual_stack_endpoint_preference: Optional["_models.DualStackEndpointPreference"] = None,
8154
8418
  allow_blob_public_access: Optional[bool] = None,
8155
8419
  minimum_tls_version: Optional[Union[str, "_models.MinimumTlsVersion"]] = None,
8156
8420
  allow_shared_key_access: Optional[bool] = None,
@@ -8176,6 +8440,11 @@ class StorageAccountCreateParameters(_serialization.Model):
8176
8440
  the storage account will be created in Azure main region. Otherwise it will be created in the
8177
8441
  specified extended location.
8178
8442
  :paramtype extended_location: ~azure.mgmt.storage.models.ExtendedLocation
8443
+ :keyword zones: Optional. Gets or sets the pinned logical availability zone for the storage
8444
+ account.
8445
+ :paramtype zones: list[str]
8446
+ :keyword placement: Optional. Gets or sets the zonal placement details for the storage account.
8447
+ :paramtype placement: ~azure.mgmt.storage.models.Placement
8179
8448
  :keyword tags: Gets or sets a list of key value pairs that describe the resource. These tags
8180
8449
  can be used for viewing and grouping this resource (across resource groups). A maximum of 15
8181
8450
  tags can be provided for a resource. Each tag must have a key with a length no greater than 128
@@ -8231,6 +8500,10 @@ class StorageAccountCreateParameters(_serialization.Model):
8231
8500
  :keyword routing_preference: Maintains information about the network routing choice opted by
8232
8501
  the user for data transfer.
8233
8502
  :paramtype routing_preference: ~azure.mgmt.storage.models.RoutingPreference
8503
+ :keyword dual_stack_endpoint_preference: Maintains information about the Internet protocol
8504
+ opted by the user.
8505
+ :paramtype dual_stack_endpoint_preference:
8506
+ ~azure.mgmt.storage.models.DualStackEndpointPreference
8234
8507
  :keyword allow_blob_public_access: Allow or disallow public access to all blobs or containers
8235
8508
  in the storage account. The default interpretation is false for this property.
8236
8509
  :paramtype allow_blob_public_access: bool
@@ -8269,6 +8542,8 @@ class StorageAccountCreateParameters(_serialization.Model):
8269
8542
  self.kind = kind
8270
8543
  self.location = location
8271
8544
  self.extended_location = extended_location
8545
+ self.zones = zones
8546
+ self.placement = placement
8272
8547
  self.tags = tags
8273
8548
  self.identity = identity
8274
8549
  self.allowed_copy_scope = allowed_copy_scope
@@ -8287,6 +8562,7 @@ class StorageAccountCreateParameters(_serialization.Model):
8287
8562
  self.is_hns_enabled = is_hns_enabled
8288
8563
  self.large_file_shares_state = large_file_shares_state
8289
8564
  self.routing_preference = routing_preference
8565
+ self.dual_stack_endpoint_preference = dual_stack_endpoint_preference
8290
8566
  self.allow_blob_public_access = allow_blob_public_access
8291
8567
  self.minimum_tls_version = minimum_tls_version
8292
8568
  self.allow_shared_key_access = allow_shared_key_access
@@ -8336,6 +8612,74 @@ class StorageAccountInternetEndpoints(_serialization.Model):
8336
8612
  self.dfs: Optional[str] = None
8337
8613
 
8338
8614
 
8615
+ class StorageAccountIpv6Endpoints(_serialization.Model):
8616
+ """The URIs that are used to perform a retrieval of a public blob, queue, table, web or dfs object
8617
+ via an IPv6 endpoint.
8618
+
8619
+ Variables are only populated by the server, and will be ignored when sending a request.
8620
+
8621
+ :ivar blob: Gets the blob endpoint.
8622
+ :vartype blob: str
8623
+ :ivar queue: Gets the queue endpoint.
8624
+ :vartype queue: str
8625
+ :ivar table: Gets the table endpoint.
8626
+ :vartype table: str
8627
+ :ivar file: Gets the file endpoint.
8628
+ :vartype file: str
8629
+ :ivar web: Gets the web endpoint.
8630
+ :vartype web: str
8631
+ :ivar dfs: Gets the dfs endpoint.
8632
+ :vartype dfs: str
8633
+ :ivar microsoft_endpoints: Gets the microsoft routing storage endpoints.
8634
+ :vartype microsoft_endpoints: ~azure.mgmt.storage.models.StorageAccountMicrosoftEndpoints
8635
+ :ivar internet_endpoints: Gets the internet routing storage endpoints.
8636
+ :vartype internet_endpoints: ~azure.mgmt.storage.models.StorageAccountInternetEndpoints
8637
+ """
8638
+
8639
+ _validation = {
8640
+ "blob": {"readonly": True},
8641
+ "queue": {"readonly": True},
8642
+ "table": {"readonly": True},
8643
+ "file": {"readonly": True},
8644
+ "web": {"readonly": True},
8645
+ "dfs": {"readonly": True},
8646
+ }
8647
+
8648
+ _attribute_map = {
8649
+ "blob": {"key": "blob", "type": "str"},
8650
+ "queue": {"key": "queue", "type": "str"},
8651
+ "table": {"key": "table", "type": "str"},
8652
+ "file": {"key": "file", "type": "str"},
8653
+ "web": {"key": "web", "type": "str"},
8654
+ "dfs": {"key": "dfs", "type": "str"},
8655
+ "microsoft_endpoints": {"key": "microsoftEndpoints", "type": "StorageAccountMicrosoftEndpoints"},
8656
+ "internet_endpoints": {"key": "internetEndpoints", "type": "StorageAccountInternetEndpoints"},
8657
+ }
8658
+
8659
+ def __init__(
8660
+ self,
8661
+ *,
8662
+ microsoft_endpoints: Optional["_models.StorageAccountMicrosoftEndpoints"] = None,
8663
+ internet_endpoints: Optional["_models.StorageAccountInternetEndpoints"] = None,
8664
+ **kwargs: Any
8665
+ ) -> None:
8666
+ """
8667
+ :keyword microsoft_endpoints: Gets the microsoft routing storage endpoints.
8668
+ :paramtype microsoft_endpoints: ~azure.mgmt.storage.models.StorageAccountMicrosoftEndpoints
8669
+ :keyword internet_endpoints: Gets the internet routing storage endpoints.
8670
+ :paramtype internet_endpoints: ~azure.mgmt.storage.models.StorageAccountInternetEndpoints
8671
+ """
8672
+ super().__init__(**kwargs)
8673
+ self.blob: Optional[str] = None
8674
+ self.queue: Optional[str] = None
8675
+ self.table: Optional[str] = None
8676
+ self.file: Optional[str] = None
8677
+ self.web: Optional[str] = None
8678
+ self.dfs: Optional[str] = None
8679
+ self.microsoft_endpoints = microsoft_endpoints
8680
+ self.internet_endpoints = internet_endpoints
8681
+
8682
+
8339
8683
  class StorageAccountKey(_serialization.Model):
8340
8684
  """An access key for the storage account.
8341
8685
 
@@ -8646,6 +8990,11 @@ class StorageAccountUpdateParameters(_serialization.Model):
8646
8990
  supported by server. Known values are: "Storage", "StorageV2", "BlobStorage", "FileStorage",
8647
8991
  and "BlockBlobStorage".
8648
8992
  :vartype kind: str or ~azure.mgmt.storage.models.Kind
8993
+ :ivar zones: Optional. Gets or sets the pinned logical availability zone for the storage
8994
+ account.
8995
+ :vartype zones: list[str]
8996
+ :ivar placement: Optional. Gets or sets the zonal placement details for the storage account.
8997
+ :vartype placement: ~azure.mgmt.storage.models.Placement
8649
8998
  :ivar custom_domain: Custom domain assigned to the storage account by the user. Name is the
8650
8999
  CNAME source. Only one custom domain is supported per storage account at this time. To clear
8651
9000
  the existing custom domain, use an empty string for the custom domain name property.
@@ -8683,6 +9032,9 @@ class StorageAccountUpdateParameters(_serialization.Model):
8683
9032
  :ivar routing_preference: Maintains information about the network routing choice opted by the
8684
9033
  user for data transfer.
8685
9034
  :vartype routing_preference: ~azure.mgmt.storage.models.RoutingPreference
9035
+ :ivar dual_stack_endpoint_preference: Maintains information about the Internet protocol opted
9036
+ by the user.
9037
+ :vartype dual_stack_endpoint_preference: ~azure.mgmt.storage.models.DualStackEndpointPreference
8686
9038
  :ivar allow_blob_public_access: Allow or disallow public access to all blobs or containers in
8687
9039
  the storage account. The default interpretation is false for this property.
8688
9040
  :vartype allow_blob_public_access: bool
@@ -8727,6 +9079,8 @@ class StorageAccountUpdateParameters(_serialization.Model):
8727
9079
  "tags": {"key": "tags", "type": "{str}"},
8728
9080
  "identity": {"key": "identity", "type": "Identity"},
8729
9081
  "kind": {"key": "kind", "type": "str"},
9082
+ "zones": {"key": "zones", "type": "[str]"},
9083
+ "placement": {"key": "placement", "type": "Placement"},
8730
9084
  "custom_domain": {"key": "properties.customDomain", "type": "CustomDomain"},
8731
9085
  "encryption": {"key": "properties.encryption", "type": "Encryption"},
8732
9086
  "sas_policy": {"key": "properties.sasPolicy", "type": "SasPolicy"},
@@ -8743,6 +9097,10 @@ class StorageAccountUpdateParameters(_serialization.Model):
8743
9097
  "network_rule_set": {"key": "properties.networkAcls", "type": "NetworkRuleSet"},
8744
9098
  "large_file_shares_state": {"key": "properties.largeFileSharesState", "type": "str"},
8745
9099
  "routing_preference": {"key": "properties.routingPreference", "type": "RoutingPreference"},
9100
+ "dual_stack_endpoint_preference": {
9101
+ "key": "properties.dualStackEndpointPreference",
9102
+ "type": "DualStackEndpointPreference",
9103
+ },
8746
9104
  "allow_blob_public_access": {"key": "properties.allowBlobPublicAccess", "type": "bool"},
8747
9105
  "minimum_tls_version": {"key": "properties.minimumTlsVersion", "type": "str"},
8748
9106
  "allow_shared_key_access": {"key": "properties.allowSharedKeyAccess", "type": "bool"},
@@ -8764,6 +9122,8 @@ class StorageAccountUpdateParameters(_serialization.Model):
8764
9122
  tags: Optional[Dict[str, str]] = None,
8765
9123
  identity: Optional["_models.Identity"] = None,
8766
9124
  kind: Optional[Union[str, "_models.Kind"]] = None,
9125
+ zones: Optional[List[str]] = None,
9126
+ placement: Optional["_models.Placement"] = None,
8767
9127
  custom_domain: Optional["_models.CustomDomain"] = None,
8768
9128
  encryption: Optional["_models.Encryption"] = None,
8769
9129
  sas_policy: Optional["_models.SasPolicy"] = None,
@@ -8777,6 +9137,7 @@ class StorageAccountUpdateParameters(_serialization.Model):
8777
9137
  network_rule_set: Optional["_models.NetworkRuleSet"] = None,
8778
9138
  large_file_shares_state: Optional[Union[str, "_models.LargeFileSharesState"]] = None,
8779
9139
  routing_preference: Optional["_models.RoutingPreference"] = None,
9140
+ dual_stack_endpoint_preference: Optional["_models.DualStackEndpointPreference"] = None,
8780
9141
  allow_blob_public_access: Optional[bool] = None,
8781
9142
  minimum_tls_version: Optional[Union[str, "_models.MinimumTlsVersion"]] = None,
8782
9143
  allow_shared_key_access: Optional[bool] = None,
@@ -8804,6 +9165,11 @@ class StorageAccountUpdateParameters(_serialization.Model):
8804
9165
  supported by server. Known values are: "Storage", "StorageV2", "BlobStorage", "FileStorage",
8805
9166
  and "BlockBlobStorage".
8806
9167
  :paramtype kind: str or ~azure.mgmt.storage.models.Kind
9168
+ :keyword zones: Optional. Gets or sets the pinned logical availability zone for the storage
9169
+ account.
9170
+ :paramtype zones: list[str]
9171
+ :keyword placement: Optional. Gets or sets the zonal placement details for the storage account.
9172
+ :paramtype placement: ~azure.mgmt.storage.models.Placement
8807
9173
  :keyword custom_domain: Custom domain assigned to the storage account by the user. Name is the
8808
9174
  CNAME source. Only one custom domain is supported per storage account at this time. To clear
8809
9175
  the existing custom domain, use an empty string for the custom domain name property.
@@ -8842,6 +9208,10 @@ class StorageAccountUpdateParameters(_serialization.Model):
8842
9208
  :keyword routing_preference: Maintains information about the network routing choice opted by
8843
9209
  the user for data transfer.
8844
9210
  :paramtype routing_preference: ~azure.mgmt.storage.models.RoutingPreference
9211
+ :keyword dual_stack_endpoint_preference: Maintains information about the Internet protocol
9212
+ opted by the user.
9213
+ :paramtype dual_stack_endpoint_preference:
9214
+ ~azure.mgmt.storage.models.DualStackEndpointPreference
8845
9215
  :keyword allow_blob_public_access: Allow or disallow public access to all blobs or containers
8846
9216
  in the storage account. The default interpretation is false for this property.
8847
9217
  :paramtype allow_blob_public_access: bool
@@ -8886,6 +9256,8 @@ class StorageAccountUpdateParameters(_serialization.Model):
8886
9256
  self.tags = tags
8887
9257
  self.identity = identity
8888
9258
  self.kind = kind
9259
+ self.zones = zones
9260
+ self.placement = placement
8889
9261
  self.custom_domain = custom_domain
8890
9262
  self.encryption = encryption
8891
9263
  self.sas_policy = sas_policy
@@ -8899,6 +9271,7 @@ class StorageAccountUpdateParameters(_serialization.Model):
8899
9271
  self.network_rule_set = network_rule_set
8900
9272
  self.large_file_shares_state = large_file_shares_state
8901
9273
  self.routing_preference = routing_preference
9274
+ self.dual_stack_endpoint_preference = dual_stack_endpoint_preference
8902
9275
  self.allow_blob_public_access = allow_blob_public_access
8903
9276
  self.minimum_tls_version = minimum_tls_version
8904
9277
  self.allow_shared_key_access = allow_shared_key_access
@@ -9856,13 +10229,13 @@ class TriggerParameters(_serialization.Model):
9856
10229
  :vartype interval: int
9857
10230
  :ivar interval_unit: Run interval unit of task execution. This is a required field when
9858
10231
  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
10232
+ ExecutionTrigger.properties.type is 'RunOnce'. "Days"
10233
+ :vartype interval_unit: str or ~azure.mgmt.storage.models.IntervalUnit
9861
10234
  :ivar end_by: When to end task execution. This is a required field when
9862
10235
  ExecutionTrigger.properties.type is 'OnSchedule'; this property should not be present when
9863
10236
  ExecutionTrigger.properties.type is 'RunOnce'.
9864
10237
  :vartype end_by: ~datetime.datetime
9865
- :ivar start_on: When to start task execution. This is an optional field when
10238
+ :ivar start_on: When to start task execution. This is a required field when
9866
10239
  ExecutionTrigger.properties.type is 'RunOnce'; this property should not be present when
9867
10240
  ExecutionTrigger.properties.type is 'OnSchedule'.
9868
10241
  :vartype start_on: ~datetime.datetime
@@ -9885,7 +10258,7 @@ class TriggerParameters(_serialization.Model):
9885
10258
  *,
9886
10259
  start_from: Optional[datetime.datetime] = None,
9887
10260
  interval: Optional[int] = None,
9888
- interval_unit: Optional[Literal["Days"]] = None,
10261
+ interval_unit: Optional[Union[str, "_models.IntervalUnit"]] = None,
9889
10262
  end_by: Optional[datetime.datetime] = None,
9890
10263
  start_on: Optional[datetime.datetime] = None,
9891
10264
  **kwargs: Any
@@ -9901,13 +10274,13 @@ class TriggerParameters(_serialization.Model):
9901
10274
  :paramtype interval: int
9902
10275
  :keyword interval_unit: Run interval unit of task execution. This is a required field when
9903
10276
  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
10277
+ ExecutionTrigger.properties.type is 'RunOnce'. "Days"
10278
+ :paramtype interval_unit: str or ~azure.mgmt.storage.models.IntervalUnit
9906
10279
  :keyword end_by: When to end task execution. This is a required field when
9907
10280
  ExecutionTrigger.properties.type is 'OnSchedule'; this property should not be present when
9908
10281
  ExecutionTrigger.properties.type is 'RunOnce'.
9909
10282
  :paramtype end_by: ~datetime.datetime
9910
- :keyword start_on: When to start task execution. This is an optional field when
10283
+ :keyword start_on: When to start task execution. This is a required field when
9911
10284
  ExecutionTrigger.properties.type is 'RunOnce'; this property should not be present when
9912
10285
  ExecutionTrigger.properties.type is 'OnSchedule'.
9913
10286
  :paramtype start_on: ~datetime.datetime
@@ -9933,8 +10306,8 @@ class TriggerParametersUpdate(_serialization.Model):
9933
10306
  :vartype interval: int
9934
10307
  :ivar interval_unit: Run interval unit of task execution. This is a mutable field when
9935
10308
  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
10309
+ ExecutionTrigger.properties.type is 'RunOnce'. "Days"
10310
+ :vartype interval_unit: str or ~azure.mgmt.storage.models.IntervalUnit
9938
10311
  :ivar end_by: When to end task execution. This is a mutable field when
9939
10312
  ExecutionTrigger.properties.type is 'OnSchedule'; this property should not be present when
9940
10313
  ExecutionTrigger.properties.type is 'RunOnce'.
@@ -9962,7 +10335,7 @@ class TriggerParametersUpdate(_serialization.Model):
9962
10335
  *,
9963
10336
  start_from: Optional[datetime.datetime] = None,
9964
10337
  interval: Optional[int] = None,
9965
- interval_unit: Optional[Literal["Days"]] = None,
10338
+ interval_unit: Optional[Union[str, "_models.IntervalUnit"]] = None,
9966
10339
  end_by: Optional[datetime.datetime] = None,
9967
10340
  start_on: Optional[datetime.datetime] = None,
9968
10341
  **kwargs: Any
@@ -9978,8 +10351,8 @@ class TriggerParametersUpdate(_serialization.Model):
9978
10351
  :paramtype interval: int
9979
10352
  :keyword interval_unit: Run interval unit of task execution. This is a mutable field when
9980
10353
  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
10354
+ ExecutionTrigger.properties.type is 'RunOnce'. "Days"
10355
+ :paramtype interval_unit: str or ~azure.mgmt.storage.models.IntervalUnit
9983
10356
  :keyword end_by: When to end task execution. This is a mutable field when
9984
10357
  ExecutionTrigger.properties.type is 'OnSchedule'; this property should not be present when
9985
10358
  ExecutionTrigger.properties.type is 'RunOnce'.