# 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
    AffinityInfo,
    AuthenticationTokenSettings,
    AutoScaleRun,
    AutoScaleRunError,
    AutoUserSpecification,
    AutomaticOsUpgradePolicy,
    AzureBlobFileSystemConfiguration,
    AzureFileShareConfiguration,
    BatchApplication,
    BatchApplicationPackageReference,
    BatchAutoPoolSpecification,
    BatchCertificate,
    BatchCertificateReference,
    BatchError,
    BatchErrorDetail,
    BatchErrorMessage,
    BatchJob,
    BatchJobConstraints,
    BatchJobCreateContent,
    BatchJobDisableContent,
    BatchJobExecutionInfo,
    BatchJobManagerTask,
    BatchJobNetworkConfiguration,
    BatchJobPreparationAndReleaseTaskStatus,
    BatchJobPreparationTask,
    BatchJobPreparationTaskExecutionInfo,
    BatchJobReleaseTask,
    BatchJobReleaseTaskExecutionInfo,
    BatchJobSchedule,
    BatchJobScheduleConfiguration,
    BatchJobScheduleCreateContent,
    BatchJobScheduleExecutionInfo,
    BatchJobScheduleStatistics,
    BatchJobScheduleUpdateContent,
    BatchJobSchedulingError,
    BatchJobSpecification,
    BatchJobStatistics,
    BatchJobTerminateContent,
    BatchJobUpdateContent,
    BatchNode,
    BatchNodeAgentInfo,
    BatchNodeCounts,
    BatchNodeDeallocateContent,
    BatchNodeDisableSchedulingContent,
    BatchNodeEndpointConfiguration,
    BatchNodeError,
    BatchNodeFile,
    BatchNodeIdentityReference,
    BatchNodeInfo,
    BatchNodePlacementConfiguration,
    BatchNodeRebootContent,
    BatchNodeReimageContent,
    BatchNodeRemoteLoginSettings,
    BatchNodeRemoveContent,
    BatchNodeUserCreateContent,
    BatchNodeUserUpdateContent,
    BatchNodeVMExtension,
    BatchPool,
    BatchPoolCreateContent,
    BatchPoolEnableAutoScaleContent,
    BatchPoolEndpointConfiguration,
    BatchPoolEvaluateAutoScaleContent,
    BatchPoolIdentity,
    BatchPoolInfo,
    BatchPoolNodeCounts,
    BatchPoolReplaceContent,
    BatchPoolResizeContent,
    BatchPoolResourceStatistics,
    BatchPoolSpecification,
    BatchPoolStatistics,
    BatchPoolUpdateContent,
    BatchPoolUsageMetrics,
    BatchPoolUsageStatistics,
    BatchStartTask,
    BatchStartTaskInfo,
    BatchSubtask,
    BatchSupportedImage,
    BatchTask,
    BatchTaskAddCollectionResult,
    BatchTaskAddResult,
    BatchTaskConstraints,
    BatchTaskContainerExecutionInfo,
    BatchTaskContainerSettings,
    BatchTaskCounts,
    BatchTaskCountsResult,
    BatchTaskCreateContent,
    BatchTaskDependencies,
    BatchTaskExecutionInfo,
    BatchTaskFailureInfo,
    BatchTaskGroup,
    BatchTaskIdRange,
    BatchTaskInfo,
    BatchTaskSchedulingPolicy,
    BatchTaskSlotCounts,
    BatchTaskStatistics,
    CifsMountConfiguration,
    ContainerConfiguration,
    ContainerHostBatchBindMountEntry,
    ContainerRegistryReference,
    DataDisk,
    DeleteBatchCertificateError,
    DiffDiskSettings,
    DiskEncryptionConfiguration,
    EnvironmentSetting,
    ExitCodeMapping,
    ExitCodeRangeMapping,
    ExitConditions,
    ExitOptions,
    FileProperties,
    GetCertificateResponse,
    HttpHeader,
    ImageReference,
    InboundEndpoint,
    InboundNatPool,
    InstanceViewStatus,
    LinuxUserConfiguration,
    ManagedDisk,
    MetadataItem,
    MountConfiguration,
    MultiInstanceSettings,
    NameValuePair,
    NetworkConfiguration,
    NetworkSecurityGroupRule,
    NfsMountConfiguration,
    OSDisk,
    OutputFile,
    OutputFileBlobContainerDestination,
    OutputFileDestination,
    OutputFileUploadConfig,
    PublicIpAddressConfiguration,
    RecentBatchJob,
    ResizeError,
    ResourceFile,
    RollingUpgradePolicy,
    SecurityProfile,
    ServiceArtifactReference,
    UefiSettings,
    UpgradePolicy,
    UploadBatchServiceLogsContent,
    UploadBatchServiceLogsResult,
    UserAccount,
    UserAssignedIdentity,
    UserIdentity,
    VMDiskSecurityProfile,
    VMExtension,
    VMExtensionInstanceView,
    VirtualMachineConfiguration,
    VirtualMachineInfo,
    WindowsConfiguration,
    WindowsUserConfiguration,
)

