Source code for netbird.models.identity_provider

"""
Identity provider models for NetBird API.
"""

from typing import Optional

from pydantic import Field

from .common import BaseModel, ResourceId


[docs] class IdentityProviderCreate(BaseModel): """Model for creating an identity provider.""" type: str = Field(..., description="Type of identity provider") name: str = Field(..., description="Human-readable name") issuer: str = Field(..., description="OIDC issuer URL") client_id: str = Field(..., description="OAuth2 client ID") client_secret: str = Field(..., description="OAuth2 client secret")
[docs] class IdentityProviderUpdate(BaseModel): """Model for updating an identity provider.""" type: Optional[str] = Field(None, description="Type of identity provider") name: Optional[str] = Field(None, description="Human-readable name") issuer: Optional[str] = Field(None, description="OIDC issuer URL") client_id: Optional[str] = Field(None, description="OAuth2 client ID") client_secret: Optional[str] = Field(None, description="OAuth2 client secret")
[docs] class IdentityProvider(BaseModel): """NetBird identity provider model.""" id: ResourceId = Field(..., description="Unique identifier") type: str = Field(..., description="Type of identity provider") name: str = Field(..., description="Human-readable name") issuer: Optional[str] = Field(None, description="OIDC issuer URL") client_id: Optional[str] = Field(None, description="OAuth2 client ID")