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
Inherited Members
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. |