azure-storage-blob 12.25.0b1__py3-none-any.whl → 12.26.0b1__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 (40) hide show
  1. azure/storage/blob/_blob_client.py +51 -3
  2. azure/storage/blob/_blob_client_helpers.py +15 -1
  3. azure/storage/blob/_generated/_azure_blob_storage.py +1 -1
  4. azure/storage/blob/_generated/_configuration.py +2 -2
  5. azure/storage/blob/_generated/_serialization.py +3 -3
  6. azure/storage/blob/_generated/aio/_azure_blob_storage.py +1 -1
  7. azure/storage/blob/_generated/aio/_configuration.py +2 -2
  8. azure/storage/blob/_generated/aio/operations/_append_blob_operations.py +5 -4
  9. azure/storage/blob/_generated/aio/operations/_blob_operations.py +5 -25
  10. azure/storage/blob/_generated/aio/operations/_block_blob_operations.py +9 -7
  11. azure/storage/blob/_generated/aio/operations/_container_operations.py +1 -19
  12. azure/storage/blob/_generated/aio/operations/_page_blob_operations.py +5 -10
  13. azure/storage/blob/_generated/aio/operations/_service_operations.py +1 -8
  14. azure/storage/blob/_generated/models/__init__.py +2 -0
  15. azure/storage/blob/_generated/models/_azure_blob_storage_enums.py +6 -0
  16. azure/storage/blob/_generated/operations/_append_blob_operations.py +12 -9
  17. azure/storage/blob/_generated/operations/_blob_operations.py +32 -49
  18. azure/storage/blob/_generated/operations/_block_blob_operations.py +21 -13
  19. azure/storage/blob/_generated/operations/_container_operations.py +19 -37
  20. azure/storage/blob/_generated/operations/_page_blob_operations.py +17 -19
  21. azure/storage/blob/_generated/operations/_service_operations.py +9 -17
  22. azure/storage/blob/_quick_query_helper.py +17 -21
  23. azure/storage/blob/_serialize.py +1 -0
  24. azure/storage/blob/_shared/avro/avro_io.py +2 -2
  25. azure/storage/blob/_shared/avro/avro_io_async.py +1 -1
  26. azure/storage/blob/_shared/base_client.py +6 -2
  27. azure/storage/blob/_shared/policies_async.py +1 -1
  28. azure/storage/blob/_shared/request_handlers.py +1 -2
  29. azure/storage/blob/_shared/shared_access_signature.py +4 -0
  30. azure/storage/blob/_shared/uploads_async.py +2 -3
  31. azure/storage/blob/_shared_access_signature.py +3 -1
  32. azure/storage/blob/_version.py +1 -1
  33. azure/storage/blob/aio/_blob_client_async.py +189 -5
  34. azure/storage/blob/aio/_download_async.py +1 -1
  35. azure/storage/blob/aio/_quick_query_helper_async.py +194 -0
  36. {azure_storage_blob-12.25.0b1.dist-info → azure_storage_blob-12.26.0b1.dist-info}/METADATA +6 -6
  37. {azure_storage_blob-12.25.0b1.dist-info → azure_storage_blob-12.26.0b1.dist-info}/RECORD +40 -39
  38. {azure_storage_blob-12.25.0b1.dist-info → azure_storage_blob-12.26.0b1.dist-info}/WHEEL +1 -1
  39. {azure_storage_blob-12.25.0b1.dist-info → azure_storage_blob-12.26.0b1.dist-info}/LICENSE +0 -0
  40. {azure_storage_blob-12.25.0b1.dist-info → azure_storage_blob-12.26.0b1.dist-info}/top_level.txt +0 -0
@@ -422,6 +422,15 @@ class BlobClient(StorageAccountHostsMixin, StorageEncryptionMixin): # pylint: d
422
422
  :keyword str source_authorization:
423
423
  Authenticate as a service principal using a client secret to access a source blob. Ensure "bearer " is
424
424
  the prefix of the source_authorization string.
425
+ :keyword source_token_intent:
426
+ Required when source is Azure Storage Files and using `TokenCredential` for authentication.
427
+ This is ignored for other forms of authentication.
428
+ Specifies the intent for all requests when using `TokenCredential` authentication. Possible values are:
429
+
430
+ backup - Specifies requests are intended for backup/admin type operations, meaning that all file/directory
431
+ ACLs are bypassed and full permissions are granted. User must also have required RBAC permission.
432
+
433
+ :paramtype source_token_intent: Literal['backup']
425
434
  :returns: Blob-updated property Dict (Etag and last modified)
426
435
  :rtype: Dict[str, Any]
