Show / Hide Table of Contents

Class WebAppFirewallPolicy

The details of WebAppFirewallPolicy. A policy is comprised of rules, which allows executing inspections of incoming/outgoing HTTP message parameters and execution of actions, based on results of rules execution.
In policy, rules are grouped into modules by their functionality. Modules can be further divided by the type of HTTP messages they handle: Modules that inspect incoming HTTP request. These modules are executed in the order they are enumerated here: * requestAccessControl * requestRateLimiting * requestProtection
Modules that inspect outgoing HTTP responses. These modules are executed in the order they are enumerated here:

  • responseAccessControl
  • responseProtection
Inheritance
object
WebAppFirewallPolicy
Inherited Members
object.Equals(object)
object.Equals(object, object)
object.GetHashCode()
object.GetType()
object.MemberwiseClone()
object.ReferenceEquals(object, object)
object.ToString()
Namespace: Oci.WafService.Models
Assembly: OCI.DotNetSDK.Waf.dll
Syntax
public class WebAppFirewallPolicy

Properties

Actions

Declaration
[JsonProperty(PropertyName = "actions")]
public List<Action> Actions { get; set; }
Property Value
Type Description
List<Action>

Predefined actions for use in multiple different rules. Not all actions are supported in every module. Some actions terminate further execution of modules and rules in a module and some do not. Actions names must be unique within this array.

CompartmentId

Declaration
[Required(ErrorMessage = "CompartmentId is required.")]
[JsonProperty(PropertyName = "compartmentId")]
public string CompartmentId { get; set; }
Property Value
Type Description
string

The OCID of the compartment.

Remarks

Required

DefinedTags

Declaration
[Required(ErrorMessage = "DefinedTags is required.")]
[JsonProperty(PropertyName = "definedTags")]
public Dictionary<string, Dictionary<string, object>> DefinedTags { get; set; }
Property Value
Type Description
Dictionary<string, Dictionary<string, object>>

Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: {"foo-namespace": {"bar-key": "value"}}

Remarks

Required

DisplayName

Declaration
[Required(ErrorMessage = "DisplayName is required.")]
[JsonProperty(PropertyName = "displayName")]
public string DisplayName { get; set; }
Property Value
Type Description
string

WebAppFirewallPolicy display name, can be renamed.

Remarks

Required

FreeformTags

Declaration
[Required(ErrorMessage = "FreeformTags is required.")]
[JsonProperty(PropertyName = "freeformTags")]
public Dictionary<string, string> FreeformTags { get; set; }
Property Value
Type Description
Dictionary<string, string>

Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: {"bar-key": "value"}

Remarks

Required

Id

Declaration
[Required(ErrorMessage = "Id is required.")]
[JsonProperty(PropertyName = "id")]
public string Id { get; set; }
Property Value
Type Description
string

The OCID of the WebAppFirewallPolicy.

Remarks

Required

LifecycleDetails

Declaration
[JsonProperty(PropertyName = "lifecycleDetails")]
public string LifecycleDetails { get; set; }
Property Value
Type Description
string

A message describing the current state in more detail. For example, can be used to provide actionable information for a resource in FAILED state.

LifecycleState

Declaration
[Required(ErrorMessage = "LifecycleState is required.")]
[JsonProperty(PropertyName = "lifecycleState")]
[JsonConverter(typeof(ResponseEnumConverter))]
public WebAppFirewallPolicy.LifecycleStateEnum? LifecycleState { get; set; }
Property Value
Type Description
WebAppFirewallPolicy.LifecycleStateEnum?

The current state of the WebAppFirewallPolicy.

Remarks

Required

RequestAccessControl

Declaration
[JsonProperty(PropertyName = "requestAccessControl")]
public RequestAccessControl RequestAccessControl { get; set; }
Property Value
Type Description
RequestAccessControl

RequestProtection

Declaration
[JsonProperty(PropertyName = "requestProtection")]
public RequestProtection RequestProtection { get; set; }
Property Value
Type Description
RequestProtection

RequestRateLimiting

Declaration
[JsonProperty(PropertyName = "requestRateLimiting")]
public RequestRateLimiting RequestRateLimiting { get; set; }
Property Value
Type Description
RequestRateLimiting

ResponseAccessControl

Declaration
[JsonProperty(PropertyName = "responseAccessControl")]
public ResponseAccessControl ResponseAccessControl { get; set; }
Property Value
Type Description
ResponseAccessControl

ResponseProtection

Declaration
[JsonProperty(PropertyName = "responseProtection")]
public ResponseProtection ResponseProtection { get; set; }
Property Value
Type Description
ResponseProtection

SystemTags

Declaration
[Required(ErrorMessage = "SystemTags is required.")]
[JsonProperty(PropertyName = "systemTags")]
public Dictionary<string, Dictionary<string, object>> SystemTags { get; set; }
Property Value
Type Description
Dictionary<string, Dictionary<string, object>>

Usage of system tag keys. These predefined keys are scoped to namespaces. Example: {"orcl-cloud": {"free-tier-retained": "true"}}

Remarks

Required

TimeCreated

Declaration
[Required(ErrorMessage = "TimeCreated is required.")]
[JsonProperty(PropertyName = "timeCreated")]
public DateTime? TimeCreated { get; set; }
Property Value
Type Description
DateTime?

The time the WebAppFirewallPolicy was created. An RFC3339 formatted datetime string.

Remarks

Required

TimeUpdated

Declaration
[JsonProperty(PropertyName = "timeUpdated")]
public DateTime? TimeUpdated { get; set; }
Property Value
Type Description
DateTime?

The time the WebAppFirewallPolicy was updated. An RFC3339 formatted datetime string.

In this article
Back to top