# 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
    AbsoluteMonthlySchedule,
    AccessProfile,
    AdvancedNetworking,
    AdvancedNetworkingObservability,
    AdvancedNetworkingPerformance,
    AdvancedNetworkingSecurity,
    AdvancedNetworkingSecurityTransitEncryption,
    AgentPool,
    AgentPoolArtifactStreamingProfile,
    AgentPoolAvailableVersions,
    AgentPoolAvailableVersionsProperties,
    AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem,
    AgentPoolDeleteMachinesParameter,
    AgentPoolGatewayProfile,
    AgentPoolManagedClusterAgentPoolProfileProperties,
    AgentPoolNetworkProfile,
    AgentPoolRecentlyUsedVersion,
    AgentPoolSecurityProfile,
    AgentPoolStatus,
    AgentPoolUpgradeProfile,
    AgentPoolUpgradeProfileProperties,
    AgentPoolUpgradeProfilePropertiesUpgradesItem,
    AgentPoolUpgradeSettings,
    AgentPoolWindowsProfile,
    AzureKeyVaultKms,
    ClusterUpgradeSettings,
    CommandResultProperties,
    CompatibleVersions,
    ContainerServiceLinuxProfile,
    ContainerServiceNetworkProfile,
    ContainerServiceSshConfiguration,
    ContainerServiceSshPublicKey,
    CreationData,
    CredentialResult,
    CredentialResults,
    DailySchedule,
    DateSpan,
    DelegatedResource,
    EndpointDependency,
    EndpointDetail,
    ErrorAdditionalInfo,
    ErrorDetail,
    ErrorResponse,
    ExtendedLocation,
    GPUProfile,
    IPTag,
    IdentityBinding,
    IdentityBindingManagedIdentityProfile,
    IdentityBindingOidcIssuerProfile,
    IdentityBindingProperties,
    IstioCertificateAuthority,
    IstioComponents,
    IstioEgressGateway,
    IstioIngressGateway,
    IstioPluginCertificateAuthority,
    IstioServiceMesh,
    KubeletConfig,
    KubernetesPatchVersion,
    KubernetesVersion,
    KubernetesVersionCapabilities,
    KubernetesVersionListResult,
    LinuxOSConfig,
    LocalDNSOverride,
    LocalDNSProfile,
    Machine,
    MachineIpAddress,
    MachineNetworkProperties,
    MachineProperties,
    MaintenanceConfiguration,
    MaintenanceConfigurationProperties,
    MaintenanceWindow,
    ManagedCluster,
    ManagedClusterAADProfile,
    ManagedClusterAIToolchainOperatorProfile,
    ManagedClusterAPIServerAccessProfile,
    ManagedClusterAccessProfile,
    ManagedClusterAddonProfile,
    ManagedClusterAddonProfileIdentity,
    ManagedClusterAgentPoolProfile,
    ManagedClusterAgentPoolProfileProperties,
    ManagedClusterAppRoutingIstio,
    ManagedClusterAutoUpgradeProfile,
    ManagedClusterAzureMonitorProfile,
    ManagedClusterAzureMonitorProfileAppMonitoring,
    ManagedClusterAzureMonitorProfileAppMonitoringAutoInstrumentation,
    ManagedClusterAzureMonitorProfileKubeStateMetrics,
    ManagedClusterAzureMonitorProfileMetrics,
    ManagedClusterAzureMonitorProfileMetricsControlPlane,
    ManagedClusterBootstrapProfile,
    ManagedClusterCostAnalysis,
    ManagedClusterHTTPProxyConfig,
    ManagedClusterHostedSystemProfile,
    ManagedClusterIdentity,
    ManagedClusterIngressProfile,
    ManagedClusterIngressProfileGatewayConfiguration,
    ManagedClusterIngressProfileNginx,
    ManagedClusterIngressProfileWebAppRouting,
    ManagedClusterLoadBalancerProfile,
    ManagedClusterLoadBalancerProfileManagedOutboundIPs,
    ManagedClusterLoadBalancerProfileOutboundIPPrefixes,
    ManagedClusterLoadBalancerProfileOutboundIPs,
    ManagedClusterManagedOutboundIPProfile,
    ManagedClusterMetricsProfile,
    ManagedClusterNATGatewayProfile,
    ManagedClusterNodeProvisioningProfile,
    ManagedClusterNodeResourceGroupProfile,
    ManagedClusterOIDCIssuerProfile,
    ManagedClusterPodIdentity,
    ManagedClusterPodIdentityException,
    ManagedClusterPodIdentityProfile,
    ManagedClusterPodIdentityProvisioningError,
    ManagedClusterPodIdentityProvisioningErrorBody,
    ManagedClusterPodIdentityProvisioningInfo,
    ManagedClusterPoolUpgradeProfile,
    ManagedClusterPoolUpgradeProfileUpgradesItem,
    ManagedClusterProperties,
    ManagedClusterPropertiesAutoScalerProfile,
    ManagedClusterSKU,
    ManagedClusterSecurityProfile,
    ManagedClusterSecurityProfileDefender,
    ManagedClusterSecurityProfileDefenderSecurityMonitoring,
    ManagedClusterSecurityProfileImageCleaner,
    ManagedClusterSecurityProfileWorkloadIdentity,
    ManagedClusterServicePrincipalProfile,
    ManagedClusterStaticEgressGatewayProfile,
    ManagedClusterStatus,
    ManagedClusterStorageProfile,
    ManagedClusterStorageProfileBlobCSIDriver,
    ManagedClusterStorageProfileDiskCSIDriver,
    ManagedClusterStorageProfileFileCSIDriver,
    ManagedClusterStorageProfileSnapshotController,
    ManagedClusterUpgradeProfile,
    ManagedClusterUpgradeProfileProperties,
    ManagedClusterWebAppRoutingGatewayAPIImplementations,
    ManagedClusterWindowsProfile,
    ManagedClusterWorkloadAutoScalerProfile,
    ManagedClusterWorkloadAutoScalerProfileKeda,
    ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler,
    ManagedNamespace,
    ManagedServiceIdentityUserAssignedIdentitiesValue,
    ManualScaleProfile,
    MeshRevision,
    MeshRevisionProfile,
    MeshRevisionProfileProperties,
    MeshUpgradeProfile,
    MeshUpgradeProfileProperties,
    NamespaceProperties,
    NetworkPolicies,
    OperationValue,
    OperationValueDisplay,
    OutboundEnvironmentEndpoint,
    PortRange,
    PowerState,
    PrivateEndpoint,
    PrivateEndpointConnection,
    PrivateEndpointConnectionListResult,
    PrivateEndpointConnectionProperties,
    PrivateLinkResource,
    PrivateLinkResourcesListResult,
    PrivateLinkServiceConnectionState,
    ProxyResource,
    RelativeMonthlySchedule,
    Resource,
    ResourceQuota,
    ResourceReference,
    RunCommandRequest,
    RunCommandResult,
    ScaleProfile,
    Schedule,
    ServiceMeshProfile,
    Snapshot,
    SnapshotProperties,
    SysctlConfig,
    SystemData,
    TagsObject,
    TimeInWeek,
    TimeSpan,
    TrackedResource,
    TrustedAccessRole,
    TrustedAccessRoleBinding,
    TrustedAccessRoleBindingProperties,
    TrustedAccessRoleRule,
    UpgradeOverrideSettings,
    UserAssignedIdentity,
    VirtualMachineNodes,
    VirtualMachinesProfile,
    WeeklySchedule,
    WindowsGmsaProfile,
)

