Yandex Cloud
Search
Contact UsTry it for free
  • Customer Stories
  • Documentation
  • Blog
  • All Services
  • System Status
  • Marketplace
    • Featured
    • Infrastructure & Network
    • Data Platform
    • AI for business
    • Security
    • DevOps tools
    • Serverless
    • Monitoring & Resources
  • All Solutions
    • By industry
    • By use case
    • Economics and Pricing
    • Security
    • Technical Support
    • Start testing with double trial credits
    • Cloud credits to scale your IT product
    • Gateway to Russia
    • Cloud for Startups
    • Center for Technologies and Society
    • Yandex Cloud Partner program
    • Price calculator
    • Pricing plans
  • Customer Stories
  • Documentation
  • Blog
© 2026 Direct Cursus Technology L.L.C.
Terraform in Yandex Cloud
  • Getting started
  • Solution library
    • Overview
    • Release notes
          • sws_advanced_rate_limiter_profile
          • sws_security_profile
          • sws_waf_profile

In this article:

  • Example usage
  • Arguments & Attributes Reference
  • Import
  1. Terraform reference
  2. Resources
  3. Smart Web Security
  4. Resources
  5. sws_advanced_rate_limiter_profile

yandex_sws_advanced_rate_limiter_profile (Resource)

Written by
Yandex Cloud
Updated at February 12, 2026
  • Example usage
  • Arguments & Attributes Reference
  • Import

Creates an SWS Advanced Rate Limiter (ARL) profile in the specified folder. For more information, see the official documentation.

Example usageExample usage

//
// Create a new SWS Advanced Rate Limiter Profile.
//
resource "yandex_sws_advanced_rate_limiter_profile" "demo-profile" {
  name = "demo-profile"

  advanced_rate_limiter_rule {
    name        = "rule1"
    priority    = 10
    description = "First test rule"
    dry_run     = true

    static_quota {
      action = "DENY"
      limit  = 10000000
      period = 1
      condition {
        request_uri {
          path {
            exact_match = "/api"
          }
        }
      }
    }
  }
}

Arguments & Attributes ReferenceArguments & Attributes Reference

  • cloud_id (String). The Cloud ID which resource belongs to. If it is not provided, the default provider cloud-id is used.
  • created_at (Read-Only) (String). The creation timestamp of the resource.
  • description (String). The resource description.
  • folder_id (String). The folder identifier that resource belongs to. If it is not provided, the default provider folder-id is used.
  • id (String).
  • labels (Map Of String). A set of key/value label pairs which assigned to resource.
  • name (String). The resource name.
  • advanced_rate_limiter_rule [Block]. List of rules.

Warning

Exactly one rule specifier: static_quota or dynamic_quota should be specified.

  • description (String). Description of the rule. 0-512 characters long.
  • dry_run (Bool). This allows you to evaluate backend capabilities and find the optimum limit values. Requests will not be blocked in this mode.
  • name (String). Name of the rule. The name is unique within the ARL profile. 1-50 characters long.
  • priority (Number). Determines the priority in case there are several matched rules. Enter an integer within the range of 1 and 999999. The rule priority must be unique within the entire ARL profile. A lower numeric value means a higher priority.
  • dynamic_quota [Block]. Dynamic quota. Grouping requests by a certain attribute and limiting the number of groups.
    • action (String). Action in case of exceeding this quota. Possible values: DENY.
    • limit (Number). Desired maximum number of requests per period.
    • period (Number). Period of time in seconds.
    • characteristic [Block]. List of characteristics.

Warning

