Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[STG78][FileShare]List Files v2 #19017

Merged
merged 3 commits into from
Jul 22, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -335,6 +335,19 @@ def list_directories_and_files(self, name_starts_with=None, **kwargs):
:param str name_starts_with:
Filters the results to return only entities whose names
begin with the specified prefix.
:keyword list[str] include:
Include this parameter to specify one or more datasets to include in the response.
Possible str values are "timestamps", "Etag", "Attributes", "PermissionKey".

.. versionadded:: 12.6.0
This keyword argument was introduced in API version '2020-10-02'.

:keyword bool include_extended_info:
If this is set to true, file id will be returned in listed results.

.. versionadded:: 12.6.0
This keyword argument was introduced in API version '2020-10-02'.

:keyword int timeout:
The timeout parameter is expressed in seconds.
:returns: An auto-paging iterable of dict-like DirectoryProperties and FileProperties
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
from typing import Any, Callable, Dict, Generic, Optional, TypeVar
from typing import Any, Callable, Dict, Generic, List, Optional, TypeVar, Union
import warnings

from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
Expand Down Expand Up @@ -42,7 +42,7 @@ def __init__(self, client, config, serializer, deserializer) -> None:
async def create(
self,
timeout: Optional[int] = None,
metadata: Optional[Dict[str, str]] = None,
metadata: Optional[str] = None,
file_permission: Optional[str] = "inherit",
file_permission_key: Optional[str] = None,
file_attributes: str = "none",
Expand All @@ -58,7 +58,7 @@ async def create(
Timeouts for File Service Operations.</a>`.
:type timeout: int
:param metadata: A name-value pair to associate with a file storage object.
:type metadata: dict[str, str]
:type metadata: str
:param file_permission: If specified the permission (security descriptor) shall be set for the
directory/file. This header can be used if Permission size is <= 8KB, else
x-ms-file-permission-key header shall be used. Default value: Inherit. If SDDL is specified as
Expand Down Expand Up @@ -104,7 +104,7 @@ async def create(
# Construct headers
header_parameters = {} # type: Dict[str, Any]
if metadata is not None:
header_parameters['x-ms-meta'] = self._serialize.header("metadata", metadata, '{str}')
header_parameters['x-ms-meta'] = self._serialize.header("metadata", metadata, 'str')
header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str')
if file_permission is not None:
header_parameters['x-ms-file-permission'] = self._serialize.header("file_permission", file_permission, 'str')
Expand Down Expand Up @@ -205,7 +205,7 @@ async def get_properties(
raise HttpResponseError(response=response, model=error)

response_headers = {}
response_headers['x-ms-meta']=self._deserialize('{str}', response.headers.get('x-ms-meta'))
response_headers['x-ms-meta']=self._deserialize('str', response.headers.get('x-ms-meta'))
response_headers['ETag']=self._deserialize('str', response.headers.get('ETag'))
response_headers['Last-Modified']=self._deserialize('rfc-1123', response.headers.get('Last-Modified'))
response_headers['x-ms-request-id']=self._deserialize('str', response.headers.get('x-ms-request-id'))
Expand Down Expand Up @@ -393,7 +393,7 @@ async def set_properties(
async def set_metadata(
self,
timeout: Optional[int] = None,
metadata: Optional[Dict[str, str]] = None,
metadata: Optional[str] = None,
**kwargs: Any
) -> None:
"""Updates user defined metadata for the specified directory.
Expand All @@ -404,7 +404,7 @@ async def set_metadata(
Timeouts for File Service Operations.</a>`.
:type timeout: int
:param metadata: A name-value pair to associate with a file storage object.
:type metadata: dict[str, str]
:type metadata: str
:keyword callable cls: A custom type or function that will be passed the direct response
:return: None, or the result of cls(response)
:rtype: None
Expand Down Expand Up @@ -436,7 +436,7 @@ async def set_metadata(
# Construct headers
header_parameters = {} # type: Dict[str, Any]
if metadata is not None:
header_parameters['x-ms-meta'] = self._serialize.header("metadata", metadata, '{str}')
header_parameters['x-ms-meta'] = self._serialize.header("metadata", metadata, 'str')
header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str')
header_parameters['Accept'] = self._serialize.header("accept", accept, 'str')

Expand Down Expand Up @@ -468,6 +468,8 @@ async def list_files_and_directories_segment(
marker: Optional[str] = None,
maxresults: Optional[int] = None,
timeout: Optional[int] = None,
include: Optional[List[Union[str, "_models.ListFilesIncludeType"]]] = None,
include_extended_info: Optional[bool] = None,
**kwargs: Any
) -> "_models.ListFilesAndDirectoriesSegmentResponse":
"""Returns a list of files or directories under the specified share or directory. It lists the
Expand All @@ -493,6 +495,11 @@ async def list_files_and_directories_segment(
href="https://docs.microsoft.com/en-us/rest/api/storageservices/Setting-Timeouts-for-File-Service-Operations?redirectedfrom=MSDN">Setting
Timeouts for File Service Operations.</a>`.
:type timeout: int
:param include: Include this parameter to specify one or more datasets to include in the
response.
:type include: list[str or ~azure.storage.fileshare.models.ListFilesIncludeType]
:param include_extended_info:
:type include_extended_info: bool
:keyword callable cls: A custom type or function that will be passed the direct response
:return: ListFilesAndDirectoriesSegmentResponse, or the result of cls(response)
:rtype: ~azure.storage.fileshare.models.ListFilesAndDirectoriesSegmentResponse
Expand Down Expand Up @@ -528,10 +535,14 @@ async def list_files_and_directories_segment(
query_parameters['maxresults'] = self._serialize.query("maxresults", maxresults, 'int', minimum=1)
if timeout is not None:
query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0)
if include is not None:
query_parameters['include'] = self._serialize.query("include", include, '[str]', div=',')

# Construct headers
header_parameters = {} # type: Dict[str, Any]
header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str')
if include_extended_info is not None:
header_parameters['x-ms-file-extended-info'] = self._serialize.header("include_extended_info", include_extended_info, 'bool')
header_parameters['Accept'] = self._serialize.header("accept", accept, 'str')

request = self._client.get(url, query_parameters, header_parameters)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ async def create(
self,
file_content_length: int,
timeout: Optional[int] = None,
metadata: Optional[Dict[str, str]] = None,
metadata: Optional[str] = None,
file_permission: Optional[str] = "inherit",
file_permission_key: Optional[str] = None,
file_attributes: str = "none",
Expand All @@ -63,7 +63,7 @@ async def create(
Timeouts for File Service Operations.</a>`.
:type timeout: int
:param metadata: A name-value pair to associate with a file storage object.
:type metadata: dict[str, str]
:type metadata: str
:param file_permission: If specified the permission (security descriptor) shall be set for the
directory/file. This header can be used if Permission size is <= 8KB, else
x-ms-file-permission-key header shall be used. Default value: Inherit. If SDDL is specified as
Expand Down Expand Up @@ -144,7 +144,7 @@ async def create(
if _file_content_disposition is not None:
header_parameters['x-ms-content-disposition'] = self._serialize.header("file_content_disposition", _file_content_disposition, 'str')
if metadata is not None:
header_parameters['x-ms-meta'] = self._serialize.header("metadata", metadata, '{str}')
header_parameters['x-ms-meta'] = self._serialize.header("metadata", metadata, 'str')
if file_permission is not None:
header_parameters['x-ms-file-permission'] = self._serialize.header("file_permission", file_permission, 'str')
if file_permission_key is not None:
Expand Down Expand Up @@ -259,7 +259,7 @@ async def download(
response_headers = {}
if response.status_code == 200:
response_headers['Last-Modified']=self._deserialize('rfc-1123', response.headers.get('Last-Modified'))
response_headers['x-ms-meta']=self._deserialize('{str}', response.headers.get('x-ms-meta'))
response_headers['x-ms-meta']=self._deserialize('str', response.headers.get('x-ms-meta'))
response_headers['Content-Length']=self._deserialize('long', response.headers.get('Content-Length'))
response_headers['Content-Type']=self._deserialize('str', response.headers.get('Content-Type'))
response_headers['Content-Range']=self._deserialize('str', response.headers.get('Content-Range'))
Expand Down Expand Up @@ -295,7 +295,7 @@ async def download(

if response.status_code == 206:
response_headers['Last-Modified']=self._deserialize('rfc-1123', response.headers.get('Last-Modified'))
response_headers['x-ms-meta']=self._deserialize('{str}', response.headers.get('x-ms-meta'))
response_headers['x-ms-meta']=self._deserialize('str', response.headers.get('x-ms-meta'))
response_headers['Content-Length']=self._deserialize('long', response.headers.get('Content-Length'))
response_headers['Content-Type']=self._deserialize('str', response.headers.get('Content-Type'))
response_headers['Content-Range']=self._deserialize('str', response.headers.get('Content-Range'))
Expand Down Expand Up @@ -403,7 +403,7 @@ async def get_properties(

response_headers = {}
response_headers['Last-Modified']=self._deserialize('rfc-1123', response.headers.get('Last-Modified'))
response_headers['x-ms-meta']=self._deserialize('{str}', response.headers.get('x-ms-meta'))
response_headers['x-ms-meta']=self._deserialize('str', response.headers.get('x-ms-meta'))
response_headers['x-ms-type']=self._deserialize('str', response.headers.get('x-ms-type'))
response_headers['Content-Length']=self._deserialize('long', response.headers.get('Content-Length'))
response_headers['Content-Type']=self._deserialize('str', response.headers.get('Content-Type'))
Expand Down Expand Up @@ -655,7 +655,7 @@ async def set_http_headers(
async def set_metadata(
self,
timeout: Optional[int] = None,
metadata: Optional[Dict[str, str]] = None,
metadata: Optional[str] = None,
lease_access_conditions: Optional["_models.LeaseAccessConditions"] = None,
**kwargs: Any
) -> None:
Expand All @@ -667,7 +667,7 @@ async def set_metadata(
Timeouts for File Service Operations.</a>`.
:type timeout: int
:param metadata: A name-value pair to associate with a file storage object.
:type metadata: dict[str, str]
:type metadata: str
:param lease_access_conditions: Parameter group.
:type lease_access_conditions: ~azure.storage.fileshare.models.LeaseAccessConditions
:keyword callable cls: A custom type or function that will be passed the direct response
Expand Down Expand Up @@ -703,7 +703,7 @@ async def set_metadata(
# Construct headers
header_parameters = {} # type: Dict[str, Any]
if metadata is not None:
header_parameters['x-ms-meta'] = self._serialize.header("metadata", metadata, '{str}')
header_parameters['x-ms-meta'] = self._serialize.header("metadata", metadata, 'str')
header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str')
if _lease_id is not None:
header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", _lease_id, 'str')
Expand Down Expand Up @@ -1393,7 +1393,7 @@ async def start_copy(
self,
copy_source: str,
timeout: Optional[int] = None,
metadata: Optional[Dict[str, str]] = None,
metadata: Optional[str] = None,
file_permission: Optional[str] = "inherit",
file_permission_key: Optional[str] = None,
copy_file_smb_info: Optional["_models.CopyFileSmbInfo"] = None,
Expand All @@ -1416,7 +1416,7 @@ async def start_copy(
Timeouts for File Service Operations.</a>`.
:type timeout: int
:param metadata: A name-value pair to associate with a file storage object.
:type metadata: dict[str, str]
:type metadata: str
:param file_permission: If specified the permission (security descriptor) shall be set for the
directory/file. This header can be used if Permission size is <= 8KB, else
x-ms-file-permission-key header shall be used. Default value: Inherit. If SDDL is specified as
Expand Down Expand Up @@ -1475,7 +1475,7 @@ async def start_copy(
header_parameters = {} # type: Dict[str, Any]
header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str')
if metadata is not None:
header_parameters['x-ms-meta'] = self._serialize.header("metadata", metadata, '{str}')
header_parameters['x-ms-meta'] = self._serialize.header("metadata", metadata, 'str')
header_parameters['x-ms-copy-source'] = self._serialize.header("copy_source", copy_source, 'str')
if file_permission is not None:
header_parameters['x-ms-file-permission'] = self._serialize.header("file_permission", file_permission, 'str')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ def __init__(self, client, config, serializer, deserializer) -> None:
async def create(
self,
timeout: Optional[int] = None,
metadata: Optional[Dict[str, str]] = None,
metadata: Optional[str] = None,
quota: Optional[int] = None,
access_tier: Optional[Union[str, "_models.ShareAccessTier"]] = None,
enabled_protocols: Optional[str] = None,
Expand All @@ -58,7 +58,7 @@ async def create(
Timeouts for File Service Operations.</a>`.
:type timeout: int
:param metadata: A name-value pair to associate with a file storage object.
:type metadata: dict[str, str]
:type metadata: str
:param quota: Specifies the maximum size of the share, in gigabytes.
:type quota: int
:param access_tier: Specifies the access tier of the share.
Expand Down Expand Up @@ -96,7 +96,7 @@ async def create(
# Construct headers
header_parameters = {} # type: Dict[str, Any]
if metadata is not None:
header_parameters['x-ms-meta'] = self._serialize.header("metadata", metadata, '{str}')
header_parameters['x-ms-meta'] = self._serialize.header("metadata", metadata, 'str')
if quota is not None:
header_parameters['x-ms-share-quota'] = self._serialize.header("quota", quota, 'int', minimum=1)
if access_tier is not None:
Expand Down Expand Up @@ -198,7 +198,7 @@ async def get_properties(
raise HttpResponseError(response=response, model=error)

response_headers = {}
response_headers['x-ms-meta']=self._deserialize('{str}', response.headers.get('x-ms-meta'))
response_headers['x-ms-meta']=self._deserialize('str', response.headers.get('x-ms-meta'))
response_headers['ETag']=self._deserialize('str', response.headers.get('ETag'))
response_headers['Last-Modified']=self._deserialize('rfc-1123', response.headers.get('Last-Modified'))
response_headers['x-ms-request-id']=self._deserialize('str', response.headers.get('x-ms-request-id'))
Expand Down Expand Up @@ -778,7 +778,7 @@ async def break_lease(
async def create_snapshot(
self,
timeout: Optional[int] = None,
metadata: Optional[Dict[str, str]] = None,
metadata: Optional[str] = None,
**kwargs: Any
) -> None:
"""Creates a read-only snapshot of a share.
Expand All @@ -789,7 +789,7 @@ async def create_snapshot(
Timeouts for File Service Operations.</a>`.
:type timeout: int
:param metadata: A name-value pair to associate with a file storage object.
:type metadata: dict[str, str]
:type metadata: str
:keyword callable cls: A custom type or function that will be passed the direct response
:return: None, or the result of cls(response)
:rtype: None
Expand Down Expand Up @@ -821,7 +821,7 @@ async def create_snapshot(
# Construct headers
header_parameters = {} # type: Dict[str, Any]
if metadata is not None:
header_parameters['x-ms-meta'] = self._serialize.header("metadata", metadata, '{str}')
header_parameters['x-ms-meta'] = self._serialize.header("metadata", metadata, 'str')
header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str')
header_parameters['Accept'] = self._serialize.header("accept", accept, 'str')

Expand Down Expand Up @@ -1083,7 +1083,7 @@ async def set_properties(
async def set_metadata(
self,
timeout: Optional[int] = None,
metadata: Optional[Dict[str, str]] = None,
metadata: Optional[str] = None,
lease_access_conditions: Optional["_models.LeaseAccessConditions"] = None,
**kwargs: Any
) -> None:
Expand All @@ -1095,7 +1095,7 @@ async def set_metadata(
Timeouts for File Service Operations.</a>`.
:type timeout: int
:param metadata: A name-value pair to associate with a file storage object.
:type metadata: dict[str, str]
:type metadata: str
:param lease_access_conditions: Parameter group.
:type lease_access_conditions: ~azure.storage.fileshare.models.LeaseAccessConditions
:keyword callable cls: A custom type or function that will be passed the direct response
Expand Down Expand Up @@ -1133,7 +1133,7 @@ async def set_metadata(
# Construct headers
header_parameters = {} # type: Dict[str, Any]
if metadata is not None:
header_parameters['x-ms-meta'] = self._serialize.header("metadata", metadata, '{str}')
header_parameters['x-ms-meta'] = self._serialize.header("metadata", metadata, 'str')
header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str')
if _lease_id is not None:
header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", _lease_id, 'str')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@
LeaseDurationType,
LeaseStateType,
LeaseStatusType,
ListFilesIncludeType,
ListSharesIncludeType,
PermissionCopyModeType,
ShareAccessTier,
Expand Down Expand Up @@ -117,6 +118,7 @@
'LeaseDurationType',
'LeaseStateType',
'LeaseStatusType',
'ListFilesIncludeType',
'ListSharesIncludeType',
'PermissionCopyModeType',
'ShareAccessTier',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,13 @@ class LeaseStatusType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
LOCKED = "locked"
UNLOCKED = "unlocked"

class ListFilesIncludeType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):

TIMESTAMPS = "Timestamps"
ETAG = "Etag"
ATTRIBUTES = "Attributes"
PERMISSION_KEY = "PermissionKey"

class ListSharesIncludeType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):

SNAPSHOTS = "snapshots"
Expand Down
Loading