Функция доступна в провайдере версии 4.5.1 и выше.

_Resource_ функция **decort_cb_pcidevice** служит для управления устройств с шиной PCI. Функция позволяет:
- Создать устройство
- Удалить устройство
- Включить/отключить устройство

## Аргументы

_Resource_ функция **decort_cb_pcidevice** принимает следующие аргументы:

| Аргумент | Тип | Обязательный | Описание |
| --- | --- | --- | --- |
| name | string | :heavy_check_mark: | Имя устройства |
| hw_path | string | :heavy_check_mark: | Путь до устройства (HW Path) |
| rg_id | int | :heavy_check_mark: | id ресурсной группы устройства |
| stack_id | int | :heavy_check_mark: | id стака устройства |
| description | string | :x: | Описание устройства |
| enable | bool | :x: | Доступность устройства, может использоваться на уже созданном ресурсе |
| force_disable | bool | :x: | Принудительное отключение устройства, используется при отключении устройства |
| force_delete | bool | :x: | Принудительное удаление устройства, используется при удалении устройства |
| device_id | int | :x: | id устройства, может быть использовано для формирования .tfstate, при наличии ресурса в облаке |

## Возвращаемые значения

В случае успешного выполнения _resource_ функция **decort_cb_pcidevice** возвращает в указанную при вызове переменную элемент, который состоит из следующих параметров:

| Параметр | Тип | Описание |
| --- | --- | --- |
| ckey | string | CKey |
| meta | []string | Мета информация |
| compute_id | int | id вычислительной площадки |
| description | string | Описание |
| guid | int | Внутренний id |
| hw_path | string | HW Путь |
| device_id | int | id устройства |
| name | string | Наименование устройства |
| rg_id | int | id ресурсной группы (resource group) |
| stack_id | int | id стэка |
| status | string | Статус устройства |
| system_name | string | Системное имя устройства |

## Пример использования

Пример вызова _resource_ функции **decort_cb_pcidevice**:

```terraform
resource "decort_cb_pcidevice" "pd" {
  #имя устройства
  #обязательный параметр
  #тип - строка
  #используется при создании
  name = "test_device"

  #путь до устройства
  #обязательный параметр
  #тип - строка
  #используется при создании
  hw_path = "0000:01:00.0"

  #описание устройства
  #опциональный параметр
  #тип - строка
  #используется при создании
  #description = "test desc"

  #id ресурсной группы устройства
  #обязательный параметр
  #тип - целое число
  #используется при создании
  rg_id = 1111

  #id стака устройства
  #обязательный параметр
  #тип - целое число
  #используется при создании
  stack_id = 11

  #доступность устройства
  #опциональный параметр
  #тип - булев
  #используется при создании и обновлении
  #enable = false

  #принудительное отключение устройства
  #опциональный параметр
  #может использоваться на созданном ресурсе
  #тип - булев
  #используется при обновлении
  #force_disable = true

  #принудительное удаление устройства
  #опциональный параметр
  #тип - булев
  #используется при удалении
  #force_delete = true

  #id устройства
  #опциональный параметр
  #позволяет "восстановить" состояние ресурса терраформа на локальной машине
  #тип - целое число
  #device_id = 86
}
# once the above directive completes, pcidevice will be accessible
# as decort_cb_pcidevice.pd
```

Данный пример подразумевает, что ранее по тексту tf-файла выполнена корректная инициализация провайдера (подробнее об инициализации Terraform провайдера DECORT см. соответствующий [раздел](https://repository.basistech.ru/BASIS/wiki-terraform-provider-decort/src/branch/main/4.9.4/04.02-Инициализация-Terraform-провайдера-DECORT.md)).

После успешного завершения такого вызова **decort_cb_pcidevice** в переменной `decort_cb_pcidevice.pd` будут сохранены возвращаемые значения.
