1. Packages
  2. F5bigip Provider
  3. API Docs
  4. ssl
  5. getWafEntityUrl
f5 BIG-IP v3.17.10 published on Tuesday, Apr 8, 2025 by Pulumi

f5bigip.ssl.getWafEntityUrl

Explore with Pulumi AI

f5 BIG-IP v3.17.10 published on Tuesday, Apr 8, 2025 by Pulumi

Use this data source (f5bigip.ssl.getWafPbSuggestions) to create JSON for WAF URL to later use with an existing WAF policy.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as f5bigip from "@pulumi/f5bigip";

const WAFURL1 = f5bigip.ssl.getWafEntityUrl({
    name: "/foobar",
    description: "this is a test",
    type: "explicit",
    protocol: "HTTP",
    performStaging: true,
    signatureOverridesDisables: [
        12345678,
        87654321,
    ],
    methodOverrides: [
        {
            allow: false,
            method: "BCOPY",
        },
        {
            allow: true,
            method: "BDELETE",
        },
    ],
    crossOriginRequestsEnforcements: [
        {
            includeSubdomains: true,
            originName: "app1.com",
            originPort: "80",
            originProtocol: "http",
        },
        {
            includeSubdomains: true,
            originName: "app2.com",
            originPort: "443",
            originProtocol: "http",
        },
    ],
});
Copy
import pulumi
import pulumi_f5bigip as f5bigip

wafurl1 = f5bigip.ssl.get_waf_entity_url(name="/foobar",
    description="this is a test",
    type="explicit",
    protocol="HTTP",
    perform_staging=True,
    signature_overrides_disables=[
        12345678,
        87654321,
    ],
    method_overrides=[
        {
            "allow": False,
            "method": "BCOPY",
        },
        {
            "allow": True,
            "method": "BDELETE",
        },
    ],
    cross_origin_requests_enforcements=[
        {
            "include_subdomains": True,
            "origin_name": "app1.com",
            "origin_port": "80",
            "origin_protocol": "http",
        },
        {
            "include_subdomains": True,
            "origin_name": "app2.com",
            "origin_port": "443",
            "origin_protocol": "http",
        },
    ])
Copy
package main

import (
	"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/ssl"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := ssl.GetWafEntityUrl(ctx, &ssl.GetWafEntityUrlArgs{
Name: "/foobar",
Description: pulumi.StringRef("this is a test"),
Type: pulumi.StringRef("explicit"),
Protocol: pulumi.StringRef("HTTP"),
PerformStaging: pulumi.BoolRef(true),
SignatureOverridesDisables: interface{}{
12345678,
87654321,
},
MethodOverrides: []ssl.GetWafEntityUrlMethodOverride{
{
Allow: false,
Method: "BCOPY",
},
{
Allow: true,
Method: "BDELETE",
},
},
CrossOriginRequestsEnforcements: []ssl.GetWafEntityUrlCrossOriginRequestsEnforcement{
{
IncludeSubdomains: pulumi.BoolRef(true),
OriginName: "app1.com",
OriginPort: "80",
OriginProtocol: "http",
},
{
IncludeSubdomains: pulumi.BoolRef(true),
OriginName: "app2.com",
OriginPort: "443",
OriginProtocol: "http",
},
},
}, nil);
if err != nil {
return err
}
return nil
})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using F5BigIP = Pulumi.F5BigIP;

