1. Packages
  2. Ibm Provider
  3. API Docs
  4. CisRateLimit
ibm 1.78.0 published on Wednesday, Apr 30, 2025 by ibm-cloud

ibm.CisRateLimit

Explore with Pulumi AI

ibm logo
ibm 1.78.0 published on Wednesday, Apr 30, 2025 by ibm-cloud

    Create, update, or delete custom rate limits for an IBM Cloud Internet Services domain. For more information, about rate limits, see Rate limiting.

    Example Usage

    The following example shows how you can add a rate limit to an IBM Cloud Internet Services domain.

    import * as pulumi from "@pulumi/pulumi";
    import * as ibm from "@pulumi/ibm";
    
    // Add a rate limit to the domain
    const ratelimit = new ibm.CisRateLimit("ratelimit", {
        cisId: data.ibm_cis.cis.id,
        domainId: data.ibm_cis_domain.cis_domain.domain_id,
        threshold: 20,
        period: 900,
        match: {
            request: {
                url: "*.example.org/path*",
                schemes: [
                    "HTTP",
                    "HTTPS",
                ],
                methods: [
                    "GET",
                    "POST",
                    "PUT",
                    "DELETE",
                    "PATCH",
                    "HEAD",
                ],
            },
            response: {
                statuses: [
                    200,
                    201,
                    202,
                    301,
                    429,
                ],
                originTraffic: false,
            },
        },
        action: {
            mode: "ban",
            timeout: 43200,
            response: {
                contentType: "text/plain",
                body: "custom response body",
            },
        },
        correlate: {
            by: "nat",
        },
        disabled: false,
        description: "example rate limit for a zone",
    });
    
    import pulumi
    import pulumi_ibm as ibm
    
    # Add a rate limit to the domain
    ratelimit = ibm.CisRateLimit("ratelimit",
        cis_id=data["ibm_cis"]["cis"]["id"],
        domain_id=data["ibm_cis_domain"]["cis_domain"]["domain_id"],
        threshold=20,
        period=900,
        match={
            "request": {
                "url": "*.example.org/path*",
                "schemes": [
                    "HTTP",
                    "HTTPS",
                ],
                "methods": [
                    "GET",
                    "POST",
                    "PUT",
                    "DELETE",
                    "PATCH",
                    "HEAD",
                ],
            },
            "response": {
                "statuses": [
                    200,
                    201,
                    202,
                    301,
                    429,
                ],
                "origin_traffic": False,
            },
        },
        action={
            "mode": "ban",
            "timeout": 43200,
            "response": {
                "content_type": "text/plain",
                "body": "custom response body",
            },
        },
        correlate={
            "by": "nat",
        },
        disabled=False,
        description="example rate limit for a zone")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-terraform-provider/sdks/go/ibm/ibm"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		// Add a rate limit to the domain
    		_, err := ibm.NewCisRateLimit(ctx, "ratelimit", &ibm.CisRateLimitArgs{
    			CisId:     pulumi.Any(data.Ibm_cis.Cis.Id),
    			DomainId:  pulumi.Any(data.Ibm_cis_domain.Cis_domain.Domain_id),
    			Threshold: pulumi.Float64(20),
    			Period:    pulumi.Float64(900),
    			Match: &ibm.CisRateLimitMatchArgs{
    				Request: &ibm.CisRateLimitMatchRequestArgs{
    					Url: pulumi.String("*.example.org/path*"),
    					Schemes: pulumi.StringArray{
    						pulumi.String("HTTP"),
    						pulumi.String("HTTPS"),
    					},
    					Methods: pulumi.StringArray{
    						pulumi.String("GET"),
    						pulumi.String("POST"),
    						pulumi.String("PUT"),
    						pulumi.String("DELETE"),
    						pulumi.String("PATCH"),
    						pulumi.String("HEAD"),
    					},
    				},
    				Response: &ibm.CisRateLimitMatchResponseArgs{
    					Statuses: pulumi.Float64Array{
    						pulumi.Float64(200),
    						pulumi.Float64(201),
    						pulumi.Float64(202),
    						pulumi.Float64(301),
    						pulumi.Float64(429),
    					},
    					OriginTraffic: pulumi.Bool(false),
    				},
    			},
    			Action: &ibm.CisRateLimitActionArgs{
    				Mode:    pulumi.String("ban"),
    				Timeout: pulumi.Float64(43200),
    				Response: &ibm.CisRateLimitActionResponseArgs{
    					ContentType: pulumi.String("text/plain"),
    					Body:        pulumi.String("custom response body"),
    				},
    			},
    			Correlate: &ibm.CisRateLimitCorrelateArgs{
    				By: pulumi.String("nat"),
    			},
    			Disabled:    pulumi.Bool(false),
    			Description: pulumi.String("example rate limit for a zone"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Ibm = Pulumi.Ibm;
    
    return await Deployment.RunAsync(() => 
    {
        // Add a rate limit to the domain
        var ratelimit = new Ibm.CisRateLimit("ratelimit", new()
        {
            CisId = data.Ibm_cis.Cis.Id,
            DomainId = data.Ibm_cis_domain.Cis_domain.Domain_id,
            Threshold = 20,
            Period = 900,
            Match = new Ibm.Inputs.CisRateLimitMatchArgs
            {
                Request = new Ibm.Inputs.CisRateLimitMatchRequestArgs
                {
                    Url = "*.example.org/path*",
                    Schemes = new[]
                    {
                        "HTTP",
                        "HTTPS",
                    },
                    Methods = new[]
                    {
                        "GET",
                        "POST",
                        "PUT",
                        "DELETE",
                        "PATCH",
                        "HEAD",
                    },
                },
                Response = new Ibm.Inputs.CisRateLimitMatchResponseArgs
                {
                    Statuses = new[]
                    {
                        200,
                        201,
                        202,
                        301,
                        429,
                    },
                    OriginTraffic = false,
                },
            },
            Action = new Ibm.Inputs.CisRateLimitActionArgs
            {
                Mode = "ban",
                Timeout = 43200,
                Response = new Ibm.Inputs.CisRateLimitActionResponseArgs
                {
                    ContentType = "text/plain",
                    Body = "custom response body",
                },
            },
            Correlate = new Ibm.Inputs.CisRateLimitCorrelateArgs
            {
                By = "nat",
            },
            Disabled = false,
            Description = "example rate limit for a zone",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.ibm.CisRateLimit;
    import com.pulumi.ibm.CisRateLimitArgs;
    import com.pulumi.ibm.inputs.CisRateLimitMatchArgs;
    import com.pulumi.ibm.inputs.CisRateLimitMatchRequestArgs;
    import com.pulumi.ibm.inputs.CisRateLimitMatchResponseArgs;
    import com.pulumi.ibm.inputs.CisRateLimitActionArgs;
    import com.pulumi.ibm.inputs.CisRateLimitActionResponseArgs;
    import com.pulumi.ibm.inputs.CisRateLimitCorrelateArgs;
    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) {
            // Add a rate limit to the domain
            var ratelimit = new CisRateLimit("ratelimit", CisRateLimitArgs.builder()
                .cisId(data.ibm_cis().cis().id())
                .domainId(data.ibm_cis_domain().cis_domain().domain_id())
                .threshold(20)
                .period(900)
                .match(CisRateLimitMatchArgs.builder()
                    .request(CisRateLimitMatchRequestArgs.builder()
                        .url("*.example.org/path*")
                        .schemes(                    
                            "HTTP",
                            "HTTPS")
                        .methods(                    
                            "GET",
                            "POST",
                            "PUT",
                            "DELETE",
                            "PATCH",
                            "HEAD")
                        .build())
                    .response(CisRateLimitMatchResponseArgs.builder()
                        .statuses(                    
                            200,
                            201,
                            202,
                            301,
                            429)
                        .originTraffic(false)
                        .build())
                    .build())
                .action(CisRateLimitActionArgs.builder()
                    .mode("ban")
                    .timeout(43200)
                    .response(CisRateLimitActionResponseArgs.builder()
                        .contentType("text/plain")
                        .body("custom response body")
                        .build())
                    .build())
                .correlate(CisRateLimitCorrelateArgs.builder()
                    .by("nat")
                    .build())
                .disabled(false)
                .description("example rate limit for a zone")
                .build());
    
        }
    }
    
    resources:
      # Add a rate limit to the domain
      ratelimit:
        type: ibm:CisRateLimit
        properties:
          cisId: ${data.ibm_cis.cis.id}
          domainId: ${data.ibm_cis_domain.cis_domain.domain_id}
          threshold: 20
          period: 900
          match:
            request:
              url: '*.example.org/path*'
              schemes:
                - HTTP
                - HTTPS
              methods:
                - GET
                - POST
                - PUT
                - DELETE
                - PATCH
                - HEAD
            response:
              statuses:
                - 200
                - 201
                - 202
                - 301
                - 429
              originTraffic: false
          action:
            mode: ban
            timeout: 43200
            response:
              contentType: text/plain
              body: custom response body
          correlate:
            by: nat
          disabled: false
          description: example rate limit for a zone
    

    Create CisRateLimit Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new CisRateLimit(name: string, args: CisRateLimitArgs, opts?: CustomResourceOptions);
    @overload
    def CisRateLimit(resource_name: str,
                     args: CisRateLimitArgs,
                     opts: Optional[ResourceOptions] = None)
    
    @overload
    def CisRateLimit(resource_name: str,
                     opts: Optional[ResourceOptions] = None,
                     action: Optional[CisRateLimitActionArgs] = None,
                     cis_id: Optional[str] = None,
                     domain_id: Optional[str] = None,
                     period: Optional[float] = None,
                     threshold: Optional[float] = None,
                     bypasses: Optional[Sequence[CisRateLimitBypassArgs]] = None,
                     cis_rate_limit_id: Optional[str] = None,
                     correlate: Optional[CisRateLimitCorrelateArgs] = None,
                     description: Optional[str] = None,
                     disabled: Optional[bool] = None,
                     match: Optional[CisRateLimitMatchArgs] = None)
    func NewCisRateLimit(ctx *Context, name string, args CisRateLimitArgs, opts ...ResourceOption) (*CisRateLimit, error)
    public CisRateLimit(string name, CisRateLimitArgs args, CustomResourceOptions? opts = null)
    public CisRateLimit(String name, CisRateLimitArgs args)
    public CisRateLimit(String name, CisRateLimitArgs args, CustomResourceOptions options)
    
    type: ibm:CisRateLimit
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args CisRateLimitArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args CisRateLimitArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args CisRateLimitArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args CisRateLimitArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args CisRateLimitArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var cisRateLimitResource = new Ibm.CisRateLimit("cisRateLimitResource", new()
    {
        Action = new Ibm.Inputs.CisRateLimitActionArgs
        {
            Mode = "string",
            Response = new Ibm.Inputs.CisRateLimitActionResponseArgs
            {
                Body = "string",
                ContentType = "string",
            },
            Timeout = 0,
        },
        CisId = "string",
        DomainId = "string",
        Period = 0,
        Threshold = 0,
        Bypasses = new[]
        {
            new Ibm.Inputs.CisRateLimitBypassArgs
            {
                Name = "string",
                Value = "string",
            },
        },
        CisRateLimitId = "string",
        Correlate = new Ibm.Inputs.CisRateLimitCorrelateArgs
        {
            By = "string",
        },
        Description = "string",
        Disabled = false,
        Match = new Ibm.Inputs.CisRateLimitMatchArgs
        {
            Request = new Ibm.Inputs.CisRateLimitMatchRequestArgs
            {
                Methods = new[]
                {
                    "string",
                },
                Schemes = new[]
                {
                    "string",
                },
                Url = "string",
            },
            Response = new Ibm.Inputs.CisRateLimitMatchResponseArgs
            {
                Headers = new[]
                {
                    new Ibm.Inputs.CisRateLimitMatchResponseHeaderArgs
                    {
                        Name = "string",
                        Op = "string",
                        Value = "string",
                    },
                },
                OriginTraffic = false,
                Statuses = new[]
                {
                    0,
                },
            },
        },
    });
    
    example, err := ibm.NewCisRateLimit(ctx, "cisRateLimitResource", &ibm.CisRateLimitArgs{
    	Action: &ibm.CisRateLimitActionArgs{
    		Mode: pulumi.String("string"),
    		Response: &ibm.CisRateLimitActionResponseArgs{
    			Body:        pulumi.String("string"),
    			ContentType: pulumi.String("string"),
    		},
    		Timeout: pulumi.Float64(0),
    	},
    	CisId:     pulumi.String("string"),
    	DomainId:  pulumi.String("string"),
    	Period:    pulumi.Float64(0),
    	Threshold: pulumi.Float64(0),
    	Bypasses: ibm.CisRateLimitBypassArray{
    		&ibm.CisRateLimitBypassArgs{
    			Name:  pulumi.String("string"),
    			Value: pulumi.String("string"),
    		},
    	},
    	CisRateLimitId: pulumi.String("string"),
    	Correlate: &ibm.CisRateLimitCorrelateArgs{
    		By: pulumi.String("string"),
    	},
    	Description: pulumi.String("string"),
    	Disabled:    pulumi.Bool(false),
    	Match: &ibm.CisRateLimitMatchArgs{
    		Request: &ibm.CisRateLimitMatchRequestArgs{
    			Methods: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			Schemes: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			Url: pulumi.String("string"),
    		},
    		Response: &ibm.CisRateLimitMatchResponseArgs{
    			Headers: ibm.CisRateLimitMatchResponseHeaderArray{
    				&ibm.CisRateLimitMatchResponseHeaderArgs{
    					Name:  pulumi.String("string"),
    					Op:    pulumi.String("string"),
    					Value: pulumi.String("string"),
    				},
    			},
    			OriginTraffic: pulumi.Bool(false),
    			Statuses: pulumi.Float64Array{
    				pulumi.Float64(0),
    			},
    		},
    	},
    })
    
    var cisRateLimitResource = new CisRateLimit("cisRateLimitResource", CisRateLimitArgs.builder()
        .action(CisRateLimitActionArgs.builder()
            .mode("string")
            .response(CisRateLimitActionResponseArgs.builder()
                .body("string")
                .contentType("string")
                .build())
            .timeout(0)
            .build())
        .cisId("string")
        .domainId("string")
        .period(0)
        .threshold(0)
        .bypasses(CisRateLimitBypassArgs.builder()
            .name("string")
            .value("string")
            .build())
        .cisRateLimitId("string")
        .correlate(CisRateLimitCorrelateArgs.builder()
            .by("string")
            .build())
        .description("string")
        .disabled(false)
        .match(CisRateLimitMatchArgs.builder()
            .request(CisRateLimitMatchRequestArgs.builder()
                .methods("string")
                .schemes("string")
                .url("string")
                .build())
            .response(CisRateLimitMatchResponseArgs.builder()
                .headers(CisRateLimitMatchResponseHeaderArgs.builder()
                    .name("string")
                    .op("string")
                    .value("string")
                    .build())
                .originTraffic(false)
                .statuses(0)
                .build())
            .build())
        .build());
    
    cis_rate_limit_resource = ibm.CisRateLimit("cisRateLimitResource",
        action={
            "mode": "string",
            "response": {
                "body": "string",
                "content_type": "string",
            },
            "timeout": 0,
        },
        cis_id="string",
        domain_id="string",
        period=0,
        threshold=0,
        bypasses=[{
            "name": "string",
            "value": "string",
        }],
        cis_rate_limit_id="string",
        correlate={
            "by": "string",
        },
        description="string",
        disabled=False,
        match={
            "request": {
                "methods": ["string"],
                "schemes": ["string"],
                "url": "string",
            },
            "response": {
                "headers": [{
                    "name": "string",
                    "op": "string",
                    "value": "string",
                }],
                "origin_traffic": False,
                "statuses": [0],
            },
        })
    
    const cisRateLimitResource = new ibm.CisRateLimit("cisRateLimitResource", {
        action: {
            mode: "string",
            response: {
                body: "string",
                contentType: "string",
            },
            timeout: 0,
        },
        cisId: "string",
        domainId: "string",
        period: 0,
        threshold: 0,
        bypasses: [{
            name: "string",
            value: "string",
        }],
        cisRateLimitId: "string",
        correlate: {
            by: "string",
        },
        description: "string",
        disabled: false,
        match: {
            request: {
                methods: ["string"],
                schemes: ["string"],
                url: "string",
            },
            response: {
                headers: [{
                    name: "string",
                    op: "string",
                    value: "string",
                }],
                originTraffic: false,
                statuses: [0],
            },
        },
    });
    
    type: ibm:CisRateLimit
    properties:
        action:
            mode: string
            response:
                body: string
                contentType: string
            timeout: 0
        bypasses:
            - name: string
              value: string
        cisId: string
        cisRateLimitId: string
        correlate:
            by: string
        description: string
        disabled: false
        domainId: string
        match:
            request:
                methods:
                    - string
                schemes:
                    - string
                url: string
            response:
                headers:
                    - name: string
                      op: string
                      value: string
                originTraffic: false
                statuses:
                    - 0
        period: 0
        threshold: 0
    

    CisRateLimit Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The CisRateLimit resource accepts the following input properties:

    Action CisRateLimitAction

    A list of actions that you want to perform when incoming requests exceed the specified threshold.

    Nested scheme for action:

    CisId string
    The ID of the IBM Cloud Internet Services instance.
    DomainId string
    The ID of the domain where you want to add a rate limit.
    Period double
    The period of time in seconds where incoming requests to a domain are counted. If the number of requests exceeds the threshold, then connections to the domain are refused. The period value must be between 1 and 3600.
    Threshold double

    The number of requests received within a specific time period (period) before connections to the domain are refused. The threshold value must be between 2 and 1000000.

    Note

    To create a custom rate limit rule the CIS instance should be a enterprise plan

    Bypasses List<CisRateLimitBypass>

    A list of key-value pairs that, when matched, allow the rate limiting rule to be ignored. For example, use this option if you want to ignore the rate limiting for certain URLs.

    Nested scheme for bypass:

    CisRateLimitId string
    (String) The ID of the rate limiting rule in the format <rule_ID>:<domain_ID>:<cis_ID>. .
    Correlate CisRateLimitCorrelate

    To enable NAT-based rate limiting.

    Nested scheme for correlate:

    Description string
    Enter a description for your rate limiting rule.
    Disabled bool
    Set to true to disable rate limiting for a domain and false to enable rate limiting.
    Match CisRateLimitMatch

    A list of characteristics that incoming network traffic must match the threshold count.

    Nested scheme for match:

    Action CisRateLimitActionArgs

    A list of actions that you want to perform when incoming requests exceed the specified threshold.

    Nested scheme for action:

    CisId string
    The ID of the IBM Cloud Internet Services instance.
    DomainId string
    The ID of the domain where you want to add a rate limit.
    Period float64
    The period of time in seconds where incoming requests to a domain are counted. If the number of requests exceeds the threshold, then connections to the domain are refused. The period value must be between 1 and 3600.
    Threshold float64

    The number of requests received within a specific time period (period) before connections to the domain are refused. The threshold value must be between 2 and 1000000.

    Note

    To create a custom rate limit rule the CIS instance should be a enterprise plan

    Bypasses []CisRateLimitBypassArgs

    A list of key-value pairs that, when matched, allow the rate limiting rule to be ignored. For example, use this option if you want to ignore the rate limiting for certain URLs.

    Nested scheme for bypass:

    CisRateLimitId string
    (String) The ID of the rate limiting rule in the format <rule_ID>:<domain_ID>:<cis_ID>. .
    Correlate CisRateLimitCorrelateArgs

    To enable NAT-based rate limiting.

    Nested scheme for correlate:

    Description string
    Enter a description for your rate limiting rule.
    Disabled bool
    Set to true to disable rate limiting for a domain and false to enable rate limiting.
    Match CisRateLimitMatchArgs

    A list of characteristics that incoming network traffic must match the threshold count.

    Nested scheme for match:

    action CisRateLimitAction

    A list of actions that you want to perform when incoming requests exceed the specified threshold.

    Nested scheme for action:

    cisId String
    The ID of the IBM Cloud Internet Services instance.
    domainId String
    The ID of the domain where you want to add a rate limit.
    period Double
    The period of time in seconds where incoming requests to a domain are counted. If the number of requests exceeds the threshold, then connections to the domain are refused. The period value must be between 1 and 3600.
    threshold Double

    The number of requests received within a specific time period (period) before connections to the domain are refused. The threshold value must be between 2 and 1000000.

    Note

    To create a custom rate limit rule the CIS instance should be a enterprise plan

    bypasses List<CisRateLimitBypass>

    A list of key-value pairs that, when matched, allow the rate limiting rule to be ignored. For example, use this option if you want to ignore the rate limiting for certain URLs.

    Nested scheme for bypass:

    cisRateLimitId String
    (String) The ID of the rate limiting rule in the format <rule_ID>:<domain_ID>:<cis_ID>. .
    correlate CisRateLimitCorrelate

    To enable NAT-based rate limiting.

    Nested scheme for correlate:

    description String
    Enter a description for your rate limiting rule.
    disabled Boolean
    Set to true to disable rate limiting for a domain and false to enable rate limiting.
    match CisRateLimitMatch

    A list of characteristics that incoming network traffic must match the threshold count.

    Nested scheme for match:

    action CisRateLimitAction

    A list of actions that you want to perform when incoming requests exceed the specified threshold.

    Nested scheme for action:

    cisId string
    The ID of the IBM Cloud Internet Services instance.
    domainId string
    The ID of the domain where you want to add a rate limit.
    period number
    The period of time in seconds where incoming requests to a domain are counted. If the number of requests exceeds the threshold, then connections to the domain are refused. The period value must be between 1 and 3600.
    threshold number

    The number of requests received within a specific time period (period) before connections to the domain are refused. The threshold value must be between 2 and 1000000.

    Note

    To create a custom rate limit rule the CIS instance should be a enterprise plan

    bypasses CisRateLimitBypass[]

    A list of key-value pairs that, when matched, allow the rate limiting rule to be ignored. For example, use this option if you want to ignore the rate limiting for certain URLs.

    Nested scheme for bypass:

    cisRateLimitId string
    (String) The ID of the rate limiting rule in the format <rule_ID>:<domain_ID>:<cis_ID>. .
    correlate CisRateLimitCorrelate

    To enable NAT-based rate limiting.

    Nested scheme for correlate:

    description string
    Enter a description for your rate limiting rule.
    disabled boolean
    Set to true to disable rate limiting for a domain and false to enable rate limiting.
    match CisRateLimitMatch

    A list of characteristics that incoming network traffic must match the threshold count.

    Nested scheme for match:

    action CisRateLimitActionArgs

    A list of actions that you want to perform when incoming requests exceed the specified threshold.

    Nested scheme for action:

    cis_id str
    The ID of the IBM Cloud Internet Services instance.
    domain_id str
    The ID of the domain where you want to add a rate limit.
    period float
    The period of time in seconds where incoming requests to a domain are counted. If the number of requests exceeds the threshold, then connections to the domain are refused. The period value must be between 1 and 3600.
    threshold float

    The number of requests received within a specific time period (period) before connections to the domain are refused. The threshold value must be between 2 and 1000000.

    Note

    To create a custom rate limit rule the CIS instance should be a enterprise plan

    bypasses Sequence[CisRateLimitBypassArgs]

    A list of key-value pairs that, when matched, allow the rate limiting rule to be ignored. For example, use this option if you want to ignore the rate limiting for certain URLs.

    Nested scheme for bypass:

    cis_rate_limit_id str
    (String) The ID of the rate limiting rule in the format <rule_ID>:<domain_ID>:<cis_ID>. .
    correlate CisRateLimitCorrelateArgs

    To enable NAT-based rate limiting.

    Nested scheme for correlate:

    description str
    Enter a description for your rate limiting rule.
    disabled bool
    Set to true to disable rate limiting for a domain and false to enable rate limiting.
    match CisRateLimitMatchArgs

    A list of characteristics that incoming network traffic must match the threshold count.

    Nested scheme for match:

    action Property Map

    A list of actions that you want to perform when incoming requests exceed the specified threshold.

    Nested scheme for action:

    cisId String
    The ID of the IBM Cloud Internet Services instance.
    domainId String
    The ID of the domain where you want to add a rate limit.
    period Number
    The period of time in seconds where incoming requests to a domain are counted. If the number of requests exceeds the threshold, then connections to the domain are refused. The period value must be between 1 and 3600.
    threshold Number

    The number of requests received within a specific time period (period) before connections to the domain are refused. The threshold value must be between 2 and 1000000.

    Note

    To create a custom rate limit rule the CIS instance should be a enterprise plan

    bypasses List<Property Map>

    A list of key-value pairs that, when matched, allow the rate limiting rule to be ignored. For example, use this option if you want to ignore the rate limiting for certain URLs.

    Nested scheme for bypass:

    cisRateLimitId String
    (String) The ID of the rate limiting rule in the format <rule_ID>:<domain_ID>:<cis_ID>. .
    correlate Property Map

    To enable NAT-based rate limiting.

    Nested scheme for correlate:

    description String
    Enter a description for your rate limiting rule.
    disabled Boolean
    Set to true to disable rate limiting for a domain and false to enable rate limiting.
    match Property Map

    A list of characteristics that incoming network traffic must match the threshold count.

    Nested scheme for match:

    Outputs

    All input properties are implicitly available as output properties. Additionally, the CisRateLimit resource produces the following output properties:

    Id string
    The provider-assigned unique ID for this managed resource.
    RuleId string
    (String) The rate limit rule ID.
    Id string
    The provider-assigned unique ID for this managed resource.
    RuleId string
    (String) The rate limit rule ID.
    id String
    The provider-assigned unique ID for this managed resource.
    ruleId String
    (String) The rate limit rule ID.
    id string
    The provider-assigned unique ID for this managed resource.
    ruleId string
    (String) The rate limit rule ID.
    id str
    The provider-assigned unique ID for this managed resource.
    rule_id str
    (String) The rate limit rule ID.
    id String
    The provider-assigned unique ID for this managed resource.
    ruleId String
    (String) The rate limit rule ID.

    Look up Existing CisRateLimit Resource

    Get an existing CisRateLimit resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: CisRateLimitState, opts?: CustomResourceOptions): CisRateLimit
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            action: Optional[CisRateLimitActionArgs] = None,
            bypasses: Optional[Sequence[CisRateLimitBypassArgs]] = None,
            cis_id: Optional[str] = None,
            cis_rate_limit_id: Optional[str] = None,
            correlate: Optional[CisRateLimitCorrelateArgs] = None,
            description: Optional[str] = None,
            disabled: Optional[bool] = None,
            domain_id: Optional[str] = None,
            match: Optional[CisRateLimitMatchArgs] = None,
            period: Optional[float] = None,
            rule_id: Optional[str] = None,
            threshold: Optional[float] = None) -> CisRateLimit
    func GetCisRateLimit(ctx *Context, name string, id IDInput, state *CisRateLimitState, opts ...ResourceOption) (*CisRateLimit, error)
    public static CisRateLimit Get(string name, Input<string> id, CisRateLimitState? state, CustomResourceOptions? opts = null)
    public static CisRateLimit get(String name, Output<String> id, CisRateLimitState state, CustomResourceOptions options)
    resources:  _:    type: ibm:CisRateLimit    get:      id: ${id}
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    Action CisRateLimitAction

    A list of actions that you want to perform when incoming requests exceed the specified threshold.

    Nested scheme for action:

    Bypasses List<CisRateLimitBypass>

    A list of key-value pairs that, when matched, allow the rate limiting rule to be ignored. For example, use this option if you want to ignore the rate limiting for certain URLs.

    Nested scheme for bypass:

    CisId string
    The ID of the IBM Cloud Internet Services instance.
    CisRateLimitId string
    (String) The ID of the rate limiting rule in the format <rule_ID>:<domain_ID>:<cis_ID>. .
    Correlate CisRateLimitCorrelate

    To enable NAT-based rate limiting.

    Nested scheme for correlate:

    Description string
    Enter a description for your rate limiting rule.
    Disabled bool
    Set to true to disable rate limiting for a domain and false to enable rate limiting.
    DomainId string
    The ID of the domain where you want to add a rate limit.
    Match CisRateLimitMatch

    A list of characteristics that incoming network traffic must match the threshold count.

    Nested scheme for match:

    Period double
    The period of time in seconds where incoming requests to a domain are counted. If the number of requests exceeds the threshold, then connections to the domain are refused. The period value must be between 1 and 3600.
    RuleId string
    (String) The rate limit rule ID.
    Threshold double

    The number of requests received within a specific time period (period) before connections to the domain are refused. The threshold value must be between 2 and 1000000.

    Note

    To create a custom rate limit rule the CIS instance should be a enterprise plan

    Action CisRateLimitActionArgs

    A list of actions that you want to perform when incoming requests exceed the specified threshold.

    Nested scheme for action:

    Bypasses []CisRateLimitBypassArgs

    A list of key-value pairs that, when matched, allow the rate limiting rule to be ignored. For example, use this option if you want to ignore the rate limiting for certain URLs.

    Nested scheme for bypass:

    CisId string
    The ID of the IBM Cloud Internet Services instance.
    CisRateLimitId string
    (String) The ID of the rate limiting rule in the format <rule_ID>:<domain_ID>:<cis_ID>. .
    Correlate CisRateLimitCorrelateArgs

    To enable NAT-based rate limiting.

    Nested scheme for correlate:

    Description string
    Enter a description for your rate limiting rule.
    Disabled bool
    Set to true to disable rate limiting for a domain and false to enable rate limiting.
    DomainId string
    The ID of the domain where you want to add a rate limit.
    Match CisRateLimitMatchArgs

    A list of characteristics that incoming network traffic must match the threshold count.

    Nested scheme for match:

    Period float64
    The period of time in seconds where incoming requests to a domain are counted. If the number of requests exceeds the threshold, then connections to the domain are refused. The period value must be between 1 and 3600.
    RuleId string
    (String) The rate limit rule ID.
    Threshold float64

    The number of requests received within a specific time period (period) before connections to the domain are refused. The threshold value must be between 2 and 1000000.

    Note

    To create a custom rate limit rule the CIS instance should be a enterprise plan

    action CisRateLimitAction

    A list of actions that you want to perform when incoming requests exceed the specified threshold.

    Nested scheme for action:

    bypasses List<CisRateLimitBypass>

    A list of key-value pairs that, when matched, allow the rate limiting rule to be ignored. For example, use this option if you want to ignore the rate limiting for certain URLs.

    Nested scheme for bypass:

    cisId String
    The ID of the IBM Cloud Internet Services instance.
    cisRateLimitId String
    (String) The ID of the rate limiting rule in the format <rule_ID>:<domain_ID>:<cis_ID>. .
    correlate CisRateLimitCorrelate

    To enable NAT-based rate limiting.

    Nested scheme for correlate:

    description String
    Enter a description for your rate limiting rule.
    disabled Boolean
    Set to true to disable rate limiting for a domain and false to enable rate limiting.
    domainId String
    The ID of the domain where you want to add a rate limit.
    match CisRateLimitMatch

    A list of characteristics that incoming network traffic must match the threshold count.

    Nested scheme for match:

    period Double
    The period of time in seconds where incoming requests to a domain are counted. If the number of requests exceeds the threshold, then connections to the domain are refused. The period value must be between 1 and 3600.
    ruleId String
    (String) The rate limit rule ID.
    threshold Double

    The number of requests received within a specific time period (period) before connections to the domain are refused. The threshold value must be between 2 and 1000000.

    Note

    To create a custom rate limit rule the CIS instance should be a enterprise plan

    action CisRateLimitAction

    A list of actions that you want to perform when incoming requests exceed the specified threshold.

    Nested scheme for action:

    bypasses CisRateLimitBypass[]

    A list of key-value pairs that, when matched, allow the rate limiting rule to be ignored. For example, use this option if you want to ignore the rate limiting for certain URLs.

    Nested scheme for bypass:

    cisId string
    The ID of the IBM Cloud Internet Services instance.
    cisRateLimitId string
    (String) The ID of the rate limiting rule in the format <rule_ID>:<domain_ID>:<cis_ID>. .
    correlate CisRateLimitCorrelate

    To enable NAT-based rate limiting.

    Nested scheme for correlate:

    description string
    Enter a description for your rate limiting rule.
    disabled boolean
    Set to true to disable rate limiting for a domain and false to enable rate limiting.
    domainId string
    The ID of the domain where you want to add a rate limit.
    match CisRateLimitMatch

    A list of characteristics that incoming network traffic must match the threshold count.

    Nested scheme for match:

    period number
    The period of time in seconds where incoming requests to a domain are counted. If the number of requests exceeds the threshold, then connections to the domain are refused. The period value must be between 1 and 3600.
    ruleId string
    (String) The rate limit rule ID.
    threshold number

    The number of requests received within a specific time period (period) before connections to the domain are refused. The threshold value must be between 2 and 1000000.

    Note

    To create a custom rate limit rule the CIS instance should be a enterprise plan

    action CisRateLimitActionArgs

    A list of actions that you want to perform when incoming requests exceed the specified threshold.

    Nested scheme for action:

    bypasses Sequence[CisRateLimitBypassArgs]

    A list of key-value pairs that, when matched, allow the rate limiting rule to be ignored. For example, use this option if you want to ignore the rate limiting for certain URLs.

    Nested scheme for bypass:

    cis_id str
    The ID of the IBM Cloud Internet Services instance.
    cis_rate_limit_id str
    (String) The ID of the rate limiting rule in the format <rule_ID>:<domain_ID>:<cis_ID>. .
    correlate CisRateLimitCorrelateArgs

    To enable NAT-based rate limiting.

    Nested scheme for correlate:

    description str
    Enter a description for your rate limiting rule.
    disabled bool
    Set to true to disable rate limiting for a domain and false to enable rate limiting.
    domain_id str
    The ID of the domain where you want to add a rate limit.
    match CisRateLimitMatchArgs

    A list of characteristics that incoming network traffic must match the threshold count.

    Nested scheme for match:

    period float
    The period of time in seconds where incoming requests to a domain are counted. If the number of requests exceeds the threshold, then connections to the domain are refused. The period value must be between 1 and 3600.
    rule_id str
    (String) The rate limit rule ID.
    threshold float

    The number of requests received within a specific time period (period) before connections to the domain are refused. The threshold value must be between 2 and 1000000.

    Note

    To create a custom rate limit rule the CIS instance should be a enterprise plan

    action Property Map

    A list of actions that you want to perform when incoming requests exceed the specified threshold.

    Nested scheme for action:

    bypasses List<Property Map>

    A list of key-value pairs that, when matched, allow the rate limiting rule to be ignored. For example, use this option if you want to ignore the rate limiting for certain URLs.

    Nested scheme for bypass:

    cisId String
    The ID of the IBM Cloud Internet Services instance.
    cisRateLimitId String
    (String) The ID of the rate limiting rule in the format <rule_ID>:<domain_ID>:<cis_ID>. .
    correlate Property Map

    To enable NAT-based rate limiting.

    Nested scheme for correlate:

    description String
    Enter a description for your rate limiting rule.
    disabled Boolean
    Set to true to disable rate limiting for a domain and false to enable rate limiting.
    domainId String
    The ID of the domain where you want to add a rate limit.
    match Property Map

    A list of characteristics that incoming network traffic must match the threshold count.

    Nested scheme for match:

    period Number
    The period of time in seconds where incoming requests to a domain are counted. If the number of requests exceeds the threshold, then connections to the domain are refused. The period value must be between 1 and 3600.
    ruleId String
    (String) The rate limit rule ID.
    threshold Number

    The number of requests received within a specific time period (period) before connections to the domain are refused. The threshold value must be between 2 and 1000000.

    Note

    To create a custom rate limit rule the CIS instance should be a enterprise plan

    Supporting Types

    CisRateLimitAction, CisRateLimitActionArgs

    Mode string
    The type of action that you want to perform. Supported values are simulate, ban, challenge, or js_challenge. For more information, about each type, see Configure response.
    Response CisRateLimitActionResponse

    A list of information that you want to return to the client, such as the content-type and specific body information. The information provided in this parameter overrides the default HTML error page that is returned to the client. You can use this option only for actions of type simulate or ban.

    Nested scheme for response:

    Timeout double
    The time to wait in seconds before the action is performed. The timeout must be equal or greater than the period and can be provided only for actions of type simulate or ban. The value that you enter must be between 10 and 86400.
    Mode string
    The type of action that you want to perform. Supported values are simulate, ban, challenge, or js_challenge. For more information, about each type, see Configure response.
    Response CisRateLimitActionResponse

    A list of information that you want to return to the client, such as the content-type and specific body information. The information provided in this parameter overrides the default HTML error page that is returned to the client. You can use this option only for actions of type simulate or ban.

    Nested scheme for response:

    Timeout float64
    The time to wait in seconds before the action is performed. The timeout must be equal or greater than the period and can be provided only for actions of type simulate or ban. The value that you enter must be between 10 and 86400.
    mode String
    The type of action that you want to perform. Supported values are simulate, ban, challenge, or js_challenge. For more information, about each type, see Configure response.
    response CisRateLimitActionResponse

    A list of information that you want to return to the client, such as the content-type and specific body information. The information provided in this parameter overrides the default HTML error page that is returned to the client. You can use this option only for actions of type simulate or ban.

    Nested scheme for response:

    timeout Double
    The time to wait in seconds before the action is performed. The timeout must be equal or greater than the period and can be provided only for actions of type simulate or ban. The value that you enter must be between 10 and 86400.
    mode string
    The type of action that you want to perform. Supported values are simulate, ban, challenge, or js_challenge. For more information, about each type, see Configure response.
    response CisRateLimitActionResponse

    A list of information that you want to return to the client, such as the content-type and specific body information. The information provided in this parameter overrides the default HTML error page that is returned to the client. You can use this option only for actions of type simulate or ban.

    Nested scheme for response:

    timeout number
    The time to wait in seconds before the action is performed. The timeout must be equal or greater than the period and can be provided only for actions of type simulate or ban. The value that you enter must be between 10 and 86400.
    mode str
    The type of action that you want to perform. Supported values are simulate, ban, challenge, or js_challenge. For more information, about each type, see Configure response.
    response CisRateLimitActionResponse

    A list of information that you want to return to the client, such as the content-type and specific body information. The information provided in this parameter overrides the default HTML error page that is returned to the client. You can use this option only for actions of type simulate or ban.

    Nested scheme for response:

    timeout float
    The time to wait in seconds before the action is performed. The timeout must be equal or greater than the period and can be provided only for actions of type simulate or ban. The value that you enter must be between 10 and 86400.
    mode String
    The type of action that you want to perform. Supported values are simulate, ban, challenge, or js_challenge. For more information, about each type, see Configure response.
    response Property Map

    A list of information that you want to return to the client, such as the content-type and specific body information. The information provided in this parameter overrides the default HTML error page that is returned to the client. You can use this option only for actions of type simulate or ban.

    Nested scheme for response:

    timeout Number
    The time to wait in seconds before the action is performed. The timeout must be equal or greater than the period and can be provided only for actions of type simulate or ban. The value that you enter must be between 10 and 86400.

    CisRateLimitActionResponse, CisRateLimitActionResponseArgs

    Body string
    The body of the response that you want to return to the client. The information that you provide must match the action.response.content_type that you specified. The value that you enter can have a maximum length of 1024.
    ContentType string
    The content-type of the body that you want to return. Supported values are text/plain, text/xml, and application/json.
    Body string
    The body of the response that you want to return to the client. The information that you provide must match the action.response.content_type that you specified. The value that you enter can have a maximum length of 1024.
    ContentType string
    The content-type of the body that you want to return. Supported values are text/plain, text/xml, and application/json.
    body String
    The body of the response that you want to return to the client. The information that you provide must match the action.response.content_type that you specified. The value that you enter can have a maximum length of 1024.
    contentType String
    The content-type of the body that you want to return. Supported values are text/plain, text/xml, and application/json.
    body string
    The body of the response that you want to return to the client. The information that you provide must match the action.response.content_type that you specified. The value that you enter can have a maximum length of 1024.
    contentType string
    The content-type of the body that you want to return. Supported values are text/plain, text/xml, and application/json.
    body str
    The body of the response that you want to return to the client. The information that you provide must match the action.response.content_type that you specified. The value that you enter can have a maximum length of 1024.
    content_type str
    The content-type of the body that you want to return. Supported values are text/plain, text/xml, and application/json.
    body String
    The body of the response that you want to return to the client. The information that you provide must match the action.response.content_type that you specified. The value that you enter can have a maximum length of 1024.
    contentType String
    The content-type of the body that you want to return. Supported values are text/plain, text/xml, and application/json.

    CisRateLimitBypass, CisRateLimitBypassArgs

    Name string
    The name of the key that you want to apply. Supported values are url.
    Value string
    The value of the key that you want to match. When name is set to url, value must be set to the URL that you want to exclude from the rate limiting rule.
    Name string
    The name of the key that you want to apply. Supported values are url.
    Value string
    The value of the key that you want to match. When name is set to url, value must be set to the URL that you want to exclude from the rate limiting rule.
    name String
    The name of the key that you want to apply. Supported values are url.
    value String
    The value of the key that you want to match. When name is set to url, value must be set to the URL that you want to exclude from the rate limiting rule.
    name string
    The name of the key that you want to apply. Supported values are url.
    value string
    The value of the key that you want to match. When name is set to url, value must be set to the URL that you want to exclude from the rate limiting rule.
    name str
    The name of the key that you want to apply. Supported values are url.
    value str
    The value of the key that you want to match. When name is set to url, value must be set to the URL that you want to exclude from the rate limiting rule.
    name String
    The name of the key that you want to apply. Supported values are url.
    value String
    The value of the key that you want to match. When name is set to url, value must be set to the URL that you want to exclude from the rate limiting rule.

    CisRateLimitCorrelate, CisRateLimitCorrelateArgs

    By string
    Enter nat to enable NAT-based rate limiting.
    By string
    Enter nat to enable NAT-based rate limiting.
    by String
    Enter nat to enable NAT-based rate limiting.
    by string
    Enter nat to enable NAT-based rate limiting.
    by str
    Enter nat to enable NAT-based rate limiting.
    by String
    Enter nat to enable NAT-based rate limiting.

    CisRateLimitMatch, CisRateLimitMatchArgs

    Request CisRateLimitMatchRequest

    A list of characteristics that the incoming request match the threshold count. If this list is not provided, all incoming requests are matched the count of the threshold.

    Nested scheme for request:

    Response CisRateLimitMatchResponse

    A list of HTTP responses that outgoing packets must match before they can be returned to the client. If an incoming request matches the request criteria, but the response does not match the response criteria, then the request packet is not counted with the threshold.

    Nested scheme for response:

    Request CisRateLimitMatchRequest

    A list of characteristics that the incoming request match the threshold count. If this list is not provided, all incoming requests are matched the count of the threshold.

    Nested scheme for request:

    Response CisRateLimitMatchResponse

    A list of HTTP responses that outgoing packets must match before they can be returned to the client. If an incoming request matches the request criteria, but the response does not match the response criteria, then the request packet is not counted with the threshold.

    Nested scheme for response:

    request CisRateLimitMatchRequest

    A list of characteristics that the incoming request match the threshold count. If this list is not provided, all incoming requests are matched the count of the threshold.

    Nested scheme for request:

    response CisRateLimitMatchResponse

    A list of HTTP responses that outgoing packets must match before they can be returned to the client. If an incoming request matches the request criteria, but the response does not match the response criteria, then the request packet is not counted with the threshold.

    Nested scheme for response:

    request CisRateLimitMatchRequest

    A list of characteristics that the incoming request match the threshold count. If this list is not provided, all incoming requests are matched the count of the threshold.

    Nested scheme for request:

    response CisRateLimitMatchResponse

    A list of HTTP responses that outgoing packets must match before they can be returned to the client. If an incoming request matches the request criteria, but the response does not match the response criteria, then the request packet is not counted with the threshold.

    Nested scheme for response:

    request CisRateLimitMatchRequest

    A list of characteristics that the incoming request match the threshold count. If this list is not provided, all incoming requests are matched the count of the threshold.

    Nested scheme for request:

    response CisRateLimitMatchResponse

    A list of HTTP responses that outgoing packets must match before they can be returned to the client. If an incoming request matches the request criteria, but the response does not match the response criteria, then the request packet is not counted with the threshold.

    Nested scheme for response:

    request Property Map

    A list of characteristics that the incoming request match the threshold count. If this list is not provided, all incoming requests are matched the count of the threshold.

    Nested scheme for request:

    response Property Map

    A list of HTTP responses that outgoing packets must match before they can be returned to the client. If an incoming request matches the request criteria, but the response does not match the response criteria, then the request packet is not counted with the threshold.

    Nested scheme for response:

    CisRateLimitMatchRequest, CisRateLimitMatchRequestArgs

    Methods List<string>
    The HTTP methods that the incoming request that match the threshold count. Supported values are GET, POST, PUT, DELETE, PATCH, HEAD, and _ALL_. You can also combine multiple methods and separate them with a comma. For example POST,PUT.
    Schemes List<string>
    The scheme of the request that determines the protocol that you want. Supported values are HTTPS, HTTP,HTTPS, and _ALL_.
    Url string
    The URL that the request uses. Wildcard domains are expanded to match applicable traffic, query strings are not matched. You can use * to apply the rule to all URLs. The maximum length of this value can be 1024.
    Methods []string
    The HTTP methods that the incoming request that match the threshold count. Supported values are GET, POST, PUT, DELETE, PATCH, HEAD, and _ALL_. You can also combine multiple methods and separate them with a comma. For example POST,PUT.
    Schemes []string
    The scheme of the request that determines the protocol that you want. Supported values are HTTPS, HTTP,HTTPS, and _ALL_.
    Url string
    The URL that the request uses. Wildcard domains are expanded to match applicable traffic, query strings are not matched. You can use * to apply the rule to all URLs. The maximum length of this value can be 1024.
    methods List<String>
    The HTTP methods that the incoming request that match the threshold count. Supported values are GET, POST, PUT, DELETE, PATCH, HEAD, and _ALL_. You can also combine multiple methods and separate them with a comma. For example POST,PUT.
    schemes List<String>
    The scheme of the request that determines the protocol that you want. Supported values are HTTPS, HTTP,HTTPS, and _ALL_.
    url String
    The URL that the request uses. Wildcard domains are expanded to match applicable traffic, query strings are not matched. You can use * to apply the rule to all URLs. The maximum length of this value can be 1024.
    methods string[]
    The HTTP methods that the incoming request that match the threshold count. Supported values are GET, POST, PUT, DELETE, PATCH, HEAD, and _ALL_. You can also combine multiple methods and separate them with a comma. For example POST,PUT.
    schemes string[]
    The scheme of the request that determines the protocol that you want. Supported values are HTTPS, HTTP,HTTPS, and _ALL_.
    url string
    The URL that the request uses. Wildcard domains are expanded to match applicable traffic, query strings are not matched. You can use * to apply the rule to all URLs. The maximum length of this value can be 1024.
    methods Sequence[str]
    The HTTP methods that the incoming request that match the threshold count. Supported values are GET, POST, PUT, DELETE, PATCH, HEAD, and _ALL_. You can also combine multiple methods and separate them with a comma. For example POST,PUT.
    schemes Sequence[str]
    The scheme of the request that determines the protocol that you want. Supported values are HTTPS, HTTP,HTTPS, and _ALL_.
    url str
    The URL that the request uses. Wildcard domains are expanded to match applicable traffic, query strings are not matched. You can use * to apply the rule to all URLs. The maximum length of this value can be 1024.
    methods List<String>
    The HTTP methods that the incoming request that match the threshold count. Supported values are GET, POST, PUT, DELETE, PATCH, HEAD, and _ALL_. You can also combine multiple methods and separate them with a comma. For example POST,PUT.
    schemes List<String>
    The scheme of the request that determines the protocol that you want. Supported values are HTTPS, HTTP,HTTPS, and _ALL_.
    url String
    The URL that the request uses. Wildcard domains are expanded to match applicable traffic, query strings are not matched. You can use * to apply the rule to all URLs. The maximum length of this value can be 1024.

    CisRateLimitMatchResponse, CisRateLimitMatchResponseArgs

    Headers List<CisRateLimitMatchResponseHeader>
    OriginTraffic bool
    Origin Traffic of matching response.
    Statuses List<double>
    HTTP Status Codes of matching response. It can be one or many. Example status codes '403', '401
    Headers []CisRateLimitMatchResponseHeader
    OriginTraffic bool
    Origin Traffic of matching response.
    Statuses []float64
    HTTP Status Codes of matching response. It can be one or many. Example status codes '403', '401
    headers List<CisRateLimitMatchResponseHeader>
    originTraffic Boolean
    Origin Traffic of matching response.
    statuses List<Double>
    HTTP Status Codes of matching response. It can be one or many. Example status codes '403', '401
    headers CisRateLimitMatchResponseHeader[]
    originTraffic boolean
    Origin Traffic of matching response.
    statuses number[]
    HTTP Status Codes of matching response. It can be one or many. Example status codes '403', '401
    headers Sequence[CisRateLimitMatchResponseHeader]
    origin_traffic bool
    Origin Traffic of matching response.
    statuses Sequence[float]
    HTTP Status Codes of matching response. It can be one or many. Example status codes '403', '401
    headers List<Property Map>
    originTraffic Boolean
    Origin Traffic of matching response.
    statuses List<Number>
    HTTP Status Codes of matching response. It can be one or many. Example status codes '403', '401

    CisRateLimitMatchResponseHeader, CisRateLimitMatchResponseHeaderArgs

    Name string
    The name of the response header to match.
    Op string
    The operator when matching. Valid values are 'eq' and 'ne'.
    Value string
    The value of the header, which is exactly matched.
    Name string
    The name of the response header to match.
    Op string
    The operator when matching. Valid values are 'eq' and 'ne'.
    Value string
    The value of the header, which is exactly matched.
    name String
    The name of the response header to match.
    op String
    The operator when matching. Valid values are 'eq' and 'ne'.
    value String
    The value of the header, which is exactly matched.
    name string
    The name of the response header to match.
    op string
    The operator when matching. Valid values are 'eq' and 'ne'.
    value string
    The value of the header, which is exactly matched.
    name str
    The name of the response header to match.
    op str
    The operator when matching. Valid values are 'eq' and 'ne'.
    value str
    The value of the header, which is exactly matched.
    name String
    The name of the response header to match.
    op String
    The operator when matching. Valid values are 'eq' and 'ne'.
    value String
    The value of the header, which is exactly matched.

    Import

    The ibm_cis_rate_limit resource can be imported using the id. The ID is formed from the Rate Limit rule ID, the Domain ID of the domain and the CRN (Cloud Resource Name) concatentated using a : character.

    The Domain ID and CRN will be located on the Overview page of the Internet Services instance under the Domain heading of the UI, or via using the bx cis CLI commands.

    • Domain ID is a 32 digit character string of the form: 9caf68812ae9b3f0377fdf986751a78f

    • CRN is a 120 digit character string of the form: crn:v1:bluemix:public:internet-svcs:global:a/4ea1882a2d3401ed1e459979941966ea:31fa970d-51d0-4b05-893e-251cba75a7b3::

    • Rate Limit rule ID is a 32 digit character string of the form: 489d96f0da6ed76251b475971b097205c.

    Syntax

    $ pulumi import ibm:index/cisRateLimit:CisRateLimit ratelimit <rule_id>:<domain-id>:<crn>
    

    Example

    $ pulumi import ibm:index/cisRateLimit:CisRateLimit ratelimit 48996f0da6ed76251b475971b097205c:9caf68812ae9b3f0377fdf986751a78f:crn:v1:bluemix:public:internet-svcs:global:a/4ea1882a2d3401ed1e459979941966ea:31fa970d-51d0-4b05-893e-251cba75a7b3::
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    ibm ibm-cloud/terraform-provider-ibm
    License
    Notes
    This Pulumi package is based on the ibm Terraform Provider.
    ibm logo
    ibm 1.78.0 published on Wednesday, Apr 30, 2025 by ibm-cloud