# 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) Python 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 import (  # type: ignore
    AccountEncryption,
    AccountProperties,
    AccountPropertiesPatch,
    ActiveDirectory,
    ActiveDirectoryConfig,
    ActiveDirectoryConfigProperties,
    ActiveDirectoryConfigUpdate,
    ActiveDirectoryConfigUpdateProperties,
    AuthorizeRequest,
    AzureKeyVaultDetails,
    Backup,
    BackupPatch,
    BackupPatchProperties,
    BackupPolicy,
    BackupPolicyPatch,
    BackupPolicyProperties,
    BackupProperties,
    BackupRestoreFiles,
    BackupStatus,
    BackupVault,
    BackupVaultPatch,
    BackupVaultProperties,
    BackupsMigrationRequest,
    BindPasswordAkvConfig,
    BindPasswordAkvConfigPatch,
    BreakFileLocksRequest,
    BreakReplicationRequest,
    Bucket,
    BucketCredentialsExpiry,
    BucketGenerateCredentials,
    BucketPatch,
    BucketPatchProperties,
    BucketProperties,
    BucketServerPatchProperties,
    BucketServerProperties,
    Cache,
    CacheMountTargetProperties,
    CacheProperties,
    CachePropertiesExportPolicy,
    CacheUpdate,
    CacheUpdateProperties,
    CapacityPool,
    CapacityPoolPatch,
    CertificateAkvDetails,
    ChangeKeyVault,
    ChangeZoneRequest,
    CheckAvailabilityResponse,
    CheckElasticResourceAvailabilityResponse,
    CheckElasticVolumeFilePathAvailabilityRequest,
    CifsUser,
    ClusterPeerCommandResponse,
    ClusterPeerCommandResponseProperties,
    CredentialsAkvDetails,
    DailySchedule,
    DestinationReplication,
    Dimension,
    ElasticAccount,
    ElasticAccountProperties,
    ElasticAccountUpdate,
    ElasticAccountUpdateProperties,
    ElasticBackup,
    ElasticBackupPolicy,
    ElasticBackupPolicyProperties,
    ElasticBackupPolicyUpdate,
    ElasticBackupPolicyUpdateProperties,
    ElasticBackupProperties,
    ElasticBackupVault,
    ElasticBackupVaultProperties,
    ElasticBackupVaultUpdate,
    ElasticCapacityPool,
    ElasticCapacityPoolProperties,
    ElasticCapacityPoolUpdate,
    ElasticCapacityPoolUpdateProperties,
    ElasticEncryption,
    ElasticEncryptionConfiguration,
    ElasticEncryptionIdentity,
    ElasticExportPolicy,
    ElasticExportPolicyRule,
    ElasticKeyVaultProperties,
    ElasticMountTargetProperties,
    ElasticSmbPatchProperties,
    ElasticSmbProperties,
    ElasticSnapshot,
    ElasticSnapshotPolicy,
    ElasticSnapshotPolicyDailySchedule,
    ElasticSnapshotPolicyHourlySchedule,
    ElasticSnapshotPolicyMonthlySchedule,
    ElasticSnapshotPolicyProperties,
    ElasticSnapshotPolicyUpdate,
    ElasticSnapshotPolicyUpdateProperties,
    ElasticSnapshotPolicyWeeklySchedule,
    ElasticSnapshotProperties,
    ElasticVolume,
    ElasticVolumeBackupProperties,
    ElasticVolumeDataProtectionPatchProperties,
    ElasticVolumeDataProtectionProperties,
    ElasticVolumeProperties,
    ElasticVolumeRevert,
    ElasticVolumeSnapshotProperties,
    ElasticVolumeUpdate,
    ElasticVolumeUpdateProperties,
    EncryptionIdentity,
    EncryptionTransitionRequest,
    EntraIdAkvConfig,
    EntraIdAkvConfigPatch,
    EntraIdConfig,
    EntraIdConfigPatch,
    ErrorAdditionalInfo,
    ErrorDetail,
    ErrorResponse,
    ExportPolicyRule,
    FilePathAvailabilityRequest,
    FileSystemUser,
    GetGroupIdListForLDAPUserRequest,
    GetGroupIdListForLDAPUserResponse,
    GetKeyVaultStatusResponse,
    GetKeyVaultStatusResponseProperties,
    HourlySchedule,
    KeyVaultPrivateEndpoint,
    KeyVaultProperties,
    LdapConfiguration,
    LdapConfigurationPatch,
    LdapSearchScopeOpt,
    ListQuotaReportResponse,
    ListQuotaReportResult,
    ListReplicationsRequest,
    LogSpecification,
    ManagedServiceIdentity,
    MetricSpecification,
    MonthlySchedule,
    MountTargetProperties,
    NetAppAccount,
    NetAppAccountPatch,
    NetworkSiblingSet,
    NfsUser,
    NicInfo,
    Operation,
    OperationDisplay,
    OperationProperties,
    OriginClusterInformation,
    PeerClusterForVolumeMigrationRequest,
    PeeringPassphrases,
    PlacementKeyValuePairs,
    PoolChangeRequest,
    PoolPatchProperties,
    PoolProperties,
    ProxyResource,
    QueryNetworkSiblingSetRequest,
    QuotaAvailabilityRequest,
    QuotaItem,
    QuotaItemProperties,
    QuotaReport,
    QuotaReportFilterRequest,
    RansomwareProtectionPatchSettings,
    RansomwareProtectionSettings,
    RansomwareReport,
    RansomwareReportProperties,
    RansomwareSuspects,
    RansomwareSuspectsClearRequest,
    ReestablishReplicationRequest,
    RegionInfo,
    RegionInfoAvailabilityZoneMappingsItem,
    RegionInfoResource,
    RelocateVolumeRequest,
    RemotePath,
    Replication,
    ReplicationObject,
    ReplicationStatus,
    Resource,
    ResourceNameAvailabilityRequest,
    RestoreStatus,
    SecretPassword,
    SecretPasswordIdentity,
    SecretPasswordKeyVaultProperties,
    ServiceSpecification,
    SmbSettings,
    Snapshot,
    SnapshotPatch,
    SnapshotPolicy,
    SnapshotPolicyPatch,
    SnapshotPolicyProperties,
    SnapshotPolicyVolumeList,
    SnapshotProperties,
    SnapshotRestoreFiles,
    SubvolumeInfo,
    SubvolumeModel,
    SubvolumeModelProperties,
    SubvolumePatchParams,
    SubvolumePatchRequest,
    SubvolumeProperties,
    SuspectFile,
    SvmPeerCommandResponse,
    SvmPeerCommandResponseProperties,
    SystemData,
    TrackedResource,
    UpdateNetworkSiblingSetRequest,
    UsageName,
    UsageProperties,
    UsageResult,
    UserAssignedIdentity,
    Volume,
    VolumeBackupProperties,
    VolumeBackups,
    VolumeGroup,
    VolumeGroupDetails,
    VolumeGroupListProperties,
    VolumeGroupMetaData,
    VolumeGroupProperties,
    VolumeGroupVolumeProperties,
    VolumePatch,
    VolumePatchProperties,
    VolumePatchPropertiesDataProtection,
    VolumePatchPropertiesExportPolicy,
    VolumeProperties,
    VolumePropertiesDataProtection,
    VolumePropertiesExportPolicy,
    VolumeQuotaRule,
    VolumeQuotaRulePatch,
    VolumeQuotaRulesProperties,
    VolumeRelocationProperties,
    VolumeRevert,
    VolumeSnapshotProperties,
    WeeklySchedule,
)