from ._enums import (  # type: ignore
    AccessScope,
    AllocationState,
    AutoUserScope,
    BatchCertificateFormat,
    BatchCertificateState,
    BatchCertificateStoreLocation,
    BatchCertificateVisibility,
    BatchJobAction,
    BatchJobPreparationTaskState,
    BatchJobReleaseTaskState,
    BatchJobScheduleState,
    BatchJobState,
    BatchNodeCommunicationMode,
    BatchNodeDeallocateOption,
    BatchNodeDeallocationOption,
    BatchNodeDisableSchedulingOption,
    BatchNodeFillType,
    BatchNodePlacementPolicyType,
    BatchNodeRebootOption,
    BatchNodeReimageOption,
    BatchNodeState,
    BatchPoolIdentityType,
    BatchPoolLifetimeOption,
    BatchPoolState,
    BatchStartTaskState,
    BatchSubtaskState,
    BatchTaskAddStatus,
    BatchTaskExecutionResult,
    BatchTaskState,
    CachingType,
    ContainerHostDataPath,
    ContainerType,
    ContainerWorkingDirectory,
    DependencyAction,
    DiffDiskPlacement,
    DisableBatchJobOption,
    DiskEncryptionTarget,
    DynamicVNetAssignmentScope,
    ElevationLevel,
    ErrorCategory,
    ImageVerificationType,
    InboundEndpointProtocol,
    IpAddressProvisioningType,
    LoginMode,
    NetworkSecurityGroupRuleAccess,
    OSType,
    OnAllBatchTasksComplete,
    OnBatchTaskFailure,
    OutputFileUploadCondition,
    SchedulingState,
    SecurityEncryptionTypes,
    SecurityTypes,
    StatusLevelTypes,
    StorageAccountType,
    UpgradeMode,
)
from ._patch import __all__ as _patch_all
from ._patch import *
from ._patch import patch_sdk as _patch_sdk

