diff options
Diffstat (limited to '.venv/lib/python3.12/site-packages/azure/storage/fileshare/_generated/models')
4 files changed, 2083 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/azure/storage/fileshare/_generated/models/__init__.py b/.venv/lib/python3.12/site-packages/azure/storage/fileshare/_generated/models/__init__.py new file mode 100644 index 00000000..cb14cb30 --- /dev/null +++ b/.venv/lib/python3.12/site-packages/azure/storage/fileshare/_generated/models/__init__.py @@ -0,0 +1,130 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=wrong-import-position + +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._patch import * # pylint: disable=unused-wildcard-import + + +from ._models_py3 import ( # type: ignore + AccessPolicy, + ClearRange, + CopyFileSmbInfo, + CorsRule, + DestinationLeaseAccessConditions, + DirectoryItem, + FileHTTPHeaders, + FileItem, + FileProperty, + FileRange, + FilesAndDirectoriesListSegment, + HandleItem, + LeaseAccessConditions, + ListFilesAndDirectoriesSegmentResponse, + ListHandlesResponse, + ListSharesResponse, + Metrics, + RetentionPolicy, + ShareFileRangeList, + ShareItemInternal, + SharePermission, + SharePropertiesInternal, + ShareProtocolSettings, + ShareSmbSettings, + ShareStats, + SignedIdentifier, + SmbMultichannel, + SourceLeaseAccessConditions, + SourceModifiedAccessConditions, + StorageError, + StorageServiceProperties, + StringEncoded, +) + +from ._azure_file_storage_enums import ( # type: ignore + AccessRight, + CopyStatusType, + DeleteSnapshotsOptionType, + FileLastWrittenMode, + FilePermissionFormat, + FileRangeWriteType, + LeaseDurationType, + LeaseStateType, + LeaseStatusType, + ListFilesIncludeType, + ListSharesIncludeType, + ModeCopyMode, + NfsFileType, + OwnerCopyMode, + PermissionCopyModeType, + ShareAccessTier, + ShareRootSquash, + ShareTokenIntent, + StorageErrorCode, +) +from ._patch import __all__ as _patch_all +from ._patch import * +from ._patch import patch_sdk as _patch_sdk + +__all__ = [ + "AccessPolicy", + "ClearRange", + "CopyFileSmbInfo", + "CorsRule", + "DestinationLeaseAccessConditions", + "DirectoryItem", + "FileHTTPHeaders", + "FileItem", + "FileProperty", + "FileRange", + "FilesAndDirectoriesListSegment", + "HandleItem", + "LeaseAccessConditions", + "ListFilesAndDirectoriesSegmentResponse", + "ListHandlesResponse", + "ListSharesResponse", + "Metrics", + "RetentionPolicy", + "ShareFileRangeList", + "ShareItemInternal", + "SharePermission", + "SharePropertiesInternal", + "ShareProtocolSettings", + "ShareSmbSettings", + "ShareStats", + "SignedIdentifier", + "SmbMultichannel", + "SourceLeaseAccessConditions", + "SourceModifiedAccessConditions", + "StorageError", + "StorageServiceProperties", + "StringEncoded", + "AccessRight", + "CopyStatusType", + "DeleteSnapshotsOptionType", + "FileLastWrittenMode", + "FilePermissionFormat", + "FileRangeWriteType", + "LeaseDurationType", + "LeaseStateType", + "LeaseStatusType", + "ListFilesIncludeType", + "ListSharesIncludeType", + "ModeCopyMode", + "NfsFileType", + "OwnerCopyMode", + "PermissionCopyModeType", + "ShareAccessTier", + "ShareRootSquash", + "ShareTokenIntent", + "StorageErrorCode", +] +__all__.extend([p for p in _patch_all if p not in __all__]) # pyright: ignore +_patch_sdk() diff --git a/.venv/lib/python3.12/site-packages/azure/storage/fileshare/_generated/models/_azure_file_storage_enums.py b/.venv/lib/python3.12/site-packages/azure/storage/fileshare/_generated/models/_azure_file_storage_enums.py new file mode 100644 index 00000000..efc7a7fe --- /dev/null +++ b/.venv/lib/python3.12/site-packages/azure/storage/fileshare/_generated/models/_azure_file_storage_enums.py @@ -0,0 +1,222 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from enum import Enum +from azure.core import CaseInsensitiveEnumMeta + + +class AccessRight(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """Access rights of the access policy.""" + + READ = "Read" + WRITE = "Write" + DELETE = "Delete" + + +class CopyStatusType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """CopyStatusType.""" + + PENDING = "pending" + SUCCESS = "success" + ABORTED = "aborted" + FAILED = "failed" + + +class DeleteSnapshotsOptionType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """DeleteSnapshotsOptionType.""" + + INCLUDE = "include" + INCLUDE_LEASED = "include-leased" + + +class FileLastWrittenMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """FileLastWrittenMode.""" + + NOW = "Now" + PRESERVE = "Preserve" + + +class FilePermissionFormat(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """FilePermissionFormat.""" + + SDDL = "Sddl" + BINARY = "Binary" + + +class FileRangeWriteType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """FileRangeWriteType.""" + + UPDATE = "update" + CLEAR = "clear" + + +class LeaseDurationType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """When a share is leased, specifies whether the lease is of infinite or fixed duration.""" + + INFINITE = "infinite" + FIXED = "fixed" + + +class LeaseStateType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """Lease state of the share.""" + + AVAILABLE = "available" + LEASED = "leased" + EXPIRED = "expired" + BREAKING = "breaking" + BROKEN = "broken" + + +class LeaseStatusType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """The current lease status of the share.""" + + LOCKED = "locked" + UNLOCKED = "unlocked" + + +class ListFilesIncludeType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """ListFilesIncludeType.""" + + TIMESTAMPS = "Timestamps" + ETAG = "Etag" + ATTRIBUTES = "Attributes" + PERMISSION_KEY = "PermissionKey" + + +class ListSharesIncludeType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """ListSharesIncludeType.""" + + SNAPSHOTS = "snapshots" + METADATA = "metadata" + DELETED = "deleted" + + +class ModeCopyMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """ModeCopyMode.""" + + SOURCE = "source" + OVERRIDE = "override" + + +class NfsFileType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """NfsFileType.""" + + REGULAR = "Regular" + DIRECTORY = "Directory" + SYM_LINK = "SymLink" + + +class OwnerCopyMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """OwnerCopyMode.""" + + SOURCE = "source" + OVERRIDE = "override" + + +class PermissionCopyModeType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """PermissionCopyModeType.""" + + SOURCE = "source" + OVERRIDE = "override" + + +class ShareAccessTier(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """ShareAccessTier.""" + + TRANSACTION_OPTIMIZED = "TransactionOptimized" + HOT = "Hot" + COOL = "Cool" + PREMIUM = "Premium" + + +class ShareRootSquash(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """ShareRootSquash.""" + + NO_ROOT_SQUASH = "NoRootSquash" + ROOT_SQUASH = "RootSquash" + ALL_SQUASH = "AllSquash" + + +class ShareTokenIntent(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """ShareTokenIntent.""" + + BACKUP = "backup" + + +class StorageErrorCode(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """Error codes returned by the service.""" + + ACCOUNT_ALREADY_EXISTS = "AccountAlreadyExists" + ACCOUNT_BEING_CREATED = "AccountBeingCreated" + ACCOUNT_IS_DISABLED = "AccountIsDisabled" + AUTHENTICATION_FAILED = "AuthenticationFailed" + AUTHORIZATION_FAILURE = "AuthorizationFailure" + CONDITION_HEADERS_NOT_SUPPORTED = "ConditionHeadersNotSupported" + CONDITION_NOT_MET = "ConditionNotMet" + EMPTY_METADATA_KEY = "EmptyMetadataKey" + FILE_SHARE_PROVISIONED_BANDWIDTH_DOWNGRADE_NOT_ALLOWED = "FileShareProvisionedBandwidthDowngradeNotAllowed" + FILE_SHARE_PROVISIONED_IOPS_DOWNGRADE_NOT_ALLOWED = "FileShareProvisionedIopsDowngradeNotAllowed" + INSUFFICIENT_ACCOUNT_PERMISSIONS = "InsufficientAccountPermissions" + INTERNAL_ERROR = "InternalError" + INVALID_AUTHENTICATION_INFO = "InvalidAuthenticationInfo" + INVALID_HEADER_VALUE = "InvalidHeaderValue" + INVALID_HTTP_VERB = "InvalidHttpVerb" + INVALID_INPUT = "InvalidInput" + INVALID_MD5 = "InvalidMd5" + INVALID_METADATA = "InvalidMetadata" + INVALID_QUERY_PARAMETER_VALUE = "InvalidQueryParameterValue" + INVALID_RANGE = "InvalidRange" + INVALID_RESOURCE_NAME = "InvalidResourceName" + INVALID_URI = "InvalidUri" + INVALID_XML_DOCUMENT = "InvalidXmlDocument" + INVALID_XML_NODE_VALUE = "InvalidXmlNodeValue" + MD5_MISMATCH = "Md5Mismatch" + METADATA_TOO_LARGE = "MetadataTooLarge" + MISSING_CONTENT_LENGTH_HEADER = "MissingContentLengthHeader" + MISSING_REQUIRED_QUERY_PARAMETER = "MissingRequiredQueryParameter" + MISSING_REQUIRED_HEADER = "MissingRequiredHeader" + MISSING_REQUIRED_XML_NODE = "MissingRequiredXmlNode" + MULTIPLE_CONDITION_HEADERS_NOT_SUPPORTED = "MultipleConditionHeadersNotSupported" + OPERATION_TIMED_OUT = "OperationTimedOut" + OUT_OF_RANGE_INPUT = "OutOfRangeInput" + OUT_OF_RANGE_QUERY_PARAMETER_VALUE = "OutOfRangeQueryParameterValue" + REQUEST_BODY_TOO_LARGE = "RequestBodyTooLarge" + RESOURCE_TYPE_MISMATCH = "ResourceTypeMismatch" + REQUEST_URL_FAILED_TO_PARSE = "RequestUrlFailedToParse" + RESOURCE_ALREADY_EXISTS = "ResourceAlreadyExists" + RESOURCE_NOT_FOUND = "ResourceNotFound" + SERVER_BUSY = "ServerBusy" + UNSUPPORTED_HEADER = "UnsupportedHeader" + UNSUPPORTED_XML_NODE = "UnsupportedXmlNode" + UNSUPPORTED_QUERY_PARAMETER = "UnsupportedQueryParameter" + UNSUPPORTED_HTTP_VERB = "UnsupportedHttpVerb" + CANNOT_DELETE_FILE_OR_DIRECTORY = "CannotDeleteFileOrDirectory" + CLIENT_CACHE_FLUSH_DELAY = "ClientCacheFlushDelay" + DELETE_PENDING = "DeletePending" + DIRECTORY_NOT_EMPTY = "DirectoryNotEmpty" + FILE_LOCK_CONFLICT = "FileLockConflict" + INVALID_FILE_OR_DIRECTORY_PATH_NAME = "InvalidFileOrDirectoryPathName" + PARENT_NOT_FOUND = "ParentNotFound" + READ_ONLY_ATTRIBUTE = "ReadOnlyAttribute" + SHARE_ALREADY_EXISTS = "ShareAlreadyExists" + SHARE_BEING_DELETED = "ShareBeingDeleted" + SHARE_DISABLED = "ShareDisabled" + SHARE_NOT_FOUND = "ShareNotFound" + SHARING_VIOLATION = "SharingViolation" + SHARE_SNAPSHOT_IN_PROGRESS = "ShareSnapshotInProgress" + SHARE_SNAPSHOT_COUNT_EXCEEDED = "ShareSnapshotCountExceeded" + SHARE_SNAPSHOT_OPERATION_NOT_SUPPORTED = "ShareSnapshotOperationNotSupported" + SHARE_HAS_SNAPSHOTS = "ShareHasSnapshots" + PREVIOUS_SNAPSHOT_NOT_FOUND = "PreviousSnapshotNotFound" + CONTAINER_QUOTA_DOWNGRADE_NOT_ALLOWED = "ContainerQuotaDowngradeNotAllowed" + AUTHORIZATION_SOURCE_IP_MISMATCH = "AuthorizationSourceIPMismatch" + AUTHORIZATION_PROTOCOL_MISMATCH = "AuthorizationProtocolMismatch" + AUTHORIZATION_PERMISSION_MISMATCH = "AuthorizationPermissionMismatch" + AUTHORIZATION_SERVICE_MISMATCH = "AuthorizationServiceMismatch" + AUTHORIZATION_RESOURCE_TYPE_MISMATCH = "AuthorizationResourceTypeMismatch" + FEATURE_VERSION_MISMATCH = "FeatureVersionMismatch" diff --git a/.venv/lib/python3.12/site-packages/azure/storage/fileshare/_generated/models/_models_py3.py b/.venv/lib/python3.12/site-packages/azure/storage/fileshare/_generated/models/_models_py3.py new file mode 100644 index 00000000..61fe75ce --- /dev/null +++ b/.venv/lib/python3.12/site-packages/azure/storage/fileshare/_generated/models/_models_py3.py @@ -0,0 +1,1711 @@ +# pylint: disable=too-many-lines +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +import datetime +from typing import Any, Dict, List, Optional, TYPE_CHECKING, Union + +from .. import _serialization + +if TYPE_CHECKING: + from .. import models as _models + + +class AccessPolicy(_serialization.Model): + """An Access policy. + + :ivar start: The date-time the policy is active. + :vartype start: str + :ivar expiry: The date-time the policy expires. + :vartype expiry: str + :ivar permission: The permissions for the ACL policy. + :vartype permission: str + """ + + _attribute_map = { + "start": {"key": "Start", "type": "str"}, + "expiry": {"key": "Expiry", "type": "str"}, + "permission": {"key": "Permission", "type": "str"}, + } + + def __init__( + self, + *, + start: Optional[str] = None, + expiry: Optional[str] = None, + permission: Optional[str] = None, + **kwargs: Any + ) -> None: + """ + :keyword start: The date-time the policy is active. + :paramtype start: str + :keyword expiry: The date-time the policy expires. + :paramtype expiry: str + :keyword permission: The permissions for the ACL policy. + :paramtype permission: str + """ + super().__init__(**kwargs) + self.start = start + self.expiry = expiry + self.permission = permission + + +class ClearRange(_serialization.Model): + """ClearRange. + + All required parameters must be populated in order to send to server. + + :ivar start: Required. + :vartype start: int + :ivar end: Required. + :vartype end: int + """ + + _validation = { + "start": {"required": True}, + "end": {"required": True}, + } + + _attribute_map = { + "start": {"key": "Start", "type": "int", "xml": {"name": "Start"}}, + "end": {"key": "End", "type": "int", "xml": {"name": "End"}}, + } + _xml_map = {"name": "ClearRange"} + + def __init__(self, *, start: int, end: int, **kwargs: Any) -> None: + """ + :keyword start: Required. + :paramtype start: int + :keyword end: Required. + :paramtype end: int + """ + super().__init__(**kwargs) + self.start = start + self.end = end + + +class CopyFileSmbInfo(_serialization.Model): + """Parameter group. + + :ivar file_attributes: Specifies either the option to copy file attributes from a source + file(source) to a target file or a list of attributes to set on a target file. + :vartype file_attributes: str + :ivar file_creation_time: Specifies either the option to copy file creation time from a source + file(source) to a target file or a time value in ISO 8601 format to set as creation time on a + target file. + :vartype file_creation_time: str + :ivar file_last_write_time: Specifies either the option to copy file last write time from a + source file(source) to a target file or a time value in ISO 8601 format to set as last write + time on a target file. + :vartype file_last_write_time: str + :ivar file_change_time: Specifies either the option to copy file last write time from a source + file(source) to a target file or a time value in ISO 8601 format to set as last write time on a + target file. + :vartype file_change_time: str + :ivar file_permission_copy_mode: Specifies the option to copy file security descriptor from + source file or to set it using the value which is defined by the header value of + x-ms-file-permission or x-ms-file-permission-key. Known values are: "source" and "override". + :vartype file_permission_copy_mode: str or + ~azure.storage.fileshare.models.PermissionCopyModeType + :ivar ignore_read_only: Specifies the option to overwrite the target file if it already exists + and has read-only attribute set. + :vartype ignore_read_only: bool + :ivar set_archive_attribute: Specifies the option to set archive attribute on a target file. + True means archive attribute will be set on a target file despite attribute overrides or a + source file state. + :vartype set_archive_attribute: bool + """ + + _attribute_map = { + "file_attributes": {"key": "fileAttributes", "type": "str"}, + "file_creation_time": {"key": "fileCreationTime", "type": "str"}, + "file_last_write_time": {"key": "fileLastWriteTime", "type": "str"}, + "file_change_time": {"key": "fileChangeTime", "type": "str"}, + "file_permission_copy_mode": {"key": "filePermissionCopyMode", "type": "str"}, + "ignore_read_only": {"key": "ignoreReadOnly", "type": "bool"}, + "set_archive_attribute": {"key": "setArchiveAttribute", "type": "bool"}, + } + + def __init__( + self, + *, + file_attributes: Optional[str] = None, + file_creation_time: Optional[str] = None, + file_last_write_time: Optional[str] = None, + file_change_time: Optional[str] = None, + file_permission_copy_mode: Optional[Union[str, "_models.PermissionCopyModeType"]] = None, + ignore_read_only: Optional[bool] = None, + set_archive_attribute: Optional[bool] = None, + **kwargs: Any + ) -> None: + """ + :keyword file_attributes: Specifies either the option to copy file attributes from a source + file(source) to a target file or a list of attributes to set on a target file. + :paramtype file_attributes: str + :keyword file_creation_time: Specifies either the option to copy file creation time from a + source file(source) to a target file or a time value in ISO 8601 format to set as creation time + on a target file. + :paramtype file_creation_time: str + :keyword file_last_write_time: Specifies either the option to copy file last write time from a + source file(source) to a target file or a time value in ISO 8601 format to set as last write + time on a target file. + :paramtype file_last_write_time: str + :keyword file_change_time: Specifies either the option to copy file last write time from a + source file(source) to a target file or a time value in ISO 8601 format to set as last write + time on a target file. + :paramtype file_change_time: str + :keyword file_permission_copy_mode: Specifies the option to copy file security descriptor from + source file or to set it using the value which is defined by the header value of + x-ms-file-permission or x-ms-file-permission-key. Known values are: "source" and "override". + :paramtype file_permission_copy_mode: str or + ~azure.storage.fileshare.models.PermissionCopyModeType + :keyword ignore_read_only: Specifies the option to overwrite the target file if it already + exists and has read-only attribute set. + :paramtype ignore_read_only: bool + :keyword set_archive_attribute: Specifies the option to set archive attribute on a target file. + True means archive attribute will be set on a target file despite attribute overrides or a + source file state. + :paramtype set_archive_attribute: bool + """ + super().__init__(**kwargs) + self.file_attributes = file_attributes + self.file_creation_time = file_creation_time + self.file_last_write_time = file_last_write_time + self.file_change_time = file_change_time + self.file_permission_copy_mode = file_permission_copy_mode + self.ignore_read_only = ignore_read_only + self.set_archive_attribute = set_archive_attribute + + +class CorsRule(_serialization.Model): + """CORS is an HTTP feature that enables a web application running under one domain to access + resources in another domain. Web browsers implement a security restriction known as same-origin + policy that prevents a web page from calling APIs in a different domain; CORS provides a secure + way to allow one domain (the origin domain) to call APIs in another domain. + + All required parameters must be populated in order to send to server. + + :ivar allowed_origins: The origin domains that are permitted to make a request against the + storage service via CORS. The origin domain is the domain from which the request originates. + Note that the origin must be an exact case-sensitive match with the origin that the user age + sends to the service. You can also use the wildcard character '*' to allow all origin domains + to make requests via CORS. Required. + :vartype allowed_origins: str + :ivar allowed_methods: The methods (HTTP request verbs) that the origin domain may use for a + CORS request. (comma separated). Required. + :vartype allowed_methods: str + :ivar allowed_headers: The request headers that the origin domain may specify on the CORS + request. Required. + :vartype allowed_headers: str + :ivar exposed_headers: The response headers that may be sent in the response to the CORS + request and exposed by the browser to the request issuer. Required. + :vartype exposed_headers: str + :ivar max_age_in_seconds: The maximum amount time that a browser should cache the preflight + OPTIONS request. Required. + :vartype max_age_in_seconds: int + """ + + _validation = { + "allowed_origins": {"required": True}, + "allowed_methods": {"required": True}, + "allowed_headers": {"required": True}, + "exposed_headers": {"required": True}, + "max_age_in_seconds": {"required": True, "minimum": 0}, + } + + _attribute_map = { + "allowed_origins": {"key": "AllowedOrigins", "type": "str"}, + "allowed_methods": {"key": "AllowedMethods", "type": "str"}, + "allowed_headers": {"key": "AllowedHeaders", "type": "str"}, + "exposed_headers": {"key": "ExposedHeaders", "type": "str"}, + "max_age_in_seconds": {"key": "MaxAgeInSeconds", "type": "int"}, + } + + def __init__( + self, + *, + allowed_origins: str, + allowed_methods: str, + allowed_headers: str, + exposed_headers: str, + max_age_in_seconds: int, + **kwargs: Any + ) -> None: + """ + :keyword allowed_origins: The origin domains that are permitted to make a request against the + storage service via CORS. The origin domain is the domain from which the request originates. + Note that the origin must be an exact case-sensitive match with the origin that the user age + sends to the service. You can also use the wildcard character '*' to allow all origin domains + to make requests via CORS. Required. + :paramtype allowed_origins: str + :keyword allowed_methods: The methods (HTTP request verbs) that the origin domain may use for a + CORS request. (comma separated). Required. + :paramtype allowed_methods: str + :keyword allowed_headers: The request headers that the origin domain may specify on the CORS + request. Required. + :paramtype allowed_headers: str + :keyword exposed_headers: The response headers that may be sent in the response to the CORS + request and exposed by the browser to the request issuer. Required. + :paramtype exposed_headers: str + :keyword max_age_in_seconds: The maximum amount time that a browser should cache the preflight + OPTIONS request. Required. + :paramtype max_age_in_seconds: int + """ + super().__init__(**kwargs) + self.allowed_origins = allowed_origins + self.allowed_methods = allowed_methods + self.allowed_headers = allowed_headers + self.exposed_headers = exposed_headers + self.max_age_in_seconds = max_age_in_seconds + + +class DestinationLeaseAccessConditions(_serialization.Model): + """Parameter group. + + :ivar destination_lease_id: Required if the destination file has an active infinite lease. The + lease ID specified for this header must match the lease ID of the destination file. If the + request does not include the lease ID or it is not valid, the operation fails with status code + 412 (Precondition Failed). If this header is specified and the destination file does not + currently have an active lease, the operation will also fail with status code 412 (Precondition + Failed). + :vartype destination_lease_id: str + """ + + _attribute_map = { + "destination_lease_id": {"key": "destinationLeaseId", "type": "str"}, + } + + def __init__(self, *, destination_lease_id: Optional[str] = None, **kwargs: Any) -> None: + """ + :keyword destination_lease_id: Required if the destination file has an active infinite lease. + The lease ID specified for this header must match the lease ID of the destination file. If the + request does not include the lease ID or it is not valid, the operation fails with status code + 412 (Precondition Failed). If this header is specified and the destination file does not + currently have an active lease, the operation will also fail with status code 412 (Precondition + Failed). + :paramtype destination_lease_id: str + """ + super().__init__(**kwargs) + self.destination_lease_id = destination_lease_id + + +class DirectoryItem(_serialization.Model): + """A listed directory item. + + All required parameters must be populated in order to send to server. + + :ivar name: Required. + :vartype name: ~azure.storage.fileshare.models.StringEncoded + :ivar file_id: + :vartype file_id: str + :ivar properties: File properties. + :vartype properties: ~azure.storage.fileshare.models.FileProperty + :ivar attributes: + :vartype attributes: str + :ivar permission_key: + :vartype permission_key: str + """ + + _validation = { + "name": {"required": True}, + } + + _attribute_map = { + "name": {"key": "Name", "type": "StringEncoded"}, + "file_id": {"key": "FileId", "type": "str"}, + "properties": {"key": "Properties", "type": "FileProperty"}, + "attributes": {"key": "Attributes", "type": "str"}, + "permission_key": {"key": "PermissionKey", "type": "str"}, + } + _xml_map = {"name": "Directory"} + + def __init__( + self, + *, + name: "_models.StringEncoded", + file_id: Optional[str] = None, + properties: Optional["_models.FileProperty"] = None, + attributes: Optional[str] = None, + permission_key: Optional[str] = None, + **kwargs: Any + ) -> None: + """ + :keyword name: Required. + :paramtype name: ~azure.storage.fileshare.models.StringEncoded + :keyword file_id: + :paramtype file_id: str + :keyword properties: File properties. + :paramtype properties: ~azure.storage.fileshare.models.FileProperty + :keyword attributes: + :paramtype attributes: str + :keyword permission_key: + :paramtype permission_key: str + """ + super().__init__(**kwargs) + self.name = name + self.file_id = file_id + self.properties = properties + self.attributes = attributes + self.permission_key = permission_key + + +class FileHTTPHeaders(_serialization.Model): + """Parameter group. + + :ivar file_content_type: Sets the MIME content type of the file. The default type is + 'application/octet-stream'. + :vartype file_content_type: str + :ivar file_content_encoding: Specifies which content encodings have been applied to the file. + :vartype file_content_encoding: str + :ivar file_content_language: Specifies the natural languages used by this resource. + :vartype file_content_language: str + :ivar file_cache_control: Sets the file's cache control. The File service stores this value but + does not use or modify it. + :vartype file_cache_control: str + :ivar file_content_md5: Sets the file's MD5 hash. + :vartype file_content_md5: bytes + :ivar file_content_disposition: Sets the file's Content-Disposition header. + :vartype file_content_disposition: str + """ + + _attribute_map = { + "file_content_type": {"key": "fileContentType", "type": "str"}, + "file_content_encoding": {"key": "fileContentEncoding", "type": "str"}, + "file_content_language": {"key": "fileContentLanguage", "type": "str"}, + "file_cache_control": {"key": "fileCacheControl", "type": "str"}, + "file_content_md5": {"key": "fileContentMD5", "type": "bytearray"}, + "file_content_disposition": {"key": "fileContentDisposition", "type": "str"}, + } + + def __init__( + self, + *, + file_content_type: Optional[str] = None, + file_content_encoding: Optional[str] = None, + file_content_language: Optional[str] = None, + file_cache_control: Optional[str] = None, + file_content_md5: Optional[bytes] = None, + file_content_disposition: Optional[str] = None, + **kwargs: Any + ) -> None: + """ + :keyword file_content_type: Sets the MIME content type of the file. The default type is + 'application/octet-stream'. + :paramtype file_content_type: str + :keyword file_content_encoding: Specifies which content encodings have been applied to the + file. + :paramtype file_content_encoding: str + :keyword file_content_language: Specifies the natural languages used by this resource. + :paramtype file_content_language: str + :keyword file_cache_control: Sets the file's cache control. The File service stores this value + but does not use or modify it. + :paramtype file_cache_control: str + :keyword file_content_md5: Sets the file's MD5 hash. + :paramtype file_content_md5: bytes + :keyword file_content_disposition: Sets the file's Content-Disposition header. + :paramtype file_content_disposition: str + """ + super().__init__(**kwargs) + self.file_content_type = file_content_type + self.file_content_encoding = file_content_encoding + self.file_content_language = file_content_language + self.file_cache_control = file_cache_control + self.file_content_md5 = file_content_md5 + self.file_content_disposition = file_content_disposition + + +class FileItem(_serialization.Model): + """A listed file item. + + All required parameters must be populated in order to send to server. + + :ivar name: Required. + :vartype name: ~azure.storage.fileshare.models.StringEncoded + :ivar file_id: + :vartype file_id: str + :ivar properties: File properties. Required. + :vartype properties: ~azure.storage.fileshare.models.FileProperty + :ivar attributes: + :vartype attributes: str + :ivar permission_key: + :vartype permission_key: str + """ + + _validation = { + "name": {"required": True}, + "properties": {"required": True}, + } + + _attribute_map = { + "name": {"key": "Name", "type": "StringEncoded"}, + "file_id": {"key": "FileId", "type": "str"}, + "properties": {"key": "Properties", "type": "FileProperty"}, + "attributes": {"key": "Attributes", "type": "str"}, + "permission_key": {"key": "PermissionKey", "type": "str"}, + } + _xml_map = {"name": "File"} + + def __init__( + self, + *, + name: "_models.StringEncoded", + properties: "_models.FileProperty", + file_id: Optional[str] = None, + attributes: Optional[str] = None, + permission_key: Optional[str] = None, + **kwargs: Any + ) -> None: + """ + :keyword name: Required. + :paramtype name: ~azure.storage.fileshare.models.StringEncoded + :keyword file_id: + :paramtype file_id: str + :keyword properties: File properties. Required. + :paramtype properties: ~azure.storage.fileshare.models.FileProperty + :keyword attributes: + :paramtype attributes: str + :keyword permission_key: + :paramtype permission_key: str + """ + super().__init__(**kwargs) + self.name = name + self.file_id = file_id + self.properties = properties + self.attributes = attributes + self.permission_key = permission_key + + +class FileProperty(_serialization.Model): + """File properties. + + All required parameters must be populated in order to send to server. + + :ivar content_length: Content length of the file. This value may not be up-to-date since an SMB + client may have modified the file locally. The value of Content-Length may not reflect that + fact until the handle is closed or the op-lock is broken. To retrieve current property values, + call Get File Properties. Required. + :vartype content_length: int + :ivar creation_time: + :vartype creation_time: ~datetime.datetime + :ivar last_access_time: + :vartype last_access_time: ~datetime.datetime + :ivar last_write_time: + :vartype last_write_time: ~datetime.datetime + :ivar change_time: + :vartype change_time: ~datetime.datetime + :ivar last_modified: + :vartype last_modified: ~datetime.datetime + :ivar etag: + :vartype etag: str + """ + + _validation = { + "content_length": {"required": True}, + } + + _attribute_map = { + "content_length": {"key": "Content-Length", "type": "int"}, + "creation_time": {"key": "CreationTime", "type": "iso-8601"}, + "last_access_time": {"key": "LastAccessTime", "type": "iso-8601"}, + "last_write_time": {"key": "LastWriteTime", "type": "iso-8601"}, + "change_time": {"key": "ChangeTime", "type": "iso-8601"}, + "last_modified": {"key": "Last-Modified", "type": "rfc-1123"}, + "etag": {"key": "Etag", "type": "str"}, + } + + def __init__( + self, + *, + content_length: int, + creation_time: Optional[datetime.datetime] = None, + last_access_time: Optional[datetime.datetime] = None, + last_write_time: Optional[datetime.datetime] = None, + change_time: Optional[datetime.datetime] = None, + last_modified: Optional[datetime.datetime] = None, + etag: Optional[str] = None, + **kwargs: Any + ) -> None: + """ + :keyword content_length: Content length of the file. This value may not be up-to-date since an + SMB client may have modified the file locally. The value of Content-Length may not reflect that + fact until the handle is closed or the op-lock is broken. To retrieve current property values, + call Get File Properties. Required. + :paramtype content_length: int + :keyword creation_time: + :paramtype creation_time: ~datetime.datetime + :keyword last_access_time: + :paramtype last_access_time: ~datetime.datetime + :keyword last_write_time: + :paramtype last_write_time: ~datetime.datetime + :keyword change_time: + :paramtype change_time: ~datetime.datetime + :keyword last_modified: + :paramtype last_modified: ~datetime.datetime + :keyword etag: + :paramtype etag: str + """ + super().__init__(**kwargs) + self.content_length = content_length + self.creation_time = creation_time + self.last_access_time = last_access_time + self.last_write_time = last_write_time + self.change_time = change_time + self.last_modified = last_modified + self.etag = etag + + +class FileRange(_serialization.Model): + """An Azure Storage file range. + + All required parameters must be populated in order to send to server. + + :ivar start: Start of the range. Required. + :vartype start: int + :ivar end: End of the range. Required. + :vartype end: int + """ + + _validation = { + "start": {"required": True}, + "end": {"required": True}, + } + + _attribute_map = { + "start": {"key": "Start", "type": "int"}, + "end": {"key": "End", "type": "int"}, + } + _xml_map = {"name": "Range"} + + def __init__(self, *, start: int, end: int, **kwargs: Any) -> None: + """ + :keyword start: Start of the range. Required. + :paramtype start: int + :keyword end: End of the range. Required. + :paramtype end: int + """ + super().__init__(**kwargs) + self.start = start + self.end = end + + +class FilesAndDirectoriesListSegment(_serialization.Model): + """Abstract for entries that can be listed from Directory. + + All required parameters must be populated in order to send to server. + + :ivar directory_items: Required. + :vartype directory_items: list[~azure.storage.fileshare.models.DirectoryItem] + :ivar file_items: Required. + :vartype file_items: list[~azure.storage.fileshare.models.FileItem] + """ + + _validation = { + "directory_items": {"required": True}, + "file_items": {"required": True}, + } + + _attribute_map = { + "directory_items": {"key": "DirectoryItems", "type": "[DirectoryItem]", "xml": {"itemsName": "Directory"}}, + "file_items": {"key": "FileItems", "type": "[FileItem]", "xml": {"itemsName": "File"}}, + } + _xml_map = {"name": "Entries"} + + def __init__( + self, *, directory_items: List["_models.DirectoryItem"], file_items: List["_models.FileItem"], **kwargs: Any + ) -> None: + """ + :keyword directory_items: Required. + :paramtype directory_items: list[~azure.storage.fileshare.models.DirectoryItem] + :keyword file_items: Required. + :paramtype file_items: list[~azure.storage.fileshare.models.FileItem] + """ + super().__init__(**kwargs) + self.directory_items = directory_items + self.file_items = file_items + + +class HandleItem(_serialization.Model): + """A listed Azure Storage handle item. + + All required parameters must be populated in order to send to server. + + :ivar handle_id: XSMB service handle ID. Required. + :vartype handle_id: str + :ivar path: Required. + :vartype path: ~azure.storage.fileshare.models.StringEncoded + :ivar file_id: FileId uniquely identifies the file or directory. Required. + :vartype file_id: str + :ivar parent_id: ParentId uniquely identifies the parent directory of the object. + :vartype parent_id: str + :ivar session_id: SMB session ID in context of which the file handle was opened. Required. + :vartype session_id: str + :ivar client_ip: Client IP that opened the handle. Required. + :vartype client_ip: str + :ivar client_name: Name of the client machine where the share is being mounted. Required. + :vartype client_name: str + :ivar open_time: Time when the session that previously opened the handle has last been + reconnected. (UTC). Required. + :vartype open_time: ~datetime.datetime + :ivar last_reconnect_time: Time handle was last connected to (UTC). + :vartype last_reconnect_time: ~datetime.datetime + :ivar access_right_list: + :vartype access_right_list: list[str or ~azure.storage.fileshare.models.AccessRight] + """ + + _validation = { + "handle_id": {"required": True}, + "path": {"required": True}, + "file_id": {"required": True}, + "session_id": {"required": True}, + "client_ip": {"required": True}, + "client_name": {"required": True}, + "open_time": {"required": True}, + } + + _attribute_map = { + "handle_id": {"key": "HandleId", "type": "str"}, + "path": {"key": "Path", "type": "StringEncoded"}, + "file_id": {"key": "FileId", "type": "str"}, + "parent_id": {"key": "ParentId", "type": "str"}, + "session_id": {"key": "SessionId", "type": "str"}, + "client_ip": {"key": "ClientIp", "type": "str"}, + "client_name": {"key": "ClientName", "type": "str"}, + "open_time": {"key": "OpenTime", "type": "rfc-1123"}, + "last_reconnect_time": {"key": "LastReconnectTime", "type": "rfc-1123"}, + "access_right_list": {"key": "AccessRightList", "type": "[str]", "xml": {"wrapped": True}}, + } + _xml_map = {"name": "Handle"} + + def __init__( + self, + *, + handle_id: str, + path: "_models.StringEncoded", + file_id: str, + session_id: str, + client_ip: str, + client_name: str, + open_time: datetime.datetime, + parent_id: Optional[str] = None, + last_reconnect_time: Optional[datetime.datetime] = None, + access_right_list: Optional[List[Union[str, "_models.AccessRight"]]] = None, + **kwargs: Any + ) -> None: + """ + :keyword handle_id: XSMB service handle ID. Required. + :paramtype handle_id: str + :keyword path: Required. + :paramtype path: ~azure.storage.fileshare.models.StringEncoded + :keyword file_id: FileId uniquely identifies the file or directory. Required. + :paramtype file_id: str + :keyword parent_id: ParentId uniquely identifies the parent directory of the object. + :paramtype parent_id: str + :keyword session_id: SMB session ID in context of which the file handle was opened. Required. + :paramtype session_id: str + :keyword client_ip: Client IP that opened the handle. Required. + :paramtype client_ip: str + :keyword client_name: Name of the client machine where the share is being mounted. Required. + :paramtype client_name: str + :keyword open_time: Time when the session that previously opened the handle has last been + reconnected. (UTC). Required. + :paramtype open_time: ~datetime.datetime + :keyword last_reconnect_time: Time handle was last connected to (UTC). + :paramtype last_reconnect_time: ~datetime.datetime + :keyword access_right_list: + :paramtype access_right_list: list[str or ~azure.storage.fileshare.models.AccessRight] + """ + super().__init__(**kwargs) + self.handle_id = handle_id + self.path = path + self.file_id = file_id + self.parent_id = parent_id + self.session_id = session_id + self.client_ip = client_ip + self.client_name = client_name + self.open_time = open_time + self.last_reconnect_time = last_reconnect_time + self.access_right_list = access_right_list + + +class LeaseAccessConditions(_serialization.Model): + """Parameter group. + + :ivar lease_id: If specified, the operation only succeeds if the resource's lease is active and + matches this ID. + :vartype lease_id: str + """ + + _attribute_map = { + "lease_id": {"key": "leaseId", "type": "str"}, + } + + def __init__(self, *, lease_id: Optional[str] = None, **kwargs: Any) -> None: + """ + :keyword lease_id: If specified, the operation only succeeds if the resource's lease is active + and matches this ID. + :paramtype lease_id: str + """ + super().__init__(**kwargs) + self.lease_id = lease_id + + +class ListFilesAndDirectoriesSegmentResponse(_serialization.Model): + """An enumeration of directories and files. + + All required parameters must be populated in order to send to server. + + :ivar service_endpoint: Required. + :vartype service_endpoint: str + :ivar share_name: Required. + :vartype share_name: str + :ivar share_snapshot: + :vartype share_snapshot: str + :ivar encoded: + :vartype encoded: bool + :ivar directory_path: Required. + :vartype directory_path: str + :ivar prefix: Required. + :vartype prefix: ~azure.storage.fileshare.models.StringEncoded + :ivar marker: + :vartype marker: str + :ivar max_results: + :vartype max_results: int + :ivar segment: Abstract for entries that can be listed from Directory. Required. + :vartype segment: ~azure.storage.fileshare.models.FilesAndDirectoriesListSegment + :ivar next_marker: Required. + :vartype next_marker: str + :ivar directory_id: + :vartype directory_id: str + """ + + _validation = { + "service_endpoint": {"required": True}, + "share_name": {"required": True}, + "directory_path": {"required": True}, + "prefix": {"required": True}, + "segment": {"required": True}, + "next_marker": {"required": True}, + } + + _attribute_map = { + "service_endpoint": {"key": "ServiceEndpoint", "type": "str", "xml": {"attr": True}}, + "share_name": {"key": "ShareName", "type": "str", "xml": {"attr": True}}, + "share_snapshot": {"key": "ShareSnapshot", "type": "str", "xml": {"attr": True}}, + "encoded": {"key": "Encoded", "type": "bool", "xml": {"attr": True}}, + "directory_path": {"key": "DirectoryPath", "type": "str", "xml": {"attr": True}}, + "prefix": {"key": "Prefix", "type": "StringEncoded"}, + "marker": {"key": "Marker", "type": "str"}, + "max_results": {"key": "MaxResults", "type": "int"}, + "segment": {"key": "Segment", "type": "FilesAndDirectoriesListSegment"}, + "next_marker": {"key": "NextMarker", "type": "str"}, + "directory_id": {"key": "DirectoryId", "type": "str"}, + } + _xml_map = {"name": "EnumerationResults"} + + def __init__( + self, + *, + service_endpoint: str, + share_name: str, + directory_path: str, + prefix: "_models.StringEncoded", + segment: "_models.FilesAndDirectoriesListSegment", + next_marker: str, + share_snapshot: Optional[str] = None, + encoded: Optional[bool] = None, + marker: Optional[str] = None, + max_results: Optional[int] = None, + directory_id: Optional[str] = None, + **kwargs: Any + ) -> None: + """ + :keyword service_endpoint: Required. + :paramtype service_endpoint: str + :keyword share_name: Required. + :paramtype share_name: str + :keyword share_snapshot: + :paramtype share_snapshot: str + :keyword encoded: + :paramtype encoded: bool + :keyword directory_path: Required. + :paramtype directory_path: str + :keyword prefix: Required. + :paramtype prefix: ~azure.storage.fileshare.models.StringEncoded + :keyword marker: + :paramtype marker: str + :keyword max_results: + :paramtype max_results: int + :keyword segment: Abstract for entries that can be listed from Directory. Required. + :paramtype segment: ~azure.storage.fileshare.models.FilesAndDirectoriesListSegment + :keyword next_marker: Required. + :paramtype next_marker: str + :keyword directory_id: + :paramtype directory_id: str + """ + super().__init__(**kwargs) + self.service_endpoint = service_endpoint + self.share_name = share_name + self.share_snapshot = share_snapshot + self.encoded = encoded + self.directory_path = directory_path + self.prefix = prefix + self.marker = marker + self.max_results = max_results + self.segment = segment + self.next_marker = next_marker + self.directory_id = directory_id + + +class ListHandlesResponse(_serialization.Model): + """An enumeration of handles. + + All required parameters must be populated in order to send to server. + + :ivar handle_list: + :vartype handle_list: list[~azure.storage.fileshare.models.HandleItem] + :ivar next_marker: Required. + :vartype next_marker: str + """ + + _validation = { + "next_marker": {"required": True}, + } + + _attribute_map = { + "handle_list": { + "key": "HandleList", + "type": "[HandleItem]", + "xml": {"name": "Entries", "wrapped": True, "itemsName": "Handle"}, + }, + "next_marker": {"key": "NextMarker", "type": "str"}, + } + _xml_map = {"name": "EnumerationResults"} + + def __init__( + self, *, next_marker: str, handle_list: Optional[List["_models.HandleItem"]] = None, **kwargs: Any + ) -> None: + """ + :keyword handle_list: + :paramtype handle_list: list[~azure.storage.fileshare.models.HandleItem] + :keyword next_marker: Required. + :paramtype next_marker: str + """ + super().__init__(**kwargs) + self.handle_list = handle_list + self.next_marker = next_marker + + +class ListSharesResponse(_serialization.Model): + """An enumeration of shares. + + All required parameters must be populated in order to send to server. + + :ivar service_endpoint: Required. + :vartype service_endpoint: str + :ivar prefix: + :vartype prefix: str + :ivar marker: + :vartype marker: str + :ivar max_results: + :vartype max_results: int + :ivar share_items: + :vartype share_items: list[~azure.storage.fileshare.models.ShareItemInternal] + :ivar next_marker: Required. + :vartype next_marker: str + """ + + _validation = { + "service_endpoint": {"required": True}, + "next_marker": {"required": True}, + } + + _attribute_map = { + "service_endpoint": {"key": "ServiceEndpoint", "type": "str", "xml": {"attr": True}}, + "prefix": {"key": "Prefix", "type": "str"}, + "marker": {"key": "Marker", "type": "str"}, + "max_results": {"key": "MaxResults", "type": "int"}, + "share_items": { + "key": "ShareItems", + "type": "[ShareItemInternal]", + "xml": {"name": "Shares", "wrapped": True, "itemsName": "Share"}, + }, + "next_marker": {"key": "NextMarker", "type": "str"}, + } + _xml_map = {"name": "EnumerationResults"} + + def __init__( + self, + *, + service_endpoint: str, + next_marker: str, + prefix: Optional[str] = None, + marker: Optional[str] = None, + max_results: Optional[int] = None, + share_items: Optional[List["_models.ShareItemInternal"]] = None, + **kwargs: Any + ) -> None: + """ + :keyword service_endpoint: Required. + :paramtype service_endpoint: str + :keyword prefix: + :paramtype prefix: str + :keyword marker: + :paramtype marker: str + :keyword max_results: + :paramtype max_results: int + :keyword share_items: + :paramtype share_items: list[~azure.storage.fileshare.models.ShareItemInternal] + :keyword next_marker: Required. + :paramtype next_marker: str + """ + super().__init__(**kwargs) + self.service_endpoint = service_endpoint + self.prefix = prefix + self.marker = marker + self.max_results = max_results + self.share_items = share_items + self.next_marker = next_marker + + +class Metrics(_serialization.Model): + """Storage Analytics metrics for file service. + + All required parameters must be populated in order to send to server. + + :ivar version: The version of Storage Analytics to configure. Required. + :vartype version: str + :ivar enabled: Indicates whether metrics are enabled for the File service. Required. + :vartype enabled: bool + :ivar include_apis: Indicates whether metrics should generate summary statistics for called API + operations. + :vartype include_apis: bool + :ivar retention_policy: The retention policy. + :vartype retention_policy: ~azure.storage.fileshare.models.RetentionPolicy + """ + + _validation = { + "version": {"required": True}, + "enabled": {"required": True}, + } + + _attribute_map = { + "version": {"key": "Version", "type": "str"}, + "enabled": {"key": "Enabled", "type": "bool"}, + "include_apis": {"key": "IncludeAPIs", "type": "bool"}, + "retention_policy": {"key": "RetentionPolicy", "type": "RetentionPolicy"}, + } + + def __init__( + self, + *, + version: str, + enabled: bool, + include_apis: Optional[bool] = None, + retention_policy: Optional["_models.RetentionPolicy"] = None, + **kwargs: Any + ) -> None: + """ + :keyword version: The version of Storage Analytics to configure. Required. + :paramtype version: str + :keyword enabled: Indicates whether metrics are enabled for the File service. Required. + :paramtype enabled: bool + :keyword include_apis: Indicates whether metrics should generate summary statistics for called + API operations. + :paramtype include_apis: bool + :keyword retention_policy: The retention policy. + :paramtype retention_policy: ~azure.storage.fileshare.models.RetentionPolicy + """ + super().__init__(**kwargs) + self.version = version + self.enabled = enabled + self.include_apis = include_apis + self.retention_policy = retention_policy + + +class RetentionPolicy(_serialization.Model): + """The retention policy. + + All required parameters must be populated in order to send to server. + + :ivar enabled: Indicates whether a retention policy is enabled for the File service. If false, + metrics data is retained, and the user is responsible for deleting it. Required. + :vartype enabled: bool + :ivar days: Indicates the number of days that metrics data should be retained. All data older + than this value will be deleted. Metrics data is deleted on a best-effort basis after the + retention period expires. + :vartype days: int + """ + + _validation = { + "enabled": {"required": True}, + "days": {"maximum": 365, "minimum": 1}, + } + + _attribute_map = { + "enabled": {"key": "Enabled", "type": "bool"}, + "days": {"key": "Days", "type": "int"}, + } + + def __init__(self, *, enabled: bool, days: Optional[int] = None, **kwargs: Any) -> None: + """ + :keyword enabled: Indicates whether a retention policy is enabled for the File service. If + false, metrics data is retained, and the user is responsible for deleting it. Required. + :paramtype enabled: bool + :keyword days: Indicates the number of days that metrics data should be retained. All data + older than this value will be deleted. Metrics data is deleted on a best-effort basis after the + retention period expires. + :paramtype days: int + """ + super().__init__(**kwargs) + self.enabled = enabled + self.days = days + + +class ShareFileRangeList(_serialization.Model): + """The list of file ranges. + + :ivar ranges: + :vartype ranges: list[~azure.storage.fileshare.models.FileRange] + :ivar clear_ranges: + :vartype clear_ranges: list[~azure.storage.fileshare.models.ClearRange] + """ + + _attribute_map = { + "ranges": {"key": "Ranges", "type": "[FileRange]", "xml": {"itemsName": "Range"}}, + "clear_ranges": {"key": "ClearRanges", "type": "[ClearRange]", "xml": {"itemsName": "ClearRange"}}, + } + + def __init__( + self, + *, + ranges: Optional[List["_models.FileRange"]] = None, + clear_ranges: Optional[List["_models.ClearRange"]] = None, + **kwargs: Any + ) -> None: + """ + :keyword ranges: + :paramtype ranges: list[~azure.storage.fileshare.models.FileRange] + :keyword clear_ranges: + :paramtype clear_ranges: list[~azure.storage.fileshare.models.ClearRange] + """ + super().__init__(**kwargs) + self.ranges = ranges + self.clear_ranges = clear_ranges + + +class ShareItemInternal(_serialization.Model): + """A listed Azure Storage share item. + + All required parameters must be populated in order to send to server. + + :ivar name: Required. + :vartype name: str + :ivar snapshot: + :vartype snapshot: str + :ivar deleted: + :vartype deleted: bool + :ivar version: + :vartype version: str + :ivar properties: Properties of a share. Required. + :vartype properties: ~azure.storage.fileshare.models.SharePropertiesInternal + :ivar metadata: Dictionary of :code:`<string>`. + :vartype metadata: dict[str, str] + """ + + _validation = { + "name": {"required": True}, + "properties": {"required": True}, + } + + _attribute_map = { + "name": {"key": "Name", "type": "str"}, + "snapshot": {"key": "Snapshot", "type": "str"}, + "deleted": {"key": "Deleted", "type": "bool"}, + "version": {"key": "Version", "type": "str"}, + "properties": {"key": "Properties", "type": "SharePropertiesInternal"}, + "metadata": {"key": "Metadata", "type": "{str}"}, + } + _xml_map = {"name": "Share"} + + def __init__( + self, + *, + name: str, + properties: "_models.SharePropertiesInternal", + snapshot: Optional[str] = None, + deleted: Optional[bool] = None, + version: Optional[str] = None, + metadata: Optional[Dict[str, str]] = None, + **kwargs: Any + ) -> None: + """ + :keyword name: Required. + :paramtype name: str + :keyword snapshot: + :paramtype snapshot: str + :keyword deleted: + :paramtype deleted: bool + :keyword version: + :paramtype version: str + :keyword properties: Properties of a share. Required. + :paramtype properties: ~azure.storage.fileshare.models.SharePropertiesInternal + :keyword metadata: Dictionary of :code:`<string>`. + :paramtype metadata: dict[str, str] + """ + super().__init__(**kwargs) + self.name = name + self.snapshot = snapshot + self.deleted = deleted + self.version = version + self.properties = properties + self.metadata = metadata + + +class SharePermission(_serialization.Model): + """A permission (a security descriptor) at the share level. + + All required parameters must be populated in order to send to server. + + :ivar permission: The permission in the Security Descriptor Definition Language (SDDL). + Required. + :vartype permission: str + :ivar format: Known values are: "Sddl" and "Binary". + :vartype format: str or ~azure.storage.fileshare.models.FilePermissionFormat + """ + + _validation = { + "permission": {"required": True}, + } + + _attribute_map = { + "permission": {"key": "permission", "type": "str"}, + "format": {"key": "format", "type": "str"}, + } + + def __init__( + self, *, permission: str, format: Optional[Union[str, "_models.FilePermissionFormat"]] = None, **kwargs: Any + ) -> None: + """ + :keyword permission: The permission in the Security Descriptor Definition Language (SDDL). + Required. + :paramtype permission: str + :keyword format: Known values are: "Sddl" and "Binary". + :paramtype format: str or ~azure.storage.fileshare.models.FilePermissionFormat + """ + super().__init__(**kwargs) + self.permission = permission + self.format = format + + +class SharePropertiesInternal(_serialization.Model): + """Properties of a share. + + All required parameters must be populated in order to send to server. + + :ivar last_modified: Required. + :vartype last_modified: ~datetime.datetime + :ivar etag: Required. + :vartype etag: str + :ivar quota: Required. + :vartype quota: int + :ivar provisioned_iops: + :vartype provisioned_iops: int + :ivar provisioned_ingress_m_bps: + :vartype provisioned_ingress_m_bps: int + :ivar provisioned_egress_m_bps: + :vartype provisioned_egress_m_bps: int + :ivar provisioned_bandwidth_mi_bps: + :vartype provisioned_bandwidth_mi_bps: int + :ivar next_allowed_quota_downgrade_time: + :vartype next_allowed_quota_downgrade_time: ~datetime.datetime + :ivar deleted_time: + :vartype deleted_time: ~datetime.datetime + :ivar remaining_retention_days: + :vartype remaining_retention_days: int + :ivar access_tier: + :vartype access_tier: str + :ivar access_tier_change_time: + :vartype access_tier_change_time: ~datetime.datetime + :ivar access_tier_transition_state: + :vartype access_tier_transition_state: str + :ivar lease_status: The current lease status of the share. Known values are: "locked" and + "unlocked". + :vartype lease_status: str or ~azure.storage.fileshare.models.LeaseStatusType + :ivar lease_state: Lease state of the share. Known values are: "available", "leased", + "expired", "breaking", and "broken". + :vartype lease_state: str or ~azure.storage.fileshare.models.LeaseStateType + :ivar lease_duration: When a share is leased, specifies whether the lease is of infinite or + fixed duration. Known values are: "infinite" and "fixed". + :vartype lease_duration: str or ~azure.storage.fileshare.models.LeaseDurationType + :ivar enabled_protocols: + :vartype enabled_protocols: str + :ivar root_squash: Known values are: "NoRootSquash", "RootSquash", and "AllSquash". + :vartype root_squash: str or ~azure.storage.fileshare.models.ShareRootSquash + :ivar enable_snapshot_virtual_directory_access: + :vartype enable_snapshot_virtual_directory_access: bool + :ivar paid_bursting_enabled: + :vartype paid_bursting_enabled: bool + :ivar paid_bursting_max_iops: + :vartype paid_bursting_max_iops: int + :ivar paid_bursting_max_bandwidth_mibps: + :vartype paid_bursting_max_bandwidth_mibps: int + :ivar included_burst_iops: + :vartype included_burst_iops: int + :ivar max_burst_credits_for_iops: + :vartype max_burst_credits_for_iops: int + :ivar next_allowed_provisioned_iops_downgrade_time: + :vartype next_allowed_provisioned_iops_downgrade_time: ~datetime.datetime + :ivar next_allowed_provisioned_bandwidth_downgrade_time: + :vartype next_allowed_provisioned_bandwidth_downgrade_time: ~datetime.datetime + """ + + _validation = { + "last_modified": {"required": True}, + "etag": {"required": True}, + "quota": {"required": True}, + } + + _attribute_map = { + "last_modified": {"key": "Last-Modified", "type": "rfc-1123"}, + "etag": {"key": "Etag", "type": "str"}, + "quota": {"key": "Quota", "type": "int"}, + "provisioned_iops": {"key": "ProvisionedIops", "type": "int"}, + "provisioned_ingress_m_bps": {"key": "ProvisionedIngressMBps", "type": "int"}, + "provisioned_egress_m_bps": {"key": "ProvisionedEgressMBps", "type": "int"}, + "provisioned_bandwidth_mi_bps": {"key": "ProvisionedBandwidthMiBps", "type": "int"}, + "next_allowed_quota_downgrade_time": {"key": "NextAllowedQuotaDowngradeTime", "type": "rfc-1123"}, + "deleted_time": {"key": "DeletedTime", "type": "rfc-1123"}, + "remaining_retention_days": {"key": "RemainingRetentionDays", "type": "int"}, + "access_tier": {"key": "AccessTier", "type": "str"}, + "access_tier_change_time": {"key": "AccessTierChangeTime", "type": "rfc-1123"}, + "access_tier_transition_state": {"key": "AccessTierTransitionState", "type": "str"}, + "lease_status": {"key": "LeaseStatus", "type": "str"}, + "lease_state": {"key": "LeaseState", "type": "str"}, + "lease_duration": {"key": "LeaseDuration", "type": "str"}, + "enabled_protocols": {"key": "EnabledProtocols", "type": "str"}, + "root_squash": {"key": "RootSquash", "type": "str"}, + "enable_snapshot_virtual_directory_access": {"key": "EnableSnapshotVirtualDirectoryAccess", "type": "bool"}, + "paid_bursting_enabled": {"key": "PaidBurstingEnabled", "type": "bool"}, + "paid_bursting_max_iops": {"key": "PaidBurstingMaxIops", "type": "int"}, + "paid_bursting_max_bandwidth_mibps": {"key": "PaidBurstingMaxBandwidthMibps", "type": "int"}, + "included_burst_iops": {"key": "IncludedBurstIops", "type": "int"}, + "max_burst_credits_for_iops": {"key": "MaxBurstCreditsForIops", "type": "int"}, + "next_allowed_provisioned_iops_downgrade_time": { + "key": "NextAllowedProvisionedIopsDowngradeTime", + "type": "rfc-1123", + }, + "next_allowed_provisioned_bandwidth_downgrade_time": { + "key": "NextAllowedProvisionedBandwidthDowngradeTime", + "type": "rfc-1123", + }, + } + + def __init__( # pylint: disable=too-many-locals + self, + *, + last_modified: datetime.datetime, + etag: str, + quota: int, + provisioned_iops: Optional[int] = None, + provisioned_ingress_m_bps: Optional[int] = None, + provisioned_egress_m_bps: Optional[int] = None, + provisioned_bandwidth_mi_bps: Optional[int] = None, + next_allowed_quota_downgrade_time: Optional[datetime.datetime] = None, + deleted_time: Optional[datetime.datetime] = None, + remaining_retention_days: Optional[int] = None, + access_tier: Optional[str] = None, + access_tier_change_time: Optional[datetime.datetime] = None, + access_tier_transition_state: Optional[str] = None, + lease_status: Optional[Union[str, "_models.LeaseStatusType"]] = None, + lease_state: Optional[Union[str, "_models.LeaseStateType"]] = None, + lease_duration: Optional[Union[str, "_models.LeaseDurationType"]] = None, + enabled_protocols: Optional[str] = None, + root_squash: Optional[Union[str, "_models.ShareRootSquash"]] = None, + enable_snapshot_virtual_directory_access: Optional[bool] = None, + paid_bursting_enabled: Optional[bool] = None, + paid_bursting_max_iops: Optional[int] = None, + paid_bursting_max_bandwidth_mibps: Optional[int] = None, + included_burst_iops: Optional[int] = None, + max_burst_credits_for_iops: Optional[int] = None, + next_allowed_provisioned_iops_downgrade_time: Optional[datetime.datetime] = None, + next_allowed_provisioned_bandwidth_downgrade_time: Optional[datetime.datetime] = None, + **kwargs: Any + ) -> None: + """ + :keyword last_modified: Required. + :paramtype last_modified: ~datetime.datetime + :keyword etag: Required. + :paramtype etag: str + :keyword quota: Required. + :paramtype quota: int + :keyword provisioned_iops: + :paramtype provisioned_iops: int + :keyword provisioned_ingress_m_bps: + :paramtype provisioned_ingress_m_bps: int + :keyword provisioned_egress_m_bps: + :paramtype provisioned_egress_m_bps: int + :keyword provisioned_bandwidth_mi_bps: + :paramtype provisioned_bandwidth_mi_bps: int + :keyword next_allowed_quota_downgrade_time: + :paramtype next_allowed_quota_downgrade_time: ~datetime.datetime + :keyword deleted_time: + :paramtype deleted_time: ~datetime.datetime + :keyword remaining_retention_days: + :paramtype remaining_retention_days: int + :keyword access_tier: + :paramtype access_tier: str + :keyword access_tier_change_time: + :paramtype access_tier_change_time: ~datetime.datetime + :keyword access_tier_transition_state: + :paramtype access_tier_transition_state: str + :keyword lease_status: The current lease status of the share. Known values are: "locked" and + "unlocked". + :paramtype lease_status: str or ~azure.storage.fileshare.models.LeaseStatusType + :keyword lease_state: Lease state of the share. Known values are: "available", "leased", + "expired", "breaking", and "broken". + :paramtype lease_state: str or ~azure.storage.fileshare.models.LeaseStateType + :keyword lease_duration: When a share is leased, specifies whether the lease is of infinite or + fixed duration. Known values are: "infinite" and "fixed". + :paramtype lease_duration: str or ~azure.storage.fileshare.models.LeaseDurationType + :keyword enabled_protocols: + :paramtype enabled_protocols: str + :keyword root_squash: Known values are: "NoRootSquash", "RootSquash", and "AllSquash". + :paramtype root_squash: str or ~azure.storage.fileshare.models.ShareRootSquash + :keyword enable_snapshot_virtual_directory_access: + :paramtype enable_snapshot_virtual_directory_access: bool + :keyword paid_bursting_enabled: + :paramtype paid_bursting_enabled: bool + :keyword paid_bursting_max_iops: + :paramtype paid_bursting_max_iops: int + :keyword paid_bursting_max_bandwidth_mibps: + :paramtype paid_bursting_max_bandwidth_mibps: int + :keyword included_burst_iops: + :paramtype included_burst_iops: int + :keyword max_burst_credits_for_iops: + :paramtype max_burst_credits_for_iops: int + :keyword next_allowed_provisioned_iops_downgrade_time: + :paramtype next_allowed_provisioned_iops_downgrade_time: ~datetime.datetime + :keyword next_allowed_provisioned_bandwidth_downgrade_time: + :paramtype next_allowed_provisioned_bandwidth_downgrade_time: ~datetime.datetime + """ + super().__init__(**kwargs) + self.last_modified = last_modified + self.etag = etag + self.quota = quota + self.provisioned_iops = provisioned_iops + self.provisioned_ingress_m_bps = provisioned_ingress_m_bps + self.provisioned_egress_m_bps = provisioned_egress_m_bps + self.provisioned_bandwidth_mi_bps = provisioned_bandwidth_mi_bps + self.next_allowed_quota_downgrade_time = next_allowed_quota_downgrade_time + self.deleted_time = deleted_time + self.remaining_retention_days = remaining_retention_days + self.access_tier = access_tier + self.access_tier_change_time = access_tier_change_time + self.access_tier_transition_state = access_tier_transition_state + self.lease_status = lease_status + self.lease_state = lease_state + self.lease_duration = lease_duration + self.enabled_protocols = enabled_protocols + self.root_squash = root_squash + self.enable_snapshot_virtual_directory_access = enable_snapshot_virtual_directory_access + self.paid_bursting_enabled = paid_bursting_enabled + self.paid_bursting_max_iops = paid_bursting_max_iops + self.paid_bursting_max_bandwidth_mibps = paid_bursting_max_bandwidth_mibps + self.included_burst_iops = included_burst_iops + self.max_burst_credits_for_iops = max_burst_credits_for_iops + self.next_allowed_provisioned_iops_downgrade_time = next_allowed_provisioned_iops_downgrade_time + self.next_allowed_provisioned_bandwidth_downgrade_time = next_allowed_provisioned_bandwidth_downgrade_time + + +class ShareProtocolSettings(_serialization.Model): + """Protocol settings. + + :ivar smb: Settings for SMB protocol. + :vartype smb: ~azure.storage.fileshare.models.ShareSmbSettings + """ + + _attribute_map = { + "smb": {"key": "Smb", "type": "ShareSmbSettings"}, + } + _xml_map = {"name": "ProtocolSettings"} + + def __init__(self, *, smb: Optional["_models.ShareSmbSettings"] = None, **kwargs: Any) -> None: + """ + :keyword smb: Settings for SMB protocol. + :paramtype smb: ~azure.storage.fileshare.models.ShareSmbSettings + """ + super().__init__(**kwargs) + self.smb = smb + + +class ShareSmbSettings(_serialization.Model): + """Settings for SMB protocol. + + :ivar multichannel: Settings for SMB Multichannel. + :vartype multichannel: ~azure.storage.fileshare.models.SmbMultichannel + """ + + _attribute_map = { + "multichannel": {"key": "Multichannel", "type": "SmbMultichannel"}, + } + _xml_map = {"name": "SMB"} + + def __init__(self, *, multichannel: Optional["_models.SmbMultichannel"] = None, **kwargs: Any) -> None: + """ + :keyword multichannel: Settings for SMB Multichannel. + :paramtype multichannel: ~azure.storage.fileshare.models.SmbMultichannel + """ + super().__init__(**kwargs) + self.multichannel = multichannel + + +class ShareStats(_serialization.Model): + """Stats for the share. + + All required parameters must be populated in order to send to server. + + :ivar share_usage_bytes: The approximate size of the data stored in bytes. Note that this value + may not include all recently created or recently resized files. Required. + :vartype share_usage_bytes: int + """ + + _validation = { + "share_usage_bytes": {"required": True}, + } + + _attribute_map = { + "share_usage_bytes": {"key": "ShareUsageBytes", "type": "int"}, + } + + def __init__(self, *, share_usage_bytes: int, **kwargs: Any) -> None: + """ + :keyword share_usage_bytes: The approximate size of the data stored in bytes. Note that this + value may not include all recently created or recently resized files. Required. + :paramtype share_usage_bytes: int + """ + super().__init__(**kwargs) + self.share_usage_bytes = share_usage_bytes + + +class SignedIdentifier(_serialization.Model): + """Signed identifier. + + All required parameters must be populated in order to send to server. + + :ivar id: A unique id. Required. + :vartype id: str + :ivar access_policy: The access policy. + :vartype access_policy: ~azure.storage.fileshare.models.AccessPolicy + """ + + _validation = { + "id": {"required": True}, + } + + _attribute_map = { + "id": {"key": "Id", "type": "str"}, + "access_policy": {"key": "AccessPolicy", "type": "AccessPolicy"}, + } + + def __init__( + self, + *, + id: str, # pylint: disable=redefined-builtin + access_policy: Optional["_models.AccessPolicy"] = None, + **kwargs: Any + ) -> None: + """ + :keyword id: A unique id. Required. + :paramtype id: str + :keyword access_policy: The access policy. + :paramtype access_policy: ~azure.storage.fileshare.models.AccessPolicy + """ + super().__init__(**kwargs) + self.id = id + self.access_policy = access_policy + + +class SmbMultichannel(_serialization.Model): + """Settings for SMB multichannel. + + :ivar enabled: If SMB multichannel is enabled. + :vartype enabled: bool + """ + + _attribute_map = { + "enabled": {"key": "Enabled", "type": "bool"}, + } + _xml_map = {"name": "Multichannel"} + + def __init__(self, *, enabled: Optional[bool] = None, **kwargs: Any) -> None: + """ + :keyword enabled: If SMB multichannel is enabled. + :paramtype enabled: bool + """ + super().__init__(**kwargs) + self.enabled = enabled + + +class SourceLeaseAccessConditions(_serialization.Model): + """Parameter group. + + :ivar source_lease_id: Required if the source file has an active infinite lease. + :vartype source_lease_id: str + """ + + _attribute_map = { + "source_lease_id": {"key": "sourceLeaseId", "type": "str"}, + } + + def __init__(self, *, source_lease_id: Optional[str] = None, **kwargs: Any) -> None: + """ + :keyword source_lease_id: Required if the source file has an active infinite lease. + :paramtype source_lease_id: str + """ + super().__init__(**kwargs) + self.source_lease_id = source_lease_id + + +class SourceModifiedAccessConditions(_serialization.Model): + """Parameter group. + + :ivar source_if_match_crc64: Specify the crc64 value to operate only on range with a matching + crc64 checksum. + :vartype source_if_match_crc64: bytes + :ivar source_if_none_match_crc64: Specify the crc64 value to operate only on range without a + matching crc64 checksum. + :vartype source_if_none_match_crc64: bytes + """ + + _attribute_map = { + "source_if_match_crc64": {"key": "sourceIfMatchCrc64", "type": "bytearray"}, + "source_if_none_match_crc64": {"key": "sourceIfNoneMatchCrc64", "type": "bytearray"}, + } + + def __init__( + self, + *, + source_if_match_crc64: Optional[bytes] = None, + source_if_none_match_crc64: Optional[bytes] = None, + **kwargs: Any + ) -> None: + """ + :keyword source_if_match_crc64: Specify the crc64 value to operate only on range with a + matching crc64 checksum. + :paramtype source_if_match_crc64: bytes + :keyword source_if_none_match_crc64: Specify the crc64 value to operate only on range without a + matching crc64 checksum. + :paramtype source_if_none_match_crc64: bytes + """ + super().__init__(**kwargs) + self.source_if_match_crc64 = source_if_match_crc64 + self.source_if_none_match_crc64 = source_if_none_match_crc64 + + +class StorageError(_serialization.Model): + """StorageError. + + :ivar message: + :vartype message: str + :ivar authentication_error_detail: + :vartype authentication_error_detail: str + """ + + _attribute_map = { + "message": {"key": "Message", "type": "str"}, + "authentication_error_detail": {"key": "AuthenticationErrorDetail", "type": "str"}, + } + + def __init__( + self, *, message: Optional[str] = None, authentication_error_detail: Optional[str] = None, **kwargs: Any + ) -> None: + """ + :keyword message: + :paramtype message: str + :keyword authentication_error_detail: + :paramtype authentication_error_detail: str + """ + super().__init__(**kwargs) + self.message = message + self.authentication_error_detail = authentication_error_detail + + +class StorageServiceProperties(_serialization.Model): + """Storage service properties. + + :ivar hour_metrics: A summary of request statistics grouped by API in hourly aggregates for + files. + :vartype hour_metrics: ~azure.storage.fileshare.models.Metrics + :ivar minute_metrics: A summary of request statistics grouped by API in minute aggregates for + files. + :vartype minute_metrics: ~azure.storage.fileshare.models.Metrics + :ivar cors: The set of CORS rules. + :vartype cors: list[~azure.storage.fileshare.models.CorsRule] + :ivar protocol: Protocol settings. + :vartype protocol: ~azure.storage.fileshare.models.ShareProtocolSettings + """ + + _attribute_map = { + "hour_metrics": {"key": "HourMetrics", "type": "Metrics"}, + "minute_metrics": {"key": "MinuteMetrics", "type": "Metrics"}, + "cors": {"key": "Cors", "type": "[CorsRule]", "xml": {"wrapped": True}}, + "protocol": {"key": "Protocol", "type": "ShareProtocolSettings"}, + } + + def __init__( + self, + *, + hour_metrics: Optional["_models.Metrics"] = None, + minute_metrics: Optional["_models.Metrics"] = None, + cors: Optional[List["_models.CorsRule"]] = None, + protocol: Optional["_models.ShareProtocolSettings"] = None, + **kwargs: Any + ) -> None: + """ + :keyword hour_metrics: A summary of request statistics grouped by API in hourly aggregates for + files. + :paramtype hour_metrics: ~azure.storage.fileshare.models.Metrics + :keyword minute_metrics: A summary of request statistics grouped by API in minute aggregates + for files. + :paramtype minute_metrics: ~azure.storage.fileshare.models.Metrics + :keyword cors: The set of CORS rules. + :paramtype cors: list[~azure.storage.fileshare.models.CorsRule] + :keyword protocol: Protocol settings. + :paramtype protocol: ~azure.storage.fileshare.models.ShareProtocolSettings + """ + super().__init__(**kwargs) + self.hour_metrics = hour_metrics + self.minute_metrics = minute_metrics + self.cors = cors + self.protocol = protocol + + +class StringEncoded(_serialization.Model): + """StringEncoded. + + :ivar encoded: + :vartype encoded: bool + :ivar content: + :vartype content: str + """ + + _attribute_map = { + "encoded": {"key": "Encoded", "type": "bool", "xml": {"name": "Encoded", "attr": True}}, + "content": {"key": "content", "type": "str", "xml": {"text": True}}, + } + + def __init__(self, *, encoded: Optional[bool] = None, content: Optional[str] = None, **kwargs: Any) -> None: + """ + :keyword encoded: + :paramtype encoded: bool + :keyword content: + :paramtype content: str + """ + super().__init__(**kwargs) + self.encoded = encoded + self.content = content diff --git a/.venv/lib/python3.12/site-packages/azure/storage/fileshare/_generated/models/_patch.py b/.venv/lib/python3.12/site-packages/azure/storage/fileshare/_generated/models/_patch.py new file mode 100644 index 00000000..f7dd3251 --- /dev/null +++ b/.venv/lib/python3.12/site-packages/azure/storage/fileshare/_generated/models/_patch.py @@ -0,0 +1,20 @@ +# ------------------------------------ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# ------------------------------------ +"""Customize generated code here. + +Follow our quickstart for examples: https://aka.ms/azsdk/python/dpcodegen/python/customize +""" +from typing import List + +__all__: List[str] = [] # Add all objects you want publicly available to users at this package level + + +def patch_sdk(): + """Do not remove from this file. + + `patch_sdk` is a last resort escape hatch that allows you to do customizations + you can't accomplish using the techniques described in + https://aka.ms/azsdk/python/dpcodegen/python/customize + """ |
