import * as pulumi from "@pulumi/pulumi"; /** * Magic Firewall is a network-level firewall to protect networks that are onboarded to Cloudflare's Magic Transit. This resource * creates a root ruleset on the account level and contains one or more rules. Rules can be crafted in Wireshark syntax and * are evaluated in order, with the first rule having the highest priority. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as cloudflare from "@pulumi/cloudflare"; * * const example = new cloudflare.MagicFirewallRuleset("example", { * accountId: "d41d8cd98f00b204e9800998ecf8427e", * description: "Global mitigations", * name: "Magic Transit Ruleset", * rules: [ * { * action: "allow", * description: "Allow TCP Ephemeral Ports", * enabled: "true", * expression: "tcp.dstport in { 32768..65535 }", * }, * { * action: "block", * description: "Block all", * enabled: "true", * expression: "ip.len >= 0", * }, * ], * }); * ``` * * ## Import * * An existing Magic Firewall Ruleset can be imported using the account ID and ruleset ID * * ```sh * $ pulumi import cloudflare:index/magicFirewallRuleset:MagicFirewallRuleset example d41d8cd98f00b204e9800998ecf8427e/cb029e245cfdd66dc8d2e570d5dd3322 * ``` */ export declare class MagicFirewallRuleset extends pulumi.CustomResource { /** * Get an existing MagicFirewallRuleset 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?: MagicFirewallRulesetState, opts?: pulumi.CustomResourceOptions): MagicFirewallRuleset; /** * Returns true if the given object is an instance of MagicFirewallRuleset. 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 MagicFirewallRuleset; /** * The ID of the account where the ruleset is being created. */ readonly accountId: pulumi.Output; /** * A note that can be used to annotate the rule. */ readonly description: pulumi.Output; /** * The name of the ruleset. */ readonly name: pulumi.Output; readonly rules: pulumi.Output<{ [key: string]: string; }[] | undefined>; /** * Create a MagicFirewallRuleset 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: MagicFirewallRulesetArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering MagicFirewallRuleset resources. */ export interface MagicFirewallRulesetState { /** * The ID of the account where the ruleset is being created. */ accountId?: pulumi.Input; /** * A note that can be used to annotate the rule. */ description?: pulumi.Input; /** * The name of the ruleset. */ name?: pulumi.Input; rules?: pulumi.Input; }>[]>; } /** * The set of arguments for constructing a MagicFirewallRuleset resource. */ export interface MagicFirewallRulesetArgs { /** * The ID of the account where the ruleset is being created. */ accountId: pulumi.Input; /** * A note that can be used to annotate the rule. */ description?: pulumi.Input; /** * The name of the ruleset. */ name: pulumi.Input; rules?: pulumi.Input; }>[]>; }