from ._enums import (  # type: ignore
    AccelerationMode,
    AdoptionPolicy,
    AdvancedNetworkPolicies,
    AgentPoolMode,
    AgentPoolSSHAccess,
    AgentPoolType,
    ArtifactSource,
    BackendPoolType,
    Code,
    ConnectionStatus,
    CreatedByType,
    DeletePolicy,
    Expander,
    ExtendedLocationTypes,
    Format,
    GPUDriver,
    GPUInstanceProfile,
    GatewayAPIIstioEnabled,
    IPFamily,
    IdentityBindingProvisioningState,
    IstioIngressGatewayMode,
    KeyVaultNetworkAccessTypes,
    KubeletDiskType,
    KubernetesSupportPlan,
    LicenseType,
    LoadBalancerSku,
    LocalDNSForwardDestination,
    LocalDNSForwardPolicy,
    LocalDNSMode,
    LocalDNSProtocol,
    LocalDNSQueryLogging,
    LocalDNSServeStale,
    LocalDNSState,
    ManagedClusterPodIdentityProvisioningState,
    ManagedClusterSKUName,
    ManagedClusterSKUTier,
    ManagedGatewayType,
    NamespaceProvisioningState,
    NetworkDataplane,
    NetworkMode,
    NetworkPlugin,
    NetworkPluginMode,
    NetworkPolicy,
    NginxIngressControllerType,
    NodeOSUpgradeChannel,
    NodeProvisioningDefaultNodePools,
    NodeProvisioningMode,
    OSDiskType,
    OSSKU,
    OSType,
    OutboundType,
    PodIPAllocationMode,
    PolicyRule,
    PrivateEndpointConnectionProvisioningState,
    Protocol,
    ProxyRedirectionMechanism,
    PublicNetworkAccess,
    ResourceIdentityType,
    RestrictionLevel,
    ScaleDownMode,
    ScaleSetEvictionPolicy,
    ScaleSetPriority,
    ServiceMeshMode,
    SnapshotType,
    TransitEncryptionType,
    TrustedAccessRoleBindingProvisioningState,
    Type,
    UndrainableNodeBehavior,
    UpgradeChannel,
    WeekDay,
    WorkloadRuntime,
)
from ._patch import __all__ as _patch_all
from ._patch import *
from ._patch import patch_sdk as _patch_sdk