from ._enums import (  # type: ignore
    AcceptGrowCapacityPoolForShortTermCloneSplit,
    ActiveDirectoryStatus,
    ActualRansomwareProtectionState,
    ApplicationType,
    AvsDataStore,
    BackupType,
    BindAuthenticationLevel,
    BreakthroughMode,
    BucketPatchPermissions,
    BucketPermissions,
    CacheFileAccessLogs,
    CacheLifeCycleState,
    CacheProvisioningState,
    CheckElasticResourceAvailabilityReason,
    CheckElasticResourceAvailabilityStatus,
    CheckNameResourceTypes,
    CheckQuotaNameResourceTypes,
    ChownMode,
    CifsChangeNotifyState,
    CoolAccessRetrievalPolicy,
    CoolAccessTieringPolicy,
    CreatedByType,
    CredentialsStatus,
    DayOfWeek,
    DesiredRansomwareProtectionState,
    ElasticBackupPolicyState,
    ElasticBackupType,
    ElasticKeyVaultStatus,
    ElasticNfsv3Access,
    ElasticNfsv4Access,
    ElasticPoolEncryptionKeySource,
    ElasticProtocolType,
    ElasticResourceAvailabilityStatus,
    ElasticRootAccess,
    ElasticServiceLevel,
    ElasticSmbEncryption,
    ElasticUnixAccessRule,
    ElasticVolumePolicyEnforcement,
    ElasticVolumeRestorationState,
    EnableSubvolumes,
    EnableWriteBackState,
    EncryptionKeySource,
    EncryptionState,
    EncryptionType,
    EndpointType,
    Exclude,
    ExternalReplicationSetupStatus,
    FileAccessLogs,
    GlobalFileLockingState,
    InAvailabilityReasonType,
    KerberosState,
    KeySource,
    KeyVaultStatus,
    LargeVolumeType,
    LdapServerType,
    LdapState,
    ManagedServiceIdentityType,
    MetricAggregationType,
    MirrorState,
    MultiAdStatus,
    NetAppProvisioningState,
    NetworkFeatures,
    NetworkSiblingSetProvisioningState,
    OnCertificateConflictAction,
    PolicyStatus,
    ProtocolTypes,
    QosType,
    QuotaType,
    RansomwareReportSeverity,
    RansomwareReportState,
    RansomwareSuspectResolution,
    RegionStorageToNetworkProximity,
    ReplicationMirrorState,
    ReplicationSchedule,
    ReplicationType,
    SecurityStyle,
    ServiceLevel,
    SmbAccessBasedEnumeration,
    SmbEncryptionState,
    SmbNonBrowsable,
    SnapshotDirectoryVisibility,
    SnapshotUsage,
    VolumeBackupRelationshipStatus,
    VolumeLanguage,
    VolumeReplicationRelationshipStatus,
    VolumeRestoreRelationshipStatus,
    VolumeSize,
    VolumeStorageToNetworkProximity,
)
from ._patch import __all__ as _patch_all
from ._patch import *
from ._patch import patch_sdk as _patch_sdk

