# 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__ = ["TargetEnvironmentCreateParams", "Target"]


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

    name: Required[str]
    """Human-readable name."""

    target: Required[Target]
    """Identifies the Cloudflare asset to scan.

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

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


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."""
