# 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) Python 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 AccessMode(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Access mode types."""

    OPEN = "Open"
    """Open."""
    PRIVATE_ONLY = "PrivateOnly"
    """PrivateOnly."""


class AccessRuleDirection(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Direction of Access Rule."""

    INBOUND = "Inbound"
    """Applies to inbound network traffic to the secured resources."""
    OUTBOUND = "Outbound"
    """Applies to outbound network traffic from the secured resources."""


class AggregationType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The aggregation type of the metric."""

    NONE = "None"
    """None."""
    AVERAGE = "Average"
    """Average."""
    COUNT = "Count"
    """Count."""
    MINIMUM = "Minimum"
    """Minimum."""
    MAXIMUM = "Maximum"
    """Maximum."""
    TOTAL = "Total"
    """Total."""


class AggregationTypeEnum(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The criteria time aggregation types. Previously undocumented values might be returned."""

    AVERAGE = "Average"
    """Average."""
    COUNT = "Count"
    """Count."""
    MINIMUM = "Minimum"
    """Minimum."""
    MAXIMUM = "Maximum"
    """Maximum."""
    TOTAL = "Total"
    """Total."""


class AlertSeverity(int, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Severity of the alert. Should be an integer between [0-4]. Value of 0 is severest. Relevant and
    required only for rules of the kind LogAlert.
    """

    ZERO = 0
    """0."""
    ONE = 1
    """1."""
    TWO = 2
    """2."""
    THREE = 3
    """3."""
    FOUR = 4
    """4."""


class BaselineSensitivity(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """the sensitivity of the baseline."""

    LOW = "Low"
    """Low."""
    MEDIUM = "Medium"
    """Medium."""
    HIGH = "High"
    """High."""


class ComparisonOperationType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """the operator that is used to compare the metric data and the threshold."""

    EQUALS = "Equals"
    """Equals."""
    NOT_EQUALS = "NotEquals"
    """NotEquals."""
    GREATER_THAN = "GreaterThan"
    """GreaterThan."""
    GREATER_THAN_OR_EQUAL = "GreaterThanOrEqual"
    """GreaterThanOrEqual."""
    LESS_THAN = "LessThan"
    """LessThan."""
    LESS_THAN_OR_EQUAL = "LessThanOrEqual"
    """LessThanOrEqual."""


class ConditionOperator(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The criteria operator. Relevant and required only for rules of the kind LogAlert."""

    EQUALS = "Equals"
    """Equals."""
    GREATER_THAN = "GreaterThan"
    """GreaterThan."""
    GREATER_THAN_OR_EQUAL = "GreaterThanOrEqual"
    """GreaterThanOrEqual."""
    LESS_THAN = "LessThan"
    """LessThan."""
    LESS_THAN_OR_EQUAL = "LessThanOrEqual"
    """LessThanOrEqual."""
    GREATER_OR_LESS_THAN = "GreaterOrLessThan"
    """GreaterOrLessThan."""


class CreatedByType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The kind of entity that created the resource."""

    USER = "User"
    """The entity was created by a user."""
    APPLICATION = "Application"
    """The entity was created by an application."""
    MANAGED_IDENTITY = "ManagedIdentity"
    """The entity was created by a managed identity."""
    KEY = "Key"
    """The entity was created by a key."""


class CriterionType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Specifies the type of threshold criteria. Previously undocumented values might be returned."""

    STATIC_THRESHOLD_CRITERION = "StaticThresholdCriterion"
    """StaticThresholdCriterion."""
    DYNAMIC_THRESHOLD_CRITERION = "DynamicThresholdCriterion"
    """DynamicThresholdCriterion."""


class DimensionOperator(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Operator for dimension values."""

    INCLUDE = "Include"
    """Include."""
    EXCLUDE = "Exclude"
    """Exclude."""


class DynamicThresholdOperator(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The operator used to compare the metric value against the threshold. Previously undocumented
    values might be returned.
    """

    GREATER_THAN = "GreaterThan"
    """GreaterThan."""
    LESS_THAN = "LessThan"
    """LessThan."""
    GREATER_OR_LESS_THAN = "GreaterOrLessThan"
    """GreaterOrLessThan."""


class DynamicThresholdSensitivity(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The extent of deviation required to trigger an alert. This will affect how tight the threshold
    is to the metric series pattern. Previously undocumented values might be returned.
    """

    LOW = "Low"
    """Low."""
    MEDIUM = "Medium"
    """Medium."""
    HIGH = "High"
    """High."""


class EventLevel(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """the event level."""

    CRITICAL = "Critical"
    """Critical."""
    ERROR = "Error"
    """Error."""
    WARNING = "Warning"
    """Warning."""
    INFORMATIONAL = "Informational"
    """Informational."""
    VERBOSE = "Verbose"
    """Verbose."""


class IdentityType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Type of managed service identity."""

    SYSTEM_ASSIGNED = "SystemAssigned"
    """SystemAssigned."""
    USER_ASSIGNED = "UserAssigned"
    """UserAssigned."""
    NONE = "None"
    """None."""


class IncidentManagementService(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The incident management service type."""

    ICM = "Icm"
    """Icm."""


class IssueType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Type of issue."""

    UNKNOWN = "Unknown"
    """Unknown issue type."""
    CONFIGURATION_PROPAGATION_FAILURE = "ConfigurationPropagationFailure"
    """An error occurred while applying the network security perimeter (NSP) configuration."""
    MISSING_PERIMETER_CONFIGURATION = "MissingPerimeterConfiguration"
    """A network connectivity issue is happening on the resource which could be addressed either by
    adding new resources to the network security perimeter (NSP) or by modifying access rules."""
    MISSING_IDENTITY_CONFIGURATION = "MissingIdentityConfiguration"
    """An managed identity hasn't been associated with the resource. The resource will still be able
    to validate inbound traffic from the network security perimeter (NSP) or matching inbound
    access rules, but it won't be able to perform outbound access as a member of the NSP."""


class Kind(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Indicates the type of scheduled query rule. The default is LogAlert."""

    LOG_ALERT = "LogAlert"
    """LogAlert."""
    SIMPLE_LOG_ALERT = "SimpleLogAlert"
    """SimpleLogAlert."""
    LOG_TO_METRIC = "LogToMetric"
    """LogToMetric."""


class KnownAgentSettingName(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The name of the setting. Must be part of the list of supported settings."""

    MAX_DISK_QUOTA_IN_MB = "MaxDiskQuotaInMB"
    """MaxDiskQuotaInMB."""
    USE_TIME_RECEIVED_FOR_FORWARDED_EVENTS = "UseTimeReceivedForForwardedEvents"
    """UseTimeReceivedForForwardedEvents."""
    TAGS = "Tags"
    """Tags."""


class KnownColumnDefinitionType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The type of the column data."""

    STRING = "string"
    """string."""
    INT = "int"
    """int."""
    LONG = "long"
    """long."""
    REAL = "real"
    """real."""
    BOOLEAN = "boolean"
    """boolean."""
    DATETIME = "datetime"
    """datetime."""
    DYNAMIC = "dynamic"
    """dynamic."""


class KnownDataCollectionEndpointProvisioningState(  # pylint: disable=name-too-long
    str, Enum, metaclass=CaseInsensitiveEnumMeta
):
    """The resource provisioning state. This property is READ-ONLY."""

    CREATING = "Creating"
    """Creating."""
    UPDATING = "Updating"
    """Updating."""
    DELETING = "Deleting"
    """Deleting."""
    SUCCEEDED = "Succeeded"
    """Succeeded."""
    CANCELED = "Canceled"
    """Canceled."""
    FAILED = "Failed"
    """Failed."""


class KnownDataCollectionEndpointResourceKind(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The kind of the resource."""

    LINUX = "Linux"
    """Linux."""
    WINDOWS = "Windows"
    """Windows."""


class KnownDataCollectionRuleAssociationProvisioningState(  # pylint: disable=name-too-long
    str, Enum, metaclass=CaseInsensitiveEnumMeta
):
    """The resource provisioning state."""

    CREATING = "Creating"
    """Creating."""
    UPDATING = "Updating"
    """Updating."""
    DELETING = "Deleting"
    """Deleting."""
    SUCCEEDED = "Succeeded"
    """Succeeded."""
    CANCELED = "Canceled"
    """Canceled."""
    FAILED = "Failed"
    """Failed."""


class KnownDataCollectionRuleProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The resource provisioning state."""

    CREATING = "Creating"
    """Creating."""
    UPDATING = "Updating"
    """Updating."""
    DELETING = "Deleting"
    """Deleting."""
    SUCCEEDED = "Succeeded"
    """Succeeded."""
    CANCELED = "Canceled"
    """Canceled."""
    FAILED = "Failed"
    """Failed."""


class KnownDataCollectionRuleResourceKind(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The kind of the resource."""

    LINUX = "Linux"
    """Linux."""
    WINDOWS = "Windows"
    """Windows."""


class KnownDataFlowStreams(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Type of KnownDataFlowStreams."""

    MICROSOFT_EVENT = "Microsoft-Event"
    """Microsoft-Event."""
    MICROSOFT_INSIGHTS_METRICS = "Microsoft-InsightsMetrics"
    """Microsoft-InsightsMetrics."""
    MICROSOFT_PERF = "Microsoft-Perf"
    """Microsoft-Perf."""
    MICROSOFT_SYSLOG = "Microsoft-Syslog"
    """Microsoft-Syslog."""
    MICROSOFT_WINDOWS_EVENT = "Microsoft-WindowsEvent"
    """Microsoft-WindowsEvent."""


class KnownEtwProviderDataSourceLogLevel(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Minimal level of detail to be logged."""

    CRITICAL = "Critical"
    """Critical."""
    ERROR = "Error"
    """Error."""
    WARNING = "Warning"
    """Warning."""
    INFORMATIONAL = "Informational"
    """Informational."""
    VERBOSE = "Verbose"
    """Verbose."""


class KnownEtwProviderType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Provider type specification: By Manifest GUID or by Event Source name."""

    EVENT_SOURCE = "EventSource"
    """EventSource."""
    MANIFEST = "Manifest"
    """Manifest."""


class KnownExtensionDataSourceStreams(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Type of KnownExtensionDataSourceStreams."""

    MICROSOFT_EVENT = "Microsoft-Event"
    """Microsoft-Event."""
    MICROSOFT_INSIGHTS_METRICS = "Microsoft-InsightsMetrics"
    """Microsoft-InsightsMetrics."""
    MICROSOFT_PERF = "Microsoft-Perf"
    """Microsoft-Perf."""
    MICROSOFT_SYSLOG = "Microsoft-Syslog"
    """Microsoft-Syslog."""
    MICROSOFT_WINDOWS_EVENT = "Microsoft-WindowsEvent"
    """Microsoft-WindowsEvent."""


class KnownLocationSpecProvisioningStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The resource provisioning state in this location."""

    CREATING = "Creating"
    """Creating."""
    UPDATING = "Updating"
    """Updating."""
    DELETING = "Deleting"
    """Deleting."""
    SUCCEEDED = "Succeeded"
    """Succeeded."""
    CANCELED = "Canceled"
    """Canceled."""
    FAILED = "Failed"
    """Failed."""


class KnownLogFilesDataSourceFormat(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The data format of the log files."""

    JSON = "json"
    """json."""
    TEXT = "text"
    """text."""


class KnownLogFileTextSettingsRecordStartTimestampFormat(  # pylint: disable=name-too-long
    str, Enum, metaclass=CaseInsensitiveEnumMeta
):
    """One of the supported timestamp formats."""

    ISO8601 = "ISO 8601"
    """ISO 8601."""
    YYYY_MM_DD_HH_MM_SS = "YYYY-MM-DD HH:MM:SS"
    """YYYY-MM-DD HH:MM:SS."""
    M_D_YYYY_HH_MM_SS_AM_PM = "M/D/YYYY HH:MM:SS AM/PM"
    """M/D/YYYY HH:MM:SS AM/PM."""
    MON_DD_YYYY_HH_MM_SS = "Mon DD, YYYY HH:MM:SS"
    """Mon DD, YYYY HH:MM:SS."""
    YY_M_MDD_HH_MM_SS = "yyMMdd HH:mm:ss"
    """yyMMdd HH:mm:ss."""
    DD_M_MYY_HH_MM_SS = "ddMMyy HH:mm:ss"
    """ddMMyy HH:mm:ss."""
    MMM_D_HH_MM_SS = "MMM d hh:mm:ss"
    """MMM d hh:mm:ss."""
    DD_MMM_YYYY_HH_MM_SS_ZZZ = "dd/MMM/yyyy:HH:mm:ss zzz"
    """dd/MMM/yyyy:HH:mm:ss zzz."""
    YYYY_MM_DD_THH_MM_SS_K = "yyyy-MM-ddTHH:mm:ssK"
    """yyyy-MM-ddTHH:mm:ssK."""


class KnownOtelLogsDataSourceStreams(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Type of KnownOtelLogsDataSourceStreams."""

    MICROSOFT_O_TEL_LOGS = "Microsoft-OTel-Logs"
    """Microsoft-OTel-Logs."""


class KnownOtelLogsDirectDataSourceStreams(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Type of KnownOtelLogsDirectDataSourceStreams."""

    MICROSOFT_O_TEL_LOGS = "Microsoft-OTel-Logs"
    """Microsoft-OTel-Logs."""


class KnownOtelTracesDataSourceStreams(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Type of KnownOtelTracesDataSourceStreams."""

    MICROSOFT_O_TEL_TRACES_SPANS = "Microsoft-OTel-Traces-Spans"
    """Microsoft-OTel-Traces-Spans."""
    MICROSOFT_O_TEL_TRACES_EVENTS = "Microsoft-OTel-Traces-Events"
    """Microsoft-OTel-Traces-Events."""
    MICROSOFT_O_TEL_TRACES_RESOURCES = "Microsoft-OTel-Traces-Resources"
    """Microsoft-OTel-Traces-Resources."""


class KnownOtelTracesDirectDataSourceStreams(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Type of KnownOtelTracesDirectDataSourceStreams."""

    MICROSOFT_O_TEL_TRACES_SPANS = "Microsoft-OTel-Traces-Spans"
    """Microsoft-OTel-Traces-Spans."""
    MICROSOFT_O_TEL_TRACES_EVENTS = "Microsoft-OTel-Traces-Events"
    """Microsoft-OTel-Traces-Events."""
    MICROSOFT_O_TEL_TRACES_RESOURCES = "Microsoft-OTel-Traces-Resources"
    """Microsoft-OTel-Traces-Resources."""


class KnownPerfCounterDataSourceStreams(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Type of KnownPerfCounterDataSourceStreams."""

    MICROSOFT_PERF = "Microsoft-Perf"
    """Microsoft-Perf."""
    MICROSOFT_INSIGHTS_METRICS = "Microsoft-InsightsMetrics"
    """Microsoft-InsightsMetrics."""


class KnownPerformanceCountersOTelDataSourceStreams(  # pylint: disable=name-too-long
    str, Enum, metaclass=CaseInsensitiveEnumMeta
):
    """Type of KnownPerformanceCountersOTelDataSourceStreams."""

    MICROSOFT_OTEL_PERF_METRICS = "Microsoft-OtelPerfMetrics"
    """Microsoft-OtelPerfMetrics."""


class KnownPrometheusForwarderDataSourceStreams(  # pylint: disable=name-too-long
    str, Enum, metaclass=CaseInsensitiveEnumMeta
):
    """Type of KnownPrometheusForwarderDataSourceStreams."""

    MICROSOFT_PROMETHEUS_METRICS = "Microsoft-PrometheusMetrics"
    """Microsoft-PrometheusMetrics."""


class KnownPublicNetworkAccessOptions(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The configuration to set whether network access from public internet to the endpoints are
    allowed.
    """

    ENABLED = "Enabled"
    """Enabled."""
    DISABLED = "Disabled"
    """Disabled."""
    SECURED_BY_PERIMETER = "SecuredByPerimeter"
    """SecuredByPerimeter."""


class KnownStorageBlobLookupType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The type of lookup to perform on the blob."""

    STRING = "String"
    """String."""
    CIDR = "Cidr"
    """Cidr."""


class KnownSyslogDataSourceFacilityNames(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Type of KnownSyslogDataSourceFacilityNames."""

    ASTERISK = "*"
    """
    
    *."""
    ALERT = "alert"
    """alert."""
    AUDIT = "audit"
    """audit."""
    AUTH = "auth"
    """auth."""
    AUTHPRIV = "authpriv"
    """authpriv."""
    CLOCK = "clock"
    """clock."""
    CRON = "cron"
    """cron."""
    DAEMON = "daemon"
    """daemon."""
    FTP = "ftp"
    """ftp."""
    KERN = "kern"
    """kern."""
    LOCAL0 = "local0"
    """local0."""
    LOCAL1 = "local1"
    """local1."""
    LOCAL2 = "local2"
    """local2."""
    LOCAL3 = "local3"
    """local3."""
    LOCAL4 = "local4"
    """local4."""
    LOCAL5 = "local5"
    """local5."""
    LOCAL6 = "local6"
    """local6."""
    LOCAL7 = "local7"
    """local7."""
    LPR = "lpr"
    """lpr."""
    MAIL = "mail"
    """mail."""
    MARK = "mark"
    """mark."""
    NEWS = "news"
    """news."""
    NOPRI = "nopri"
    """nopri."""
    NTP = "ntp"
    """ntp."""
    SYSLOG = "syslog"
    """syslog."""
    USER = "user"
    """user."""
    UUCP = "uucp"
    """uucp."""


class KnownSyslogDataSourceLogLevels(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Type of KnownSyslogDataSourceLogLevels."""

    DEBUG = "Debug"
    """Debug."""
    INFO = "Info"
    """Info."""
    NOTICE = "Notice"
    """Notice."""
    WARNING = "Warning"
    """Warning."""
    ERROR = "Error"
    """Error."""
    CRITICAL = "Critical"
    """Critical."""
    ALERT = "Alert"
    """Alert."""
    EMERGENCY = "Emergency"
    """Emergency."""
    ASTERISK = "*"
    """
    
    *."""


class KnownSyslogDataSourceStreams(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Type of KnownSyslogDataSourceStreams."""

    MICROSOFT_SYSLOG = "Microsoft-Syslog"
    """Microsoft-Syslog."""


class KnownWindowsEventLogDataSourceStreams(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Type of KnownWindowsEventLogDataSourceStreams."""

    MICROSOFT_WINDOWS_EVENT = "Microsoft-WindowsEvent"
    """Microsoft-WindowsEvent."""
    MICROSOFT_EVENT = "Microsoft-Event"
    """Microsoft-Event."""


class KnownWindowsFirewallLogsDataSourceProfileFilter(  # pylint: disable=name-too-long
    str, Enum, metaclass=CaseInsensitiveEnumMeta
):
    """Type of KnownWindowsFirewallLogsDataSourceProfileFilter."""

    DOMAIN = "Domain"
    """Domain."""
    PRIVATE = "Private"
    """Private."""
    PUBLIC = "Public"
    """Public."""


class ManagedServiceIdentityType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Type of managed service identity (where both SystemAssigned and UserAssigned types are
    allowed).
    """

    NONE = "None"
    """No managed identity."""
    SYSTEM_ASSIGNED = "SystemAssigned"
    """System assigned managed identity."""
    USER_ASSIGNED = "UserAssigned"
    """User assigned managed identity."""
    SYSTEM_ASSIGNED_USER_ASSIGNED = "SystemAssigned,UserAssigned"
    """System and user assigned managed identity."""


class MetricAggregationType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The aggregation type of the metric."""

    NONE = "None"
    """None."""
    AVERAGE = "Average"
    """Average."""
    COUNT = "Count"
    """Count."""
    MINIMUM = "Minimum"
    """Minimum."""
    MAXIMUM = "Maximum"
    """Maximum."""
    TOTAL = "Total"
    """Total."""


class MetricClass(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The class of the metric."""

    AVAILABILITY = "Availability"
    """Availability."""
    TRANSACTIONS = "Transactions"
    """Transactions."""
    ERRORS = "Errors"
    """Errors."""
    LATENCY = "Latency"
    """Latency."""
    SATURATION = "Saturation"
    """Saturation."""


class MetricResultType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Reduces the set of data collected. The syntax allowed depends on the operation. See the
    operation's description for details.
    """

    DATA = "Data"
    """Data."""
    METADATA = "Metadata"
    """Metadata."""


class MetricStatisticType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """the metric statistic type. How the metrics from multiple instances are combined."""

    AVERAGE = "Average"
    """Average."""
    MIN = "Min"
    """Min."""
    MAX = "Max"
    """Max."""
    SUM = "Sum"
    """Sum."""
    COUNT = "Count"
    """Count."""


class MetricUnit(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The unit of the metric."""

    COUNT = "Count"
    """Unit of raw quantity."""
    BYTES = "Bytes"
    """Unit of memory in bytes."""
    SECONDS = "Seconds"
    """Unit of time in seconds."""
    COUNT_PER_SECOND = "CountPerSecond"
    """Rate unit of raw quantity per second."""
    BYTES_PER_SECOND = "BytesPerSecond"
    """Rate unit of memory in bytes per second."""
    PERCENT = "Percent"
    """Percentage unit."""
    MILLI_SECONDS = "MilliSeconds"
    """Unit of time in 1/1000th of a second."""
    BYTE_SECONDS = "ByteSeconds"
    """Unit of data transfer or storage. It is the size of the data in bytes multiplied by the time it
    takes to transfer or store the data in seconds."""
    UNSPECIFIED = "Unspecified"
    """No specified unit."""
    CORES = "Cores"
    """Unit of processing power."""
    MILLI_CORES = "MilliCores"
    """Unit of processing power in 1/1000th of a CPU core."""
    NANO_CORES = "NanoCores"
    """Unit of processing power in one billionth of a CPU core."""
    BITS_PER_SECOND = "BitsPerSecond"
    """Rate unit of binary digits per second."""


class NamespaceClassification(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Kind of namespace."""

    PLATFORM = "Platform"
    """Platform."""
    CUSTOM = "Custom"
    """Custom."""
    QOS = "Qos"
    """Qos."""


class NetworkSecurityPerimeterConfigurationProvisioningState(  # pylint: disable=name-too-long
    str, Enum, metaclass=CaseInsensitiveEnumMeta
):
    """Provisioning state of a network security perimeter configuration that is being created or
    updated.
    """

    SUCCEEDED = "Succeeded"
    """SUCCEEDED."""
    CREATING = "Creating"
    """CREATING."""
    UPDATING = "Updating"
    """UPDATING."""
    DELETING = "Deleting"
    """DELETING."""
    ACCEPTED = "Accepted"
    """ACCEPTED."""
    FAILED = "Failed"
    """FAILED."""
    CANCELED = "Canceled"
    """CANCELED."""


class Odatatype(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Specifies the type of the alert criteria. Previously undocumented values might be returned."""

    MICROSOFT_AZURE_MONITOR_SINGLE_RESOURCE_MULTIPLE_METRIC_CRITERIA = (
        "Microsoft.Azure.Monitor.SingleResourceMultipleMetricCriteria"
    )
    """Microsoft.Azure.Monitor.SingleResourceMultipleMetricCriteria."""
    MICROSOFT_AZURE_MONITOR_MULTIPLE_RESOURCE_MULTIPLE_METRIC_CRITERIA = (
        "Microsoft.Azure.Monitor.MultipleResourceMultipleMetricCriteria"
    )
    """Microsoft.Azure.Monitor.MultipleResourceMultipleMetricCriteria."""
    MICROSOFT_AZURE_MONITOR_WEBTEST_LOCATION_AVAILABILITY_CRITERIA = (
        "Microsoft.Azure.Monitor.WebtestLocationAvailabilityCriteria"
    )
    """Microsoft.Azure.Monitor.WebtestLocationAvailabilityCriteria."""
    MICROSOFT_AZURE_MONITOR_PROM_QL_CRITERIA = "Microsoft.Azure.Monitor.PromQLCriteria"
    """Microsoft.Azure.Monitor.PromQLCriteria."""


class OperationType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Type of OperationType."""

    SCALE = "Scale"
    """Scale."""


class Operator(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The criteria operator. Previously undocumented values might be returned."""

    EQUALS = "Equals"
    """Equals."""
    GREATER_THAN = "GreaterThan"
    """GreaterThan."""
    GREATER_THAN_OR_EQUAL = "GreaterThanOrEqual"
    """GreaterThanOrEqual."""
    LESS_THAN = "LessThan"
    """LessThan."""
    LESS_THAN_OR_EQUAL = "LessThanOrEqual"
    """LessThanOrEqual."""


class PredictiveAutoscalePolicyScaleMode(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """the predictive autoscale mode."""

    DISABLED = "Disabled"
    """Disabled."""
    FORECAST_ONLY = "ForecastOnly"
    """ForecastOnly."""
    ENABLED = "Enabled"
    """Enabled."""


class PrivateEndpointConnectionProvisioningState(  # pylint: disable=name-too-long
    str, Enum, metaclass=CaseInsensitiveEnumMeta
):
    """The current provisioning state."""

    SUCCEEDED = "Succeeded"
    """Connection has been provisioned."""
    CREATING = "Creating"
    """Connection is being created."""
    DELETING = "Deleting"
    """Connection is being deleted."""
    FAILED = "Failed"
    """Connection provisioning has failed."""


class PrivateEndpointServiceConnectionStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The private endpoint connection status."""

    PENDING = "Pending"
    """Connection waiting for approval or rejection."""
    APPROVED = "Approved"
    """Connection approved."""
    REJECTED = "Rejected"
    """Connection Rejected."""


class PrivateLinkScopeProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Current state of this PrivateLinkScope: whether or not is has been provisioned within the
    resource group it is defined. Users cannot change this value but are able to read from it.
    """

    SUCCEEDED = "Succeeded"
    """Succeeded."""
    FAILED = "Failed"
    """Failed."""
    DELETING = "Deleting"
    """Deleting."""
    CANCELED = "Canceled"
    """Canceled."""


class ReceiverStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Indicates the status of the receiver. Receivers that are not Enabled will not receive any
    communications.
    """

    NOT_SPECIFIED = "NotSpecified"
    """NotSpecified."""
    ENABLED = "Enabled"
    """Enabled."""
    DISABLED = "Disabled"
    """Disabled."""


class RecurrenceFrequency(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """the recurrence frequency. How often the schedule profile should take effect. This value must be
    Week, meaning each week will have the same set of profiles. For example, to set a daily
    schedule, set **schedule** to every day of the week. The frequency property specifies that the
    schedule is repeated weekly.
    """

    NONE = "None"
    """None."""
    SECOND = "Second"
    """Second."""
    MINUTE = "Minute"
    """Minute."""
    HOUR = "Hour"
    """Hour."""
    DAY = "Day"
    """Day."""
    WEEK = "Week"
    """Week."""
    MONTH = "Month"
    """Month."""
    YEAR = "Year"
    """Year."""


class ResourceAssociationAccessMode(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Access mode of the resource association."""

    ENFORCED = "Enforced"
    """Enforced access mode - traffic to the resource that failed access checks is blocked."""
    LEARNING = "Learning"
    """Learning access mode - traffic to the resource is enabled for analysis but not blocked."""
    AUDIT = "Audit"
    """Audit access mode - traffic to the resource that fails access checks is logged but not blocked."""


class ResultType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Type of ResultType."""

    DATA = "Data"
    """Data."""
    METADATA = "Metadata"
    """Metadata."""


class ScaleDirection(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """the scale direction. Whether the scaling action increases or decreases the number of instances."""

    NONE = "None"
    """None."""
    INCREASE = "Increase"
    """Increase."""
    DECREASE = "Decrease"
    """Decrease."""


class ScaleRuleMetricDimensionOperationType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """the dimension operator. Only 'Equals' and 'NotEquals' are supported. 'Equals' being equal to
    any of the values. 'NotEquals' being not equal to all of the values.
    """

    EQUALS = "Equals"
    """Equals."""
    NOT_EQUALS = "NotEquals"
    """NotEquals."""


class ScaleType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """the type of action that should occur when the scale rule fires."""

    CHANGE_COUNT = "ChangeCount"
    """ChangeCount."""
    PERCENT_CHANGE_COUNT = "PercentChangeCount"
    """PercentChangeCount."""
    EXACT_COUNT = "ExactCount"
    """ExactCount."""
    SERVICE_ALLOWED_NEXT_VALUE = "ServiceAllowedNextValue"
    """ServiceAllowedNextValue."""


class ScopedResourceKind(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The kind of scoped Azure monitor resource."""

    RESOURCE = "Resource"
    """Resource."""
    METRICS = "Metrics"
    """Metrics."""


class ScopedResourceProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """State of the Azure monitor resource."""

    SUCCEEDED = "Succeeded"
    """Succeeded."""
    PROVISIONING = "Provisioning"
    """Provisioning."""
    FAILED = "Failed"
    """Failed."""
    CANCELED = "Canceled"
    """Canceled."""


class Severity(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Severity of the issue."""

    WARNING = "Warning"
    """WARNING."""
    ERROR = "Error"
    """ERROR."""


class SkuTier(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """This field is required to be implemented by the Resource Provider if the service has more than
    one tier, but is not required on a PUT.
    """

    FREE = "Free"
    """The Free service tier."""
    BASIC = "Basic"
    """The Basic service tier."""
    STANDARD = "Standard"
    """The Standard service tier."""
    PREMIUM = "Premium"
    """The Premium service tier."""


class TimeAggregation(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Aggregation type. Relevant and required only for rules of the kind LogAlert."""

    COUNT = "Count"
    """Count."""
    AVERAGE = "Average"
    """Average."""
    MINIMUM = "Minimum"
    """Minimum."""
    MAXIMUM = "Maximum"
    """Maximum."""
    TOTAL = "Total"
    """Total."""


class TimeAggregationType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """time aggregation type. How the data that is collected should be combined over time. The default
    value is Average.
    """

    AVERAGE = "Average"
    """Average."""
    MINIMUM = "Minimum"
    """Minimum."""
    MAXIMUM = "Maximum"
    """Maximum."""
    TOTAL = "Total"
    """Total."""
    COUNT = "Count"
    """Count."""
    LAST = "Last"
    """Last."""