Exactly one characteristic specifier: simple_characteristic or key_characteristic should be specified.

  - `case_insensitive` (Bool). Determines case-sensitive or case-insensitive keys matching.
  - `key_characteristic` [Block]. Characteristic based on key match in the Query params, HTTP header, and HTTP cookie attributes. See [Rules](https://yandex.cloud/docs/smartwebsecurity/concepts/arl#requests-counting) for more details.
    - `type` (String). Type of key characteristic. Possible values: `COOKIE_KEY`, `HEADER_KEY`, `QUERY_KEY`.
    - `value` (String). String value of the key.
  - `simple_characteristic` [Block]. Characteristic automatically based on the Request path, HTTP method, IP address, Region, and Host attributes. See [Rules](https://yandex.cloud/docs/smartwebsecurity/concepts/arl#requests-counting) for more details.
    - `type` (String). Type of simple characteristic. Possible values: `REQUEST_PATH`, `HTTP_METHOD`, `IP`, `GEO`, `HOST`.
- `condition` [Block]. The condition for matching the rule. You can find all possibilities of condition in [gRPC specs](https://github.com/yandex-cloud/cloudapi/blob/master/yandex/cloud/smartwebsecurity/v1/security_profile.proto).
  - `authority` [Block]. 
    - `authorities` [Block]. 
      - `exact_match` (String). 
      - `exact_not_match` (String). 
      - `pire_regex_match` (String). 
      - `pire_regex_not_match` (String). 
      - `prefix_match` (String). 
      - `prefix_not_match` (String). 
  - `headers` [Block]. 
    - `name` (String). 
    - `value` [Block]. 
      - `exact_match` (String). 
      - `exact_not_match` (String). 
      - `pire_regex_match` (String). 
      - `pire_regex_not_match` (String). 
      - `prefix_match` (String). 
      - `prefix_not_match` (String). 
  - `http_method` [Block]. 
    - `http_methods` [Block]. 
      - `exact_match` (String). 
      - `exact_not_match` (String). 
      - `pire_regex_match` (String). 
      - `pire_regex_not_match` (String). 
      - `prefix_match` (String). 
      - `prefix_not_match` (String). 
  - `request_uri` [Block]. 
    - `path` [Block]. 
      - `exact_match` (String). 
      - `exact_not_match` (String). 
      - `pire_regex_match` (String). 
      - `pire_regex_not_match` (String). 
      - `prefix_match` (String). 
      - `prefix_not_match` (String). 
    - `queries` [Block]. 
      - `key` (**Required**)(String). 
      - `value` [Block]. 
        - `exact_match` (String). 
        - `exact_not_match` (String). 
        - `pire_regex_match` (String). 
        - `pire_regex_not_match` (String). 
        - `prefix_match` (String). 
        - `prefix_not_match` (String). 
  - `source_ip` [Block]. 
    - `geo_ip_match` [Block]. 
      - `locations` (List Of String). 
    - `geo_ip_not_match` [Block]. 
      - `locations` (List Of String). 
    - `ip_ranges_match` [Block]. 
      - `ip_ranges` (List Of String). 
    - `ip_ranges_not_match` [Block]. 
      - `ip_ranges` (List Of String). 
  • static_quota [Block]. Static quota. Counting each request individually.
    • action (String). Action in case of exceeding this quota. Possible values: DENY.
    • limit (Number). Desired maximum number of requests per period.
    • period (Number). Period of time in seconds.
    • condition [Block]. The condition for matching the rule. You can find all possibilities of condition in gRPC specs.
      • authority [Block].
        • authorities [Block].
          • exact_match (String).
          • exact_not_match (String).
          • pire_regex_match (String).
          • pire_regex_not_match (String).
          • prefix_match (String).
          • prefix_not_match (String).
      • headers [Block].
        • name (String).
        • value [Block].
          • exact_match (String).
          • exact_not_match (String).
          • pire_regex_match (String).
          • pire_regex_not_match (String).
          • prefix_match (String).
          • prefix_not_match (String).
      • http_method [Block].
        • http_methods [Block].
          • exact_match (String).
          • exact_not_match (String).
          • pire_regex_match (String).
          • pire_regex_not_match (String).
          • prefix_match (String).
          • prefix_not_match (String).
      • request_uri [Block].
        • path [Block].
          • exact_match (String).
          • exact_not_match (String).
          • pire_regex_match (String).
          • pire_regex_not_match (String).
          • prefix_match (String).
          • prefix_not_match (String).
        • queries [Block].
          • key (Required)(String).
          • value [Block].
            • exact_match (String).
            • exact_not_match (String).
            • pire_regex_match (String).
            • pire_regex_not_match (String).
            • prefix_match (String).
            • prefix_not_match (String).
      • source_ip [Block].
        • geo_ip_match [Block].
          • locations (List Of String).
        • geo_ip_not_match [Block].
          • locations (List Of String).
        • ip_ranges_match [Block].
          • ip_ranges (List Of String).
        • ip_ranges_not_match [Block].
          • ip_ranges (List Of String).

ImportImport

The resource can be imported by using their resource ID. For getting it you can use Yandex Cloud Web Console or Yandex Cloud CLI.

# terraform import yandex_sws_advanced_rate_limiter_profile.<resource Name> <resource Id>
terraform import yandex_sws_advanced_rate_limiter_profile.demo-profile ...

Was the article helpful?

Previous
sws_waf_rule_set_descriptor
Next
sws_security_profile
© 2026 Direct Cursus Technology L.L.C.