import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * Manages API Shield configuration properties for a zone, specifically auth ID characteristics. * * When using `type = "jwt"` for auth ID characteristics, the `name` field must be a claim location expressed as `$(token_config_id):$(json_path)`, where: * - `tokenConfigId` is the ID of the token configuration used in validating the JWT * - `jsonPath` is a [RFC 9535](https://www.rfc-editor.org/rfc/rfc9535.html) [JSONPath](https://goessner.net/articles/JsonPath/) expression that returns a singleton value (interpreted as a string) * * The JSONPath expression may be in dot or bracket notation and may only specify literal keys or array indexes. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as cloudflare from "@pulumi/cloudflare"; * * const exampleApiShield = new cloudflare.ApiShield("example_api_shield", { * zoneId: "023e105f4ecef8ad9ca31a8372d0c353", * authIdCharacteristics: [{ * name: "authorization", * type: "header", * }], * }); * ``` * * ## Import * * ```sh * $ pulumi import cloudflare:index/apiShield:ApiShield example '' * ``` */ export declare class ApiShield extends pulumi.CustomResource { /** * Get an existing ApiShield resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: ApiShieldState, opts?: pulumi.CustomResourceOptions): ApiShield; /** * Returns true if the given object is an instance of ApiShield. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is ApiShield; readonly authIdCharacteristics: pulumi.Output; /** * Identifier. */ readonly zoneId: pulumi.Output; /** * Create a ApiShield resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: ApiShieldArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering ApiShield resources. */ export interface ApiShieldState { authIdCharacteristics?: pulumi.Input[]>; /** * Identifier. */ zoneId?: pulumi.Input; } /** * The set of arguments for constructing a ApiShield resource. */ export interface ApiShieldArgs { authIdCharacteristics: pulumi.Input[]>; /** * Identifier. */ zoneId: pulumi.Input; }