/** * Network Firewall API * Use the Network Firewall API to create network firewalls and configure policies that regulates network traffic in and across VCNs. For more information, see [Overview of Network Firewall](https://docs.oracle.com/iaas/Content/network-firewall/overview.htm). * OpenAPI spec version: 20230501 * * * NOTE: This class is auto generated by OracleSDKGenerator. * Do not edit the class manually. * * Copyright (c) 2020, 2026, Oracle and/or its affiliates. All rights reserved. * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. */ import * as model from "../model"; /** * A network firewall is a security resource that exists in a subnet of your choice and controls incoming and outgoing network traffic based on a set of security rules. Each firewall is associated with a policy. Traffic is routed to and from the firewall from resources such as internet gateways and dynamic routing gateways (DRGs). For more information, see [Overview of Network Firewall](https://docs.oracle.com/iaas/Content/network-firewall/overview.htm) * */ export interface NetworkFirewall { /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Network Firewall resource. */ "id": string; /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment containing the Network Firewall. */ "compartmentId": string; /** * A user-friendly name for the Network Firewall. Does not have to be unique, and it's changeable. Avoid entering confidential information. */ "displayName": string; /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the subnet associated with the Network Firewall. */ "subnetId": string; /** * IPv4 address for the Network Firewall. */ "ipv4Address"?: string; /** * IPv6 address for the Network Firewall. */ "ipv6Address"?: string; /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Network Firewall Policy. */ "networkFirewallPolicyId": string; /** * Availability Domain where Network Firewall instance is created. * To get a list of availability domains for a tenancy, use the {@link #listAvailabilityDomains(ListAvailabilityDomainsRequest) listAvailabilityDomains} operation. * Example: {@code kIdk:PHX-AD-1} * */ "availabilityDomain"?: string; "natConfiguration"?: model.NatConfigurationResponse; /** * The shape of a firewall to determine the bandwidth that the firewall allows. */ "shape"?: string; /** * An array of network security groups [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) associated with the Network Firewall. */ "networkSecurityGroupIds"?: Array; /** * The time at which the Network Firewall was created in the format defined by [RFC3339](https://tools.ietf.org/html/rfc3339). * Example: {@code 2016-08-25T21:10:29.600Z} * */ "timeCreated": Date; /** * The time at which the Network Firewall was updated in the format defined by [RFC3339](https://tools.ietf.org/html/rfc3339). * Example: {@code 2016-08-25T21:10:29.600Z} * */ "timeUpdated": Date; /** * The current state of the Network Firewall. */ "lifecycleState": model.LifecycleState; /** * A message describing the current state in more detail. For example, it can be used to provide actionable information for a resource in 'FAILED' state. */ "lifecycleDetails"?: string; /** * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. * For more information, see [Resource Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). * Example: {@code {\"Department\": \"Finance\"}} * */ "freeformTags": { [key: string]: string; }; /** * Defined tags for this resource. Each key is predefined and scoped to a namespace. * For more information, see [Resource Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). * Example: {@code {\"Operations\": {\"CostCenter\": \"42\"}}} * */ "definedTags": { [key: string]: { [key: string]: any; }; }; /** * Usage of system tag keys. These predefined keys are scoped to namespaces. * Example: {@code {\"orcl-cloud\": {\"free-tier-retained\": \"true\"}}} * */ "systemTags"?: { [key: string]: { [key: string]: any; }; }; /** * Security attributes for this resource. Each key is predefined and scoped to a namespace. * For more information, see [Resource Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). *

Example: {\"Oracle-ZPR\": {\"MaxEgressCount\": {\"value\": \"42\", \"mode\": \"enforce\"}}} * */ "securityAttributes"?: { [key: string]: { [key: string]: any; }; }; } export declare namespace NetworkFirewall { function getJsonObj(obj: NetworkFirewall): object; function getDeserializedJsonObj(obj: NetworkFirewall): object; }