# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

from typing import Optional
from typing_extensions import Literal

from ..._models import BaseModel

__all__ = ["TargetEnvironmentListResponse", "Target"]


class Target(BaseModel):
    """Identifies the Cloudflare asset to scan.

    Uses a `type` discriminator.
    Currently the service supports only `zone` targets.
    """

    type: Literal["zone"]

    zone_tag: str
    """Cloudflare zone tag. The zone must belong to the account."""


class TargetEnvironmentListResponse(BaseModel):
    id: str
    """Target environment identifier."""

    name: str
    """Human-readable name."""

    target: Target
    """Identifies the Cloudflare asset to scan.

    Uses a `type` discriminator. Currently the service supports only `zone` targets.
    """

    description: Optional[str] = None
    """Optional description providing additional context."""
