# This file was auto-generated by Fern from our API Definition.

from __future__ import annotations

import typing

from .assets_armis_centrix import AssetsArmisCentrix
from .assets_armis_centrix_mock import AssetsArmisCentrixMock
from .assets_axonius import AssetsAxonius
from .assets_crowd_strike import AssetsCrowdStrike
from .assets_nozomi_vantage import AssetsNozomiVantage
from .assets_nozomi_vantage_mock import AssetsNozomiVantageMock
from .assets_qualys_cloud import AssetsQualysCloud
from .assets_qualys_cloud_mock import AssetsQualysCloudMock
from .assets_service_now import AssetsServiceNow
from .assets_service_now_mock import AssetsServiceNowMock
from .assets_sevco import AssetsSevco
from .assets_tanium_cloud import AssetsTaniumCloud
from .assets_tanium_cloud_mock import AssetsTaniumCloudMock
from .cloud_security_crowd_strike import CloudSecurityCrowdStrike
from .cloud_security_defender import CloudSecurityDefender
from .edr_crowd_strike import EdrCrowdStrike
from .edr_defender import EdrDefender
from .edr_malwarebytes import EdrMalwarebytes
from .edr_sentinel_one import EdrSentinelOne
from .edr_sophos import EdrSophos
from .edr_tanium import EdrTanium
from .identity_entra_id import IdentityEntraId
from .identity_google import IdentityGoogle
from .identity_okta import IdentityOkta
from .identity_ping_one import IdentityPingOne
from .notifications_jira import NotificationsJira
from .notifications_mock import NotificationsMock
from .notifications_slack import NotificationsSlack
from .notifications_slack_webhook import NotificationsSlackWebhook
from .notifications_teams import NotificationsTeams
from .siem_crowdstrike import SiemCrowdstrike
from .siem_elasticsearch import SiemElasticsearch
from .siem_google_chronicle import SiemGoogleChronicle
from .siem_google_security_operations import SiemGoogleSecurityOperations
from .siem_mock import SiemMock
from .siem_open_search import SiemOpenSearch
from .siem_q_radar import SiemQRadar
from .siem_rapid_7_insight_idr import SiemRapid7InsightIdr
from .siem_sentinel import SiemSentinel
from .siem_splunk import SiemSplunk
from .siem_sumo_logic import SiemSumoLogic
from .sink_aws_security_lake import SinkAwsSecurityLake
from .sink_aws_sqs import SinkAwsSqs
from .sink_azure_monitor_logs import SinkAzureMonitorLogs
from .sink_crowdstrike_hec import SinkCrowdstrikeHec
from .sink_elasticsearch import SinkElasticsearch
from .sink_google_sec_ops import SinkGoogleSecOps
from .sink_google_security_operations import SinkGoogleSecurityOperations
from .sink_mock import SinkMock
from .sink_open_search import SinkOpenSearch
from .sink_splunk import SinkSplunk
from .storage_aws_s_3 import StorageAwsS3
from .storage_azure_blob import StorageAzureBlob
from .storage_gcs import StorageGcs
from .storage_mock import StorageMock
from .ticketing_autotask import TicketingAutotask
from .ticketing_freshdesk import TicketingFreshdesk
from .ticketing_jira import TicketingJira
from .ticketing_mock import TicketingMock
from .ticketing_pager_duty import TicketingPagerDuty
from .ticketing_service_now import TicketingServiceNow
from .ticketing_service_now_sir import TicketingServiceNowSir
from .ticketing_torq import TicketingTorq
from .ticketing_zendesk import TicketingZendesk
from .vulnerabilities_crowd_strike import VulnerabilitiesCrowdStrike
from .vulnerabilities_nucleus import VulnerabilitiesNucleus
from .vulnerabilities_qualys_cloud import VulnerabilitiesQualysCloud
from .vulnerabilities_qualys_cloud_mock import VulnerabilitiesQualysCloudMock
from .vulnerabilities_rapid_7_insight_cloud import VulnerabilitiesRapid7InsightCloud
from .vulnerabilities_rapid_7_insight_cloud_mock import VulnerabilitiesRapid7InsightCloudMock
from .vulnerabilities_tanium_cloud import VulnerabilitiesTaniumCloud
from .vulnerabilities_tanium_cloud_mock import VulnerabilitiesTaniumCloudMock
from .vulnerabilities_tenable_cloud import VulnerabilitiesTenableCloud