__all__ = [
    "AccountEncryption",
    "AccountProperties",
    "AccountPropertiesPatch",
    "ActiveDirectory",
    "ActiveDirectoryConfig",
    "ActiveDirectoryConfigProperties",
    "ActiveDirectoryConfigUpdate",
    "ActiveDirectoryConfigUpdateProperties",
    "AuthorizeRequest",
    "AzureKeyVaultDetails",
    "Backup",
    "BackupPatch",
    "BackupPatchProperties",
    "BackupPolicy",
    "BackupPolicyPatch",
    "BackupPolicyProperties",
    "BackupProperties",
    "BackupRestoreFiles",
    "BackupStatus",
    "BackupVault",
    "BackupVaultPatch",
    "BackupVaultProperties",
    "BackupsMigrationRequest",
    "BindPasswordAkvConfig",
    "BindPasswordAkvConfigPatch",
    "BreakFileLocksRequest",
    "BreakReplicationRequest",
    "Bucket",
    "BucketCredentialsExpiry",
    "BucketGenerateCredentials",
    "BucketPatch",
    "BucketPatchProperties",
    "BucketProperties",
    "BucketServerPatchProperties",
    "BucketServerProperties",
    "Cache",
    "CacheMountTargetProperties",
    "CacheProperties",
    "CachePropertiesExportPolicy",
    "CacheUpdate",
    "CacheUpdateProperties",
    "CapacityPool",
    "CapacityPoolPatch",
    "CertificateAkvDetails",
    "ChangeKeyVault",
    "ChangeZoneRequest",
    "CheckAvailabilityResponse",
    "CheckElasticResourceAvailabilityResponse",
    "CheckElasticVolumeFilePathAvailabilityRequest",
    "CifsUser",
    "ClusterPeerCommandResponse",
    "ClusterPeerCommandResponseProperties",
    "CredentialsAkvDetails",
    "DailySchedule",
    "DestinationReplication",
    "Dimension",
    "ElasticAccount",
    "ElasticAccountProperties",
    "ElasticAccountUpdate",
    "ElasticAccountUpdateProperties",
    "ElasticBackup",
    "ElasticBackupPolicy",
    "ElasticBackupPolicyProperties",
    "ElasticBackupPolicyUpdate",
    "ElasticBackupPolicyUpdateProperties",
    "ElasticBackupProperties",
    "ElasticBackupVault",
    "ElasticBackupVaultProperties",
    "ElasticBackupVaultUpdate",
    "ElasticCapacityPool",
    "ElasticCapacityPoolProperties",
    "ElasticCapacityPoolUpdate",
    "ElasticCapacityPoolUpdateProperties",
    "ElasticEncryption",
    "ElasticEncryptionConfiguration",
    "ElasticEncryptionIdentity",
    "ElasticExportPolicy",
    "ElasticExportPolicyRule",
    "ElasticKeyVaultProperties",
    "ElasticMountTargetProperties",
    "ElasticSmbPatchProperties",
    "ElasticSmbProperties",
    "ElasticSnapshot",
    "ElasticSnapshotPolicy",
    "ElasticSnapshotPolicyDailySchedule",
    "ElasticSnapshotPolicyHourlySchedule",
    "ElasticSnapshotPolicyMonthlySchedule",
    "ElasticSnapshotPolicyProperties",
    "ElasticSnapshotPolicyUpdate",
    "ElasticSnapshotPolicyUpdateProperties",
    "ElasticSnapshotPolicyWeeklySchedule",
    "ElasticSnapshotProperties",
    "ElasticVolume",
    "ElasticVolumeBackupProperties",
    "ElasticVolumeDataProtectionPatchProperties",
    "ElasticVolumeDataProtectionProperties",
    "ElasticVolumeProperties",
    "ElasticVolumeRevert",
    "ElasticVolumeSnapshotProperties",
    "ElasticVolumeUpdate",
    "ElasticVolumeUpdateProperties",
    "EncryptionIdentity",
    "EncryptionTransitionRequest",
    "EntraIdAkvConfig",
    "EntraIdAkvConfigPatch",
    "EntraIdConfig",
    "EntraIdConfigPatch",
    "ErrorAdditionalInfo",
    "ErrorDetail",
    "ErrorResponse",
    "ExportPolicyRule",
    "FilePathAvailabilityRequest",
    "FileSystemUser",
    "GetGroupIdListForLDAPUserRequest",
    "GetGroupIdListForLDAPUserResponse",
    "GetKeyVaultStatusResponse",
    "GetKeyVaultStatusResponseProperties",
    "HourlySchedule",
    "KeyVaultPrivateEndpoint",
    "KeyVaultProperties",
    "LdapConfiguration",
    "LdapConfigurationPatch",
    "LdapSearchScopeOpt",
    "ListQuotaReportResponse",
    "ListQuotaReportResult",
    "ListReplicationsRequest",
    "LogSpecification",
    "ManagedServiceIdentity",
    "MetricSpecification",
    "MonthlySchedule",
    "MountTargetProperties",
    "NetAppAccount",
    "NetAppAccountPatch",
    "NetworkSiblingSet",
    "NfsUser",
    "NicInfo",
    "Operation",
    "OperationDisplay",
    "OperationProperties",
    "OriginClusterInformation",
    "PeerClusterForVolumeMigrationRequest",
    "PeeringPassphrases",
    "PlacementKeyValuePairs",
    "PoolChangeRequest",
    "PoolPatchProperties",
    "PoolProperties",
    "ProxyResource",
    "QueryNetworkSiblingSetRequest",
    "QuotaAvailabilityRequest",
    "QuotaItem",
    "QuotaItemProperties",
    "QuotaReport",
    "QuotaReportFilterRequest",
    "RansomwareProtectionPatchSettings",
    "RansomwareProtectionSettings",
    "RansomwareReport",
    "RansomwareReportProperties",
    "RansomwareSuspects",
    "RansomwareSuspectsClearRequest",
    "ReestablishReplicationRequest",
    "RegionInfo",
    "RegionInfoAvailabilityZoneMappingsItem",
    "RegionInfoResource",
    "RelocateVolumeRequest",
    "RemotePath",
    "Replication",
    "ReplicationObject",
    "ReplicationStatus",
    "Resource",
    "ResourceNameAvailabilityRequest",
    "RestoreStatus",
    "SecretPassword",
    "SecretPasswordIdentity",
    "SecretPasswordKeyVaultProperties",
    "ServiceSpecification",
    "SmbSettings",
    "Snapshot",
    "SnapshotPatch",
    "SnapshotPolicy",
    "SnapshotPolicyPatch",
    "SnapshotPolicyProperties",
    "SnapshotPolicyVolumeList",
    "SnapshotProperties",
    "SnapshotRestoreFiles",
    "SubvolumeInfo",
    "SubvolumeModel",
    "SubvolumeModelProperties",
    "SubvolumePatchParams",
    "SubvolumePatchRequest",
    "SubvolumeProperties",
    "SuspectFile",
    "SvmPeerCommandResponse",
    "SvmPeerCommandResponseProperties",
    "SystemData",
    "TrackedResource",
    "UpdateNetworkSiblingSetRequest",
    "UsageName",
    "UsageProperties",
    "UsageResult",
    "UserAssignedIdentity",
    "Volume",
    "VolumeBackupProperties",
    "VolumeBackups",
    "VolumeGroup",
    "VolumeGroupDetails",
    "VolumeGroupListProperties",
    "VolumeGroupMetaData",
    "VolumeGroupProperties",
    "VolumeGroupVolumeProperties",
    "VolumePatch",
    "VolumePatchProperties",
    "VolumePatchPropertiesDataProtection",
    "VolumePatchPropertiesExportPolicy",
    "VolumeProperties",
    "VolumePropertiesDataProtection",
    "VolumePropertiesExportPolicy",
    "VolumeQuotaRule",
    "VolumeQuotaRulePatch",
    "VolumeQuotaRulesProperties",
    "VolumeRelocationProperties",
    "VolumeRevert",
    "VolumeSnapshotProperties",
    "WeeklySchedule",
    "AcceptGrowCapacityPoolForShortTermCloneSplit",
    "ActiveDirectoryStatus",
    "ActualRansomwareProtectionState",
    "ApplicationType",
    "AvsDataStore",
    "BackupType",
    "BindAuthenticationLevel",
    "BreakthroughMode",
    "BucketPatchPermissions",
    "BucketPermissions",
    "CacheFileAccessLogs",
    "CacheLifeCycleState",
    "CacheProvisioningState",
    "CheckElasticResourceAvailabilityReason",
    "CheckElasticResourceAvailabilityStatus",
    "CheckNameResourceTypes",
    "CheckQuotaNameResourceTypes",
    "ChownMode",
    "CifsChangeNotifyState",
    "CoolAccessRetrievalPolicy",
    "CoolAccessTieringPolicy",
    "CreatedByType",
    "CredentialsStatus",
    "DayOfWeek",
    "DesiredRansomwareProtectionState",
    "ElasticBackupPolicyState",
    "ElasticBackupType",
    "ElasticKeyVaultStatus",
    "ElasticNfsv3Access",
    "ElasticNfsv4Access",
    "ElasticPoolEncryptionKeySource",
    "ElasticProtocolType",
    "ElasticResourceAvailabilityStatus",
    "ElasticRootAccess",
    "ElasticServiceLevel",
    "ElasticSmbEncryption",
    "ElasticUnixAccessRule",
    "ElasticVolumePolicyEnforcement",
    "ElasticVolumeRestorationState",
    "EnableSubvolumes",
    "EnableWriteBackState",
    "EncryptionKeySource",
    "EncryptionState",
    "EncryptionType",
    "EndpointType",
    "Exclude",
    "ExternalReplicationSetupStatus",
    "FileAccessLogs",
    "GlobalFileLockingState",
    "InAvailabilityReasonType",
    "KerberosState",
    "KeySource",
    "KeyVaultStatus",
    "LargeVolumeType",
    "LdapServerType",
    "LdapState",
    "ManagedServiceIdentityType",
    "MetricAggregationType",
    "MirrorState",
    "MultiAdStatus",
    "NetAppProvisioningState",
    "NetworkFeatures",
    "NetworkSiblingSetProvisioningState",
    "OnCertificateConflictAction",
    "PolicyStatus",
    "ProtocolTypes",
    "QosType",
    "QuotaType",
    "RansomwareReportSeverity",
    "RansomwareReportState",
    "RansomwareSuspectResolution",
    "RegionStorageToNetworkProximity",
    "ReplicationMirrorState",
    "ReplicationSchedule",
    "ReplicationType",
    "SecurityStyle",
    "ServiceLevel",
    "SmbAccessBasedEnumeration",
    "SmbEncryptionState",
    "SmbNonBrowsable",
    "SnapshotDirectoryVisibility",
    "SnapshotUsage",
    "VolumeBackupRelationshipStatus",
    "VolumeLanguage",
    "VolumeReplicationRelationshipStatus",
    "VolumeRestoreRelationshipStatus",
    "VolumeSize",
    "VolumeStorageToNetworkProximity",
]
__all__.extend([p for p in _patch_all if p not in __all__])  # pyright: ignore
_patch_sdk()
