# 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
    AdditionalCapabilities,
    AdditionalUnattendContent,
    ApiEntityReference,
    ApiError,
    ApiErrorBase,
    AutomaticOSUpgradePolicy,
    AutomaticOSUpgradeProperties,
    AutomaticRepairsPolicy,
    AvailabilitySet,
    AvailabilitySetListResult,
    AvailabilitySetUpdate,
    AvailablePatchSummary,
    BillingProfile,
    BootDiagnostics,
    BootDiagnosticsInstanceView,
    ComputeOperationListResult,
    ComputeOperationValue,
    DataDisk,
    DataDiskImage,
    DedicatedHost,
    DedicatedHostAllocatableVM,
    DedicatedHostAvailableCapacity,
    DedicatedHostGroup,
    DedicatedHostGroupInstanceView,
    DedicatedHostGroupListResult,
    DedicatedHostGroupUpdate,
    DedicatedHostInstanceView,
    DedicatedHostInstanceViewWithName,
    DedicatedHostListResult,
    DedicatedHostUpdate,
    DiagnosticsProfile,
    DiffDiskSettings,
    DisallowedConfiguration,
    DiskEncryptionSetParameters,
    DiskEncryptionSettings,
    DiskInstanceView,
    HardwareProfile,
    Image,
    ImageDataDisk,
    ImageDisk,
    ImageListResult,
    ImageOSDisk,
    ImageReference,
    ImageStorageProfile,
    ImageUpdate,
    InnerError,
    InstanceViewStatus,
    KeyVaultKeyReference,
    KeyVaultSecretReference,
    LastPatchInstallationSummary,
    LinuxConfiguration,
    ListUsagesResult,
    LogAnalyticsInputBase,
    LogAnalyticsOperationResult,
    LogAnalyticsOutput,
    MaintenanceRedeployStatus,
    ManagedDiskParameters,
    NetworkInterfaceReference,
    NetworkProfile,
    OSDisk,
    OSDiskImage,
    OSProfile,
    OrchestrationServiceStateInput,
    OrchestrationServiceSummary,
    PatchSettings,
    Plan,
    ProximityPlacementGroup,
    ProximityPlacementGroupListResult,
    ProximityPlacementGroupUpdate,
    PurchasePlan,
    RecoveryWalkResponse,
    RequestRateByIntervalInput,
    Resource,
    RetrieveBootDiagnosticsDataResult,
    RollbackStatusInfo,
    RollingUpgradePolicy,
    RollingUpgradeProgressInfo,
    RollingUpgradeRunningStatus,
    RollingUpgradeStatusInfo,
    RunCommandDocument,
    RunCommandDocumentBase,
    RunCommandInput,
    RunCommandInputParameter,
    RunCommandListResult,
    RunCommandParameterDefinition,
    RunCommandResult,
    ScaleInPolicy,
    ScheduledEventsProfile,
    SecurityProfile,
    Sku,
    SshConfiguration,
    SshPublicKey,
    SshPublicKeyGenerateKeyPairResult,
    SshPublicKeyResource,
    SshPublicKeyUpdateResource,
    SshPublicKeysGroupListResult,
    StorageProfile,
    SubResource,
    SubResourceReadOnly,
    SubResourceWithColocationStatus,
    TerminateNotificationProfile,
    ThrottledRequestsInput,
    UpdateResource,
    UpgradeOperationHistoricalStatusInfo,
    UpgradeOperationHistoricalStatusInfoProperties,
    UpgradeOperationHistoryStatus,
    UpgradePolicy,
    Usage,
    UsageName,
    UserAssignedIdentitiesValue,
    VMScaleSetConvertToSinglePlacementGroupInput,
    VaultCertificate,
    VaultSecretGroup,
    VirtualHardDisk,
    VirtualMachine,
    VirtualMachineAgentInstanceView,
    VirtualMachineAssessPatchesResult,
    VirtualMachineCaptureParameters,
    VirtualMachineCaptureResult,
    VirtualMachineExtension,
    VirtualMachineExtensionHandlerInstanceView,
    VirtualMachineExtensionImage,
    VirtualMachineExtensionInstanceView,
    VirtualMachineExtensionUpdate,
    VirtualMachineExtensionsListResult,
    VirtualMachineHealthStatus,
    VirtualMachineIdentity,
    VirtualMachineImage,
    VirtualMachineImageResource,
    VirtualMachineInstanceView,
    VirtualMachineListResult,
    VirtualMachinePatchStatus,
    VirtualMachineReimageParameters,
    VirtualMachineRunCommand,
    VirtualMachineRunCommandInstanceView,
    VirtualMachineRunCommandScriptSource,
    VirtualMachineRunCommandUpdate,
    VirtualMachineRunCommandsListResult,
    VirtualMachineScaleSet,
    VirtualMachineScaleSetDataDisk,
    VirtualMachineScaleSetExtension,
    VirtualMachineScaleSetExtensionListResult,
    VirtualMachineScaleSetExtensionProfile,
    VirtualMachineScaleSetExtensionUpdate,
    VirtualMachineScaleSetIPConfiguration,
    VirtualMachineScaleSetIdentity,
    VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue,
    VirtualMachineScaleSetInstanceView,
    VirtualMachineScaleSetInstanceViewStatusesSummary,
    VirtualMachineScaleSetIpTag,
    VirtualMachineScaleSetListOSUpgradeHistory,
    VirtualMachineScaleSetListResult,
    VirtualMachineScaleSetListSkusResult,
    VirtualMachineScaleSetListWithLinkResult,
    VirtualMachineScaleSetManagedDiskParameters,
    VirtualMachineScaleSetNetworkConfiguration,
    VirtualMachineScaleSetNetworkConfigurationDnsSettings,
    VirtualMachineScaleSetNetworkProfile,
    VirtualMachineScaleSetOSDisk,
    VirtualMachineScaleSetOSProfile,
    VirtualMachineScaleSetPublicIPAddressConfiguration,
    VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings,
    VirtualMachineScaleSetReimageParameters,
    VirtualMachineScaleSetSku,
    VirtualMachineScaleSetSkuCapacity,
    VirtualMachineScaleSetStorageProfile,
    VirtualMachineScaleSetUpdate,
    VirtualMachineScaleSetUpdateIPConfiguration,
    VirtualMachineScaleSetUpdateNetworkConfiguration,
    VirtualMachineScaleSetUpdateNetworkProfile,
    VirtualMachineScaleSetUpdateOSDisk,
    VirtualMachineScaleSetUpdateOSProfile,
    VirtualMachineScaleSetUpdatePublicIPAddressConfiguration,
    VirtualMachineScaleSetUpdateStorageProfile,
    VirtualMachineScaleSetUpdateVMProfile,
    VirtualMachineScaleSetVM,
    VirtualMachineScaleSetVMExtension,
    VirtualMachineScaleSetVMExtensionUpdate,
    VirtualMachineScaleSetVMExtensionsListResult,
    VirtualMachineScaleSetVMExtensionsSummary,
    VirtualMachineScaleSetVMInstanceIDs,
    VirtualMachineScaleSetVMInstanceRequiredIDs,
    VirtualMachineScaleSetVMInstanceView,
    VirtualMachineScaleSetVMListResult,
    VirtualMachineScaleSetVMNetworkProfileConfiguration,
    VirtualMachineScaleSetVMProfile,
    VirtualMachineScaleSetVMProtectionPolicy,
    VirtualMachineScaleSetVMReimageParameters,
    VirtualMachineSize,
    VirtualMachineSizeListResult,
    VirtualMachineSoftwarePatchProperties,
    VirtualMachineStatusCodeCount,
    VirtualMachineUpdate,
    WinRMConfiguration,
    WinRMListener,
    WindowsConfiguration,
)