class ProviderConfig_AssetsArmisCentrix(AssetsArmisCentrix):
    type: typing.Literal["assets_armis_centrix"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_AssetsArmisCentrixMock(AssetsArmisCentrixMock):
    type: typing.Literal["assets_armis_centrix_mock"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_AssetsAxonius(AssetsAxonius):
    type: typing.Literal["assets_axonius"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_AssetsCrowdstrike(AssetsCrowdStrike):
    type: typing.Literal["assets_crowdstrike"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_AssetsNozomiVantage(AssetsNozomiVantage):
    type: typing.Literal["assets_nozomi_vantage"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_AssetsNozomiVantageMock(AssetsNozomiVantageMock):
    type: typing.Literal["assets_nozomi_vantage_mock"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_AssetsQualysCloud(AssetsQualysCloud):
    type: typing.Literal["assets_qualys_cloud"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_AssetsQualysCloudMock(AssetsQualysCloudMock):
    type: typing.Literal["assets_qualys_cloud_mock"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_AssetsServicenow(AssetsServiceNow):
    type: typing.Literal["assets_servicenow"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_AssetsServicenowMock(AssetsServiceNowMock):
    type: typing.Literal["assets_servicenow_mock"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_AssetsSevco(AssetsSevco):
    type: typing.Literal["assets_sevco"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_AssetsTaniumCloud(AssetsTaniumCloud):
    type: typing.Literal["assets_tanium_cloud"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_AssetsTaniumCloudMock(AssetsTaniumCloudMock):
    type: typing.Literal["assets_tanium_cloud_mock"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_CloudsecurityCrowdstrike(CloudSecurityCrowdStrike):
    type: typing.Literal["cloudsecurity_crowdstrike"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_CloudsecurityDefender(CloudSecurityDefender):
    type: typing.Literal["cloudsecurity_defender"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_EdrCrowdstrike(EdrCrowdStrike):
    type: typing.Literal["edr_crowdstrike"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_EdrDefender(EdrDefender):
    type: typing.Literal["edr_defender"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_EdrMalwarebytes(EdrMalwarebytes):
    type: typing.Literal["edr_malwarebytes"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_EdrSentinelone(EdrSentinelOne):
    type: typing.Literal["edr_sentinelone"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_EdrSophos(EdrSophos):
    type: typing.Literal["edr_sophos"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_EdrTanium(EdrTanium):
    type: typing.Literal["edr_tanium"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_IdentityEntraId(IdentityEntraId):
    type: typing.Literal["identity_entra_id"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_IdentityGoogle(IdentityGoogle):
    type: typing.Literal["identity_google"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_IdentityOkta(IdentityOkta):
    type: typing.Literal["identity_okta"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_IdentityPingone(IdentityPingOne):
    type: typing.Literal["identity_pingone"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_NotificationsJira(NotificationsJira):
    type: typing.Literal["notifications_jira"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_NotificationsMockNotifications(NotificationsMock):
    type: typing.Literal["notifications_mock_notifications"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_NotificationsSlack(NotificationsSlack):
    type: typing.Literal["notifications_slack"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_NotificationsSlackWebhook(NotificationsSlackWebhook):
    type: typing.Literal["notifications_slack_webhook"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_NotificationsTeams(NotificationsTeams):
    type: typing.Literal["notifications_teams"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_SiemCrowdstrike(SiemCrowdstrike):
    type: typing.Literal["siem_crowdstrike"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_SiemElasticsearch(SiemElasticsearch):
    type: typing.Literal["siem_elasticsearch"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_SiemGoogleChronicle(SiemGoogleChronicle):
    type: typing.Literal["siem_google_chronicle"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_SiemGoogleSecurityOperations(SiemGoogleSecurityOperations):
    type: typing.Literal["siem_google_security_operations"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_SiemMockSiem(SiemMock):
    type: typing.Literal["siem_mock_siem"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_SiemOpensearch(SiemOpenSearch):
    type: typing.Literal["siem_opensearch"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_SiemQRadar(SiemQRadar):
    type: typing.Literal["siem_q_radar"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_SiemRapid7Insightidr(SiemRapid7InsightIdr):
    type: typing.Literal["siem_rapid7_insightidr"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_SiemSentinel(SiemSentinel):
    type: typing.Literal["siem_sentinel"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_SiemSplunk(SiemSplunk):
    type: typing.Literal["siem_splunk"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_SiemSumoLogic(SiemSumoLogic):
    type: typing.Literal["siem_sumo_logic"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_SinkAwsSecurityLake(SinkAwsSecurityLake):
    type: typing.Literal["sink_aws_security_lake"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_SinkAwsSqs(SinkAwsSqs):
    type: typing.Literal["sink_aws_sqs"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_SinkAzureMonitorLogs(SinkAzureMonitorLogs):
    type: typing.Literal["sink_azure_monitor_logs"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_SinkCrowdstrikeHec(SinkCrowdstrikeHec):
    type: typing.Literal["sink_crowdstrike_hec"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_SinkElasticsearch(SinkElasticsearch):
    type: typing.Literal["sink_elasticsearch"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_SinkGoogleSecOps(SinkGoogleSecOps):
    type: typing.Literal["sink_google_sec_ops"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_SinkGoogleSecurityOperations(SinkGoogleSecurityOperations):
    type: typing.Literal["sink_google_security_operations"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_SinkMockSink(SinkMock):
    type: typing.Literal["sink_mock_sink"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_SinkOpensearch(SinkOpenSearch):
    type: typing.Literal["sink_opensearch"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_SinkSplunk(SinkSplunk):
    type: typing.Literal["sink_splunk"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_StorageAwsS3(StorageAwsS3):
    type: typing.Literal["storage_aws_s3"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_StorageAzureBlob(StorageAzureBlob):
    type: typing.Literal["storage_azure_blob"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_StorageGcs(StorageGcs):
    type: typing.Literal["storage_gcs"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_StorageMockStorage(StorageMock):
    type: typing.Literal["storage_mock_storage"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_TicketingAutotask(TicketingAutotask):
    type: typing.Literal["ticketing_autotask"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_TicketingFreshdesk(TicketingFreshdesk):
    type: typing.Literal["ticketing_freshdesk"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_TicketingJira(TicketingJira):
    type: typing.Literal["ticketing_jira"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_TicketingMockTicketing(TicketingMock):
    type: typing.Literal["ticketing_mock_ticketing"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_TicketingPagerduty(TicketingPagerDuty):
    type: typing.Literal["ticketing_pagerduty"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_TicketingServicenow(TicketingServiceNow):
    type: typing.Literal["ticketing_servicenow"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_TicketingServicenowSir(TicketingServiceNowSir):
    type: typing.Literal["ticketing_servicenow_sir"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_TicketingTorq(TicketingTorq):
    type: typing.Literal["ticketing_torq"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_TicketingZendesk(TicketingZendesk):
    type: typing.Literal["ticketing_zendesk"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_VulnerabilitiesCrowdstrike(VulnerabilitiesCrowdStrike):
    type: typing.Literal["vulnerabilities_crowdstrike"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_VulnerabilitiesNucleus(VulnerabilitiesNucleus):
    type: typing.Literal["vulnerabilities_nucleus"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_VulnerabilitiesQualysCloud(VulnerabilitiesQualysCloud):
    type: typing.Literal["vulnerabilities_qualys_cloud"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_VulnerabilitiesQualysCloudMock(VulnerabilitiesQualysCloudMock):
    type: typing.Literal["vulnerabilities_qualys_cloud_mock"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_VulnerabilitiesRapid7InsightCloud(VulnerabilitiesRapid7InsightCloud):
    type: typing.Literal["vulnerabilities_rapid7_insight_cloud"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_VulnerabilitiesRapid7InsightCloudMock(VulnerabilitiesRapid7InsightCloudMock):
    type: typing.Literal["vulnerabilities_rapid7_insight_cloud_mock"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_VulnerabilitiesTaniumCloud(VulnerabilitiesTaniumCloud):
    type: typing.Literal["vulnerabilities_tanium_cloud"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_VulnerabilitiesTaniumCloudMock(VulnerabilitiesTaniumCloudMock):
    type: typing.Literal["vulnerabilities_tanium_cloud_mock"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


class ProviderConfig_VulnerabilitiesTenableCloud(VulnerabilitiesTenableCloud):
    type: typing.Literal["vulnerabilities_tenable_cloud"]

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True


ProviderConfig = typing.Union[
    ProviderConfig_AssetsArmisCentrix,
    ProviderConfig_AssetsArmisCentrixMock,
    ProviderConfig_AssetsAxonius,
    ProviderConfig_AssetsCrowdstrike,
    ProviderConfig_AssetsNozomiVantage,
    ProviderConfig_AssetsNozomiVantageMock,
    ProviderConfig_AssetsQualysCloud,
    ProviderConfig_AssetsQualysCloudMock,
    ProviderConfig_AssetsServicenow,
    ProviderConfig_AssetsServicenowMock,
    ProviderConfig_AssetsSevco,
    ProviderConfig_AssetsTaniumCloud,
    ProviderConfig_AssetsTaniumCloudMock,
    ProviderConfig_CloudsecurityCrowdstrike,
    ProviderConfig_CloudsecurityDefender,
    ProviderConfig_EdrCrowdstrike,
    ProviderConfig_EdrDefender,
    ProviderConfig_EdrMalwarebytes,
    ProviderConfig_EdrSentinelone,
    ProviderConfig_EdrSophos,
    ProviderConfig_EdrTanium,
    ProviderConfig_IdentityEntraId,
    ProviderConfig_IdentityGoogle,
    ProviderConfig_IdentityOkta,
    ProviderConfig_IdentityPingone,
    ProviderConfig_NotificationsJira,
    ProviderConfig_NotificationsMockNotifications,
    ProviderConfig_NotificationsSlack,
    ProviderConfig_NotificationsSlackWebhook,
    ProviderConfig_NotificationsTeams,
    ProviderConfig_SiemCrowdstrike,
    ProviderConfig_SiemElasticsearch,
    ProviderConfig_SiemGoogleChronicle,
    ProviderConfig_SiemGoogleSecurityOperations,
    ProviderConfig_SiemMockSiem,
    ProviderConfig_SiemOpensearch,
    ProviderConfig_SiemQRadar,
    ProviderConfig_SiemRapid7Insightidr,
    ProviderConfig_SiemSentinel,
    ProviderConfig_SiemSplunk,
    ProviderConfig_SiemSumoLogic,
    ProviderConfig_SinkAwsSecurityLake,
    ProviderConfig_SinkAwsSqs,
    ProviderConfig_SinkAzureMonitorLogs,
    ProviderConfig_SinkCrowdstrikeHec,
    ProviderConfig_SinkElasticsearch,
    ProviderConfig_SinkGoogleSecOps,
    ProviderConfig_SinkGoogleSecurityOperations,
    ProviderConfig_SinkMockSink,
    ProviderConfig_SinkOpensearch,
    ProviderConfig_SinkSplunk,
    ProviderConfig_StorageAwsS3,
    ProviderConfig_StorageAzureBlob,
    ProviderConfig_StorageGcs,
    ProviderConfig_StorageMockStorage,
    ProviderConfig_TicketingAutotask,
    ProviderConfig_TicketingFreshdesk,
    ProviderConfig_TicketingJira,
    ProviderConfig_TicketingMockTicketing,
    ProviderConfig_TicketingPagerduty,
    ProviderConfig_TicketingServicenow,
    ProviderConfig_TicketingServicenowSir,
    ProviderConfig_TicketingTorq,
    ProviderConfig_TicketingZendesk,
    ProviderConfig_VulnerabilitiesCrowdstrike,
    ProviderConfig_VulnerabilitiesNucleus,
    ProviderConfig_VulnerabilitiesQualysCloud,
    ProviderConfig_VulnerabilitiesQualysCloudMock,
    ProviderConfig_VulnerabilitiesRapid7InsightCloud,
    ProviderConfig_VulnerabilitiesRapid7InsightCloudMock,
    ProviderConfig_VulnerabilitiesTaniumCloud,
    ProviderConfig_VulnerabilitiesTaniumCloudMock,
    ProviderConfig_VulnerabilitiesTenableCloud,
]
