import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * ## Example Usage * * ## Import * * ```sh * $ pulumi import cloudflare:index/dnsFirewall:DnsFirewall example '/' * ``` */ export declare class DnsFirewall extends pulumi.CustomResource { /** * Get an existing DnsFirewall 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?: DnsFirewallState, opts?: pulumi.CustomResourceOptions): DnsFirewall; /** * Returns true if the given object is an instance of DnsFirewall. 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 DnsFirewall; /** * Identifier. */ readonly accountId: pulumi.Output; /** * Attack mitigation settings */ readonly attackMitigation: pulumi.Output; /** * Whether to refuse to answer queries for the ANY type */ readonly deprecateAnyRequests: pulumi.Output; readonly dnsFirewallIps: pulumi.Output; /** * Whether to forward client IP (resolver) subnet if no EDNS Client Subnet is sent */ readonly ecsFallback: pulumi.Output; /** * By default, Cloudflare attempts to cache responses for as long as * indicated by the TTL received from upstream nameservers. This setting * sets an upper bound on this duration. For caching purposes, higher TTLs * will be decreased to the maximum value defined by this setting. */ readonly maximumCacheTtl: pulumi.Output; /** * By default, Cloudflare attempts to cache responses for as long as * indicated by the TTL received from upstream nameservers. This setting * sets a lower bound on this duration. For caching purposes, lower TTLs * will be increased to the minimum value defined by this setting. * * This setting does not affect the TTL value in the DNS response * Cloudflare returns to clients. Cloudflare will always forward the TTL * value received from upstream nameservers. * * Note that, even with this setting, there is no guarantee that a * response will be cached for at least the specified duration. Cached * responses may be removed earlier for capacity or other operational * reasons. */ readonly minimumCacheTtl: pulumi.Output; /** * Last modification of DNS Firewall cluster */ readonly modifiedOn: pulumi.Output; /** * DNS Firewall cluster name */ readonly name: pulumi.Output; /** * This setting controls how long DNS Firewall should cache negative * responses (e.g., NXDOMAIN) from the upstream servers. * * This setting does not affect the TTL value in the DNS response * Cloudflare returns to clients. Cloudflare will always forward the TTL * value received from upstream nameservers. */ readonly negativeCacheTtl: pulumi.Output; /** * Ratelimit in queries per second per datacenter (applies to DNS queries sent to the upstream nameservers configured on the cluster) */ readonly ratelimit: pulumi.Output; /** * Number of retries for fetching DNS responses from upstream nameservers (not counting the initial attempt) */ readonly retries: pulumi.Output; readonly upstreamIps: pulumi.Output; /** * Create a DnsFirewall 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: DnsFirewallArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering DnsFirewall resources. */ export interface DnsFirewallState { /** * Identifier. */ accountId?: pulumi.Input; /** * Attack mitigation settings */ attackMitigation?: pulumi.Input; /** * Whether to refuse to answer queries for the ANY type */ deprecateAnyRequests?: pulumi.Input; dnsFirewallIps?: pulumi.Input[]>; /** * Whether to forward client IP (resolver) subnet if no EDNS Client Subnet is sent */ ecsFallback?: pulumi.Input; /** * By default, Cloudflare attempts to cache responses for as long as * indicated by the TTL received from upstream nameservers. This setting * sets an upper bound on this duration. For caching purposes, higher TTLs * will be decreased to the maximum value defined by this setting. */ maximumCacheTtl?: pulumi.Input; /** * By default, Cloudflare attempts to cache responses for as long as * indicated by the TTL received from upstream nameservers. This setting * sets a lower bound on this duration. For caching purposes, lower TTLs * will be increased to the minimum value defined by this setting. * * This setting does not affect the TTL value in the DNS response * Cloudflare returns to clients. Cloudflare will always forward the TTL * value received from upstream nameservers. * * Note that, even with this setting, there is no guarantee that a * response will be cached for at least the specified duration. Cached * responses may be removed earlier for capacity or other operational * reasons. */ minimumCacheTtl?: pulumi.Input; /** * Last modification of DNS Firewall cluster */ modifiedOn?: pulumi.Input; /** * DNS Firewall cluster name */ name?: pulumi.Input; /** * This setting controls how long DNS Firewall should cache negative * responses (e.g., NXDOMAIN) from the upstream servers. * * This setting does not affect the TTL value in the DNS response * Cloudflare returns to clients. Cloudflare will always forward the TTL * value received from upstream nameservers. */ negativeCacheTtl?: pulumi.Input; /** * Ratelimit in queries per second per datacenter (applies to DNS queries sent to the upstream nameservers configured on the cluster) */ ratelimit?: pulumi.Input; /** * Number of retries for fetching DNS responses from upstream nameservers (not counting the initial attempt) */ retries?: pulumi.Input; upstreamIps?: pulumi.Input[]>; } /** * The set of arguments for constructing a DnsFirewall resource. */ export interface DnsFirewallArgs { /** * Identifier. */ accountId: pulumi.Input; /** * Attack mitigation settings */ attackMitigation?: pulumi.Input; /** * Whether to refuse to answer queries for the ANY type */ deprecateAnyRequests?: pulumi.Input; /** * Whether to forward client IP (resolver) subnet if no EDNS Client Subnet is sent */ ecsFallback?: pulumi.Input; /** * By default, Cloudflare attempts to cache responses for as long as * indicated by the TTL received from upstream nameservers. This setting * sets an upper bound on this duration. For caching purposes, higher TTLs * will be decreased to the maximum value defined by this setting. */ maximumCacheTtl?: pulumi.Input; /** * By default, Cloudflare attempts to cache responses for as long as * indicated by the TTL received from upstream nameservers. This setting * sets a lower bound on this duration. For caching purposes, lower TTLs * will be increased to the minimum value defined by this setting. * * This setting does not affect the TTL value in the DNS response * Cloudflare returns to clients. Cloudflare will always forward the TTL * value received from upstream nameservers. * * Note that, even with this setting, there is no guarantee that a * response will be cached for at least the specified duration. Cached * responses may be removed earlier for capacity or other operational * reasons. */ minimumCacheTtl?: pulumi.Input; /** * DNS Firewall cluster name */ name: pulumi.Input; /** * This setting controls how long DNS Firewall should cache negative * responses (e.g., NXDOMAIN) from the upstream servers. * * This setting does not affect the TTL value in the DNS response * Cloudflare returns to clients. Cloudflare will always forward the TTL * value received from upstream nameservers. */ negativeCacheTtl?: pulumi.Input; /** * Ratelimit in queries per second per datacenter (applies to DNS queries sent to the upstream nameservers configured on the cluster) */ ratelimit?: pulumi.Input; /** * Number of retries for fetching DNS responses from upstream nameservers (not counting the initial attempt) */ retries?: pulumi.Input; upstreamIps: pulumi.Input[]>; }