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