import * as pulumi from "@pulumi/pulumi"; /** * Use this resource to manage a rule on an IP firewall. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as ovh from "@ovhcloud/pulumi-ovh"; * * const denyTcp = new ovh.ip.FirewallRule("deny_tcp", { * ip: "XXXXXX", * ipOnFirewall: "XXXXXX", * sequence: 0, * action: "deny", * protocol: "tcp", * }); * ``` * * ## Import * * The resource can be imported using the properties `ip`, `ip_on_firewall` and `sequence`, separated by "|" E.g., * * bash * * ```sh * $ pulumi import ovh:Ip/firewallRule:FirewallRule my_firewall_rule '127.0.0.1|127.0.0.2|0' * ``` */ export declare class FirewallRule extends pulumi.CustomResource { /** * Get an existing FirewallRule 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?: FirewallRuleState, opts?: pulumi.CustomResourceOptions): FirewallRule; /** * Returns true if the given object is an instance of FirewallRule. 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 FirewallRule; /** * Possible values for action (deny|permit) */ readonly action: pulumi.Output; /** * Creation date of the rule */ readonly creationDate: pulumi.Output; /** * Destination IP for your rule */ readonly destination: pulumi.Output; /** * Destination port for your rule. Only with TCP/UDP protocol */ readonly destinationPort: pulumi.Output; /** * String description of field `destinationPort` */ readonly destinationPortDesc: pulumi.Output; /** * Fragments option */ readonly fragments: pulumi.Output; /** * The IP or the CIDR */ readonly ip: pulumi.Output; /** * IPv4 address */ readonly ipOnFirewall: pulumi.Output; /** * Possible values for protocol (ah|esp|gre|icmp|ipv4|tcp|udp) */ readonly protocol: pulumi.Output; /** * Description of the rule */ readonly rule: pulumi.Output; /** * Rule position in the rules array */ readonly sequence: pulumi.Output; /** * IPv4 CIDR notation (e.g., 192.0.2.0/24) */ readonly source: pulumi.Output; /** * Source port for your rule. Only with TCP/UDP protocol */ readonly sourcePort: pulumi.Output; /** * String description of field `sourcePort` */ readonly sourcePortDesc: pulumi.Output; /** * Current state of your rule */ readonly state: pulumi.Output; /** * TCP option on your rule (syn|established) */ readonly tcpOption: pulumi.Output; /** * Create a FirewallRule 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: FirewallRuleArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering FirewallRule resources. */ export interface FirewallRuleState { /** * Possible values for action (deny|permit) */ action?: pulumi.Input; /** * Creation date of the rule */ creationDate?: pulumi.Input; /** * Destination IP for your rule */ destination?: pulumi.Input; /** * Destination port for your rule. Only with TCP/UDP protocol */ destinationPort?: pulumi.Input; /** * String description of field `destinationPort` */ destinationPortDesc?: pulumi.Input; /** * Fragments option */ fragments?: pulumi.Input; /** * The IP or the CIDR */ ip?: pulumi.Input; /** * IPv4 address */ ipOnFirewall?: pulumi.Input; /** * Possible values for protocol (ah|esp|gre|icmp|ipv4|tcp|udp) */ protocol?: pulumi.Input; /** * Description of the rule */ rule?: pulumi.Input; /** * Rule position in the rules array */ sequence?: pulumi.Input; /** * IPv4 CIDR notation (e.g., 192.0.2.0/24) */ source?: pulumi.Input; /** * Source port for your rule. Only with TCP/UDP protocol */ sourcePort?: pulumi.Input; /** * String description of field `sourcePort` */ sourcePortDesc?: pulumi.Input; /** * Current state of your rule */ state?: pulumi.Input; /** * TCP option on your rule (syn|established) */ tcpOption?: pulumi.Input; } /** * The set of arguments for constructing a FirewallRule resource. */ export interface FirewallRuleArgs { /** * Possible values for action (deny|permit) */ action: pulumi.Input; /** * Destination port for your rule. Only with TCP/UDP protocol */ destinationPort?: pulumi.Input; /** * Fragments option */ fragments?: pulumi.Input; /** * The IP or the CIDR */ ip: pulumi.Input; /** * IPv4 address */ ipOnFirewall: pulumi.Input; /** * Possible values for protocol (ah|esp|gre|icmp|ipv4|tcp|udp) */ protocol: pulumi.Input; /** * Rule position in the rules array */ sequence: pulumi.Input; /** * IPv4 CIDR notation (e.g., 192.0.2.0/24) */ source?: pulumi.Input; /** * Source port for your rule. Only with TCP/UDP protocol */ sourcePort?: pulumi.Input; /** * TCP option on your rule (syn|established) */ tcpOption?: pulumi.Input; }