main 4.7.0
parent 040af43607
commit 36879efd58

@ -1,5 +1,33 @@
## Version 4.6.4
## Version 4.7.0
### Bugfix
- Fix bug that network reconnects to the compute if the weight field was not specified
### Feature
- Added decort_dpdknet and decort_dpdknet_list data sources in cloudapi/dpdknet and cloudbroker/dpdknet
- Added decort_dpdknet resource in cloudbroker/dpdknet
- Added decort_audit data source in cloudapi/audit
- Added decort_cb_audits_export_to_file data source in cloudbroker/audit
- Added field uniq_pools in decort_resgroup resource in cloudapi/rg which can be used when updating resource
- Added feature that allows to remove def_net in decort_resgroup(cloudapi/rg) and decort_cb_rg(cloudbroker/rg)
- Added the delete_async_mode field in resources "decort_snapshot" and "kvmvm"
- Added field guid in decort_cb_user_get_audit data source in cloudbroker/user
- Added the pci_devices field in resources cloudbroker/kvmvm, cloudapi/kvmvm, datasources cloudbroker/kvmvm, cloudapi/kvmvm
- Added field enabled in dataSourceImageListSchema in cloudapi/image and cloudbroker/image
- Added fields mtu and libvirt_settings in vnfInterfaceSchema in cloudapi/vins and cloudbroker/vins
- Added libvirt_settings filed in resources "decort_cb_kvmvm", "decort_kvmvm", datasources "decort_cb_kvmvm", "decort_cb_kvmvm_list", "decort_kvmvm", "decort_kvmvm_list"
- Added field enabled in dataSourceImageListSchema in cloudapi/image and cloudbroker/image
- Added fields meta and ckey in "decort_cb_grid" in cloudbroker/grid
- Added field bus_number in data sources "decort_vins", "decort_cb_vins" and resources "decort_vins", "decort_cb_vins" in cloudapi/vins, cloudbroker/vins
- Change drivers field from required to optional in resourceCDROMImageSchema in cloudbroker/image
- Added chipset, bus_number fileds in resources "decort_cb_kvmvm", "decort_kvmvm", datasources "decort_cb_kvmvm", "decort_cb_kvmvm_list", "decort_kvmvm", "decort_kvmvm_list"
- Added stack_id, image_id fileds in decort_cb_kvmvm_list
- Added chipset field in "decort_k8s", "decort_k8s_wg", "decort_cb_k8s_cp", "decort_cb_k8s_wg"
- Change drivers field from required to optional in decort_image_from_platform_disk and decort_cb_image_from_platform_disk
- Change client_ids field from []int to []string in decort_flipgroup_list
- Added feature to change IP network without stopping compute in resources "decort_cb_kvmvm", "decort_kvmvm" in cloudapi/kvmvm, cloudbroker/kvmvm
### Removed
- Remove apitask field in dataSourceAuditSchema in cloudbroker/audit
- The ability to interact with kvmppc has been removed
- Remove permanently field in resourceImageSchema, resourceVirtualImageSchema, resourceImageFromBlankComputeSchema, resourceImageFromPlatformDiskSchema in cloudapi/image and cloudbroker/image
- Remove recursive_delete field in resource decort_cb_account in cloudbroker/account and cloudapi/account
- The reason field has been deleted everywhere
- Remove permanently field in resourceCDROMImageSchema in cloudbroker/image

@ -186,7 +186,7 @@
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Copyright 2022 Basis LTD
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

@ -7,7 +7,7 @@ ZIPDIR = ./zip
BINARY=${NAME}
WORKPATH= ./examples/terraform.d/plugins/${HOSTNAME}/${NAMESPACE}/${NAMESPACE}/${VERSION}/${OS_ARCH}
MAINPATH = ./cmd/decort/
VERSION=4.6.4
VERSION=4.7.0
OS_ARCH=$(shell go env GOHOSTOS)_$(shell go env GOHOSTARCH)
FILES = ${BINARY}_${VERSION}_darwin_amd64\

@ -6,6 +6,7 @@ Terraform provider для платформы Digital Energy Cloud Orchestration
| Версия DECORT API | Версия провайдера Terraform |
| ------ | ------ |
| 4.1.0 | 4.7.x |
| 4.0.0 | 4.6.x |
| 3.8.9 | 4.5.x |
| 3.8.8 | 4.4.x |
@ -30,8 +31,10 @@ Terraform provider для платформы Digital Energy Cloud Orchestration
- Режим пользователя:
- Работа с accounts,
- Работа с audit,
- Работа с bservice,
- Работа с disks,
- Работа с dpdk,
- Работа с extnets,
- Работа с flipgroups,
- Работа с image,
@ -47,8 +50,9 @@ Terraform provider для платформы Digital Energy Cloud Orchestration
- Режим администратора:
- Работа с accounts,
- Работа с audits,
- Работа с audit,
- Работа с disks,
- Работа с dpdk,
- Работа с extnets,
- Работа с flipgroups,
- Работа с grids,

@ -27,6 +27,7 @@ description: |-
- `name` (String) Filter by name
- `page` (Number) Page number
- `size` (Number) Page size
- `sort_by` (String) sort by one of supported fields, format +|-(field)
- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts))
- `vins_id` (Number) Filter by ViNS ID
- `vins_name` (String) Filter by ViNS name

@ -0,0 +1,48 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "decort_audit Data Source - terraform-provider-decort"
subcategory: ""
description: |-
---
# decort_audit (Data Source)
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `audit_guid` (String) audit guid
### Optional
- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts))
### Read-Only
- `args` (String)
- `call` (String)
- `guid` (String)
- `id` (String) The ID of this resource.
- `kwargs` (String)
- `remote_addr` (String)
- `responsetime` (Number)
- `result` (String)
- `status_code` (Number)
- `tags` (String)
- `timestamp` (Number)
- `timestamp_end` (Number)
- `user` (String)
<a id="nestedblock--timeouts"></a>
### Nested Schema for `timeouts`
Optional:
- `default` (String)
- `read` (String)

@ -25,7 +25,6 @@ description: |-
### Read-Only
- `apitask` (String)
- `args` (String)
- `call` (String)
- `guid` (String)

@ -0,0 +1,33 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "decort_cb_audits_export_to_file Data Source - terraform-provider-decort"
subcategory: ""
description: |-
---
# decort_cb_audits_export_to_file (Data Source)
<!-- schema generated by tfplugindocs -->
## Schema
### Optional
- `file_path` (String) file path
- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts))
### Read-Only
- `id` (String) The ID of this resource.
<a id="nestedblock--timeouts"></a>
### Nested Schema for `timeouts`
Optional:
- `default` (String)
- `read` (String)

@ -0,0 +1,48 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "decort_cb_dpdknet Data Source - terraform-provider-decort"
subcategory: ""
description: |-
---
# decort_cb_dpdknet (Data Source)
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `dpdk_id` (Number) The unique ID of the subscriber-owner of the DPDK network
### Optional
- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts))
### Read-Only
- `account_access` (List of Number) List of accounts with access
- `compute_ids` (List of Number) Compute IDs which uses this DPDK network
- `created_time` (Number) Created time
- `desc` (String) Description of DPDK network
- `gid` (Number) ID of the grid (platform)
- `guid` (Number) DPDK network ID on the storage side
- `id` (String) The ID of this resource.
- `name` (String) Name of network
- `ovs_bridge` (String) OVS bridge in which interfaces for computers created
- `rg_access` (List of Number) List of resource groups with access
- `status` (String) DPDK network status
- `updated_time` (Number) Updated time
- `vlan_id` (Number) vlan ID
<a id="nestedblock--timeouts"></a>
### Nested Schema for `timeouts`
Optional:
- `default` (String)
- `read` (String)