__all__ = [
    "AffinityInfo",
    "AuthenticationTokenSettings",
    "AutoScaleRun",
    "AutoScaleRunError",
    "AutoUserSpecification",
    "AutomaticOsUpgradePolicy",
    "AzureBlobFileSystemConfiguration",
    "AzureFileShareConfiguration",
    "BatchApplication",
    "BatchApplicationPackageReference",
    "BatchAutoPoolSpecification",
    "BatchCertificate",
    "BatchCertificateReference",
    "BatchError",
    "BatchErrorDetail",
    "BatchErrorMessage",
    "BatchJob",
    "BatchJobConstraints",
    "BatchJobCreateContent",
    "BatchJobDisableContent",
    "BatchJobExecutionInfo",
    "BatchJobManagerTask",
    "BatchJobNetworkConfiguration",
    "BatchJobPreparationAndReleaseTaskStatus",
    "BatchJobPreparationTask",
    "BatchJobPreparationTaskExecutionInfo",
    "BatchJobReleaseTask",
    "BatchJobReleaseTaskExecutionInfo",
    "BatchJobSchedule",
    "BatchJobScheduleConfiguration",
    "BatchJobScheduleCreateContent",
    "BatchJobScheduleExecutionInfo",
    "BatchJobScheduleStatistics",
    "BatchJobScheduleUpdateContent",
    "BatchJobSchedulingError",
    "BatchJobSpecification",
    "BatchJobStatistics",
    "BatchJobTerminateContent",
    "BatchJobUpdateContent",
    "BatchNode",
    "BatchNodeAgentInfo",
    "BatchNodeCounts",
    "BatchNodeDeallocateContent",
    "BatchNodeDisableSchedulingContent",
    "BatchNodeEndpointConfiguration",
    "BatchNodeError",
    "BatchNodeFile",
    "BatchNodeIdentityReference",
    "BatchNodeInfo",
    "BatchNodePlacementConfiguration",
    "BatchNodeRebootContent",
    "BatchNodeReimageContent",
    "BatchNodeRemoteLoginSettings",
    "BatchNodeRemoveContent",
    "BatchNodeUserCreateContent",
    "BatchNodeUserUpdateContent",
    "BatchNodeVMExtension",
    "BatchPool",
    "BatchPoolCreateContent",
    "BatchPoolEnableAutoScaleContent",
    "BatchPoolEndpointConfiguration",
    "BatchPoolEvaluateAutoScaleContent",
    "BatchPoolIdentity",
    "BatchPoolInfo",
    "BatchPoolNodeCounts",
    "BatchPoolReplaceContent",
    "BatchPoolResizeContent",
    "BatchPoolResourceStatistics",
    "BatchPoolSpecification",
    "BatchPoolStatistics",
    "BatchPoolUpdateContent",
    "BatchPoolUsageMetrics",
    "BatchPoolUsageStatistics",
    "BatchStartTask",
    "BatchStartTaskInfo",
    "BatchSubtask",
    "BatchSupportedImage",
    "BatchTask",
    "BatchTaskAddCollectionResult",
    "BatchTaskAddResult",
    "BatchTaskConstraints",
    "BatchTaskContainerExecutionInfo",
    "BatchTaskContainerSettings",
    "BatchTaskCounts",
    "BatchTaskCountsResult",
    "BatchTaskCreateContent",
    "BatchTaskDependencies",
    "BatchTaskExecutionInfo",
    "BatchTaskFailureInfo",
    "BatchTaskGroup",
    "BatchTaskIdRange",
    "BatchTaskInfo",
    "BatchTaskSchedulingPolicy",
    "BatchTaskSlotCounts",
    "BatchTaskStatistics",
    "CifsMountConfiguration",
    "ContainerConfiguration",
    "ContainerHostBatchBindMountEntry",
    "ContainerRegistryReference",
    "DataDisk",
    "DeleteBatchCertificateError",
    "DiffDiskSettings",
    "DiskEncryptionConfiguration",
    "EnvironmentSetting",
    "ExitCodeMapping",
    "ExitCodeRangeMapping",
    "ExitConditions",
    "ExitOptions",
    "FileProperties",
    "GetCertificateResponse",
    "HttpHeader",
    "ImageReference",
    "InboundEndpoint",
    "InboundNatPool",
    "InstanceViewStatus",
    "LinuxUserConfiguration",
    "ManagedDisk",
    "MetadataItem",
    "MountConfiguration",
    "MultiInstanceSettings",
    "NameValuePair",
    "NetworkConfiguration",
    "NetworkSecurityGroupRule",
    "NfsMountConfiguration",
    "OSDisk",
    "OutputFile",
    "OutputFileBlobContainerDestination",
    "OutputFileDestination",
    "OutputFileUploadConfig",
    "PublicIpAddressConfiguration",
    "RecentBatchJob",
    "ResizeError",
    "ResourceFile",
    "RollingUpgradePolicy",
    "SecurityProfile",
    "ServiceArtifactReference",
    "UefiSettings",
    "UpgradePolicy",
    "UploadBatchServiceLogsContent",
    "UploadBatchServiceLogsResult",
    "UserAccount",
    "UserAssignedIdentity",
    "UserIdentity",
    "VMDiskSecurityProfile",
    "VMExtension",
    "VMExtensionInstanceView",
    "VirtualMachineConfiguration",
    "VirtualMachineInfo",
    "WindowsConfiguration",
    "WindowsUserConfiguration",
    "AccessScope",
    "AllocationState",
    "AutoUserScope",
    "BatchCertificateFormat",
    "BatchCertificateState",
    "BatchCertificateStoreLocation",
    "BatchCertificateVisibility",
    "BatchJobAction",
    "BatchJobPreparationTaskState",
    "BatchJobReleaseTaskState",
    "BatchJobScheduleState",
    "BatchJobState",
    "BatchNodeCommunicationMode",
    "BatchNodeDeallocateOption",
    "BatchNodeDeallocationOption",
    "BatchNodeDisableSchedulingOption",
    "BatchNodeFillType",
    "BatchNodePlacementPolicyType",
    "BatchNodeRebootOption",
    "BatchNodeReimageOption",
    "BatchNodeState",
    "BatchPoolIdentityType",
    "BatchPoolLifetimeOption",
    "BatchPoolState",
    "BatchStartTaskState",
    "BatchSubtaskState",
    "BatchTaskAddStatus",
    "BatchTaskExecutionResult",
    "BatchTaskState",
    "CachingType",
    "ContainerHostDataPath",
    "ContainerType",
    "ContainerWorkingDirectory",
    "DependencyAction",
    "DiffDiskPlacement",
    "DisableBatchJobOption",
    "DiskEncryptionTarget",
    "DynamicVNetAssignmentScope",
    "ElevationLevel",
    "ErrorCategory",
    "ImageVerificationType",
    "InboundEndpointProtocol",
    "IpAddressProvisioningType",
    "LoginMode",
    "NetworkSecurityGroupRuleAccess",
    "OSType",
    "OnAllBatchTasksComplete",
    "OnBatchTaskFailure",
    "OutputFileUploadCondition",
    "SchedulingState",
    "SecurityEncryptionTypes",
    "SecurityTypes",
    "StatusLevelTypes",
    "StorageAccountType",
    "UpgradeMode",
]
__all__.extend([p for p in _patch_all if p not in __all__])  # pyright: ignore
_patch_sdk()