427
436
  """
@@ -430,7 +439,8 @@ class BlobClient(StorageAccountHostsMixin, StorageEncryptionMixin): # pylint: d
430
439
  options = _upload_blob_from_url_options(
431
440
  source_url=source_url,
432
441
  metadata=metadata,
433
- **kwargs)
442
+ **kwargs
443
+ )
434
444
  try:
435
445
  return cast(Dict[str, Any], self._client.block_blob.put_blob_from_url(**options))
436
446
  except HttpResponseError as error:
@@ -1746,6 +1756,15 @@ class BlobClient(StorageAccountHostsMixin, StorageEncryptionMixin): # pylint: d
1746
1756
 
1747
1757
  .. versionadded:: 12.9.0
1748
1758
 
1759
+ :keyword source_token_intent:
1760
+ Required when source is Azure Storage Files and using `TokenCredential` for authentication.
1761
+ This is ignored for other forms of authentication.
1762
+ Specifies the intent for all requests when using `TokenCredential` authentication. Possible values are:
1763
+
1764
+ backup - Specifies requests are intended for backup/admin type operations, meaning that all file/directory
1765
+ ACLs are bypassed and full permissions are granted. User must also have required RBAC permission.
1766
+
1767
+ :paramtype source_token_intent: Literal['backup']
1749
1768
  :keyword str encryption_scope:
1750
1769
  A predefined encryption scope used to encrypt the data on the sync copied blob. An encryption
1751
1770
  scope can be created using the Management API and referenced here by name. If a default
@@ -1770,7 +1789,8 @@ class BlobClient(StorageAccountHostsMixin, StorageEncryptionMixin): # pylint: d
1770
1789
  source_url=source_url,
1771
1790
  metadata=metadata,
1772
1791
  incremental_copy=incremental_copy,
1773
- **kwargs)
1792
+ **kwargs
1793
+ )
1774
1794
  try:
1775
1795
  if incremental_copy:
1776
1796
  return cast(Dict[str, Union[str, datetime]], self._client.page_blob.copy_incremental(**options))
@@ -2046,6 +2066,15 @@ class BlobClient(StorageAccountHostsMixin, StorageEncryptionMixin): # pylint: d
2046
2066
  :keyword str source_authorization:
2047
2067
  Authenticate as a service principal using a client secret to access a source blob. Ensure "bearer " is
2048
2068
  the prefix of the source_authorization string.
2069
+ :keyword source_token_intent:
2070
+ Required when source is Azure Storage Files and using `TokenCredential` for authentication.
2071
+ This is ignored for other forms of authentication.
2072
+ Specifies the intent for all requests when using `TokenCredential` authentication. Possible values are:
2073
+
2074
+ backup - Specifies requests are intended for backup/admin type operations, meaning that all file/directory
2075
+ ACLs are bypassed and full permissions are granted. User must also have required RBAC permission.
2076
+
2077
+ :paramtype source_token_intent: Literal['backup']
2049
2078
  :returns: Blob property dict.
2050
2079
  :rtype: dict[str, Any]
2051
2080
  """
@@ -2057,7 +2086,8 @@ class BlobClient(StorageAccountHostsMixin, StorageEncryptionMixin): # pylint: d
2057
2086
  source_offset=source_offset,
2058
2087
  source_length=source_length,
2059
2088
  source_content_md5=source_content_md5,
2060
- **kwargs)
2089
+ **kwargs
2090
+ )
2061
2091
  try:
2062
2092
  return cast(Dict[str, Any], self._client.block_blob.stage_block_from_url(**options))
2063
2093
  except HttpResponseError as error:
@@ -2919,6 +2949,15 @@ class BlobClient(StorageAccountHostsMixin, StorageEncryptionMixin): # pylint: d
2919
2949
  :keyword str source_authorization:
2920
2950
  Authenticate as a service principal using a client secret to access a source blob. Ensure "bearer " is
2921
2951
  the prefix of the source_authorization string.
2952
+ :keyword source_token_intent:
2953
+ Required when source is Azure Storage Files and using `TokenCredential` for authentication.
2954
+ This is ignored for other forms of authentication.
2955
+ Specifies the intent for all requests when using `TokenCredential` authentication. Possible values are:
2956
+
2957
+ backup - Specifies requests are intended for backup/admin type operations, meaning that all file/directory
2958
+ ACLs are bypassed and full permissions are granted. User must also have required RBAC permission.
2959
+
2960
+ :paramtype source_token_intent: Literal['backup']
2922
2961
  :returns: Response after uploading pages from specified URL.
2923
2962
  :rtype: Dict[str, Any]
2924
2963
  """
@@ -3211,6 +3250,15 @@ class BlobClient(StorageAccountHostsMixin, StorageEncryptionMixin): # pylint: d
3211
3250
  :keyword str source_authorization:
3212
3251
  Authenticate as a service principal using a client secret to access a source blob. Ensure "bearer " is
3213
3252
  the prefix of the source_authorization string.
3253
+ :keyword source_token_intent:
3254
+ Required when source is Azure Storage Files and using `TokenCredential` for authentication.
3255
+ This is ignored for other forms of authentication.
3256
+ Specifies the intent for all requests when using `TokenCredential` authentication. Possible values are:
3257
+
3258
+ backup - Specifies requests are intended for backup/admin type operations, meaning that all file/directory
3259
+ ACLs are bypassed and full permissions are granted. User must also have required RBAC permission.
3260
+
3261
+ :paramtype source_token_intent: Literal['backup']
3214
3262
  :returns: Result after appending a new block.
3215
3263
  :rtype: Dict[str, Union[str, datetime, int]]
3216
3264
  """