@ -0,0 +1,63 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "decort_cb_dpdknet_list Data Source - terraform-provider-decort"
subcategory: ""
description: |-
---
# decort_cb_dpdknet_list (Data Source)
<!-- schema generated by tfplugindocs -->
## Schema
### Optional
- `by_id` (Number) Find by ID
- `compute_ids` (List of Number) Find by compute IDs
- `desc` (String) Find by description
- `gid` (Number) Find by GID
- `name` (String) Find by name
- `page` (Number) Page number
- `size` (Number) Page size
- `sort_by` (String) sort by one of supported fields, format +|-(field)
- `status` (String) Find by status
- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts))
### Read-Only
- `entry_count` (Number)
- `id` (String) The ID of this resource.
- `items` (List of Object) (see [below for nested schema](#nestedatt--items))
<a id="nestedblock--timeouts"></a>
### Nested Schema for `timeouts`
Optional:
- `default` (String)
- `read` (String)
<a id="nestedatt--items"></a>
### Nested Schema for `items`
Read-Only:
- `account_access` (List of Number)
- `compute_ids` (List of Number)
- `created_time` (Number)
- `desc` (String)
- `dpdk_id` (Number)
- `gid` (Number)
- `guid` (Number)
- `name` (String)
- `ovs_bridge` (String)
- `rg_access` (List of Number)
- `status` (String)
- `updated_time` (Number)
- `vlan_id` (Number)

@ -26,11 +26,13 @@ description: |-
### Read-Only
- `auth_broker` (List of String)
- `ckey` (String)
- `flag` (String)
- `gid` (Number)
- `guid` (Number)
- `id` (Number) The ID of this resource.
- `location_code` (String)
- `meta` (List of String) meta
- `name` (String)
<a id="nestedblock--timeouts"></a>

@ -0,0 +1,114 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "decort_cb_grid_get_settings Data Source - terraform-provider-decort"
subcategory: ""
description: |-
---
# decort_cb_grid_get_settings (Data Source)
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `grid_id` (Number) grid (platform) ID
### Optional
- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts))
### Read-Only
- `allowed_ports` (List of Number)
- `cleanup_retention_period` (Number)
- `docker_registry` (List of Object) (see [below for nested schema](#nestedatt--docker_registry))
- `enable_uptime_monitor` (Boolean)
- `extnet_max_pre_reservations_num` (Number)
- `healthcheck_notifications` (List of Object) (see [below for nested schema](#nestedatt--healthcheck_notifications))
- `id` (String) The ID of this resource.
- `k8s_cleanup_enabled` (Boolean)
- `limits` (String)
- `location_url` (String)
- `net_qos` (List of Object) (see [below for nested schema](#nestedatt--net_qos))
- `networks` (String)
- `prometheus` (List of Object) (see [below for nested schema](#nestedatt--prometheus))
- `vins_max_pre_reservations_num` (Number)
- `vnfdev_mgmt_net_range` (String)
<a id="nestedblock--timeouts"></a>
### Nested Schema for `timeouts`
Optional:
- `default` (String)
- `read` (String)
<a id="nestedatt--docker_registry"></a>
### Nested Schema for `docker_registry`
Read-Only:
- `password` (String)
- `server` (String)
- `username` (String)
<a id="nestedatt--healthcheck_notifications"></a>
### Nested Schema for `healthcheck_notifications`
Read-Only:
- `emails` (List of Object) (see [below for nested schema](#nestedobjatt--healthcheck_notifications--emails))
<a id="nestedobjatt--healthcheck_notifications--emails"></a>
### Nested Schema for `healthcheck_notifications.emails`
Read-Only:
- `address` (String)
- `enabled` (Boolean)
<a id="nestedatt--net_qos"></a>
### Nested Schema for `net_qos`
Read-Only:
- `extnet` (List of Object) (see [below for nested schema](#nestedobjatt--net_qos--extnet))
- `vins` (List of Object) (see [below for nested schema](#nestedobjatt--net_qos--vins))
<a id="nestedobjatt--net_qos--extnet"></a>
### Nested Schema for `net_qos.extnet`
Read-Only:
- `e_rate` (Number)
- `in_burst` (Number)
- `in_rate` (Number)
<a id="nestedobjatt--net_qos--vins"></a>
### Nested Schema for `net_qos.vins`
Read-Only:
- `e_rate` (Number)
- `in_burst` (Number)
- `in_rate` (Number)
<a id="nestedatt--prometheus"></a>
### Nested Schema for `prometheus`
Read-Only:
- `scrape_interval` (Number)

@ -28,7 +28,7 @@ description: |-
- `account_id` (Number) AccountId to make the image exclusive
- `acl` (List of Object) (see [below for nested schema](#nestedatt--acl))
- `architecture` (String) binary architecture of this image, one of X86_64 of PPC64_LE
- `architecture` (String) binary architecture of this image, one of X86_64
- `boot_type` (String) Boot type of image bios or uefi
- `bootable` (Boolean) Does this image boot OS
- `cd_presented_to` (String)

@ -20,6 +20,7 @@ description: |-
- `architecture` (String) find by architecture
- `bootable` (Boolean) find by bootable True or False
- `by_id` (Number) find by ID
- `enabled` (Boolean) find by enabled True or False
- `hot_resize` (Boolean) find by hot resize True or False
- `image_size` (Number) find by image size
- `name` (String) find by name

@ -21,7 +21,6 @@ description: |-
### Optional
- `reason` (String) reason for action
- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts))
### Read-Only
@ -38,6 +37,7 @@ description: |-
- `boot_disk_size` (Number)
- `boot_order` (List of String)
- `cd_image_id` (Number)
- `chipset` (String)
- `clone_reference` (Number)
- `clones` (List of Number)
- `computeci_id` (Number)
@ -156,6 +156,7 @@ Read-Only:
- `account_id` (Number)
- `boot_partition` (Number)
- `bus_number` (Number)
- `ckey` (String)
- `created_time` (Number)
- `deleted_time` (Number)
@ -250,6 +251,7 @@ Read-Only:
Read-Only:
- `bus_number` (Number)
- `conn_id` (Number)
- `conn_type` (String)
- `def_gw` (String)
@ -257,8 +259,10 @@ Read-Only:
- `flip_group_id` (Number)
- `guid` (String)
- `ip_address` (String)
- `libvirt_settings` (List of Object) (see [below for nested schema](#nestedobjatt--interfaces--libvirt_settings))
- `listen_ssh` (Boolean)
- `mac` (String)
- `mtu` (Number)
- `name` (String)
- `net_id` (Number)
- `net_type` (String)
@ -270,6 +274,20 @@ Read-Only:
- `type` (String)
- `vnfs` (List of Number)
<a id="nestedobjatt--interfaces--libvirt_settings"></a>
### Nested Schema for `interfaces.libvirt_settings`
Read-Only:
- `event_idx` (String)
- `guid` (String)
- `ioeventfd` (String)
- `queues` (Number)
- `rx_queue_size` (Number)
- `tx_queue_size` (Number)
- `txmode` (String)
<a id="nestedobjatt--interfaces--qos"></a>
### Nested Schema for `interfaces.qos`

@ -21,7 +21,6 @@ description: |-
### Optional
- `reason` (String)
- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts))
### Read-Only

@ -22,6 +22,7 @@ description: |-
- `extnet_id` (Number) Find by Extnet ID
- `extnet_name` (String) Find by Extnet name
- `ignore_k8s` (Boolean) If set to true, ignores any VMs associated with any k8s cluster
- `image_id` (Number) Find by image ID
- `includedeleted` (Boolean)
- `ip_address` (String) Find by IP address
- `name` (String) Find by name
@ -30,6 +31,7 @@ description: |-
- `rg_name` (String) Find by resgroup name
- `size` (Number)
- `sort_by` (String) sort by one of supported fields, format +|-(field)
- `stack_id` (Number) Find by stack ID
- `status` (String) Find by status
- `tech_status` (String) Find by tech status
- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts))
@ -65,6 +67,7 @@ Read-Only:
- `boot_order` (List of String)
- `bootdisk_size` (Number)
- `cd_image_id` (Number)
- `chipset` (String)
- `clone_reference` (Number)
- `clones` (List of Number)
- `compute_id` (Number)
@ -163,6 +166,7 @@ Read-Only:
Read-Only:
- `bus_number` (Number)
- `disk_id` (Number)
- `pci_slot` (Number)
@ -172,6 +176,7 @@ Read-Only:
Read-Only:
- `bus_number` (Number)
- `conn_id` (Number)
- `conn_type` (String)
- `def_gw` (String)
@ -179,8 +184,10 @@ Read-Only:
- `flip_group_id` (Number)
- `guid` (String)
- `ip_address` (String)
- `libvirt_settings` (List of Object) (see [below for nested schema](#nestedobjatt--items--interfaces--libvirt_settings))
- `listen_ssh` (Boolean)
- `mac` (String)
- `mtu` (Number)
- `name` (String)
- `net_id` (Number)
- `net_type` (String)
@ -192,6 +199,20 @@ Read-Only:
- `type` (String)
- `vnfs` (List of Number)
<a id="nestedobjatt--items--interfaces--libvirt_settings"></a>
### Nested Schema for `items.interfaces.libvirt_settings`
Read-Only:
- `event_idx` (String)
- `guid` (String)
- `ioeventfd` (String)
- `queues` (Number)
- `rx_queue_size` (Number)
- `tx_queue_size` (Number)
- `txmode` (String)
<a id="nestedobjatt--items--interfaces--qos"></a>
### Nested Schema for `items.interfaces.qos`

@ -21,7 +21,6 @@ description: |-
### Optional
- `reason` (String)
- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts))
### Read-Only

@ -21,7 +21,6 @@ description: |-
### Optional
- `reason` (String)
- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts))
### Read-Only

@ -21,7 +21,6 @@ description: |-
### Optional
- `reason` (String)
- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts))
### Read-Only

@ -47,6 +47,7 @@ Optional:
Read-Only:
- `call` (String)
- `guid` (String)
- `response_time` (Number)
- `status_code` (Number)
- `time` (Number)

@ -21,7 +21,6 @@ description: |-
### Optional
- `reason` (String) reason for action
- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts))
### Read-Only
@ -139,6 +138,7 @@ Read-Only:
Read-Only:
- `bus_number` (Number)
- `conn_id` (Number)
- `conn_type` (String)
- `def_gw` (String)
@ -146,8 +146,10 @@ Read-Only:
- `flipgroup_id` (Number)
- `guid` (String)
- `ip_address` (String)
- `libvirt_settings` (List of Object) (see [below for nested schema](#nestedobjatt--vnf_dev--interfaces--libvirt_settings))
- `listen_ssh` (Boolean)
- `mac` (String)
- `mtu` (Number)
- `name` (String)
- `net_id` (Number)
- `net_mask` (Number)
@ -159,6 +161,20 @@ Read-Only:
- `type` (String)
- `vnfs` (List of Number)
<a id="nestedobjatt--vnf_dev--interfaces--libvirt_settings"></a>
### Nested Schema for `vnf_dev.interfaces.libvirt_settings`
Read-Only:
- `event_idx` (String)
- `guid` (String)
- `ioeventfd` (String)
- `queues` (Number)
- `rx_queue_size` (Number)
- `tx_queue_size` (Number)
- `txmode` (String)
<a id="nestedobjatt--vnf_dev--interfaces--qos"></a>
### Nested Schema for `vnf_dev.interfaces.qos`

@ -26,6 +26,7 @@ description: |-
- `size` (Number) Page size
- `sort_by` (String) sort by one of supported fields, format +|-(field)
- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts))
- `vnf_dev_id` (Number) Filter by VNF Device id
### Read-Only

@ -21,7 +21,6 @@ description: |-
### Optional
- `reason` (String) reason for action
- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts))
### Read-Only

@ -0,0 +1,48 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "decort_dpdknet Data Source - terraform-provider-decort"
subcategory: ""
description: |-
---
# decort_dpdknet (Data Source)
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `dpdk_id` (Number) The unique ID of the subscriber-owner of the DPDK network
### Optional
- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts))
### Read-Only
- `account_access` (List of Number) List of accounts with access
- `compute_ids` (List of Number) Compute IDs which uses this DPDK network
- `created_time` (Number) Created time
- `desc` (String) Description of DPDK network
- `gid` (Number) ID of the grid (platform)
- `guid` (Number) DPDK network ID on the storage side
- `id` (String) The ID of this resource.
- `name` (String) Name of network
- `ovs_bridge` (String) OVS bridge in which interfaces for computers created
- `rg_access` (List of Number) List of resource groups with access
- `status` (String) DPDK network status
- `updated_time` (Number) Updated time
- `vlan_id` (Number) vlan ID
<a id="nestedblock--timeouts"></a>
### Nested Schema for `timeouts`
Optional:
- `default` (String)
- `read` (String)

@ -0,0 +1,63 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "decort_dpdknet_list Data Source - terraform-provider-decort"
subcategory: ""
description: |-
---
# decort_dpdknet_list (Data Source)
<!-- schema generated by tfplugindocs -->
## Schema
### Optional
- `by_id` (Number) Find by ID
- `compute_ids` (List of Number) Find by compute IDs
- `desc` (String) Find by description
- `gid` (Number) Find by GID
- `name` (String) Find by name
- `page` (Number) Page number
- `size` (Number) Page size
- `sort_by` (String) sort by one of supported fields, format +|-(field)
- `status` (String) Find by status
- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts))
### Read-Only
- `entry_count` (Number)
- `id` (String) The ID of this resource.
- `items` (List of Object) (see [below for nested schema](#nestedatt--items))
<a id="nestedblock--timeouts"></a>
### Nested Schema for `timeouts`
Optional:
- `default` (String)
- `read` (String)
<a id="nestedatt--items"></a>
### Nested Schema for `items`
Read-Only:
- `account_access` (List of Number)
- `compute_ids` (List of Number)
- `created_time` (Number)
- `desc` (String)
- `dpdk_id` (Number)
- `gid` (Number)
- `guid` (Number)
- `name` (String)
- `ovs_bridge` (String)
- `rg_access` (List of Number)
- `status` (String)
- `updated_time` (Number)
- `vlan_id` (Number)

@ -20,7 +20,7 @@ description: |-
- `account_id` (Number) Account id
- `by_id` (Number) Filter by ID
- `by_ip` (String) Filter by IP-address
- `client_ids` (List of Number) client_ids
- `client_ids` (List of String) client_ids
- `conn_id` (Number) Conn id
- `extnet_id` (Number) Filter by ExtNetID
- `name` (String) Filter by Name

@ -20,6 +20,7 @@ description: |-
- `architecture` (String) Filter by architecture
- `bootable` (Boolean) Find bootable images
- `by_id` (Number) Filter by ID
- `enabled` (Boolean) find by enabled True or False
- `hot_resize` (Boolean) Find hot resizable images
- `image_size` (Number) Filter by image size
- `name` (String) Filter by name

@ -36,6 +36,7 @@ description: |-
- `boot_order` (List of String)
- `bootdisk_size` (Number)
- `cd_image_id` (Number)
- `chipset` (String)
- `clone_reference` (Number)
- `clones` (List of Number)
- `computeci_id` (Number)
@ -187,6 +188,7 @@ Read-Only:
- `account_id` (Number)
- `acl` (String)
- `boot_partition` (Number)
- `bus_number` (Number)
- `created_time` (Number)
- `deleted_time` (Number)
- `description` (String)
@ -278,6 +280,7 @@ Read-Only:
Read-Only:
- `bus_number` (Number)
- `conn_id` (Number)
- `conn_type` (String)
- `def_gw` (String)
@ -285,8 +288,10 @@ Read-Only:
- `flip_group_id` (Number)
- `guid` (String)
- `ip_address` (String)
- `libvirt_settings` (List of Object) (see [below for nested schema](#nestedobjatt--interfaces--libvirt_settings))
- `listen_ssh` (Boolean)
- `mac` (String)
- `mtu` (Number)
- `name` (String)
- `net_id` (Number)
- `net_type` (String)
@ -298,6 +303,20 @@ Read-Only:
- `type` (String)
- `vnfs` (List of Number)
<a id="nestedobjatt--interfaces--libvirt_settings"></a>
### Nested Schema for `interfaces.libvirt_settings`
Read-Only:
- `event_idx` (String)
- `guid` (String)
- `ioeventfd` (String)
- `queues` (Number)
- `rx_queue_size` (Number)
- `tx_queue_size` (Number)
- `txmode` (String)
<a id="nestedobjatt--interfaces--qos"></a>
### Nested Schema for `interfaces.qos`

@ -65,6 +65,7 @@ Read-Only:
- `boot_order` (List of String)
- `bootdisk_size` (Number)
- `cd_image_id` (Number)
- `chipset` (String)
- `clone_reference` (Number)
- `clones` (List of Number)
- `compute_id` (Number)
@ -160,6 +161,7 @@ Read-Only:
Read-Only:
- `bus_number` (Number)
- `disk_id` (Number)
- `pci_slot` (Number)
@ -169,6 +171,7 @@ Read-Only:
Read-Only:
- `bus_number` (Number)
- `conn_id` (Number)
- `conn_type` (String)
- `def_gw` (String)
@ -176,8 +179,10 @@ Read-Only:
- `flip_group_id` (Number)
- `guid` (String)
- `ip_address` (String)
- `libvirt_settings` (List of Object) (see [below for nested schema](#nestedobjatt--items--interfaces--libvirt_settings))
- `listen_ssh` (Boolean)
- `mac` (String)
- `mtu` (Number)
- `name` (String)
- `net_id` (Number)
- `net_type` (String)
@ -189,6 +194,20 @@ Read-Only:
- `type` (String)
- `vnfs` (List of Number)
<a id="nestedobjatt--items--interfaces--libvirt_settings"></a>
### Nested Schema for `items.interfaces.libvirt_settings`
Read-Only:
- `event_idx` (String)
- `guid` (String)
- `ioeventfd` (String)
- `queues` (Number)
- `rx_queue_size` (Number)
- `tx_queue_size` (Number)
- `txmode` (String)
<a id="nestedobjatt--items--interfaces--qos"></a>
### Nested Schema for `items.interfaces.qos`

@ -63,6 +63,7 @@ Read-Only:
- `boot_order` (List of String)
- `bootdisk_size` (Number)
- `cd_image_id` (Number)
- `chipset` (String)
- `clone_reference` (Number)
- `clones` (List of Number)
- `compute_id` (Number)
@ -158,6 +159,7 @@ Read-Only:
Read-Only:
- `bus_number` (Number)
- `disk_id` (Number)
- `pci_slot` (Number)
@ -167,6 +169,7 @@ Read-Only:
Read-Only:
- `bus_number` (Number)
- `conn_id` (Number)
- `conn_type` (String)
- `def_gw` (String)
@ -174,8 +177,10 @@ Read-Only:
- `flip_group_id` (Number)
- `guid` (String)
- `ip_address` (String)
- `libvirt_settings` (List of Object) (see [below for nested schema](#nestedobjatt--items--interfaces--libvirt_settings))
- `listen_ssh` (Boolean)
- `mac` (String)
- `mtu` (Number)
- `name` (String)
- `net_id` (Number)
- `net_type` (String)
@ -187,6 +192,20 @@ Read-Only:
- `type` (String)
- `vnfs` (List of Number)
<a id="nestedobjatt--items--interfaces--libvirt_settings"></a>
### Nested Schema for `items.interfaces.libvirt_settings`
Read-Only:
- `event_idx` (String)
- `guid` (String)
- `ioeventfd` (String)
- `queues` (Number)
- `rx_queue_size` (Number)
- `tx_queue_size` (Number)
- `txmode` (String)
<a id="nestedobjatt--items--interfaces--qos"></a>
### Nested Schema for `items.interfaces.qos`

@ -21,7 +21,6 @@ description: |-
### Optional
- `reason` (String)
- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts))
### Read-Only

@ -21,7 +21,6 @@ description: |-
### Optional
- `reason` (String)
- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts))
### Read-Only

@ -147,6 +147,7 @@ Read-Only:
Read-Only:
- `bus_number` (Number)
- `conn_id` (Number)
- `conn_type` (String)
- `def_gw` (String)
@ -154,8 +155,10 @@ Read-Only:
- `flipgroup_id` (Number)
- `guid` (String)
- `ip_address` (String)
- `libvirt_settings` (List of Object) (see [below for nested schema](#nestedobjatt--vnf_dev--interfaces--libvirt_settings))
- `listen_ssh` (Boolean)
- `mac` (String)
- `mtu` (Number)
- `name` (String)
- `net_id` (Number)
- `net_mask` (Number)
@ -167,6 +170,20 @@ Read-Only:
- `type` (String)
- `vnfs` (List of Number)
<a id="nestedobjatt--vnf_dev--interfaces--libvirt_settings"></a>
### Nested Schema for `vnf_dev.interfaces.libvirt_settings`
Read-Only:
- `event_idx` (String)
- `guid` (String)
- `ioeventfd` (String)
- `queues` (Number)
- `rx_queue_size` (Number)
- `tx_queue_size` (Number)
- `txmode` (String)
<a id="nestedobjatt--vnf_dev--interfaces--qos"></a>
### Nested Schema for `vnf_dev.interfaces.qos`

@ -27,6 +27,7 @@ description: |-
- `size` (Number) Page size
- `sort_by` (String) sort by one of supported fields, format +|-(field)
- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts))
- `vnf_dev_id` (Number) Filter by VNF Device id
### Read-Only

@ -92,10 +92,6 @@ Required:
- `access_type` (String)
- `user_id` (String)
Optional:
- `recursive_delete` (Boolean)
<a id="nestedatt--acl"></a>
### Nested Schema for `acl`

@ -21,7 +21,7 @@ description: |-
- `compgroup_name` (String) name of the Compute Group to add
- `cpu` (Number) compute CPU number. All computes in the group have the same CPU count
- `disk` (Number) compute boot disk size in GB
- `driver` (String) compute driver like a KVM_X86, KVM_PPC, etc.
- `driver` (String) compute driver like a KVM_X86, etc.
- `image_id` (Number) OS image ID to create computes from
- `ram` (Number) compute RAM volume in MB. All computes in the group have the same RAM volume
- `service_id` (Number) ID of the Basic Service to add a group to

@ -95,10 +95,6 @@ Required:
- `access_type` (String)
- `user_id` (String)
Optional:
- `recursive_delete` (Boolean)
<a id="nestedatt--acl"></a>
### Nested Schema for `acl`

@ -17,7 +17,6 @@ description: |-
### Required
- `drivers` (List of String) List of types of compute suitable for image. Example: [ "KVM_X86" ]
- `gid` (Number) grid (platform) ID where this template should be create in
- `name` (String) Name of the rescue disk
- `url` (String) URL where to download ISO from
@ -25,14 +24,14 @@ description: |-
### Optional
- `account_id` (Number) AccountId to make the image exclusive
- `architecture` (String) binary architecture of this image, one of X86_64 of PPC64_LE
- `architecture` (String) binary architecture of this image, one of X86_64
- `bootable` (Boolean) Does this image boot OS
- `computeci_id` (Number)
- `drivers` (List of String) List of types of compute suitable for image. Example: [ "KVM_X86" ]
- `enabled` (Boolean)
- `enabled_stacks` (List of Number)
- `hot_resize` (Boolean) Does this machine supports hot resize
- `password_dl` (String) password for upload binary media
- `permanently` (Boolean) Whether to completely delete the image
- `pool_name` (String) pool for image create
- `sep_id` (Number) storage endpoint provider ID
- `shared_with` (List of Number)

@ -32,7 +32,6 @@ description: |-
- `node_ids` (Set of Number)
- `permanently` (Boolean) whether to completely delete the disk, works only with non attached disks
- `pool` (String)
- `reason` (String) reason for an action
- `restore` (Boolean) restore deleting disk
- `sep_id` (Number)
- `shareable` (Boolean)

@ -1,148 +0,0 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "decort_cb_disk_replication Resource - terraform-provider-decort"
subcategory: ""
description: |-
---
# decort_cb_disk_replication (Resource)
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `disk_id` (Number) Id of primary disk
- `disk_name` (String) Name of disk replica
- `pool_name` (String) Pool for disk location
- `sep_id` (Number) Storage endpoint provider ID to create disk replica
### Optional
- `detach` (Boolean) Detach disk from machine first
- `pause` (Boolean) Resume replication
- `permanently` (Boolean) Delete disk permanently
- `reason` (String) Reason for disk deletion
- `reverse` (Boolean) Reverse replication
- `start` (Boolean) Start/Stop replication
- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts))
### Read-Only
- `account_id` (Number)
- `account_name` (String)
- `acl` (String)
- `boot_partition` (Number)
- `computes` (List of Object) (see [below for nested schema](#nestedatt--computes))
- `created_time` (Number)
- `deleted_time` (Number)
- `desc` (String)
- `destruction_time` (Number)
- `devicename` (String)
- `disk_path` (String)
- `gid` (Number)
- `guid` (Number)
- `id` (String) The ID of this resource.
- `image_id` (Number)
- `images` (List of Number)
- `iotune` (List of Object) (see [below for nested schema](#nestedatt--iotune))
- `iqn` (String)
- `login` (String)
- `milestones` (Number)
- `order` (Number)
- `params` (String)
- `parent_id` (Number)
- `passwd` (String)
- `pci_slot` (Number)
- `present_to` (List of Number)
- `purge_attempts` (Number)
- `purge_time` (Number)
- `reality_device_number` (Number)
- `reference_id` (String)
- `replica_disk_id` (Number) Id of replica disk
- `replication` (List of Object) Replication status (see [below for nested schema](#nestedatt--replication))
- `res_id` (String)
- `res_name` (String)
- `role` (String)
- `sep_type` (String)
- `shareable` (Boolean)
- `size_max` (Number)
- `size_used` (Number)
- `snapshots` (List of Object) (see [below for nested schema](#nestedatt--snapshots))
- `status` (String)
- `status_replication` (String) Status of replication
- `tech_status` (String)
- `type` (String)
- `vmid` (Number)
<a id="nestedblock--timeouts"></a>
### Nested Schema for `timeouts`
Optional:
- `create` (String)
- `default` (String)
- `delete` (String)
- `read` (String)
- `update` (String)
<a id="nestedatt--computes"></a>
### Nested Schema for `computes`
Read-Only:
- `compute_id` (String)
- `compute_name` (String)
<a id="nestedatt--iotune"></a>
### Nested Schema for `iotune`
Read-Only:
- `read_bytes_sec` (Number)
- `read_bytes_sec_max` (Number)
- `read_iops_sec` (Number)
- `read_iops_sec_max` (Number)
- `size_iops_sec` (Number)
- `total_bytes_sec` (Number)
- `total_bytes_sec_max` (Number)
- `total_iops_sec` (Number)
- `total_iops_sec_max` (Number)
- `write_bytes_sec` (Number)
- `write_bytes_sec_max` (Number)
- `write_iops_sec` (Number)
- `write_iops_sec_max` (Number)
<a id="nestedatt--replication"></a>
### Nested Schema for `replication`
Read-Only:
- `disk_id` (Number)
- `pool_id` (String)
- `role` (String)
- `self_volume_id` (String)
- `storage_id` (String)
- `volume_id` (String)
<a id="nestedatt--snapshots"></a>
### Nested Schema for `snapshots`
Read-Only:
- `guid` (String)
- `label` (String)
- `reference_id` (String)
- `res_id` (String)
- `snap_set_guid` (String)
- `snap_set_time` (Number)
- `timestamp` (Number)

@ -0,0 +1,52 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "decort_cb_dpdknet Resource - terraform-provider-decort"
subcategory: ""
description: |-
---
# decort_cb_dpdknet (Resource)
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `gid` (Number) ID of the grid (platform)
- `name` (String) Name of network
- `ovs_bridge` (String) OVS bridge in which interfaces for computers created
- `vlan_id` (Number) vlan ID
### Optional
- `account_access` (List of Number) List of accounts with access
- `desc` (String) Description of DPDK network
- `enabled` (Boolean) Enabled or disabled DPDK network
- `rg_access` (List of Number) List of resource groups with access
- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts))
### Read-Only
- `compute_ids` (List of Number) Compute IDs which uses this DPDK network
- `created_time` (Number) Created time
- `dpdk_id` (Number) The unique ID of the subscriber-owner of the DPDK network
- `guid` (Number) DPDK network ID on the storage side
- `id` (String) The ID of this resource.
- `status` (String) DPDK network status
- `updated_time` (Number) Updated time
<a id="nestedblock--timeouts"></a>
### Nested Schema for `timeouts`
Optional:
- `create` (String)
- `default` (String)
- `delete` (String)
- `read` (String)
- `update` (String)

@ -26,7 +26,7 @@ description: |-
- `account_id` (Number) AccountId to make the image exclusive
- `accounts` (List of Number)
- `architecture` (String) binary architecture of this image, one of X86_64 of PPC64_LE
- `architecture` (String) binary architecture of this image, one of X86_64
- `bootable` (Boolean) Does this image boot OS
- `computeci_id` (Number)
- `drivers` (List of String) List of types of compute suitable for image. Example: [ "KVM_X86" ]
@ -37,9 +37,7 @@ description: |-
- `network_interface_naming` (String) select a network interface naming pattern for your Linux machine. eth - onboard, ens - pci slot naming
- `password` (String) Optional password for the image
- `password_dl` (String) password for upload binary media
- `permanently` (Boolean) Whether to completely delete the image
- `pool_name` (String) pool for image create
- `reason` (String)
- `sep_id` (Number) storage endpoint provider ID
- `shared_with` (List of Number)
- `sync_mode` (Boolean) Create image from a media identified by URL (in synchronous mode)

@ -34,9 +34,7 @@ description: |-
- `hot_resize` (Boolean) Does this machine supports hot resize
- `network_interface_naming` (String) select a network interface naming pattern for your Linux machine. eth - onboard, ens - pci slot naming
- `password` (String) Optional password for the image
- `permanently` (Boolean) whether to completely delete the image
- `pool_name` (String) pool for image create
- `reason` (String)
- `sep_id` (Number) storage endpoint provider ID
- `shared_with` (List of Number)
- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts))

@ -20,6 +20,7 @@ description: |-
- `architecture` (String) Image type linux, windows or other
- `boot_type` (String) Boot type of image BIOS or UEFI
- `disk_id` (Number) Disk Id
- `drivers` (List of String) List of types of compute suitable for image. Example: [ "KVM_X86" ]
- `image_type` (String) Image type linux, windows or other
- `name` (String) Name of the rescue disk
@ -30,15 +31,12 @@ description: |-
- `async_mode` (Boolean) create an image in async/sync mode
- `bootable` (Boolean) Does this image boot OS
- `computeci_id` (Number)
- `drivers` (List of String) List of types of compute suitable for image. Example: [ "KVM_X86" ]
- `enabled` (Boolean)
- `enabled_stacks` (List of Number)
- `hot_resize` (Boolean) Does this machine supports hot resize
- `network_interface_naming` (String) select a network interface naming pattern for your Linux machine. eth - onboard, ens - pci slot naming
- `password` (String) Optional password for the image
- `permanently` (Boolean) whether to completely delete the image
- `pool_name` (String) pool for image create
- `reason` (String)
- `sep_id` (Number) storage endpoint provider ID
- `shared_with` (List of Number)
- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts))

@ -25,6 +25,7 @@ description: |-
### Optional
- `additional_sans` (List of String) Optional extra Subject Alternative Names (SANs) to use for the API Server serving certificate. Can be both IP addresses and DNS names
- `chipset` (String) Type of the emulated system.
- `cluster_config` (String) is used to define global settings and configurations for the entire cluster. It includes parameters such as cluster name, DNS settings, authentication methods, and other cluster-wide configurations. insert a valid JSON string with all levels of nesting.
- `cpu` (Number) Node CPU count.
- `desc` (String) Text description of this instance.

@ -23,6 +23,7 @@ description: |-
### Optional
- `annotations` (List of String)
- `chipset` (String) Type of the emulated system.
- `cloud_init` (String)
- `cpu` (Number) Worker node CPU count.
- `disk` (Number) Worker node boot disk size. If unspecified or 0, size is defined by OS image size.

@ -32,6 +32,7 @@ description: |-
- `auto_start` (Boolean) Flag for redeploy compute
- `boot_disk_size` (Number) This compute instance boot disk size in GB. Make sure it is large enough to accomodate selected OS image.
- `cd` (Block Set, Max: 1) (see [below for nested schema](#nestedblock--cd))
- `chipset` (String) Type of the emulated system.
- `cloud_init` (String) Optional cloud_init parameters. Applied when creating new compute instance only, ignored in all other cases.
- `cpu_pin` (Boolean) Run VM on dedicated CPUs. To use this feature, the system must be pre-configured by allocating CPUs on the physical node.
- `custom_fields` (String)
@ -49,6 +50,7 @@ description: |-
- `image_id` (Number) ID of the OS image to base this compute instance on.
- `ipa_type` (String) compute purpose
- `is` (String) system name
- `libvirt_settings` (Block Set) Configure libvirt virtio interface parameters. You can only delete values locally. Data on the platform cannot be deleted. (see [below for nested schema](#nestedblock--libvirt_settings))
- `network` (Block Set, Max: 8) Optional network connection(s) for this compute. You may specify several network blocks, one for each connection. (see [below for nested schema](#nestedblock--network))
- `numa_affinity` (String) Rule for VM placement with NUMA affinity.
- `pause` (Boolean)
@ -57,7 +59,6 @@ description: |-
- `pin_to_stack` (Boolean)
- `pool` (String) Pool to use if sepId is set, can be also empty if needed to be chosen by system.
- `port_forwarding` (Block Set) (see [below for nested schema](#nestedblock--port_forwarding))
- `reason` (String) reason for action
- `reset` (Boolean)
- `restore` (Boolean)
- `rollback` (Block Set, Max: 1) (see [below for nested schema](#nestedblock--rollback))
@ -87,6 +88,7 @@ description: |-
- `computeci_id` (Number)
- `created_by` (String)
- `created_time` (Number)
- `delete_async_mode` (Boolean) async mode
- `deleted_by` (String)
- `deleted_time` (Number)
- `devices` (String)
@ -164,10 +166,6 @@ Required:
- `cdrom_id` (Number)
Optional:
- `reason` (String) reason for action
<a id="nestedblock--disks"></a>
### Nested Schema for `disks`
@ -185,7 +183,6 @@ Optional:
- `node_ids` (Set of Number)
- `permanently` (Boolean) Disk deletion status
- `pool` (String) Pool name; by default will be chosen automatically
- `reason` (String) reason for action
- `sep_id` (Number) Storage endpoint provider ID; by default the same with boot disk
Read-Only:
@ -196,6 +193,23 @@ Read-Only:
- `size_used` (Number)
<a id="nestedblock--libvirt_settings"></a>
### Nested Schema for `libvirt_settings`
Required:
- `mac` (String)
Optional:
- `event_idx` (String)
- `ioeventfd` (String)
- `queues` (Number)
- `rx_queue_size` (Number)
- `tx_queue_size` (Number)
- `txmode` (String)
<a id="nestedblock--network"></a>
### Nested Schema for `network`
@ -226,7 +240,6 @@ Optional:
- `local_port` (Number)
- `public_port_end` (Number)
- `reason` (String) reason for action
Read-Only:
@ -297,6 +310,7 @@ Read-Only:
Read-Only:
- `bus_number` (Number)
- `conn_id` (Number)
- `conn_type` (String)
- `def_gw` (String)
@ -304,8 +318,10 @@ Read-Only:
- `flip_group_id` (Number)
- `guid` (String)
- `ip_address` (String)
- `libvirt_settings` (List of Object) (see [below for nested schema](#nestedobjatt--interfaces--libvirt_settings))
- `listen_ssh` (Boolean)
- `mac` (String)
- `mtu` (Number)
- `name` (String)
- `net_id` (Number)
- `net_type` (String)
@ -317,6 +333,20 @@ Read-Only:
- `type` (String)
- `vnfs` (List of Number)
<a id="nestedobjatt--interfaces--libvirt_settings"></a>
### Nested Schema for `interfaces.libvirt_settings`
Read-Only:
- `event_idx` (String)
- `guid` (String)
- `ioeventfd` (String)
- `queues` (Number)
- `rx_queue_size` (Number)
- `tx_queue_size` (Number)
- `txmode` (String)
<a id="nestedobjatt--interfaces--qos"></a>
### Nested Schema for `interfaces.qos`

@ -37,7 +37,6 @@ description: |-
- `ipcidr` (String) Address of the netowrk inside the private network segment (aka ViNS) if def_net_type=PRIVATE
- `owner` (String) username - owner of this RG. Leave blank to set current user as owner
- `permanently` (Boolean) flag to permanently delete resource group
- `reason` (String)
- `register_computes` (Boolean) Register computes in registration system
- `resource_limits` (Block List, Max: 1) (see [below for nested schema](#nestedblock--resource_limits))
- `restore` (Boolean) restore deleted rg
@ -74,10 +73,6 @@ Required:
- `right` (String) Access rights to set, one of 'R', 'RCX' or 'ARCXDU'
- `user` (String) User or group name to grant access
Optional:
- `reason` (String) Reason for action
<a id="nestedblock--def_net"></a>
### Nested Schema for `def_net`
@ -89,7 +84,6 @@ Required:
Optional:
- `net_id` (Number) Network segment ID. If netType is PUBLIC and netId is 0 then default external network segment will be selected. If netType is PRIVATE and netId=0, the first ViNS defined for this RG will be selected. Otherwise, netId identifies either existing external network segment or ViNS.
- `reason` (String) Reason for action
<a id="nestedblock--resource_limits"></a>

@ -35,7 +35,6 @@ description: |-
- `nat_rule` (Block List) (see [below for nested schema](#nestedblock--nat_rule))
- `permanently` (Boolean) permanently for delete request
- `pre_reservations_num` (Number)
- `reason` (String)
- `rg_id` (Number)
- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts))
- `vins_id` (Number) vins id
@ -98,7 +97,6 @@ Optional:
- `compute_id` (Number)
- `ip_addr` (String)
- `mac` (String)
- `reason` (String)
<a id="nestedblock--nat_rule"></a>
@ -206,6 +204,7 @@ Read-Only:
Read-Only:
- `bus_number` (Number)
- `conn_id` (Number)
- `conn_type` (String)
- `def_gw` (String)
@ -213,8 +212,10 @@ Read-Only:
- `flipgroup_id` (Number)
- `guid` (String)
- `ip_address` (String)
- `libvirt_settings` (List of Object) (see [below for nested schema](#nestedobjatt--vnf_dev--interfaces--libvirt_settings))
- `listen_ssh` (Boolean)
- `mac` (String)
- `mtu` (Number)
- `name` (String)
- `net_id` (Number)
- `net_mask` (Number)
@ -226,6 +227,20 @@ Read-Only:
- `type` (String)
- `vnfs` (List of Number)
<a id="nestedobjatt--vnf_dev--interfaces--libvirt_settings"></a>
### Nested Schema for `vnf_dev.interfaces.libvirt_settings`
Read-Only:
- `event_idx` (String)
- `guid` (String)
- `ioeventfd` (String)
- `queues` (Number)
- `rx_queue_size` (Number)
- `tx_queue_size` (Number)
- `txmode` (String)
<a id="nestedobjatt--vnf_dev--interfaces--qos"></a>
### Nested Schema for `vnf_dev.interfaces.qos`

@ -29,8 +29,6 @@ description: |-
- `enabled_stacks` (List of Number)
- `hot_resize` (Boolean) Does this machine supports hot resize
- `password` (String) Optional password for the image
- `permanently` (Boolean) Whether to completely delete the image
- `reason` (String)
- `shared_with` (List of Number)
- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts))
- `username` (String) Optional username for the image
@ -38,7 +36,7 @@ description: |-
### Read-Only
- `acl` (List of Object) (see [below for nested schema](#nestedatt--acl))
- `architecture` (String) binary architecture of this image, one of X86_64 of PPC64_LE
- `architecture` (String) binary architecture of this image, one of X86_64
- `boot_type` (String) Boot type of image bios or uefi
- `ckey` (String)
- `deleted_time` (Number)

@ -29,7 +29,6 @@ description: |-
- `iotune` (Block List, Max: 1) (see [below for nested schema](#nestedblock--iotune))
- `permanently` (Boolean) Whether to completely delete the disk, works only with non attached disks
- `pool` (String) Pool for disk location
- `reason` (String) Reason for deletion
- `sep_id` (Number) Storage endpoint provider ID to create disk
- `shareable` (Boolean)
- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts))

@ -1,137 +0,0 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "decort_disk_replication Resource - terraform-provider-decort"
subcategory: ""
description: |-
---
# decort_disk_replication (Resource)
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `disk_id` (Number) Id of primary disk
- `disk_name` (String) Name of disk replica
- `pool_name` (String) Pool for disk location
- `sep_id` (Number) Storage endpoint provider ID to create disk replica
### Optional
- `detach` (Boolean) Detach disk from machine first
- `pause` (Boolean) Resume replication
- `permanently` (Boolean) Delete disk permanently
- `reason` (String) Reason for disk deletion
- `reverse` (Boolean) Reverse replication
- `start` (Boolean) Start/Stop replication
- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts))
### Read-Only
- `account_id` (Number) The unique ID of the subscriber-owner of the disk
- `account_name` (String) The name of the subscriber '(account') to whom this disk belongs
- `acl` (String)
- `computes` (List of Object) (see [below for nested schema](#nestedatt--computes))
- `created_time` (Number) Created time
- `deleted_time` (Number) Deleted time
- `desc` (String) Description of disk
- `destruction_time` (Number) Time of final deletion
- `devicename` (String) Name of the device
- `gid` (Number) ID of the grid (platform)
- `id` (String) The ID of this resource.
- `image_id` (Number) Image ID
- `images` (List of String) IDs of images using the disk
- `iotune` (List of Object) (see [below for nested schema](#nestedatt--iotune))
- `order` (Number) Disk order
- `params` (String) Disk params
- `parent_id` (Number) ID of the parent disk
- `pci_slot` (Number) ID of the pci slot to which the disk is connected
- `present_to` (List of Number)
- `purge_time` (Number) Time of the last deletion attempt
- `replica_disk_id` (Number) Id of replica disk
- `replication` (List of Object) Replication status (see [below for nested schema](#nestedatt--replication))
- `res_id` (String) Resource ID
- `res_name` (String) Name of the resource
- `role` (String) Disk role
- `sep_type` (String) Type SEP. Defines the type of storage system and contains one of the values set in the cloud platform
- `shareable` (Boolean)
- `size_max` (Number) Size in GB
- `size_used` (Number) Number of used space, in GB
- `snapshots` (List of Object) (see [below for nested schema](#nestedatt--snapshots))
- `status` (String) Disk status
- `status_replication` (String) Status of replication
- `tech_status` (String) Technical status of the disk
- `type` (String) The type of disk in terms of its role in compute: 'B=Boot, D=Data, T=Temp'
- `vmid` (Number) Virtual Machine ID (Deprecated)
<a id="nestedblock--timeouts"></a>
### Nested Schema for `timeouts`
Optional:
- `create` (String)
- `default` (String)
- `delete` (String)
- `read` (String)
- `update` (String)
<a id="nestedatt--computes"></a>
### Nested Schema for `computes`
Read-Only:
- `compute_id` (String)
- `compute_name` (String)
<a id="nestedatt--iotune"></a>
### Nested Schema for `iotune`
Read-Only:
- `read_bytes_sec` (Number)
- `read_bytes_sec_max` (Number)
- `read_iops_sec` (Number)
- `read_iops_sec_max` (Number)
- `size_iops_sec` (Number)
- `total_bytes_sec` (Number)
- `total_bytes_sec_max` (Number)
- `total_iops_sec` (Number)
- `total_iops_sec_max` (Number)
- `write_bytes_sec` (Number)
- `write_bytes_sec_max` (Number)
- `write_iops_sec` (Number)
- `write_iops_sec_max` (Number)
<a id="nestedatt--replication"></a>
### Nested Schema for `replication`
Read-Only:
- `disk_id` (Number)
- `pool_id` (String)
- `role` (String)
- `self_volume_id` (String)
- `storage_id` (String)
- `volume_id` (String)
<a id="nestedatt--snapshots"></a>
### Nested Schema for `snapshots`
Read-Only:
- `guid` (String)
- `label` (String)
- `res_id` (String)
- `snap_set_guid` (String)
- `snap_set_time` (Number)
- `timestamp` (Number)

@ -26,13 +26,12 @@ description: |-
### Optional
- `architecture` (String) binary architecture of this image, one of X86_64 of PPC64_LE
- `architecture` (String) binary architecture of this image, one of X86_64
- `hot_resize` (Boolean) Does this machine supports hot resize
- `image_id` (Number) image id
- `network_interface_naming` (String) select a network interface naming pattern for your Linux machine. eth - onboard, ens - pci slot naming
- `password` (String) Optional password for the image
- `password_dl` (String) password for upload binary media
- `permanently` (Boolean) whether to completely delete the image
- `pool_name` (String) pool for image create
- `sep_id` (Number) storage endpoint provider ID
- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts))

@ -28,7 +28,6 @@ description: |-
- `async_mode` (Boolean) create an image in async/sync mode
- `hot_resize` (Boolean) Does this machine supports hot resize
- `password` (String) Optional password for the image
- `permanently` (Boolean) whether to completely delete the image
- `pool_name` (String) pool for image create
- `sep_id` (Number) storage endpoint provider ID
- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts))

@ -17,9 +17,10 @@ description: |-
### Required
- `architecture` (String) binary architecture of this image, one of X86_64 of PPC64_LE
- `architecture` (String) binary architecture of this image, one of X86_64
- `boot_type` (String) Boot type of image BIOS or UEFI
- `disk_id` (Number) Disk Id
- `drivers` (List of String) List of types of compute suitable for image. Example: [ "KVM_X86" ]
- `name` (String) Name of the rescue disk
- `type` (String) Image type linux, windows or other
@ -28,10 +29,8 @@ description: |-
- `account_id` (Number) AccountId to make the image exclusive
- `async_mode` (Boolean) create an image in async/sync mode
- `bootable` (Boolean) bootable image
- `drivers` (List of String) List of types of compute suitable for image. Example: [ "KVM_X86" ]
- `hot_resize` (Boolean) Does this machine supports hot resize
- `password` (String) Optional password for the image
- `permanently` (Boolean) whether to completely delete the image
- `pool_name` (String) pool for image create
- `sep_id` (Number) storage endpoint provider ID
- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts))

@ -22,7 +22,6 @@ description: |-
### Optional
- `permanently` (Boolean) whether to completely delete the image
- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts))
### Read-Only

@ -27,6 +27,7 @@ description: |-
- `additional_sans` (List of String) Optional extra Subject Alternative Names (SANs) to use for the API Server serving certificate. Can be both IP addresses and DNS names
- `annotations` (List of String)
- `chipset` (String) Type of the emulated system.
- `cloud_init` (String) Meta data for working group computes, format YAML 'user_data': 1111
- `cluster_config` (String) is used to define global settings and configurations for the entire cluster. It includes parameters such as cluster name, DNS settings, authentication methods, and other cluster-wide configurations. insert a valid JSON string with all levels of nesting.
- `desc` (String) Text description of this instance.
@ -142,6 +143,7 @@ Required:
Optional:
- `annotations` (List of String)
- `chipset` (String) Type of the emulated system.
- `labels` (List of String)
- `sep_id` (Number)
- `sep_pool` (String)

@ -25,6 +25,7 @@ description: |-
### Optional
- `additional_sans` (List of String) Optional extra Subject Alternative Names (SANs) to use for the API Server serving certificate. Can be both IP addresses and DNS names
- `chipset` (String) Type of the emulated system.
- `cluster_config` (String) is used to define global settings and configurations for the entire cluster. It includes parameters such as cluster name, DNS settings, authentication methods, and other cluster-wide configurations. insert a valid JSON string with all levels of nesting.
- `cpu` (Number) Node CPU count.
- `desc` (String) Text description of this instance.

@ -23,6 +23,7 @@ description: |-
### Optional
- `annotations` (List of String)
- `chipset` (String) Type of the emulated system.
- `cloud_init` (String)
- `cpu` (Number) Worker node CPU count.
- `disk` (Number) Worker node boot disk size. If unspecified or 0, size is defined by OS image size.

@ -31,6 +31,7 @@ description: |-
- `auto_start` (Boolean) Flag for redeploy compute
- `boot_disk_size` (Number) This compute instance boot disk size in GB. Make sure it is large enough to accomodate selected OS image.
- `cd` (Block Set, Max: 1) (see [below for nested schema](#nestedblock--cd))
- `chipset` (String) Type of the emulated system.
- `cloud_init` (String) Optional cloud_init parameters. Applied when creating new compute instance only, ignored in all other cases.
- `cpu_pin` (Boolean) Run VM on dedicated CPUs. To use this feature, the system must be pre-configured by allocating CPUs on the physical node.
- `custom_fields` (String)
@ -59,6 +60,7 @@ description: |-
- `rollback` (Block Set, Max: 1) (see [below for nested schema](#nestedblock--rollback))
- `sep_id` (Number) ID of SEP to create bootDisk on. Uses image's sepId if not set.
- `snapshot` (Block Set) (see [below for nested schema](#nestedblock--snapshot))
- `snapshot_delete_async` (Boolean)
- `started` (Boolean) Is compute started.
- `stateless` (Boolean) Compute will be stateless (SVA_KVM_X86) if set to True
- `tags` (Block Set) (see [below for nested schema](#nestedblock--tags))
@ -285,6 +287,7 @@ Read-Only:
Read-Only:
- `bus_number` (Number)
- `conn_id` (Number)
- `conn_type` (String)
- `def_gw` (String)
@ -292,8 +295,10 @@ Read-Only:
- `flip_group_id` (Number)
- `guid` (String)
- `ip_address` (String)
- `libvirt_settings` (List of Object) (see [below for nested schema](#nestedobjatt--interfaces--libvirt_settings))
- `listen_ssh` (Boolean)
- `mac` (String)
- `mtu` (Number)
- `name` (String)
- `net_id` (Number)
- `net_type` (String)
@ -305,6 +310,20 @@ Read-Only:
- `type` (String)
- `vnfs` (List of Number)
<a id="nestedobjatt--interfaces--libvirt_settings"></a>
### Nested Schema for `interfaces.libvirt_settings`
Read-Only:
- `event_idx` (String)
- `guid` (String)
- `ioeventfd` (String)
- `queues` (Number)
- `rx_queue_size` (Number)
- `tx_queue_size` (Number)
- `txmode` (String)
<a id="nestedobjatt--interfaces--qos"></a>
### Nested Schema for `interfaces.qos`

@ -35,10 +35,10 @@ description: |-
- `owner` (String)
- `permanently` (Boolean) Set to True if you want force delete non-empty RG
- `quota` (Block List, Max: 1) Quota settings for this resource group. (see [below for nested schema](#nestedblock--quota))
- `reason` (String) Set to True if you want force delete non-empty RG
- `register_computes` (Boolean) Register computes in registration system
- `restore` (Boolean)
- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts))
- `uniq_pools` (List of String)
### Read-Only
@ -59,7 +59,6 @@ description: |-
- `rg_id` (Number)
- `secret` (String)
- `status` (String) Current status of this resource group.
- `uniq_pools` (List of String)
- `updated_by` (String)
- `updated_time` (Number)
- `vins` (List of Number) List of VINs deployed in this resource group.
@ -73,10 +72,6 @@ Required:
- `right` (String) Access rights to set, one of 'R', 'RCX' or 'ARCXDU'
- `user` (String) User or group name to grant access
Optional:
- `reason` (String) Reason for action
<a id="nestedblock--def_net"></a>
### Nested Schema for `def_net`
@ -88,7 +83,6 @@ Required:
Optional:
- `net_id` (Number) Network segment ID. If netType is PUBLIC and netId is 0 then default external network segment will be selected. If netType is PRIVATE and netId=0, the first ViNS defined for this RG will be selected. Otherwise, netId identifies either existing external network segment or ViNS.
- `reason` (String) Reason for action
<a id="nestedblock--quota"></a>

@ -27,6 +27,7 @@ description: |-
### Read-Only
- `delete_async_mode` (Boolean) async mode
- `disks` (List of Number)
- `guid` (String) guid of the snapshot
- `id` (String) The ID of this resource.

@ -202,6 +202,7 @@ Read-Only:
Read-Only:
- `bus_number` (Number)
- `conn_id` (Number)
- `conn_type` (String)
- `def_gw` (String)
@ -209,8 +210,10 @@ Read-Only:
- `flipgroup_id` (Number)
- `guid` (String)
- `ip_address` (String)
- `libvirt_settings` (List of Object) (see [below for nested schema](#nestedobjatt--vnf_dev--interfaces--libvirt_settings))
- `listen_ssh` (Boolean)
- `mac` (String)
- `mtu` (Number)
- `name` (String)
- `net_id` (Number)
- `net_mask` (Number)
@ -222,6 +225,20 @@ Read-Only:
- `type` (String)
- `vnfs` (List of Number)
<a id="nestedobjatt--vnf_dev--interfaces--libvirt_settings"></a>
### Nested Schema for `vnf_dev.interfaces.libvirt_settings`
Read-Only:
- `event_idx` (String)
- `guid` (String)
- `ioeventfd` (String)
- `queues` (Number)
- `rx_queue_size` (Number)
- `tx_queue_size` (Number)
- `txmode` (String)
<a id="nestedobjatt--vnf_dev--interfaces--qos"></a>
### Nested Schema for `vnf_dev.interfaces.qos`

@ -8,7 +8,7 @@ require (
github.com/hashicorp/terraform-plugin-sdk/v2 v2.33.0
github.com/sirupsen/logrus v1.9.0
golang.org/x/net v0.23.0
repository.basistech.ru/BASIS/decort-golang-sdk v1.8.3
repository.basistech.ru/BASIS/decort-golang-sdk v1.9.0
)
require (
@ -58,7 +58,6 @@ require (
github.com/mattn/go-colorable v0.1.13 // indirect
github.com/mattn/go-isatty v0.0.20 // indirect
github.com/mattn/go-runewidth v0.0.9 // indirect
github.com/mitchellh/cli v1.1.5 // indirect
github.com/mitchellh/copystructure v1.2.0 // indirect
github.com/mitchellh/go-testing-interface v1.14.1 // indirect
github.com/mitchellh/go-wordwrap v1.0.1 // indirect
@ -66,7 +65,6 @@ require (
github.com/mitchellh/reflectwalk v1.0.2 // indirect
github.com/oklog/run v1.1.0 // indirect
github.com/posener/complete v1.2.3 // indirect
github.com/russross/blackfriday v1.6.0 // indirect
github.com/shopspring/decimal v1.3.1 // indirect
github.com/spf13/cast v1.5.0 // indirect
github.com/vmihailenco/msgpack v4.0.4+incompatible // indirect

@ -5,15 +5,11 @@ github.com/Kunde21/markdownfmt/v3 v3.1.0 h1:KiZu9LKs+wFFBQKhrZJrFZwtLnCCWJahL+S+
github.com/Kunde21/markdownfmt/v3 v3.1.0/go.mod h1:tPXN1RTyOzJwhfHoon9wUr4HGYmWgVxSQN6VBJDkrVc=
github.com/Masterminds/goutils v1.1.1 h1:5nUrii3FMTL5diU80unEVvNevw1nH4+ZV4DSLVJLSYI=
github.com/Masterminds/goutils v1.1.1/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU=
github.com/Masterminds/semver/v3 v3.1.1/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs=
github.com/Masterminds/semver/v3 v3.2.0 h1:3MEsd0SM6jqZojhjLWWeBY+Kcjy9i6MQAeY7YgDP83g=
github.com/Masterminds/semver/v3 v3.2.0/go.mod h1:qvl/7zhW3nngYb5+80sSMF+FG2BjYrf8m9wsX0PNOMQ=
github.com/Masterminds/sprig/v3 v3.2.1/go.mod h1:UoaO7Yp8KlPnJIYWTFkMaqPUYKTfGFPhxNuwnnxkKlk=
github.com/Masterminds/sprig/v3 v3.2.3 h1:eL2fZNezLomi0uOLqjQoN6BfsDD+fyLtgbJMAj9n6YA=
github.com/Masterminds/sprig/v3 v3.2.3/go.mod h1:rXcFaZ2zZbLRJv/xSysmlgIM1u11eBaRMhvYXJNkGuM=
github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow=
github.com/ProtonMail/go-crypto v1.1.0-alpha.0 h1:nHGfwXmFvJrSR9xu8qL7BkO4DqTHXE9N5vPhgY2I+j0=
github.com/ProtonMail/go-crypto v1.1.0-alpha.0/go.mod h1:rA3QumHc/FZ8pAHreoekgiAbzpNsfQAosU5td4SnOrE=
github.com/ProtonMail/go-crypto v1.1.0-alpha.2 h1:bkyFVUP+ROOARdgCiJzNQo2V2kiB97LyUpzH9P6Hrlg=
github.com/ProtonMail/go-crypto v1.1.0-alpha.2/go.mod h1:rA3QumHc/FZ8pAHreoekgiAbzpNsfQAosU5td4SnOrE=
github.com/agext/levenshtein v1.2.3 h1:YB2fHEn0UJagG8T1rrWknE3ZQzWM06O8AMAatNn7lmo=
@ -21,7 +17,6 @@ github.com/agext/levenshtein v1.2.3/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki
github.com/apparentlymart/go-textseg/v12 v12.0.0/go.mod h1:S/4uRK2UtaQttw1GenVJEynmyUenKwP++x/+DdGV/Ec=
github.com/apparentlymart/go-textseg/v15 v15.0.0 h1:uYvfpb3DyLSCGWnctWKGj857c6ew1u1fNQOlOtuGxQY=
github.com/apparentlymart/go-textseg/v15 v15.0.0/go.mod h1:K8XmNZdhEBkdlyDdvbmmsvpAG721bKi0joRfFdHIWJ4=
github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8=
github.com/armon/go-radix v1.0.0 h1:F4z6KzEeeQIMeLFa97iZU6vupzoecKdU5TX24SNppXI=
github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8=
github.com/bgentry/speakeasy v0.1.0 h1:ByYyxL9InA1OWqxJqqp2A5pYHUrCiAL6K3J+LKSsQkY=
@ -36,7 +31,6 @@ github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc=
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk=
github.com/fatih/color v1.16.0 h1:zmkK9Ngbjj+K0yRhTVONQh1p/HknKYSlNT+vZCzyokM=
github.com/fatih/color v1.16.0/go.mod h1:fL2Sau1YI5c0pdGEVCbKQbLXB6edEj1ZgiY4NijnWvE=
@ -45,7 +39,6 @@ github.com/gabriel-vasile/mimetype v1.4.2 h1:w5qFW6JKBz9Y393Y4q372O9A7cUSequkh1Q
github.com/gabriel-vasile/mimetype v1.4.2/go.mod h1:zApsH/mKG4w07erKIaJPFiX0Tsq9BFQgN3qGY5GnNgA=
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI=
github.com/go-git/go-billy/v5 v5.5.0 h1:yEY4yhzCDuMGSv83oGxiBotRzhwhNr8VZyphhiu+mTU=
github.com/go-git/go-git/v5 v5.11.0 h1:XIZc1p+8YzypNr34itUfSvYJcv+eYdTnTvOZ2vD3cA4=
github.com/go-git/go-git/v5 v5.12.0 h1:7Md+ndsjrzZxbddRDZjF14qK+NN56sy6wkqaVrjZtys=
github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s=
github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA=
@ -69,7 +62,6 @@ github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN
github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8=
github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU=
github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid v1.4.0 h1:MtMxsa51/r9yyhkyLsVeVt0B+BGQZzpQiTQ4eHZ8bc4=
github.com/google/uuid v1.4.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/hashicorp/cli v1.1.6 h1:CMOV+/LJfL1tXCOKrgAX0uRKnzjj/mpmqNXloRSy2K8=
@ -94,28 +86,18 @@ github.com/hashicorp/go-plugin v1.6.0/go.mod h1:lBS5MtSSBZk0SHc66KACcjjlU6WzEVP/
github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro=
github.com/hashicorp/go-uuid v1.0.3 h1:2gKiV6YVmrJ1i2CKKa9obLvRieoRGviZFL26PcT/Co8=
github.com/hashicorp/go-uuid v1.0.3/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro=
github.com/hashicorp/go-version v1.6.0 h1:feTTfFNnjP967rlCxM/I9g701jU+RN74YKx2mOkIeek=
github.com/hashicorp/go-version v1.6.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
github.com/hashicorp/go-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKeRZfjY=
github.com/hashicorp/go-version v1.7.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
github.com/hashicorp/hc-install v0.6.3 h1:yE/r1yJvWbtrJ0STwScgEnCanb0U9v7zp0Gbkmcoxqs=
github.com/hashicorp/hc-install v0.6.3/go.mod h1:KamGdbodYzlufbWh4r9NRo8y6GLHWZP2GBtdnms1Ln0=
github.com/hashicorp/hc-install v0.7.0 h1:Uu9edVqjKQxxuD28mR5TikkKDd/p55S8vzPC1659aBk=
github.com/hashicorp/hc-install v0.7.0/go.mod h1:ELmmzZlGnEcqoUMKUuykHaPCIR1sYLYX+KSggWSKZuA=
github.com/hashicorp/hcl/v2 v2.19.1 h1://i05Jqznmb2EXqa39Nsvyan2o5XyMowW5fnCKW5RPI=
github.com/hashicorp/hcl/v2 v2.19.1/go.mod h1:ThLC89FV4p9MPW804KVbe/cEXoQ8NZEh+JtMeeGErHE=
github.com/hashicorp/logutils v1.0.0 h1:dLEQVugN8vlakKOUE3ihGLTZJRB4j+M2cdTm/ORI65Y=
github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64=
github.com/hashicorp/terraform-exec v0.20.0 h1:DIZnPsqzPGuUnq6cH8jWcPunBfY+C+M8JyYF3vpnuEo=
github.com/hashicorp/terraform-exec v0.20.0/go.mod h1:ckKGkJWbsNqFKV1itgMnE0hY9IYf1HoiekpuN0eWoDw=
github.com/hashicorp/terraform-exec v0.21.0 h1:uNkLAe95ey5Uux6KJdua6+cv8asgILFVWkd/RG0D2XQ=
github.com/hashicorp/terraform-exec v0.21.0/go.mod h1:1PPeMYou+KDUSSeRE9szMZ/oHf4fYUmB923Wzbq1ICg=
github.com/hashicorp/terraform-json v0.21.0 h1:9NQxbLNqPbEMze+S6+YluEdXgJmhQykRyRNd+zTI05U=
github.com/hashicorp/terraform-json v0.21.0/go.mod h1:qdeBs11ovMzo5puhrRibdD6d2Dq6TyE/28JiU4tIQxk=
github.com/hashicorp/terraform-json v0.22.1 h1:xft84GZR0QzjPVWs4lRUwvTcPnegqlyS7orfb5Ltvec=
github.com/hashicorp/terraform-json v0.22.1/go.mod h1:JbWSQCLFSXFFhg42T7l9iJwdGXBYV8fmmD6o/ML4p3A=
github.com/hashicorp/terraform-plugin-docs v0.13.0 h1:6e+VIWsVGb6jYJewfzq2ok2smPzZrt1Wlm9koLeKazY=
github.com/hashicorp/terraform-plugin-docs v0.13.0/go.mod h1:W0oCmHAjIlTHBbvtppWHe8fLfZ2BznQbuv8+UD8OucQ=
github.com/hashicorp/terraform-plugin-docs v0.19.4 h1:G3Bgo7J22OMtegIgn8Cd/CaSeyEljqjH3G39w28JK4c=
github.com/hashicorp/terraform-plugin-docs v0.19.4/go.mod h1:4pLASsatTmRynVzsjEhbXZ6s7xBlUw/2Kt0zfrq8HxA=
github.com/hashicorp/terraform-plugin-go v0.22.0 h1:1OS1Jk5mO0f5hrziWJGXXIxBrMe2j/B8E+DVGw43Xmc=
@ -130,8 +112,6 @@ github.com/hashicorp/terraform-svchost v0.1.1 h1:EZZimZ1GxdqFRinZ1tpJwVxxt49xc/S
github.com/hashicorp/terraform-svchost v0.1.1/go.mod h1:mNsjQfZyf/Jhz35v6/0LWcv26+X7JPS+buii2c9/ctc=
github.com/hashicorp/yamux v0.1.1 h1:yrQxtgseBDrq9Y652vSRDvsKCJKOUD+GzTS4Y0Y8pvE=
github.com/hashicorp/yamux v0.1.1/go.mod h1:CtWFDAQgb7dxtzFs4tWbplKIe2jSi3+5vKbgIO0SLnQ=
github.com/huandu/xstrings v1.3.1/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE=
github.com/huandu/xstrings v1.3.2/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE=
github.com/huandu/xstrings v1.3.3/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE=
github.com/huandu/xstrings v1.4.0 h1:D17IlohoQq4UcpqD7fDk80P7l+lwAmlFaBHgOipl2FU=
github.com/huandu/xstrings v1.4.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE=
@ -149,12 +129,10 @@ github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc=
github.com/leodido/go-urn v1.2.4 h1:XlAE/cm/ms7TE/VMVoduSpNBoyc2dOxHs5MZSwAN63Q=
github.com/leodido/go-urn v1.2.4/go.mod h1:7ZrI8mTSeBSHl/UaRyKQW1qZeMgak41ANeCNaVckg+4=
github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4=
github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg=
github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94=
github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
@ -162,8 +140,6 @@ github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWE
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
github.com/mattn/go-runewidth v0.0.9 h1:Lm995f3rfxdpd6TSmuVCHVb/QhupuXlYr8sCI/QdE+0=
github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
github.com/mitchellh/cli v1.1.5 h1:OxRIeJXpAMztws/XHlN2vu6imG5Dpq+j61AzAX5fLng=
github.com/mitchellh/cli v1.1.5/go.mod h1:v8+iFts2sPIKUV1ltktPXMCC8fumSKFItNcD2cLtRR4=
github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw=
github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw=
github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s=
@ -181,21 +157,15 @@ github.com/oklog/run v1.1.0/go.mod h1:sVPdnTZT1zYwAJeCMu2Th4T21pA3FPOQRfWjQlk7DV
github.com/pjbgf/sha1cd v0.3.0 h1:4D5XXmUUBUl/xQ6IjCkEAbqXskkq/4O7LmGn0AqMDs4=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI=
github.com/posener/complete v1.2.3 h1:NP0eAhjcjImqslEwo/1hq7gpajME0fTLTezBKDqfXqo=
github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s=
github.com/rogpeppe/go-internal v1.6.1 h1:/FiVV8dS/e+YqF2JvO3yXRFbBLTIuSDkuC7aBOAvL+k=
github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8=
github.com/russross/blackfriday v1.6.0 h1:KqfZb0pUVN2lYqZUYRddxF4OR8ZMURnJIG5Y3VRLtww=
github.com/russross/blackfriday v1.6.0/go.mod h1:ti0ldHuxg49ri4ksnFxlkCfN+hvslNlmVHqNRXXJNAY=
github.com/sergi/go-diff v1.2.0 h1:XU+rvMAioB0UC3q1MFrIQy4Vo5/4VsRDQQXHsEya6xQ=
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 h1:n661drycOFuPLCN3Uc8sB6B/s6Z4t2xvBgU1htSHuq8=
github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o=
github.com/shopspring/decimal v1.3.1 h1:2Usl1nmF/WZucqkFZhnfFYxxxu8LG21F6nPQBE5gKV8=
github.com/shopspring/decimal v1.3.1/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o=
github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0=
github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
github.com/skeema/knownhosts v1.2.1 h1:SHWdIUa82uGZz+F+47k8SY4QhhI291cXCpopT1lK2AQ=
github.com/skeema/knownhosts v1.2.2 h1:Iug2P4fLmDw9f41PB6thxUkNUkJzB5i+1/exaj40L3A=
github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w=
@ -206,7 +176,6 @@ github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpE
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals=
@ -226,26 +195,18 @@ github.com/yuin/goldmark v1.7.1 h1:3bajkSilaCbjdKVsKdZjZCLBNPL9pYzrCakKaf4U49U=
github.com/yuin/goldmark v1.7.1/go.mod h1:uzxRWxtg69N339t3louHJ7+O03ezfj6PlliRlaOzY1E=
github.com/yuin/goldmark-meta v1.1.0 h1:pWw+JLHGZe8Rk0EGsMVssiNb/AaPMHfSRszZeUeiOUc=
github.com/yuin/goldmark-meta v1.1.0/go.mod h1:U4spWENafuA7Zyg+Lj5RqK/MF+ovMYtBvXi1lBb2VP0=
github.com/zclconf/go-cty v1.14.2 h1:kTG7lqmBou0Zkx35r6HJHUQTvaRPr5bIAf3AoHS0izI=
github.com/zclconf/go-cty v1.14.2/go.mod h1:VvMs5i0vgZdhYawQNq5kePSpLAoz8u1xvZgrPIxfnZE=
github.com/zclconf/go-cty v1.14.4 h1:uXXczd9QDGsgu0i/QFR/hzI5NYCHLf6NQw/atrbnhq8=
github.com/zclconf/go-cty v1.14.4/go.mod h1:VvMs5i0vgZdhYawQNq5kePSpLAoz8u1xvZgrPIxfnZE=
go.abhg.dev/goldmark/frontmatter v0.2.0 h1:P8kPG0YkL12+aYk2yU3xHv4tcXzeVnN+gU0tJ5JnxRw=
go.abhg.dev/goldmark/frontmatter v0.2.0/go.mod h1:XqrEkZuM57djk7zrlRUB02x8I5J0px76YjkOzhB4YlU=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20200414173820-0848c9571904/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4=
golang.org/x/crypto v0.19.0 h1:ENy+Az/9Y1vSrlrvBSyna3PITt4tiZLf7sgCjZBX7Wo=
golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU=
golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA=
golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs=
golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df h1:UA2aFVmmsIlefxMk29Dp2juaUSth8Pyn3Tq5Y5mJGME=
golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc=
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
golang.org/x/mod v0.15.0 h1:SernR4v+D55NyBH2QiEQrlBAnj1ECL6AGrA5+dPaMY8=
golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA=
golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
@ -253,15 +214,12 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY=
golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c=
golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U=
golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs=
golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@ -275,8 +233,6 @@ golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.17.0 h1:25cE3gD+tdBA7lp7QfhuV+rJiE9YXTcS3VG1SqssI/Y=
golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4=
golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
@ -288,8 +244,6 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ=
golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk=
golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
@ -319,5 +273,5 @@ gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
repository.basistech.ru/BASIS/decort-golang-sdk v1.8.3 h1:fCwFvZR+HID7ie4Aap7cJd6SbuJ+4gBWysKaMQDCPgc=
repository.basistech.ru/BASIS/decort-golang-sdk v1.8.3/go.mod h1:OaUynHHuSjWMzpfyoL4au6oLcUogqUkPPBKA15pbHWo=
repository.basistech.ru/BASIS/decort-golang-sdk v1.9.0 h1:RLOWSc7EJ6O37aPHQI9gkJ2JfuZMzGonF2PKeWN6sXw=
repository.basistech.ru/BASIS/decort-golang-sdk v1.9.0/go.mod h1:OaUynHHuSjWMzpfyoL4au6oLcUogqUkPPBKA15pbHWo=

@ -23,8 +23,10 @@ package provider
import (
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
"repository.basistech.ru/BASIS/terraform-provider-decort/internal/service/cloudapi/account"
"repository.basistech.ru/BASIS/terraform-provider-decort/internal/service/cloudapi/audit"
"repository.basistech.ru/BASIS/terraform-provider-decort/internal/service/cloudapi/bservice"
"repository.basistech.ru/BASIS/terraform-provider-decort/internal/service/cloudapi/disks"
"repository.basistech.ru/BASIS/terraform-provider-decort/internal/service/cloudapi/dpdknet"
"repository.basistech.ru/BASIS/terraform-provider-decort/internal/service/cloudapi/extnet"
"repository.basistech.ru/BASIS/terraform-provider-decort/internal/service/cloudapi/flipgroup"
"repository.basistech.ru/BASIS/terraform-provider-decort/internal/service/cloudapi/image"
@ -41,6 +43,7 @@ import (
cb_account "repository.basistech.ru/BASIS/terraform-provider-decort/internal/service/cloudbroker/account"
cb_audit "repository.basistech.ru/BASIS/terraform-provider-decort/internal/service/cloudbroker/audit"
cb_disks "repository.basistech.ru/BASIS/terraform-provider-decort/internal/service/cloudbroker/disks"
cb_dpdknet "repository.basistech.ru/BASIS/terraform-provider-decort/internal/service/cloudbroker/dpdknet"
cb_extnet "repository.basistech.ru/BASIS/terraform-provider-decort/internal/service/cloudbroker/extnet"
cb_flipgroup "repository.basistech.ru/BASIS/terraform-provider-decort/internal/service/cloudbroker/flipgroup"
cb_grid "repository.basistech.ru/BASIS/terraform-provider-decort/internal/service/cloudbroker/grid"
@ -63,6 +66,7 @@ import (
func newDataSourcesMap() map[string]*schema.Resource {
return map[string]*schema.Resource{
"decort_account": account.DataSourceAccount(),
"decort_audit": audit.DataSourceAudit(),
"decort_resgroup": rg.DataSourceResgroup(),
"decort_kvmvm": kvmvm.DataSourceCompute(),
"decort_kvmvm_list": kvmvm.DataSourceComputeList(),
@ -127,6 +131,8 @@ func newDataSourcesMap() map[string]*schema.Resource {
"decort_bservice_snapshot_list": bservice.DataSourceBasicServiceSnapshotList(),
"decort_bservice_group": bservice.DataSourceBasicServiceGroup(),
"decort_bservice_deleted_list": bservice.DataSourceBasicServiceDeletedList(),
"decort_dpdknet": dpdknet.DataSourceDPDKNet(),
"decort_dpdknet_list": dpdknet.DataSourceDPDKNetList(),
"decort_extnet_list": extnet.DataSourceExtnetList(),
"decort_extnet_computes_list": extnet.DataSourceExtnetComputesList(),
"decort_extnet": extnet.DataSourceExtnet(),
@ -168,6 +174,9 @@ func newDataSourcesMap() map[string]*schema.Resource {
"decort_cb_audit": cb_audit.DataSourceAudit(),
"decort_cb_audit_list": cb_audit.DataSourceAuditList(),
"decort_cb_audit_linked_jobs": cb_audit.DataSourceAuditLinkedJobs(),
"decort_cb_audits_export_to_file": cb_audit.DataSourceAuditsToFile(),
"decort_cb_dpdknet": cb_dpdknet.DataSourceDPDKNet(),
"decort_cb_dpdknet_list": cb_dpdknet.DataSourceDPDKNetList(),
"decort_cb_extnet": cb_extnet.DataSourceExtnetCB(),
"decort_cb_extnet_list": cb_extnet.DataSourceExtnetListCB(),
"decort_cb_extnet_default": cb_extnet.DataSourceExtnetDefaultCB(),
@ -179,6 +188,7 @@ func newDataSourcesMap() map[string]*schema.Resource {
"decort_cb_grid_post_status": cb_grid.DataSourceGridPostStatus(),
"decort_cb_grid_get_diagnosis": cb_grid.DataSourceGridGetDiagnosis(),
"decort_cb_grid_post_diagnosis": cb_grid.DataSourceGridPostDiagnosis(),
"decort_cb_grid_get_settings": cb_grid.DataSourceGridGetSettings(),
"decort_cb_grid_list": cb_grid.DataSourceGridList(),
"decort_cb_grid_list_emails": cb_grid.DataSourceGridListEmails(),
"decort_cb_grid_list_consumption": cb_grid.DataSourceGridListConsumption(),

@ -37,6 +37,7 @@ import (
cb_account "repository.basistech.ru/BASIS/terraform-provider-decort/internal/service/cloudbroker/account"
cb_disks "repository.basistech.ru/BASIS/terraform-provider-decort/internal/service/cloudbroker/disks"
cb_dpdknet "repository.basistech.ru/BASIS/terraform-provider-decort/internal/service/cloudbroker/dpdknet"
cb_extnet "repository.basistech.ru/BASIS/terraform-provider-decort/internal/service/cloudbroker/extnet"
cb_flipgroup "repository.basistech.ru/BASIS/terraform-provider-decort/internal/service/cloudbroker/flipgroup"
cb_image "repository.basistech.ru/BASIS/terraform-provider-decort/internal/service/cloudbroker/image"
@ -54,11 +55,11 @@ import (
func newResourcesMap() map[string]*schema.Resource {
return map[string]*schema.Resource{
"decort_resgroup": rg.ResourceResgroup(),
"decort_kvmvm": kvmvm.ResourceCompute(),
"decort_disk": disks.ResourceDisk(),
"decort_disk_snapshot": disks.ResourceDiskSnapshot(),
"decort_disk_replication": disks.ResourceDiskReplication(),
"decort_resgroup": rg.ResourceResgroup(),
"decort_kvmvm": kvmvm.ResourceCompute(),
"decort_disk": disks.ResourceDisk(),
"decort_disk_snapshot": disks.ResourceDiskSnapshot(),
//"decort_disk_replication": disks.ResourceDiskReplication(),
"decort_vins": vins.ResourceVins(),
"decort_pfw": pfw.ResourcePfw(),
"decort_k8s": k8s.ResourceK8s(),
@ -80,12 +81,13 @@ func newResourcesMap() map[string]*schema.Resource {
"decort_flipgroup": flipgroup.ResourceFlipgroup(),
"decort_vins_static_route": vins.ResourceStaticRoute(),
"decort_cb_account": cb_account.ResourceAccount(),
"decort_cb_extnet": cb_extnet.ResourceExtnetCB(),
"decort_cb_extnet_static_route": cb_extnet.ResourceStaticRoute(),
"decort_cb_disk": cb_disks.ResourceDisk(),
"decort_cb_disk_snapshot": cb_disks.ResourceDiskSnapshot(),
"decort_cb_disk_replication": cb_disks.ResourceDiskReplication(),
"decort_cb_account": cb_account.ResourceAccount(),
"decort_cb_dpdknet": cb_dpdknet.ResourceDPDKNet(),
"decort_cb_extnet": cb_extnet.ResourceExtnetCB(),
"decort_cb_extnet_static_route": cb_extnet.ResourceStaticRoute(),
"decort_cb_disk": cb_disks.ResourceDisk(),
"decort_cb_disk_snapshot": cb_disks.ResourceDiskSnapshot(),
//"decort_cb_disk_replication": cb_disks.ResourceDiskReplication(),
"decort_cb_image": cb_image.ResourceImage(),
"decort_cb_image_from_blank_compute": cb_image.ResourceImageFromBlankCompute(),
"decort_cb_image_from_platform_disk": cb_image.ResourceImageFromPlatformDisk(),

@ -126,6 +126,11 @@ func dataSourceAccountFlipGroupsListSchemaMake() map[string]*schema.Schema {
Optional: true,
Description: "Filter by flipgroup ID",
},
"sort_by": {
Type: schema.TypeString,
Optional: true,
Description: "sort by one of supported fields, format +|-(field)",
},
"page": {
Type: schema.TypeInt,
Optional: true,

@ -315,9 +315,8 @@ func resourceAccountUpdate(ctx context.Context, d *schema.ResourceData, m interf
userConv := user.(map[string]interface{})
req := account.DeleteUserRequest{
AccountID: accountId,
UserID: userConv["user_id"].(string),
RecursiveDelete: userConv["recursive_delete"].(bool),
AccountID: accountId,
UserID: userConv["user_id"].(string),
}
_, err := c.CloudAPI().Account().DeleteUser(ctx, req)
if err != nil {
@ -381,8 +380,7 @@ func isChangedUser(els []interface{}, el interface{}) bool {
elOldConv := elOld.(map[string]interface{})
elConv := el.(map[string]interface{})
if elOldConv["user_id"].(string) == elConv["user_id"].(string) &&
(!strings.EqualFold(elOldConv["access_type"].(string), elConv["access_type"].(string)) ||
elOldConv["recursive_delete"].(bool) != elConv["recursive_delete"].(bool)) {
(!strings.EqualFold(elOldConv["access_type"].(string), elConv["access_type"].(string))) {
return true
}
}
@ -424,11 +422,6 @@ func resourceAccountSchemaMake() map[string]*schema.Schema {
Type: schema.TypeString,
Required: true,
},
"recursive_delete": {
Type: schema.TypeBool,
Optional: true,
Default: false,
},
},
},
},

@ -72,6 +72,10 @@ func utilityAccountFlipGroupsListCheckPresence(ctx context.Context, d *schema.Re
req.ByIP = by_ip.(string)
}
if sortBy, ok := d.GetOk("sort_by"); ok {
req.SortBy = sortBy.(string)
}
if flipgroup_id, ok := d.GetOk("flipgroup_id"); ok {
req.FLIPGroupID = uint64(flipgroup_id.(int))
}

@ -0,0 +1,128 @@
/*
Copyright (c) 2019-2023 Digital Energy Cloud Solutions LLC. All Rights Reserved.
Authors:
Petr Krutov, <petr.krutov@digitalenergy.online>
Stanislav Solovev, <spsolovev@digitalenergy.online>
Sergey Kisil, <svkisil@digitalenergy.online>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
/*
Terraform DECORT provider - manage resources provided by DECORT (Digital Energy Cloud
Orchestration Technology) with Terraform by Hashicorp.
Source code: https://repository.basistech.ru/BASIS/terraform-provider-decort
Please see README.md to learn where to place source code so that it
builds seamlessly.
Documentation: https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki
*/
package audit
import (
"context"
"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
"repository.basistech.ru/BASIS/terraform-provider-decort/internal/constants"
)
func dataSourceAuditRead(ctx context.Context, d *schema.ResourceData, m interface{}) diag.Diagnostics {
auditRec, err := utilityAuditCheckPresence(ctx, d, m)
if err != nil {
d.SetId("") // ensure ID is empty in this case
return diag.FromErr(err)
}
flattenAudit(d, auditRec)
d.SetId(d.Get("audit_guid").(string))
return nil
}
func DataSourceAudit() *schema.Resource {
return &schema.Resource{
SchemaVersion: 1,
ReadContext: dataSourceAuditRead,
Timeouts: &schema.ResourceTimeout{
Read: &constants.Timeout30s,
Default: &constants.Timeout60s,
},
Schema: dataSourceAuditSchemaMake(),
}
}
func dataSourceAuditSchemaMake() map[string]*schema.Schema {
return map[string]*schema.Schema{
"audit_guid": {
Type: schema.TypeString,
Required: true,
Description: "audit guid",
},
"args": {
Type: schema.TypeString,
Computed: true,
},
"call": {
Type: schema.TypeString,
Computed: true,
},
"guid": {
Type: schema.TypeString,
Computed: true,
},
"kwargs": {
Type: schema.TypeString,
Computed: true,
},
"remote_addr": {
Type: schema.TypeString,
Computed: true,
},
"responsetime": {
Type: schema.TypeFloat,
Computed: true,
},
"result": {
Type: schema.TypeString,
Computed: true,
},
"status_code": {
Type: schema.TypeInt,
Computed: true,
},
"tags": {
Type: schema.TypeString,
Computed: true,
},
"timestamp": {
Type: schema.TypeFloat,
Computed: true,
},
"timestamp_end": {
Type: schema.TypeFloat,
Computed: true,
},
"user": {
Type: schema.TypeString,
Computed: true,
},
}
}

@ -0,0 +1,56 @@
/*
Copyright (c) 2019-2023 Digital Energy Cloud Solutions LLC. All Rights Reserved.
Authors:
Petr Krutov, <petr.krutov@digitalenergy.online>
Stanislav Solovev, <spsolovev@digitalenergy.online>
Sergey Kisil, <svkisil@digitalenergy.online>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
/*
Terraform DECORT provider - manage resources provided by DECORT (Digital Energy Cloud
Orchestration Technology) with Terraform by Hashicorp.
Source code: https://repository.basistech.ru/BASIS/terraform-provider-decort
Please see README.md to learn where to place source code so that it
builds seamlessly.
Documentation: https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki
*/
package audit
import (
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
log "github.com/sirupsen/logrus"
"repository.basistech.ru/BASIS/decort-golang-sdk/pkg/cloudapi/audit"
)
func flattenAudit(d *schema.ResourceData, au *audit.RecordAudit) {
log.Debugf("flattenAudit: decoded audit guid %s", d.Get("audit_guid").(string))
d.Set("args", au.Arguments)
d.Set("call", au.Call)
d.Set("guid", au.GUID)
d.Set("kwargs", au.Kwargs)
d.Set("remote_addr", au.RemoteAddr)
d.Set("responsetime", au.ResponseTime)
d.Set("result", au.Result)
d.Set("status_code", au.StatusCode)
d.Set("tags", au.Tags)
d.Set("timestamp", au.Timestamp)
d.Set("timestamp_end", au.TimestampEnd)
d.Set("user", au.User)
}

@ -0,0 +1,62 @@
/*
Copyright (c) 2019-2023 Digital Energy Cloud Solutions LLC. All Rights Reserved.
Authors:
Petr Krutov, <petr.krutov@digitalenergy.online>
Stanislav Solovev, <spsolovev@digitalenergy.online>
Sergey Kisil, <svkisil@digitalenergy.online>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
/*
Terraform DECORT provider - manage resources provided by DECORT (Digital Energy Cloud
Orchestration Technology) with Terraform by Hashicorp.
Source code: https://repository.basistech.ru/BASIS/terraform-provider-decort
Please see README.md to learn where to place source code so that it
builds seamlessly.
Documentation: https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki
*/
package audit
import (
"context"
log "github.com/sirupsen/logrus"
"repository.basistech.ru/BASIS/decort-golang-sdk/pkg/cloudapi/audit"
"repository.basistech.ru/BASIS/terraform-provider-decort/internal/controller"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
)
func utilityAuditCheckPresence(ctx context.Context, d *schema.ResourceData, m interface{}) (*audit.RecordAudit, error) {
c := m.(*controller.ControllerCfg)
req := audit.GetRequest{}
if d.Id() != "" {
req.AuditGuid = d.Id()
} else {
req.AuditGuid = d.Get("audit_guid").(string)
}
log.Debugf("utilityStackCheckPresence: load audit")
auditInfo, err := c.CloudAPI().Audit().Get(ctx, req)
if err != nil {
return nil, err
}
return auditInfo, nil
}

@ -394,7 +394,7 @@ func resourceBasicServiceGroupSchemaMake() map[string]*schema.Schema {
"driver": {
Type: schema.TypeString,
Required: true,
Description: "compute driver like a KVM_X86, KVM_PPC, etc.",
Description: "compute driver like a KVM_X86, etc.",
},
///4.4.0
"sep_id": {

@ -238,12 +238,6 @@ func resourceDiskUpdate(ctx context.Context, d *schema.ResourceData, m interface
DiskID: disk.ID,
}
if reason, ok := d.GetOk("reason"); ok {
req.Reason = reason.(string)
} else {
req.Reason = "Terraform automatic restore"
}
_, err := c.CloudAPI().Disks().Restore(ctx, req)
if err != nil {
warnings.Add(err)
@ -362,7 +356,6 @@ func resourceDiskDelete(ctx context.Context, d *schema.ResourceData, m interface
DiskID: disk.ID,
Detach: d.Get("detach").(bool),
Permanently: d.Get("permanently").(bool),
Reason: d.Get("reason").(string),
}
c := m.(*controller.ControllerCfg)
@ -437,12 +430,6 @@ func resourceDiskSchemaMake() map[string]*schema.Schema {
Default: false,
Description: "Whether to completely delete the disk, works only with non attached disks",
},
"reason": {
Type: schema.TypeString,
Optional: true,
Default: "",
Description: "Reason for deletion",
},
"shareable": {
Type: schema.TypeBool,
Optional: true,
@ -677,27 +664,27 @@ func resourceDiskSchemaMake() map[string]*schema.Schema {
Elem: &schema.Resource{
Schema: map[string]*schema.Schema{
"disk_id": {
Type: schema.TypeInt,
Type: schema.TypeInt,
Computed: true,
},
"pool_id": {
Type: schema.TypeString,
Type: schema.TypeString,
Computed: true,
},
"role": {
Type: schema.TypeString,
Type: schema.TypeString,
Computed: true,
},
"self_volume_id": {
Type: schema.TypeString,
Type: schema.TypeString,
Computed: true,
},
"storage_id": {
Type: schema.TypeString,
Type: schema.TypeString,
Computed: true,
},
"volume_id": {
Type: schema.TypeString,
Type: schema.TypeString,
Computed: true,
},
},

@ -177,7 +177,6 @@ func resourceDiskReplicationDelete(ctx context.Context, d *schema.ResourceData,
DiskID: disk.ID,
Detach: d.Get("detach").(bool),
Permanently: d.Get("permanently").(bool),
Reason: d.Get("reason").(string),
}
log.Debugf("resourceDiskReplicationDelete: delete disk replica for disk with ID: %d", diskId)
@ -243,11 +242,6 @@ func resourceDiskReplicationSchemaMake() map[string]*schema.Schema {
Default: false,
Description: "Delete disk permanently",
},
"reason": {
Type: schema.TypeString,
Optional: true,
Description: "Reason for disk deletion",
},
"replica_disk_id": {
Type: schema.TypeInt,
Computed: true,

@ -0,0 +1,153 @@
/*
Copyright (c) 2019-2022 Digital Energy Cloud Solutions LLC. All Rights Reserved.
Authors:
Petr Krutov, <petr.krutov@digitalenergy.online>
Stanislav Solovev, <spsolovev@digitalenergy.online>
Kasim Baybikov, <kmbaybikov@basistech.ru>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
/*
Terraform DECORT provider - manage resources provided by DECORT (Digital Energy Cloud
Orchestration Technology) with Terraform by Hashicorp.
Source code: https://repository.basistech.ru/BASIS/terraform-provider-decort
Please see README.md to learn where to place source code so that it
builds seamlessly.
Documentation: https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki
*/
package dpdknet
import (
"context"
"github.com/google/uuid"
"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
"repository.basistech.ru/BASIS/terraform-provider-decort/internal/constants"
)
func dataSourceDPDKNetRead(ctx context.Context, d *schema.ResourceData, m interface{}) diag.Diagnostics {
dpdk, err := utilityDPDKNetCheckPresence(ctx, d, m)
if err != nil {
d.SetId("")
return diag.FromErr(err)
}
id := uuid.New()
d.SetId(id.String())
flattenDPDKNet(d, dpdk)
return nil
}
func dataSourceDPDKNetSchemaMake() map[string]*schema.Schema {
res := map[string]*schema.Schema{
"dpdk_id": {
Type: schema.TypeInt,
Required: true,
Description: "The unique ID of the subscriber-owner of the DPDK network",
},
"account_access": {
Type: schema.TypeList,
Computed: true,
Elem: &schema.Schema{
Type: schema.TypeInt,
},
Description: "List of accounts with access",
},
"created_time": {
Type: schema.TypeInt,
Computed: true,
Description: "Created time",
},
"desc": {
Type: schema.TypeString,
Computed: true,
Description: "Description of DPDK network",
},
"gid": {
Type: schema.TypeInt,
Computed: true,
Description: "ID of the grid (platform)",
},
"guid": {
Type: schema.TypeInt,
Computed: true,
Description: "DPDK network ID on the storage side",
},
"name": {
Type: schema.TypeString,
Computed: true,
Description: "Name of network",
},
"rg_access": {
Type: schema.TypeList,
Computed: true,
Elem: &schema.Schema{
Type: schema.TypeInt,
},
Description: "List of resource groups with access",
},
"status": {
Type: schema.TypeString,
Computed: true,
Description: "DPDK network status",
},
"ovs_bridge": {
Type: schema.TypeString,
Computed: true,
Description: "OVS bridge in which interfaces for computers created",
},
"vlan_id": {
Type: schema.TypeInt,
Computed: true,
Description: "vlan ID",
},
"compute_ids": {
Type: schema.TypeList,
Computed: true,
Elem: &schema.Schema{
Type: schema.TypeInt,
},
Description: "Compute IDs which uses this DPDK network",
},
"updated_time": {
Type: schema.TypeInt,
Computed: true,
Description: "Updated time",
},
}
return res
}
func DataSourceDPDKNet() *schema.Resource {
return &schema.Resource{
SchemaVersion: 1,
ReadContext: dataSourceDPDKNetRead,
Timeouts: &schema.ResourceTimeout{
Read: &constants.Timeout30s,
Default: &constants.Timeout60s,
},
Schema: dataSourceDPDKNetSchemaMake(),
}
}

@ -0,0 +1,212 @@
/*
Copyright (c) 2019-2022 Digital Energy Cloud Solutions LLC. All Rights Reserved.
Authors:
Petr Krutov, <petr.krutov@digitalenergy.online>
Stanislav Solovev, <spsolovev@digitalenergy.online>
Kasim Baybikov, <kmbaybikov@basistech.ru>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
/*
Terraform DECORT provider - manage resources provided by DECORT (Digital Energy Cloud
Orchestration Technology) with Terraform by Hashicorp.
Source code: https://repository.basistech.ru/BASIS/terraform-provider-decort
Please see README.md to learn where to place source code so that it
builds seamlessly.
Documentation: https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki
*/
package dpdknet
import (
"context"
"github.com/google/uuid"
"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
"repository.basistech.ru/BASIS/terraform-provider-decort/internal/constants"
)
func dataSourceDPDKNetListRead(ctx context.Context, d *schema.ResourceData, m interface{}) diag.Diagnostics {
dpdkList, err := utilityDPDKNetListCheckPresence(ctx, d, m)
if err != nil {
d.SetId("")
return diag.FromErr(err)
}
id := uuid.New()
d.SetId(id.String())
d.Set("items", flattenDPDKNetList(dpdkList))
d.Set("entry_count", dpdkList.EntryCount)
return nil
}
func dataSourceDPDKNetListSchemaMake() map[string]*schema.Schema {
res := map[string]*schema.Schema{
"by_id": {
Type: schema.TypeInt,
Optional: true,
Description: "Find by ID",
},
"gid": {
Type: schema.TypeInt,
Optional: true,
Description: "Find by GID",
},
"name": {
Type: schema.TypeString,
Optional: true,
Description: "Find by name",
},
"desc": {
Type: schema.TypeString,
Optional: true,
Description: "Find by description",
},
"status": {
Type: schema.TypeString,
Optional: true,
Description: "Find by status",
},
"compute_ids": {
Type: schema.TypeList,
Optional: true,
Elem: &schema.Schema{
Type: schema.TypeInt,
},
Description: "Find by compute IDs",
},
"sort_by": {
Type: schema.TypeString,
Optional: true,
Description: "sort by one of supported fields, format +|-(field)",
},
"page": {
Type: schema.TypeInt,
Optional: true,
Description: "Page number",
},
"size": {
Type: schema.TypeInt,
Optional: true,
Description: "Page size",
},
"items": {
Type: schema.TypeList,
Computed: true,
Elem: &schema.Resource{
Schema: map[string]*schema.Schema{
"dpdk_id": {
Type: schema.TypeInt,
Required: true,
Description: "The unique ID of the subscriber-owner of the DPDK network",
},
"account_access": {
Type: schema.TypeList,
Computed: true,
Elem: &schema.Schema{
Type: schema.TypeInt,
},
Description: "List of accounts with access",
},
"created_time": {
Type: schema.TypeInt,
Computed: true,
Description: "Created time",
},
"desc": {
Type: schema.TypeString,
Computed: true,
Description: "Description of DPDK network",
},
"gid": {
Type: schema.TypeInt,
Computed: true,
Description: "ID of the grid (platform)",
},
"guid": {
Type: schema.TypeInt,
Computed: true,
Description: "DPDK network ID on the storage side",
},
"name": {
Type: schema.TypeString,
Computed: true,
Description: "Name of network",
},
"rg_access": {
Type: schema.TypeList,
Computed: true,
Elem: &schema.Schema{
Type: schema.TypeInt,
},
Description: "List of resource groups with access",
},
"status": {
Type: schema.TypeString,
Computed: true,
Description: "DPDK network status",
},
"ovs_bridge": {
Type: schema.TypeString,
Computed: true,
Description: "OVS bridge in which interfaces for computers created",
},
"vlan_id": {
Type: schema.TypeInt,
Computed: true,
Description: "vlan ID",
},
"compute_ids": {
Type: schema.TypeList,
Computed: true,
Elem: &schema.Schema{
Type: schema.TypeInt,
},
Description: "Compute IDs which uses this DPDK network",
},
"updated_time": {
Type: schema.TypeInt,
Computed: true,
Description: "Updated time",
},
},
},
},
"entry_count": {
Type: schema.TypeInt,
Computed: true,
},
}
return res
}
func DataSourceDPDKNetList() *schema.Resource {
return &schema.Resource{
SchemaVersion: 1,
ReadContext: dataSourceDPDKNetListRead,
Timeouts: &schema.ResourceTimeout{
Read: &constants.Timeout30s,
Default: &constants.Timeout60s,
},
Schema: dataSourceDPDKNetListSchemaMake(),
}
}

@ -0,0 +1,44 @@
package dpdknet
import (
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
dpdk "repository.basistech.ru/BASIS/decort-golang-sdk/pkg/cloudapi/dpdknet"
)
func flattenDPDKNet(d *schema.ResourceData, dpdk *dpdk.RecordDPDKNet) {
d.Set("dpdk_id", dpdk.ID)
d.Set("account_access", dpdk.AccountAccess)
d.Set("created_time", dpdk.CreatedTime)
d.Set("desc", dpdk.Description)
d.Set("gid", dpdk.GID)
d.Set("guid", dpdk.GUID)
d.Set("name", dpdk.Name)
d.Set("rg_access", dpdk.RGAccess)
d.Set("status", dpdk.Status)
d.Set("ovs_bridge", dpdk.OVSBridge)
d.Set("vlan_id", dpdk.VlanID)
d.Set("compute_ids", dpdk.ComputeIDs)
d.Set("updated_time", dpdk.UpdatedTime)
}
func flattenDPDKNetList(list *dpdk.ListDPDKNet) []map[string]interface{} {
res := make([]map[string]interface{}, 0, len(list.Data))
for _, dpdk := range list.Data {
temp := map[string]interface{}{
"dpdk_id": dpdk.ID,
"account_access": dpdk.AccountAccess,
"desc": dpdk.Description,
"gid": dpdk.GID,
"guid": dpdk.GUID,
"name": dpdk.Name,
"rg_access": dpdk.RGAccess,
"status": dpdk.Status,
"ovs_bridge": dpdk.OVSBridge,
"vlan_id": dpdk.VlanID,
"compute_ids": dpdk.ComputeIDs,
"updated_time": dpdk.UpdatedTime,
}
res = append(res, temp)
}
return res
}

@ -0,0 +1,68 @@
/*
Copyright (c) 2019-2022 Digital Energy Cloud Solutions LLC. All Rights Reserved.
Authors:
Petr Krutov, <petr.krutov@digitalenergy.online>
Stanislav Solovev, <spsolovev@digitalenergy.online>
Kasim Baybikov, <kmbaybikov@basistech.ru>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
/*
Terraform DECORT provider - manage resources provided by DECORT (Digital Energy Cloud
Orchestration Technology) with Terraform by Hashicorp.
Source code: https://repository.basistech.ru/BASIS/terraform-provider-decort
Please see README.md to learn where to place source code so that it
builds seamlessly.
Documentation: https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki
*/
package dpdknet
import (
"context"
"strconv"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
log "github.com/sirupsen/logrus"
dpdk "repository.basistech.ru/BASIS/decort-golang-sdk/pkg/cloudapi/dpdknet"
"repository.basistech.ru/BASIS/terraform-provider-decort/internal/controller"
)
func utilityDPDKNetCheckPresence(ctx context.Context, d *schema.ResourceData, m interface{}) (*dpdk.RecordDPDKNet, error) {
c := m.(*controller.ControllerCfg)
req := dpdk.GetRequest{}
if d.Get("dpdk_id") != nil {
if d.Get("dpdk_id").(int) == 0 {
id, _ := strconv.ParseUint(d.Id(), 10, 64)
req.DPDKID = id
} else {
req.DPDKID = uint64(d.Get("dpdk_id").(int))
}
} else {
id, _ := strconv.ParseUint(d.Id(), 10, 64)
req.DPDKID = id
}
log.Debugf("utilityDPDKCheckPresence: get DPDK network")
dpdk, err := c.CloudAPI().DPDKNet().Get(ctx, req)
if err != nil {
return nil, err
}
return dpdk, nil
}

@ -0,0 +1,87 @@
/*
Copyright (c) 2019-2022 Digital Energy Cloud Solutions LLC. All Rights Reserved.
Authors:
Petr Krutov, <petr.krutov@digitalenergy.online>
Stanislav Solovev, <spsolovev@digitalenergy.online>
Kasim Baybikov, <kmbaybikov@basistech.ru>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
/*
Terraform DECORT provider - manage resources provided by DECORT (Digital Energy Cloud
Orchestration Technology) with Terraform by Hashicorp.
Source code: https://repository.basistech.ru/BASIS/terraform-provider-decort
Please see README.md to learn where to place source code so that it
builds seamlessly.
Documentation: https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki
*/
package dpdknet
import (
"context"
log "github.com/sirupsen/logrus"
dpdk "repository.basistech.ru/BASIS/decort-golang-sdk/pkg/cloudapi/dpdknet"
"repository.basistech.ru/BASIS/terraform-provider-decort/internal/controller"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
)
func utilityDPDKNetListCheckPresence(ctx context.Context, d *schema.ResourceData, m interface{}) (*dpdk.ListDPDKNet, error) {
c := m.(*controller.ControllerCfg)
req := dpdk.ListRequest{}
if byID, ok := d.GetOk("by_id"); ok {
req.ByID = uint64(byID.(int))
}
if GID, ok := d.GetOk("gid"); ok {
req.GID = uint64(GID.(int))
}
if name, ok := d.GetOk("name"); ok {
req.Name = name.(string)
}
if desc, ok := d.GetOk("description"); ok {
req.Description = desc.(string)
}
if status, ok := d.GetOk("status"); ok {
req.Status = status.(string)
}
if computeIDs, ok := d.GetOk("compute_ids"); ok {
IDs := computeIDs.([]interface{})
for _, ID := range IDs {
req.ComputeIDs = append(req.ComputeIDs, uint64(ID.(int)))
}
}
if sortBy, ok := d.GetOk("sort_by"); ok {
req.SortBy = sortBy.(string)
}
if page, ok := d.GetOk("page"); ok {
req.Page = uint64(page.(int))
}
if size, ok := d.GetOk("size"); ok {
req.Size = uint64(size.(int))
}
log.Debugf("utilityDPDKListCheckPresence: load DPDK network list")
dpdkList, err := c.CloudAPI().DPDKNet().List(ctx, req)
if err != nil {
return nil, err
}
return dpdkList, nil
}

@ -124,7 +124,7 @@ func dataSourceFlipgroupListSchemaMake() map[string]*schema.Schema {
Type: schema.TypeList,
Optional: true,
Elem: &schema.Schema{
Type: schema.TypeInt,
Type: schema.TypeString,
},
Description: "client_ids",
},

@ -189,7 +189,7 @@ func utilityFlipgroupListCheckPresence(ctx context.Context, d *schema.ResourceDa
if cliensId, ok := d.GetOk("client_ids"); ok {
cliensIds := cliensId.([]interface{})
for _, elem := range cliensIds {
req.ClientIDs = append(req.ClientIDs, uint64(elem.(int)))
req.ClientIDs = append(req.ClientIDs, (elem.(string)))
}
}
if status, ok := d.GetOk("status"); ok {

@ -132,6 +132,11 @@ func dataSourceImageListSchemaMake() map[string]*schema.Schema {
Optional: true,
Description: "page size",
},
"enabled": {
Type: schema.TypeBool,
Optional: true,
Description: "find by enabled True or False",
},
"items": {
Type: schema.TypeList,
Computed: true,

@ -129,8 +129,8 @@ func resourceImageSchemaMake(sch map[string]*schema.Schema) map[string]*schema.S
Type: schema.TypeString,
Optional: true,
Computed: true,
ValidateFunc: validation.StringInSlice([]string{"X86_64", "PPC64_LE"}, true),
Description: "binary architecture of this image, one of X86_64 of PPC64_LE",
ValidateFunc: validation.StringInSlice([]string{"X86_64"}, true),
Description: "binary architecture of this image, one of X86_64",
}
sch["drivers"] = &schema.Schema{
@ -141,13 +141,6 @@ func resourceImageSchemaMake(sch map[string]*schema.Schema) map[string]*schema.S
},
}
sch["permanently"] = &schema.Schema{
Type: schema.TypeBool,
Optional: true,
Default: false,
Description: "whether to completely delete the image",
}
sch["network_interface_naming"] = &schema.Schema{
Type: schema.TypeString,
Optional: true,

@ -1,67 +1,60 @@
/*
Copyright (c) 2019-2022 Digital Energy Cloud Solutions LLC. All Rights Reserved.
Authors:
Petr Krutov, <petr.krutov@digitalenergy.online>
Stanislav Solovev, <spsolovev@digitalenergy.online>
Kasim Baybikov, <kmbaybikov@basistech.ru>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
/*
Terraform DECORT provider - manage resources provided by DECORT (Digital Energy Cloud
Orchestration Technology) with Terraform by Hashicorp.
Source code: https://repository.basistech.ru/BASIS/terraform-provider-decort
Please see README.md to learn where to place source code so that it
builds seamlessly.
Documentation: https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki
*/
package image
import (
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
)
func resourceImageVirtualSchemaMake(sch map[string]*schema.Schema) map[string]*schema.Schema {
delete(sch, "show_all")
sch["name"] = &schema.Schema{
Type: schema.TypeString,
Required: true,
Description: "Name of the rescue disk",
}
sch["link_to"] = &schema.Schema{
Type: schema.TypeInt,
Required: true,
Description: "ID of real image to link this virtual image to upon creation",
}
sch["permanently"] = &schema.Schema{
Type: schema.TypeBool,
Optional: true,
Default: false,
Description: "whether to completely delete the image",
}
sch["image_id"] = &schema.Schema{
Type: schema.TypeInt,
Computed: true,
Description: "Image id",
}
return sch
}
/*
Copyright (c) 2019-2022 Digital Energy Cloud Solutions LLC. All Rights Reserved.
Authors:
Petr Krutov, <petr.krutov@digitalenergy.online>
Stanislav Solovev, <spsolovev@digitalenergy.online>
Kasim Baybikov, <kmbaybikov@basistech.ru>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
/*
Terraform DECORT provider - manage resources provided by DECORT (Digital Energy Cloud
Orchestration Technology) with Terraform by Hashicorp.
Source code: https://repository.basistech.ru/BASIS/terraform-provider-decort
Please see README.md to learn where to place source code so that it
builds seamlessly.
Documentation: https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki
*/
package image
import (
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
)
func resourceImageVirtualSchemaMake(sch map[string]*schema.Schema) map[string]*schema.Schema {
delete(sch, "show_all")
sch["name"] = &schema.Schema{
Type: schema.TypeString,
Required: true,
Description: "Name of the rescue disk",
}
sch["link_to"] = &schema.Schema{
Type: schema.TypeInt,
Required: true,
Description: "ID of real image to link this virtual image to upon creation",
}
sch["image_id"] = &schema.Schema{
Type: schema.TypeInt,
Computed: true,
Description: "Image id",
}
return sch
}

@ -157,10 +157,6 @@ func resourceImageDelete(ctx context.Context, d *schema.ResourceData, m interfac
ImageID: uint64(d.Get("image_id").(int)),
}
if permanently, ok := d.GetOk("permanently"); ok {
req.Permanently = permanently.(bool)
}
_, err = c.CloudAPI().Image().Delete(ctx, req)
if err != nil {
return diag.FromErr(err)

@ -194,10 +194,6 @@ func resourceImageFromBlankComputeDelete(ctx context.Context, d *schema.Resource
ImageID: uint64(d.Get("image_id").(int)),
}
if permanently, ok := d.GetOk("permanently"); ok {
req.Permanently = permanently.(bool)
}
_, err = c.CloudAPI().Image().Delete(ctx, req)
if err != nil {
return diag.FromErr(err)
@ -352,12 +348,6 @@ func resourceImageFromBlankComputeSchemaMake() map[string]*schema.Schema {
Default: false,
Description: "create an image in async/sync mode",
},
"permanently": {
Type: schema.TypeBool,
Optional: true,
Default: false,
Description: "whether to completely delete the image",
},
"image_id": {
Type: schema.TypeInt,

@ -201,10 +201,6 @@ func resourceImageFromPlatformDiskDelete(ctx context.Context, d *schema.Resource
ImageID: uint64(d.Get("image_id").(int)),
}
if permanently, ok := d.GetOk("permanently"); ok {
req.Permanently = permanently.(bool)
}
_, err = c.CloudAPI().Image().Delete(ctx, req)
if err != nil {
return diag.FromErr(err)
@ -302,8 +298,8 @@ func resourceImageFromPlatformDiskSchemaMake() map[string]*schema.Schema {
"architecture": {
Type: schema.TypeString,
Required: true,
ValidateFunc: validation.StringInSlice([]string{"X86_64", "PPC64_LE"}, true),
Description: "binary architecture of this image, one of X86_64 of PPC64_LE",
ValidateFunc: validation.StringInSlice([]string{"X86_64"}, true),
Description: "binary architecture of this image, one of X86_64",
},
"username": {
@ -338,11 +334,10 @@ func resourceImageFromPlatformDiskSchemaMake() map[string]*schema.Schema {
},
"drivers": {
Type: schema.TypeList,
Optional: true,
Computed: true,
Required: true,
Elem: &schema.Schema{
StateFunc: statefuncs.StateFuncToUpper,
ValidateFunc: validation.StringInSlice([]string{"SVA_KVM_X86", "KVM_X86", "KVM_PPC"}, false), // observe case while validating
ValidateFunc: validation.StringInSlice([]string{"SVA_KVM_X86", "KVM_X86"}, false), // observe case while validating
Type: schema.TypeString,
},
Description: "List of types of compute suitable for image. Example: [ \"KVM_X86\" ]",
@ -365,12 +360,6 @@ func resourceImageFromPlatformDiskSchemaMake() map[string]*schema.Schema {
Default: false,
Description: "create an image in async/sync mode",
},
"permanently": {
Type: schema.TypeBool,
Optional: true,
Default: false,
Description: "whether to completely delete the image",
},
"image_id": {
Type: schema.TypeInt,

@ -46,12 +46,12 @@ func utilityImageListCheckPresence(ctx context.Context, d *schema.ResourceData,
c := m.(*controller.ControllerCfg)
req := image.ListRequest{}
if sep_id, ok := d.GetOk("sep_id"); ok {
req.SEPID = uint64(sep_id.(int))
if sepID, ok := d.GetOk("sep_id"); ok {
req.SEPID = uint64(sepID.(int))
}
if by_id, ok := d.GetOk("by_id"); ok {
req.ByID = uint64(by_id.(int))
if byID, ok := d.GetOk("by_id"); ok {
req.ByID = uint64(byID.(int))
}
if name, ok := d.GetOk("name"); ok {
@ -66,31 +66,31 @@ func utilityImageListCheckPresence(ctx context.Context, d *schema.ResourceData,
req.Architecture = architecture.(string)
}
if type_image, ok := d.GetOk("type_image"); ok {
req.TypeImage = type_image.(string)
if typeImage, ok := d.GetOk("type_image"); ok {
req.TypeImage = typeImage.(string)
}
if image_size, ok := d.GetOk("image_size"); ok {
req.ImageSize = uint64(image_size.(int))
if imageSize, ok := d.GetOk("image_size"); ok {
req.ImageSize = uint64(imageSize.(int))
}
if sep_name, ok := d.GetOk("sep_name"); ok {
req.SEPName = sep_name.(string)
if sepName, ok := d.GetOk("sep_name"); ok {
req.SEPName = sepName.(string)
}
if pool, ok := d.GetOk("pool"); ok {
req.Pool = pool.(string)
}
if public, ok := d.GetOk("public"); ok {
if public, ok := d.GetOkExists("public"); ok {
req.Public = public.(bool)
}
if hot_resize, ok := d.GetOk("hot_resize"); ok {
req.HotResize = hot_resize.(bool)
if hotResize, ok := d.GetOkExists("hot_resize"); ok {
req.HotResize = hotResize.(bool)
}
if bootable, ok := d.GetOk("bootable"); ok {
if bootable, ok := d.GetOkExists("bootable"); ok {
req.Bootable = bootable.(bool)
}
@ -104,6 +104,9 @@ func utilityImageListCheckPresence(ctx context.Context, d *schema.ResourceData,
if size, ok := d.GetOk("size"); ok {
req.Size = uint64(size.(int))
}
if enabled, ok := d.GetOkExists("enabled"); ok {
req.Enabled = enabled.(bool)
}
log.Debugf("utilityImageListCheckPresence: load image list")
imageList, err := c.CloudAPI().Image().List(ctx, req)

@ -103,16 +103,17 @@ func dataSourceK8sRead(ctx context.Context, d *schema.ResourceData, m interface{
}
d.Set("kubeconfig", kubeconfig)
if cluster.LBID != 0 {
getLbReq := lb.GetRequest{LBID: cluster.LBID}
lb, err := c.CloudAPI().LB().Get(ctx, getLbReq)
if err != nil {
return diag.FromErr(err)
}
getLbReq := lb.GetRequest{LBID: cluster.LBID}
lb, err := c.CloudAPI().LB().Get(ctx, getLbReq)
if err != nil {
return diag.FromErr(err)
d.Set("extnet_id", lb.ExtNetID)
d.Set("lb_ip", lb.PrimaryNode.FrontendIP)
}
d.Set("extnet_id", lb.ExtNetID)
d.Set("lb_ip", lb.PrimaryNode.FrontendIP)
flattenK8sData(d, *cluster, masterComputeList, workersComputeList)
return nil
}

@ -254,6 +254,20 @@ func flattenK8sData(d *schema.ResourceData, cluster k8s.RecordK8S, masters []com
d.Set("tech_status", cluster.TechStatus)
d.Set("updated_by", cluster.UpdatedBy)
d.Set("updated_time", cluster.UpdatedTime)
d.Set("highly_available_lb", cluster.HighlyAvailableLB)
d.Set("address_vip", flattenAddressVIP(cluster.AddressVIP))
d.Set("extnet_only", cluster.ExtnetOnly)
d.Set("with_lb", cluster.WithLB)
}
func flattenAddressVIP(addressVIP k8s.K8SAddressVIP) []map[string]interface{} {
res := make([]map[string]interface{}, 0)
temp := map[string]interface{}{
"backend_ip": addressVIP.BackendIP,
"frontend_ip": addressVIP.FrontendIP,
}
res = append(res, temp)
return res
}
func flattenServiceAccount(serviceAccount k8s.RecordServiceAccount) []map[string]interface{} {

@ -153,6 +153,11 @@ func workersSchemaMake() map[string]*schema.Schema {
Schema: detailedInfoSchemaMake(),
},
},
"chipset": {
Type: schema.TypeString,
Optional: true,
Description: "Type of the emulated system.",
},
"guid": {
Type: schema.TypeString,
Computed: true,

@ -202,8 +202,13 @@ func resourceK8sCreate(ctx context.Context, d *schema.ResourceData, m interface{
if oidcCertificate, ok := d.GetOk("oidc_cert"); ok {
createReq.OidcCertificate = oidcCertificate.(string)
}
///
if chipset, ok := d.GetOk("chipset"); ok {
createReq.Chipset = chipset.(string)
}
createReq.ExtNetOnly = d.Get("extnet_only").(bool)
if extNet, ok := d.GetOk("extnet_id"); ok {
@ -745,6 +750,12 @@ func resourceK8sSchemaMake() map[string]*schema.Schema {
Description: "insert ssl certificate in x509 pem format",
},
"chipset": {
Type: schema.TypeString,
Optional: true,
Description: "Type of the emulated system.",
},
"desc": {
Type: schema.TypeString,
Optional: true,

@ -124,6 +124,10 @@ func resourceK8sCPCreate(ctx context.Context, d *schema.ResourceData, m interfac
createReq.MasterSEPID = uint64(sepId.(int))
}
if chipset, ok := d.GetOk("chipset"); ok {
createReq.Chipset = chipset.(string)
}
if sepPool, ok := d.GetOk("sep_pool"); ok {
createReq.MasterSEPPool = sepPool.(string)
}
@ -532,10 +536,10 @@ func resourceK8sCPUpdate(ctx context.Context, d *schema.ResourceData, m interfac
oldVal, newVal := d.GetChange("num")
if oldVal.(int) > newVal.(int) {
ids := make([]string, 0)
ids := make([]uint64, 0)
for i := oldVal.(int) - 1; i >= newVal.(int); i-- {
id := cluster.K8SGroups.Masters.DetailedInfo[i].ID
ids = append(ids, strconv.FormatUint(id, 10))
ids = append(ids, id)
}
req := k8s.DeleteMasterFromGroupRequest{
@ -656,6 +660,11 @@ func resourceK8sCPSchemaMake() map[string]*schema.Schema {
),
Description: "Node RAM in MB.",
},
"chipset": {
Type: schema.TypeString,
Optional: true,
Description: "Type of the emulated system.",
},
"disk": {
Type: schema.TypeInt,
Optional: true,

@ -70,6 +70,7 @@ func resourceK8sWgCreate(ctx context.Context, d *schema.ResourceData, m interfac
WorkerRAM: uint64(d.Get("ram").(int)),
WorkerSEPID: uint64(d.Get("worker_sep_id").(int)),
WorkerSEPPool: d.Get("worker_sep_pool").(string),
Chipset: d.Get("chipset").(string),
}
labels, _ := d.Get("labels").([]interface{})
@ -168,6 +169,7 @@ func resourceK8sWgUpdate(ctx context.Context, d *schema.ResourceData, m interfac
K8SID: uint64(d.Get("k8s_id").(int)),
WorkersGroupID: wg.ID,
Num: uint64(newNum) - wg.Num,
Chipset: d.Get("chipset").(string),
}
_, err := c.CloudAPI().K8S().WorkerAdd(ctx, req)
@ -253,6 +255,12 @@ func resourceK8sWgSchemaMake() map[string]*schema.Schema {
Description: "Number of worker nodes to create.",
},
"chipset": {
Type: schema.TypeString,
Optional: true,
Description: "Type of the emulated system.",
},
"cpu": {
Type: schema.TypeInt,
Optional: true,

@ -84,6 +84,7 @@ func updateNum(ctx context.Context, c *controller.ControllerCfg, cluster *k8s.Re
K8SID: cluster.ID,
WorkersGroupID: uint64(wgNew["id"].(int)),
Num: uint64(newNum - oldNum),
Chipset: wgNew["chipset"].(string),
}
_, err := c.CloudAPI().K8S().WorkerAdd(ctx, req)
@ -145,6 +146,7 @@ func addWGs(ctx context.Context, c *controller.ControllerCfg, cluster *k8s.Recor
WorkerCPU: uint64(found_wg["cpu"].(int)),
WorkerRAM: uint64(found_wg["ram"].(int)),
WorkerDisk: uint64(found_wg["disk"].(int)),
Chipset: found_wg["chipset"].(string),
}
labels, _ := found_wg["labels"].([]interface{})

@ -260,6 +260,10 @@ func computeListDisksSchemaMake() map[string]*schema.Schema {
Type: schema.TypeInt,
Computed: true,
},
"bus_number": {
Type: schema.TypeInt,
Computed: true,
},
"created_time": {
Type: schema.TypeInt,
Computed: true,
@ -475,6 +479,10 @@ func computeQOSSchemaMake() map[string]*schema.Schema {
func computeInterfacesSchemaMake() map[string]*schema.Schema {
return map[string]*schema.Schema{
"bus_number": {
Type: schema.TypeInt,
Computed: true,
},
"conn_id": {
Type: schema.TypeInt,
Computed: true,
@ -511,6 +519,10 @@ func computeInterfacesSchemaMake() map[string]*schema.Schema {
Type: schema.TypeString,
Computed: true,
},
"mtu": {
Type: schema.TypeInt,
Computed: true,
},
"name": {
Type: schema.TypeString,
Computed: true,
@ -542,6 +554,13 @@ func computeInterfacesSchemaMake() map[string]*schema.Schema {
Schema: computeQOSSchemaMake(),
},
},
"libvirt_settings": {
Type: schema.TypeList,
Computed: true,
Elem: &schema.Resource{
Schema: computeLibvirtSettingsSchemaMake(),
},
},
"target": {
Type: schema.TypeString,
Computed: true,
@ -559,6 +578,40 @@ func computeInterfacesSchemaMake() map[string]*schema.Schema {
},
}
}
func computeLibvirtSettingsSchemaMake() map[string]*schema.Schema {
return map[string]*schema.Schema{
"guid": {
Type: schema.TypeString,
Computed: true,
},
"txmode": {
Type: schema.TypeString,
Computed: true,
},
"ioeventfd": {
Type: schema.TypeString,
Computed: true,
},
"event_idx": {
Type: schema.TypeString,
Computed: true,
},
"queues": {
Type: schema.TypeInt,
Computed: true,
},
"rx_queue_size": {
Type: schema.TypeInt,
Computed: true,
},
"tx_queue_size": {
Type: schema.TypeInt,
Computed: true,
},
}
}
func computeOsUsersSchemaMake() map[string]*schema.Schema {
return map[string]*schema.Schema{
"guid": {
@ -650,6 +703,10 @@ func dataSourceComputeSchemaMake() map[string]*schema.Schema {
Type: schema.TypeString,
Computed: true,
},
"chipset": {
Type: schema.TypeString,
Computed: true,
},
"boot_order": {
Type: schema.TypeList,
Computed: true,

@ -64,6 +64,10 @@ func dataSourceComputeListRead(ctx context.Context, d *schema.ResourceData, m in
func computeDisksSchemaMake() map[string]*schema.Schema {
return map[string]*schema.Schema{
"bus_number": {
Type: schema.TypeInt,
Computed: true,
},
"disk_id": {
Type: schema.TypeInt,
Computed: true,
@ -136,6 +140,10 @@ func itemComputeSchemaMake() map[string]*schema.Schema {
Type: schema.TypeInt,
Computed: true,
},
"chipset": {
Type: schema.TypeString,
Computed: true,
},
"clones": {
Type: schema.TypeList,
Computed: true,

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save