# terraform-provider-dynamix ## Особенности и изменения в terraform-provider-dynamix по сравнению с terraform-provider-decort ### Пользовательская группа API Общее: значения незаданных пользователем блоков и атрибутов в terraform.tfstate сохраняюся как null. Параметры permanently, restore в terraform-provider-decort имели дефолтное значение false, а в terraform-provider-dynamix true. #### Аккаунты acconts Следующие поля в terraform-provider-decort имели тип списка (List), а в terraform-provider-dynamix имеют тип Single (единичная структура): | Название ресурса | Поля схемы | |--------------------------|-------------------| | data source dynamix_account_resource_consumption_list | consumed, reserved | | data source dynamix_account_resource_consumption_get | consumed, reserved, resource_limits | | data source dynamix_account_rg_list | computes, reserved, resource_limits, limits, reserved | | resource dynamix_account | resource_limits, computes, machines | | data source dynamix_disk_list_deleted | iotune | | data source dynamix_disk_list_unattached | iotune | | data source dynamix_disk_list | iotune | | data source dynamix_disk_replication | iotune, replication | | data source dynamix_disk | iotune | | resource dynamix_disk_replication | iotune, replication | | resource dynamix_disk | iotune | #### Ресурсная группа disks | Название ресурса | Поля схемы | Изменение по сравнению с terraform-provider-decort | Комментарий | |------------------------------------------|-------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | resource dynamix_disk | iotune, shareable | Если при создании ресурса диска операция настроки лимитов (поле iotune) и/или операция поделиться диском (поле shareable) выполняются некорректно, теперь ресурс создается с предупреждениями (Warnings). Ранее ресурс создавался с ошибками (Errors). | Данное изменение касается только создания ресурса. Обновление ресурса проходит также: если операция изменения iotune и/или shareable выполняется некорректно, возвращаются ошибки (Errors). | | resource dynamix_disk | - | Операция автоматического восстановления диска (для диска, находящегося в корзине) теперь происходит при чтении ресурса. Ранее она происходила при обновлении ресурса. | | | data source dynamix_disk_list_unattached | ckey, meta | Изменилось названия поля с "_ckey" на "ckey" и с "_meta" на "meta". | | Следующие поля в terraform-provider-decort имели тип списка (List), а в terraform-provider-dynamix имеют тип Single (единичная структура): | Название ресурса | Поля схемы | |------------------------------------------|------------| | data source dynamix_disk_list_unattached | iotune | | data source dynamix_disk | iotune | | data source dynamix_disk_list | iotune | | data source dynamix_disk_list_deleted | iotune | | resource dynamix_disk | iotune | #### Ресурсная группа rg | Название ресурса | Поля схемы | Изменение по сравнению с terraform-provider-decort | Комментарий | |--------------------------------|------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | resource dynamix_resgroup | def_net_type | Поле def_net_type теперь только Optional (не Computed). Если не задан блок def_net, оно отображает текущий статус def_net_type. В случае если задан блок def_net, то текущий тип сети по умолчанию находится в поле def_net.net_type. | При другой реализации возникают ошибки, т.к. к вычисляемому полю def_net_type обращаются сразу две разные структуры, и фреймворк выдает ошибку при несовпадении плана и платформы, что неизбежно, когда к полю обращаются две разные структуры. | | resource dynamix_resgroup | def_net, access, quota | Блоки def_net, access, quota стали атрибутами. При конфигурации ресурса задаются как атрибуты (через знак равно).
Стало: def_net = {}.
Было: def_net {}. | | | resource dynamix_resgroup | force, permanently | Новые дефолтные значения: true.
Старые дефолтные значения: false. | | | resource dynamix_resgroup | restore | Новое дефолтное значение: true. | | | data source dynamix_rg_usage | seps | Изменилась внутренняя структура списка seps
Было: sep_id (string), map (map[string]string).
Стало: sed_id (string), data_name (string), disk_size (float64), disk_size_max (float64) | Теперь структура seps аналогична таковой для data sources dynamix_rg_get_resource-consumption, dynamix_rg_resource_consumption_list. | | data source dynamix_rg_list_lb | acl | Удалено вычисляемое поле acl. | Причина: несоответствие типов acl в terraform-provider-decort и ACL в sdk. | Следующие поля в terraform-provider-decort имели тип списка (List), а в terraform-provider-dynamix имеют тип Single (единичная структура): | Название ресурса | Поля схемы | |--------------------------------------------------|------------------------------------------------------------------------| | data source dynamix_rg_resource_consumption_list | consumed, reserved, resource_limits | | data source dynamix_rg | resource_limits | | data source dynamix_rg_get_resource_consumption | consumed, reserved, resource_limits | | data source dynamix_rg_list | resource_limits | | data source dynamix_rg_list_deleted | resource_limits | | data source dynamix_rg_list_lb | server_default_settings, server_settings, primary_node, secondary_node | | resource dynamix_resgroup | quota, def_net | #### Внешние сети extnet Следующие поля в terraform-provider-decort имели тип списка (List), а в terraform-provider-dynamix имеют тип Single (единичная структура): | Название ресурса | Поля схемы | |----------------------------|-------------------| | data source dynamix_extnet | default_qos, vnfs | #### Кластеры k8s Следующие поля в terraform-provider-decort имели тип списка (List), а в terraform-provider-dynamix имеют тип Single (единичная структура): | Название ресурса | Поля схемы | |--------------------------------------|-----------------| | data source dynamix_k8s | acl, masters | | data source dynamix_k8s_list | service_account | | data source dynamix_k8s_list_deleted | service_account | | resource dynamix_k8s_cp | acl | #### Образы image Параметр permanently в terraform-provider-decort имел дефолтное значение false, а в terraform-provider-dynamix true. #### Внутренние сети vins | Название ресурса | Поля схемы | Изменение по сравнению с terraform-provider-decort | Комментарий | |--------------------------|-------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------| | data source dynamix_vins | ckey | Название вычисляемых полей изменено с "_ckey" на "ckey". | Переименование связано с ограничениями terraform framework. | | resource dynamix_vins | ckey | Название вычисляемых полей изменено с "_ckey" на "ckey". | Переименование связано с ограничениями terraform framework. | | resource dynamix_vins | ext_net_id, ext_ip_addr | Удалены вычисляемые поля ext_net_id и ext_ip_addr. | При создании и изменении внешних сетей используется блок ext_net {ext_net_id int; ext_net_ip string}. | | resource dynamix_vins | force, permanently | Новые дефолтные значения: true.
Старые дефолтные значения: false. | | | resource dynamix_vins | restore | Новое дефолтное значение: true. | | | resource dynamix_vins | - | Если при обновлении ресурса vins какая-либо операция (изменение полей/блоков enable, ext_net, ip, nat_rule, vnfdev_restart, vnfdev_redeploy) не может быть выполнена, возвращаются ошибки (Errors). | Ранее ресурс изменялся с предупреждениями (Warnings). | | resource dynamix_vins | nat_rule | В блоке nat_rule поля int_ip и ext_port_start стали обязательными. Ранее были опциональными. | | Следующие поля в terraform-provider-decort имели тип списка (List), а в terraform-provider-dynamix имеют тип Single (единичная структура): | Название ресурса | Поля схемы | |--------------------------|----------------------------------------------------------------------------------------------------| | data source dynamix_vins | vnf_dev, config, mgmt, resources, qos, default_qos, vnfs, dhcp, devices, primary, gw, nat | | resource dynamix_vins | ext_net, vnf_dev, config, mgmt, resources, qos, default_qos, vnfs, dhcp, devices, primary, gw, nat | #### Виртуальные машины KVM KVMVM | Название ресурса | Поля схемы | Изменение по сравнению с terraform-provider-decort | Комментарий | |------------------------|-------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------| | resource dynamix_kvmvm | disks | Поле удалено | Исключено дублирование работы с дисками, которое можно производить при помощи ресурса dynamix_disk | | resource dynamix_kvmvm | affinity_rules, anti_affinity_rules | Изменен тип с List на Set | | | resource dynamix_kvmvm | force, permanently | Новые дефолтные значения: true.
Старые дефолтные значения: false. | | | resource dynamix_kvmvm | restore | Новое дефолтное значение: true. | | | resource dynamix_kvmvm | - | Операция автоматического восстановления диска (для диска, находящегося в корзине) теперь происходит при чтении ресурса. Ранее она происходила при обновлении ресурса. | | Следующие поля в terraform-provider-decort имели тип списка (List), а в terraform-provider-dynamix имеют тип Single (единичная структура): | Название ресурса | Поля схемы | |----------------------------------------|---------------------------------------------------------| | data source dynamix_kvmvm | acl, iotune, replication, qos | | data source dynamix_kvmvm_list | qos | | data source dynamix_kvmvm_list_deleted | qos | | data source dynamix_kvmvm_user_list | items | | resource dynamix_kvmvm | rollback, cd, boot_disk, acl, qos, iotune, replication | #### Балансировщики нагрузок lb Параметры permanently и restore в terraform-provider-decort имел дефолтное значение false, а в terraform-provider-dynamix true. Следующие поля в terraform-provider-decort имели тип списка (List), а в terraform-provider-dynamix имеют тип Single (единичная структура): | Название ресурса | Поля схемы | |-------------------------------------|------------------------------------------------------------------------| | data source dynamix_lb | server_default_settings, server_settings, primary_node, secondary_node | | data source dynamix_lb_list | server_default_settings, server_settings, primary_node, secondary_node | | data source dynamix_lb_list_deleted | server_default_settings, server_settings, primary_node, secondary_node | | resource dynamix_lb | server_default_settings, server_settings, primary_node, secondary_node | | resource dynamix_lb_backend | server_settings | ### Административная группа API #### Аккаунты accounts Следующие поля в terraform-provider-decort имели тип списка (List), а в terraform-provider-dynamix имеют тип Single (единичная структура): | Название ресурса | Поля схемы | |--------------------------|-------------------| | data source dynamix_cb_account_resource_consumption_list | consumed, reserved | | data source dynamix_cb_account_resource_consumption_get | consumed, reserved, resource_limits | | data source dynamix_cb_account_rg_list | computes, reserved, resource_limits, limits, reserved | | resource dynamix_cb_account | resource_limits, computes, machines | | data source dynamix_cb_disk_list_deleted | iotune | | data source dynamix_cb_disk_list_unattached | iotune | | data source dynamix_cb_disk_list | iotune | | data source dynamix_cb_disk_replication | iotune, replication | | data source dynamix_cb_disk | iotune | | resource dynamix_cb_disk_replication | iotune, replication | | resource dynamix_cb_disk | iotune | | #### Диски disks | Название ресурса | Поля схемы | Изменение по сравнению с terraform-provider-decort | Комментарий | |------------------------------------------|-------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | resource dynamix_cb_disk | iotune, shareable | Если при создании ресурса диска операция настроки лимитов (поле iotune) и/или операция поделиться диском (поле shareable) выполняются некорректно, теперь ресурс создается с предупреждениями (Warnings). Ранее ресурс создавался с ошибками (Errors). | Данное изменение касается только создания ресурса. Обновление ресурса проходит также: если операция изменения iotune и/или shareable выполняется некорректно, возвращаются ошибки (Errors). | | resource dynamix_cb_disk | - | Операция автоматического восстановления диска (для диска, находящегося в корзине) теперь происходит при чтении ресурса. Ранее она происходила при обновлении ресурса. | | | data source dynamix_cb_disk_list_unattached | ckey, meta | Изменилось названия поля с "_ckey" на "ckey" и с "_meta" на "meta". | | Следующие поля в terraform-provider-decort имели тип списка (List), а в terraform-provider-dynamix имеют тип Single (единичная структура): | Название ресурса | Поля схемы | |------------------------------------------|------------| | data source dynamix_cb_disk_list_unattached | iotune | | data source dynamix_cb_disk | iotune | | data source dynamix_cb_disk_list | iotune | | data source dynamix_cb_disk_list_deleted | iotune | | resource dynamix_cb_disk | iotune |