@@ -197,6 +197,7 @@ def _upload_blob_from_url_options(source_url: str, **kwargs: Any) -> Dict[str, A
197
197
  overwrite = kwargs.pop('overwrite', False)
198
198
  content_settings = kwargs.pop('content_settings', None)
199
199
  source_authorization = kwargs.pop('source_authorization', None)
200
+ source_token_intent = kwargs.pop('source_token_intent', None)
200
201
  if content_settings:
201
202
  kwargs['blob_http_headers'] = BlobHTTPHeaders(
202
203
  blob_cache_control=content_settings.cache_control,
@@ -214,6 +215,7 @@ def _upload_blob_from_url_options(source_url: str, **kwargs: Any) -> Dict[str, A
214
215
 
215
216
  options = {
216
217
  'copy_source_authorization': source_authorization,
218
+ 'file_request_intent': source_token_intent,
217
219
  'content_length': 0,
218
220
  'copy_source_blob_properties': kwargs.pop('include_source_blob_properties', True),
219
221
  'source_content_md5': kwargs.pop('source_content_md5', None),
@@ -376,7 +378,7 @@ def _quick_query_options(snapshot: Optional[str], query_expression: str, **kwarg
376
378
  'timeout': kwargs.pop('timeout', None),
377
379
  'cls': return_headers_and_deserialized,
378
380
  }
379
- options.update(kwargs)
381
+ options.update({k: v for k, v in kwargs.items() if v is not None})
380
382
  return options, delimiter
381
383
 
382
384
  def _generic_delete_blob_options(delete_snapshots: Optional[str] = None, **kwargs: Any) -> Dict[str, Any]:
@@ -607,6 +609,7 @@ def _start_copy_from_url_options( # pylint:disable=too-many-statements
607
609
  requires_sync = kwargs.pop('requires_sync', None)
608
610
  encryption_scope_str = kwargs.pop('encryption_scope', None)
609
611
  source_authorization = kwargs.pop('source_authorization', None)
612
+ source_token_intent = kwargs.pop('source_token_intent', None)
610
613
  # If tags is a str, interpret that as copy_source_tags
611
614
  copy_source_tags = isinstance(tags, str)
612
615
 
@@ -626,6 +629,8 @@ def _start_copy_from_url_options( # pylint:disable=too-many-statements
626
629
  headers['x-ms-encryption-scope'] = encryption_scope_str
627
630
  if source_authorization:
628
631
  headers['x-ms-copy-source-authorization'] = source_authorization
632
+ if source_token_intent:
633
+ headers['x-ms-file-request-intent'] = source_token_intent
629
634
  if copy_source_tags:
630
635
  headers['x-ms-copy-source-tag-option'] = tags
631
636
  else:
@@ -635,6 +640,9 @@ def _start_copy_from_url_options( # pylint:disable=too-many-statements
635
640
  if source_authorization:
636
641
  raise ValueError(
637
642
  "Source authorization tokens are only supported for sync copy, please specify requires_sync=True")
643
+ if source_token_intent:
644
+ raise ValueError(
645
+ "Source token intent is only supported for sync copy, please specify requires_sync=True")
638
646
  if copy_source_tags:
639
647
  raise ValueError(
640
648
  "Copying source tags is only supported for sync copy, please specify requires_sync=True")
@@ -729,6 +737,7 @@ def _stage_block_from_url_options(
729
737
  ) -> Dict[str, Any]:
730
738
  source_url = _encode_source_url(source_url=source_url)
731
739
  source_authorization = kwargs.pop('source_authorization', None)
740
+ source_token_intent = kwargs.pop('source_token_intent', None)
732
741
  if source_length is not None and source_offset is None:
733
742
  raise ValueError("Source offset value must not be None if length is set.")
734
743
  if source_length is not None and source_offset is not None:
@@ -747,6 +756,7 @@ def _stage_block_from_url_options(
747
756
  encryption_algorithm=cpk.algorithm)
748
757
  options = {
749
758
  'copy_source_authorization': source_authorization,
759
+ 'file_request_intent': source_token_intent,
750
760
  'block_id': block_id,
751
761
  'content_length': 0,
752
762
  'source_url': source_url,
@@ -1010,6 +1020,7 @@ def _upload_pages_from_url_options(
1010
1020
  if_sequence_number_equal_to=kwargs.pop('if_sequence_number_eq', None)
1011
1021
  )
1012
1022
  source_authorization = kwargs.pop('source_authorization', None)
1023
+ source_token_intent = kwargs.pop('source_token_intent', None)
1013
1024
  access_conditions = get_access_conditions(kwargs.pop('lease', None))
1014
1025
  mod_conditions = get_modify_conditions(kwargs)
1015
1026
  source_mod_conditions = get_source_conditions(kwargs)
@@ -1023,6 +1034,7 @@ def _upload_pages_from_url_options(
1023
1034
 
1024
1035
  options = {
1025
1036
  'copy_source_authorization': source_authorization,
1037
+ 'file_request_intent': source_token_intent,
1026
1038
  'source_url': source_url,
1027
1039
  'content_length': 0,
1028
1040
  'source_range': source_range,
@@ -1152,6 +1164,7 @@ def _append_block_from_url_options(
1152
1164
  append_position=appendpos_condition
1153
1165
  )
1154
1166
  source_authorization = kwargs.pop('source_authorization', None)
1167
+ source_token_intent = kwargs.pop('source_token_intent', None)
1155
1168
  access_conditions = get_access_conditions(kwargs.pop('lease', None))
1156
1169
  mod_conditions = get_modify_conditions(kwargs)
1157
1170
  source_mod_conditions = get_source_conditions(kwargs)
@@ -1164,6 +1177,7 @@ def _append_block_from_url_options(
1164
1177
 
1165
1178
  options = {
1166
1179
  'copy_source_authorization': source_authorization,
1180
+ 'file_request_intent': source_token_intent,
1167
1181
  'source_url': copy_source_url,
1168
1182
  'content_length': 0,
1169
1183
  'source_range': source_range,
@@ -48,7 +48,7 @@ class AzureBlobStorage: # pylint: disable=client-accepts-api-version-keyword
48
48
  :param base_url: Service URL. Required. Default value is "".
49
49
  :type base_url: str
50
50
  :keyword version: Specifies the version of the operation to use for this request. Default value
51
- is "2025-01-05". Note that overriding this default value may result in unsupported behavior.
51
+ is "2025-07-05". Note that overriding this default value may result in unsupported behavior.
52
52
  :paramtype version: str
53
53
  """
54
54
 
@@ -23,12 +23,12 @@ class AzureBlobStorageConfiguration: # pylint: disable=too-many-instance-attrib
23
23
  desired operation. Required.
24
24
  :type url: str
25
25
  :keyword version: Specifies the version of the operation to use for this request. Default value
26
- is "2025-01-05". Note that overriding this default value may result in unsupported behavior.
26
+ is "2025-07-05". Note that overriding this default value may result in unsupported behavior.
27
27
  :paramtype version: str
28
28
  """
29
29
 
30
30
  def __init__(self, url: str, **kwargs: Any) -> None:
31
- version: Literal["2025-01-05"] = kwargs.pop("version", "2025-01-05")
31
+ version: Literal["2025-07-05"] = kwargs.pop("version", "2025-07-05")
32
32
 
33
33
  if url is None:
34
34
  raise ValueError("Parameter 'url' must not be None.")
@@ -1,4 +1,4 @@
1
- # pylint: disable=too-many-lines
1
+ # pylint: disable=line-too-long,useless-suppression,too-many-lines
2
2
  # --------------------------------------------------------------------------
3
3
  #
4
4
  # Copyright (c) Microsoft Corporation. All rights reserved.
@@ -411,7 +411,7 @@ class Model:
411
411
  :param function key_extractors: A key extractor function.
412
412
  :param str content_type: JSON by default, set application/xml if XML.
413
413
  :returns: An instance of this model
414
- :raises: DeserializationError if something went wrong
414
+ :raises DeserializationError: if something went wrong
415
415
  :rtype: Self
416
416
  """
417
417
  deserializer = Deserializer(cls._infer_class_models())
@@ -1361,7 +1361,7 @@ def xml_key_extractor(attr, attr_desc, data): # pylint: disable=unused-argument
1361
1361
  # Iter and wrapped, should have found one node only (the wrap one)
1362
1362
  if len(children) != 1:
1363
1363
  raise DeserializationError(
1364
- "Tried to deserialize an array not wrapped, and found several nodes '{}'. Maybe you should declare this array as wrapped?".format( # pylint: disable=line-too-long
1364
+ "Tried to deserialize an array not wrapped, and found several nodes '{}'. Maybe you should declare this array as wrapped?".format(
1365
1365
  xml_name
1366
1366
  )
1367
1367
  )
@@ -48,7 +48,7 @@ class AzureBlobStorage: # pylint: disable=client-accepts-api-version-keyword
48
48
  :param base_url: Service URL. Required. Default value is "".
49
49
  :type base_url: str
50
50
  :keyword version: Specifies the version of the operation to use for this request. Default value
51
- is "2025-01-05". Note that overriding this default value may result in unsupported behavior.
51
+ is "2025-07-05". Note that overriding this default value may result in unsupported behavior.
52
52
  :paramtype version: str
53
53
  """
54
54
 
@@ -23,12 +23,12 @@ class AzureBlobStorageConfiguration: # pylint: disable=too-many-instance-attrib
23
23
  desired operation. Required.
24
24
  :type url: str
25
25
  :keyword version: Specifies the version of the operation to use for this request. Default value
26
- is "2025-01-05". Note that overriding this default value may result in unsupported behavior.
26
+ is "2025-07-05". Note that overriding this default value may result in unsupported behavior.
27
27
  :paramtype version: str
28
28
  """
29
29
 
30
30
  def __init__(self, url: str, **kwargs: Any) -> None:
31
- version: Literal["2025-01-05"] = kwargs.pop("version", "2025-01-05")
31
+ version: Literal["2025-07-05"] = kwargs.pop("version", "2025-07-05")
32
32
 
33
33
  if url is None:
34
34
  raise ValueError("Parameter 'url' must not be None.")
@@ -1,3 +1,4 @@
1
+ # pylint: disable=line-too-long,useless-suppression
1
2
  # coding=utf-8
2
3
  # --------------------------------------------------------------------------
3
4
  # Copyright (c) Microsoft Corporation. All rights reserved.
@@ -78,7 +79,6 @@ class AppendBlobOperations:
78
79
  modified_access_conditions: Optional[_models.ModifiedAccessConditions] = None,
79
80
  **kwargs: Any
80
81
  ) -> None:
81
- # pylint: disable=line-too-long
82
82
  """The Create Append Blob operation creates a new append blob.
83
83
 
84
84
  :param content_length: The length of the request. Required.
@@ -264,7 +264,6 @@ class AppendBlobOperations:
264
264
  modified_access_conditions: Optional[_models.ModifiedAccessConditions] = None,
265
265
  **kwargs: Any
266
266
  ) -> None:
267
- # pylint: disable=line-too-long
268
267
  """The Append Block operation commits a new block of data to the end of an existing append blob.
269
268
  The Append Block operation is permitted only if the blob was created with x-ms-blob-type set to
270
269
  AppendBlob. Append Block is supported only on version 2015-02-21 version or later.
@@ -445,6 +444,7 @@ class AppendBlobOperations:
445
444
  transactional_content_md5: Optional[bytes] = None,
446
445
  request_id_parameter: Optional[str] = None,
447
446
  copy_source_authorization: Optional[str] = None,
447
+ file_request_intent: Optional[Union[str, _models.FileShareTokenIntent]] = None,
448
448
  cpk_info: Optional[_models.CpkInfo] = None,
449
449
  cpk_scope_info: Optional[_models.CpkScopeInfo] = None,
450
450
  lease_access_conditions: Optional[_models.LeaseAccessConditions] = None,
@@ -453,7 +453,6 @@ class AppendBlobOperations:
453
453
  source_modified_access_conditions: Optional[_models.SourceModifiedAccessConditions] = None,
454
454
  **kwargs: Any
455
455
  ) -> None:
456
- # pylint: disable=line-too-long
457
456
  """The Append Block operation commits a new block of data to the end of an existing append blob
458
457
  where the contents are read from a source url. The Append Block operation is permitted only if
459
458
  the blob was created with x-ms-blob-type set to AppendBlob. Append Block is supported only on
@@ -486,6 +485,8 @@ class AppendBlobOperations:
486
485
  :param copy_source_authorization: Only Bearer type is supported. Credentials should be a valid
487
486
  OAuth access token to copy source. Default value is None.
488
487
  :type copy_source_authorization: str
488
+ :param file_request_intent: Valid value is backup. "backup" Default value is None.
489
+ :type file_request_intent: str or ~azure.storage.blob.models.FileShareTokenIntent
489
490
  :param cpk_info: Parameter group. Default value is None.
490
491
  :type cpk_info: ~azure.storage.blob.models.CpkInfo
491
492
  :param cpk_scope_info: Parameter group. Default value is None.
@@ -584,6 +585,7 @@ class AppendBlobOperations:
584
585
  source_if_none_match=_source_if_none_match,
585
586
  request_id_parameter=request_id_parameter,
586
587
  copy_source_authorization=copy_source_authorization,
588
+ file_request_intent=file_request_intent,
587
589
  comp=comp,
588
590
  version=self._config.version,
589
591
  headers=_headers,
@@ -642,7 +644,6 @@ class AppendBlobOperations:
642
644
  append_position_access_conditions: Optional[_models.AppendPositionAccessConditions] = None,
643
645
  **kwargs: Any
644
646
  ) -> None:
645
- # pylint: disable=line-too-long
646
647
  """The Seal operation seals the Append Blob to make it read-only. Seal is supported only on
647
648
  version 2019-12-12 version or later.
648
649
 
@@ -1,4 +1,4 @@
1
- # pylint: disable=too-many-lines
1
+ # pylint: disable=line-too-long,useless-suppression,too-many-lines
2
2
  # coding=utf-8
3
3
  # --------------------------------------------------------------------------
4
4
  # Copyright (c) Microsoft Corporation. All rights reserved.
@@ -99,7 +99,6 @@ class BlobOperations: # pylint: disable=too-many-public-methods
99
99
  modified_access_conditions: Optional[_models.ModifiedAccessConditions] = None,
100
100
  **kwargs: Any
101
101
  ) -> AsyncIterator[bytes]:
102
- # pylint: disable=line-too-long
103
102
  """The Download operation reads or downloads a blob from the system, including its metadata and
104
103
  properties. You can also call Download to read a snapshot.
105
104
 
@@ -415,7 +414,6 @@ class BlobOperations: # pylint: disable=too-many-public-methods
415
414
  modified_access_conditions: Optional[_models.ModifiedAccessConditions] = None,
416
415
  **kwargs: Any
417
416
  ) -> None:
418
- # pylint: disable=line-too-long
419
417
  """The Get Properties operation returns all user-defined metadata, standard HTTP properties, and
420
418
  system properties for the blob. It does not return the content of the blob.
421
419
 
@@ -619,7 +617,6 @@ class BlobOperations: # pylint: disable=too-many-public-methods
619
617
  modified_access_conditions: Optional[_models.ModifiedAccessConditions] = None,
620
618
  **kwargs: Any
621
619
  ) -> None:
622
- # pylint: disable=line-too-long
623
620
  """If the storage account's soft delete feature is disabled then, when a blob is deleted, it is
624
621
  permanently removed from the storage account. If the storage account's soft delete feature is
625
622
  enabled, then, when a blob is deleted, it is marked for deletion and becomes inaccessible
@@ -744,7 +741,6 @@ class BlobOperations: # pylint: disable=too-many-public-methods
744
741
  async def undelete(
745
742
  self, timeout: Optional[int] = None, request_id_parameter: Optional[str] = None, **kwargs: Any
746
743
  ) -> None:
747
- # pylint: disable=line-too-long
748
744
  """Undelete a blob that was previously soft deleted.
749
745
 
750
746
  :param timeout: The timeout parameter is expressed in seconds. For more information, see
@@ -817,7 +813,6 @@ class BlobOperations: # pylint: disable=too-many-public-methods
817
813
  expires_on: Optional[str] = None,
818
814
  **kwargs: Any
819
815
  ) -> None:
820
- # pylint: disable=line-too-long
821
816
  """Sets the time a blob will expire and be deleted.
822
817
 
823
818
  :param expiry_options: Required. Indicates mode of the expiry time. Known values are:
@@ -900,7 +895,6 @@ class BlobOperations: # pylint: disable=too-many-public-methods
900
895
  modified_access_conditions: Optional[_models.ModifiedAccessConditions] = None,
901
896
  **kwargs: Any
902
897
  ) -> None:
903
- # pylint: disable=line-too-long
904
898
  """The Set HTTP Headers operation sets system properties on the blob.
905
899
 
906
900
  :param timeout: The timeout parameter is expressed in seconds. For more information, see
@@ -1027,7 +1021,6 @@ class BlobOperations: # pylint: disable=too-many-public-methods
1027
1021
  modified_access_conditions: Optional[_models.ModifiedAccessConditions] = None,
1028
1022
  **kwargs: Any
1029
1023
  ) -> None:
1030
- # pylint: disable=line-too-long
1031
1024
  """The Set Immutability Policy operation sets the immutability policy on the blob.
1032
1025
 
1033
1026
  :param timeout: The timeout parameter is expressed in seconds. For more information, see
@@ -1133,7 +1126,6 @@ class BlobOperations: # pylint: disable=too-many-public-methods
1133
1126
  version_id: Optional[str] = None,
1134
1127
  **kwargs: Any
1135
1128
  ) -> None:
1136
- # pylint: disable=line-too-long
1137
1129
  """The Delete Immutability Policy operation deletes the immutability policy on the blob.
1138
1130
 
1139
1131
  :param timeout: The timeout parameter is expressed in seconds. For more information, see
@@ -1219,7 +1211,6 @@ class BlobOperations: # pylint: disable=too-many-public-methods
1219
1211
  version_id: Optional[str] = None,
1220
1212
  **kwargs: Any
1221
1213
  ) -> None:
1222
- # pylint: disable=line-too-long
1223
1214
  """The Set Legal Hold operation sets a legal hold on the blob.
1224
1215
 
1225
1216
  :param legal_hold: Specified if a legal hold should be set on the blob. Required.
@@ -1311,7 +1302,6 @@ class BlobOperations: # pylint: disable=too-many-public-methods
1311
1302
  modified_access_conditions: Optional[_models.ModifiedAccessConditions] = None,
1312
1303
  **kwargs: Any
1313
1304
  ) -> None:
1314
- # pylint: disable=line-too-long
1315
1305
  """The Set Blob Metadata operation sets user-defined metadata for the specified blob as one or
1316
1306
  more name-value pairs.
1317
1307
 
@@ -1450,7 +1440,6 @@ class BlobOperations: # pylint: disable=too-many-public-methods
1450
1440
  modified_access_conditions: Optional[_models.ModifiedAccessConditions] = None,
1451
1441
  **kwargs: Any
1452
1442
  ) -> None:
1453
- # pylint: disable=line-too-long
1454
1443
  """[Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete
1455
1444
  operations.
1456
1445
 
@@ -1558,7 +1547,6 @@ class BlobOperations: # pylint: disable=too-many-public-methods
1558
1547
  modified_access_conditions: Optional[_models.ModifiedAccessConditions] = None,
1559
1548
  **kwargs: Any
1560
1549
  ) -> None:
1561
- # pylint: disable=line-too-long
1562
1550
  """[Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete
1563
1551
  operations.
1564
1552
 
@@ -1658,7 +1646,6 @@ class BlobOperations: # pylint: disable=too-many-public-methods
1658
1646
  modified_access_conditions: Optional[_models.ModifiedAccessConditions] = None,
1659
1647
  **kwargs: Any
1660
1648
  ) -> None:
1661
- # pylint: disable=line-too-long
1662
1649
  """[Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete
1663
1650
  operations.
1664
1651
 
@@ -1760,7 +1747,6 @@ class BlobOperations: # pylint: disable=too-many-public-methods
1760
1747
  modified_access_conditions: Optional[_models.ModifiedAccessConditions] = None,
1761
1748
  **kwargs: Any
1762
1749
  ) -> None:
1763
- # pylint: disable=line-too-long
1764
1750
  """[Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete
1765
1751
  operations.
1766
1752
 
@@ -1866,7 +1852,6 @@ class BlobOperations: # pylint: disable=too-many-public-methods
1866
1852
  modified_access_conditions: Optional[_models.ModifiedAccessConditions] = None,
1867
1853
  **kwargs: Any
1868
1854
  ) -> None:
1869
- # pylint: disable=line-too-long
1870
1855
  """[Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete
1871
1856
  operations.
1872
1857
 
@@ -1976,7 +1961,6 @@ class BlobOperations: # pylint: disable=too-many-public-methods
1976
1961
  lease_access_conditions: Optional[_models.LeaseAccessConditions] = None,
1977
1962
  **kwargs: Any
1978
1963
  ) -> None:
1979
- # pylint: disable=line-too-long
1980
1964
  """The Create Snapshot operation creates a read-only snapshot of a blob.
1981
1965
 
1982
1966
  :param timeout: The timeout parameter is expressed in seconds. For more information, see
@@ -2118,7 +2102,6 @@ class BlobOperations: # pylint: disable=too-many-public-methods
2118
2102
  lease_access_conditions: Optional[_models.LeaseAccessConditions] = None,
2119
2103
  **kwargs: Any
2120
2104
  ) -> None:
2121
- # pylint: disable=line-too-long
2122
2105
  """The Start Copy From URL operation copies a blob or an internet resource to a new blob.
2123
2106
 
2124
2107
  :param copy_source: Specifies the name of the source page blob snapshot. This value is a URL of
@@ -2287,13 +2270,13 @@ class BlobOperations: # pylint: disable=too-many-public-methods
2287
2270
  legal_hold: Optional[bool] = None,
2288
2271
  copy_source_authorization: Optional[str] = None,
2289
2272
  copy_source_tags: Optional[Union[str, _models.BlobCopySourceTags]] = None,
2273
+ file_request_intent: Optional[Union[str, _models.FileShareTokenIntent]] = None,
2290
2274
  source_modified_access_conditions: Optional[_models.SourceModifiedAccessConditions] = None,
2291
2275
  modified_access_conditions: Optional[_models.ModifiedAccessConditions] = None,
2292
2276
  lease_access_conditions: Optional[_models.LeaseAccessConditions] = None,
2293
2277
  cpk_scope_info: Optional[_models.CpkScopeInfo] = None,
2294
2278
  **kwargs: Any
2295
2279
  ) -> None:
2296
- # pylint: disable=line-too-long
2297
2280
  """The Copy From URL operation copies a blob or an internet resource to a new blob. It will not
2298
2281
  return a response until the copy is complete.
2299
2282
 
@@ -2344,6 +2327,8 @@ class BlobOperations: # pylint: disable=too-many-public-methods
2344
2327
  copied or replaced with the tags specified by x-ms-tags. Known values are: "REPLACE" and
2345
2328
  "COPY". Default value is None.
2346
2329
  :type copy_source_tags: str or ~azure.storage.blob.models.BlobCopySourceTags
2330
+ :param file_request_intent: Valid value is backup. "backup" Default value is None.
2331
+ :type file_request_intent: str or ~azure.storage.blob.models.FileShareTokenIntent
2347
2332
  :param source_modified_access_conditions: Parameter group. Default value is None.
2348
2333
  :type source_modified_access_conditions:
2349
2334
  ~azure.storage.blob.models.SourceModifiedAccessConditions
@@ -2425,6 +2410,7 @@ class BlobOperations: # pylint: disable=too-many-public-methods
2425
2410
  copy_source_authorization=copy_source_authorization,
2426
2411
  encryption_scope=_encryption_scope,
2427
2412
  copy_source_tags=copy_source_tags,
2413
+ file_request_intent=file_request_intent,
2428
2414
  x_ms_requires_sync=x_ms_requires_sync,
2429
2415
  version=self._config.version,
2430
2416
  headers=_headers,
@@ -2476,7 +2462,6 @@ class BlobOperations: # pylint: disable=too-many-public-methods
2476
2462
  lease_access_conditions: Optional[_models.LeaseAccessConditions] = None,
2477
2463
  **kwargs: Any
2478
2464
  ) -> None:
2479
- # pylint: disable=line-too-long
2480
2465
  """The Abort Copy From URL operation aborts a pending Copy From URL operation, and leaves a
2481
2466
  destination blob with zero length and full metadata.
2482
2467
 
@@ -2569,7 +2554,6 @@ class BlobOperations: # pylint: disable=too-many-public-methods
2569
2554
  modified_access_conditions: Optional[_models.ModifiedAccessConditions] = None,
2570
2555
  **kwargs: Any
2571
2556
  ) -> None:
2572
- # pylint: disable=line-too-long
2573
2557
  """The Set Tier operation sets the tier on a blob. The operation is allowed on a page blob in a
2574
2558
  premium storage account and on a block blob in a blob storage account (locally redundant
2575
2559
  storage only). A premium page blob's tier determines the allowed size, IOPS, and bandwidth of
@@ -2674,7 +2658,6 @@ class BlobOperations: # pylint: disable=too-many-public-methods
2674
2658
  async def get_account_info(
2675
2659
  self, timeout: Optional[int] = None, request_id_parameter: Optional[str] = None, **kwargs: Any
2676
2660
  ) -> None:
2677
- # pylint: disable=line-too-long
2678
2661
  """Returns the sku name and account kind.
2679
2662
 
2680
2663
  :param timeout: The timeout parameter is expressed in seconds. For more information, see
@@ -2755,7 +2738,6 @@ class BlobOperations: # pylint: disable=too-many-public-methods
2755
2738
  query_request: Optional[_models.QueryRequest] = None,
2756
2739
  **kwargs: Any
2757
2740
  ) -> AsyncIterator[bytes]:
2758
- # pylint: disable=line-too-long
2759
2741
  """The Query operation enables users to select/project on blob data by providing simple query
2760
2742
  expressions.
2761
2743
 
@@ -3005,7 +2987,6 @@ class BlobOperations: # pylint: disable=too-many-public-methods
3005
2987
  lease_access_conditions: Optional[_models.LeaseAccessConditions] = None,
3006
2988
  **kwargs: Any
3007
2989
  ) -> _models.BlobTags:
3008
- # pylint: disable=line-too-long
3009
2990
  """The Get Tags operation enables users to get the tags associated with a blob.
3010
2991
 
3011
2992
  :param timeout: The timeout parameter is expressed in seconds. For more information, see
@@ -3111,7 +3092,6 @@ class BlobOperations: # pylint: disable=too-many-public-methods
3111
3092
  tags: Optional[_models.BlobTags] = None,
3112
3093
  **kwargs: Any
3113
3094
  ) -> None:
3114
- # pylint: disable=line-too-long
3115
3095
  """The Set Tags operation enables users to set tags on a blob.
3116
3096
 
3117
3097
  :param timeout: The timeout parameter is expressed in seconds. For more information, see
@@ -1,4 +1,4 @@
1
- # pylint: disable=too-many-lines
1
+ # pylint: disable=line-too-long,useless-suppression,too-many-lines
2
2
  # coding=utf-8
3
3
  # --------------------------------------------------------------------------
4
4
  # Copyright (c) Microsoft Corporation. All rights reserved.
@@ -87,7 +87,6 @@ class BlockBlobOperations:
87
87
  modified_access_conditions: Optional[_models.ModifiedAccessConditions] = None,
88
88
  **kwargs: Any
89
89
  ) -> None:
90
- # pylint: disable=line-too-long
91
90
  """The Upload Block Blob operation updates the content of an existing block blob. Updating an
92
91
  existing block blob overwrites any existing metadata on the blob. Partial updates are not
93
92
  supported with Put Blob; the content of the existing blob is overwritten with the content of
@@ -305,6 +304,7 @@ class BlockBlobOperations:
305
304
  copy_source_blob_properties: Optional[bool] = None,
306
305
  copy_source_authorization: Optional[str] = None,
307
306
  copy_source_tags: Optional[Union[str, _models.BlobCopySourceTags]] = None,
307
+ file_request_intent: Optional[Union[str, _models.FileShareTokenIntent]] = None,
308
308
  blob_http_headers: Optional[_models.BlobHTTPHeaders] = None,
309
309
  lease_access_conditions: Optional[_models.LeaseAccessConditions] = None,
310
310
  cpk_info: Optional[_models.CpkInfo] = None,
@@ -313,7 +313,6 @@ class BlockBlobOperations:
313
313
  source_modified_access_conditions: Optional[_models.SourceModifiedAccessConditions] = None,
314
314
  **kwargs: Any
315
315
  ) -> None:
316
- # pylint: disable=line-too-long
317
316
  """The Put Blob from URL operation creates a new Block Blob where the contents of the blob are
318
317
  read from a given URL. This API is supported beginning with the 2020-04-08 version. Partial
319
318
  updates are not supported with Put Blob from URL; the content of an existing blob is
@@ -367,6 +366,8 @@ class BlockBlobOperations:
367
366
  copied or replaced with the tags specified by x-ms-tags. Known values are: "REPLACE" and
368
367
  "COPY". Default value is None.
369
368
  :type copy_source_tags: str or ~azure.storage.blob.models.BlobCopySourceTags
369
+ :param file_request_intent: Valid value is backup. "backup" Default value is None.
370
+ :type file_request_intent: str or ~azure.storage.blob.models.FileShareTokenIntent
370
371
  :param blob_http_headers: Parameter group. Default value is None.
371
372
  :type blob_http_headers: ~azure.storage.blob.models.BlobHTTPHeaders
372
373
  :param lease_access_conditions: Parameter group. Default value is None.
@@ -482,6 +483,7 @@ class BlockBlobOperations:
482
483
  copy_source_blob_properties=copy_source_blob_properties,
483
484
  copy_source_authorization=copy_source_authorization,
484
485
  copy_source_tags=copy_source_tags,
486
+ file_request_intent=file_request_intent,
485
487
  blob_type=blob_type,
486
488
  version=self._config.version,
487
489
  headers=_headers,
@@ -542,7 +544,6 @@ class BlockBlobOperations:
542
544
  cpk_scope_info: Optional[_models.CpkScopeInfo] = None,
543
545
  **kwargs: Any
544
546
  ) -> None:
545
- # pylint: disable=line-too-long
546
547
  """The Stage Block operation creates a new block to be committed as part of a blob.
547
548
 
548
549
  :param block_id: A valid Base64 string value that identifies the block. Prior to encoding, the
@@ -690,13 +691,13 @@ class BlockBlobOperations:
690
691
  timeout: Optional[int] = None,
691
692
  request_id_parameter: Optional[str] = None,
692
693
  copy_source_authorization: Optional[str] = None,
694
+ file_request_intent: Optional[Union[str, _models.FileShareTokenIntent]] = None,
693
695
  cpk_info: Optional[_models.CpkInfo] = None,
694
696
  cpk_scope_info: Optional[_models.CpkScopeInfo] = None,
695
697
  lease_access_conditions: Optional[_models.LeaseAccessConditions] = None,
696
698
  source_modified_access_conditions: Optional[_models.SourceModifiedAccessConditions] = None,
697
699
  **kwargs: Any
698
700
  ) -> None:
699
- # pylint: disable=line-too-long
700
701
  """The Stage Block operation creates a new block to be committed as part of a blob where the
701
702
  contents are read from a URL.
702
703
 
@@ -728,6 +729,8 @@ class BlockBlobOperations:
728
729
  :param copy_source_authorization: Only Bearer type is supported. Credentials should be a valid
729
730
  OAuth access token to copy source. Default value is None.
730
731
  :type copy_source_authorization: str
732
+ :param file_request_intent: Valid value is backup. "backup" Default value is None.
733
+ :type file_request_intent: str or ~azure.storage.blob.models.FileShareTokenIntent
731
734
  :param cpk_info: Parameter group. Default value is None.
732
735
  :type cpk_info: ~azure.storage.blob.models.CpkInfo
733
736
  :param cpk_scope_info: Parameter group. Default value is None.
@@ -798,6 +801,7 @@ class BlockBlobOperations:
798
801
  source_if_none_match=_source_if_none_match,
799
802
  request_id_parameter=request_id_parameter,
800
803
  copy_source_authorization=copy_source_authorization,
804
+ file_request_intent=file_request_intent,
801
805
  comp=comp,
802
806
  version=self._config.version,
803
807
  headers=_headers,
@@ -862,7 +866,6 @@ class BlockBlobOperations:
862
866
  modified_access_conditions: Optional[_models.ModifiedAccessConditions] = None,
863
867
  **kwargs: Any
864
868
  ) -> None:
865
- # pylint: disable=line-too-long
866
869
  """The Commit Block List operation writes a blob by specifying the list of block IDs that make up
867
870
  the blob. In order to be written as part of a blob, a block must have been successfully written
868
871
  to the server in a prior Put Block operation. You can call Put Block List to update a blob by
@@ -1066,7 +1069,6 @@ class BlockBlobOperations:
1066
1069
  modified_access_conditions: Optional[_models.ModifiedAccessConditions] = None,
1067
1070
  **kwargs: Any
1068
1071
  ) -> _models.BlockList:
1069
- # pylint: disable=line-too-long
1070
1072
  """The Get Block List operation retrieves the list of blocks that have been uploaded as part of a
1071
1073
  block blob.
1072
1074