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

_Data source_ функция **decort_cb_node** служит для получения информации об узле платформы.

## Аргументы
_Data source_ функция **decort_cb_node** принимает следующие аргументы:

| Аргумент | Тип | Обязательный | Описание |
| --- | --- | --- | --- |
| node_id | int | :heavy_check_mark: | ID узла платформы |

## Возвращаемые значения
В случае успешного выполнения _data source_ функция **decort_cb_node** возвращает в указанную при вызове переменную, которая состоит из следующих параметров:

| Параметр | Тип | Описание |
| --- | --- | --- |
| consumption | Struct{} [см. ниже](#Описание-структуры-consumed-и-reserved) | Информация о ресурсах |
| cpu_info | Struct{} [см. ниже](#Описание-структуры-cpu_info) | Информация о CPU |
| cpu_allocation_ratio | int | Отношение выделения CPU |
| dpdk | [см. ниже](#Описание-структуры-dpdk) | Информация о dpdk |
| gid | int | Grid ID |
| ipaddr | []string | IP адрес |
| isolated_cpus | []string | Изолированные CPU |
| name | string | Имя ноды |
| need_reboot | bool | Флаг перезапуска |
| net_addr | Struct{} [см. ниже](#Описание-структуры-net_addr) | Информация о адресе backplane1 ноды |
| network_mode | struct | тип работы сети |
| nic_info | []Struct{} [см. ниже](#Описание-структуры-nic_info) | Информация о сетевых интерфейсах |
| numa_topology | Struct{} [см. ниже](#Описание-структуры-numa_topology) | Топология numa (Non Uniform Memory Access) |
| reserved_cpus | []string | Зарезервированные CPU |
| roles | []string | Список ролей |
| sriov_enabled | bool | Индикатор включения виртуализации сетевых интерфейсов для ВМ узла (SR-IOV) |
| stack_id | int | ID стека |
| status | string | Статус узла |
| version | string | Версия платформы |
| to_active | Struct{} [см. ниже](#Описание-структуры-role) | запись о переходе в состояние active |
| to_installing | Struct{} [см. ниже](#Описание-структуры-role) | запись о переходе в состояние installing |
| to_maintenance | Struct{} [см. ниже](#Описание-структуры-role) | запись о переходе в состояние maintenance |
| to_restricted | Struct{} [см. ниже](#Описание-структуры-role) | запись о переходе в состояние restricted |

### Описание структуры consumption
| Параметр | Тип | Описание |
| --- | --- | --- |
| consumed | Struct{} [см. ниже](#Описание-структуры-consumed) | Информация о текущих ресурсах |
| free | Struct{} [см. ниже](#Описание-структуры-free-reserved-total) | Информация о свободных ресурсах |
| reserved | Struct{} [см. ниже](#Описание-структуры-free-reserved-total) | Информация о зарезервированных ресурсах |
| total | Struct{} [см. ниже](#Описание-структуры-free-reserved-total) | Информация об общих ресурсах |
| hostname | string | Имя хоста |

### Описание структуры consumed
| Параметр | Тип | Описание |
| --- | --- | --- |
| ram | int | Количество RAM |
| computes | int | Количество ВМ |
| routers | int | Количество роутеров |
| vcpu | int | vcpu |

### Описание структуры free reserved total
| Параметр | Тип | Описание |
| --- | --- | --- |
| ram | int | Количество RAM |

### Описание структуры cpu_info
| Параметр | Тип | Описание |
| --- | --- | --- |
| clock_speed | int | Тактовая частота |
| core_count | int | Кол-во центральных процессоров |
| phys_count | int | Кол-во физических cpu |

### Описание структуры dpdk
| Параметр | Тип | Описание |
| --- | --- | --- |
| bridges | Struct{} [см. ниже](#Описание-структуры-bridges) | Информация об OVS Bridge |
| hp_memory | map[string]int | Объем память для каждого узла |
| pmd_cpu | []int | Список CPU используемых для работы PMD |

### Описание структуры bridges
| Параметр | Тип | Описание |
| --- | --- | --- |
| backplane1 | Struct{} [см. ниже](#Описание-структуры-backplane1) | Информация об backplane1 bridge |

### Описание структуры backplane1
| Параметр | Тип | Описание |
| --- | --- | --- |
| interfaces | []string | Список интерфейсов для моста |
| numa_node | int | Номер Numa узла |

### Описание структуры net_addr
| Параметр | Тип | Описание |
| --- | --- | --- |
| ip | []string | IP адрес |
| name | string | Имя адреса |

### Описание структуры nic_info
| Параметр | Тип | Описание |
| --- | --- | --- |
| driver | string | Драйвер |
| max_vfs | int | Максимальное кол-во vfs |
| numa_node | int | Узел numa (Non Uniform Memory Access) |
| num_vfs | int | Количество vfs |
| os_name | string | Название ОС |
| pci_slot | string | Pci Slot |
| vf_list | []string | список идентификаторов VF, зарезервированных на узле для vfpool |

### Описание структуры numa_topology
| Параметр | Тип | Описание |
| --- | --- | --- |
| node_num | int | Коливество узлов |
| nodes | []Struct{} [см. ниже](#описание-структуры-nodes) | Информация об узлах |

### Описание структуры nodes
| Параметр | Тип | Описание |
| --- | --- | --- |
| cpu_list | []int | Список CPU |
| memory | Struct{} [см. ниже](#описание-структуры-memory) | Информация о памяти |

### Описание структуры memory
| Параметр | Тип | Описание |
| --- | --- | --- |
| one_g | int | 1G memory |
| two_m | int | 2M memory |
| total | int | Общая память |

### Описание структуры role
| Параметр | Тип | Описание |
| --- | --- | --- |
| actor | string | Автор |
| reason | string | Причина |
| time | int | Время |

## Пример использования
Пример вызова _data source_ функции **decort_cb_node**:
```terraform
data "decort_cb_node" "node" {
  #id ноды
  #обязательный параметр
  #тип - целое число
  node_id = 12
}
```

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

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