from ._compute_management_client_enums import (  # type: ignore
    AvailabilitySetSkuTypes,
    CachingTypes,
    DedicatedHostLicenseTypes,
    DiffDiskOptions,
    DiffDiskPlacement,
    DiskCreateOptionTypes,
    ExecutionState,
    HyperVGenerationType,
    HyperVGenerationTypes,
    IPVersion,
    InGuestPatchMode,
    IntervalInMins,
    MaintenanceOperationResultCodeTypes,
    OperatingSystemStateTypes,
    OperatingSystemTypes,
    OrchestrationServiceNames,
    OrchestrationServiceState,
    OrchestrationServiceStateAction,
    PatchAssessmentState,
    PatchOperationStatus,
    ProtocolTypes,
    ProximityPlacementGroupType,
    RebootStatus,
    ResourceIdentityType,
    RollingUpgradeActionType,
    RollingUpgradeStatusCode,
    SettingNames,
    SoftwareUpdateRebootBehavior,
    StatusLevelTypes,
    StorageAccountTypes,
    UpgradeMode,
    UpgradeOperationInvoker,
    UpgradeState,
    VirtualMachineEvictionPolicyTypes,
    VirtualMachinePriorityTypes,
    VirtualMachineScaleSetScaleInRules,
    VirtualMachineScaleSetSkuScaleType,
    VirtualMachineSizeTypes,
    VmDiskTypes,
)
from ._patch import __all__ as _patch_all
from ._patch import *
from ._patch import patch_sdk as _patch_sdk

