# 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 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 BillingType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Configures whether billing will be only on the cluster or each workspace will be billed by its
    proportional use. This does not change the overall billing, only how it will be distributed.
    Default value is 'Cluster'.
    """

    CLUSTER = "Cluster"
    """Cluster."""
    WORKSPACES = "Workspaces"
    """Workspaces."""


class ClusterEntityStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The provisioning state of the cluster."""

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


class ClusterReplicationState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The provisioning state of the cluster replication."""

    SUCCEEDED = "Succeeded"
    """Succeeded."""
    ENABLE_REQUESTED = "EnableRequested"
    """EnableRequested."""
    ENABLING = "Enabling"
    """Enabling."""
    DISABLE_REQUESTED = "DisableRequested"
    """DisableRequested."""
    DISABLING = "Disabling"
    """Disabling."""
    ROLLBACK_REQUESTED = "RollbackRequested"
    """RollbackRequested."""
    ROLLING_BACK = "RollingBack"
    """RollingBack."""
    FAILED = "Failed"
    """Failed."""
    CANCELED = "Canceled"
    """Canceled."""


class ClusterSkuNameEnum(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The SKU (tier) of a cluster."""

    CAPACITY_RESERVATION = "CapacityReservation"
    """CapacityReservation."""


class ColumnDataTypeHintEnum(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Column data type logical hint."""

    URI = "uri"
    """A string that matches the pattern of a URI, for example,
    scheme://username:password@host:1234/this/is/a/path?k1=v1&k2=v2#fragment."""
    GUID = "guid"
    """A standard 128-bit GUID following the standard shape, xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx."""
    ARM_PATH = "armPath"
    """An Azure Resource Model (ARM) path:
    /subscriptions/{...}/resourceGroups/{...}/providers/Microsoft.{...}/{...}/{...}/{...}..."""
    IP = "ip"
    """A standard V4/V6 ip address following the standard shape, x.x.x.x/y:y:y:y:y:y:y:y."""


class ColumnTypeEnum(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Column data type."""

    STRING = "string"
    """string."""
    INT = "int"
    """int."""
    LONG = "long"
    """long."""
    REAL = "real"
    """real."""
    BOOLEAN = "boolean"
    """boolean."""
    DATE_TIME = "dateTime"
    """dateTime."""
    GUID = "guid"
    """guid."""
    DYNAMIC = "dynamic"
    """dynamic."""


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 DataIngestionStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The status of data ingestion for this workspace."""

    RESPECT_QUOTA = "RespectQuota"
    """Ingestion enabled following daily cap quota reset, or subscription enablement."""
    FORCE_ON = "ForceOn"
    """Ingestion started following service setting change."""
    FORCE_OFF = "ForceOff"
    """Ingestion stopped following service setting change."""
    OVER_QUOTA = "OverQuota"
    """Reached daily cap quota, ingestion stopped."""
    SUBSCRIPTION_SUSPENDED = "SubscriptionSuspended"
    """Ingestion stopped following suspended subscription."""
    APPROACHING_QUOTA = "ApproachingQuota"
    """80% of daily cap quota reached."""


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

    WINDOWS_EVENT = "WindowsEvent"
    """WindowsEvent."""
    WINDOWS_PERFORMANCE_COUNTER = "WindowsPerformanceCounter"
    """WindowsPerformanceCounter."""
    IIS_LOGS = "IISLogs"
    """IISLogs."""
    LINUX_SYSLOG = "LinuxSyslog"
    """LinuxSyslog."""
    LINUX_SYSLOG_COLLECTION = "LinuxSyslogCollection"
    """LinuxSyslogCollection."""
    LINUX_PERFORMANCE_OBJECT = "LinuxPerformanceObject"
    """LinuxPerformanceObject."""
    LINUX_PERFORMANCE_COLLECTION = "LinuxPerformanceCollection"
    """LinuxPerformanceCollection."""
    CUSTOM_LOG = "CustomLog"
    """CustomLog."""
    CUSTOM_LOG_COLLECTION = "CustomLogCollection"
    """CustomLogCollection."""
    AZURE_AUDIT_LOG = "AzureAuditLog"
    """AzureAuditLog."""
    AZURE_ACTIVITY_LOG = "AzureActivityLog"
    """AzureActivityLog."""
    GENERIC_DATA_SOURCE = "GenericDataSource"
    """GenericDataSource."""
    CHANGE_TRACKING_CUSTOM_PATH = "ChangeTrackingCustomPath"
    """ChangeTrackingCustomPath."""
    CHANGE_TRACKING_PATH = "ChangeTrackingPath"
    """ChangeTrackingPath."""
    CHANGE_TRACKING_SERVICES = "ChangeTrackingServices"
    """ChangeTrackingServices."""
    CHANGE_TRACKING_DATA_TYPE_CONFIGURATION = "ChangeTrackingDataTypeConfiguration"
    """ChangeTrackingDataTypeConfiguration."""
    CHANGE_TRACKING_DEFAULT_REGISTRY = "ChangeTrackingDefaultRegistry"
    """ChangeTrackingDefaultRegistry."""
    CHANGE_TRACKING_REGISTRY = "ChangeTrackingRegistry"
    """ChangeTrackingRegistry."""
    CHANGE_TRACKING_LINUX_PATH = "ChangeTrackingLinuxPath"
    """ChangeTrackingLinuxPath."""
    LINUX_CHANGE_TRACKING_PATH = "LinuxChangeTrackingPath"
    """LinuxChangeTrackingPath."""
    CHANGE_TRACKING_CONTENT_LOCATION = "ChangeTrackingContentLocation"
    """ChangeTrackingContentLocation."""
    WINDOWS_TELEMETRY = "WindowsTelemetry"
    """WindowsTelemetry."""
    OFFICE365 = "Office365"
    """Office365."""
    SECURITY_WINDOWS_BASELINE_CONFIGURATION = "SecurityWindowsBaselineConfiguration"
    """SecurityWindowsBaselineConfiguration."""
    SECURITY_CENTER_SECURITY_WINDOWS_BASELINE_CONFIGURATION = "SecurityCenterSecurityWindowsBaselineConfiguration"
    """SecurityCenterSecurityWindowsBaselineConfiguration."""
    SECURITY_EVENT_COLLECTION_CONFIGURATION = "SecurityEventCollectionConfiguration"
    """SecurityEventCollectionConfiguration."""
    SECURITY_INSIGHTS_SECURITY_EVENT_COLLECTION_CONFIGURATION = "SecurityInsightsSecurityEventCollectionConfiguration"
    """SecurityInsightsSecurityEventCollectionConfiguration."""
    IMPORT_COMPUTER_GROUP = "ImportComputerGroup"
    """ImportComputerGroup."""
    NETWORK_MONITORING = "NetworkMonitoring"
    """NetworkMonitoring."""
    ITSM = "Itsm"
    """Itsm."""
    DNS_ANALYTICS = "DnsAnalytics"
    """DnsAnalytics."""
    APPLICATION_INSIGHTS = "ApplicationInsights"
    """ApplicationInsights."""
    SQL_DATA_CLASSIFICATION = "SqlDataClassification"
    """SqlDataClassification."""


class DataSourceType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Linked storage accounts type."""

    CUSTOM_LOGS = "CustomLogs"
    """CustomLogs."""
    AZURE_WATSON = "AzureWatson"
    """AzureWatson."""
    QUERY = "Query"
    """Query."""
    INGESTION = "Ingestion"
    """Ingestion."""
    ALERTS = "Alerts"
    """Alerts."""


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

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


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 LinkedServiceEntityStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The provisioning state of the linked service."""

    SUCCEEDED = "Succeeded"
    """Succeeded."""
    DELETING = "Deleting"
    """Deleting."""
    PROVISIONING_ACCOUNT = "ProvisioningAccount"
    """ProvisioningAccount."""
    UPDATING = "Updating"
    """Updating."""


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 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 ProvisioningStateEnum(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Table's current provisioning state. If set to 'updating', indicates a resource lock due to
    ongoing operation, forbidding any update to the table until the ongoing operation is concluded.
    """

    UPDATING = "Updating"
    """Table schema is still being built and updated, table is currently locked for any changes till
    the procedure is done."""
    IN_PROGRESS = "InProgress"
    """Table schema is stable and without changes, table data is being updated."""
    SUCCEEDED = "Succeeded"
    """Table state is stable and without changes, table is unlocked and open for new updates."""
    DELETING = "Deleting"
    """Table state is deleting."""


class PublicNetworkAccessType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The network access type for operating on the Log Analytics Workspace. By default it is Enabled."""

    ENABLED = "Enabled"
    """Enables connectivity to Log Analytics through public DNS."""
    DISABLED = "Disabled"
    """Disables public connectivity to Log Analytics through public DNS."""
    SECURED_BY_PERIMETER = "SecuredByPerimeter"
    """Resource is only accessible from private networks and access approved by network security
    perimeter associated to this resource."""


class PurgeState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Status of the operation represented by the requested Id."""

    PENDING = "pending"
    """pending."""
    COMPLETED = "completed"
    """completed."""


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 RuleTypeEnum(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """SummaryRules rule type: User."""

    USER = "User"
    """User defined summary rule. This is the definition for rules created and defined by users."""


class SearchSortEnum(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The sort order of the search."""

    ASC = "asc"
    """asc."""
    DESC = "desc"
    """desc."""


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

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


class SkuNameEnum(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The name of the Service Tier."""

    FREE = "Free"
    """Free."""
    STANDARD = "Standard"
    """Standard."""
    PREMIUM = "Premium"
    """Premium."""
    PER_NODE = "PerNode"
    """PerNode."""
    PER_GB2018 = "PerGB2018"
    """PerGB2018."""
    STANDALONE = "Standalone"
    """Standalone."""
    CAPACITY_RESERVATION = "CapacityReservation"
    """CapacityReservation."""


class SourceEnum(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Table's creator."""

    MICROSOFT = "microsoft"
    """Tables provisioned by the system, as collected via Diagnostic Settings, the Agents, or any
    other standard data collection means."""
    CUSTOMER = "customer"
    """Tables created by the owner of the Workspace, and only found in this Workspace."""


class StatusCodeEnum(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Indicates the reason for rule deactivation."""

    USER_ACTION = "UserAction"
    """Summary rule stop originated from a user action (Stop was called)."""
    DATA_PLANE_ERROR = "DataPlaneError"
    """Summary rule stop was caused due to data plane related error."""


class StorageInsightState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The state of the storage insight connection to the workspace."""

    OK = "OK"
    """OK."""
    ERROR = "ERROR"
    """ERROR."""


class SummaryLogsProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Table's current provisioning state. If set to 'updating', indicates a resource lock due to
    ongoing operation, forbidding any update to the table until the ongoing operation is concluded.
    """

    UPDATING = "Updating"
    """Table schema is still being built and updated, table is currently locked for any changes till
    the procedure is done."""
    SUCCEEDED = "Succeeded"
    """Table state is stable and without changes, table is unlocked and open for new updates."""
    DELETING = "Deleting"
    """Table state is deleting."""
    FAILED = "Failed"
    """Table state is failed."""
    CANCELED = "Canceled"
    """Table state is canceled."""


class TablePlanEnum(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Instruct the system how to handle and charge the logs ingested to this table."""

    BASIC = "Basic"
    """Medium-touch logs needed for troubleshooting and incident response."""
    ANALYTICS = "Analytics"
    """High-value logs used for continuous monitoring, real-time detection, and performance analytics."""
    AUXILIARY = "Auxiliary"
    """Low-touch logs, such as verbose logs, and data required for auditing and compliance."""


class TableSubTypeEnum(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The subtype describes what APIs can be used to interact with the table, and what features are
    available against it.
    """

    ANY = "Any"
    """The default subtype with which built-in tables are created."""
    CLASSIC = "Classic"
    """Indicates a table created through the Data Collector API or with the custom logs feature of the
    MMA agent, or any table against which Custom Fields were created."""
    DATA_COLLECTION_RULE_BASED = "DataCollectionRuleBased"
    """A table eligible to have data sent into it via any of the means supported by Data Collection
    Rules: the Data Collection Endpoint API, ingestion-time transformations, or any other mechanism
    provided by Data Collection Rules."""


class TableTypeEnum(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Table's creator."""

    MICROSOFT = "Microsoft"
    """Standard data collected by Azure Monitor."""
    CUSTOM_LOG = "CustomLog"
    """Custom log table."""
    RESTORED_LOGS = "RestoredLogs"
    """Restored data."""
    SEARCH_RESULTS = "SearchResults"
    """Data collected by a search job."""


class TimeSelectorEnum(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The time cursor used in Summary rules bins processing, e.g. TimeGenerated."""

    TIME_GENERATED = "TimeGenerated"
    """TimeGenerated."""


class Type(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The type of the destination resource."""

    STORAGE_ACCOUNT = "StorageAccount"
    """StorageAccount."""
    EVENT_HUB = "EventHub"
    """EventHub."""


class WorkspaceEntityStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The provisioning state of the workspace."""

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


class WorkspaceFailoverState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The failover state of the replication."""

    INACTIVE = "Inactive"
    """Inactive."""
    ACTIVATING = "Activating"
    """Activating."""
    ACTIVE = "Active"
    """Active."""
    DEACTIVATING = "Deactivating"
    """Deactivating."""
    FAILED = "Failed"
    """Failed."""


class WorkspaceReplicationState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The provisioning state of the replication."""

    SUCCEEDED = "Succeeded"
    """Succeeded."""
    ENABLE_REQUESTED = "EnableRequested"
    """EnableRequested."""
    ENABLING = "Enabling"
    """Enabling."""
    DISABLE_REQUESTED = "DisableRequested"
    """DisableRequested."""
    DISABLING = "Disabling"
    """Disabling."""
    ROLLBACK_REQUESTED = "RollbackRequested"
    """RollbackRequested."""
    ROLLING_BACK = "RollingBack"
    """RollingBack."""
    FAILED = "Failed"
    """Failed."""
    CANCELED = "Canceled"
    """Canceled."""


class WorkspaceSkuNameEnum(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The name of the SKU."""

    FREE = "Free"
    """Free."""
    STANDARD = "Standard"
    """Standard."""
    PREMIUM = "Premium"
    """Premium."""
    PER_NODE = "PerNode"
    """PerNode."""
    PER_GB2018 = "PerGB2018"
    """PerGB2018."""
    STANDALONE = "Standalone"
    """Standalone."""
    CAPACITY_RESERVATION = "CapacityReservation"
    """CapacityReservation."""
    LA_CLUSTER = "LACluster"
    """LACluster."""
