[Yandex Cloud documentation](../../index.md) > [Yandex Smart Web Security](../index.md) > [Step-by-step guides](index.md) > ARL profiles > Deleting a profile

# Deleting an ARL profile

Before deleting an ARL profile, delete it from all associated [security profiles](../concepts/profiles.md).

{% list tabs group=instructions %}

- Management console {#console}

  1. In the [management console](https://console.yandex.cloud), select the [folder](../../resource-manager/concepts/resources-hierarchy.md#folder) with the [ARL profile](../concepts/arl.md).
  1. Navigate to **Smart Web Security**.
  1. In the left-hand panel, select ![image](../../_assets/smartwebsecurity/arl.svg) **ARL profiles**.
  1. In the **Connecting a security profile** field in the row with the ARL profile, select the security profile that uses this ARL profile.
  1. At the top right, click **Edit**. In the window that opens:

      1. Select a different ARL profile from the **ARL profile** list or click **Clear**.
      1. Click **Save**.
  1. Similarly, delete the ARL profile from all other associated security profiles.
  1. Go back to the page of the ARL profile you want to delete.
  1. At the top right, click ![recycle-bin](../../_assets/console-icons/trash-bin.svg) **Delete** and confirm your action.

- Terraform {#tf}

  With [Terraform](https://www.terraform.io/), you can quickly create a cloud infrastructure in Yandex Cloud and manage it using configuration files. These files store the infrastructure description written in HashiCorp Configuration Language (HCL). If you change the configuration files, Terraform automatically detects which part of your configuration is already deployed, and what should be added or removed.
  
  Terraform is distributed under the [Business Source License](https://github.com/hashicorp/terraform/blob/main/LICENSE). The [Yandex Cloud provider for Terraform](https://github.com/yandex-cloud/terraform-provider-yandex) is distributed under the [MPL-2.0](https://www.mozilla.org/en-US/MPL/2.0/) license.
  
  For more information about the provider resources, see the guides on the [Terraform](https://www.terraform.io/docs/providers/yandex/index.html) website or [its mirror](../../terraform/index.md).

  If you do not have Terraform yet, [install it and configure the Yandex Cloud provider](../../tutorials/infrastructure-management/terraform-quickstart.md#install-terraform).
  
  
  To manage infrastructure using Terraform under a service account or user accounts (a Yandex account, a federated account, or a local user), [authenticate](../../terraform/authentication.md) using the appropriate method.

  To delete an [ARL profile](../concepts/arl.md) created with Terraform:

  1. Open the Terraform configuration file and delete the section describing the `yandex_sws_advanced_rate_limiter_profile` resource:

      {% cut "Example of an ARL profile description in the Terraform configuration" %}
      
      ```hcl
      # ARL profile

      resource "yandex_sws_advanced_rate_limiter_profile" "arl-profile" {
        name        = "<profile_name>"
        description = "<profile_description>"

        # Rule 1

        advanced_rate_limiter_rule {
          name        = "<rule_name>"
          priority    = <rule_priority>
          description = "<rule_description>"
          dry_run     = true

          static_quota {
            action = "DENY"
            limit  = <rule_limit>
            period = <rule_period>
            condition {
              request_uri {
                path {
                  exact_match = "/api"
                }
              }
            }
          }
        }
      }
      ```

      Where:
      * `name`: ARL profile name.
      * `description`: ARL profile description. This is an optional setting.
      * `labels`: ARL profile [labels](../../resource-manager/concepts/labels.md). This is an optional setting.
      * `advanced_rate_limiter_rule`: Rule section.
        * `name`: Rule name.
        * `priority`: Rule priority, a unique number from `1` to `999999`. Rules with smaller numerical values apply first.
        * `description`: Rule description. This is an optional setting.
        * `dry_run`: Dry run flag. Set it to `true` to test the rule and estimate the load on your web service. Requests will not be blocked in this mode. However, the system will log triggered rules. This is an optional setting.
        * `static_quota`: Request count mode where each request is counted individually without grouping. You can only specify either `static_quota` or `dynamic_quota`.
          * `action`: Action if the limit is exceeded. Always set it to `DENY`.
          * `limit`: Maximum number of allowed requests per period.
          * `period`: Time period in seconds during which the limit applies.
          * `condition`: [Condition](../concepts/conditions.md) for applying the rule. This is an optional setting. For more on conditions, see the `advanced_rate_limiter_rule.static_quota.condition` description in [this provider guide](../../terraform/resources/sws_advanced_rate_limiter_profile.md).
        * `dynamic_quota`: Request count mode where groups of requests sharing one or more properties are counted. You can only specify one section, either `static_quota` or `dynamic_quota`.
          * `action`: Action if the limit is exceeded. Always set it to `DENY`.
          * `limit`: Maximum number of allowed requests per period.
          * `period`: Time period in seconds during which the limit applies.
          * `condition`: Condition for applying the rule. This is an optional setting. For more on conditions, see the `advanced_rate_limiter_rule.dynamic_quota.condition` description in [this provider guide](../../terraform/resources/sws_advanced_rate_limiter_profile.md).
          * `characteristic`: Description of properties to group requests by. You can only specify either `simple_characteristic` or `key_characteristic`.
            * `case_insensitive`: Case insensitive, if `true`, or sensitive, if `false`.
            * `key_characteristic`: Section of parameters requiring a key (string) to group requests by.
              * `type`: Grouping type. The possible values are `COOKIE_KEY`, `HEADER_KEY`, and `QUERY_KEY`.
              * `value`: Key value (string) to group requests by.
            *  `simple_characteristic`: Section with parameters for autogrouping, i.e., requests are automatically grouped by the specified parameter.
               *  `type`: Grouping type. The possible values are `REQUEST_PATH`, `HTTP_METHOD`, `IP`, `GEO`, and `HOST`.

      {% endcut %}

  1. Apply the changes:

       1. In the terminal, navigate to the configuration file directory.
       1. Make sure the configuration is correct using this command:
       
          ```bash
          terraform validate
          ```
       
          If the configuration is valid, you will get this message:
       
          ```bash
          Success! The configuration is valid.
          ```
       
       1. Run this command:
       
          ```bash
          terraform plan
          ```
       
          You will see a list of resources and their properties. No changes will be made at this step. Terraform will show any errors in the configuration.
       1. Apply the configuration changes:
       
          ```bash
          terraform apply
          ```
       
       1. Type `yes` and press **Enter** to confirm the changes.

       You can check the deletion of the resources in the [management console](https://console.yandex.cloud).

- API {#api}

  Use the [delete](../advanced_rate_limiter/api-ref/AdvancedRateLimiterProfile/delete.md) REST API method for the [AdvancedRateLimiterProfile](../advanced_rate_limiter/api-ref/AdvancedRateLimiterProfile/index.md) resource or the [AdvancedRateLimiterProfile/Delete](../advanced_rate_limiter/api-ref/grpc/AdvancedRateLimiterProfile/delete.md) gRPC API call.

{% endlist %}