[Документация Yandex Cloud](../../../index.md) > [Yandex Resource Manager](../../index.md) > [Пошаговые инструкции](../index.md) > Каталог > Удаление каталога

# Удаление каталога

Чтобы удалить [каталог](../../concepts/resources-hierarchy.md#folder), у вас должна быть роль [resource-manager.editor](../../security/index.md#resource-manager-editor) или выше на этот каталог. Если вы не можете выполнить эту операцию, обратитесь к [администратору](../../../iam/roles-reference.md#admin) или [владельцу каталога](../../concepts/resources-hierarchy.md#owner).

{% note info %}

Удаление каталога может быть запрещено, если для этого каталога (либо для [облака](../../concepts/resources-hierarchy.md#cloud) или [организации](*organization), к которым этот каталог относится) создана [политика авторизации](*access_policies) `resourceManager.denyFolderRemoval`. Такой запрет действует даже в том случае, если пользователю назначена [роль](*roles), разрешающая удаление каталогов.

{% endnote %}

{% list tabs group=instructions %}

- Консоль управления {#console}

  1. В [консоли управления](https://kz.console.yandex.cloud) на панели сверху нажмите ![image](../../../_assets/console-icons/layout-side-content-left.svg) или ![image](../../../_assets/console-icons/chevron-down.svg) и выберите нужный каталог. Если необходимо, [переключитесь на другое облако](../cloud/switch-cloud.md).
  1. Справа от названия каталога нажмите ![image](../../../_assets/console-icons/ellipsis.svg).
  1. Выберите ![image](../../../_assets/console-icons/trash-bin.svg) **Удалить каталог**.

     ![delete-folder1](../../../_assets/resource-manager/delete-folder-1.png)

  1. Выберите срок удаления каталога, по истечении которого каталог будет удален. Выберите один из возможных периодов или `Удалить сейчас`. По умолчанию срок удаления каталога — 7 дней.
  1. Введите название каталога, чтобы подтвердить удаление. 
  1. Нажмите **Удалить**.

     ![delete-folder2](../../../_assets/resource-manager/delete-folder-2.png)

- CLI {#cli}

  Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), [установите и инициализируйте его](../../../cli/quickstart.md#install).

  1. Посмотрите описание команды удаления каталога:

      ```bash
      yc resource-manager folder delete --help
      ```

  1. Если вы знаете идентификатор или имя каталога, переходите к следующему шагу. Если нет, то узнайте это одним из способов:
     
     * Получите список каталогов:
       ```bash
       yc resource-manager folder list
       ```
     
       Результат:
     
       ```text
       +----------------------+--------------------+--------+--------+-------------+
       |          ID          |        NAME        | LABELS | STATUS | DESCRIPTION |
       +----------------------+--------------------+--------+--------+-------------+
       | b1gppulhhm2a******** | yet-another-folder |        | ACTIVE |             |
       | b1gvmob95yys******** | default            |        | ACTIVE |             |
       +----------------------+--------------------+--------+--------+-------------+
       ```
     
       * Если вы знаете идентификатор ресурса, который принадлежит нужному каталогу, получите идентификатор каталога из информации об этом ресурсе:
     
       ```bash
       yc <имя_сервиса> <категория_сервиса> get <идентификатор_ресурса>
       ```
     
       Где:
       * `<имя_сервиса>` — имя сервиса, например `compute`.
       * `<категория_сервиса>` — категория ресурса, например `instance`.
       * `<идентификатор_ресурса>` — идентификатор ресурса.
     
       Например, виртуальная машина `fhmp74bfis2a********` принадлежит каталогу `b1gpvjd9ir42********`:
     
       ```bash
       yc compute instance get fhmp74bfis2a********
       ```
     
       Результат:
     
       ```text
       id: fhmp74bfis2a********
       folder_id: b1gpvjd9ia42********
       ...
       ```

  1. Удалите каталог, указав его имя или идентификатор:

      ```bash
      yc resource-manager folder delete <имя_или_идентификатор_каталога> \
        --delete-after <срок_удаления_каталога> \
        --async
      ```

      Где:

      * `--delete-after` — срок удаления каталога в формате `HhMmSs`. Процесс удаления каталога начнется по истечении заданного срока. Например: `--delete-after 22h30m50s`.

          Чтобы удалить каталог сейчас, укажите `0s`.
      * `--async` — флаг асинхронного удаления.
      
          Удаление каталога может занять до 72 часов. Выполняйте команду в асинхронном режиме, чтобы вернуть управление терминалом, не дожидаясь завершения выполнения команды.

      Результат:

      ```text
      id: b1gqkbbj04d9********
      description: Delete folder
      created_at: "2024-10-17T05:16:30.648219069Z"
      created_by: ajei280a73vc********
      modified_at: "2024-10-17T05:16:30.648219069Z"
      metadata:
        '@type': type.googleapis.com/yandex.cloud.resourcemanager.v1.DeleteFolderMetadata
        folder_id: b1g66mft1vop********
        delete_after: "2024-10-18T03:47:19.441433Z"
      ```

      Где `id` — идентификатор операции, с помощью которого вы сможете позднее отследить ее статус.

  1. (Опционально) Получите информацию о статусе операции удаления:

      ```bash
      yc operation get <идентификатор_операции>
      ```

      После завершения удаления каталога, ответ будет содержать поле `done` со значением `true` (`done: true`).

  Подробнее о команде `yc resource-manager folder delete` читайте в [справочнике CLI](../../../cli/cli-ref/resource-manager/cli-ref/folder/delete.md).

- Terraform {#tf}

  Если у вас еще нет Terraform, [установите его и настройте провайдер Yandex Cloud](../../../tutorials/infrastructure-management/terraform-quickstart.md#install-terraform).
  
  
  Чтобы управлять инфраструктурой с помощью Terraform от имени сервисного аккаунта или пользовательских аккаунтов: аккаунта на Яндексе, федеративного аккаунта и локального пользователя, [аутентифицируйтесь](../../../terraform/authentication.md) соответствующим способом.

  Чтобы удалить каталог, созданный с помощью Terraform:

  1. Откройте файл конфигурации Terraform и удалите фрагмент с описанием каталога.

      {% cut "Пример описания каталога в конфигурации Terraform" %}

      ```hcl
      ...
      resource "yandex_resourcemanager_folder" "folder1" {
        cloud_id    = "b1gia12lt1tp********"
        name        = "new-folder"
        description = "this is my default-folder"
      }
      ...
      ```

      {% endcut %}

      Подробнее о параметрах ресурса `yandex_resourcemanager_folder` в Terraform читайте в [документации провайдера](../../../terraform/resources/resourcemanager_folder.md).

  1. В командной строке перейдите в папку, где расположен конфигурационный файл Terraform.

  1. Проверьте конфигурацию командой:

      ```
      terraform validate
      ```

      Если конфигурация является корректной, появится сообщение:

      ```
      Success! The configuration is valid.
      ```

  1. Выполните команду:

      ```
      terraform plan
      ```

      В терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.

  1. Примените изменения конфигурации:

      ```
      terraform apply
      ```

  1. Подтвердите изменения: введите в терминал слово `yes` и нажмите **Enter**.

      Проверить удаление каталога можно в [консоли управления](https://kz.console.yandex.cloud) или с помощью команды [CLI](../../../cli/quickstart.md):

      ```
      yc resource-manager folder list
      ```

- API {#api}

  Чтобы удалить каталог, воспользуйтесь методом REST API [delete](../../api-ref/Folder/delete.md) для ресурса [Folder](../../api-ref/Folder/index.md) или вызовом gRPC API [FolderService/Delete](../../api-ref/grpc/Folder/delete.md).

{% endlist %}

Удаление начинается с остановки ресурсов. Каталог переходит в статус `PENDING_DELETION`. Запускается подготовка к удалению. Время нахождения в этом статусе зависит от выбранного срока удаления. Удаление каталога, находящегося в статусе `PENDING_DELETION`, можно отменить. Для этого в [консоли управления](https://kz.console.yandex.cloud/cloud) справа от имени каталога нажмите значок ![***](../../../_assets/console-icons/ellipsis.svg) и выберите пункт **Отменить удаление**.

{% note alert %}

Пока каталог находится в статусе `PENDING_DELETION`, ваши диски, зарезервированные IP-адреса и другие данные продолжают храниться и тарифицироваться. 

Пока каталог находится в статусе `DELETING` тарификация платных ресурсов продолжается, если метрики фиксируют их потребление.

Стоимость хранения рассчитывается по прежнему тарифу. Следите за тарификацией ресурсов в [сервисе Yandex Cloud Billing](https://kz.console.yandex.cloud/billing).

{% endnote %}

После завершения подготовки к удалению и срока удаления каталог переходит в статус `DELETING`. В этом статусе происходит процесс необратимого удаления, занимающий до 72 часов. В результате вместе с каталогом будут удалены все его ресурсы.

Удаление каталога может быть отменено системой, если в нем есть ресурсы, которые нельзя удалить. Подробнее об этом читайте в разделе [Причины невозможности удаления каталогов](../../concepts/resources-hierarchy.md#inability-to-delete). После отмены удаления каталог вернется в статус `ACTIVE`, а пользователь получит сообщение с описанием причин, которые не позволили удалить каталог.

[*organization]: Организация — это высший ресурс в иерархии ресурсной модели Yandex Cloud, который объединяет ресурсы всех остальных сервисов. Также организации используются для управления пользователями и параметрами их аутентификации и авторизации. Подробнее читайте в разделе [Организация](../../../organization/concepts/organization.md).

[*roles]: Роль — это набор разрешений, который определяет допустимые операции с ресурсами в Yandex Cloud. Подробнее читайте в разделе [Роли](../../../iam/concepts/access-control/roles.md).

[*access_policies]: _Политики авторизации_ — это механизм контроля доступа Yandex Identity and Access Management, который позволяет управлять разрешениями на выполнение определенных операций с [ресурсами Yandex Cloud](../../../overview/roles-and-resources.md). Политики дополняют систему [ролей](../../../iam/concepts/access-control/roles.md) и позволяют сделать [управление доступом](../../../iam/concepts/access-control/index.md) более гибким. Подробнее читайте в разделе [Политики авторизации](../../../iam/concepts/access-control/access-policies.md).