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

from __future__ import annotations

import typing

from .bridge_environment import BridgeEnvironment
from .bridge_literal import BridgeLiteral
from .vault_credential import VaultCredential


class BridgeLocalCredential_Literal(BridgeLiteral):
    type: typing.Literal["literal"]

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


class BridgeLocalCredential_Environment(BridgeEnvironment):
    type: typing.Literal["environment"]

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


class BridgeLocalCredential_Vault(VaultCredential):
    type: typing.Literal["vault"]

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


BridgeLocalCredential = typing.Union[
    BridgeLocalCredential_Literal, BridgeLocalCredential_Environment, BridgeLocalCredential_Vault
]
