import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Manages a Palo Alto Local Rulestack Rule. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as azure from "@pulumi/azure"; * * const example = new azure.core.ResourceGroup("example", { * name: "rg-example", * location: "West Europe", * }); * const exampleLocalRulestack = new azure.paloalto.LocalRulestack("example", { * name: "lrs-example", * resourceGroupName: example.name, * location: example.location, * }); * const exampleLocalRulestackRule = new azure.paloalto.LocalRulestackRule("example", { * name: "example-rule", * rulestackId: exampleLocalRulestack.id, * priority: 1000, * action: "Allow", * protocol: "application-default", * applications: ["any"], * source: { * cidrs: ["10.0.0.0/8"], * }, * destination: { * cidrs: ["192.168.16.0/24"], * }, * }); * ``` * * ## API Providers * * * This resource uses the following Azure API Providers: * * * `PaloAltoNetworks.Cloudngfw` - 2025-10-08 * * ## Import * * Palo Alto Local Rulestack Rules can be imported using the `resource id`, e.g. * * ```sh * $ pulumi import azure:paloalto/localRulestackRule:LocalRulestackRule example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/myLocalRulestack/localRules/myRule1 * ``` */ export declare class LocalRulestackRule extends pulumi.CustomResource { /** * Get an existing LocalRulestackRule 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?: LocalRulestackRuleState, opts?: pulumi.CustomResourceOptions): LocalRulestackRule; /** * Returns true if the given object is an instance of LocalRulestackRule. 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 LocalRulestackRule; /** * The action to take on the rule being triggered. Possible values are `Allow`, `DenyResetBoth`, `DenyResetServer` and `DenySilent`. */ readonly action: pulumi.Output; /** * Specifies a list of Applications. */ readonly applications: pulumi.Output; /** * The comment for Audit purposes. */ readonly auditComment: pulumi.Output; /** * A `category` block as defined below. */ readonly category: pulumi.Output; /** * The type of Decryption to perform on the rule. Possible values include `SSLInboundInspection`, `SSLOutboundInspection`, and `None`. Defaults to `None`. */ readonly decryptionRuleType: pulumi.Output; /** * The description for the rule. */ readonly description: pulumi.Output; /** * One or more `destination` blocks as defined below. */ readonly destination: pulumi.Output; /** * Should this Rule be enabled? Defaults to `true`. */ readonly enabled: pulumi.Output; /** * The ID of the certificate for inbound inspection. Only valid when `decryptionRuleType` is set to `SSLInboundInspection`. */ readonly inspectionCertificateId: pulumi.Output; /** * Should Logging be enabled? Defaults to `false`. */ readonly loggingEnabled: pulumi.Output; /** * The name which should be used for this Palo Alto Local Rulestack Rule. */ readonly name: pulumi.Output; /** * Should the inverse of the Destination configuration be used. Defaults to `false`. */ readonly negateDestination: pulumi.Output; /** * Should the inverse of the Source configuration be used. Defaults to `false`. */ readonly negateSource: pulumi.Output; /** * The Priority of this rule. Rules are executed in numerical order. Possible values are between 1 and 1000000. Changing this forces a new Palo Alto Local Rulestack Rule to be created. * * > **Note:** This is the primary identifier of a rule, as such it is not possible to change the Priority of a rule once created. */ readonly priority: pulumi.Output; /** * The Protocol and port to use in the form `[protocol]:[portNumber]` e.g. `TCP:8080` or `UDP:53`. Conflicts with `protocolPorts`. * * > **Note:** In 4.0 or later versions, the default of `protocol` will no longer be set by provider, exactly one of `protocol` and `protocolPorts` must be specified. You need to explicitly specify `protocol="application-default"` to keep the the current default of the `protocol`. */ readonly protocol: pulumi.Output; /** * Specifies a list of Protocol:Port entries. E.g. `[ "TCP:80", "UDP:5431" ]`. Conflicts with `protocol`. */ readonly protocolPorts: pulumi.Output; /** * The ID of the Local Rulestack in which to create this Rule. Changing this forces a new Palo Alto Local Rulestack Rule to be created. */ readonly rulestackId: pulumi.Output; /** * One or more `source` blocks as defined below. */ readonly source: pulumi.Output; /** * A mapping of tags which should be assigned to the Palo Alto Local Rulestack Rule. */ readonly tags: pulumi.Output<{ [key: string]: string; } | undefined>; /** * Create a LocalRulestackRule 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: LocalRulestackRuleArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering LocalRulestackRule resources. */ export interface LocalRulestackRuleState { /** * The action to take on the rule being triggered. Possible values are `Allow`, `DenyResetBoth`, `DenyResetServer` and `DenySilent`. */ action?: pulumi.Input; /** * Specifies a list of Applications. */ applications?: pulumi.Input[]>; /** * The comment for Audit purposes. */ auditComment?: pulumi.Input; /** * A `category` block as defined below. */ category?: pulumi.Input; /** * The type of Decryption to perform on the rule. Possible values include `SSLInboundInspection`, `SSLOutboundInspection`, and `None`. Defaults to `None`. */ decryptionRuleType?: pulumi.Input; /** * The description for the rule. */ description?: pulumi.Input; /** * One or more `destination` blocks as defined below. */ destination?: pulumi.Input; /** * Should this Rule be enabled? Defaults to `true`. */ enabled?: pulumi.Input; /** * The ID of the certificate for inbound inspection. Only valid when `decryptionRuleType` is set to `SSLInboundInspection`. */ inspectionCertificateId?: pulumi.Input; /** * Should Logging be enabled? Defaults to `false`. */ loggingEnabled?: pulumi.Input; /** * The name which should be used for this Palo Alto Local Rulestack Rule. */ name?: pulumi.Input; /** * Should the inverse of the Destination configuration be used. Defaults to `false`. */ negateDestination?: pulumi.Input; /** * Should the inverse of the Source configuration be used. Defaults to `false`. */ negateSource?: pulumi.Input; /** * The Priority of this rule. Rules are executed in numerical order. Possible values are between 1 and 1000000. Changing this forces a new Palo Alto Local Rulestack Rule to be created. * * > **Note:** This is the primary identifier of a rule, as such it is not possible to change the Priority of a rule once created. */ priority?: pulumi.Input; /** * The Protocol and port to use in the form `[protocol]:[portNumber]` e.g. `TCP:8080` or `UDP:53`. Conflicts with `protocolPorts`. * * > **Note:** In 4.0 or later versions, the default of `protocol` will no longer be set by provider, exactly one of `protocol` and `protocolPorts` must be specified. You need to explicitly specify `protocol="application-default"` to keep the the current default of the `protocol`. */ protocol?: pulumi.Input; /** * Specifies a list of Protocol:Port entries. E.g. `[ "TCP:80", "UDP:5431" ]`. Conflicts with `protocol`. */ protocolPorts?: pulumi.Input[]>; /** * The ID of the Local Rulestack in which to create this Rule. Changing this forces a new Palo Alto Local Rulestack Rule to be created. */ rulestackId?: pulumi.Input; /** * One or more `source` blocks as defined below. */ source?: pulumi.Input; /** * A mapping of tags which should be assigned to the Palo Alto Local Rulestack Rule. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input; }>; } /** * The set of arguments for constructing a LocalRulestackRule resource. */ export interface LocalRulestackRuleArgs { /** * The action to take on the rule being triggered. Possible values are `Allow`, `DenyResetBoth`, `DenyResetServer` and `DenySilent`. */ action: pulumi.Input; /** * Specifies a list of Applications. */ applications: pulumi.Input[]>; /** * The comment for Audit purposes. */ auditComment?: pulumi.Input; /** * A `category` block as defined below. */ category?: pulumi.Input; /** * The type of Decryption to perform on the rule. Possible values include `SSLInboundInspection`, `SSLOutboundInspection`, and `None`. Defaults to `None`. */ decryptionRuleType?: pulumi.Input; /** * The description for the rule. */ description?: pulumi.Input; /** * One or more `destination` blocks as defined below. */ destination: pulumi.Input; /** * Should this Rule be enabled? Defaults to `true`. */ enabled?: pulumi.Input; /** * The ID of the certificate for inbound inspection. Only valid when `decryptionRuleType` is set to `SSLInboundInspection`. */ inspectionCertificateId?: pulumi.Input; /** * Should Logging be enabled? Defaults to `false`. */ loggingEnabled?: pulumi.Input; /** * The name which should be used for this Palo Alto Local Rulestack Rule. */ name?: pulumi.Input; /** * Should the inverse of the Destination configuration be used. Defaults to `false`. */ negateDestination?: pulumi.Input; /** * Should the inverse of the Source configuration be used. Defaults to `false`. */ negateSource?: pulumi.Input; /** * The Priority of this rule. Rules are executed in numerical order. Possible values are between 1 and 1000000. Changing this forces a new Palo Alto Local Rulestack Rule to be created. * * > **Note:** This is the primary identifier of a rule, as such it is not possible to change the Priority of a rule once created. */ priority: pulumi.Input; /** * The Protocol and port to use in the form `[protocol]:[portNumber]` e.g. `TCP:8080` or `UDP:53`. Conflicts with `protocolPorts`. * * > **Note:** In 4.0 or later versions, the default of `protocol` will no longer be set by provider, exactly one of `protocol` and `protocolPorts` must be specified. You need to explicitly specify `protocol="application-default"` to keep the the current default of the `protocol`. */ protocol?: pulumi.Input; /** * Specifies a list of Protocol:Port entries. E.g. `[ "TCP:80", "UDP:5431" ]`. Conflicts with `protocol`. */ protocolPorts?: pulumi.Input[]>; /** * The ID of the Local Rulestack in which to create this Rule. Changing this forces a new Palo Alto Local Rulestack Rule to be created. */ rulestackId: pulumi.Input; /** * One or more `source` blocks as defined below. */ source: pulumi.Input; /** * A mapping of tags which should be assigned to the Palo Alto Local Rulestack Rule. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input; }>; }