__all__ = [
    "AdditionalCapabilities",
    "AdditionalUnattendContent",
    "ApiEntityReference",
    "ApiError",
    "ApiErrorBase",
    "AutomaticOSUpgradePolicy",
    "AutomaticOSUpgradeProperties",
    "AutomaticRepairsPolicy",
    "AvailabilitySet",
    "AvailabilitySetListResult",
    "AvailabilitySetUpdate",
    "AvailablePatchSummary",
    "BillingProfile",
    "BootDiagnostics",
    "BootDiagnosticsInstanceView",
    "ComputeOperationListResult",
    "ComputeOperationValue",
    "DataDisk",
    "DataDiskImage",
    "DedicatedHost",
    "DedicatedHostAllocatableVM",
    "DedicatedHostAvailableCapacity",
    "DedicatedHostGroup",
    "DedicatedHostGroupInstanceView",
    "DedicatedHostGroupListResult",
    "DedicatedHostGroupUpdate",
    "DedicatedHostInstanceView",
    "DedicatedHostInstanceViewWithName",
    "DedicatedHostListResult",
    "DedicatedHostUpdate",
    "DiagnosticsProfile",
    "DiffDiskSettings",
    "DisallowedConfiguration",
    "DiskEncryptionSetParameters",
    "DiskEncryptionSettings",
    "DiskInstanceView",
    "HardwareProfile",
    "Image",
    "ImageDataDisk",
    "ImageDisk",
    "ImageListResult",
    "ImageOSDisk",
    "ImageReference",
    "ImageStorageProfile",
    "ImageUpdate",
    "InnerError",
    "InstanceViewStatus",
    "KeyVaultKeyReference",
    "KeyVaultSecretReference",
    "LastPatchInstallationSummary",
    "LinuxConfiguration",
    "ListUsagesResult",
    "LogAnalyticsInputBase",
    "LogAnalyticsOperationResult",
    "LogAnalyticsOutput",
    "MaintenanceRedeployStatus",
    "ManagedDiskParameters",
    "NetworkInterfaceReference",
    "NetworkProfile",
    "OSDisk",
    "OSDiskImage",
    "OSProfile",
    "OrchestrationServiceStateInput",
    "OrchestrationServiceSummary",
    "PatchSettings",
    "Plan",
    "ProximityPlacementGroup",
    "ProximityPlacementGroupListResult",
    "ProximityPlacementGroupUpdate",
    "PurchasePlan",
    "RecoveryWalkResponse",
    "RequestRateByIntervalInput",
    "Resource",
    "RetrieveBootDiagnosticsDataResult",
    "RollbackStatusInfo",
    "RollingUpgradePolicy",
    "RollingUpgradeProgressInfo",
    "RollingUpgradeRunningStatus",
    "RollingUpgradeStatusInfo",
    "RunCommandDocument",
    "RunCommandDocumentBase",
    "RunCommandInput",
    "RunCommandInputParameter",
    "RunCommandListResult",
    "RunCommandParameterDefinition",
    "RunCommandResult",
    "ScaleInPolicy",
    "ScheduledEventsProfile",
    "SecurityProfile",
    "Sku",
    "SshConfiguration",
    "SshPublicKey",
    "SshPublicKeyGenerateKeyPairResult",
    "SshPublicKeyResource",
    "SshPublicKeyUpdateResource",
    "SshPublicKeysGroupListResult",
    "StorageProfile",
    "SubResource",
    "SubResourceReadOnly",
    "SubResourceWithColocationStatus",
    "TerminateNotificationProfile",
    "ThrottledRequestsInput",
    "UpdateResource",
    "UpgradeOperationHistoricalStatusInfo",
    "UpgradeOperationHistoricalStatusInfoProperties",
    "UpgradeOperationHistoryStatus",
    "UpgradePolicy",
    "Usage",
    "UsageName",
    "UserAssignedIdentitiesValue",
    "VMScaleSetConvertToSinglePlacementGroupInput",
    "VaultCertificate",
    "VaultSecretGroup",
    "VirtualHardDisk",
    "VirtualMachine",
    "VirtualMachineAgentInstanceView",
    "VirtualMachineAssessPatchesResult",
    "VirtualMachineCaptureParameters",
    "VirtualMachineCaptureResult",
    "VirtualMachineExtension",
    "VirtualMachineExtensionHandlerInstanceView",
    "VirtualMachineExtensionImage",
    "VirtualMachineExtensionInstanceView",
    "VirtualMachineExtensionUpdate",
    "VirtualMachineExtensionsListResult",
    "VirtualMachineHealthStatus",
    "VirtualMachineIdentity",
    "VirtualMachineImage",
    "VirtualMachineImageResource",
    "VirtualMachineInstanceView",
    "VirtualMachineListResult",
    "VirtualMachinePatchStatus",
    "VirtualMachineReimageParameters",
    "VirtualMachineRunCommand",
    "VirtualMachineRunCommandInstanceView",
    "VirtualMachineRunCommandScriptSource",
    "VirtualMachineRunCommandUpdate",
    "VirtualMachineRunCommandsListResult",
    "VirtualMachineScaleSet",
    "VirtualMachineScaleSetDataDisk",
    "VirtualMachineScaleSetExtension",
    "VirtualMachineScaleSetExtensionListResult",
    "VirtualMachineScaleSetExtensionProfile",
    "VirtualMachineScaleSetExtensionUpdate",
    "VirtualMachineScaleSetIPConfiguration",
    "VirtualMachineScaleSetIdentity",
    "VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue",
    "VirtualMachineScaleSetInstanceView",
    "VirtualMachineScaleSetInstanceViewStatusesSummary",
    "VirtualMachineScaleSetIpTag",
    "VirtualMachineScaleSetListOSUpgradeHistory",
    "VirtualMachineScaleSetListResult",
    "VirtualMachineScaleSetListSkusResult",
    "VirtualMachineScaleSetListWithLinkResult",
    "VirtualMachineScaleSetManagedDiskParameters",
    "VirtualMachineScaleSetNetworkConfiguration",
    "VirtualMachineScaleSetNetworkConfigurationDnsSettings",
    "VirtualMachineScaleSetNetworkProfile",
    "VirtualMachineScaleSetOSDisk",
    "VirtualMachineScaleSetOSProfile",
    "VirtualMachineScaleSetPublicIPAddressConfiguration",
    "VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings",
    "VirtualMachineScaleSetReimageParameters",
    "VirtualMachineScaleSetSku",
    "VirtualMachineScaleSetSkuCapacity",
    "VirtualMachineScaleSetStorageProfile",
    "VirtualMachineScaleSetUpdate",
    "VirtualMachineScaleSetUpdateIPConfiguration",
    "VirtualMachineScaleSetUpdateNetworkConfiguration",
    "VirtualMachineScaleSetUpdateNetworkProfile",
    "VirtualMachineScaleSetUpdateOSDisk",
    "VirtualMachineScaleSetUpdateOSProfile",
    "VirtualMachineScaleSetUpdatePublicIPAddressConfiguration",
    "VirtualMachineScaleSetUpdateStorageProfile",
    "VirtualMachineScaleSetUpdateVMProfile",
    "VirtualMachineScaleSetVM",
    "VirtualMachineScaleSetVMExtension",
    "VirtualMachineScaleSetVMExtensionUpdate",
    "VirtualMachineScaleSetVMExtensionsListResult",
    "VirtualMachineScaleSetVMExtensionsSummary",
    "VirtualMachineScaleSetVMInstanceIDs",
    "VirtualMachineScaleSetVMInstanceRequiredIDs",
    "VirtualMachineScaleSetVMInstanceView",
    "VirtualMachineScaleSetVMListResult",
    "VirtualMachineScaleSetVMNetworkProfileConfiguration",
    "VirtualMachineScaleSetVMProfile",
    "VirtualMachineScaleSetVMProtectionPolicy",
    "VirtualMachineScaleSetVMReimageParameters",
    "VirtualMachineSize",
    "VirtualMachineSizeListResult",
    "VirtualMachineSoftwarePatchProperties",
    "VirtualMachineStatusCodeCount",
    "VirtualMachineUpdate",
    "WinRMConfiguration",
    "WinRMListener",
    "WindowsConfiguration",
    "AvailabilitySetSkuTypes",
    "CachingTypes",
    "DedicatedHostLicenseTypes",
    "DiffDiskOptions",
    "DiffDiskPlacement",
    "DiskCreateOptionTypes",
    "ExecutionState",
    "HyperVGenerationType",
    "HyperVGenerationTypes",
    "IPVersion",
    "InGuestPatchMode",
    "IntervalInMins",
    "MaintenanceOperationResultCodeTypes",
    "OperatingSystemStateTypes",
    "OperatingSystemTypes",
    "OrchestrationServiceNames",
    "OrchestrationServiceState",
    "OrchestrationServiceStateAction",
    "PatchAssessmentState",
    "PatchOperationStatus",
    "ProtocolTypes",
    "ProximityPlacementGroupType",
    "RebootStatus",
    "ResourceIdentityType",
    "RollingUpgradeActionType",
    "RollingUpgradeStatusCode",
    "SettingNames",
    "SoftwareUpdateRebootBehavior",
    "StatusLevelTypes",
    "StorageAccountTypes",
    "UpgradeMode",
    "UpgradeOperationInvoker",
    "UpgradeState",
    "VirtualMachineEvictionPolicyTypes",
    "VirtualMachinePriorityTypes",
    "VirtualMachineScaleSetScaleInRules",
    "VirtualMachineScaleSetSkuScaleType",
    "VirtualMachineSizeTypes",
    "VmDiskTypes",
]
__all__.extend([p for p in _patch_all if p not in __all__])  # pyright: ignore
_patch_sdk()
