1. Packages
  2. F5 BIG-IP
  3. API Docs
  4. ssl
  5. getWafEntityUrl
f5 BIG-IP v3.17.4 published on Wednesday, Sep 11, 2024 by Pulumi

f5bigip.ssl.getWafEntityUrl

Explore with Pulumi AI

f5bigip logo
f5 BIG-IP v3.17.4 published on Wednesday, Sep 11, 2024 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",
            },
        ],
    });
    
    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",
            },
        ])
    
    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
    })
    }
    
    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",
                },
            },
        });
    
    });
    
    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());
    
        }
    }
    
    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
    

    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>
    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]
    func GetWafEntityUrl(ctx *Context, args *GetWafEntityUrlArgs, opts ...InvokeOption) (*GetWafEntityUrlResult, error)
    func GetWafEntityUrlOutput(ctx *Context, args *GetWafEntityUrlOutputArgs, opts ...InvokeOption) GetWafEntityUrlResultOutput

    > 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)
    }
    public static CompletableFuture<GetWafEntityUrlResult> getWafEntityUrl(GetWafEntityUrlArgs args, InvokeOptions options)
    // Output-based functions aren't available in Java yet
    
    fn::invoke:
      function: f5bigip:ssl/getWafEntityUrl:getWafEntityUrl
      arguments:
        # arguments dictionary

    The following arguments are supported:

    Name 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 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 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 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 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 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 string
    Specifies the name of the origin with which you want to share your data.
    OriginPort string
    Specifies the port that other web applications are allowed to use to request data from your web application.
    OriginProtocol 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 string
    Specifies the name of the origin with which you want to share your data.
    OriginPort string
    Specifies the port that other web applications are allowed to use to request data from your web application.
    OriginProtocol 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 String
    Specifies the name of the origin with which you want to share your data.
    originPort String
    Specifies the port that other web applications are allowed to use to request data from your web application.
    originProtocol 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 string
    Specifies the name of the origin with which you want to share your data.
    originPort string
    Specifies the port that other web applications are allowed to use to request data from your web application.
    originProtocol 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 str
    Specifies the name of the origin with which you want to share your data.
    origin_port str
    Specifies the port that other web applications are allowed to use to request data from your web application.
    origin_protocol 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 String
    Specifies the name of the origin with which you want to share your data.
    originPort String
    Specifies the port that other web applications are allowed to use to request data from your web application.
    originProtocol 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 bool
    Specifies that the system allows or disallows a method for this URL
    Method string
    Specifies an HTTP method.
    Allow bool
    Specifies that the system allows or disallows a method for this URL
    Method string
    Specifies an HTTP method.
    allow Boolean
    Specifies that the system allows or disallows a method for this URL
    method String
    Specifies an HTTP method.
    allow boolean
    Specifies that the system allows or disallows a method for this URL
    method string
    Specifies an HTTP method.
    allow bool
    Specifies that the system allows or disallows a method for this URL
    method str
    Specifies an HTTP method.
    allow Boolean
    Specifies that the system allows or disallows a method for this URL
    method 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.
    f5bigip logo
    f5 BIG-IP v3.17.4 published on Wednesday, Sep 11, 2024 by Pulumi