# This file is auto-generated by oagen. Do not edit.

"""Enumeration of connection type values."""

from __future__ import annotations

from enum import Enum
from typing import Literal, TypeAlias


class ConnectionType(str, Enum):
    """Known values for ConnectionType."""

    PENDING = "Pending"
    ADFSSAML = "ADFSSAML"
    ADP_OIDC = "AdpOidc"
    APPLE_OAUTH = "AppleOAuth"
    AUTH_0_MIGRATION = "Auth0Migration"
    AUTH_0_SAML = "Auth0SAML"
    AZURE_SAML = "AzureSAML"
    BITBUCKET_OAUTH = "BitbucketOAuth"
    CAS_SAML = "CasSAML"
    CLASS_LINK_SAML = "ClassLinkSAML"
    CLEVER_OIDC = "CleverOIDC"
    CLOUDFLARE_SAML = "CloudflareSAML"
    CYBER_ARK_SAML = "CyberArkSAML"
    DISCORD_OAUTH = "DiscordOAuth"
    DUO_SAML = "DuoSAML"
    ENTRA_ID_OIDC = "EntraIdOIDC"
    GENERIC_OIDC = "GenericOIDC"
    GENERIC_SAML = "GenericSAML"
    GIT_HUB_OAUTH = "GitHubOAuth"
    GIT_LAB_OAUTH = "GitLabOAuth"
    GOOGLE_OAUTH = "GoogleOAuth"
    GOOGLE_OIDC = "GoogleOIDC"
    GOOGLE_SAML = "GoogleSAML"
    INTUIT_OAUTH = "IntuitOAuth"
    JUMP_CLOUD_SAML = "JumpCloudSAML"
    KEYCLOAK_SAML = "KeycloakSAML"
    LAST_PASS_SAML = "LastPassSAML"
    LINKED_IN_OAUTH = "LinkedInOAuth"
    LOGIN_GOV_OIDC = "LoginGovOidc"
    MAGIC_LINK = "MagicLink"
    MICROSOFT_OAUTH = "MicrosoftOAuth"
    MINI_ORANGE_SAML = "MiniOrangeSAML"
    NET_IQ_SAML = "NetIqSAML"
    OKTA_OIDC = "OktaOIDC"
    OKTA_SAML = "OktaSAML"
    ONE_LOGIN_SAML = "OneLoginSAML"
    ORACLE_SAML = "OracleSAML"
    PING_FEDERATE_SAML = "PingFederateSAML"
    PING_ONE_SAML = "PingOneSAML"
    RIPPLING_SAML = "RipplingSAML"
    SALESFORCE_SAML = "SalesforceSAML"
    SHIBBOLETH_GENERIC_SAML = "ShibbolethGenericSAML"
    SHIBBOLETH_SAML = "ShibbolethSAML"
    SIMPLE_SAML_PHP_SAML = "SimpleSamlPhpSAML"
    SALESFORCE_OAUTH = "SalesforceOAuth"
    SLACK_OAUTH = "SlackOAuth"
    TEST_IDP = "TestIdp"
    VERCEL_MARKETPLACE_OAUTH = "VercelMarketplaceOAuth"
    VERCEL_OAUTH = "VercelOAuth"
    V_MWARE_SAML = "VMwareSAML"
    XERO_OAUTH = "XeroOAuth"

    @classmethod
    def _missing_(cls, value: object) -> ConnectionType | None:
        if not isinstance(value, str):
            return None
        unknown = str.__new__(cls, value)
        unknown._name_ = value.upper()
        unknown._value_ = value
        return unknown


ConnectionTypeLiteral: TypeAlias = Literal[
    "Pending",
    "ADFSSAML",
    "AdpOidc",
    "AppleOAuth",
    "Auth0Migration",
    "Auth0SAML",
    "AzureSAML",
    "BitbucketOAuth",
    "CasSAML",
    "ClassLinkSAML",
    "CleverOIDC",
    "CloudflareSAML",
    "CyberArkSAML",
    "DiscordOAuth",
    "DuoSAML",
    "EntraIdOIDC",
    "GenericOIDC",
    "GenericSAML",
    "GitHubOAuth",
    "GitLabOAuth",
    "GoogleOAuth",
    "GoogleOIDC",
    "GoogleSAML",
    "IntuitOAuth",
    "JumpCloudSAML",
    "KeycloakSAML",
    "LastPassSAML",
    "LinkedInOAuth",
    "LoginGovOidc",
    "MagicLink",
    "MicrosoftOAuth",
    "MiniOrangeSAML",
    "NetIqSAML",
    "OktaOIDC",
    "OktaSAML",
    "OneLoginSAML",
    "OracleSAML",
    "PingFederateSAML",
    "PingOneSAML",
    "RipplingSAML",
    "SalesforceSAML",
    "ShibbolethGenericSAML",
    "ShibbolethSAML",
    "SimpleSamlPhpSAML",
    "SalesforceOAuth",
    "SlackOAuth",
    "TestIdp",
    "VercelMarketplaceOAuth",
    "VercelOAuth",
    "VMwareSAML",
    "XeroOAuth",
]
