[Yandex Cloud documentation](../../index.md) > [Yandex IoT Core](../index.md) > [Concepts](index.md) > Backups

# Backing up to Yandex IoT Core

{% note warning %}

Yandex IoT Core is no longer available to new users. 

Current users can create resources until November 1, 2026. Afterwards, the service will go read-only and cease to operate on December 1, 2026. For more information on the timing and procedure, see [Service shutdown](../sunset.md).

{% endnote %}

Data in Yandex IoT Core is stored securely and replicated within the Yandex Cloud infrastructure. You can view:
* [Lists of registries](#registry-list).
* [Information about registries](#registry-get).
* [Lists of registry certificates](#registry-certificates-list).
* [Lists of registry devices](#device-get).
* [Information about the devices](#device-get).
* [Lists of device certificates](#device-certificates-list).
* [Lists of device aliases](#alias-list).

{% note warning %}

Registry and device passwords are not backed up. We recommend saving them on your own.

{% endnote %}

## Getting a list of registries {#registry-list}

{% list tabs group=instructions %}

- Management console {#console}

  1. In the [management console](https://console.yandex.cloud), select the folder where you want to get a list of registries.
  1. Navigate to **IoT Core**.
  1. The **Registries** page will show the list of registries.

- CLI {#cli}

  If you do not have the Yandex Cloud CLI yet, [install and initialize it](../../cli/quickstart.md#install).
  
  The folder used by default is the one specified when [creating](../../cli/operations/profile/profile-create.md) the CLI profile. To change the default folder, use the `yc config set folder-id <folder_ID>` command. You can also specify a different folder for any command using `--folder-name` or `--folder-id`. If you access a resource by its name, the search will be limited to the default folder. If you access a resource by its ID, the search will be global, i.e., through all folders based on access permissions.

  1. View the description of the CLI command to get a list of registries:
	
      ```bash
      yc iot registry list --help
      ```

  1. Get a list of registries in the default folder:

      ```bash
      yc iot registry list
      ```

      Result:

      ```text
      +----------------------+-------------+
      |          ID          |    NAME     |
      +----------------------+-------------+
      | b91ki3851hab******** | my-registry |
      +----------------------+-------------+
      ```

- API {#api}

  To get a list of registries, use the [list](../api-ref/Registry/list.md) REST API method for the [Registry](../api-ref/Registry/index.md) resource or the [RegistryService/List](../api-ref/grpc/Registry/list.md) gRPC API call.

{% endlist %}

## Getting information about a registry {#registry-get}

{% list tabs group=instructions %}

- Management console {#console}

   1. In the [management console](https://console.yandex.cloud), select the folder where the registry is located.
   1. Navigate to **IoT Core**.
   1. Select the registry.
   1. The **Overview** page will show the registry details.

- CLI {#cli}

  If you do not have the Yandex Cloud CLI yet, [install and initialize it](../../cli/quickstart.md#install).

  The folder used by default is the one specified when [creating](../../cli/operations/profile/profile-create.md) the CLI profile. To change the default folder, use the `yc config set folder-id <folder_ID>` command. You can also specify a different folder for any command using `--folder-name` or `--folder-id`. If you access a resource by its name, the search will be limited to the default folder. If you access a resource by its ID, the search will be global, i.e., through all folders based on access permissions.

  1. View the description of the CLI command to get information about the registry:
	
      ```bash
      yc iot registry get --help
      ```

  1. Get detailed information about the registry by specifying its name or ID:

      ```bash
      yc iot registry get <registry_name>
      ```

      Result:

      ```text
      id: b91ki3851hab********
      folder_id: aoek49ghmknn********
      created_at: "2019-05-28T11:29:42.420Z"
      name: my-registry
      ```

- 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 relevant documentation 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 get detailed information about a registry using Terraform:
  1. Add the `data` and `output` sections to the Terraform configuration file:

     ```hcl
     data "yandex_iot_core_registry" "my_registry" {
       registry_id = "<registry_ID>"
     }

     output "registry_params" {
       value = data.yandex_iot_core_registry.my_registry.created_at
     }
     ```

     Where:
     * `data "yandex_iot_core_registry"`: Description of the registry as a data source:
       * `registry_id`: Registry ID.
     * `output "registry_params"`: Output variable that contains information about the registry creation timestamp:
       * `value`: Return value.

     You can replace `created_at` with another variable to get the information you need. For more information about the `yandex_iot_core_registry` data source properties, see [this provider guide](../../terraform/data-sources/iot_core_registry.md).
  1. Create the resources:

     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.

     Terraform will create all required resources and display their output variables. To check the results, run this command:

     ```bash
     terraform output
     ```

     Result:

     ```text
     registry_params = "2024-05-08T06:40:52Z"
     ```

- API {#api}

  To get detailed information about a registry, use the [get](../api-ref/Registry/get.md) REST API method for the [Registry](../api-ref/Registry/index.md) resource or the [RegistryService/Get](../api-ref/grpc/Registry/get.md) gRPC API call.

{% endlist %}

## Getting a list of registry certificates {#registry-certificates-list}

{% list tabs group=instructions %}

- Management console {#console}

   1. In the [management console](https://console.yandex.cloud), select the folder where the registry is located.
   1. Navigate to **IoT Core**.
   1. Select the registry.
   1. On the **Overview** page, go to the **Certificates** section.

- CLI {#cli}

  If you do not have the Yandex Cloud CLI yet, [install and initialize it](../../cli/quickstart.md#install).

  The folder used by default is the one specified when [creating](../../cli/operations/profile/profile-create.md) the CLI profile. To change the default folder, use the `yc config set folder-id <folder_ID>` command. You can also specify a different folder for any command using `--folder-name` or `--folder-id`. If you access a resource by its name, the search will be limited to the default folder. If you access a resource by its ID, the search will be global, i.e., through all folders based on access permissions.

  Get a list of registry certificates:

  ```bash
  yc iot registry certificate list --registry-name my-registry
  ```

  Result:

  ```text
  +------------------------------------------+---------------------+
  |               FINGERPRINT                |     CREATED AT      |
  +------------------------------------------+---------------------+
  | 0f511ea32139178edf73afb953a9cc39******** | 2019-05-29 16:46:23 |
  | 589ce1605019eeff7bb0992f290be0cd******** | 2019-05-29 16:40:48 |
  +------------------------------------------+---------------------+
  ```

- API {#api}

  To get a list of registry certificates, use the [listCertificates](../api-ref/Registry/listCertificates.md) REST API method for the [Registry](../api-ref/Registry/index.md) resource or the [RegistryService/ListCertificates](../api-ref/grpc/Registry/listCertificates.md) gRPC API call.

{% endlist %}

## Getting a list of registry devices {#device-list}

{% list tabs group=instructions %}

- Management console {#console}

	1. In the [management console](https://console.yandex.cloud), select the folder where the registry is located.
	1. Navigate to **IoT Core**.
	1. Select the registry.
	1. Navigate to the **Devices** tab.

- CLI {#cli}
  
	If you do not have the Yandex Cloud CLI yet, [install and initialize it](../../cli/quickstart.md#install).

	The folder used by default is the one specified when [creating](../../cli/operations/profile/profile-create.md) the CLI profile. To change the default folder, use the `yc config set folder-id <folder_ID>` command. You can also specify a different folder for any command using `--folder-name` or `--folder-id`. If you access a resource by its name, the search will be limited to the default folder. If you access a resource by its ID, the search will be global, i.e., through all folders based on access permissions.
    
	1. View the description of the CLI command to get a list of devices:
	
        ```bash
		yc iot device list --help
		```
    
	1. Get a list of devices in the registry by specifying its name or ID:

        ```bash
        yc iot device list --registry-name <registry_name>
        ```

        Result:
	
        ```
        +----------------------+-----------+
        |          ID          |   NAME    |
        +----------------------+-----------+
        | b9135goeh1uc******** | my-device |
        +----------------------+-----------+
        ```

- API {#api}

    To get a list of devices in a registry, use the [list](../api-ref/Device/list.md) REST API method for the [Device](../api-ref/Device/index.md) resource or the [DeviceService/List](../api-ref/grpc/Device/list.md) gRPC API call.

{% endlist %}

## Getting information about a device {#device-get}

{% list tabs group=instructions %}

- Management console {#console}

   1. In the [management console](https://console.yandex.cloud), select the folder where the device is located.
   1. Navigate to **IoT Core**.
   1. Select the registry where the device is located.
   1. Navigate to the **Devices** tab.
   1. Select the device.
   1. The **Overview** page will show the device details.

- CLI {#cli}
  
  If you do not have the Yandex Cloud CLI yet, [install and initialize it](../../cli/quickstart.md#install).
  
  The folder used by default is the one specified when [creating](../../cli/operations/profile/profile-create.md) the CLI profile. To change the default folder, use the `yc config set folder-id <folder_ID>` command. You can also specify a different folder for any command using `--folder-name` or `--folder-id`. If you access a resource by its name, the search will be limited to the default folder. If you access a resource by its ID, the search will be global, i.e., through all folders based on access permissions.
  1. View the description of the CLI command to get information about a device:
	
      ```bash
      yc iot device get --help
      ```

  1. Get detailed information about a device by specifying its name or ID:
  
      ```bash
      yc iot device get <device_name>
      ```

      Result:

      ```text
      id: b9135goeh1uc********
      registry_id: b91ki3851hab********
      created_at: "2019-05-28T16:08:30.938Z"
      name: my-device
      ```

- 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 relevant documentation 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 get detailed information about a device using Terraform:
  1. Add the `data` and `output` sections to the Terraform configuration file:

     ```hcl
     data "yandex_iot_core_device" "my_device" {
       device_id = "<device_ID>"
     }

     output "device_params" {
       value = data.yandex_iot_core_device.my_device.registry_id
     }
     ```

     Where:
     * `data "yandex_iot_core_device"`: Description of the device as a data source:
       * `device_id`: Device ID.
     * `output "device_params"`: Output variable containing information about the registry the device belongs to:
       * `value`: Return value.

     You can replace `registry_id` with another variable to get the information you need. For more information about the `yandex_iot_core_device` data source properties, see [this provider guide](../../terraform/data-sources/iot_core_device.md).
  1. Create the resources:

     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.

     Terraform will create all required resources and display their output variables. To check the results, run this command:

     ```bash
     terraform output
     ```

     Result:

     ```text
     device_params = "are7ajlrf493********"
     ```
 
- API {#api}

  To get detailed information about a device, use the [get](../api-ref/Device/get.md) REST API method for the [Device](../api-ref/Device/index.md) resource or the [DeviceService/Get](../api-ref/grpc/Device/get.md) gRPC API call.

{% endlist %}

## Getting a list of device certificates {#device-certificates-list}

{% list tabs group=instructions %}

- Management console {#console}

   1. In the [management console](https://console.yandex.cloud), select the folder where the device is located.
   1. Navigate to **IoT Core**.
   1. Select the registry where the device is located.
   1. Navigate to the **Devices** tab.
   1. Select the device.
   1. On the **Overview** page, go to the **Certificates** section.

- CLI {#cli}

  If you do not have the Yandex Cloud CLI yet, [install and initialize it](../../cli/quickstart.md#install).

  The folder used by default is the one specified when [creating](../../cli/operations/profile/profile-create.md) the CLI profile. To change the default folder, use the `yc config set folder-id <folder_ID>` command. You can also specify a different folder for any command using `--folder-name` or `--folder-id`. If you access a resource by its name, the search will be limited to the default folder. If you access a resource by its ID, the search will be global, i.e., through all folders based on access permissions.

  View the list of device certificates:

  ```bash
  yc iot device certificate list --device-name my-device
  ```

  Result:

  ```text
  +------------------------------------------+---------------------+
  |               FINGERPRINT                |     CREATED AT      |
  +------------------------------------------+---------------------+
  | df3cc4f337eba01a264803d15b119e2d******** | 2019-05-29 17:14:36 |
  | 65e5b050069da5ca5996a4a8a9251409******** | 2019-05-29 17:14:18 |
  +------------------------------------------+---------------------+
  ```

- API {#api}

  To get a list of device certificates, use the [listCertificates](../api-ref/Device/listCertificates.md) REST API method for the [Device](../api-ref/Device/index.md) resource or the [DeviceService/ListCertificates](../api-ref/grpc/Device/listCertificates.md) gRPC API call.

{% endlist %}

## Getting a list of device aliases {#alias-list}

{% list tabs group=instructions %}

- Management console {#console}

   1. In the [management console](https://console.yandex.cloud), select the folder where the device is located.
   1. Navigate to **IoT Core**.
   1. Select the registry where the device is located.
   1. Navigate to the **Devices** tab.
   1. Select the device.
   1. On the **Overview** page, go to the **Aliases** section.

- CLI {#cli}
    
    If you do not have the Yandex Cloud CLI yet, [install and initialize it](../../cli/quickstart.md#install).
    
    The folder used by default is the one specified when [creating](../../cli/operations/profile/profile-create.md) the CLI profile. To change the default folder, use the `yc config set folder-id <folder_ID>` command. You can also specify a different folder for any command using `--folder-name` or `--folder-id`. If you access a resource by its name, the search will be limited to the default folder. If you access a resource by its ID, the search will be global, i.e., through all folders based on access permissions.
    
    You can only get a list of aliases for all devices in the registry.
    
    Get a list of aliases for all devices in the registry:
    
    ```bash
    yc iot registry list-device-topic-aliases my-registry
    ```

    Result:

    ```text
    +----------+----------------------------------------+----------------------+
    |  ALIAS   |              TOPIC PREFIX              |      DEVICE ID       |
    +----------+----------------------------------------+----------------------+
    | commands | $devices/arenak5ciqss********/commands | arenak5ciqss******** |
    +----------+----------------------------------------+----------------------+
   ```

- API {#api}

   To get a list of device aliases, use the [get](../api-ref/Device/get.md) REST API method for the [Device](../api-ref/Device/index.md) resource or the [DeviceService/Get](../api-ref/grpc/Device/get.md) gRPC API call.

{% endlist %}

## Getting a list of brokers {#broker-list}

{% list tabs group=instructions %}

- Management console {#console}

  1. In the [management console](https://console.yandex.cloud), select the folder where you want to get a list of brokers.
  1. Navigate to **IoT Core**.
  1. In the left-hand panel, select **Brokers**. A list of brokers will be displayed on the **Brokers** page.

- CLI {#cli}

  If you do not have the Yandex Cloud CLI yet, [install and initialize it](../../cli/quickstart.md#install).
  
  The folder used by default is the one specified when [creating](../../cli/operations/profile/profile-create.md) the CLI profile. To change the default folder, use the `yc config set folder-id <folder_ID>` command. You can also specify a different folder for any command using `--folder-name` or `--folder-id`. If you access a resource by its name, the search will be limited to the default folder. If you access a resource by its ID, the search will be global, i.e., through all folders based on access permissions.

  1. View the description of the CLI command to get a list of brokers:
	
      ```bash
      yc iot broker list --help
      ```

  1. Get a list of brokers in the default folder:

      ```bash
      yc iot broker list
      ```

      Result:

      ```text
      +----------------------+-------------+
      |          ID          |    NAME     |
      +----------------------+-------------+
      | b91ki3851h********** | my-broker   |
      +----------------------+-------------+
      ```

- API {#api}

  To get a list of brokers, use the [list](../broker/api-ref/Broker/list.md) REST API method for the [Broker](../broker/api-ref/Broker/index.md) resource or the [BrokerService/List](../broker/api-ref/grpc/Broker/list.md) gRPC API call.

{% endlist %}

## Getting information about a broker {#broker-get}

{% list tabs group=instructions %}

- Management console {#console}

   1. In the [management console](https://console.yandex.cloud), select the folder where the broker is located.
   1. Navigate to **IoT Core**.
   1. In the left-hand panel, select **Brokers**.
   1. Select the broker. Detailed information about the broker will be displayed on the **Overview** page.

- CLI {#cli}

  If you do not have the Yandex Cloud CLI yet, [install and initialize it](../../cli/quickstart.md#install).

  The folder used by default is the one specified when [creating](../../cli/operations/profile/profile-create.md) the CLI profile. To change the default folder, use the `yc config set folder-id <folder_ID>` command. You can also specify a different folder for any command using `--folder-name` or `--folder-id`. If you access a resource by its name, the search will be limited to the default folder. If you access a resource by its ID, the search will be global, i.e., through all folders based on access permissions.

  1. View the description of the CLI command to get information about a broker:
	
      ```bash
      yc iot broker get --help
      ```

  1. Get detailed information about a broker by specifying its name or ID:

      ```bash
      yc iot broker get <broker_name>
      ```

      Result:

      ```text
      id: b91ki3851h**********
      folder_id: aoek49ghmk**********
      created_at: "2022-05-28T11:29:42.420Z"
      name: my-broker
      ```

- 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 relevant documentation 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 get information about a broker using Terraform:
  1. Add the `data` and `output` sections to the Terraform configuration file:

      ```hcl
      data "yandex_iot_core_broker" "my_broker" {
        broker_id = "<broker_ID>"
      }

      output "broker_params" {
        value = data.yandex_iot_core_broker.my_broker.created_at
      }
      ```

      Where:
      * `data "yandex_iot_core_broker"`: Description of the broker as a data source:
        * `broker_id`: Broker ID.
      * `output "broker_params"`: Output variable that contains information about the broker creation timestamp:
        * `value`: Return value.

      You can replace `created_at` with another variable to get the information you need. For more information about the `yandex_iot_core_broker` data source properties, see [this provider guide](../../terraform/data-sources/iot_core_broker.md).
  1. Create the resources:

      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.

      Terraform will create all required resources and display their output variables. To check the results, run this command:

      ```bash
      terraform output
      ```

      Result:

      ```text
      broker_params = "2024-05-09T17:39:54Z"
      ```

- API {#api}

  To get detailed information about a broker, use the [get](../broker/api-ref/Broker/get.md) REST API method for the [Broker](../broker/api-ref/Broker/index.md) resource or the [BrokerService/Get](../broker/api-ref/grpc/Broker/get.md) gRPC API call.

{% endlist %}

## Getting a list of broker certificates {#broker-certificates-list}

{% list tabs group=instructions %}

- Management console {#console}

   1. In the [management console](https://console.yandex.cloud), select the folder where the broker is located.
   1. Navigate to **IoT Core**.
   1. In the left-hand panel, select **Brokers**.
   1. Select the broker. A list of certificates will be displayed in the **Certificates** section.

- CLI {#cli}

  If you do not have the Yandex Cloud CLI yet, [install and initialize it](../../cli/quickstart.md#install).

  The folder used by default is the one specified when [creating](../../cli/operations/profile/profile-create.md) the CLI profile. To change the default folder, use the `yc config set folder-id <folder_ID>` command. You can also specify a different folder for any command using `--folder-name` or `--folder-id`. If you access a resource by its name, the search will be limited to the default folder. If you access a resource by its ID, the search will be global, i.e., through all folders based on access permissions.

  Get a list of broker certificates:

  ```bash
  yc iot broker certificate list --broker-name my-broker
  ```

  Result:

  ```text
  +------------------------------------------+---------------------+
  |               FINGERPRINT                |     CREATED AT      |
  +------------------------------------------+---------------------+
  | 0f511ea32139178edf73afb953a9cc********** | 2019-05-29 16:46:23 |
  | 589ce1605019eeff7bb0992f290be0********** | 2019-05-29 16:40:48 |
  +------------------------------------------+---------------------+
  ```

- API {#api}

  To get a list of broker certificates, use the [listCertificates](../broker/api-ref/Broker/listCertificates.md) REST API method for the [Broker](../broker/api-ref/Broker/index.md) resource or the [BrokerService/ListCertificates](../broker/api-ref/grpc/Broker/listCertificates.md) gRPC API call.

{% endlist %}