return await Deployment.RunAsync(() => 
{
    var WAFURL1 = F5BigIP.Ssl.GetWafEntityUrl.Invoke(new()
    {
        Name = "/foobar",
        Description = "this is a test",
        Type = "explicit",
        Protocol = "HTTP",
        PerformStaging = true,
        SignatureOverridesDisables = new[]
        {
            12345678,
            87654321,
        },
        MethodOverrides = new[]
        {
            new F5BigIP.Ssl.Inputs.GetWafEntityUrlMethodOverrideInputArgs
            {
                Allow = false,
                Method = "BCOPY",
            },
            new F5BigIP.Ssl.Inputs.GetWafEntityUrlMethodOverrideInputArgs
            {
                Allow = true,
                Method = "BDELETE",
            },
        },
        CrossOriginRequestsEnforcements = new[]
        {
            new F5BigIP.Ssl.Inputs.GetWafEntityUrlCrossOriginRequestsEnforcementInputArgs
            {
                IncludeSubdomains = true,
                OriginName = "app1.com",
                OriginPort = "80",
                OriginProtocol = "http",
            },
            new F5BigIP.Ssl.Inputs.GetWafEntityUrlCrossOriginRequestsEnforcementInputArgs
            {
                IncludeSubdomains = true,
                OriginName = "app2.com",
                OriginPort = "443",
                OriginProtocol = "http",
            },
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.f5bigip.ssl.SslFunctions;
import com.pulumi.f5bigip.ssl.inputs.GetWafEntityUrlArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        final var WAFURL1 = SslFunctions.getWafEntityUrl(GetWafEntityUrlArgs.builder()
            .name("/foobar")
            .description("this is a test")
            .type("explicit")
            .protocol("HTTP")
            .performStaging(true)
            .signatureOverridesDisables(            
                12345678,
                87654321)
            .methodOverrides(            
                GetWafEntityUrlMethodOverrideArgs.builder()
                    .allow(false)
                    .method("BCOPY")
                    .build(),
                GetWafEntityUrlMethodOverrideArgs.builder()
                    .allow(true)
                    .method("BDELETE")
                    .build())
            .crossOriginRequestsEnforcements(            
                GetWafEntityUrlCrossOriginRequestsEnforcementArgs.builder()
                    .includeSubdomains(true)
                    .originName("app1.com")
                    .originPort("80")
                    .originProtocol("http")
                    .build(),
                GetWafEntityUrlCrossOriginRequestsEnforcementArgs.builder()
                    .includeSubdomains(true)
                    .originName("app2.com")
                    .originPort("443")
                    .originProtocol("http")
                    .build())
            .build());

    }
}
Copy
variables:
  WAFURL1:
    fn::invoke:
      function: f5bigip:ssl:getWafEntityUrl
      arguments:
        name: /foobar
        description: this is a test
        type: explicit
        protocol: HTTP
        performStaging: true
        signatureOverridesDisables:
          - 1.2345678e+07
          - 8.7654321e+07
        methodOverrides:
          - allow: false
            method: BCOPY
          - allow: true
            method: BDELETE
        crossOriginRequestsEnforcements:
          - includeSubdomains: true
            originName: app1.com
            originPort: '80'
            originProtocol: http
          - includeSubdomains: true
            originName: app2.com
            originPort: '443'
            originProtocol: http
Copy

Using getWafEntityUrl

Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.

function getWafEntityUrl(args: GetWafEntityUrlArgs, opts?: InvokeOptions): Promise<GetWafEntityUrlResult>
function getWafEntityUrlOutput(args: GetWafEntityUrlOutputArgs, opts?: InvokeOptions): Output<GetWafEntityUrlResult>
Copy
def get_waf_entity_url(cross_origin_requests_enforcements: Optional[Sequence[GetWafEntityUrlCrossOriginRequestsEnforcement]] = None,
                       description: Optional[str] = None,
                       method: Optional[str] = None,
                       method_overrides: Optional[Sequence[GetWafEntityUrlMethodOverride]] = None,
                       name: Optional[str] = None,
                       perform_staging: Optional[bool] = None,
                       protocol: Optional[str] = None,
                       signature_overrides_disables: Optional[Sequence[int]] = None,
                       type: Optional[str] = None,
                       opts: Optional[InvokeOptions] = None) -> GetWafEntityUrlResult
def get_waf_entity_url_output(cross_origin_requests_enforcements: Optional[pulumi.Input[Sequence[pulumi.Input[GetWafEntityUrlCrossOriginRequestsEnforcementArgs]]]] = None,
                       description: Optional[pulumi.Input[str]] = None,
                       method: Optional[pulumi.Input[str]] = None,
                       method_overrides: Optional[pulumi.Input[Sequence[pulumi.Input[GetWafEntityUrlMethodOverrideArgs]]]] = None,
                       name: Optional[pulumi.Input[str]] = None,
                       perform_staging: Optional[pulumi.Input[bool]] = None,
                       protocol: Optional[pulumi.Input[str]] = None,
                       signature_overrides_disables: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None,
                       type: Optional[pulumi.Input[str]] = None,
                       opts: Optional[InvokeOptions] = None) -> Output[GetWafEntityUrlResult]
Copy
func GetWafEntityUrl(ctx *Context, args *GetWafEntityUrlArgs, opts ...InvokeOption) (*GetWafEntityUrlResult, error)
func GetWafEntityUrlOutput(ctx *Context, args *GetWafEntityUrlOutputArgs, opts ...InvokeOption) GetWafEntityUrlResultOutput
Copy

> Note: This function is named GetWafEntityUrl in the Go SDK.

public static class GetWafEntityUrl 
{
    public static Task<GetWafEntityUrlResult> InvokeAsync(GetWafEntityUrlArgs args, InvokeOptions? opts = null)
    public static Output<GetWafEntityUrlResult> Invoke(GetWafEntityUrlInvokeArgs args, InvokeOptions? opts = null)
}
Copy
public static CompletableFuture<GetWafEntityUrlResult> getWafEntityUrl(GetWafEntityUrlArgs args, InvokeOptions options)
public static Output<GetWafEntityUrlResult> getWafEntityUrl(GetWafEntityUrlArgs args, InvokeOptions options)
Copy
fn::invoke:
  function: f5bigip:ssl/getWafEntityUrl:getWafEntityUrl
  arguments:
    # arguments dictionary
Copy

The following arguments are supported:

Name
This property is required.
Changes to this property will trigger replacement.
string
WAF entity URL name.
CrossOriginRequestsEnforcements List<Pulumi.F5BigIP.Ssl.Inputs.GetWafEntityUrlCrossOriginRequestsEnforcement>
A list of options that enables your web-application to share data with a website hosted on a different domain.
Description string
A description of the URL.
Method string
Select a Method for the URL to create an API endpoint. Default is : *.
MethodOverrides List<Pulumi.F5BigIP.Ssl.Inputs.GetWafEntityUrlMethodOverride>
A list of methods that are allowed or disallowed for a specific URL.
PerformStaging bool
If true then any violation associated to the respective URL will not be enforced, and the request will not be considered illegal.
Protocol string
Specifies whether the protocol for the URL is 'http' or 'https'. Default is: http.
SignatureOverridesDisables List<int>
List of Attack Signature Ids which are disabled for this particular URL.
Type string
Specifies whether the parameter is an 'explicit' or a 'wildcard' attribute. Default is: wildcard.
Name
This property is required.
Changes to this property will trigger replacement.
string
WAF entity URL name.
CrossOriginRequestsEnforcements []GetWafEntityUrlCrossOriginRequestsEnforcement
A list of options that enables your web-application to share data with a website hosted on a different domain.
Description string
A description of the URL.
Method string
Select a Method for the URL to create an API endpoint. Default is : *.
MethodOverrides []GetWafEntityUrlMethodOverride
A list of methods that are allowed or disallowed for a specific URL.
PerformStaging bool
If true then any violation associated to the respective URL will not be enforced, and the request will not be considered illegal.
Protocol string
Specifies whether the protocol for the URL is 'http' or 'https'. Default is: http.
SignatureOverridesDisables []int
List of Attack Signature Ids which are disabled for this particular URL.
Type string
Specifies whether the parameter is an 'explicit' or a 'wildcard' attribute. Default is: wildcard.
name
This property is required.
Changes to this property will trigger replacement.
String
WAF entity URL name.
crossOriginRequestsEnforcements List<GetWafEntityUrlCrossOriginRequestsEnforcement>
A list of options that enables your web-application to share data with a website hosted on a different domain.
description String
A description of the URL.
method String
Select a Method for the URL to create an API endpoint. Default is : *.
methodOverrides List<GetWafEntityUrlMethodOverride>
A list of methods that are allowed or disallowed for a specific URL.
performStaging Boolean
If true then any violation associated to the respective URL will not be enforced, and the request will not be considered illegal.
protocol String
Specifies whether the protocol for the URL is 'http' or 'https'. Default is: http.
signatureOverridesDisables List<Integer>
List of Attack Signature Ids which are disabled for this particular URL.
type String
Specifies whether the parameter is an 'explicit' or a 'wildcard' attribute. Default is: wildcard.
name
This property is required.
Changes to this property will trigger replacement.
string
WAF entity URL name.
crossOriginRequestsEnforcements GetWafEntityUrlCrossOriginRequestsEnforcement[]
A list of options that enables your web-application to share data with a website hosted on a different domain.
description string
A description of the URL.
method string
Select a Method for the URL to create an API endpoint. Default is : *.
methodOverrides GetWafEntityUrlMethodOverride[]
A list of methods that are allowed or disallowed for a specific URL.
performStaging boolean
If true then any violation associated to the respective URL will not be enforced, and the request will not be considered illegal.
protocol string
Specifies whether the protocol for the URL is 'http' or 'https'. Default is: http.
signatureOverridesDisables number[]
List of Attack Signature Ids which are disabled for this particular URL.
type string
Specifies whether the parameter is an 'explicit' or a 'wildcard' attribute. Default is: wildcard.
name
This property is required.
Changes to this property will trigger replacement.
str
WAF entity URL name.
cross_origin_requests_enforcements Sequence[GetWafEntityUrlCrossOriginRequestsEnforcement]
A list of options that enables your web-application to share data with a website hosted on a different domain.
description str
A description of the URL.
method str
Select a Method for the URL to create an API endpoint. Default is : *.
method_overrides Sequence[GetWafEntityUrlMethodOverride]
A list of methods that are allowed or disallowed for a specific URL.
perform_staging bool
If true then any violation associated to the respective URL will not be enforced, and the request will not be considered illegal.
protocol str
Specifies whether the protocol for the URL is 'http' or 'https'. Default is: http.
signature_overrides_disables Sequence[int]
List of Attack Signature Ids which are disabled for this particular URL.
type str
Specifies whether the parameter is an 'explicit' or a 'wildcard' attribute. Default is: wildcard.
name
This property is required.
Changes to this property will trigger replacement.
String
WAF entity URL name.
crossOriginRequestsEnforcements List<Property Map>
A list of options that enables your web-application to share data with a website hosted on a different domain.
description String
A description of the URL.
method String
Select a Method for the URL to create an API endpoint. Default is : *.
methodOverrides List<Property Map>
A list of methods that are allowed or disallowed for a specific URL.
performStaging Boolean
If true then any violation associated to the respective URL will not be enforced, and the request will not be considered illegal.
protocol String
Specifies whether the protocol for the URL is 'http' or 'https'. Default is: http.
signatureOverridesDisables List<Number>
List of Attack Signature Ids which are disabled for this particular URL.
type String
Specifies whether the parameter is an 'explicit' or a 'wildcard' attribute. Default is: wildcard.

getWafEntityUrl Result

The following output properties are available:

Id string
The provider-assigned unique ID for this managed resource.
Json string
Json string representing created WAF entity URL declaration in JSON format
Name string
CrossOriginRequestsEnforcements List<Pulumi.F5BigIP.Ssl.Outputs.GetWafEntityUrlCrossOriginRequestsEnforcement>
Description string
Method string
MethodOverrides List<Pulumi.F5BigIP.Ssl.Outputs.GetWafEntityUrlMethodOverride>
PerformStaging bool
Protocol string
SignatureOverridesDisables List<int>
Type string
Id string
The provider-assigned unique ID for this managed resource.
Json string
Json string representing created WAF entity URL declaration in JSON format
Name string
CrossOriginRequestsEnforcements []GetWafEntityUrlCrossOriginRequestsEnforcement
Description string
Method string
MethodOverrides []GetWafEntityUrlMethodOverride
PerformStaging bool
Protocol string
SignatureOverridesDisables []int
Type string
id String
The provider-assigned unique ID for this managed resource.
json String
Json string representing created WAF entity URL declaration in JSON format
name String
crossOriginRequestsEnforcements List<GetWafEntityUrlCrossOriginRequestsEnforcement>
description String
method String
methodOverrides List<GetWafEntityUrlMethodOverride>
performStaging Boolean
protocol String
signatureOverridesDisables List<Integer>
type String
id string
The provider-assigned unique ID for this managed resource.
json string
Json string representing created WAF entity URL declaration in JSON format
name string
crossOriginRequestsEnforcements GetWafEntityUrlCrossOriginRequestsEnforcement[]
description string
method string
methodOverrides GetWafEntityUrlMethodOverride[]
performStaging boolean
protocol string
signatureOverridesDisables number[]
type string
id str
The provider-assigned unique ID for this managed resource.
json str
Json string representing created WAF entity URL declaration in JSON format
name str
cross_origin_requests_enforcements Sequence[GetWafEntityUrlCrossOriginRequestsEnforcement]
description str
method str
method_overrides Sequence[GetWafEntityUrlMethodOverride]
perform_staging bool
protocol str
signature_overrides_disables Sequence[int]
type str
id String
The provider-assigned unique ID for this managed resource.
json String
Json string representing created WAF entity URL declaration in JSON format
name String
crossOriginRequestsEnforcements List<Property Map>
description String
method String
methodOverrides List<Property Map>
performStaging Boolean
protocol String
signatureOverridesDisables List<Number>
type String

Supporting Types

GetWafEntityUrlCrossOriginRequestsEnforcement

OriginName This property is required. string
Specifies the name of the origin with which you want to share your data.
OriginPort This property is required. string
Specifies the port that other web applications are allowed to use to request data from your web application.
OriginProtocol This property is required. string
Specifies the protocol that other web applications are allowed to use to request data from your web application.
IncludeSubdomains bool
Determines whether the subdomains are allowed to receive data from the web application.
OriginName This property is required. string
Specifies the name of the origin with which you want to share your data.
OriginPort This property is required. string
Specifies the port that other web applications are allowed to use to request data from your web application.
OriginProtocol This property is required. string
Specifies the protocol that other web applications are allowed to use to request data from your web application.
IncludeSubdomains bool
Determines whether the subdomains are allowed to receive data from the web application.
originName This property is required. String
Specifies the name of the origin with which you want to share your data.
originPort This property is required. String
Specifies the port that other web applications are allowed to use to request data from your web application.
originProtocol This property is required. String
Specifies the protocol that other web applications are allowed to use to request data from your web application.
includeSubdomains Boolean
Determines whether the subdomains are allowed to receive data from the web application.
originName This property is required. string
Specifies the name of the origin with which you want to share your data.
originPort This property is required. string
Specifies the port that other web applications are allowed to use to request data from your web application.
originProtocol This property is required. string
Specifies the protocol that other web applications are allowed to use to request data from your web application.
includeSubdomains boolean
Determines whether the subdomains are allowed to receive data from the web application.
origin_name This property is required. str
Specifies the name of the origin with which you want to share your data.
origin_port This property is required. str
Specifies the port that other web applications are allowed to use to request data from your web application.
origin_protocol This property is required. str
Specifies the protocol that other web applications are allowed to use to request data from your web application.
include_subdomains bool
Determines whether the subdomains are allowed to receive data from the web application.
originName This property is required. String
Specifies the name of the origin with which you want to share your data.
originPort This property is required. String
Specifies the port that other web applications are allowed to use to request data from your web application.
originProtocol This property is required. String
Specifies the protocol that other web applications are allowed to use to request data from your web application.
includeSubdomains Boolean
Determines whether the subdomains are allowed to receive data from the web application.

GetWafEntityUrlMethodOverride

Allow This property is required. bool
Specifies that the system allows or disallows a method for this URL
Method This property is required. string
Specifies an HTTP method.
Allow This property is required. bool
Specifies that the system allows or disallows a method for this URL
Method This property is required. string
Specifies an HTTP method.
allow This property is required. Boolean
Specifies that the system allows or disallows a method for this URL
method This property is required. String
Specifies an HTTP method.
allow This property is required. boolean
Specifies that the system allows or disallows a method for this URL
method This property is required. string
Specifies an HTTP method.
allow This property is required. bool
Specifies that the system allows or disallows a method for this URL
method This property is required. str
Specifies an HTTP method.
allow This property is required. Boolean
Specifies that the system allows or disallows a method for this URL
method This property is required. String
Specifies an HTTP method.

Package Details

Repository
f5 BIG-IP pulumi/pulumi-f5bigip
License
Apache-2.0
Notes
This Pulumi package is based on the bigip Terraform Provider.
f5 BIG-IP v3.17.10 published on Tuesday, Apr 8, 2025 by Pulumi