__all__ = [
    "AbsoluteMonthlySchedule",
    "AccessProfile",
    "AdvancedNetworking",
    "AdvancedNetworkingObservability",
    "AdvancedNetworkingPerformance",
    "AdvancedNetworkingSecurity",
    "AdvancedNetworkingSecurityTransitEncryption",
    "AgentPool",
    "AgentPoolArtifactStreamingProfile",
    "AgentPoolAvailableVersions",
    "AgentPoolAvailableVersionsProperties",
    "AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem",
    "AgentPoolDeleteMachinesParameter",
    "AgentPoolGatewayProfile",
    "AgentPoolManagedClusterAgentPoolProfileProperties",
    "AgentPoolNetworkProfile",
    "AgentPoolRecentlyUsedVersion",
    "AgentPoolSecurityProfile",
    "AgentPoolStatus",
    "AgentPoolUpgradeProfile",
    "AgentPoolUpgradeProfileProperties",
    "AgentPoolUpgradeProfilePropertiesUpgradesItem",
    "AgentPoolUpgradeSettings",
    "AgentPoolWindowsProfile",
    "AzureKeyVaultKms",
    "ClusterUpgradeSettings",
    "CommandResultProperties",
    "CompatibleVersions",
    "ContainerServiceLinuxProfile",
    "ContainerServiceNetworkProfile",
    "ContainerServiceSshConfiguration",
    "ContainerServiceSshPublicKey",
    "CreationData",
    "CredentialResult",
    "CredentialResults",
    "DailySchedule",
    "DateSpan",
    "DelegatedResource",
    "EndpointDependency",
    "EndpointDetail",
    "ErrorAdditionalInfo",
    "ErrorDetail",
    "ErrorResponse",
    "ExtendedLocation",
    "GPUProfile",
    "IPTag",
    "IdentityBinding",
    "IdentityBindingManagedIdentityProfile",
    "IdentityBindingOidcIssuerProfile",
    "IdentityBindingProperties",
    "IstioCertificateAuthority",
    "IstioComponents",
    "IstioEgressGateway",
    "IstioIngressGateway",
    "IstioPluginCertificateAuthority",
    "IstioServiceMesh",
    "KubeletConfig",
    "KubernetesPatchVersion",
    "KubernetesVersion",
    "KubernetesVersionCapabilities",
    "KubernetesVersionListResult",
    "LinuxOSConfig",
    "LocalDNSOverride",
    "LocalDNSProfile",
    "Machine",
    "MachineIpAddress",
    "MachineNetworkProperties",
    "MachineProperties",
    "MaintenanceConfiguration",
    "MaintenanceConfigurationProperties",
    "MaintenanceWindow",
    "ManagedCluster",
    "ManagedClusterAADProfile",
    "ManagedClusterAIToolchainOperatorProfile",
    "ManagedClusterAPIServerAccessProfile",
    "ManagedClusterAccessProfile",
    "ManagedClusterAddonProfile",
    "ManagedClusterAddonProfileIdentity",
    "ManagedClusterAgentPoolProfile",
    "ManagedClusterAgentPoolProfileProperties",
    "ManagedClusterAppRoutingIstio",
    "ManagedClusterAutoUpgradeProfile",
    "ManagedClusterAzureMonitorProfile",
    "ManagedClusterAzureMonitorProfileAppMonitoring",
    "ManagedClusterAzureMonitorProfileAppMonitoringAutoInstrumentation",
    "ManagedClusterAzureMonitorProfileKubeStateMetrics",
    "ManagedClusterAzureMonitorProfileMetrics",
    "ManagedClusterAzureMonitorProfileMetricsControlPlane",
    "ManagedClusterBootstrapProfile",
    "ManagedClusterCostAnalysis",
    "ManagedClusterHTTPProxyConfig",
    "ManagedClusterHostedSystemProfile",
    "ManagedClusterIdentity",
    "ManagedClusterIngressProfile",
    "ManagedClusterIngressProfileGatewayConfiguration",
    "ManagedClusterIngressProfileNginx",
    "ManagedClusterIngressProfileWebAppRouting",
    "ManagedClusterLoadBalancerProfile",
    "ManagedClusterLoadBalancerProfileManagedOutboundIPs",
    "ManagedClusterLoadBalancerProfileOutboundIPPrefixes",
    "ManagedClusterLoadBalancerProfileOutboundIPs",
    "ManagedClusterManagedOutboundIPProfile",
    "ManagedClusterMetricsProfile",
    "ManagedClusterNATGatewayProfile",
    "ManagedClusterNodeProvisioningProfile",
    "ManagedClusterNodeResourceGroupProfile",
    "ManagedClusterOIDCIssuerProfile",
    "ManagedClusterPodIdentity",
    "ManagedClusterPodIdentityException",
    "ManagedClusterPodIdentityProfile",
    "ManagedClusterPodIdentityProvisioningError",
    "ManagedClusterPodIdentityProvisioningErrorBody",
    "ManagedClusterPodIdentityProvisioningInfo",
    "ManagedClusterPoolUpgradeProfile",
    "ManagedClusterPoolUpgradeProfileUpgradesItem",
    "ManagedClusterProperties",
    "ManagedClusterPropertiesAutoScalerProfile",
    "ManagedClusterSKU",
    "ManagedClusterSecurityProfile",
    "ManagedClusterSecurityProfileDefender",
    "ManagedClusterSecurityProfileDefenderSecurityMonitoring",
    "ManagedClusterSecurityProfileImageCleaner",
    "ManagedClusterSecurityProfileWorkloadIdentity",
    "ManagedClusterServicePrincipalProfile",
    "ManagedClusterStaticEgressGatewayProfile",
    "ManagedClusterStatus",
    "ManagedClusterStorageProfile",
    "ManagedClusterStorageProfileBlobCSIDriver",
    "ManagedClusterStorageProfileDiskCSIDriver",
    "ManagedClusterStorageProfileFileCSIDriver",
    "ManagedClusterStorageProfileSnapshotController",
    "ManagedClusterUpgradeProfile",
    "ManagedClusterUpgradeProfileProperties",
    "ManagedClusterWebAppRoutingGatewayAPIImplementations",
    "ManagedClusterWindowsProfile",
    "ManagedClusterWorkloadAutoScalerProfile",
    "ManagedClusterWorkloadAutoScalerProfileKeda",
    "ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler",
    "ManagedNamespace",
    "ManagedServiceIdentityUserAssignedIdentitiesValue",
    "ManualScaleProfile",
    "MeshRevision",
    "MeshRevisionProfile",
    "MeshRevisionProfileProperties",
    "MeshUpgradeProfile",
    "MeshUpgradeProfileProperties",
    "NamespaceProperties",
    "NetworkPolicies",
    "OperationValue",
    "OperationValueDisplay",
    "OutboundEnvironmentEndpoint",
    "PortRange",
    "PowerState",
    "PrivateEndpoint",
    "PrivateEndpointConnection",
    "PrivateEndpointConnectionListResult",
    "PrivateEndpointConnectionProperties",
    "PrivateLinkResource",
    "PrivateLinkResourcesListResult",
    "PrivateLinkServiceConnectionState",
    "ProxyResource",
    "RelativeMonthlySchedule",
    "Resource",
    "ResourceQuota",
    "ResourceReference",
    "RunCommandRequest",
    "RunCommandResult",
    "ScaleProfile",
    "Schedule",
    "ServiceMeshProfile",
    "Snapshot",
    "SnapshotProperties",
    "SysctlConfig",
    "SystemData",
    "TagsObject",
    "TimeInWeek",
    "TimeSpan",
    "TrackedResource",
    "TrustedAccessRole",
    "TrustedAccessRoleBinding",
    "TrustedAccessRoleBindingProperties",
    "TrustedAccessRoleRule",
    "UpgradeOverrideSettings",
    "UserAssignedIdentity",
    "VirtualMachineNodes",
    "VirtualMachinesProfile",
    "WeeklySchedule",
    "WindowsGmsaProfile",
    "AccelerationMode",
    "AdoptionPolicy",
    "AdvancedNetworkPolicies",
    "AgentPoolMode",
    "AgentPoolSSHAccess",
    "AgentPoolType",
    "ArtifactSource",
    "BackendPoolType",
    "Code",
    "ConnectionStatus",
    "CreatedByType",
    "DeletePolicy",
    "Expander",
    "ExtendedLocationTypes",
    "Format",
    "GPUDriver",
    "GPUInstanceProfile",
    "GatewayAPIIstioEnabled",
    "IPFamily",
    "IdentityBindingProvisioningState",
    "IstioIngressGatewayMode",
    "KeyVaultNetworkAccessTypes",
    "KubeletDiskType",
    "KubernetesSupportPlan",
    "LicenseType",
    "LoadBalancerSku",
    "LocalDNSForwardDestination",
    "LocalDNSForwardPolicy",
    "LocalDNSMode",
    "LocalDNSProtocol",
    "LocalDNSQueryLogging",
    "LocalDNSServeStale",
    "LocalDNSState",
    "ManagedClusterPodIdentityProvisioningState",
    "ManagedClusterSKUName",
    "ManagedClusterSKUTier",
    "ManagedGatewayType",
    "NamespaceProvisioningState",
    "NetworkDataplane",
    "NetworkMode",
    "NetworkPlugin",
    "NetworkPluginMode",
    "NetworkPolicy",
    "NginxIngressControllerType",
    "NodeOSUpgradeChannel",
    "NodeProvisioningDefaultNodePools",
    "NodeProvisioningMode",
    "OSDiskType",
    "OSSKU",
    "OSType",
    "OutboundType",
    "PodIPAllocationMode",
    "PolicyRule",
    "PrivateEndpointConnectionProvisioningState",
    "Protocol",
    "ProxyRedirectionMechanism",
    "PublicNetworkAccess",
    "ResourceIdentityType",
    "RestrictionLevel",
    "ScaleDownMode",
    "ScaleSetEvictionPolicy",
    "ScaleSetPriority",
    "ServiceMeshMode",
    "SnapshotType",
    "TransitEncryptionType",
    "TrustedAccessRoleBindingProvisioningState",
    "Type",
    "UndrainableNodeBehavior",
    "UpgradeChannel",
    "WeekDay",
    "WorkloadRuntime",
]
__all__.extend([p for p in _patch_all if p not in __all__])  # pyright: ignore
_patch_sdk()
