import * as vulnScanner from "@distilled.cloud/cloudflare/vulnerability-scanner"; import * as Provider from "../../Provider.ts"; import { Resource } from "../../Resource.ts"; import { CloudflareEnvironment } from "../CloudflareEnvironment.ts"; import type { Providers } from "../Providers.ts"; declare const TypeId: "Cloudflare.VulnerabilityScanner.TargetEnvironment"; type TypeId = typeof TypeId; export interface VulnScannerTargetEnvironmentProps { /** * Human-readable name for the target environment. If omitted, a unique * name is generated from the app, stage, and logical ID. * @default ${app}-${stage}-${id} */ name?: string; /** * The zone the scanner targets (`target.zone_tag`). Scan history is tied * to the target, so changing the zone triggers a replacement. */ zoneId: string; /** * Optional description providing additional context. Mutable; omit to * clear an existing description. */ description?: string; } export interface VulnScannerTargetEnvironmentAttributes { /** Server-assigned target environment identifier (UUID). */ targetEnvironmentId: string; /** The Cloudflare account the target environment belongs to. */ accountId: string; /** Human-readable name. */ name: string; /** The zone being scanned (`target.zone_tag`). */ zoneId: string; /** Description, if set. */ description: string | undefined; } export type VulnScannerTargetEnvironment = Resource; /** * A Cloudflare Vulnerability Scanner target environment — declares which * zone the DAST-style web vulnerability scanner (Security Center, beta) is * allowed to scan. * * The environment is identified by a server-assigned UUID. `name` and * `description` are mutable in place; changing the target `zoneId` triggers * a replacement because scan history is tied to the target. * ### Creating a Target Environment * **Example:** Scan a zone * ```typescript * const zone = yield* Cloudflare.Zone.Zone("site", { name: "example.com" }); * * const target = yield* Cloudflare.VulnerabilityScanner.VulnScannerTargetEnvironment("site-scans", { * zoneId: zone.zoneId, * }); * ``` * * **Example:** With an explicit name and description * ```typescript * const target = yield* Cloudflare.VulnerabilityScanner.VulnScannerTargetEnvironment("site-scans", { * name: "production-site", * zoneId: zone.zoneId, * description: "Weekly DAST scan of the production zone", * }); * ``` * * @see https://developers.cloudflare.com/security-center/ * * @resource * @product Vulnerability Scanner * @category Application Security */ export declare const VulnScannerTargetEnvironment: import("../../Resource.ts").ResourceClass; /** * Returns true if the given value is a VulnScannerTargetEnvironment resource. */ export declare const isVulnScannerTargetEnvironment: (value: unknown) => value is VulnScannerTargetEnvironment; export declare const VulnScannerTargetEnvironmentProvider: () => import("effect/Layer").Layer, never, CloudflareEnvironment | import("../../Stack.ts").Stack | import("../../Stage.ts").Stage | vulnScanner.CloudflareOpContext>; export {}; //# sourceMappingURL=TargetEnvironment.d.ts.map