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

import typing

import pydantic
from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
from .palo_alto_prisma_airs_guardrail_config_config_mode import PaloAltoPrismaAirsGuardrailConfigConfigMode


class PaloAltoPrismaAirsGuardrailConfigConfig(UniversalBaseModel):
    base_url: typing.Optional[str] = pydantic.Field(default=None)
    """
    Optional override for the base URL for Palo Alto Prisma AIRS. Defaults to https://service.api.aisecurity.paloaltonetworks.com/v1/ if not provided.
    """

    profile_name: str = pydantic.Field()
    """
    The profile name associated with this Guardrail Config.
    """

    mode: typing.Optional[PaloAltoPrismaAirsGuardrailConfigConfigMode] = pydantic.Field(default=None)
    """
    Execution mode for the guardrail. Sync waits for the guardrail check to complete before proceeding. Async triggers the check without waiting. Defaults to sync.
    """

    if IS_PYDANTIC_V2:
        model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow")  # type: ignore # Pydantic v2
    else:

        class Config:
            smart_union = True
            extra = pydantic.Extra.allow
