import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * This resource provides the Network Firewall Policy Nat Rule resource in Oracle Cloud Infrastructure Network Firewall service. * Api doc link for the resource: https://docs.oracle.com/iaas/api/#/en/network-firewall/latest/NetworkFirewallPolicyNatRule * * Example terraform configs related to the resource : https://github.com/oracle/terraform-provider-oci/tree/master/examples/network_firewall * * Creates a new [NAT rule](https://docs.cloud.oracle.com/iaas/Content/network-firewall/policies.htm#network-firewall-policies__nat) for the Network Firewall policy. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as oci from "@pulumi/oci"; * * const testNetworkFirewallPolicyNatRule = new oci.networkfirewall.NetworkFirewallPolicyNatRule("test_network_firewall_policy_nat_rule", { * action: networkFirewallPolicyNatRuleAction, * condition: { * destinationAddresses: networkFirewallPolicyNatRuleConditionDestinationAddress, * service: networkFirewallPolicyNatRuleConditionService, * sourceAddresses: networkFirewallPolicyNatRuleConditionSourceAddress, * }, * name: networkFirewallPolicyNatRuleName, * networkFirewallPolicyId: testNetworkFirewallPolicy.id, * type: networkFirewallPolicyNatRuleType, * description: networkFirewallPolicyNatRuleDescription, * position: { * afterRule: networkFirewallPolicyNatRulePositionAfterRule, * beforeRule: networkFirewallPolicyNatRulePositionBeforeRule, * }, * }); * ``` * * ## Import * * NetworkFirewallPolicyNatRules can be imported using the `id`, e.g. * * ```sh * $ pulumi import oci:NetworkFirewall/networkFirewallPolicyNatRule:NetworkFirewallPolicyNatRule test_network_firewall_policy_nat_rule "networkFirewallPolicies/{networkFirewallPolicyId}/natRules/{natRuleName}" * ``` */ export declare class NetworkFirewallPolicyNatRule extends pulumi.CustomResource { /** * Get an existing NetworkFirewallPolicyNatRule 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?: NetworkFirewallPolicyNatRuleState, opts?: pulumi.CustomResourceOptions): NetworkFirewallPolicyNatRule; /** * Returns true if the given object is an instance of NetworkFirewallPolicyNatRule. 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 NetworkFirewallPolicyNatRule; /** * (Updatable) action: * * DIPP_SRC_NAT - Dynamic-ip-port source NAT. */ readonly action: pulumi.Output; /** * (Updatable) Match criteria used in NAT rule used on the firewall policy. */ readonly condition: pulumi.Output; /** * (Updatable) Description of a NAT rule. This field can be used to add additional info. */ readonly description: pulumi.Output; /** * Name for the NAT rule, must be unique within the policy. */ readonly name: pulumi.Output; /** * Unique Network Firewall Policy identifier */ readonly networkFirewallPolicyId: pulumi.Output; /** * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Network Firewall policy this NAT rule belongs to. */ readonly parentResourceId: pulumi.Output; /** * (Updatable) An object which defines the position of the rule. */ readonly position: pulumi.Output; /** * The priority order in which this rule should be evaluated */ readonly priorityOrder: pulumi.Output; /** * (Updatable) NAT type: * * NATV4 - NATV4 type NAT. * * ** IMPORTANT ** * Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values */ readonly type: pulumi.Output; /** * Create a NetworkFirewallPolicyNatRule 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: NetworkFirewallPolicyNatRuleArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering NetworkFirewallPolicyNatRule resources. */ export interface NetworkFirewallPolicyNatRuleState { /** * (Updatable) action: * * DIPP_SRC_NAT - Dynamic-ip-port source NAT. */ action?: pulumi.Input; /** * (Updatable) Match criteria used in NAT rule used on the firewall policy. */ condition?: pulumi.Input; /** * (Updatable) Description of a NAT rule. This field can be used to add additional info. */ description?: pulumi.Input; /** * Name for the NAT rule, must be unique within the policy. */ name?: pulumi.Input; /** * Unique Network Firewall Policy identifier */ networkFirewallPolicyId?: pulumi.Input; /** * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Network Firewall policy this NAT rule belongs to. */ parentResourceId?: pulumi.Input; /** * (Updatable) An object which defines the position of the rule. */ position?: pulumi.Input; /** * The priority order in which this rule should be evaluated */ priorityOrder?: pulumi.Input; /** * (Updatable) NAT type: * * NATV4 - NATV4 type NAT. * * ** IMPORTANT ** * Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values */ type?: pulumi.Input; } /** * The set of arguments for constructing a NetworkFirewallPolicyNatRule resource. */ export interface NetworkFirewallPolicyNatRuleArgs { /** * (Updatable) action: * * DIPP_SRC_NAT - Dynamic-ip-port source NAT. */ action: pulumi.Input; /** * (Updatable) Match criteria used in NAT rule used on the firewall policy. */ condition: pulumi.Input; /** * (Updatable) Description of a NAT rule. This field can be used to add additional info. */ description?: pulumi.Input; /** * Name for the NAT rule, must be unique within the policy. */ name?: pulumi.Input; /** * Unique Network Firewall Policy identifier */ networkFirewallPolicyId: pulumi.Input; /** * (Updatable) An object which defines the position of the rule. */ position?: pulumi.Input; /** * (Updatable) NAT type: * * NATV4 - NATV4 type NAT. * * ** IMPORTANT ** * Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values */ type: pulumi.Input; } //# sourceMappingURL=networkFirewallPolicyNatRule.d.ts.map