4.7.0
This commit is contained in:
34
CHANGELOG.md
34
CHANGELOG.md
@@ -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
|
||||
|
||||
2
LICENSE
2
LICENSE
@@ -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.
|
||||
|
||||
2
Makefile
2
Makefile
@@ -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
|
||||
|
||||
48
docs/data-sources/audit.md
Normal file
48
docs/data-sources/audit.md
Normal file
@@ -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)
|
||||
|
||||
33
docs/data-sources/cb_audits_export_to_file.md
Normal file
33
docs/data-sources/cb_audits_export_to_file.md
Normal file
@@ -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)
|
||||
48
docs/data-sources/cb_dpdknet.md
Normal file
48
docs/data-sources/cb_dpdknet.md
Normal file
@@ -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)
|
||||
63
docs/data-sources/cb_dpdknet_list.md
Normal file
63
docs/data-sources/cb_dpdknet_list.md
Normal file
@@ -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>
|
||||
|
||||
114
docs/data-sources/cb_grid_get_settings.md
Normal file
114
docs/data-sources/cb_grid_get_settings.md
Normal file
@@ -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
|
||||
|
||||
48
docs/data-sources/dpdknet.md
Normal file
48
docs/data-sources/dpdknet.md
Normal file
@@ -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)
|
||||
63
docs/data-sources/dpdknet_list.md
Normal file
63
docs/data-sources/dpdknet_list.md
Normal file
@@ -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)
|
||||
52
docs/resources/cb_dpdknet.md
Normal file
52
docs/resources/cb_dpdknet.md
Normal file
@@ -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`
|
||||
|
||||
|
||||
4
go.mod
4
go.mod
@@ -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
|
||||
|
||||
50
go.sum
50
go.sum
@@ -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))
|
||||
}
|
||||
|
||||
128
internal/service/cloudapi/audit/data_source_audit.go
Normal file
128
internal/service/cloudapi/audit/data_source_audit.go
Normal file
@@ -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,
|
||||
},
|
||||
}
|
||||
}
|
||||
56
internal/service/cloudapi/audit/flattens.go
Normal file
56
internal/service/cloudapi/audit/flattens.go
Normal file
@@ -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)
|
||||
}
|
||||
62
internal/service/cloudapi/audit/utility_audit.go
Normal file
62
internal/service/cloudapi/audit/utility_audit.go
Normal file
@@ -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,
|
||||
|
||||
153
internal/service/cloudapi/dpdknet/data_source_dpdk.go
Normal file
153
internal/service/cloudapi/dpdknet/data_source_dpdk.go
Normal file
@@ -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(),
|
||||
}
|
||||
}
|
||||
212
internal/service/cloudapi/dpdknet/data_source_dpdk_list.go
Normal file
212
internal/service/cloudapi/dpdknet/data_source_dpdk_list.go
Normal file
@@ -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(),
|
||||
}
|
||||
}
|
||||
44
internal/service/cloudapi/dpdknet/flattens.go
Normal file
44
internal/service/cloudapi/dpdknet/flattens.go
Normal file
@@ -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
|
||||
}
|
||||
68
internal/service/cloudapi/dpdknet/utility_dpdk.go
Normal file
68
internal/service/cloudapi/dpdknet/utility_dpdk.go
Normal file
@@ -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
|
||||
}
|
||||
87
internal/service/cloudapi/dpdknet/utility_dpdk_list.go
Normal file
87
internal/service/cloudapi/dpdknet/utility_dpdk_list.go
Normal file
@@ -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
Reference in New Issue
Block a user