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

from __future__ import annotations

from typing import Optional
from typing_extensions import Literal, Required, TypedDict

__all__ = ["TargetEnvironmentEditParams", "Target"]


class TargetEnvironmentEditParams(TypedDict, total=False):
    account_id: Required[str]
    """Identifier."""

    description: Optional[str]
    """Optional description.

    Omit to leave unchanged, set to `null` to clear, or provide a string to update.
    """

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

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

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


class Target(TypedDict, total=False):
    """Identifies the Cloudflare asset to scan.

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

    type: Required[Literal["zone"]]

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